[英]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.