使用matlab读取txt的文件生成mif或者hex文件
matlab使用的版本:matlab 2018A
txt文件内的数据格式:
00 00 00 00 00
00 00 00 00 00
00 00 00 00 00
等多维数组。
matlab代码:
clc;clear;close all;a
temp = textread('a.txt','%s');
n=length(temp(:));%计算数组的长度
a=cell2mat(temp);
b = hex2dec(a);
d3 = reshape(b,3,11520);
d12 = reshape(b,12,2880);
%------------ 产生一个 24 bit 的mif 文件
fid=fopen('dsc_data_24bit.mif','w');%打开待写入的.mif文件
fprintf(fid,'WIDTH=24;\n');%写入存储位宽24位
fprintf(fid,'DEPTH=8192;\n');%写入存储深度8192
fprintf(fid,'ADDRESS_RADIX=UNS;\n');%写入地址类型为无符号整型
fprintf(fid,'DATA_RADIX=HEX;\n');%写入数据类型为16进制
fprintf(fid,'CONTENT BEGIN\n');%起始内容
for i = 0:8191
fprintf(fid,'\t%d\t:',i);
fprintf(fid,'\t%x',d3(1,i+1));
fprintf(fid,'%x',d3(2,i+1));
fprintf(fid,'%x',d3(3,i+1));
fprintf(fid,';\n');
end
fprintf(fid,'END;\n');
fclose(fid);%关闭文件
mif的文件就是一个24bit数据宽度的数据。