成熟丰满熟妇高潮XXXXX,人妻无码AV中文系列久久兔费 ,国产精品一国产精品,国精品午夜福利视频不卡麻豆

您好,歡迎來到九壹網。
搜索
您的當前位置:首頁關于fft補零提高頻率分辨率的討論

關于fft補零提高頻率分辨率的討論

來源:九壹網
?關于fft補零提高頻率分辨率的討論

這是一篇值得討論的問題,作者認為補零fft可以提高頻率分辨率,并給出了試驗結果,可以看出確實提高了對頻率細節(jié)的觀察能力,本人可以肯定這個試驗是真實的試驗。但是所有的數字信號教課書上都認為補零fft并不能提高頻率分辨率,是不是有矛盾?

1 從分析角度, 設fs為采樣頻率,fft長度為N, 那么頻率分辨率為fs/N, 如果N增加那么頻率分辨率增加。這是下面一篇文章的用的論據。

2 從另一角度,設fs為采樣頻率,fft長度為N, 則頻率分辨率為fs/N, 我們引進另一個概念:時間長度DT(duration of time), 可以看出DT = 1/頻率分辨率. 則頻率分辨率=1/DT 。從這一角度看只要DT不變,頻率分辨率就不會變。因此盡管補零或插值,都不會提高分辨率。這是所有目前信號處理教科書的觀點,但這些教科書都沒有給出原因,不知道為什么,我發(fā)現(xiàn)這個問題是曾經找過不少教科書,沒有一本給出原因,問老師也答的含糊不清。后來我反復考慮,感覺應該如此解釋,如若有意見,歡迎討論。

為什么兩個角度看竟然矛盾?同樣一個問題為什么有不同的解釋

從1 我們看出,增加的值全為零,不是原信號內容,這就造成了特殊性,我們的信號變了不是原來信號了!而是新的補零信號的周期延拓。但是可以證明兩個信號在對應點上的頻譜值相同(直接利用定義即可推出)。至于補零后其它多點處的頻譜是否是原信號的內容,這是問題的關鍵。 事實上,用于實用的方法不是下文里提到的方法,而是利用采樣數據抽取,降低采樣頻率的方法來實現(xiàn)。因為數據長度一般在使用時都是最大長度,尤其是這種應用,肯定已經采用最大數據處理長度,不用問的。

我有一個試驗,是多年前和一位同學討論此類問題的試驗,有興趣的不妨試試.%% 用于檢驗補零FFT是否提高分辨率

%% 結論: 1。 補零fft提高分辨率是指信號加窗后的合成信號的分辨率。

% 這種情況下fft可以幫助分辨真實的峰值,但分辨率你可以計算一下應該改是不變的。 % 2。 如果信號=加窗后的合成信號 提高分辨率,如果加入點為真實的數據,當然提高分辨率。

% 4。 提高分辨細節(jié)的本質是由于窗的展寬,窗分辨細節(jié)率的提高引起的。這是一個用大窗觀 察含有小窗信號的小窗的過程。補零而看到的頻率細節(jié)不是信號本身的細節(jié),而是窗的細節(jié)。

clear;

Nfft=16;

span=[0:Nfft-1]; omga=[1:3]*pi/8;

x=exp(j*omga(1)*span)+exp(j*omga(2)*span)+exp(j*omga(3)*span);stem(pi/Nfft*[0:Nfft-1],abs(fft(x,Nfft)),'r'); figure(2);

stem(pi/Nfft/2*[0:Nfft*2-1],abs(fft(x,Nfft*2)),'b'); figure(3); stem(pi/Nfft/16*[0:Nfft*16-1],abs(fft(x,Nfft*16)),'g');

原文連接:http://www.ed-china.com/ART_8800009929_400014_500012_TS.HTM 原文簡介:

采用C語言程序處理FFT算法為力的擴大頻譜的問題

