Re: [問題] FFT頻率已回收
※ 引述《iwm5566 (ALEX)》之銘言:
: 請問各位高手
: 不知道有沒有人知道要怎麼確定FFT之後出來的頻率是正確的呢??
: 因為我已經將FFT圖形轉出來了
: 可是頻率看起來怪怪的
: 感覺不是我要的頻率
: 請問有沒有高手可以說一下下面頻率應該要哪行的程式指定??
: 請高手可以指點一下
: 謝謝.......
這是我參考書本所寫的一個小工具
目的是為了
1.自動計算出對應的f軸
2.自動修正輸入的取樣點個數非2^n的問題
注意事項
fft做完後要秀成頻譜圖有取一半移動的問題 可利用fftshift來完成此事
也可以只秀一半頻譜 而不管負頻就不需修正
function [M,m1,df,f]=fftseq(m,ts,df)
% 此程式參考滄海書局出版"matlab 輔助通信系統設計"
% 作者 John G. Proakis 與 Masoud Salehi 譯者 曹士林
% [M,m1,df,f]=fftseq(m,ts,df)
% [M,m1,df,f]=fftseq(m,ts) 不輸入df將以最低解析度計算
% m為欲轉換的信號 ts為取樣間隔時間 df為解析度
% 輸出結果 M為快速傅立葉轉換後的信號
% m1為將原信號後端補零使取樣個數n為2的冪次方
% df為此轉換程式真正使用的解析度
% f為對應頻譜座標
fs=1/ts;
if nargin == 2
n1=0;
else
n1=fs/df;
end
n2=length(m);
n=2^(max(nextpow2(n1),nextpow2(n2)));
M=fft(m,n);
m1=[m,zeros(1,n-n2)];
df=fs/n;
f=[0:df:df*(n-1)]-fs/2;
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 134.208.0.181
※ 編輯: juzn 來自: 134.208.0.181 (01/20 18:45)
討論串 (同標題文章)
MATLAB 近期熱門文章
PTT數位生活區 即時熱門文章