2017-08-08 90 views
1

我使用下面的MATLAB代碼執行正常的密度函數的傅立葉變換:傅立葉變換正常密度函數

N=100; 
j=0:(N-1); 
a=-5; 
b=5; 
dx = (b-a)/N; 
x = a+j*dx; 
dt = 2*pi/(N*dx); 
f1 = -N/2*dt; 
f2 = N/2*dt; 
t= f1+ j*dt; 
GX = normpdf(x,0,1); 
fft_GX = real(fft(GX))'; 

但是,我沒有得到預期的鐘形曲線,當我嘗試繪圖fft_GX。 正常密度的傅立葉變換具有e ^( - t^2/2)的形式。有人能幫助我做什麼不正確嗎?

+1

請參閱我在https://stackoverflow.com/questions/45475351/matlab-not-plotting-the-exact-fourier-signal/45475860#45475860上的答案,獲取有關如何繪製FFT的解釋和示例。 – jodag

回答

1

嘗試使用abs而不是real

中繼頻域的另一個有用功能是fftshift。否則,你會看到從0到2 * pi的情節,我相信,而不是從pi到pi的更可識別的視圖。

fft_GX = abs(fftshift((fft(GX))'); 
plot(fft_GX); 

您可能需要做基於你的樣本數一些進一步正常化,但它看起來更像是一個比你最初看到預期的鐘形曲線。