[問題] 請問FFT的Fs取樣頻率相關問題

看板MATLAB作者 (SKTP)時間9年前 (2016/03/08 12:57), 9年前編輯推噓0(001)
留言1則, 1人參與, 最新討論串1/1
請教各位,我要將一個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://www.ptt.cc/bbs/MATLAB/M.1457413078.A.D55.html ※ 編輯: SKTP (140.121.120.213), 03/08/2016 18:30:48

03/09 11:59, , 1F
取樣頻率Fs=1002/5才對
03/09 11:59, 1F
文章代碼(AID): #1MtblMrL (MATLAB)
文章代碼(AID): #1MtblMrL (MATLAB)