[英]FFT in MATLAB producing amplitude confusion FFT of rect not making sinc
我在MATLAB中执行FFT。 当我尝试执行rect的FFT运算时,它最终不会成为Sinc函数。 相反,当我尝试纠正错误时,我得到了 我在互联网上已经看到过使用abs的这种纠正方法,但是它并不能创建sinc函数。 这是我正在使用的所有代码。
x = linspace(-15,15,257); x = x(1:256); y = rectangularPulse(x) plot(x,y) Y = fft(y); plot(x, fftshift(abs(Y)))
任何帮助将不胜感激。
谢谢,
Ť
FFT不在乎输入信号的x轴。
只是,如下更改您的代码。
x = linspace(0,30,257); y = rectangularPulse(x) figure(1) plot(y) Y = fft(y); figure(2) plot(fftshift(real(Y)))
使用此代码,您可以在fft之后看到sinc函数。
在您的原始代码中,FFT仅考虑您的输入信号,如下所示。
由于rect形状与0索引相差很小,因此由于某些数学原因,FFT在sinc形状的包络中振荡。
[英]Amplitude and Phase of result of FFT in MATLAB
[英]Plotting FFT Amplitude Spectrum signal in Matlab
[英]correct amplitude of pwelch fft
[英]Maximum amplitude of FFT data
[英]Confusion about fftshift and fft2 in MATLAB
[英]Matlab FFT and home brewed FFT
[英]Wrong amplitude values after the FFT
[英]Complex FFT then Inverse FFT MATLAB
[英]FFT Matlab on array (Example)
[英]Compute FFT in Matlab
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.