如果你只是對計算小頻率范圍上的頻譜有興趣,那HRFT可能比FFT更有效。頻率范圍越窄,HRFT的吸引力就越大。當必須利用有限的存儲資源在嵌入式系統(tǒng)中執(zhí)行運算時,這一點尤為明顯。

許多科學和工程應用都要求信號準確的頻譜或傅立葉變換。式1以無量綱形式

(dimensionless form)給出,其中Ω = ΩT,T是采樣間隔,q[n] = q(nT),代表信號q(t)的第n次采樣。該式也假設信號為有限長序列,故總共僅有N 個連續(xù)采用點。Q(Ω)是連續(xù)變量Ω的周期函數,周期為2e。

常規(guī)求解方法是在區(qū)間Ω = [0, 2e]內的N個均勻間隔點上計算Q(Ω)的值。這個過程叫做離散傅立葉變換(DFT),通常利用快速傅利葉變換(FFT)的算法來完成。DFT給出點Ω = 2ek/N (k = 0...N -1)的傅立葉變換,從而按照實際頻率給出了Ω=2e/(NT) 或f=1/(NT)的分辨率。對許多應用來說,這種分辨率可能已經足夠。

對于某些應用,必須非常準確地確定頻譜峰值(spectral peak)的位置。在這種情況下,DFT提供的分辨率可能不夠。提高分辨率的方法之一就是簡單地用額外的零來增加采樣點。例如,為加倍頻率分辨率,你可以在q[n]序列末尾增添N個零,使總的序列長度為2N。DFT將在2N個點上計算Q(Ω),從而使分辨率提高一倍。

為提高分辨率而增加的零的個數是有的。通常,只有在很小的頻率范圍內才需要提高分辨率。這里提供了一種簡潔明了的辦法,那就是直接在你感興趣的頻率范圍上計算式1。下面給出有效算法。

采用歐拉恒等式,我們可以把式1分為實數和虛數兩部分:

通過契比雪夫多項式(Chebyshev polynomials),我們從sinΩ和cosΩ開始,有效地進行sin(nΩ)和cos(nΩ)的遞歸運算。

在式4和式5中,已知T0 =1、T1=cosΩ、U0=1以及U1=2cosΩ,我們可以利用下列公式計算每一個Tn和Un。

現(xiàn)在我們只需要cosΩ和sinΩ,就能夠以任意的高分辨率(遠大于標準FFT)在一個非常小的頻率范圍上計算子頻譜了。這一程序hrft用C語言編寫,執(zhí)行如下: hrft f1 f2 Nf N sps infile outfile

其中,f1=開始頻率(Hz),f2=終止頻率(Hz),Nf=計算FT的頻率點數, N=從輸入文件讀取的采樣點數,sps=每秒采樣點數,infile=輸入文件,outfile=輸出文件。

圖中顯示了由FFT算法產生的從2260Hz到2268 Hz的部分頻譜,以及由高分辨率傅立葉變換(HRFT)在該頻率范圍上產生的頻譜。

兩種方法都采用了相同的2048點數據集。FFT具有4 Hz/bin的分辨率,HRFT計算了41個點,分辨率為0.2 Hz/bin。顯然,41點的HRFT3比3點FFT的圖更平滑。數據集的主要頻率為2265 Hz,據此我們可以看出HRFT方法準確定位了頻率峰值,而用FFT定位的峰值則偏離了1Hz。為了利用FFT獲得同樣好的分辨率,必須添加零,以達到 65,536個點的序列長度。

如果你只是對計算小頻率范圍上的頻譜有興趣,那HRFT可能比FFT更有效。頻率范圍越窄,HRFT的吸引力就越大。當必須利用有限的存儲資源在嵌入式系統(tǒng)中執(zhí)行運算時,這一點尤為明顯。

采用C語言程序處理FFT算法為力的擴大頻譜的問題(轉) 2009-05-20 17:59

如果你只是對計算小頻率范圍上的頻譜有興趣,那HRFT可能比FFT更有效。頻率范圍越窄,HRFT的吸引力就越大。當必須利用有限的存儲資源在嵌入式系統(tǒng)中執(zhí)行運算時,這一點尤為明顯。

