傅仁壯, 李善姬
(延邊大學(xué)工學(xué)院,吉林延吉 133002)
自適應(yīng)濾波是在維納濾波等線性濾波基礎(chǔ)上發(fā)展起來(lái)的一種最佳濾波方法[1]。這種濾波器是根據(jù)前一時(shí)刻已知的濾波器參數(shù),自動(dòng)地調(diào)節(jié)下一時(shí)刻的參數(shù),使得誤差信號(hào)達(dá)到最小值,最終實(shí)現(xiàn)最優(yōu)濾波。由于自適應(yīng)濾波器適合時(shí)變信號(hào)的處理[2],因而自適應(yīng)濾波技術(shù)在通信領(lǐng)域中應(yīng)用相當(dāng)廣泛。尤其是在系統(tǒng)識(shí)別等多個(gè)領(lǐng)域得到更廣泛的應(yīng)用。系統(tǒng)識(shí)別就是應(yīng)用自適應(yīng)濾波器模擬一個(gè)處理過(guò)程的方法。在很多應(yīng)用場(chǎng)合,采集數(shù)據(jù)的同時(shí)要對(duì)模型進(jìn)行識(shí)別,每當(dāng)提供一個(gè)新的數(shù)據(jù),就會(huì)馬上更新模型,更新的過(guò)程就是靠自適應(yīng)算法來(lái)完成的。
本文利用一個(gè)FIR濾波器作為待識(shí)別的未知系統(tǒng),再應(yīng)用DSPTMS320VC5509A芯片實(shí)現(xiàn)自適應(yīng)系統(tǒng)識(shí)別,真正意義上達(dá)到信號(hào)處理的高精度和高效性。
自適應(yīng)濾波器由濾波器和自適應(yīng)算法2部分組成。其原理框圖如圖1所示。
圖1 自適應(yīng)濾波器原理框圖
圖1 中,u(n)為濾波器的輸入信號(hào),y(n)為輸入信號(hào)經(jīng)過(guò)數(shù)字濾波器產(chǎn)生的輸出信號(hào),d(n)為濾波器的期望信號(hào),通過(guò)d(n)與y(n)的比較可以得到濾波器的估計(jì)誤差信號(hào)e(n)。誤差信號(hào)e(n)和u(n)通過(guò)自適應(yīng)算法來(lái)調(diào)節(jié)濾波器的權(quán)值系數(shù),根據(jù)LMS或RLS等算法準(zhǔn)則判斷e(n)是否已經(jīng)達(dá)到極小值。若沒(méi)達(dá)到極小值則重復(fù)以上過(guò)程,調(diào)節(jié)濾波器的權(quán)值系數(shù),最終使信號(hào)誤差最小,即為最佳的濾波效果。
自適應(yīng)濾波器的結(jié)構(gòu)一般有FIR或IIR兩種[3],由于IIR濾波器穩(wěn)定性不如FIR濾波器,因此本文中的自適應(yīng)濾波器結(jié)構(gòu)采用了FIR橫向?yàn)V波器結(jié)構(gòu)。
其中T表示矩陣轉(zhuǎn)置運(yùn)算符,時(shí)間序列為n,用M表示濾波器的階數(shù)。
傳統(tǒng)LMS算法是基于最小均方誤差準(zhǔn)則(MMSE)的維納濾波器和最陡下降法提出的[4]。LMS算法基本思路是:假設(shè)已知期望信號(hào)d(n)和原始信號(hào)相關(guān),先對(duì)FIR數(shù)字濾波器的權(quán)值設(shè)定一組任意初始值;然后根據(jù)期望信號(hào)和濾波器的輸出值之間的誤差e(n)對(duì)權(quán)值進(jìn)行調(diào) 節(jié),使下一次的誤差e(n)減少;重復(fù)上述過(guò)程,直到誤差信號(hào)最小。
假設(shè)期望信號(hào)d(n)和輸入信號(hào)u(n)是聯(lián)合各態(tài)歷經(jīng)的平穩(wěn)過(guò)程,我們就可以利用有限觀測(cè)樣本值的時(shí)間平均逐漸逼近統(tǒng)計(jì)平均,即:
式(13)中maxλ是 自相關(guān)矩陣R的最大特征值。
自適應(yīng)識(shí)別主要由自適應(yīng)濾波器和未知系統(tǒng)構(gòu)成[5]。它是通過(guò)自適應(yīng)濾波器模擬一個(gè)處理過(guò)程的重要方法。如果在一個(gè)信號(hào)處理系統(tǒng)中,只知道系統(tǒng)的輸入和輸出,并不知道它的內(nèi)部具體結(jié)構(gòu),可以把整個(gè)系統(tǒng)結(jié)構(gòu)看成是一個(gè)“黑匣子”系統(tǒng)。自適應(yīng)系統(tǒng)識(shí)別的主要目的就是通過(guò)對(duì)系統(tǒng)輸入信號(hào)和輸出信號(hào)進(jìn)行分析和測(cè)試,求出系統(tǒng)函數(shù)或沖激響應(yīng)。自適應(yīng)系統(tǒng)識(shí)別原理框圖如圖2所示。
圖2 自適應(yīng)系統(tǒng)識(shí)別原理框圖
圖2 中,G(z)是需要識(shí)別的未知系統(tǒng),W(z)是FIR數(shù)字濾波器,用來(lái)模擬G(z)。白噪聲信號(hào)u(n)分別去激勵(lì)數(shù)字模型W(z)和未知系統(tǒng)G(z),會(huì)得到相應(yīng)的輸出信號(hào)y(n)和d(n),通過(guò)LMS算法調(diào)整數(shù)字模型W(z)從而減小y(n)和d(n)之間的誤差。不斷的調(diào)整濾波器系數(shù)直到誤差信號(hào)達(dá)到最小,即自適應(yīng)濾波器收斂。此時(shí),濾波器的系數(shù)就能完整地把未知系統(tǒng)描述出來(lái)。
為了提高自適應(yīng)系統(tǒng)識(shí)別的處理速度和精確度,采用TI 公司的TMS320VC5509A芯片實(shí)現(xiàn),該處理器采用程序與數(shù)據(jù)分開(kāi)的哈佛體系結(jié)構(gòu)[6-8],具有高度的并行性。
在實(shí)際工程應(yīng)用中需要識(shí)別的系統(tǒng)都是未知的,為了覆蓋未知系統(tǒng)的所有零點(diǎn)和極點(diǎn),輸入信號(hào)u(n)的頻譜應(yīng)該寬廣,一般情況采用線性調(diào)頻脈沖信號(hào)或者是白噪聲信號(hào)。在本次實(shí)驗(yàn)中,采用rand( )函數(shù)構(gòu)建一個(gè)零均值隨機(jī)噪聲發(fā)生器,用來(lái)產(chǎn)生自適應(yīng)濾波器和未知系統(tǒng)所需要的測(cè)試數(shù)據(jù)。rand( )函數(shù)能產(chǎn)生一個(gè)0到32 767的16位有符號(hào)整數(shù),再把得到的數(shù)值減去0x4000就可以得到一個(gè)從-16384到16383數(shù)值的零均值偽隨機(jī)序列。具體的C語(yǔ)言程序代碼如下:
# include <math.h>
# define unsigned int uint
# pragma CODE_SECTION (rhs,”sj_dm”);
void rhs (int *x , uint S)
{
uint i;
for (i =S; i>0;i++)
*x++ =rand( ) -0x4000;
}
自適應(yīng)系統(tǒng)識(shí)別的程序流程圖,如圖3所示。
圖3 自適應(yīng)系統(tǒng)識(shí)別程序流程圖
采用C語(yǔ)言編程后,把調(diào)試好的程序下載到TMS320VC5509A片內(nèi)存儲(chǔ)器,再在view菜單選項(xiàng)下設(shè)置相應(yīng)的參數(shù),用來(lái)顯示未知系統(tǒng)和識(shí)別系統(tǒng)的波形以及頻譜。通過(guò)對(duì)以下4圖對(duì)比可以知道,自適應(yīng)LMS算法收斂以后,自適應(yīng)系統(tǒng)識(shí)別模型和未知系統(tǒng)的頻域響應(yīng)和沖激響應(yīng)高度一致,未知系統(tǒng)的特征可以由自適應(yīng)系統(tǒng)識(shí)別模型精確地描述出來(lái),真正意義上實(shí)現(xiàn)了自適應(yīng)系統(tǒng)對(duì)未知系統(tǒng)的高精度識(shí)別。
圖4 未知系統(tǒng)傳遞函數(shù)時(shí)域波形
圖5 未知系統(tǒng)傳遞函數(shù)頻譜
圖6 自適應(yīng)系統(tǒng)識(shí)別未知系統(tǒng)的時(shí)域波形
圖7 自適應(yīng)系統(tǒng)識(shí)別未知系統(tǒng)的頻譜
在信號(hào)處理領(lǐng)域,自適應(yīng)系統(tǒng)識(shí)別的方法是非常重要的。本文在論述LMS算法的自適應(yīng)濾波器原理和自適應(yīng)系統(tǒng)識(shí)別原理的基礎(chǔ)上,采用rand( )函數(shù)構(gòu)造一個(gè)隨機(jī)白噪聲信號(hào)發(fā)生器, 使輸入信號(hào)u(n)具有寬廣頻譜,從而覆蓋未知系統(tǒng)的所有零點(diǎn)和極點(diǎn),并且用來(lái)產(chǎn)生自適應(yīng)濾波器和未知系統(tǒng)所需要的測(cè)試數(shù)據(jù)。最后利用TI公司的DSP TMS320VC5509A芯片實(shí)現(xiàn)了自適應(yīng)系統(tǒng)識(shí)別。通過(guò)實(shí)驗(yàn)可以得出,利用該方法對(duì)未知系統(tǒng)的識(shí)別可以真正意義上達(dá)到信號(hào)處理的高精度和高效性。
[1] 張婷瑞,李善姬,丁景龍.基于LabVIEW和MATLAB混合編程的自適應(yīng)濾波器設(shè)計(jì)[J].電子測(cè)試, 2009(1):40-43.
[2] 余榮.自適應(yīng)濾波器在噪聲消除中的應(yīng)用與研究[D].南昌:南昌航空大學(xué),2008:4-38.
[3] 王麗芳,陳益平.基于DSP的自適應(yīng)濾波器的實(shí)現(xiàn)[J].計(jì)算機(jī)仿真,2009,26(9):281-284.
[4] 王秀芳,劉凱,馬賽.基于改進(jìn)LMS算法的自適應(yīng)濾波器[J].大慶石油學(xué)院學(xué)報(bào),2009,33(6):94-97.
[5] 吳宵,葉水生,黃珍.基于自適應(yīng)濾波器的系統(tǒng)識(shí)別研究 與實(shí)現(xiàn)[J].微計(jì)算機(jī)信息,2007,23(2-1):275-277.
[6] 馮炳樞,羅飛,許玉各,等.基于LMS 算法自適應(yīng)濾波器信息采集系統(tǒng)設(shè)計(jì)[J].計(jì)算機(jī)工程,2009,35(3):266-272.
[7] Song W C,Lin F.DSP-based communication for monitoring and control in variable frequency drives [J].Power Systems and Communications for the future,2005(9):61-64.
[8] 陳書(shū)林,柳媛慧.P2P網(wǎng)絡(luò)中基于節(jié)點(diǎn)能力自適應(yīng)的搜索算法[J].湖南科技大學(xué)學(xué)報(bào):自然科學(xué)版,2009,24(2):61-65.