Re: [問題] FFT頻率已回收

看板MATLAB作者 (juzn)時間17年前 (2009/01/20 18:17), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串2/2 (看更多)
※ 引述《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)
文章代碼(AID): #19TQJ7x8 (MATLAB)
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):
文章代碼(AID): #19TQJ7x8 (MATLAB)