許多科學和工程應用都要求信號準確的頻譜或傅立葉變換。式1以無量綱形式(dimensionless form)給出,其中Ω = ΩT,T是采樣間隔,q[n] = q(nT),代

表信號q(t)的第n次采樣。該式也假設信號為有限長序列,故總共僅有N 個連續(xù)采用點。Q(Ω)是連續(xù)變量Ω的周期函數,周期為2e。

常規(guī)求解方法是在區(qū)間Ω = [0, 2e]內的N個均勻間隔點上計算Q(Ω)的值。這個過程叫做離散傅立葉變換(DFT),通常利用快速傅利葉變換(FFT)的算法來完成。DFT給出點Ω = 2ek/N (k = 0...N -1)的傅立葉變換,從而按照實際頻率給出了Ω=2e/(NT) 或f=1/(NT)的分辨率。對許多應用來說,這種分辨率可能已經足夠。

對于某些應用,必須非常準確地確定頻譜峰值(spectral peak)的位置。在這種情況下,DFT提供的分辨率可能不夠。提高分辨率的方法之一就是簡單地用額外的零來增加采樣點。例如,為加倍頻率分辨率,你可以在q[n]序列末尾增添N個零,使總的序列長度為2N。DFT將在2N個點上計算Q(Ω),從而使分辨率提高一倍。

信號采樣序列的傅立葉變換如式1所示。

為提高分辨率而增加的零的個數是有的。通常,只有在很小的頻率范圍內才需要提高分辨率。這里提供了一種簡潔明了的辦法,那就是直接在你感興趣的頻率范圍上計算式1。下面給出有效算法。

采用歐拉恒等式,我們可以把式1分為實數和虛數兩部分:

通過契比雪夫多項式(Chebyshev polynomials),我們從sinΩ和cosΩ開始,有效地進行sin(nΩ)和cos(nΩ)的遞歸運算。

在式4和式5中,已知T0 =1、T1=cosΩ、U0=1以及U1=2cosΩ,我們可以利用下列公式計算每一個Tn和Un。

現(xiàn)在我們只需要cosΩ和sinΩ,就能夠以任意的高分辨率(遠大于標準FFT)在一個非常小的頻率范圍上計算子頻譜了。這一程序hrft用C語言編寫,執(zhí)行如下:

hrft f1 f2 Nf N sps infile outfile

其中,f1=開始頻率(Hz),f2=終止頻率(Hz),Nf=計算FT的頻率點數, N=從輸入文件讀取的采樣點數,sps=每秒采樣點數,infile=輸入文件,outfile=輸出文件。

圖中顯示了由FFT算法產生的從2260Hz到2268 Hz的部分頻譜,以及由高分辨率傅立葉變換(HRFT)在該頻率范圍上產生的頻譜。

兩種方法都采用了相同的2048點數據集。FFT具有4 Hz/bin的分辨率,HRFT計算了41個點,分辨率為0.2 Hz/bin。顯然,41點的HRFT3比3點FFT的圖更平滑。數據集的主要頻率為2265 Hz,據此我們可以看出HRFT方法準確定位了頻率峰值,而用FFT定位的峰值則偏離了1Hz。為了利用FFT獲得同樣好的分辨率,必須添加零,以達到 65,536個點的序列長度。

如果你只是對計算小頻率范圍上的頻譜有興趣,那HRFT可能比FFT更有效。頻率范圍越窄,HRFT的吸引力就越大。當必須利用有限的存儲資源在嵌入式系統(tǒng)中執(zhí)行運算時,這一點尤為明顯。

因篇幅問題不能全部顯示,請點此查看更多更全內容

Copyright ? 2019- 91gzw.com 版權所有 湘ICP備2023023988號-2

違法及侵權請聯(lián)系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市萬商天勤律師事務所王興未律師提供法律服務