1. matlab 保存波形数据到文件
- matlab操作方法大致与c语言相似,可以比较着学。
代码如下:
x=0:1:1024;
y=sin(x);
z=[x;y]
fp=fopen('wave.TXT','w');
fprintf(fp,'x=%6.2f sin(x)=%8.4f\n',z);
fclose(fp);
2. 产生波形文件转换为short类型保存到dat文件中
Fs=1024;
dt=1.0/Fs;
T=1;N=T/dt;t=[0:N-1]/N
x1=sin(2*pi*300*t)+sin(2*pi*500*t)+sin(2*pi*1000*t)+sin(2*pi*1500*t)+sin(2*pi*3000*t); %产生一个不同频率的信号
b=round(x1*2^11); %将float类型数转换为short类型,进行量化,转换为定点,方便FPGA使用
fp=fopen('wave.dat','w');
fprintf(fp,'%d7\n',b);
fclose(fp);
3. 生成波形保存为coe文件
- 转换为coe文件主要是为了FPGA中调用,测试仿真的时候可以使用
Fs=1024;
dt=1.0/Fs;
T=1;N=T/dt;t=[0:N-1]/N
x1=sin(2*pi*500*t)+sin(2*pi*800*t)+sin(2*pi*5000*t)+sin(2*pi*8000*t); %产生一个不同频率的信号
b=round(x1*2^11);
fid=fopen('wave.coe','w');
fprintf(fid,'MEMORY_INITIALIZATION_RADIX=10;\n');
fprintf(fid,'MEMORY_INITIALIZATION_VECTOR=\n');
for i=1:1:1024
fprintf(fid,'%d',b(i));
if i==1024
fprintf(fid,';');
else
fprintf(fid,',');
end
if mod(i,15)==0
fprintf(fid,'\n');
end
end
fclose(fid)