BAIDU_CLB_fillSlot("579689");
在网上搜索了N多帖子,都是些只言片语,生怕别人学会了。要么是爱理不理,要么理你也觉得高你一等的样子,不就是几行破程序么,哥写出来了,拿去。
提醒下,拿去使用的同学请根据自己要处理的数据修改Q值。
 
Q=14;%数据在-1.x到+1.x故取Q14
x=0;
fid=fopen('resdata_a.dat','w');%打开文件
fprintf(fid,'1651 1 0 1 0\n');%输出文件头
data_len=length(resdata_a);%假设要处理的数据保存在resdata_a中
for i=1:data_len
if resdata_a(i)>=0
x=round(resdata_a(i)*2^Q);%转成Q格式后取圆整
fprintf(fid,'0x%x\n',x);%以16进制输出
else
x=2^16-round(abs(resdata_a(i))*2^Q);%对于负数求补码
fprintf(fid,'0x%x\n',x);%输出
end
end
fclose(fid);%完成后Matlab命令窗口中不会有任何信息提示 |