資源簡(jiǎn)介
目標(biāo)跟蹤問題的應(yīng)用背景是雷達(dá)數(shù)據(jù)處理,即雷達(dá)在搜索到目標(biāo)并記錄目標(biāo)的位置數(shù)據(jù), 對(duì)測(cè)量到的目標(biāo)位置數(shù)據(jù)(稱為點(diǎn)跡)進(jìn)行處理,自動(dòng)形成航跡,并對(duì)目標(biāo)在下一時(shí)刻的位置進(jìn)行預(yù)測(cè)。 下文簡(jiǎn)要討論了用Kalman濾波方法對(duì)單個(gè)目標(biāo)航跡進(jìn)行預(yù)測(cè),并借助于Matlab仿真工具,對(duì)實(shí)驗(yàn)的效果進(jìn)行評(píng)估。 里面包括三個(gè)源程序,和一份實(shí)驗(yàn)報(bào)告,里面有算法的詳細(xì)分析和情景假設(shè)。
代碼片段和文件信息
function?[XERYER]=filter_result(Tsmond)
%?filter_result?????????對(duì)觀測(cè)數(shù)據(jù)進(jìn)行卡爾曼濾波,得到預(yù)測(cè)的航跡以及估計(jì)誤差的均值和標(biāo)準(zhǔn)差
%?Ts????????????????????采樣時(shí)間,即雷達(dá)的工作周期
%?mon???????????????????進(jìn)行Monte-Carlo仿真的次數(shù)
%?d?????????????????????測(cè)量的誤差單位m
%返回值包括濾波預(yù)測(cè)后的估計(jì)航跡以及均值和誤差協(xié)方差
if?nargin>3
????error(‘Too?many?input?arguments.‘);
end
offtime=800;
%?產(chǎn)生理論的航跡
[xy]=trajectory(Tsofftime);
Pv=d*d;
N=ceil(offtime/Ts);
randn(‘state‘sum(100*clock));?%?設(shè)置隨機(jī)數(shù)發(fā)生器
for?i=1:N
???vx(i)=d*randn(1);?%?觀測(cè)噪聲,兩者獨(dú)立
???vy(i)=d*randn(1);
???zx(i)=x(i)+vx(i);?%?實(shí)際觀測(cè)值
???zy(i)=y(i)+vy(i);
end
%?產(chǎn)生觀測(cè)數(shù)據(jù)
for?n=1:mon
????%?用卡爾曼濾波得到估計(jì)的航跡
????XE=Kalman_filter(Tsofftimed0);?
????YE=Kalman_filter(Tsofftimed1);
????%誤差矩陣
????XER(1:Nn)=x(1:N)-(XE(1:N))‘;
????YER(1:Nn)=y(1:N)-(YE(1:N))‘;
end
%濾波誤差的均值
XERB=mean(XER2);
YERB=mean(YER2);
%濾波誤差的標(biāo)準(zhǔn)差
XSTD=std(XER12);?%?計(jì)算有偏的估計(jì)值,flag=‘1‘
YSTD=std(YER12);
%作圖
figure
plot(xy‘r‘);hold?on;
plot(zxzy‘g‘);hold?on;
plot(XEYE‘b‘);hold?off;
?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????文件???????1703??2006-04-26?14:12??filter_result.m
?????文件???????2984??2006-04-26?13:37??Kalman_filter.m
?????文件????????167??2006-04-26?14:39??readme.txt
?????文件???????1430??2006-04-26?08:08??trajectory.m
?????文件?????200192??2006-04-26?21:45??卡爾曼濾波在目標(biāo)跟蹤中應(yīng)用仿真研究.doc
?????文件????????353??2006-07-14?23:37??說明.txt
-----------?---------??----------?-----??----
???????????????206829????????????????????6
評(píng)論
共有 條評(píng)論