齊惠娟,李 敏
(大連民族學(xué)院 信息與通信工程學(xué)院,遼寧 大連 116605)
現(xiàn)實中有很多具有隨機(jī)特性的信號,如受到干擾的無線電信號、心電圖信號、海洋重力儀的測量信號等[1]。隨機(jī)信號與一般的確定性信號有本質(zhì)上的不同,它不能通過一個確定的數(shù)學(xué)公式來描述,也不能準(zhǔn)確地預(yù)測,只能在統(tǒng)計意義上進(jìn)行研究。隨機(jī)信號的分析與處理是當(dāng)今高新技術(shù)的基礎(chǔ),是推動眾多學(xué)科發(fā)展的一個重要基石,這些學(xué)科諸如:雷達(dá)、聲納、通信、圖像處理、語音處理、地震信號處理、地質(zhì)信息處理、生物醫(yī)學(xué)工程以及經(jīng)濟(jì)學(xué)等等[2]。
計算機(jī)技術(shù)的迅速發(fā)展,使得隨機(jī)信號分析與處理的定量計算及其實時處理成為可能,極大地激發(fā)人們探索和研究現(xiàn)代隨機(jī)信號分析與處理的理論和方法[3]。MATLAB是當(dāng)今科研領(lǐng)域最常用的應(yīng)用軟件之一,它具有強(qiáng)大的矩陣計算、符號運算和數(shù)據(jù)可視化功能,是一種簡單易用、可擴(kuò)展的系統(tǒng)開發(fā)環(huán)境和平臺。MATLAB的信息處理工具箱覆蓋了經(jīng)典信號處理理論的大多數(shù)內(nèi)容,是一個非常優(yōu)秀的算法研究和輔助設(shè)計工具。它不僅提供大量的工具函數(shù),而且還提供交互式的濾波器分析、設(shè)計工具和譜分析工具。
以MATLAB GUI為編程語言,設(shè)計一個人機(jī)交互的系統(tǒng),實現(xiàn)隨機(jī)信號的分析與處理。該系統(tǒng)通過對隨機(jī)信號進(jìn)行相關(guān)性分析和功率譜密度分析,設(shè)計FIR數(shù)字濾波器,實現(xiàn)在含噪聲的信號中提取有用信號,對信號實施去噪處理。
隨機(jī)信號和確定性信號不一樣,它們既不是能量有限信號,也不是周期信號,因此,不能用確定性時間函數(shù)來對它們進(jìn)行描述,只能用它們的各種統(tǒng)計特征量來描述。在隨機(jī)信號的各種統(tǒng)計特征量中,自相關(guān)函數(shù)和功率譜密度是最重要的兩個特征量[4]。
相關(guān)函數(shù)是最為常用的描述平穩(wěn)隨機(jī)信號統(tǒng)計特性的二階統(tǒng)計量之一,可用來描述隨機(jī)信號不同時刻間的相關(guān)程度。對于各態(tài)歷經(jīng)的廣義平穩(wěn)隨機(jī)序列x(n),其自相關(guān)函數(shù)rx(m)的有偏估計和無偏估計表達(dá)式分別?。?/p>
功率譜估計是利用已觀測到的一定數(shù)量樣本數(shù)據(jù)估計一個平穩(wěn)隨機(jī)信號的功率譜密度,因其能夠分析信號的能量隨頻率變化的分布特性,在許多實際應(yīng)用中功率譜分析與估計已變得越來越重要[5]。功率譜密度P(ω)定義為:
從式(3)中可以看出,隨機(jī)信號的自相關(guān)函數(shù)與功率譜密度是一對傅里葉變換對,二者分別從時域和頻域反映了隨機(jī)信號的二階統(tǒng)計特性。功率譜估計的方法有很多種,大體上可以分為非參數(shù)方法、參數(shù)方法和子空間方法等3大類。其中非參數(shù)方法是直接基于觀測信號本身進(jìn)行功率譜估計的一類方法,包括周期圖法和Welch方法等。文本對隨機(jī)信號的功率譜估計采用非參數(shù)的Welch方法,這是一種最為廣泛的經(jīng)典功率譜估計方法。
MATLAB信號處理工具箱提供了用于對隨機(jī)信號進(jìn)行分析的函數(shù)。函數(shù)xcorr用于自相關(guān)函數(shù)的估計,函數(shù)pwelch采用Welch方法實現(xiàn)隨機(jī)信號的功率譜密度估計。
幾乎在所有的工程技術(shù)領(lǐng)域中都會涉及到信號處理問題,數(shù)字信號處理的主要對象是數(shù)字信號,就是采用數(shù)值計算的方法完成對數(shù)字信號的處理。數(shù)字濾波器是數(shù)字信號處理的重要手段。所謂數(shù)字濾波器是指輸入和輸出均為數(shù)字信號,通過一定運算關(guān)系改變輸入信號所含頻率成分的相對比例或者濾除某些頻率成分的器件。數(shù)字濾波器從功能上可以分為低通、高通、帶通和帶阻等,從實現(xiàn)的網(wǎng)絡(luò)結(jié)構(gòu)或者從單位脈沖響應(yīng)分類,可以分為無限脈沖響應(yīng)(IIR)濾波器和有限脈沖響應(yīng)(FIR)濾波器。
IIR數(shù)字濾波器的系統(tǒng)函數(shù)可以表示為:
FIR數(shù)字濾波器的單位沖激響應(yīng)是h(n)有限長度的,相應(yīng)的系統(tǒng)函數(shù)表達(dá)式可以寫做:
將FIR和IIR濾波器的系統(tǒng)函數(shù)表達(dá)式進(jìn)行對比,可以確定FIR數(shù)字濾波器具有精確的線性相位,設(shè)計方法通常是線性的,并且FIR數(shù)字濾波器總是穩(wěn)定的。FIR數(shù)字濾波器的設(shè)計方法主要包括窗函數(shù)設(shè)計法、頻率采樣設(shè)計法和最優(yōu)化設(shè)計法等。窗函數(shù)法是一種非常重要的FIR數(shù)字濾波器設(shè)計方法,它將一無限長度的期望單位沖激響應(yīng)函數(shù)截取為有限長的一段序列,之后采用某種窗函數(shù)進(jìn)行加權(quán)處理,作為FIR數(shù)字濾波器的單位沖激響應(yīng)h(n)。本系統(tǒng)采用窗函數(shù)法設(shè)計FIR數(shù)字濾波器,完成對隨機(jī)信號的去噪處理。
該系統(tǒng)以聲音信號為例,整體界面由原聲音分析、噪聲信號分析、含噪信號分析、去噪信號分析及FIR數(shù)字濾波器設(shè)計等5個功能模塊構(gòu)成。該系統(tǒng)可以顯示各個信號的時域、頻域及相關(guān)函數(shù)的波形,可播放出各種信號的聲音,實現(xiàn)在聲音和波形兩種方式上檢驗對信號的去噪效果。數(shù)字濾波器設(shè)計模塊可人為設(shè)置各種濾波器參數(shù),顯示所設(shè)計的濾波器的頻響特性曲線。
原聲音分析模塊和噪聲信號分析模塊均可載入和播放聲音信號、顯示選定聲音信號的自相關(guān)函數(shù)和功率譜密度的圖形。通過彈起式菜單(Pop-up Menu)載入聲音信號,為方便實驗,本系統(tǒng)載入MATLAB工具箱中的4種聲音信號chirp.mat(鳥叫聲)、laughter.mat(笑聲)、gong.mat(鑼聲)和 train.mat(汽笛聲)”[6]作為備選信號和噪聲。當(dāng)選擇任一聲音信號時,就會同時顯示該信號的時域波形。采用觸控按鈕(Push Button)以8 192 Hz的默認(rèn)采樣值播放所選聲音信號的聲音,采用單選按鈕(Radio Button)確定顯示自相關(guān)函數(shù)波形或功率譜密度波形。模塊原型如圖1所示。
圖1 原聲音分析模塊和噪聲信號分析模塊界面設(shè)計Fig.1 Block interfaces of original sound analysis and noise signal analysis
含噪信號分析模塊和去噪信號分析模塊均可顯示含噪(去噪)信號的時域波形、自相關(guān)函數(shù)和功率譜密度的曲線,還可播放含噪(去噪)信號的聲音。信號波形顯示及聲音播放采用觸控按鈕(Push Button),模塊原型如圖2所示。含噪信號是由原聲音分析模塊和噪聲信號分析模塊所產(chǎn)生的信號疊加而成,去噪信號是將含噪信號通過FIR數(shù)字濾波器模塊之后的輸出信號。
圖2 含噪信號分析模塊和去噪信號分析模塊界面設(shè)計Fig.2 Block interfaces of noised signal analysis and denoised signal analysis
該模塊采用布萊克曼窗,通過窗函數(shù)法設(shè)計FIR數(shù)字濾波器,該模塊由濾波器頻響特性曲線、濾波器類型選擇和濾波器參數(shù)設(shè)置3部分組成,如圖3所示。
圖3 FIR數(shù)字濾波器模塊界面設(shè)計Fig.3 FIR digital filter block interface analysis
濾波器類型包括高通、低通、帶通和帶阻4種,通過彈起式菜單(Pop-up Menu)選擇;濾波器參數(shù)設(shè)置包括濾波器的階數(shù)、截止頻率及通帶阻帶衰減等,通過可編輯文本(Edit Text)進(jìn)行輸入。當(dāng)選擇了低通濾波器時,系統(tǒng)會彈出提示警告信息“低通濾波器設(shè)計不需要輸入高通頻和低阻頻”;當(dāng)選擇高通濾波器時,系統(tǒng)會彈出提示警告信息“高通濾波器設(shè)計不需要輸入高阻頻和低通頻且N值應(yīng)為偶數(shù)”。頻響特性曲線的顯示通過觸控按鈕(Push Button)實現(xiàn)。該模塊的功能是通過原聲音分析模塊和噪聲信號分析模塊中顯示的原信號與噪聲信號的功率譜密度曲線,選擇合適的FIR數(shù)字濾波器類型及濾波器各參數(shù)的設(shè)置,并顯示所設(shè)計的濾波器的頻響特性曲線,從而完成從含噪信號中濾除噪聲的作用。
選擇鳥叫聲為原聲音信號、汽笛聲為噪聲信號,分別觀測其時域和頻域波形,確定各自的功率譜特性,并播放各信號的聲音。將兩信號疊加構(gòu)成含噪信號,觀察含噪信號的頻域波形并播放其聲音,以驗證汽笛聲對鳥叫聲的干擾。根據(jù)原聲音信號和噪聲信號的功率譜特性設(shè)計FIR數(shù)字濾波器,確定濾波器類型和相關(guān)的參數(shù)設(shè)置,顯示濾波器的頻響特性曲線,實現(xiàn)把汽笛聲從鳥叫聲中濾除出去的作用。在去噪信號分析模塊中,觀察去噪信號的時域和頻域波形并播放去噪信號聲音,與鳥叫聲的時域和頻域波形相對比,再進(jìn)一步比較兩者的聲音以驗證所設(shè)計的濾波器對含噪信號的濾波作用。
圖4顯示了各信號的頻域波形,從中可以看出,有用信號功率譜能量集中在頻率的高端,而噪聲信號的功率譜能量集中在頻率的低端,因此應(yīng)設(shè)計一高通濾波器濾除噪聲的大部分能量,提取出有用的信號。根據(jù)兩信號的功率譜密度波形確定FIR數(shù)字濾波器的歸一化低阻頻參數(shù)為0.55、高通頻為0.65,通過多次選擇濾波器階數(shù)N觀察其幅頻特性曲線,確定最佳幅頻特性曲線的N值,本實驗中選擇N值為60。
圖4 實驗結(jié)果的頻域波形Fig.4 Frequency domain waveforms of the experiment result
圖4中的4個功率譜密度曲線,充分說明了該系統(tǒng)濾波前對隨機(jī)信號的分析、設(shè)計FIR數(shù)字濾波器以及濾波器后對隨機(jī)信號的處理過程。圖5顯示了各信號的時域波形,通過對比濾波前后各信號的時域波形,可以看出,所設(shè)計的FIR數(shù)字高通濾波器較好地濾除了噪聲信號的頻率成分,保留了有用信號的主要頻率分量,去噪信號的波形與原有用信號的波形基本保持一致。
圖5 實驗結(jié)果的時域波形Fig.5 Time domain waveforms of the experiment result
系統(tǒng)中還設(shè)有4個聲音播放按鈕,分別用來播放有用信號、噪聲信號、含噪信號以及去噪信號的聲音,以便通過人的耳朵來驗證該系統(tǒng)對隨機(jī)信號的分析和處理效果。在該實驗結(jié)果中,含噪信號的聲音是鳥叫聲與汽笛聲的混合,而去噪信號的聲音就只是清晰的鳥叫聲,又一次證明了該系統(tǒng)實現(xiàn)了各項功能和性能,達(dá)到了設(shè)計要求。
以MATLAB GUI為軟件開發(fā)平臺,設(shè)計開發(fā)了隨機(jī)信號的分析與處理系統(tǒng)。該系統(tǒng)以隨機(jī)信號分析的基本理論和方法為基礎(chǔ),通過對隨機(jī)信號進(jìn)行相關(guān)性分析和功率譜密度分析,掌握有用信號和噪聲信號的頻譜特征,設(shè)計FIR數(shù)字濾波器濾除噪聲信號,提取有用信號,完成對隨機(jī)信號的有效去噪處理[7]。該系統(tǒng)界面設(shè)計美觀大方,功能設(shè)計簡捷方便,并易于進(jìn)一步擴(kuò)展。
該系統(tǒng)采用MATLAB GUI軟件開發(fā)環(huán)境,可以充分利用MATLAB的信息處理工具箱,不必深入掌握面向?qū)ο蟮木幊陶Z言,減少運算量與編程難度,而且設(shè)計出來的界面完全可與Visual C++編寫的界面媲美。
為方便實驗,只是從MATLAB軟件自帶的聲音信號入手,在實際運用中,可將各模塊功能增強(qiáng)。比如可借助計算機(jī)上的聲卡采集含有噪聲的隨機(jī)信號,直接對采集的聲音信號進(jìn)行分析和處理。另外,用窗函數(shù)法設(shè)計FIR數(shù)字濾波器時,MATLAB信息處理工具箱中提供了16種窗函數(shù),而本系統(tǒng)只采用布萊克曼一種窗函數(shù)進(jìn)行設(shè)計。由于所采用的窗函數(shù)類型和截取長度都直接影響所設(shè)計的濾波器性能,因此,在后續(xù)系統(tǒng)的改進(jìn)中,還可在FIR數(shù)字濾波器模塊增加不同窗函數(shù)的選擇項,使得濾波器設(shè)計功能更加完善。
[1]伯曉晨,李濤,劉路,等.MATLAB工具箱應(yīng)用指南——信息工程篇[M].北京:電子工業(yè)出版社,2000.
[2]沈民奮,孫麗莎.現(xiàn)代隨機(jī)信號與系統(tǒng)分析[M].北京:科學(xué)出版社,1998.
[3]李敏,張維維,姜明新,等.基于MATLAB的音樂分析與合成實驗設(shè)計[J].大連民族學(xué)院學(xué)報,2010,12(3):269-271.LIMin, ZHANG Wei-wei, JIANG Ming-xin, etal.MATLAB-based music analysis and synthesis experiment design[J].Journal of Dalian Nationalities University, 2010,12 (3):269-271.
[4]李敏,陳興文.信號分析與處理的軟硬件實現(xiàn)[M].大連:大連海事大學(xué)出版社,2009.
[5]朱習(xí)軍,隋思漣,張賓,等.MATLAB在信號與圖像處理中的應(yīng)用[M].北京:電子工業(yè)出版社,2009.
[6]王嘉梅.基于MATLAB的數(shù)字信號處理與實踐開發(fā)[M].西安:西安電子科技大學(xué)出版社,2007.
[7]王坤.基于SVPWM的STATCOM設(shè)計及實現(xiàn)[J].陜西電力,2011,39(1):11-15.WANG Kun.SVPWM based design and realization of STATCOM[J].Shaanxi Electric Power,2011,39(1):11-15.