功率譜估計是數字訊號處理中不可或缺的一部分,在M。 H。 Hayes的《statistical digital signal processing and modeling》一書中就有專門的一章來講述功率譜估計(第八章, spectrum estimation)。

簡單來說,隨機訊號x(n)的功率譜是其自相關函式的傅立葉變換,甚至很多人直接計算x(n)的傅立葉變換,並取其絕對值,當然這樣的計算是不對的。

首先,介紹一下x(n)的自相關函式:

\lim _{N \rightarrow \infty}\left\{\frac{1}{2 N+1} \sum_{n=-N}^{N} x(n+k) x^{*}(n)\right\}=r_{x}(k)

其功率譜密度為

r_x(k)

的傅立葉變換。

可以看到這裡需要計算

N\rightarrow\infty

,實際的訊號採集不可能無限長,僅能採集有限長度的序列對該隨機訊號的功率譜進行估計。

為了解決這個問題,一般採用週期圖法(periodogram),對隨機過程x(t)進行週期延拓,得到的結果很可能是這樣:

LPSD——一種更好用的譜估計算法

可以看到,這種方法在低頻的曲線較為平滑,在高頻處,線條明顯變粗,而且其在高頻和低頻的解析度是一樣的,即是使用快速傅立葉變化(FFT)加速其運算構成,所使用的時間也較長。

為了解決這兩個問題,有人提出了一種分段處理的想法,在低頻,透過降低取樣率的方法,計算其功率譜;在高頻,僅採用其中一段資料,即減小資料長度,節省時間。根據這種方法得到的功率譜密度有可能是這樣的:

LPSD——一種更好用的譜估計算法

在高頻處,線條的寬度得到明顯的改善,但是在兩個過程的銜接處,似乎不是太美觀。

因此,對這種演算法的思想進行進一步的最佳化,就是LPSD(Logarithmic power spectrum density)演算法,具體的演算法介紹可以參考文獻:

Tröbs, Michael, and Gerhard Heinzel。 “Improved spectrum estimation from digitized time series on a logarithmic frequency axis。”

Measurement

39。2 (2006): 120-129。

該演算法的結果如下:

LPSD——一種更好用的譜估計算法

從曲線中,能觀察到,其橫軸的分佈並不是均勻分佈的,而是對數分佈,因此在對數座標系中,該圖的點似乎是均勻分佈的。而且其頻率解析度在低頻處較小,而在高頻處逐漸增大,這和我們觀察功率譜的需求相吻合。

目前很多科技論文中所使用的功率譜估計正是用的這種演算法,例如LIGO專案,相信在未來會有更多的應用。

該演算法可在github中下載,地址為

https://

github。com/tobin/lpsd