作者SKTP (SKTP)
看板MATLAB
標題[問題] 請問FFT的Fs取樣頻率相關問題
時間Tue Mar 8 12:57:55 2016
請教各位,我要將一個5秒有1002個點的資料做fft,我看過help裡面的fft範例。
因為本身不是通訊相關領域出來的,對於取樣頻率Fs以及Ts不太了解其含義,
先附上程式碼:
A = load('FFT2.csv');
B = size(A);
L = B(1,1); % Length of signal
Tmax = A(L,1);
Fs = L/Tmax; % Sampling frequency
T = 1/Fs; % Sample time
t = (0:L-1)*T; % Time vector
y = A(:,2);
subplot(2,1,1);plot(t(1:L),y(1:L))
title('Signal Corrupted with Zero-Mean Random Noise')
xlabel('time (seconds)')
NFFT = 2^nextpow2(L); % Next power of 2 from length of y
Y = fft(y,NFFT)/L;
f = Fs/2*linspace(0,1,NFFT/2+1);
subplot(2,1,2);plot(f,2*abs(Y(1:NFFT/2+1)))
title('Single-Sided Amplitude Spectrum of y(t)')
xlabel('Frequency (Hz)')
ylabel('|Y(f)|')
基本上就是照help裡面把程式碼複製下來,將Ts從1/Fs改成5/Fs,
可是我發現我只要去更改Fs,第二張圖fft的結果在x軸頻率的部分中會有所改變,
而我的曲線卻不會有所變化,像是Fs為1000時,曲線在300Hz有一根,
但我將Fs改成100就會變成30Hz有一根,那我該如何知道我所用的Fs是正確的?
我仔細查了一下,將程式碼改寫,Fs應該是這樣定義沒錯吧?
資料點數除以總時間?
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.121.120.213
※ 文章網址: https://webptt.com/m.aspx?n=bbs/MATLAB/M.1457413078.A.D55.html
※ 編輯: SKTP (140.121.120.213), 03/08/2016 18:30:48
1F:→ nc23nick: 取樣頻率Fs=1002/5才對 03/09 11:59