呂 明,馮明軍
(楚雄師范學院物理與電子科學學院,云南 楚雄 675000)
數字信號處理是采用微型計算機或其他通用信號處理設備,用數據的數值計算方法對相關信號進行濾波、變換、增強、壓縮、識別、估計等處理,以實現提取有用信號便于應用的目的。[1]目前數字信號處理技術大量應用于電子信息、通信、遙感、生物醫(yī)學工程、雷達等諸多領域。數字信號處理相關的課程也成為電子類、通訊類等專業(yè)的必修課程。數字信號處理的實踐性和理論性都較強,概念抽象、內容多、枯燥、設計復雜、不易理解掌握,應用者應具有一定的計算機編程能力和扎實的數學基礎。
MATLAB[2]是美國Mathworks公司于1984年推出的一套高性能、高效率的科學計算軟件,它綜合了矩陣運算、數值分析、圖形顯示和信號處理功能,具有實用性強、使用方便、編程效率高等優(yōu)點。更重要的是MATLAB除主要功能外,還包括諸多功能各異的工具箱 (Toolbox)。這些工具箱可以解決眾多領域的特定問題,如控制系統(tǒng)、通訊、信號處理、神經網絡、圖像處理等。MATLAB信號處理工具箱 (signal processing toolbox)包括了諸多權威專家編寫的信號處理領域的函數,這些用于信號處理的函數可以直接調用,使編程變得游刃有余。使用者在理解掌握數字信號處理的基本理論、基本概念與基本分析處理方式的基礎上,運用MATLAB科學計算軟件進行信號分析與處理,能夠更好的解決實際問題。
自適應濾波處理[3]就是在利用最優(yōu)濾波器基礎上,將受到干擾和污染的噪聲信號中的原始信號檢測、估計或恢復出來。本文將結合具體例子說明MATLAB在自適應濾波中的應用。
自適應最優(yōu)濾波器的一種典型變形是自適應噪聲抵消 (ANC)系統(tǒng),[4]它是美國斯坦福大學于1965年研制成功的。自適應噪聲抵消系統(tǒng)的工作原理是將參考信號與被噪聲污染的信號進行抵消綜合運算,進而消除或較大幅度地衰減信號中的噪聲。它的核心問題是待消除的噪聲一定要與自適應噪聲抵消系統(tǒng)的參考信號具有一定的相關性,而要檢測或提取的信號與參考信號不相關。通常情況下,將接收信號的噪聲直接減去的做法是不可取的,因為那樣做極有可能削弱了有用信號,而沒有消除噪聲信號。然而,自適應噪聲抵消系統(tǒng)通過恰當地調整和控制,可以高效地將噪聲信號消除,恢復出原始信號。
自適應噪聲對消的處理對象為噪聲干擾,然后將其進行較大程度的衰減或抑制,以提高接收的信噪比和信號傳遞的效率,因此自適應噪聲對消技術有著極其廣泛的應用空間。
自適應濾波器主要有以下幾種應用:
(1)系統(tǒng)建模。其中估計未知系統(tǒng)的特性選用自適應濾波器作為模型。
(2)自適應天線系統(tǒng)。其中波束方向的控制由自適應濾波器完成,為消除信號的干擾,需要在其波束方向圖中插入一個零點。
(3)數字通信接收機。其中碼間串擾的均衡器和信道識別由自適應濾波器來完成。
(4)自適應噪聲對消器。其中估計并消除期望信號中的噪聲由自適應濾波器來完成。
在MATLAB中信號的產生[5]通常采用以下3種方法:
1)為產生所需信號,可以利用MATLAB函數square(方波)、sawtooth(鋸齒波)、diric(Dirichlet函數)、sinc(sinc函數)。
2)通過idinput生成所需的隨機二進制信號和偽隨機二進制信號、隨機高斯信號等。其中考察時間應與信號周期對應,以此保證持續(xù)激勵。
3)通過編寫MATLAB程序產生所需波形信號。本文采用的就是該方法。
已知一個經過高斯噪聲信道干擾的余弦信號,分析并設計一個2階加權的自適應噪聲對消器對其進行濾波,并輸出期望的余弦信號。
MATLAB代碼如下:
運行該MATLAB程序,效果如圖1所示。圖1(a)為帶噪聲余弦信號,圖1(b)為噪聲信號,圖1(c)為自適應噪聲對消器。從圖1(a)中可以看出,高斯噪聲信號由噪聲源產生,余弦信號由信號源產生,兩種信號疊加之后進入噪聲對消器的通道。輸入自適應濾波器的是噪聲信號,線性組合器的權系數是根據LMS算法進行自適應的修正,以此對消參考通道與主通道內的噪聲信號,最后輸出的信號就是期望余弦信號,如圖1(c)所示。
圖1 自適應噪聲對消效果圖
自適應濾波可應用于系統(tǒng)辨識。已知一個FIR濾波器的自適應信號,不斷修正其系統(tǒng)函數,使其與未知系統(tǒng)的參數充分逼近,從而使誤差最小,達到系統(tǒng)辨識的目的,程序如下:
圖2 系統(tǒng)信號處理頻譜
運行該MATLAB程序,效果如圖2所示。從圖2可知,自適應濾波器FIR能很好地模擬未知系統(tǒng),它們與原始信號處理后的效果十分接近。
另外,還可利用自適應濾波從白噪聲中提取周期信號。例如,選取正弦信號s=sin(2*pi*t/10)為周期信號,寬帶噪聲信號為高斯白噪聲,設置參考通道延遲為50,設計自適應信號分離器。代碼如下:
%自適應信號分離器
圖3 分離周期信號與寬帶信號
運行該MATLAB程序,效果如圖3所示,從圖3可知,在無線通信中,通信信號往往被其他信號干擾。為保障正常通信和提高通信性能,需要抑制寬帶信號中的窄帶干擾,即設計消除窄帶干擾的濾波器。
本文針對自適應濾波,利用MATLAB強大的科學計算和圖形處理功能以及高效的可編程性,進行噪音和干擾信號的消除,得到有用信號。同時還討論了自適應濾波在系統(tǒng)辨識和信號提取中的應用。相關程序運行的結果證明該方法是高效、可靠的。
[1]程佩青.數字信號處理教程 [M].北京:清華大學出版社,2003.
[2]姚俊,馬松輝.Simulink建模與仿真 [M].西安電子科技大學出版社,2003.
[3]耿妍,張瑞金.自適應濾波算法綜述 [J].信息與電子工程,2008.8(6):315—319.
[4]張德豐.MATLAB程序設計與工程應用 [M].清華大學出版社,2011.
[5]王江濤.MATLAB在自適應控制中的應用 [J].電工技術與自動化,2003.8, (4):51—53.