1. 程式人生 > >【DSP】由“取樣率、取樣最小記錄時間的一點直觀認識”所感

【DSP】由“取樣率、取樣最小記錄時間的一點直觀認識”所感

最近看了“彬彬有禮”的一篇文章“數字訊號處理中:取樣率、取樣最小記錄時間的一點直觀認識”後,疑惑很多,因為“彬彬有禮”的解釋並沒有給我帶來“直觀”的感受,反而讓我“懵”了,於是決定根據自己所查到的資料,談談自己粗淺的認識,請大家指正。

一、先把“彬彬有禮”的文章複製過來:

題目: 數字訊號處理中:取樣率、取樣最小記錄時間的一點直觀認識

首先上一幅截圖,來自姚天任的《數字訊號處理(第二版)》,華科出版社,第92頁,寫的很不錯的一本書。

1、文中提到了頻率分頻率等於最小記錄長度的倒數,這個可以這樣直觀的來認識:假設你取樣的資料時長為tp,那麼按照上述理論,頻率解析度是F=1/tp,這是因為你取樣的資料只有

tp長,對於頻率小於F的訊號,它的週期將大於tp,也就是說取樣的資料根本就沒有采完頻率小於F的訊號的一個週期試想:你告訴計算機的只有訊號的一個週期中的一部分資訊,計算機根本不知道後面這個訊號未來如何變化,對於計算機來說,由於它未得到整週期的訊號,它還以為這是一個非週期訊號呢!所以它肯定就不能分辨出這些週期大於tp的訊號嘛……

2、對於取樣率的問題,文中提到為了避免頻譜混疊,要求取樣率fs>2f0,這個可以這樣來理解,fs>f0的結果是每個週期中採兩個或以上的點,也就是說只有保證訊號每個週期採兩個點才能確定這個訊號。試想,若你的取樣率為fs,訊號頻率大於fs的話,那麼在訊號的一個週期中可能都不會採到一個點,你讓計算機怎麼去判斷它的週期呢?

3、關於最後一個公式(3.93),其實就說明白了一個道理:若你想讓頻率解析度達到F,那你取樣的記錄時間就得至少為tp=1/F,這樣才能保證採完至少一個週期的頻率為F的訊號資訊,這是硬性要求,不能商量;然後就是取樣率的問題,你取樣率高了,tp時間內的取樣點自然就多了,這個很簡單吧,而且為了保證頻率不混疊,你就得保證對於訊號的最高頻率成份每個週期至少採兩個點,因此取樣率至少為fs=2f0,取樣率的最小值有了,取樣的記錄時間是硬性要求,下限也有了,那麼自然就得到了N的下限,即當取樣記錄時間最小時,而取樣頻率也最小時,這個時候取樣點是最少的N=tp*fs=2f0/F

<原文end>

二、補充點小知識:

在介紹相關知識前,先補充幾個知識點,或者索性把他們記住以後直接用就好了。

1、時域對應頻域,離散對應週期,連續對應非週期,非週期對應連續,週期對應離散。所以有:

連續週期訊號的頻譜是非週期離散的;

連續非週期訊號的頻譜是非週期連續的;

離散非週期訊號的頻譜是週期連續的;

離散週期訊號的頻譜是週期離散的。

2、主瓣和旁瓣是什麼?

主瓣通常是指Sa(x)=sinx/x函式或與之有關函式影象中(例如頻譜)中從負到正的第一個完整的瓣,旁瓣是指後面比它低矮的瓣。

3、頻譜洩露是什麼?

擷取訊號中的一部分需要加窗函式,加窗函式相當於在時域相乘,在頻域卷積,頻譜中除了主瓣以外,還出現了不該有的旁瓣,這句是頻譜洩露。

說白了就是,頻譜中出現了不該有的頻率分量,比如50HZ的純正弦波,本來只有一種頻率分量,分析結果中卻出現了與50HZ相近的頻率分量。

再換一種方式解釋就是:分析結果與實際不一致。

避免頻譜洩露的方法:對於週期訊號進行整週期截斷。

