[問題] 有關Matlab中FFT範例的問題

作者: josephbe (小夫)   2016-09-13 13:07:03
最近論文在做跟FFT有關的東西
在Matlab中FFT的範例如下
Fs = 1000; % Sampling frequency
T = 1/Fs; % Sampling period
L = 1000; % Length of signal
t = (0:L-1)*T; % Time vector
S = 0.7*sin(2*pi*50*t) + sin(2*pi*120*t);
X = S + 2*randn(size(t));
plot(1000*t(1:50),X(1:50))
title('Signal Corrupted with Zero-Mean Random Noise')
xlabel('t (milliseconds)')
ylabel('X(t)')
Y = fft(X);
P2 = abs(Y/L);
P1 = P2(1:L/2+1);
P1(2:end-1) = 2*P1(2:end-1);
f = Fs*(0:(L/2))/L;
plot(f,P1)
title('Single-Sided Amplitude Spectrum of X(t)')
xlabel('f (Hz)')
ylabel('|P1(f)|')
查過了幾本Matlab有關FFT的地方,如果沒有這樣做的話振幅都滿離奇的
但為何FFT之後的結果,要乘以2/L之後振幅才會是正確的?
麻煩大家幫忙解答了,感謝
作者: sunev (Veritas)   2016-09-13 13:13:00
help fft,看一下matlab fft的定義
作者: josephbe (小夫)   2016-09-15 01:15:00
除以L我知道,這部分已經推出來,但是中間部分乘以2的緣由我的想法跟指導教授的想法不太一樣,所以想請問一下
作者: sunev (Veritas)   2016-09-15 09:56:00
把你心中的定義和matlab的定義寫出來,剩下的是數學問題
作者: gohow (我很愛張懸跟貓)   2016-09-16 16:43:00
我問你一個問題好了sine的Fourier transfom的震幅是1還是0.5 你要的答案就在這裡

Links booklink

Contact Us: admin [ a t ] ucptt.com