補零不能提高頻率解析度的原因

2021-10-07 06:09:22 字數 3509 閱讀 9203

離散傅利葉變換(dft)的輸入是一組離散的值,輸出同樣是一組離散的值,fft是dft的快速演算法。

在輸入訊號而言,相鄰兩個取樣點的間隔為取樣時間ts。在輸出訊號而言,相鄰兩個取樣點的間隔為頻率解析度df=fs/n,其中fs為取樣頻率,n為輸入訊號的取樣點數(n=fs*ts),則頻率解析度df為:

這也就是說,dft的頻率解析度不僅與取樣頻率有關,也與訊號的取樣點數有關。

那麼,如果保持輸入訊號長度不變,但卻對輸入訊號進行補零,增加dft的點數,此時的解析度是變還是不變?

答案是:此時解析度不變。

從時域來看,假定要把頻率相差很小的兩個訊號區分開來,直觀上理解,至少要保證兩個訊號在時域上相差乙個完整的週期,也即是相位相差2*pi。舉個例子,假定取樣頻率為1hz,要將週期為10s的正弦訊號和週期為11s的正弦訊號區分開來,那麼訊號至少要持續110s,兩個訊號才能相差乙個週期,此時週期為10s的那個訊號經歷的週期數為11,而11s的那個訊號經歷的週期書為10。轉化到頻域,這種情況下,時域取樣點為110,解析度為1/110=0.00909,恰好等於兩個訊號頻率只差(1/10-1/11)。

如果兩個訊號在時域上不滿足「相差乙個完整週期「的話,補零同樣也不能滿足「相差乙個完整週期」,即解析度不發生變化。另外,從資訊理論的角度,也很好理解,對輸入訊號補零並沒有增加輸入訊號的資訊,因此解析度不會發生變化。

那麼,補零到底會帶來什麼樣的影響呢?因為dft可以看做是對dtft的取樣,補零僅是減小了頻域取樣的間隔。這樣有利於克服由於柵欄效應帶來的有些頻譜洩露的問題。也就是說,補零可以使訊號能在頻域被更細緻地觀察。如果不滿足上述「至少相差乙個完整週期」的要求,即便是如dtft一般在頻域連續,也無法分辨出兩個訊號。

柵欄效應可以形象理解為:站在柵欄旁邊透過柵欄看外面風景(訊號頻率),肯定有被柵欄的木桿擋住的景物(頻率分量,取樣點之間的間隔就相當於柵欄的木桿,取樣點之間的這部分資料含有的頻率是被柵欄「擋住」的,只有取樣點處的資料的頻率量是可以被觀測的),此時就可能較重要的景物(頻率分量)被柵欄的木桿擋住,即漏掉較大頻域分量,(「擋住」或丟失的頻率成分有可能是重要的或具有特徵的成分),但是補零以後,相當於柵欄的木桿寬度減小了,可見部分增加了,風景就看的越來越清楚了,(但是補零以後看到的不是「擋住」或丟失的頻率成分,而是補零產生的頻率,這部分細節是無法提高訊號解析度的)。

那麼,影響dft解析度最本質的物理機制是什麼呢?在於dft的積累時間,解析度為積累時間ts的倒數。這點從下面的數學公式上可以很容易得到:

舉個例子說,如果輸入訊號的時長為10s,那麼無論取樣頻率為多少,當然前提是要滿足奈奎斯特定理,其解析度為1/10=0.1hz。

補零訊號的譜,是通過對截簡訊號的譜進行了推測(插值演算法)得來的,它並不能反映原訊號的譜(因為原訊號在截短的過程中部分資訊丟失了,而補零並沒有將這些丟失的資訊找回來),所以雖然補零訊號的譜線間隔變小了,但是除了從截簡訊號的譜中取出來的譜線以外,其餘的新增的譜線都是無效的。去掉這些無效的譜線,取樣頻率不變,有效的譜線數不變,所以其物理頻率解析度自然沒有改變。

也可以這樣理解,m為原訊號的長度,n是訊號補0後的長度(補了n-m個零值),補0前fft計算得到的是m*2*pi/m處的頻域值, 而補0後得到的是n*2*pi/n處的頻域值。 補0後,將(-pi,pi)從原來的m份變成了n份,如果將補0前後的這些頻域值畫在座標上,其中m*2*pi/m和n*2*pi/n重合的部分,它所對應的頻域值(變換後的值)是不變的,而在原來的m份裡多了(n-m)份的分量,即在頻域內多了(n-m)份插值。   

n 點dft的頻譜解析度是2π / n。可以通過補零觀察到更多的頻點,但是這並不意味著補零能夠提高真正的頻譜解析度。這是因為x[n] 實際上是x(t) 取樣的主值序列,而將x[n]補零得到的x'[n] 週期延拓之後與原來的序列並不相同,也不是x(t) 的取樣。因此已是不同離散訊號的頻譜。對於補零至m點的x'的dft,只能說它的解析度2π / m僅具有計算上的意義,並不是真正的、物理意義上的頻譜。頻譜解析度的提高只能在滿足取樣定理的條件下增加時域有效的取樣長度來實現,而補零並不是時域訊號的有效資料。