減小頻譜洩露:頻譜洩露的原因在於傅立葉變換的輸入訊號不能準確的、完整的代表被分析的訊號,因此輸出就會產生誤差。減弱頻譜洩露的方法就是:加合適的窗函式或者延長時間窗。

從減小頻譜洩露的角度出發,合適的窗函式有哪些呢?

原則是:旁瓣儘可能小,主瓣的寬度儘可能窄。雖然在頻域壓低旁瓣的高度會伴隨著主瓣的寬度增加,但因為旁瓣的洩露是主要的,主瓣的洩露是次要的,所以我們儘量選的窗函式滿足主瓣衰減率大,主瓣寬度小,旁瓣高度小,最好沒有負的旁瓣,,另外窗的長度儘可能長。

1)漢寧窗:又叫升餘弦窗,相對於矩形窗來說,漢寧窗的旁瓣顯著減小,但是主瓣的寬度顯著增加,所以頻率解析度有下降。

2)海明窗:在減小旁瓣幅值方面比漢寧窗更好,主瓣的衰減率比漢寧窗快。缺點是旁瓣的衰減率不如漢寧窗。

三、怎麼理解“彬彬有禮”的那三句話呢?

1、“頻率解析度等於最小記錄長度的倒數,即tp=1/F”怎麼理解?

這裡所謂的訊號最小記錄長度tp就是時域取樣時間總長度,等於一個記錄長度中的取樣點數N*取樣週期T。

我個人覺得“彬彬有禮”在解釋這句話時說的“取樣的資料只有tp長,對於頻率小於F的訊號,它的週期將大於tp,也就是說取樣的資料根本就沒有采完頻率小於F的訊號的一個週期”有問題:為什麼頻率小於F的訊號週期會大於tp呢?

因為默認了tp=1/F這個結論, 就是說“彬彬有禮”在證明這句話的過程中又用到了這句話,這個是不對的吧,因為你要證明它那就不能把它當結論。

關於這句話,鄭君裡《訊號與系統 上》在P113給出了證明和圖,但是要從直觀上理解,我覺得不太好理解,大概意思:

因為離散傅立葉變換前和變換後得到的序列長度不變,時域有N個點,那在頻域的(0,fs)也有N個點(fs是取樣頻率),所以頻率解析度就是fs/N=1/NTs=1/tp。

另外可以結合“時域抽樣定理中,最低抽樣率fs=2fm,最大抽樣間隔Ts=1/2fm=1/fs”理解。

2、“fs>=2fm”怎麼理解?

我不太理解“彬彬有禮”說的“fs>f0的結果是每個週期中採兩個或以上的點”這句話:1)fs不是大於2f0嗎?這裡怎麼變成了大於f0了?  2)我不太懂為什麼fs>f0代表兩個週期取樣至少兩個點呢?或者是說f0最小為1,所以fs>f0的話就代表fs>1,就代表了最少要取兩個點了,如果這樣解釋通的話,那定理是大於等於兩倍最大值,而不是大於一倍最大值。

其實這個很好理解,因為在時域離散的話,在頻域肯定是週期的,所謂週期就是以fs的大小進行平移拓展,為了使平移後和平移前的波形不重疊,fs肯定要大於兩倍2fm。(原頻譜波形是對稱的)

3、“N>=2f0/F”怎麼理解?

這個問題“彬彬有禮”的直觀解釋我能理解。簡單說一下:

最低取樣頻率是2f0,作為分子它依然是最小值,另外F雖然代表的是頻率解析度,但是F的值越小,表示頻率解析度越大,1/F代表的是最小記錄長度,作為分子依然是最小,此時的F值最大,代表的頻率解析度最低,綜合起來看2f0/F就是下限。

由F=1/tp還需要知道的是:

連續訊號的訊號長度tp越長(時間解析度越低),頻率解析度越好,怎麼理解呢?不妨這樣想:
長度為T的一段訊號因為是連續的,比較難想象,我們不妨將它轉換為離散的,也就是說我們將它看成N個點的一段訊號。這段訊號的N越長,就意味著訊號對應到頻域上的點數越多,那fs/N自然是越小啦。

參考文獻:

1. Rex_wyx的博文:頻率解析度