当前位置:网站首页>[filter tracking] strapdown inertial navigation simulation based on MATLAB [including Matlab source code 1935]
[filter tracking] strapdown inertial navigation simulation based on MATLAB [including Matlab source code 1935]
2022-07-07 11:46:00 【Poseidon light】
One 、 How to get the code
How to get the code 1:
The complete code has been uploaded to my resources :【 Filter tracking 】 be based on matlab Strapdown inertial navigation simulation 【 contain Matlab Source code 1935 period 】
How to get the code 2:
By subscribing to Ziji Shenguang blog Paid column , With proof of payment , Private Blogger , This code is available .
remarks : Subscribe to Ziji Shenguang blog Paid column , Free access to 1 Copy code ( The period of validity From the Subscription Date , Valid for three days );
Two 、 Introduction to strapdown inertial navigation simulation
1 Strapdown inertial navigation system error equation
When the navigation system adopts the Northeast celestial coordinate system, the error equation of the strapdown inertial navigation system is :
δνE、δνN Is the velocity error along the East 、 North component ;φE、φN、φZ The misalignment angle is in the East 、 north 、 The component of the sky ;∇x、∇x Is the zero bias of the accelerometer ;εx、εy、εz For gyro drift ;ΩN、ΩZ For the earth to rotate in the North 、 Projection of the sky ;Ctb From computer system to navigation system ( Northeast sky coordinate system ) Transformation matrix of ;w Is the white noise vector .
Use the horizontal output of the accelerometer as the measured value , Then the measurement equation is :
z=Cx+ν
In style C=[I2O2×8], I Is the unit matrix ;ν Is the white noise vector . If you want the Kalman filter to have a satisfactory filtering effect , Need to understand the observability of the system . For any fixed position
RankVi=7Vi=[CT ATiCT (ATi)2CT (ATi)3CT (ATi)4CT (ATi)5CT (ATi)6CT (ATi)7CT (ATi)8CT (ATi)9CT]T (3)
It can be seen that the system is unobservable , Therefore, one position alignment cannot estimate all States .
3、 ... and 、 Partial source code
%**************************************************************************
% Pure inertial navigation solution master function
%IMU Of b-frame It's the front right bottom , The data file format is :
%GPS Weekly seconds 、Gx、Gy、Gz、Ax、Ay、Az (G For gyro ,A Represents accelerometer )
% Gyro and accelerometer data are in incremental form , The units are rad and m/s
% The navigation coordinates are northeast
%**************************************************************************
clc;
clear;
close all
format long
%WGS84 Ellipsoid parameter
WGS84.a = 6378137.0;% Long half axis
WGS84.b=6356752.3142;% Short half shaft
WGS84.f = 1/298.257223563;% Oblateness
WGS84.e2=0.00669437999013;% First eccentricity squared
WGS84.ep2=0.006739496742227;% Second eccentricity squared
WGS84.we=7.292115e-5;% Earth rotation rate
WGS84.GM=3.986004418e+14;% Gravity is constant
WGS84.ge=9.7803267715;% Equatorial gravitational acceleration
WGS84.gp=9.8321863685;% Polar gravitational acceleration
BLH0=[23.1373950708/180*pi; 113.3713651222/180*pi;2.175 ];% initial position ( weft rad, the rad, high m)
v0=[0;0;0];% Initial speed (m/s)
Euler0(1,1)=0.0107951084511778/180*pi;% Initial Euler angle roll
Euler0(2,1)=-2.14251290749072/180*pi;%pitch
Euler0(3,1)= -75.7498049314083/180*pi;%yaw
qbn0=EulerToQuaternion(Euler0);% Initial attitude quaternion
Cbn0=QuaternionToDCM(qbn0);% Initial direction cosine matrix
fid=fopen('Data1.bin','r');% Open the original data file
fp=fopen('Result.txt','w');% Open the text used to save the results
fb=fopen('Data1_PureINS.bin','r');% Open the reference result file
fd=fopen('error.txt','w');% Open the file that saves the difference
fe=fopen('Data1_PureINS.txt','w');% Open the file that saves the reference results
t0=91620.0;% Initial time
Deltatheta0=[0;0;0];% Initial gyro output
Deltav0=[0;0;0];% Initial accelerometer output
button=questdlg(' Whether to draw coordinate map in real time ?( Real time plotting is extremely slow !)',' Tips ','Yes','No','No');
if strcmp(button,'Yes')==1
figure;
plot3(BLH0(1)*180/pi,BLH0(2)*180/pi,BLH0(3),'.r');
grid on;
hold on
end
Four 、 Running results
5、 ... and 、matlab Edition and references
1 matlab edition
2014a
2 reference
[1] Shen Zaiyang . Master MATLAB signal processing [M]. tsinghua university press ,2015.
[2] Gao Baojian , Peng Jinye , Wang Lin , Pan Jianshou . Signals and systems —— Use MATLAB Analysis and Implementation [M]. tsinghua university press ,2020.
[3] Wang Wenguang , Wei Shaoming , Ren Xin . Signal processing and system analysis MATLAB Realization [M]. Electronic industry press ,2018.
[4] Wang Yandong , Fan Yuezu . Research on multi position alignment of strapdown inertial navigation system [J]. Chinese Journal of Inertial Technology . 2000,(03)
3 remarks
This part of the introduction is taken from the Internet , For reference only , If infringement , Contact deletion
边栏推荐
- Distributed database master-slave configuration (MySQL)
- 核舟记(一):当“男妈妈”走进现实,生物科技革命能解放女性吗?
- OneDNS助力高校行业网络安全
- SwiftUI 4 新功能之掌握 WeatherKit 和 Swift Charts
- R language Visual facet chart, hypothesis test, multivariable grouping t-test, visual multivariable grouping faceting boxplot, and add significance levels and jitter points
- [Yugong series] go teaching course 005 variables in July 2022
- When sink is consumed in mysql, the self incrementing primary key has been set in the database table. How to operate in Flink?
- Solve the problem that vscode can only open two tabs
- Onedns helps college industry network security
- Learning notes | data Xiaobai uses dataease to make a large data screen
猜你喜欢
The database synchronization tool dbsync adds support for mongodb and es
Flet教程之 19 VerticalDivider 分隔符组件 基础入门(教程含源码)
一起探索云服务之云数据库
聊聊SOC启动(九) 为uboot 添加新的board
La voie du succès de la R & D des entreprises Internet à l’échelle des milliers de personnes
Poor math students who once dropped out of school won the fields award this year
About the application of writing shell script JSON in JMeter
竟然有一半的人不知道 for 与 foreach 的区别???
There are so many factors that imprison you
How to write test cases for test coupons?
随机推荐
Nuclear boat (I): when "male mothers" come into reality, can the biotechnology revolution liberate women?
In depth learning autumn recruitment interview questions collection (1)
Have you ever met flick Oracle CDC, read a table without update operation, and read it repeatedly every ten seconds
Network protocol concept
The annual salary of general test is 15W, and the annual salary of test and development is 30w+. What is the difference between the two?
核舟记(一):当“男妈妈”走进现实,生物科技革命能解放女性吗?
Flet教程之 17 Card卡片组件 基础入门(教程含源码)
对比学习之 Unsupervised Learning of Visual Features by Contrasting Cluster Assignments
The running kubernetes cluster wants to adjust the network segment address of pod
《论文阅读》Neural Approaches to Conversational AI(1)
技术分享 | 抓包分析 TCP 协议
一起探索云服务之云数据库
Two week selection of tdengine community issues | phase II
QT implements the delete method of the container
STM32F1与STM32CubeIDE编程实例-MAX7219驱动8位7段数码管(基于SPI)
聊聊SOC启动(十一) 内核初始化
Poor math students who once dropped out of school won the fields award this year
【纹理特征提取】基于matlab局部二值模式LBP图像纹理特征提取【含Matlab源码 1931期】
Android 面试知识点
Programming examples of stm32f1 and stm32subeide -315m super regenerative wireless remote control module drive