2014-10-19 104 views
-3

我有一個簡單的問題,在1D中使用fft而不使用fftshift。說我有一個代碼運行罪的FFT(6 * 2 * PI * N):Matlab:使用fft無fftshift

n=0:1/20:1-1/20; 
x=sin(2*pi*n); 
X=fft(x); 
plot(abs(X)); 
plot(abs(fftshift(X))); 

沒有FFT移,我在6HZ看到的峯,和在非常非常高的頻率2000Hz的像另一峯。這個2000Hz組件是否對-6Hz峯值響應?

+1

「頻率非常高」 - 您還沒有告訴我們採樣頻率在這裏。 – 2014-10-19 18:51:30

+0

採樣頻率爲20 – kuku 2014-10-19 19:42:15

回答

1

是的。通常,FFT算法的輸出將負頻率偏移到正頻率的後半部分,因此如果直接繪製fft輸出,非常接近零的負峯值將顯示爲非常接近右邊緣的正峯值的一個數字。 fftshift將負面轉移到人們直觀地期待他們的位置。