【數字信號處理】--功率譜估計

什麼是功率譜估計?

譜估計在現代信號處理中是一個很重要的課題,功率譜反映了信號的功率在頻域隨頻率w的分佈,功率譜估計可以分爲經典譜估計方法與現代譜估計方法

簡單說功率譜估計法是通過利用已經獲得的N個數據點,來得到一個"非精確"的功率譜對真實隨機信號的功率譜進行估計。

任意一個週期信號f(t),其傅里葉變換得到的頻譜中將會包含一個直流分量,一個基頻成分w0,以及相應的諧波成分。將這些信號分量相加就可以得到原始的時間信號f(t)。

信號分爲確定信號和隨機信號,而確定信號又分爲能量信號和功率信號。根據狄裏赫利條件,能量信號可以直接進行傅里葉變換,得到頻譜的幅度再平方即爲能量譜(或稱能量譜密度)。而功率信號不行。

功率譜密度的求法:

如果你測到的信號是一個確定性信號,你就可以直接做FFT,然後平方,再除以你用的點數就得到其功率譜密度;如果你測到的信號是一個隨機信號,就需要先求自相關函數,然後對自相關求FFT得到其功率譜密度曲線

  • 確定信號是用FFT求頻譜,先FFT,再幅值平方/N
  • 隨機信號是用PSD、pwelch求功率譜,先求自相關,再FFT

功率譜估計方法的分類

經典譜估計法

經典譜估計中分爲直接法與間接法。最簡單的就是週期圖法

週期圖法-直接法

我們已知N個離散的數據點,對這些數據點進行傅里葉變換,得到式

t8q5Y4.png

再對式取模的平方,除以N,即得到一個"非精確"的譜,如式示,這就是週期圖法的原理。

t8q4kF.png

週期圖法的特點:週期圖法得到的功率譜隨着數據點數N的增大,分辨率變大、方差變也大。
taimK1.png

在matlab中,週期圖法可以川函數periodogram實現。

平均週期圖法-Bartlett法

  • 數據分段,減小方差
  • 數據窗口加窗-矩形窗
    將N個觀測樣本數據點分爲L段,每段數據長度爲M,分別對每段數據求週期圖功率譜估計,然後求平均值,這種方法稱平均週期圖法。平均週期圖法將原來的方差變爲原來的1/L,L爲分段數。

L=1時,平均週期圖法退化爲週期圖法。

特點:平均週期圖法得到的功率譜隨着分段數L變大,方差變小,但分辨率變小。

當觀測樣本序列數據個數N固定時,要降低方差需要增加分段數L。當N不大時分段長度M取值較小,則功率譜分辨率降低到較低的水平。若分段數L固定時,增加分辨率需要分段長度M,則需要採集到更長的檢測數據序列。實際中恰恰是檢測樣本序列長度不足。

在matlab中,平均週期圖法可以用函數psd、pwelch實現。

修正的平均週期圖法-Welch法

  • 數據分段並重疊
  • 數據窗口加不同的窗函數

對現有數據長度N,如果能獲得更多的段數分割,將會得到更小的方差。允許數據段間有重疊部分,來得到更多的段數。對段間重疊長度的選取,最簡單是取爲段長度M的一半。可知更多的段數可以進一步降低方差。

數據截斷的過程中相當於數據加矩形窗,矩形窗幅度較大的旁瓣會造成"頻譜泄漏"。關於“頻譜泄漏”如果有不明白,請看這篇文章。我們分段時採取的窗函數更爲多樣(三角窗,海明窗等), 以減小截斷數據(加矩形窗)窗函數帶來的影響。

矩形窗的分辨率最高,但是方差也最大,這是由於矩形窗頻譜主瓣最窄,分辨率因此最高,旁瓣也高,導致頻譜泄漏最嚴重,方差最大。

總結:週期圖法獲得的功率譜隨着樣本點數越多,分辨率越大、方差越大;平均週期圖法以犧牲分辨率來進一步改善方差;修正的平均週期圖法允許段的重疊來進一步增大分段數、或者分段數相同,每段樣本點數變多。無論是哪種方法都沒有徹底結局方差與分辨率之間的矛盾。

間接法–BT法–自相關法

