欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標題:
卡爾曼濾波器在INS-GPS組合導航中應用仿真 matlab源代碼
[打印本頁]
作者:
redcircle052173
時間:
2021-12-9 09:04
標題:
卡爾曼濾波器在INS-GPS組合導航中應用仿真 matlab源代碼
最近一段時間在嘗試用FPGA設計卡爾曼濾波器,設計過程比較復雜,在此過程中卡爾曼濾波器的基本原理,matlab仿真與C語言實現,及其在導航算法中的應用困擾了我很長一段時間。在和師兄交流和參閱些許文獻之后,終于小有收獲。下面是把卡爾曼濾波器在INS-GPS組合導航中應用仿真的matlab源代碼與大家分享,希望對初學者有一定的借鑒價值。
在下面的仿真的代碼中,理想的觀測量不是真實數據,而是自生成的正弦波數據,在真實的應用場景中,應該是一系列的參考數據。
運行結果:
1639011807(1).png
(287.62 KB, 下載次數: 73)
下載附件
2021-12-9 09:04 上傳
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% 卡爾曼濾波器在INS-GPS組合導航中應用仿真
% Author : lylogn
% Email : lylogn@gmail.com
% Company: BUAA-Dep3
% Time : 2013.01.06
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% 參考文獻:
% [1]. 鄧正隆. 慣導技術, 哈爾濱工業大學出版社.2006.
clear all;
%% 慣性-GPS組合導航模型參數初始化
we = 360/24/60/60*pi/180; %地球自轉角速度,弧度/s
psi = 10*pi/180; %psi角度 / 弧度
Tge = 0.12;
Tgn = 0.10;
Tgz = 0.10; %這三個參數的含義詳見參考文獻
sigma_ge=1;
sigma_gn=1;
sigma_gz=1;
%% 連續空間系統狀態方程
% X_dot(t) = A(t)*X(t) + B(t)*W(t)
A=[0 we*sin(psi) -we*cos(psi) 1 0 0 1 0 0;
-we*sin(psi) 0 0 0 1 0 0 1 0;
we*cos(psi) 0 0 0 0 1 0 0 1;
0 0 0 -1/Tge 0 0 0 0 0;
0 0 0 0 -1/Tgn 0 0 0 0;
0 0 0 0 0 -1/Tgz 0 0 0;
0 0 0 0 0 0 0 0 0;
0 0 0 0 0 0 0 0 0;
0 0 0 0 0 0 0 0 0;]; %狀態轉移矩陣
B=[0 0 0 sigma_ge*sqrt(2/Tge) 0 0 0 0 0;
0 0 0 0 sigma_gn*sqrt(2/Tgn) 0 0 0 0;
0 0 0 0 0 sigma_gz*sqrt(2/Tgz) 0 0 0;]';%輸入控制矩陣
%% 轉化為離散時間系統狀態方程
% X(k+1) = F*X(k) + G*W(k)
T = 0.1;
[F,G]=c2d(A,B,T);
H=[1 0 0 0 0 0 0 0 0;
0 -sec(psi) 0 0 0 0 0 0 0;];%觀測矩陣
%% 卡爾曼濾波器參數初始化
t=0:T:50-T;
length=size(t,2);
y=zeros(2,length);
Q=0.5^2*eye(3); %系統噪聲協方差
R=0.25^2*eye(2); %測量噪聲協方差
y(1,:)=2*sin(pi*t*0.5);
y(2,:)=2*cos(pi*t*0.5);
Z=y+sqrt(R)*randn(2,length); %生成的含有噪聲的假定觀測值,2維
X=zeros(9,length); %狀態估計值,9維
X(:,1)=[0,0,0,0,0,0,0,0,0]'; %狀態估計初始值設定
P=eye(9); %狀態估計協方差
%% 卡爾曼濾波算法迭代過程
for n=2:length
X(:,n)=F*X(:,n-1);
P=F*P*F'+ G*Q*G';
Kg=P*H'/(H*P*H'+R);
X(:,n)=X(:,n)+Kg*(Z(:,n)-H*X(:,n));
P=(eye(9,9)-Kg*H)*P;
end
%% 繪圖代碼
figure(1)
plot(y(1,:))
hold on;
plot(y(2,:))
hold off;
title('理想的觀測量');
figure(2)
plot(Z(1,:))
hold on;
plot(Z(2,:))
hold off;
title('帶有噪聲的觀測量');
figure(3)
plot(X(1,:))
hold on;
plot(X(2,:))
hold off;
title('濾波后的觀測量');
復制代碼
歡迎光臨 (http://www.raoushi.com/bbs/)
Powered by Discuz! X3.1