賴(lài) 川
(西南電子技術(shù)研究所,四川 成都 610036)
現(xiàn)代戰(zhàn)爭(zhēng)中,接收機(jī)不但會(huì)受到外部環(huán)境干擾信號(hào)的影響,同時(shí)也會(huì)受到自身發(fā)射機(jī)信號(hào)的影響,導(dǎo)致接收信號(hào)變差,無(wú)法正常接收信號(hào),甚至導(dǎo)致通信中斷。消除這些噪聲的主要方法是使用濾波器濾波。濾波器可以較好的過(guò)濾干擾信號(hào),保證正常信號(hào)到達(dá)接收端,從而改善通信狀態(tài)。但是,一般的濾波器需要根據(jù)頻點(diǎn)范圍的變化而變化,即需要濾波的范圍越大,濾波器就需要做的足夠?qū)?,從而?dǎo)致設(shè)備成倍增加;同時(shí),濾波器的濾波范圍也有限,如果干擾信號(hào)頻點(diǎn)和接收信號(hào)頻點(diǎn)太近,濾波器基本就沒(méi)有效果了。有沒(méi)有一種濾波器能夠自適應(yīng)的根據(jù)接收頻點(diǎn)調(diào)整信號(hào),過(guò)濾非接收頻點(diǎn)的噪聲信號(hào)成為人們研究的重點(diǎn)。
自1960年Windrow和Hoff等人提出最小均方誤差(Least Mean Square,LMS)算法以來(lái),人們?cè)谧赃m應(yīng)濾波方面取得了豐碩的成果。LMS算法具有結(jié)構(gòu)簡(jiǎn)單,計(jì)算量小,穩(wěn)定性好,易于實(shí)現(xiàn)等優(yōu)點(diǎn),在自適應(yīng)濾波中得到的廣泛應(yīng)用。但是,LMS采用了固定步長(zhǎng)的收斂算法,導(dǎo)致前期干擾信號(hào)強(qiáng)時(shí),收斂效果明顯;后期信號(hào)變?nèi)?,步長(zhǎng)過(guò)大,導(dǎo)致收斂變慢的問(wèn)題也十分突出。于是,人們提出來(lái)各種有效的方法來(lái)修正定步長(zhǎng)帶來(lái)的收斂速度和穩(wěn)態(tài)誤差的問(wèn)題。文獻(xiàn)[1-2]提出了一種Sigmoid函數(shù)變步長(zhǎng)LMS算法,較好的提高了迭代后期收斂速度問(wèn)題。單是Sigmoid函數(shù)過(guò)于復(fù)雜。文獻(xiàn)[3]采用了類(lèi)似Sigmoid函數(shù)的變步長(zhǎng)算法,但是簡(jiǎn)化了Sigmoid函數(shù),增加了a,b兩個(gè)修改因子修改Sigmoid函數(shù),較好的改進(jìn)了Sigmoid函數(shù)算法在誤差接近零時(shí),收斂較差的問(wèn)題。但是a,b值選取不好的話(huà)效果會(huì)變得更差。文獻(xiàn)[4]針對(duì)該問(wèn)題提出了a,b可變方法,更好的改進(jìn)了Sigmoid函數(shù)提升了收斂速度和效果。文獻(xiàn)[5]提出了一種分段函數(shù)思想,在迭代初期,使用較大的步長(zhǎng),迭代后期使用較小的步長(zhǎng),依次解決收斂后期速度變慢的問(wèn)題。文獻(xiàn)[6-7]還提出了其他一些變步長(zhǎng)函數(shù)的方法,以此提高收斂速度和收斂效果。但是這些算法都沒(méi)有考慮真實(shí)信號(hào)對(duì)算法收斂性能的影響。
隨著理論的深入研究,人們逐漸將研究的中心從理論轉(zhuǎn)移到算法的實(shí)際硬件實(shí)現(xiàn)。文獻(xiàn)[8-13]都是講述了不同的變步長(zhǎng)LMS算法如何在DSP(Digital Signal Process)上實(shí)現(xiàn),并實(shí)際軟仿真測(cè)試了實(shí)現(xiàn)后的算法的噪聲抑制效果,均得到了較好的噪聲抑制和較快的收斂速度。隨著各種變步長(zhǎng)算法在DSP上的實(shí)現(xiàn)及其取得的抑制效果,人們又逐步開(kāi)始將基于DSP實(shí)現(xiàn)LMS算法應(yīng)用到具有實(shí)際背景的環(huán)境中,來(lái)抑制具體的干擾噪聲:文獻(xiàn)[14-15]都是利用DSP芯片實(shí)現(xiàn)了不同的變步長(zhǎng)LMS算法,并將它應(yīng)用在聲回波系統(tǒng)中,有效的抑制了回波噪聲,提高了話(huà)音的音質(zhì)。文獻(xiàn)[16]則利用DSP實(shí)現(xiàn)了一種變步長(zhǎng)算法,用他來(lái)解決立體聲回波對(duì)接收端的噪聲影響,取得了很好的效果。這些研究?jī)H僅是利用DSP芯片實(shí)現(xiàn)LMS算法,再模擬實(shí)際噪聲環(huán)境,進(jìn)行干擾抑制,分析了這種架構(gòu)的可行性,沒(méi)有進(jìn)行實(shí)際的工程設(shè)計(jì)及驗(yàn)證。文獻(xiàn)[17]提出了一種工程實(shí)現(xiàn)方案,但最后也僅僅是進(jìn)行的軟仿真,得到了噪聲抑制的可行結(jié)論。
本文設(shè)計(jì)一種根據(jù)采集的實(shí)時(shí)信號(hào)決定迭代步長(zhǎng)的算法,確保不同的信號(hào)采用不同的步長(zhǎng)進(jìn)行收斂迭代的方式,避免了單一變步長(zhǎng)方式中,所有信號(hào)均采用一種變步長(zhǎng)方式的方法。文章簡(jiǎn)單分析了硬件設(shè)計(jì)思路,重點(diǎn)關(guān)注算法的設(shè)計(jì)和DSP的實(shí)現(xiàn),并將實(shí)現(xiàn)的算法用于實(shí)際工程中進(jìn)行對(duì)消測(cè)試,取得了較好的效果。
對(duì)消原理如圖1所示。原始輸入信號(hào)中除了有用信號(hào)S外,還混入了不相關(guān)的噪聲信號(hào)N0。要使系統(tǒng)輸出獲得高質(zhì)量的有用信號(hào)S,就需要自適應(yīng)濾波器通過(guò)調(diào)整接收到噪聲參考信號(hào)N1,產(chǎn)生一個(gè)與N0信號(hào)幅度相等,相位相差180度的信號(hào)Y(理想情況)疊加到原始輸入中,使得系統(tǒng)輸出干凈的有用信號(hào)S(實(shí)際為S+N0-Y)。
圖1 對(duì)消原理圖
假設(shè)S和N0、N1不相關(guān),但是N0和N1是相關(guān)的,則有:
故當(dāng)輸出E的期望值最小時(shí),N0與Y的期望值也越小。此時(shí),Y信號(hào)就是N0的最優(yōu)期望值。為了實(shí)現(xiàn)這個(gè)目標(biāo),我們采用LMS算法。
基于最速下降法的固定步長(zhǎng)LMS算法的迭代公式如下:
其中:X(t)=[x(t),x(t-1),…,x(t-M+1)]T為時(shí)刻t的參考通道輸入信號(hào)矢量;W(t)=[W0(t),W1(t),W2(t),…, WM-1(t)]T為T(mén)(t)時(shí)刻自適應(yīng)濾波器的權(quán)系數(shù);M為濾波器階數(shù);d(t)為主通道輸入信號(hào);e(t)為誤差;μ為收斂步長(zhǎng),控制穩(wěn)定性和收斂速度。
如果迭代過(guò)程中,μ值始終保持不變,則表示該算法為定步長(zhǎng)算法,如果μ在迭代中會(huì)變化,則表示算法為變步長(zhǎng)算法。
數(shù)學(xué)上,一個(gè)向量的表示可以用直角坐標(biāo)系的兩個(gè)坐標(biāo)表示,也可以采用極坐標(biāo)系的幅度和相位兩個(gè)指標(biāo)表示。對(duì)于一個(gè)信號(hào)矢量,如果我們想知道這個(gè)信號(hào)的具體情況:要么采集它的幅度和相位值;要么對(duì)其進(jìn)行正交分解,得到X軸和Y軸的信號(hào)強(qiáng)度值。對(duì)于前者,我們采集幅度強(qiáng)度和相位值是比較困難的。因此,本文采用正交分解的思想,將輸入的信號(hào)進(jìn)行分解,采集信號(hào)在X軸和Y軸的信號(hào)強(qiáng)度值。
圖2 矢量正交分解圖
進(jìn)行信號(hào)分解后,自適應(yīng)濾波器只需要根據(jù)采集到的X、Y兩路的干擾信號(hào)強(qiáng)度,修正濾波器輸出的X、Y兩路的信號(hào)強(qiáng)度,達(dá)到抑制干擾信號(hào)的目的。因此,濾波器階數(shù)為M=2。同時(shí),硬件設(shè)計(jì)需要滿(mǎn)足對(duì)信號(hào)的正交分解及分解后的信號(hào)強(qiáng)度 檢測(cè)。
由于不同頻點(diǎn)的信號(hào)會(huì)有一定的差異,為了適應(yīng)不同信號(hào)的抑制,本文在做射頻抑制前,先采集信號(hào)樣本,作為迭代步長(zhǎng)的參考,具體方式如下:
設(shè)步長(zhǎng)μ為如下表達(dá)式:
其中,a為常量收斂因子,λ為與采樣值有關(guān)的變量。由于采用了正交分解,因此本文的濾波器階數(shù)為2,設(shè)矢量信號(hào)的正交分解向量為采用歸一化處理,則有:
故得到:
算法的實(shí)現(xiàn)需要進(jìn)行反復(fù)的迭代,以達(dá)到射頻抑制的效果,所以對(duì)運(yùn)算的速度要求很高,而數(shù)字信號(hào)處理器就具有運(yùn)算速度快、計(jì)算精度高、硬件配置強(qiáng)等特點(diǎn),非常適合用于算法的開(kāi)發(fā)和實(shí)現(xiàn)。我們采用TI公司生產(chǎn)的TMS320C6416芯片。該芯片具有最快1.39 ns指令周期時(shí)間,可以達(dá)到5760MIPS運(yùn)算速度,具有兩路乘法器,每個(gè)時(shí)鐘周期支持最大4路16*16bit的乘法運(yùn)算或者8路8*8 bit的乘法運(yùn)算。同時(shí),芯片自帶1M內(nèi)部RAM,滿(mǎn)足程序內(nèi)部取數(shù)要求,豐富的外圍接口,可以極大的減少外圍電路的開(kāi)發(fā)。
整個(gè)算法實(shí)現(xiàn)分為4大塊:
(1)初始化。包含芯片配置初始化,全局變量初始化。
(2)采集零漂值(即沒(méi)有任何信號(hào)輸入時(shí)采集到的信號(hào)強(qiáng)度),作為收斂基準(zhǔn)。
(3)采集信號(hào)樣本值。
(4)根據(jù)采集到的輸入信號(hào)值,進(jìn)行迭代計(jì)算,直到某次采集結(jié)果值和零漂值的誤差在設(shè)定的閾 值內(nèi)。
具體實(shí)現(xiàn)流程如下:
開(kāi)始;
(1)芯片初始化,全局變量初始化,其中a=0.1,Th=10。a表示常量收斂因子,Th表示收斂門(mén)限。
(2)獲取當(dāng)前狀態(tài)下設(shè)備內(nèi)部零漂值sx,sy。sx表示x軸零漂信號(hào)值,sy表示y軸零漂信號(hào)值。
(3)采集樣本信號(hào)值x0,y0;進(jìn)而得到λ1和λ2的值。
(4)采集對(duì)消后的信號(hào)強(qiáng)度值,如果|xnowsx|+|ynow-sy|≤Th.成立,則執(zhí)行下一步,否則繼續(xù)執(zhí)行當(dāng)前步驟。
(5)迭代結(jié)束。
具體流程如圖3所示。
采用圖4中所示測(cè)試環(huán)境進(jìn)行測(cè)試,其中:信號(hào)源輸出18 dBm的信號(hào),進(jìn)過(guò)10 dB功分器分成兩路信號(hào),一路信號(hào)直接輸入給對(duì)消設(shè)備的參考信號(hào)N1;另一路經(jīng)過(guò)20 dB衰減后作為干擾信號(hào)N0和正常信號(hào)S進(jìn)行合成后輸入到設(shè)備另一個(gè)輸入口。對(duì)消前后結(jié)果反映在頻譜分析儀上。選取了5個(gè)點(diǎn)進(jìn)行測(cè)試,涵蓋了包括高中低三段頻點(diǎn)值。單載波測(cè)試結(jié)果見(jiàn)表1;FM信號(hào)(頻偏1 kHz,調(diào)制信號(hào)頻率400 Hz)測(cè)試結(jié)果見(jiàn)表2;AM信號(hào)(調(diào)制度 5%,調(diào)制信號(hào)頻率400 Hz)測(cè)試結(jié)果見(jiàn)表3,通過(guò)表格統(tǒng)計(jì)結(jié)果可以發(fā)現(xiàn),基于DSP實(shí)現(xiàn)的LMS對(duì)消算法對(duì)三種波形均能實(shí)現(xiàn)了40 dBm以上的對(duì)消比;根據(jù)統(tǒng)計(jì)迭代次數(shù)及時(shí)間可以發(fā)現(xiàn),整個(gè)迭代次數(shù)最大不超過(guò)160次,時(shí)間不大于20 ms。
圖3 算法迭代流程
圖4 對(duì)消性能測(cè)試
表1 單載波測(cè)試結(jié)果
表2 2FM測(cè)試結(jié)果
表3 3AM測(cè)試結(jié)果
本文采用的基于采樣值決定當(dāng)前頻點(diǎn)迭代步長(zhǎng)方式的LMS算法,具有收斂速度快、抑制效果好的特點(diǎn)。實(shí)物測(cè)試結(jié)果表明:該變步長(zhǎng)LMS算法不僅僅適用于單載波的噪聲抑制,也適用于FM、AM信號(hào)的噪聲抑制,具有很好的工程應(yīng)用效果。下一步,將考慮實(shí)現(xiàn)實(shí)時(shí)變步長(zhǎng)算法,進(jìn)一步提高對(duì)消收斂的速度、進(jìn)一步降低對(duì)消時(shí)間的消耗。