基于GPS的路線測(cè)量與擬合
4. 在中斷服務(wù)程序中,通過(guò)讀取中斷標(biāo)志寄存器判別中斷類(lèi)型。按優(yōu)先級(jí)高低依次為:接收出錯(cuò)中斷、接收到數(shù)據(jù)中斷、發(fā)送寄存器空中斷、MODEM狀態(tài)寄存器改變中斷。響應(yīng)中斷后,8250自動(dòng)復(fù)位中斷標(biāo)志。
5. 采用硬中斷方式的串口通信必須設(shè)置合適的接收和發(fā)送緩沖區(qū),緩沖區(qū)的讀取和寫(xiě)入可以通過(guò)緩沖區(qū)首尾索引變量來(lái)操作。
4 三次樣條插值的原理
隨車(chē)采集的路線數(shù)據(jù)是一個(gè)個(gè)離散的點(diǎn),對(duì)這些點(diǎn)數(shù)據(jù)進(jìn)行平滑過(guò)渡,形成一條平滑曲線便得到機(jī)車(chē)行車(chē)路線。一般一條機(jī)車(chē)路線的數(shù)據(jù)采集點(diǎn)是有限的,對(duì)相鄰點(diǎn)進(jìn)行簡(jiǎn)單連線過(guò)渡是比較粗糙的。在工程上,通常采取插值的方法來(lái)構(gòu)造曲線,插值也叫擬合。插值有線性插值,立方插值和三次樣條插值等方法。線性插值應(yīng)用比較廣泛,但它只適用于離散點(diǎn)變化緩和,波動(dòng)不大的情況,對(duì)于波動(dòng)較大的情況,三次樣條函數(shù)具有優(yōu)良的性能。目前GPS在民用定位上還有5米左右的誤差,考慮到該因素以及采集點(diǎn)相對(duì)稀疏,采用三次樣條插值是比較合適的選擇。
樣條也就是彈性細(xì)木條或金屬條,早期工程技術(shù)人員利用樣條的彈性彎曲使之通過(guò)一系列離散點(diǎn)來(lái)得到平滑曲線。在數(shù)學(xué)上,利用樣條函數(shù)進(jìn)行插值的方法即為樣條插值。
假設(shè)在區(qū)間[a ,b]上,存在n+1個(gè)點(diǎn)滿足:a=x0x1x2x3…xn-1xn=b,且存在函數(shù)f(x),如果此時(shí)另有一函數(shù)S(x)符合如下條件:
1. S(x)在區(qū)間[xi-1,xi](i=1,2,…,n)上均為三次多項(xiàng)式
2. S(x)通過(guò)上述所有節(jié)點(diǎn),即S(xi)=f(xi)=yi(i=0,1,…,n)
3. S(x)存在一階二階導(dǎo)數(shù)在區(qū)間[a,b]上連續(xù)
則S(x)即稱為三次樣條函數(shù),三次樣條函數(shù)以多項(xiàng)式的方式表示如下:
S(x)=aix3+bix2+cix+di xi-1xxi(i=1,2,…,n)
根據(jù)條件2和3,可以得出以下兩個(gè)方程組:
Si(xi)=aixi3+bixi2+cixi+di=yi
Si(xi-1)=aix i-13+bix i-12+cix i-1+di=y i-1 (i=1,2,3,…,n)
3ai-1x i2+2bi-1x i+ci-1=3aixi2+2bixi+ci
6ai-1x i+2bi-1=6aixi+2bi (i=2,3,4,…,n)
這兩個(gè)方程組共有4n個(gè)未知系數(shù),確定的方程只有4n-2個(gè),必須附加兩個(gè)條件才能求解,為此可根據(jù)三次自然樣條插值法,增加兩個(gè)自然邊界條件:
S(x0)=y0=0
S″(xn)=yn″=0
若令Mi=S″(xi),hi=xi-xi-1則
S″(x)=(xi-x)Mi-1/hi+(x-xi-1)Mi/hi (i=1,2,3,…,n)
對(duì)上式進(jìn)行兩次積分得到:
S(x)=(xi-x)Mi-1/hi/6+(x-xi-1)Mi/hi/6+c1(xi-x)+c2(x-xi-1) xi-1xxi (i=1,2,3,…,n)
根據(jù)條件2,S(x)=yi,可以確定c1,c2,最終得到S(x)表達(dá)式:
S(x)=(xi-x)Mi-1/hi/6+(x-xi-1)Mi/hi/6+(xi-x)(yi-1/hi-hiMi-1/6)+(x-xi-1)(yi/hi-hiMi/6)
根據(jù)條件3,對(duì)上式求左右導(dǎo)數(shù)并令其相等,可得到n-1個(gè)方程:
hiMi/2-(Mi-Mi-1)hi/6+(yi-yi-1)/hi=-hi+1Mi/2-hi+1(Mi+1-Mi)/6+(yi+1-yi)/hi+1 (i=1,2,3…,n-1)
令ui=hi+1/(hi+hi+1),vi=[(yi+1-yi)/hi+1-(yi-yi-1)/hi]/hi+hi+1,上述方程可簡(jiǎn)化為:
(1-ui)Mi-1+2Mi+uiMi+1=vi (i=1,2,3,…,n-1)
再結(jié)合考慮兩端邊界條件:2M0+u1M1=v1和unMn-1+2Mn=vn,最后方程矩陣如下:
如果邊界條件假定為如前所述的自然邊界,則u0=0,v0=0,un=0,vn=0,也即M0=Mn=0。
評(píng)論