補零前的fft有m條譜線,分別代表的頻率點是(0,1,...,m-1)*df1,df1=fs/m;補零後的fft有n條譜線,分別代表的頻率點是(0,1,...,n-1)*df2,df2=fs/n。由於補零前後資料長度不一樣,它們的解析度(分別為df1,df2)不一樣,在頻域中譜線所代表的頻率也不一樣,所以這兩個頻譜所描述的物件也不相同。這裡舉乙個例子,fs=1000hz,補零前後資料長度m=500和n=800,對應的df1=1000/500=2,df2=1000/800=1.25。補零前的頻譜是對應於0,2,4,...,500hz的頻譜,而補零後的頻譜是對應於0,1.25,2.5,...,500hz的頻譜,所以兩頻譜中對應頻率不兩同,描述當然不同。但是當特殊情況:m=(2^n)n時,補零後的頻譜相當於在補零前的頻譜中插入(2^n)-1條譜線。與補零前的頻譜中相重合的譜線,它們的幅值和相位完全一致。

既然補零無法提高訊號的頻率譜的解析度,那麼他有什麼其他作用呢?

其一,可使資料點數調整為2的整次冪,以便於使用fft;

其二,對原資料起到了做插值的作用,克服「欄柵」效應,使譜的外觀平滑;

其三,由於對資料截短時引起的頻域洩漏,有可能在頻譜**現一些難以確認的譜峰,補零後有可能消除這種現象。

補零的個數不是任意的,補零的個數必須為原資料個數的整數倍。如果用fft的話,補零後的總長度還要滿足2的n次冪。補零一般情況下是為了滿足fft的條件,有時為了減少頻譜洩漏也會補零。只有補零的個數滿足以上條件時,補零前的頻譜才會包含在補零後的頻譜中,這樣才有意義。

由於我們往往會認為頻率解析度與取樣的點數即n有關,即取樣點數越多,頻率分布越密集,解析度越高。而實際上對採集到的訊號序列進行「高密度」的fft變換時(即fft變換的點數大於訊號的點數),只是將確定的頻譜分割的細一點,不能區分的頻率仍舊不能區分。真正與頻率的分辨能力有關的應該是譜線的寬度!我們對任何訊號進行傅利葉變換之前都會無意地引入了加矩形窗的處理,而加入矩形窗的結果就是譜線不再是「衝激」,而是具有一定的寬度,這與矩形窗的主瓣是有關係的,至於頻譜的旁瓣則與矩形窗的旁瓣有關。這就是大家常說的「頻譜洩漏」。所以,頻率的分辨能力與譜線的寬度有關(譜線越細,自然能分辨的頻率間隔就越小),譜線的寬度又與矩形窗的主瓣有關,矩形窗的主瓣又與矩形窗的時間長度有關。所以頻率的分辨能力只與矩形窗的時間長度有關即只與取樣的時間ts有關,而不是n。

另外,在選擇dft時n引數要注意:

1、由取樣定理:fs>=2fh    (fs——取樣頻率,fh——訊號最大頻率分量)

2、頻率解析度:df=fs/n     (df——頻率解析度,n——取樣點數目)

所以一般情況給定了fh和df時也就限制了n範圍:n>=fs/df。

結論: 

1、補零不能提高訊號的頻率解析度,但可以提高訊號加窗後的合成訊號的分辨細節;

2、提高分辨細節的本質是由於窗的展寬,補零而看到的頻率細節不是訊號本身的細節,而是窗的細節;

3、補零可使資料點數調整為2的整次冪,以便於使用fft;

4、補零對原資料起到了做插值的作用,克服「欄柵」效應,使譜的外觀平滑;

5、補零由於對資料截短時引起的頻域洩漏,有可能在頻譜**現一些難以確認的譜峰,補零後有可能消除這種現象。

6、在滿足取樣定理的前提下,採用頻率細化技術(zoom),亦可用把時域序列變換成頻譜序列的方法,來在不增加取樣時間的情況下實現解析度的提公升。

傅利葉變換補零提高頻率解析度的理解

可以肯定的是離散傅利葉變換補零能夠提高解析度,下面從理論分析和具體的matlab 實現兩方面說明該如何理解。1 理論上的理解 我們知道傅利葉變換是將乙個訊號從時域變換到頻域,從本質上講訊號還是那個訊號,只是表現形式發生了變化。通過傅利葉變換,可以得到訊號在頻域的資訊,反之,傅利葉逆變換可以得到訊號在...

傅利葉變換補零與能否提高頻率解析度

離散傅利葉變換 dft 的輸入是一組離散的值,輸出同樣是一組離散的值,fft是dft的快速演算法。在輸入訊號而言,相鄰兩個取樣點的間隔為取樣時間ts。在輸出訊號而言,相鄰兩個取樣點的間隔為頻率解析度df fs n,其中fs為取樣頻率,n為輸入訊號的取樣點數 n fs ts 則頻率解析度df為 這也就...

DSP 時域補零與頻率解析度的關係

4.小結 頻率解析度是指對兩個最近的頻譜峰值能夠分辨的能力。一般來說,視窗長度n nn越大,則物理上的頻率解析度越高,其中n nn指的是真實的訊號取樣點個數,而不是補零之後的長度。頻率解析度可以表示為 f 1nts fsn delta f frac frac f nts 1 nfs 值得注意的是,補...