LPSD——一種更好用的譜估計算法
功率譜估計是數字訊號處理中不可或缺的一部分,在M。 H。 Hayes的《statistical digital signal processing and modeling》一書中就有專門的一章來講述功率譜估計(第八章, spectrum estimation)。
簡單來說,隨機訊號x(n)的功率譜是其自相關函式的傅立葉變換,甚至很多人直接計算x(n)的傅立葉變換,並取其絕對值,當然這樣的計算是不對的。
首先,介紹一下x(n)的自相關函式:
其功率譜密度為
的傅立葉變換。
可以看到這裡需要計算
,實際的訊號採集不可能無限長,僅能採集有限長度的序列對該隨機訊號的功率譜進行估計。
為了解決這個問題,一般採用週期圖法(periodogram),對隨機過程x(t)進行週期延拓,得到的結果很可能是這樣:
可以看到,這種方法在低頻的曲線較為平滑,在高頻處,線條明顯變粗,而且其在高頻和低頻的解析度是一樣的,即是使用快速傅立葉變化(FFT)加速其運算構成,所使用的時間也較長。
為了解決這兩個問題,有人提出了一種分段處理的想法,在低頻,透過降低取樣率的方法,計算其功率譜;在高頻,僅採用其中一段資料,即減小資料長度,節省時間。根據這種方法得到的功率譜密度有可能是這樣的:
在高頻處,線條的寬度得到明顯的改善,但是在兩個過程的銜接處,似乎不是太美觀。
因此,對這種演算法的思想進行進一步的最佳化,就是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。
該演算法的結果如下:
從曲線中,能觀察到,其橫軸的分佈並不是均勻分佈的,而是對數分佈,因此在對數座標系中,該圖的點似乎是均勻分佈的。而且其頻率解析度在低頻處較小,而在高頻處逐漸增大,這和我們觀察功率譜的需求相吻合。
目前很多科技論文中所使用的功率譜估計正是用的這種演算法,例如LIGO專案,相信在未來會有更多的應用。
該演算法可在github中下載,地址為
https://
github。com/tobin/lpsd
。