matlab做fft的问题
来源:学生作业帮 编辑:大师作文网作业帮 分类:综合作业 时间:2024/11/06 08:34:09
matlab做fft的问题
用MATLAB的FFT计算得到的结果和理论上计算傅里叶变换得到的结果为什么差别那么大?是程序的问题还是FFT本身的问题?
用FFT:
A=0.01243;
t=3.911;
x=0:0.001:30;
i=A*3*x.^3.*exp(-x./t);
y=fft(i);
semilogx(20*log10(abs(y)))
理论计算:
A=0.01243;
t=3.911;
w=logspace(-2,3,100);
f=6*A*3./(1/t^2-w.^2).^2;
y=20*log10(f);
semilogx(w,y)
用MATLAB的FFT计算得到的结果和理论上计算傅里叶变换得到的结果为什么差别那么大?是程序的问题还是FFT本身的问题?
用FFT:
A=0.01243;
t=3.911;
x=0:0.001:30;
i=A*3*x.^3.*exp(-x./t);
y=fft(i);
semilogx(20*log10(abs(y)))
理论计算:
A=0.01243;
t=3.911;
w=logspace(-2,3,100);
f=6*A*3./(1/t^2-w.^2).^2;
y=20*log10(f);
semilogx(w,y)
亲,从理论上,FFT的结果和Fourier Transform的结果就是不一样的.还是先好好看看DSP的知识吧.
再问: 求推荐相关书籍或资料~
再答: 我先简单起个头,Fourier Transform是对模拟信号做的,结果也是模拟信号;FFT是对离散信号做的,结果也是离散信号。Fourier Transform在“信号与系统”的教程中都会有,FFT的话你可以去看任何一本“数字信号处理”的教材。具体名字我不说了,很容易找。
再问: 求推荐相关书籍或资料~
再答: 我先简单起个头,Fourier Transform是对模拟信号做的,结果也是模拟信号;FFT是对离散信号做的,结果也是离散信号。Fourier Transform在“信号与系统”的教程中都会有,FFT的话你可以去看任何一本“数字信号处理”的教材。具体名字我不说了,很容易找。