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)