背景技術(shù):
:非線(xiàn)性Volterra濾波器相對(duì)傳統(tǒng)的線(xiàn)性wiener濾波器,具有線(xiàn)性和非線(xiàn)性雙重特性,所以使用Volterra濾波器能夠表達(dá)大多數(shù)的非線(xiàn)性系統(tǒng)和全部線(xiàn)性系統(tǒng),對(duì)信號(hào)中的脈沖噪聲的具有較好的濾波效果,已經(jīng)廣泛應(yīng)用于系統(tǒng)辨識(shí)、自適應(yīng)信道均衡、噪聲對(duì)消等方面。非線(xiàn)性濾波器中應(yīng)用最廣泛的是Volterra最小平均P范數(shù)(VLMP)算法,VLMP算法能有效濾除脈沖干擾。由于其計(jì)算簡(jiǎn)單,VLMP算法和其他與之相關(guān)的算法已經(jīng)廣泛應(yīng)用于非線(xiàn)性濾波的各種應(yīng)用中?,F(xiàn)有技術(shù)中的多數(shù)濾波算法,步長(zhǎng)因子的取值固定,導(dǎo)致每次迭代的權(quán)值的調(diào)整值固定,使得系統(tǒng)的穩(wěn)態(tài)誤差和收斂的速度不能同時(shí)達(dá)到最優(yōu)?,F(xiàn)已有研究承認(rèn)并使用變化的步長(zhǎng)優(yōu)化算法結(jié)構(gòu),能解決固定步長(zhǎng)算法存在的問(wèn)題,但是針對(duì)發(fā)動(dòng)機(jī)噪聲背景,多數(shù)濾波算法的濾波降噪效果不是很理想。綜上所述,一種能夠應(yīng)用在發(fā)動(dòng)機(jī)噪聲背景下并能獲得較小的穩(wěn)態(tài)誤差和較快的收斂速度的Volterra濾波算法是有待提供的。技術(shù)實(shí)現(xiàn)要素:本發(fā)明的目的是在于克服傳統(tǒng)VLMP算法存在的不足,提供了一種能夠應(yīng)用在發(fā)動(dòng)機(jī)噪聲背景下并能獲得較小的穩(wěn)態(tài)誤差又有較快的收斂速度的Volterra濾波算法。本發(fā)明實(shí)現(xiàn)上述目的的技術(shù)解決方案是:一種基于sigmoid函數(shù)的變步長(zhǎng)VLMP濾波算法及其應(yīng)用,包括以下步驟:(1)、二階Volterra濾波器原始輸入信號(hào)x(n)經(jīng)過(guò)一系列延遲線(xiàn)傳輸后,形成對(duì)應(yīng)不同的延遲的濾波器的一階輸入信號(hào)x(n),x(n-1)…x(n-N+1),不同的延遲信號(hào)分別相乘后,形成二階輸入信號(hào)x2(n)、x2(n-1)、…、x2(n-N+1)、x(n)x(n-1)、x(n)x(n-2)、…、x(n-N+2)x(n-N+1),即濾波器輸入信號(hào)矢量X(n);所述濾波器輸入信號(hào)矢量X(n)的表達(dá)式為:X(n)=[x(n),x(n-1),…,x(n-N+1),x2(n),x(n)x(n-1),…,x2(n-N+1)]T;式中,n為離散時(shí)間,N為正整數(shù)。(2)、將各輸入信號(hào)X(n)與其對(duì)應(yīng)的濾波器核向量H(n)的乘積相加,所述濾波器一階核向量為H1(n)=[h0(n),h1(n),h2(n),…,hN-1(n)]T,二階核向量為H2(n)=[h0,0(n),h1,1(n),…,hN-1,N-1(n),…,h0,1(n),…,hN-2,N-1(n)]T,系統(tǒng)的濾波器核向量為即該時(shí)刻的輸出信號(hào)y(n);輸出信號(hào)為:式中,n為離散時(shí)間。(3)、將期望信號(hào)d(n)與輸出信號(hào)y(n)做差得到誤差值e(n)=d(n)-y(n);(4)、根據(jù)誤差值e(n)和固定的參數(shù)值α,β,使用sigmoid函數(shù)計(jì)算該時(shí)刻線(xiàn)性項(xiàng)和二次項(xiàng)部分變步長(zhǎng)值μ1(n)和μ2(n);所述線(xiàn)性項(xiàng)權(quán)值和二次項(xiàng)權(quán)值均使用變化的步長(zhǎng)函數(shù)進(jìn)行同步的修正,線(xiàn)性項(xiàng)和二次項(xiàng)部分變步長(zhǎng)值μ1(n)和μ2(n)的sigmoid函數(shù)如下:μ1(n)=μ2(n)=β[1/(1+exp(-α|e(n)))-0.5];式中,α,β為固定的參數(shù)值,e(n)為誤差值。(5)、將所述誤差值e(n)絕對(duì)值的(p-1)階范數(shù)與誤差值的符號(hào)函數(shù)sgn(e(n))以及步長(zhǎng)值μ和輸入信號(hào)X(n)的乘積作為濾波器核向量H(n)的瞬時(shí)變化量;核向量瞬時(shí)變化量為:H(n+1)=H(n)+μ|e(n)|p-1sgn(e(n))X(n)。根據(jù)步驟(1)至步驟(5),將所述濾波算法構(gòu)成的非線(xiàn)性濾波器模型應(yīng)用于發(fā)動(dòng)機(jī)噪聲降噪。本發(fā)明與現(xiàn)有技術(shù)相比的有益效果在于:(1)、本發(fā)明所提供的變步長(zhǎng)VLMP算法,線(xiàn)性項(xiàng)和非線(xiàn)性項(xiàng)權(quán)值迭代均能夠采取變化的步長(zhǎng)因子,從而能夠獲得較小的穩(wěn)態(tài)誤差同時(shí)又具有較快的收斂速度;(2)、本發(fā)明的濾波算法可適用于發(fā)動(dòng)機(jī)噪聲降噪的應(yīng)用場(chǎng)合,用于提高發(fā)動(dòng)機(jī)噪聲的降噪能力。附圖說(shuō)明圖1是現(xiàn)有技術(shù)中二階Volterra自適應(yīng)濾波器結(jié)構(gòu)示意圖;圖2是本發(fā)明的流程圖;圖3是系統(tǒng)辨識(shí)原理框圖;圖4是高斯噪聲背景下算法的學(xué)習(xí)曲線(xiàn)對(duì)比圖;圖5是α穩(wěn)定分布噪聲背景下算法學(xué)習(xí)曲線(xiàn)對(duì)比圖;圖6是發(fā)動(dòng)機(jī)噪聲濾波降噪效果對(duì)比圖;具體實(shí)施方式下面結(jié)合附圖和實(shí)施例,對(duì)本發(fā)明的具體實(shí)施方式做進(jìn)一步描述。以下實(shí)施例僅用于說(shuō)明本發(fā)明,但不用來(lái)限制本發(fā)明的范圍。本實(shí)施例中提供了一種實(shí)現(xiàn)上述濾波器的二階Volterra自適應(yīng)濾波器,如圖1所示,下面對(duì)其結(jié)構(gòu)和具體過(guò)程分別加以說(shuō)明:其中,x(n)為原始輸入信號(hào),h(n)為Volterra濾波器線(xiàn)性部分權(quán)系數(shù),λ(n)為Volterra濾波器非線(xiàn)性部分的權(quán)系數(shù)矩陣的特征值,d(n)為期望信號(hào),y(n)為輸出信號(hào),e(n)為期望信號(hào)d(n)和輸出信號(hào)y(n)的誤差值,即e(n)=d(n)-y(n)。其具體的工作過(guò)程為:在某一時(shí)刻n,原始信號(hào)X(n)經(jīng)過(guò)一系列延遲線(xiàn)傳輸后,形成對(duì)應(yīng)不同的延遲的濾波器的一階輸入信號(hào)x(n),x(n-1)…x(n-N+1),一階輸入信號(hào)矢量為:X1(n)=[x(n),x(n-1),…,x(n-N+1)]T;不同的延遲信號(hào)分別相乘后,形成對(duì)應(yīng)不同的二階輸入信號(hào)為:x2(n)、x2(n-1)、…、x2(n-N+1)、x(n)x(n-1)、x(n)x(n-2)、…、x(n-N+2)x(n-N+1),二階輸入信號(hào)矢量為:X2(n)=[x2(n),x2(n-1),…,x2(n-N+1),x(n)x(n-1),x(n)x(n-2),…,x(n-N+2)x(n-N+1)]T即系統(tǒng)的輸入向量:X(n)=[x(n),x(n-1),…,x(n-N+1),x2(n),x(n)x(n-1),…,x2(n-N+1)]T;對(duì)應(yīng)的濾波器一階核向量為H1(n)=[h0(n),h1(n),h2(n),…,hN-1(n)]T,二階核向量為H2(n)=[h0,0(n),h1,1(n),…,hN-1,N-1(n),…,h0,1(n),…,hN-2,N-1(n)]T,即系統(tǒng)的濾波器核向量為一階輸入信號(hào)和二階輸入信號(hào)分別和對(duì)應(yīng)的濾波器權(quán)系數(shù)相乘,得到n時(shí)刻的輸出信號(hào)y(n),即:誤差信號(hào)e(n)由e(n)=d(n)-y(n)獲得,誤差值e(n)與步長(zhǎng)值μ、原始信號(hào)X(n)根據(jù)不同自適應(yīng)算法權(quán)系數(shù)調(diào)整方法獲得濾波器權(quán)系數(shù)矩陣更新時(shí)的瞬時(shí)變化量,在下一時(shí)刻到來(lái)時(shí),獲得更新后的濾波器權(quán)系數(shù)矩陣,從而完成濾波器權(quán)系數(shù)的自適應(yīng)更新過(guò)程。如圖2所示,本實(shí)施例中提供了一種實(shí)現(xiàn)上述濾波器的變步長(zhǎng)VLMP濾波算法,其主要包括步驟:(1)、二階Volterra濾波器原始輸入信號(hào)x(n)經(jīng)過(guò)一系列延遲線(xiàn)傳輸后,形成對(duì)應(yīng)不同的延遲的濾波器的一階輸入信號(hào)x(n),x(n-1)…x(n-N+1),不同的延遲信號(hào)分別相乘后,形成二階輸入信號(hào)x2(n)、x2(n-1)、…、x2(n-N+1)、x(n)x(n-1)、x(n)x(n-2)、…、x(n-N+2)x(n-N+1),即濾波器輸入信號(hào)X(n)=[x(n),x(n-1),…,x(n-N+1),x2(n),x(n)x(n-1),…,x2(n-N+1)]T;N為正整數(shù);(2)、將各輸入信號(hào)X(n)與其對(duì)應(yīng)的濾波器核向量H(n)的乘積相加,系統(tǒng)的濾波器核向量為即該時(shí)刻的輸出信號(hào)(3)、將期望信號(hào)d(n)與輸出信號(hào)y(n)做差得到誤差值e(n)=d(n)-y(n);(4)、根據(jù)誤差值e(n)和固定的參數(shù)值α,β,使用sigmoid函數(shù)計(jì)算該時(shí)刻線(xiàn)性項(xiàng)和二次項(xiàng)部分變步長(zhǎng)值μ1(n)=μ2(n)=β[1/(1+exp(-αe(n)))-0.5];(5)、將所述e(n)絕對(duì)值的(p-1)階范數(shù)與誤差值的符號(hào)函數(shù)sgn(e(n))以及步長(zhǎng)值μ和輸入信號(hào)X(n)的乘積作為濾波器核向量H(n)的瞬時(shí)變化量H(n+1)=H(n)+μ|e(n)|p-1sgn(e(n))X(n);本發(fā)明的最大改進(jìn)點(diǎn)之一在于,其中線(xiàn)性項(xiàng)和非線(xiàn)性項(xiàng)步長(zhǎng)值均可變,因此可以獲得較快的收斂速度的同時(shí)獲得較小的穩(wěn)態(tài)誤差;表現(xiàn)為,所述VLMP濾波器該時(shí)刻線(xiàn)性項(xiàng)權(quán)值:hi(n+1)=hi(n)+μ1(n)|e(n)|p-1sgn(e(n))x(n-i)(i=1,2,...N-1);式中,hi(n)為上一時(shí)刻濾波器權(quán)值;|e(n)|p-1為上一時(shí)刻誤差值e(n)絕對(duì)值的(p-1)階范數(shù),sgn(e(n))為上一時(shí)刻誤差值的符號(hào)函數(shù),x(n-i)為輸入信號(hào);步長(zhǎng)函數(shù)為:μ1(n)=β[1/(1+exp(-α|e(n)|))-0.5];所述濾波器該時(shí)刻二次項(xiàng)權(quán)值為:hi,j(n+1)=hi,j(n)+μ2(n)|e(n)|p-1sgn(e(n))x(n-i)x(n-j)(i=1,2,…N-1,j=1,2,…N-1);式中,hi,j(n)為上一時(shí)刻濾波器權(quán)值,|e(n)|p-1為上一時(shí)刻誤差值絕對(duì)值的(p-1)階范數(shù),sgn(e(n))為上一時(shí)刻誤差值的符號(hào)函數(shù),x(n-i)x(n-j)為輸入信號(hào)的所有二階乘積組成。步長(zhǎng)函數(shù)為:μ1(n)=μ2(n)=β[1/(1+exp(-α|e(n)|))-0.5];通過(guò)仿真實(shí)驗(yàn)對(duì)本方法進(jìn)一步說(shuō)明本發(fā)明的技術(shù)方案主要針對(duì)發(fā)動(dòng)機(jī)噪聲背景。所以在仿真過(guò)程中背景噪聲分別選擇高斯噪聲和α穩(wěn)定分布噪聲,使用MATLAB進(jìn)行多次實(shí)驗(yàn)仿真,分別選用基于最小平均P范數(shù)(LMP)的Volterra濾波算法和本申請(qǐng)人提出的新方法變步長(zhǎng)VLMP濾波算法進(jìn)行系統(tǒng)辨識(shí)如圖3所示。高斯噪聲背景下算法仿真實(shí)驗(yàn)對(duì)比選取的非線(xiàn)性系統(tǒng)采用二階Volterra濾波系統(tǒng),二階非線(xiàn)性系統(tǒng)的輸入和輸出關(guān)系為:系統(tǒng)的期望信號(hào)為:d(n)=y(tǒng)(n)+v1(n)輸入信號(hào)為:x(n)=x(n-1)+v2(n)其中,v1(n)為均值為0,方差為1的高斯噪聲。v2(n)為均值為0、方差為1的高斯白噪聲,且與v1(n)獨(dú)立。設(shè)定輸入的信噪比(SNR)為15dB。采用MATLAB軟件進(jìn)行仿真實(shí)驗(yàn),經(jīng)多次試驗(yàn),VLMP算法參數(shù)最佳取值為μ=0.02,p=1.1。本文算法參數(shù)取值為α=0.005,b=8,p=1.1,所有仿真曲線(xiàn)都是通過(guò)100次獨(dú)立仿真結(jié)果取平均得到。仿真結(jié)果如圖4所示。從圖中可以看出本發(fā)明比VLMP算法的穩(wěn)態(tài)誤差小4dB左右,本發(fā)明算法穩(wěn)態(tài)失調(diào)量較低,VLMP算法具有較高的穩(wěn)態(tài)失調(diào)量,本發(fā)明算法在收斂速度上與VLMP算法相當(dāng)。圖4中本發(fā)明變步長(zhǎng)VLMP濾波算法系統(tǒng)辨識(shí)的結(jié)果較VLMP濾波算法更優(yōu)。根據(jù)表1的非線(xiàn)性系統(tǒng)核辨識(shí)結(jié)果也可以看出,變步長(zhǎng)VLMP濾波算法的性能更優(yōu)。表1核(Kernels)真實(shí)值wVLMPwVSS-VLMPψ1(0)-0.76-0.7323-0.7539ψ1(1)-1-1.0259-1.0292ψ1(2)11.4311.0042ψ2(0,0)0.50.54370.5082ψ2(0,1)00.07980.0261ψ2(0,2)22.04171.9947ψ2(1,1)-1.6-1.5746-1.6060ψ2(1,2)0.80.73700.8041ψ2(2,2)1.21.12451.1754α穩(wěn)定分布噪聲背景下算法仿真實(shí)驗(yàn)對(duì)比選取特征指數(shù)α=1.25時(shí),信噪比為10dB的α穩(wěn)定分布噪聲背景,輸入信號(hào)為高斯白噪聲信號(hào),關(guān)于VLMP算法,p的取值為p=1.2,步長(zhǎng)因子取最優(yōu)值為μ=0.01,本發(fā)明變步長(zhǎng)VLMP濾波算法參數(shù)取值為p=1.2,α=100,β=0.05,進(jìn)行非線(xiàn)性系統(tǒng)辨識(shí),得到的核辨識(shí)結(jié)果如圖5所示。從圖5中可以看出本發(fā)明變步長(zhǎng)VLMP濾波算法線(xiàn)性核誤差(h1)在迭代180次左右達(dá)到收斂,非線(xiàn)性核誤差(h2)在迭代250次左右達(dá)到收斂,VLMP算法線(xiàn)性核誤差(h1)在迭代330次左右達(dá)到收斂,非線(xiàn)性核誤差(h2)在迭代410次左右達(dá)到收斂,本發(fā)明變步長(zhǎng)VLMP濾波算法線(xiàn)性核和非線(xiàn)性核的學(xué)習(xí)曲線(xiàn)收斂速度均比VLMP算法快。兩種算法的線(xiàn)性核誤差值均小于二階項(xiàng)核誤差值。究其原因,是由于二階項(xiàng)相關(guān)矩陣的特征值擴(kuò)展要大于線(xiàn)性項(xiàng)。發(fā)動(dòng)機(jī)噪聲消噪仿真分析為了檢驗(yàn)本發(fā)明變步長(zhǎng)VLMP濾波算法對(duì)發(fā)動(dòng)機(jī)噪聲的降噪效果,仿真實(shí)驗(yàn)采用原始發(fā)動(dòng)機(jī)噪聲分別使用四種自適應(yīng)濾波算法進(jìn)行濾波降噪。本實(shí)施例的仿真條件如下:對(duì)基于LMS算法的wiener濾波器、Volterra濾波器和基于LMP算法的Volterra濾波器以及基于本發(fā)明變步長(zhǎng)LMP濾波算法的Volterra濾波器的降噪效果進(jìn)行實(shí)驗(yàn)驗(yàn)證,經(jīng)多次實(shí)驗(yàn),LMS算法步長(zhǎng)因子取最優(yōu)值μ=0.1,VLMS算法線(xiàn)性項(xiàng)和二階項(xiàng)步長(zhǎng)因子均取最優(yōu)值μ=2,參數(shù)p=1.2,VLMP算法線(xiàn)性項(xiàng)和二階項(xiàng)步長(zhǎng)因子均取最優(yōu)值μ=0.2,p取值為p=1.2,本發(fā)明變步長(zhǎng)VLMP濾波算法線(xiàn)性項(xiàng)和二階項(xiàng)步長(zhǎng)因子均取變步長(zhǎng),其中參數(shù)α,β取值為α=100,β=1,為保證其他條件相同p=1.2。經(jīng)過(guò)以上濾波算法濾波后得到的發(fā)動(dòng)機(jī)噪聲的降噪結(jié)果如圖6所示。圖6中本發(fā)明變步長(zhǎng)VLMP濾波算法降噪效果最優(yōu)。根據(jù)表2的結(jié)果也可以看出經(jīng)變步長(zhǎng)VLMP算法降噪后無(wú)論是均方根誤差(RMSE)還是相對(duì)值都得到了減小。如表2所示:表2本發(fā)明所提供的變步長(zhǎng)VLMP濾波算法針對(duì)發(fā)動(dòng)機(jī)噪聲的降噪問(wèn)題,利用了Volterra濾波器非線(xiàn)性濾波的優(yōu)點(diǎn),對(duì)于發(fā)動(dòng)機(jī)噪聲可以有效降噪,但是降噪后仍存在大量非高斯噪聲。又利用了Volterra最小平均P范數(shù)(LMP)算法能有效對(duì)非高斯噪聲進(jìn)行降噪的優(yōu)點(diǎn),但是對(duì)發(fā)動(dòng)機(jī)噪聲的降噪效果不是很理想。針對(duì)以上兩個(gè)方法的優(yōu)點(diǎn)和缺點(diǎn)設(shè)計(jì)了一種變步長(zhǎng)VLMP濾波算法,該算法擁有以上兩種方法的優(yōu)點(diǎn)還基本克服了他們?nèi)秉c(diǎn),將該算法應(yīng)用到發(fā)動(dòng)機(jī)噪聲濾波降噪中去,從而達(dá)到較好的降噪效果。當(dāng)前第1頁(yè)1 2 3