基于Matlab的卡爾曼濾波算法仿真(共5頁(yè))_第1頁(yè)
基于Matlab的卡爾曼濾波算法仿真(共5頁(yè))_第2頁(yè)
基于Matlab的卡爾曼濾波算法仿真(共5頁(yè))_第3頁(yè)
基于Matlab的卡爾曼濾波算法仿真(共5頁(yè))_第4頁(yè)
基于Matlab的卡爾曼濾波算法仿真(共5頁(yè))_第5頁(yè)
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上基于Matlab的卡爾曼濾波算法仿真1. 卡爾曼濾波器原理卡爾曼濾波是解決以均方誤差最小為準(zhǔn)則的最佳線(xiàn)性濾波問(wèn)題,它根據(jù)前一個(gè)估計(jì)值和最近一個(gè)觀察數(shù)據(jù)來(lái)估計(jì)信號(hào)的當(dāng)前值。它是用狀態(tài)方程和遞推方法進(jìn)行估計(jì)的,而它的解是以估計(jì)值(常常是狀態(tài)變量的估計(jì)值)的形式給出其信號(hào)模型是從狀態(tài)方程和量測(cè)方程得到的。 卡爾曼濾波中信號(hào)和噪聲是用狀態(tài)方程和測(cè)量方程來(lái)表示的。因此設(shè)計(jì)卡爾曼濾波器要求已知狀態(tài)方程和測(cè)量方程。它不需要知道全部過(guò)去的數(shù)據(jù),采用遞推的方法計(jì)算,它既可以用于平穩(wěn)和不平穩(wěn)的隨機(jī)過(guò)程,同時(shí)也可以應(yīng)用解決非時(shí)變和時(shí)變系統(tǒng),因而它比維納過(guò)濾有更廣泛的應(yīng)用??柭鼛?/p>

2、個(gè)重要公式:s(n|n) = a s (n-1|n-1) + Gnx(n) ac s (n-1|n-1) (1)P(n) = a2(n-1) + Q (2)Gn = cP(n)R+c2P(n) (3)(n) = RcGn = (1 cGn)P(n) (4)這組方程的遞推計(jì)算過(guò)程如圖1所示。 圖1. 卡爾曼濾波器遞推運(yùn)算流程圖卡爾曼濾波過(guò)程實(shí)際上是獲取維納解的遞推運(yùn)算過(guò)程,這一過(guò)程從某個(gè)初始狀態(tài)啟動(dòng),經(jīng)過(guò)迭代運(yùn)算,最終到達(dá)穩(wěn)定狀態(tài),即維納濾波狀態(tài)。遞推計(jì)算按圖1所示進(jìn)行。假設(shè)已經(jīng)有了初始值s(0|0)和(0),這樣便可由式(2)計(jì)算P(1),由式(3)計(jì)算G1,由式(4)計(jì)算(1),由式(1)計(jì)

3、算s(1|1)。(1)和s(1|1)便成為下一輪迭代運(yùn)算的已知數(shù)據(jù)。在遞推運(yùn)算過(guò)程中,隨著迭代次數(shù)n的增加,(n)將逐漸下降,知道最終趨近于某個(gè)穩(wěn)定值0。這時(shí) (n) = (n - 1)= 0為求得這個(gè)穩(wěn)定值,將式(3)和式(2)代入式(4),得到 02 + 1-a2R+c2Qc2a20-QRc2a2=0解此方程即可求出0。2. 基于Matlab的卡爾曼濾波器的仿真Matlab代碼如下:clearN=200;w(1)=0;x(1)=5;a=1;c=1;%過(guò)程噪聲Q1=randn(1,N)*1; %測(cè)量噪聲Q2=randn(1,N); %狀態(tài)矩陣for k=2:N;x(k)=a*x(k-1)+Q

4、1(k-1);end for k=1:N;Y(k)=c*x(k)+Q2(k);endp(1)=10;s(1)=1;for t=2:N; Rww = cov(Q1(1:t); Rvv = cov(Q2(1:t);p1(t)=a.2*p(t-1)+Rww;%kalman 增益 b(t)=c*p1(t)/(c.2*p1(t)+Rvv); s(t)=a*s(t-1)+b(t)*(Y(t)-a*c*s(t-1); p(t)=p1(t)-c*b(t)*p1(t);endFontSize=14;LineWidth=3;figure();%畫(huà)出溫度計(jì)的測(cè)量值plot(Y,'k+'); hold

5、 on;%畫(huà)出最優(yōu)估計(jì)值plot(s,'b-','LineWidth',LineWidth) hold on;%畫(huà)出真實(shí)值plot(x,'g-','LineWidth',LineWidth); legend('觀測(cè)值', '后驗(yàn)估計(jì)', '真實(shí)值');xl=xlabel('');yl=ylabel('');set(xl,'fontsize',FontSize);set(yl,'fontsize',FontSize);ho

6、ld off;set(gca,'FontSize',FontSize);figure();valid_iter = 2:N; %畫(huà)出最優(yōu)估計(jì)值的方差plot(valid_iter,p(valid_iter),'LineWidth',LineWidth); legend('后驗(yàn)估計(jì)的誤差估計(jì)');xl=xlabel('');yl=ylabel('');set(xl,'fontsize',FontSize);set(yl,'fontsize',FontSize);set(gca,'

7、;FontSize',FontSize);Matlab仿真結(jié)果如下:卡爾曼濾波的結(jié)果:估計(jì)的誤差的方差:卡爾曼濾波的實(shí)質(zhì)是由測(cè)量值重構(gòu)系統(tǒng)的狀態(tài)向量。它以“預(yù)測(cè)實(shí)測(cè)修正”的順序遞推,根據(jù)系統(tǒng)的測(cè)量值來(lái)消除隨機(jī)干擾,再現(xiàn)系統(tǒng)的狀態(tài),或根據(jù)系統(tǒng)的測(cè)量值從被噪聲污染的系統(tǒng)中恢復(fù)系統(tǒng)的本來(lái)面目。從仿真結(jié)果可以看出,卡爾曼濾波器能夠有效地在一定的噪聲干擾下比較準(zhǔn)確地反映真實(shí)值。3. 課程實(shí)驗(yàn)總結(jié)通過(guò)現(xiàn)代數(shù)字信號(hào)處理課程的相關(guān)學(xué)習(xí),我了解到了各種各樣的數(shù)字信號(hào)處理方法,例如維納濾波、卡爾曼濾波和自適應(yīng)濾波等,并且每一種濾波器又有不同的算法進(jìn)行實(shí)現(xiàn),但對(duì)于這些數(shù)字信號(hào)處理方法具體怎么實(shí)現(xiàn)以及各種方法適用于進(jìn)行什么樣數(shù)字信號(hào)處理場(chǎng)合沒(méi)有進(jìn)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論