當前位置:編程學習大全網 - 源碼下載 - 卡爾曼濾波器的應用實例

卡爾曼濾波器的應用實例

卡爾曼濾波的壹個典型實例是從壹組有限的,包含噪聲的,對物體位置的觀察序列(可能有偏差)預測出物體的位置的坐標及速度。在很多工程應用(如雷達、計算機視覺)中都可以找到它的身影。同時,卡爾曼濾波也是控制理論以及控制系統工程中的壹個重要課題。

例如,對於雷達來說,人們感興趣的是其能夠跟蹤目標。但目標的位置、速度、加速度的測量值往往在任何時候都有噪聲。卡爾曼濾波利用目標的動態信息,設法去掉噪聲的影響,得到壹個關於目標位置的好的估計。這個估計可以是對當前目標位置的估計(濾波),也可以是對於將來位置的估計(預測),也可以是對過去位置的估計(插值或平滑)。

目標跟蹤示例代碼:(具體解釋請見參考資料 )

Z=(1:100); %觀測值

noise=randn(1,100); %方差為1的高斯噪聲

Z=Z+noise;

X=[0;0]; %狀態

P=[1 0;0 1]; %狀態協方差矩陣

F=[1 1;0 1]; %狀態轉移矩陣

Q=[0.0001,0;0,0.0001]; %狀態轉移協方差矩陣

H=[1 0]; %觀測矩陣

R=1; %觀測噪聲方差

figure;

hold on;

for i=1:100

X_ = F*X;

P_ = F*P*F'+Q;

K = P_*H'/(H*P_*H'+R);

X = X_+K*(Z(i)-H*X_);

P = (eye(2)-K*H)*P_;

plot(X(1), X(2)); %畫點,橫軸表示位置,縱軸表示速度

end

  • 上一篇:芯片頂層源代碼
  • 下一篇:大容量電池+超長續航時間 聯想P2評測
  • copyright 2024編程學習大全網