維納辛欽定理指出,隨機信號的相關函數與它的功率譜是一對傅里葉變換對。BT法就是基於這個原理。先由觀測數據估計出自相關函數,然後求自相關函數的傅立葉變換,以此變換作爲對功率譜的估計,也稱爲間接法。BT法要求信號長度N以外的信號爲零,這也造成BT法的侷限性。

tUHgDs.png

通過逆變換求得自相關函數。

M隨着N的增大而增大時,分辨率提高,方差變大。BT法仍然沒有解決分辨率與方差之間的矛盾,但是BT法得到的功率譜當N爲無窮大時,方差會趨向於零,即爲一致估計


總結:可以看出,無論是週期圖法及其改進算法還是BT法都沒有從根本上解決分辨率與方差的矛盾。經典功率譜估計是利用傅里葉變換估計功率譜,而我們之前分析隨機信號不滿足傅里葉變換的條件,所以經典功率譜估計方法不得不從無限長數據點截取有限長數據點,加入限制條件(週期圖法實際上假定N點外數據週期重複、BT法假定N點外數據爲零)來"強制"作傅里葉變換,這也是造成它侷限性的原因

現代譜估計方法

現代譜的分辨率較高。這是由於在時域的開窗,使得在頻域發生“頻譜泄漏”,即功率譜的主瓣能量泄漏到旁瓣中,導致弱信號的主瓣被強信號的旁瓣所湮沒,造成譜的模糊。

現代譜估計主要針對經典譜估計分辨率低和方差性不好提出的,可以極大的提高估計的分辨率和平滑性。可以分爲參數模型譜估計和非參數模型譜估計

參數模型譜估計有AR模型,MA模型,ARMA模型等;非參數模型譜估計有最小方差法和MUSIC法等。由於涉及的問題太多,這裏不再詳述,可以參考有關資料。

在MATLAB中.主要有基於AR模型的功率譜估計pyulear函數、pburg函數、pcov函數、pmov函數和pmem函數R,,。在下面的仿真實驗中,發現pyulear函數的運算速度在它們當中最快,分辨力最好,故以pyulear函數爲例進行分析。

基於參數建模的功率譜估計

無論對於一個確定性信號還是隨機信號,其輸入、輸出關係總是如下:

AR模型-自迴歸模型

易於反映功率譜中的峯值。

建立AR模型的參數ak和x(n)的自相關函數的關係,即正則方程。

一個p階的AR模型等效於一個p階的線性預測器。根據已知的自相關函數rx(m),求解Yule-Walker方程得到模型的p+1個參數a(1)、、、a§和方差,實現功率譜的估計。

  • AR模型是在最小平方意義上對數據的擬合。
  • Burg提出最大熵譜估計
  • AR模型階次的選擇,根據模型的最小預測誤差功率進行選擇。
MA模型–移動平均模型

易於反映功率譜中的谷值。

ARMA模型–自迴歸-移動平均模型

易於反映功率譜中的峯值和谷值。

基於非參數建模的功率譜估計

該方法主要墓於矩陣特徵分解的功率譜估計,它將相關矩陣的特徵向量空間分解爲信號子空間和噪聲子空間.由此衍生出特徵向量與MUSIC
算法的信號功率i替估計。其中特徵向量譜估計與MUSIC算法譜估計都是基於噪聲子空間的功率譜估計。

在MATLAB中,有可以利用函數pmusic來實現MUSIC算法的功率譜估計;也有可以利用函數peig來實現特徵向量的功率諾估計

評價功率譜的標準

給出兩個影響最大的標準:分辨率和方差。

分辨率即功率譜上能夠區分的最小相鄰頻率成分,分辨率越高,我們觀察信號的頻率成分越清晰;方差大小則反映到功率譜波動性的大小,如果方差太大,功率譜波動性大,則很容易造成有用的頻率成分被噪聲淹沒。所以,我們希望得到的這個"非精確"的功率譜,分辨率越高越好,方差越小越好。

參考資料

  1. 經典功率譜估計及Matlab仿真 https://www.cnblogs.com/jacklu/p/5140913.html
  2. MATLAB中幾種功率譜估計函數的比較分析與選擇 https://wenku.baidu.com/view/08fb8cf627fff705cc1755270722192e44365851.html?rec_flag=default&sxts=1590983291605
  3. 隨機信號傅里葉變換和功率譜密度圖給出的信息有什麼不同 https://www.ilovematlab.cn/thread-291253-1-1.html
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章