|
本帖最后由 matlab的旋律 于 2017-11-6 09:50 编辑
一个数据转换程序
clear all
close all
clc
fid = fopen('shuju.txt');
x_data = [];
y_data = [];
z_data = [];
while ~feof(fid)
read_str = fgetl(fid);
str_index = strfind(read_str,'app:f5');
if ~isempty(str_index)
proc_str = read_str(30:end);
x_str = [proc_str(1:4);proc_str(13:16);proc_str(25:28)];
y_str = [proc_str(5:8);proc_str(17:20);proc_str(29:32)];
z_str = [proc_str(9:12);proc_str(21:24);proc_str(33:36)];
x_data = cat(1,x_data,hex2dec(x_str));
y_data = cat(1,y_data,hex2dec(y_str));
z_data = cat(1,z_data,hex2dec(z_str));
end
end
xx_data = Nosysmbol2Sysmbol(x_data,16);
yy_data = Nosysmbol2Sysmbol(y_data,16);
zz_data = Nosysmbol2Sysmbol(z_data,16);
dlmwrite('result.txt',[xx_data,yy_data,zz_data]*4)
function SysData = Nosysmbol2Sysmbol(NosysData,Bit)
SysData = NosysData;
for k = 1:length(NosysData)
if NosysData(k) > 2^(Bit - 1)
SysData(k) = -(2^Bit - NosysData(k));
else
SysData(k) = NosysData(k);
end
end
其中对应的数据包格式如图所示
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
|