在Matlab中读取采集到的imu数据(txt格式),并绘图显示

本例程读取的数据是惯导数据(三轴陀螺仪、三轴加速度计),源文件为txt格式,在matlab中读取6种数据并作图显示

data=load('data8.txt');     %加载txt文件
save('data.mat','data');    %将读取到的数据存入mat格式文件

首先将要读取的txt文件加载进来,并将它存在一个mat格式文件中。

在Matlab中读取采集到的imu数据(txt格式),并绘图显示

mat格式数据是这样的。

length=size(data);          %求得数据长度,这里length是一个包含两个数据的向量,第一个数据是data矩阵的行数,第二个数据是data矩阵的列数
time=length(1)/fs;          %求出数据采集时间的总长度,用于横坐标显示
t=(1:length(1))/fs;         %求得步长

这里求得数据总长度,以及根据采样频率算好所采数据的总时长、步长

figure(1);
gx=data(:,1);%获取第一列数据
subplot(3,1,1);
plot(t,gx);axis([0 time -300 300]);title('gx');xlabel('时间(s)');ylabel('角速度(°/s)');
gy=data(:,2);%获取第二列数据
subplot(3,1,2);
plot(t,gy);axis([0 time -300 300]);title('gy');xlabel('时间(s)');ylabel('角速度(°/s)');
gz=data(:,3);%获取第三列数据
subplot(3,1,3);
plot(t,gz);axis([0 time -300 300]);title('gz');xlabel('时间(s)');ylabel('角速度(°/s)');

生成第一个figure,用来顺序显示三轴陀螺仪数据,即角速度数据。

figure(2);
ax=data(:,4);%获取第四列数据
subplot(3,1,1);
plot(t,ax);axis([0 time -2 2]);title('ax');xlabel('时间(s)');ylabel('加速度(g/s^2)');
ay=data(:,5);%获取第五列数据
subplot(3,1,2);
plot(t,ay);axis([0 time -2 2]);title('ay');xlabel('时间(s)');ylabel('加速度(g/s^2)');
az=data(:,6);%获取第六列数据
subplot(3,1,3);
plot(t,az);axis([0 time -2 2]);title('az');xlabel('时间(s)');ylabel('加速度(g/s^2)');

生成第二个表格,用来顺序显示三轴加速度计

在Matlab中读取采集到的imu数据(txt格式),并绘图显示

在Matlab中读取采集到的imu数据(txt格式),并绘图显示

最后显示效果如上图

需要源码可以从这里下载:https://download.csdn.net/download/qq_35518210/11107273