Re: [問題] FFT程式裡的問題已回收
※ 引述《rick111104 (丫翰)》之銘言:
: subplot(2,1,1)
: Fs = 240;
: T = 1/Fs;
: L =length(data2006.o3.o3);
: t = (0:L-1)*T;
: x = datenum(data2006.o3.o3);
: y = data2006.o3.o3;
: plot(Fs*t(1:50),y(1:50))
: grid
: title('Signal Corrupted with Zero-Mean Random Noise')
: xlabel('time (milliseconds)')
: subplot(2,1,2)
: NFFT = 2^nextpow2(L);
: Y = fft(y,NFFT)/L;
: f = Fs/2*linspace(0,1,NFFT/2);
: plot(f,2*abs(Y(1:NFFT/2)))
: grid
: title('Single-Sided Amplitude Spectrum of y(t)')
: xlabel('Frequency (Hz)')
: ylabel('|Y(f)|')
: 我是把data2006.o3.o3這筆資料匯進去 , 不過程式的地方有點小問題
: 1.上面的程式中,第一個plot那一行為什麼Fs要乘t(1:50) , 1:50有什麼意思嗎,為什麼要到50?
: 2.第2個plot(f,2*abs(Y(1:NFFT/2)))是什麼意思, 為什麼要這樣寫?
: 有那位大大可以幫我解答一下嗎, 煩惱很久了
拋磚引玉一下 若有不對請指教
1. 1:50指的是第1~50個點
2. 因為fft作的是整個2 pi的運算,所以你只要取一半的點數出來看就可以了。
如果改成2*abs(Y(1:NFFT)) ,會看到對稱的圖形
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.123.216.167
→
10/20 11:54, , 1F
10/20 11:54, 1F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):
MATLAB 近期熱門文章
PTT數位生活區 即時熱門文章