基于Matlab的信號平穩性檢驗系統
0引言
信號的平穩性檢驗在隨機信號處理中起著十分基礎的作用。由于平穩信號和非平穩信號的性質差別顯著,因此在處理信號之前先行判斷它的平穩性就顯得尤為重要。雖然信號平穩性的定義十分明確,但是實際判斷過程卻是復雜的,例如觀察尺度對信號平穩性判斷就有很大的影響。
這一領域的研究已經取得了一定的成果。一些人提出了受限和帶參數的非平穩性判定方法,而另一些人則將他們的平穩性判定建立在對原始數據的一些假設上。而對于更一般信號的平穩性檢驗的研究還沒有取得太多成果。文獻[2,3]中又提到了這一問題,并且提出了一種新的檢驗平穩性框架。這一框架混合了時頻透視法和有名的替代數據法。它的基本思想是引入“可控噪聲”,即替代數據。并且由于替代數據的一些特性,它可以作為平穩性的評判標準。本文參考了文獻[6]中的平穩性檢驗方法,設計了一個信號平穩性檢驗系統,并在Matlab的GUI開發環境下實現了圖形用戶界面的設計。實踐表明,本系統不但提供了友好的用戶界面,并且可以方便地完成信號的平穩性檢驗。
1平穩性檢驗原理
1.1平穩性定義及其檢驗的重要性
假設有一個高斯過程{xl(t))(- ∞
為任意確定t時刻的全體平均。同時:
被稱為自相關函數(ACF)。
對于一個弱平穩過程,它的μx(t)和r(t1,t2)都是時不變的或者說與時間無關的。因此有:
式中:τ=t1-t2被稱為時延。因此,對于平穩高斯過程{xl(t)},它的自相關函數或者它的功率譜密度函數(PSD)為:
足以確定它的性質。
另一方面,如果{xl(t))是非平穩的,它的μx(t)和r(t1,t2)就是時變的或者說和時間相關的。這樣它的PSD就應該放在時頻域分析。
由此可見,平穩性檢驗是任何信號處理前必不可少的一步,它決定了后續處理可以使用何種方法。
1.2替代數據
替代數據的概念最初是由Theiler和其合作作者提出的,這種技術是用來產生一種所謂的“替代數據”,這種替代數據是平穩的,同時保持了原數據的一些相關的統計特性。
Theiler在文獻[4]中提出了一種具體的產生替代數據的方法。由這種方法產生的替代數據是平穩的,同時保持了原數據的二階統計特性。具體地說,替代數據保持了原數據功率譜的幅度值不變。
根據Wiener-Khintchin理論,信號的功率譜等于其傅里葉變換的幅值平方。因此保持信號的功率譜幅度值不變,就是保持其傅里葉變換的幅度值不變。因此,假設原數據為x(t),它的傅里葉變換為
產生。其中,φf是在[-π,π]上均勻分布的隨機相位。這樣就保證了s(t)和x(t)有相同的傅里葉變換幅值。在下面的例子中也可以看到,這樣產生的s(t)也是平穩的。
1.3時頻分布
時頻分布主要用于分析非平穩隨機信號的功率譜。由于非平穩隨機信號的功率譜是時變的,因此在原來功率譜的基礎上再引入時間軸,成為時頻分布(TFD)。TFD可以顯示出信號的功率譜隨時間的變化情況。
具體來說,根據文獻[9]中的定義,信號x(t)的時頻分布Sx,K(t,f)可以表示為:
1.4平穩性檢驗
平穩性可以體現在頻譜隨時間的波動上。具體來說,對于平穩信號,其頻譜不隨時間變化;而對于非平穩信號,其頻譜會隨時間改變。因此,可以通過比較不同時間點上頻譜的相似程度來判斷信號的平穩性。
按照文獻[4]中的檢驗方法,定義不同時間點上的頻譜與頻譜平均值的距離cn(x)為:
2用戶界面生成
2.1Matlab中用戶界面的生成
Matlab為用戶設計圖形界面提供了一個高效、方便的集成環境。在Matlab中,基本的圖形對象主要包括坐標軸、控件、下拉菜單和內容菜單。用戶可以通過這些對象設計出界面友好,功能強大,操作簡單的圖形用戶界面。圖形用戶界面的生成主要分為以下幾個步驟:
(1)規劃所設計的圖形用戶界面,主要包括:確定需要哪些窗口,每個窗口怎樣布局,窗口中的各個對象各有什么功能,對象之間如何配合工作,以及相應的異常處理;
(2)在Matlab提示行下輸入GUIDE,載人用戶界面開發環境;
(3)利用Layout Editor,完成用戶面板以及界面的制作,并對相應的按鈕及控件屬性進行適當的設置;
(4)在Programme Editot中編輯各個對象的回調函數,實現各個對象韻具體功能;
(5)利用Mfile編譯器生成客戶端,完成隨機數據仿真系統的設計。
2.2用戶界面介紹
本文所實現的用戶界面主要包括兩個窗口,分別是主窗口和數據生成窗口。由于Matlab對保存繪圖區域有限制,因此設計時沒有在窗口中設置固定的繪圖區域。窗口只相當于一個命令菜單,所有的繪圖將會以獨立窗口的形式根據用戶需求動態產生。這樣便于用戶對比和保存圖片。下面對主要窗口分別加以介紹。
2.2.1主窗口介紹
主窗口如圖1所示。主窗口主要用于繪制原數據和替代數據的各種波形以及顯示平穩性檢驗結果。
評論