📄 dsp.m
字号:
% DSP.m
clear; close all;
N=128; f=4;
fo=fopen('f:\test.dat','w'); %
for i=1:N %产生单频数据文件,作为验证DSP的FFT程序的模拟数据
x(i)=1+1*cos(2.*pi*i*f/N)+4* cos(2.*pi*i*5/N)+0*j* sin(2.*pi*i*f*4/N);
x(i)=x(i)*4096; %将数据定点化,按照DSP的数据格式写入文件
fprintf(fo,'.word %d\r\n',fix(x(i)));
end
fclose(fo);
XF=fft(x)/N; %除N是因为定点DSP的FFT过程中将结果缩小了N倍
figure(1);
k=0:N-1;
stem(k,real(XF),'.'); hold on; stem(k,imag(XF),'r.');
load d:\vista\DSP.dat;
XF1(1:N)=DSP(1:2:2*N)+j*DSP(2:2:2*N);
err0=(XF1-XF);
err1=abs(XF1-XF)./abs(XF);
subplot(311), plot(0:N-1,abs(XF),'r',0:N-1,abs(XF1),'k'); zoom on;
subplot(312), plot(abs(err0)); zoom on;
subplot(313), plot(abs(err1)); zoom on;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -