本發(fā)明屬于數(shù)字萬(wàn)用表
技術(shù)領(lǐng)域:
,更為具體地講,涉及一種基于FIR濾波器的數(shù)字萬(wàn)用表降噪方法。
背景技術(shù):
:FIR(FiniteImpulseResponse,有限長(zhǎng)單位沖激響應(yīng))濾波器又稱(chēng)為非遞歸型濾波器,是數(shù)字信號(hào)處理系統(tǒng)中最基本的元件,它可以在保證任意幅頻特性的同時(shí)具有嚴(yán)格的線性相頻特性,同時(shí)其單位抽樣響應(yīng)是有限長(zhǎng)的,因而該濾波器是穩(wěn)定的系統(tǒng)。因此,F(xiàn)IR濾波器在通信、圖像處理、模式識(shí)別等領(lǐng)域都有著廣泛的應(yīng)用。目前常用的FIR濾波器的設(shè)計(jì)方法有窗函數(shù)法、頻率取樣法和切比雪夫等波紋逼近的最優(yōu)化設(shè)計(jì)方法等。在實(shí)際的工程應(yīng)用中,F(xiàn)IR濾波器的設(shè)計(jì)實(shí)現(xiàn),通常需要同時(shí)滿足多個(gè)技術(shù)指標(biāo)或達(dá)到較高的精度,設(shè)計(jì)工作比較復(fù)雜,而且只能是逼近工程的指標(biāo)要求。那么此時(shí)FIR濾波器的設(shè)計(jì)其實(shí)就是尋找濾波器系數(shù)使幅頻響應(yīng)不斷的逼近理想的濾波器,可以看作一個(gè)最優(yōu)化問(wèn)題。求解最優(yōu)化問(wèn)題常用的算法有遺傳算法、神經(jīng)網(wǎng)絡(luò)算法、粒子群算法等等。在現(xiàn)有的基于最優(yōu)化問(wèn)題的FIR濾波器設(shè)計(jì)方法中,常用的最優(yōu)化準(zhǔn)則包括均方誤差最小準(zhǔn)則和最大誤差最小化準(zhǔn)則。其中均方誤差最小準(zhǔn)則是使FIR濾波器的頻率響應(yīng)誤差的平方和最小,最大誤差最小化準(zhǔn)則是使設(shè)計(jì)的濾波器幅頻響應(yīng)最大逼近誤差達(dá)到最小。這兩種準(zhǔn)則都是考慮的僅關(guān)注了要設(shè)計(jì)濾波器與理想低通濾波器的逼近程度,所考慮的因素較為單一,并未考慮FIR濾波器的其他性能,例如信噪比等,當(dāng)輸入信號(hào)受干擾較大時(shí),難以保證濾波效果。在數(shù)字萬(wàn)用表領(lǐng)域中,為了提高測(cè)量值的精密度,通常會(huì)采用FIR濾波器對(duì)測(cè)量電路的測(cè)量信號(hào)進(jìn)行濾波降噪。測(cè)量電路中通常有若干個(gè)測(cè)量檔位,不同檔位信號(hào)特征(信噪比)存在差別,而且數(shù)字萬(wàn)用表容易受外界的干擾,輸入信號(hào)的特征會(huì)隨外界而變化。在以往采用FIR濾波器進(jìn)行降噪的數(shù)字萬(wàn)用表中,F(xiàn)IR濾波器是采用設(shè)計(jì)算法得到一個(gè)最優(yōu)的FIR濾波器,在數(shù)字萬(wàn)用表使用過(guò)程中FIR濾波器的參數(shù)是固定的,難以滿足不同測(cè)量檔位及輸入信號(hào)特征變化的實(shí)際需求。技術(shù)實(shí)現(xiàn)要素:本發(fā)明的目的在于克服現(xiàn)有技術(shù)的不足,提供一種基于FIR濾波器的數(shù)字萬(wàn)用表降噪方法,在FIR濾波器設(shè)計(jì)中綜合考慮信噪比和均方誤差最小化準(zhǔn)則,得到兼顧信噪比性能的FIR濾波器,并且在數(shù)字萬(wàn)用表使用過(guò)程中實(shí)現(xiàn)了FIR濾波器對(duì)輸入信號(hào)的適應(yīng)性調(diào)整,提高數(shù)字萬(wàn)用表的降噪性能。為實(shí)現(xiàn)上述發(fā)明目的,本發(fā)明基于FIR數(shù)字濾波器的數(shù)字萬(wàn)用表降噪方法包括以下步驟:S1:在數(shù)字萬(wàn)用表測(cè)量電路中,采用FIR濾波器對(duì)ADC模塊得到的測(cè)量信號(hào)進(jìn)行濾波降噪;S2:在數(shù)字萬(wàn)用表初始化時(shí),選擇每個(gè)測(cè)量檔位,接入輸入信號(hào),采用基于粒子群算法的FIR濾波器設(shè)計(jì)方法對(duì)每個(gè)測(cè)量檔位對(duì)應(yīng)的FIR濾波器進(jìn)行設(shè)計(jì),得到每個(gè)測(cè)量檔位對(duì)應(yīng)的FIR濾波器,保存FIR濾波器的參數(shù)、均方誤差以及對(duì)應(yīng)濾波后信號(hào)的信噪比SNRr;基于粒子群算法的FIR濾波器設(shè)計(jì)方法包括以下步驟:S2.1:設(shè)置粒子群算法中的參數(shù),包括粒子群大小M、最大迭代次數(shù)Gmax和適應(yīng)度閾值Fmin,其中粒子位置向量為FIR濾波器的單位沖激響應(yīng)序列;S2.2:初始化粒子群中M個(gè)粒子的位置和速度,以及FIR濾波器的均方誤差參考值S2.3:令迭代次數(shù)k=1;S2.4:采用每個(gè)粒子所對(duì)應(yīng)的FIR濾波器對(duì)輸入信號(hào)進(jìn)行濾波,得到其濾波后信號(hào),根據(jù)以下公式計(jì)算粒子群中每個(gè)粒子的適應(yīng)度值F:F=SNR+E其中,SNR表示濾波后信號(hào)的信噪比,表示粒子位置對(duì)應(yīng)的單位沖激響應(yīng)序列與理想濾波器的單位沖激響應(yīng)序列的均方誤差;S2.5:更新每個(gè)粒子的局部最優(yōu)位置和全局最優(yōu)位置,以全局最優(yōu)位置的均方誤差對(duì)均方差參考值進(jìn)行更新;S2.6:如果k=Gmax或Fbest>Fmin,其中Fbest表示當(dāng)前粒子群中全局最優(yōu)位置的適應(yīng)度值,則根據(jù)全局最優(yōu)位置得到FIR濾波器的單位沖激響應(yīng)序列,F(xiàn)IR濾波器設(shè)計(jì)完畢;否則更新粒子群中每個(gè)粒子的位置和速度,令k=k+1,返回步驟S2.4;S3:在采用數(shù)字萬(wàn)用表進(jìn)行實(shí)際測(cè)量時(shí),根據(jù)所選測(cè)量檔位讀取FIR濾波器的參數(shù),對(duì)FIR濾波器進(jìn)行設(shè)置,并監(jiān)測(cè)濾波后信號(hào)的信噪比,如果信噪比大于等于SNRr,則不更新任何參數(shù),否則根據(jù)當(dāng)前FIR濾波器參數(shù)對(duì)粒子群算法中的粒子群進(jìn)行初始化,對(duì)應(yīng)均方誤差作為粒子群算法中FIR濾波器的均方誤差參考值重新采用基于粒子群算法的FIR濾波器設(shè)計(jì)方法對(duì)FIR濾波器進(jìn)行設(shè)計(jì),根據(jù)設(shè)計(jì)得到的FIR濾波器對(duì)保存的FIR濾波器參數(shù)、均方誤差以及對(duì)應(yīng)濾波后信號(hào)的信噪比SNRr進(jìn)行更新。本發(fā)明基于FIR濾波器的數(shù)字萬(wàn)用表降噪方法,在數(shù)字萬(wàn)用表測(cè)量電路中,采用FIR濾波器對(duì)ADC模塊得到的測(cè)量信號(hào)進(jìn)行濾波降噪;在數(shù)字萬(wàn)用表進(jìn)行初始化時(shí),分別采用基于粒子群算法的FIR濾波器設(shè)計(jì)方法對(duì)每個(gè)測(cè)量檔位的FIR濾波器進(jìn)行設(shè)計(jì),其具體方法為:以FIR濾波器的單位沖激響應(yīng)作為粒子群算法的粒子位置向量,基于FIR濾波器的濾波后信號(hào)的信噪比和FIR濾波器的均方誤差來(lái)設(shè)計(jì)粒子群算法的適應(yīng)度函數(shù),迭代得到FIR濾波器;在數(shù)字萬(wàn)用表實(shí)際測(cè)量中,監(jiān)測(cè)濾波后信號(hào)的信噪比,大于閾值時(shí)則重新進(jìn)行優(yōu)化,對(duì)FIR濾波器進(jìn)行更新。本發(fā)明具有以下有益效果:1)本發(fā)明基于FIR濾波器的濾波后信號(hào)的信噪比和FIR濾波器的均方誤差來(lái)設(shè)計(jì)粒子群算法的適應(yīng)度函數(shù),可以很好地適應(yīng)外界干擾,保證濾波后信號(hào)的信噪比;2)在對(duì)粒子群算法中的粒子進(jìn)行初始化時(shí),可以采用常規(guī)設(shè)計(jì)方法設(shè)計(jì)得到初始FIR濾波器,根據(jù)初始FIR濾波器對(duì)粒子進(jìn)行初始化,在已存在較好位置基礎(chǔ)上尋找更佳位置,這樣不僅可以加快搜索速度,還可以大大減少陷入局部最優(yōu)位置的概率;3)采用本發(fā)明的數(shù)字萬(wàn)用表在實(shí)際使用時(shí),實(shí)時(shí)監(jiān)測(cè)FIR濾波器濾波后信號(hào)的信噪比,當(dāng)降低時(shí)就重新啟動(dòng)迭代優(yōu)化,從而避免數(shù)字萬(wàn)用表內(nèi)部環(huán)境和外部環(huán)境變化時(shí)所造成的FIR濾波器濾波性能降低。附圖說(shuō)明圖1是本發(fā)明基于FIR濾波器的數(shù)字萬(wàn)用表降噪方法的流程圖;圖2是基于FIR濾波器降噪的數(shù)字萬(wàn)用表電阻測(cè)量電路結(jié)構(gòu)示例圖;圖3是本發(fā)明中基于粒子群算法的FIR濾波器設(shè)計(jì)方法的流程圖;圖4是本實(shí)施例中初始FIR低通濾波器的幅頻特征曲線;圖5是本實(shí)施例中初始FIR低通濾波器與理想低通濾波器的沖擊響應(yīng)對(duì)比圖;圖6是本實(shí)施例中輸入信號(hào)波形圖;圖7是圖6所示輸入信號(hào)經(jīng)初始FIR低通濾波器濾波后的信號(hào);圖8是本實(shí)施例中設(shè)計(jì)得到的FIR低通濾波器與初始FIR低通濾波器和理想低通濾波器的沖擊響應(yīng)對(duì)比圖;圖9是圖6所示輸入信號(hào)經(jīng)設(shè)計(jì)得到的FIR低通濾波器濾波后的信號(hào)。具體實(shí)施方式下面結(jié)合附圖對(duì)本發(fā)明的具體實(shí)施方式進(jìn)行描述,以便本領(lǐng)域的技術(shù)人員更好地理解本發(fā)明。需要特別提醒注意的是,在以下的描述中,當(dāng)已知功能和設(shè)計(jì)的詳細(xì)描述也許會(huì)淡化本發(fā)明的主要內(nèi)容時(shí),這些描述在這里將被忽略。實(shí)施例圖1是本發(fā)明基于FIR濾波器的數(shù)字萬(wàn)用表降噪方法的流程圖。如圖1所示,本發(fā)明基于FIR濾波器的數(shù)字萬(wàn)用表降噪方法包括以下步驟包括:S101:增加FIR濾波器:在數(shù)字萬(wàn)用表測(cè)量電路中,采用FIR濾波器對(duì)ADC模塊得到的測(cè)量信號(hào)進(jìn)行濾波降噪。圖2是基于FIR濾波器降噪的數(shù)字萬(wàn)用表電阻測(cè)量電路結(jié)構(gòu)示例圖。如圖2所示,在ADC模塊后增加了一個(gè)FIR濾波器,對(duì)電壓信號(hào)進(jìn)行濾波。該測(cè)量電路共有7個(gè)測(cè)量檔位,共用一個(gè)ADC模塊,因此FIR濾波器也是共用的,設(shè)計(jì)得到的FIR濾波器需要能夠適應(yīng)不同測(cè)量檔位的需要。S102:設(shè)計(jì)各檔位對(duì)應(yīng)FIR濾波器:在數(shù)字萬(wàn)用表初始化時(shí),選擇每個(gè)測(cè)量檔位,接入輸入信號(hào),采用基于粒子群算法的FIR濾波器設(shè)計(jì)方法對(duì)每個(gè)測(cè)量檔位對(duì)應(yīng)的FIR濾波器進(jìn)行設(shè)計(jì),得到每個(gè)測(cè)量檔位對(duì)應(yīng)的FIR濾波器,保存FIR濾波器的參數(shù)、均方誤差以及對(duì)應(yīng)濾波后信號(hào)的信噪比SNRr。圖3是本發(fā)明中基于粒子群算法的FIR濾波器設(shè)計(jì)方法的流程圖。如圖3所示,本發(fā)明中基于粒子群算法的FIR濾波器設(shè)計(jì)方法包括以下步驟:S301:設(shè)置粒子群算法參數(shù):首先需要對(duì)粒子群算法中的參數(shù)進(jìn)行設(shè)置,包括粒子群大小M、最大迭代次數(shù)Gmax和適應(yīng)度閾值Fmin。FIR濾波器的系統(tǒng)函數(shù)可以記為:H(z)=Σn=0N-1h(n)z-n---(1)]]>其中h(n)表示FIR濾波器的單位沖激響應(yīng),N表示FIR濾波器的階數(shù)。因此粒子群中的每個(gè)粒子的位置向量為FIR濾波器的單位沖激響應(yīng)序列。本實(shí)施例中,采用N階線性相位FIR低通濾波器,其單位沖激響應(yīng)h(n)為實(shí)數(shù),且以對(duì)稱(chēng)中心n=(N-1)/2對(duì)稱(chēng),因此有h(n)=h(N-1-n)。因此本實(shí)施例中粒子群中的每個(gè)粒子,其位置向量的格式為[h(0),h(1),h(2)…h(huán)((N-1)/2)],即只取單位沖激響應(yīng)序列中的前一半。根據(jù)粒子群算法的流程可知,在算法執(zhí)行過(guò)程中每個(gè)粒子的位置和速度都會(huì)進(jìn)行更新,自然還需要對(duì)粒子群算法自身的一些參數(shù)進(jìn)行設(shè)置,包括加速度常數(shù)c1和c2,慣性權(quán)重ω。本實(shí)施例中粒子群大小M=100,最大迭代次數(shù)Gmax=1000,適應(yīng)度閥值Fmin=110dB,加速度常數(shù)c1=c2=0.2,慣性權(quán)重ω=0.4。S302:初始化粒子:初始化粒子群中的M個(gè)粒子的位置和速度,以及FIR濾波器的均方誤差參考值在粒子群算法中,粒子的位置和速度的初始值通常是隨機(jī)獲取的。為了提高粒子群算法的效率,需要盡可能設(shè)置一個(gè)合適的初始值。本實(shí)施例中,采用常規(guī)FIR濾波器設(shè)計(jì)方法對(duì)FIR濾波器進(jìn)行設(shè)計(jì),得到初始FIR濾波器,記其單位沖激響應(yīng)序列為[h0(0),h0(1),h0(2)…h(huán)0(N-1)],每個(gè)粒子從[h0(0),h0(1),h0(2)…h(huán)0(N-1)]中隨機(jī)選擇Ki個(gè)單位沖激響應(yīng)作為自身位置向量的對(duì)應(yīng)元素,其余元素隨機(jī)設(shè)置,Ki在Ki∈(0,N-1]范圍內(nèi)隨機(jī)取值,i=1,2,…,M。每個(gè)粒子對(duì)應(yīng)的Ki可以相同,也可以不同,顯然當(dāng)Ki=N-1時(shí),所有初始粒子的位置都是相同的?;诔跏糉IR濾波器,均方誤差參考值的初始值為初始FIR濾波器對(duì)應(yīng)的均方誤差,粒子群算法迭代過(guò)程中各個(gè)粒子的速度上限vmax<max(h0(n))。FIR濾波器的常規(guī)FIR濾波器設(shè)計(jì)方法通常有三種主要的方法:窗函數(shù)法、頻率取樣法和切比雪夫等波紋逼近的最優(yōu)化設(shè)計(jì)方法。本實(shí)施例中FIR濾波器以FIR低通濾波器為例,由于窗函數(shù)中的凱澤窗可以調(diào)節(jié)主半寬度與旁瓣衰減,適應(yīng)性較強(qiáng),而且其阻帶衰減大,通帶衰減很小,因此本實(shí)施例采用窗函數(shù)中的凱澤窗來(lái)進(jìn)行FIR濾波器的初始設(shè)計(jì)。理想線性低通濾波器的傳輸函數(shù)為:Hd(ejω)=e-jωτ|ω|≤ωc0ωc<ω<π---(2)]]>其中,e表示自然常數(shù),ω表示頻率,ωc表示截止頻率,τ為群延。其單位沖擊響應(yīng)為:hd(n)=12π∫-ππe-jωτejωndω=12π∫-ωcωce-jω(n-τ)ejωndω=sin[ωc(n-τ)]π(n-τ)n≠τωc/πn=τ---(3)]]>其時(shí)域的單位hd(n)為無(wú)限長(zhǎng)。窗函數(shù)設(shè)計(jì)法的基本思路是用一定寬度窗函數(shù)截取理想情況下的脈沖響應(yīng),忽略窗函數(shù)寬度以外的序列,這樣便得的脈沖響便是有限長(zhǎng)的。設(shè)窗函數(shù)序列為ω(n),將hd(n)加以截?cái)嗪蟮男蛄袨閔(n):h(n)=hd(n)×ω(n)0≤n≤N-1(4)加窗后的實(shí)際頻率響應(yīng)H(ejω)為:H(ejω)=12π∫-ππHd(ejθ)W(ej(ω-θ)dθ---(5)]]>窗函數(shù)法設(shè)計(jì)FIR濾波器就是尋找N和窗的形狀ω(n)使加窗后的實(shí)際頻率響應(yīng)H(ejω)滿足設(shè)計(jì)要求。凱澤窗函數(shù)形式為:w(n)=I0(β1-[1-2n/(N-1)]2)I0(β)RN(n)---(6)]]>其中,I0(·)是第一類(lèi)零階變型貝塞爾函數(shù),RN(n)表示Lagrange型余項(xiàng)。β是一個(gè)可調(diào)的參數(shù),用來(lái)調(diào)節(jié)主瓣寬度和旁瓣衰減,一般說(shuō)來(lái),β可以調(diào)節(jié)窗的形狀,β越大,窗函數(shù)主瓣寬度增加,旁瓣衰減也就越大。β可采用下面公式來(lái)計(jì)算:β=0As≤21dB0.5842(As-21)0.4+0.07886(As-21)21dB<As≤50dB0.1102(As-8.7)As>50dB---(7)]]>其中As為阻帶衰減。窗長(zhǎng)度N的計(jì)算公式為:N=As-7.952.285Δω+1---(8)]]>其中過(guò)渡帶角頻率Δω=2πΔf/fs,Δf表示過(guò)濾帶頻率,fs表示輸入信號(hào)的采樣頻率。本實(shí)施例中電壓信號(hào)經(jīng)ADC采樣以及抽取后,F(xiàn)IR濾波器輸入信號(hào)的采樣頻率fs=1220Hz,F(xiàn)IR濾波器的截止頻率fc=1Hz。為了抑制50Hz工頻干擾,過(guò)渡帶Δf<50Hz,一般來(lái)說(shuō)過(guò)渡帶越陡越好,但Δf減小會(huì)增加濾波器階數(shù),此處選擇Δf=5Hz,設(shè)置阻帶衰減As=80dB。則凱澤窗參數(shù)計(jì)算結(jié)果如下:β=0.1102×(As-8.7)=0.1102×(80-8.7)=7.857(9)N=As-7.952.285Δω+1=80-7.952.285×2π×51220=1226---(10)]]>為了使粒子群優(yōu)化后的濾波器滿足線性相位條件取N=1227,于是凱澤窗函數(shù)為:w(n)=I0(7.8571-(1-2n/1227)2I0(7.857)R1227(n),0≤n≤1227---(11)]]>圖4是本實(shí)施例中初始FIR低通濾波器的幅頻特征曲線。如圖4所示,可以看出初始FIR濾波器的阻帶衰減比較大。圖5是本實(shí)施例中初始FIR低通濾波器與理想低通濾波器的沖擊響應(yīng)對(duì)比圖。如圖5所示,本實(shí)施例中采用凱澤窗設(shè)計(jì)得到的初始FIR低通濾波器,與理想的低通濾波器仍然存在一定誤差,其均方誤差為:e2=Σn=0N-1|hd(n)-h(n)|2=0.000189---(12)]]>因此本實(shí)施例中圖6是本實(shí)施例中輸入信號(hào)波形圖。如圖6所示,該輸入信號(hào)的信噪比為66.76dB。圖7是圖6所示輸入信號(hào)經(jīng)初始FIR低通濾波器濾波后的信號(hào)。如圖7所示,經(jīng)初始FIR低通濾波器濾波后,50Hz工頻干擾及高頻干擾已經(jīng)消除,信號(hào)的信噪比提高到106.27dB。S303:令迭代次數(shù)k=1。S304:計(jì)算適應(yīng)度值:濾波器設(shè)計(jì)有兩種最優(yōu)化準(zhǔn)則,一種是均方誤差最小準(zhǔn)則,另一種是最大誤差最小化準(zhǔn)則。由于最大誤差最小化準(zhǔn)則比較復(fù)雜,本發(fā)明選用均方誤差最小準(zhǔn)則。由于數(shù)字萬(wàn)用表的測(cè)量檔位較多,不同檔位的噪聲信號(hào)有些差別,而且隨著外部測(cè)試環(huán)境、外界干擾的不同而有較大差別,所以固定系數(shù)的濾波器不能適應(yīng)萬(wàn)用表濾波器的設(shè)計(jì),所以單純的均方誤差最小準(zhǔn)則不適應(yīng),必須對(duì)適應(yīng)度函數(shù)修正,以適應(yīng)外部噪聲的變化。因此本發(fā)明基于濾波后信號(hào)的信噪比,參考均方誤差最小準(zhǔn)則,修改適應(yīng)度函數(shù)。下面先分別對(duì)于信噪比和均方誤差最小準(zhǔn)則進(jìn)行說(shuō)明?!裥旁氡刃旁氡扔脕?lái)衡量信號(hào)中有用信號(hào)功率與噪聲功率的比例,其計(jì)算公式為:SNR=20log(VsVn)---(13)]]>其中Vs為信號(hào)有效值,Vn為噪聲有效值。Vs、Vn難以計(jì)算,對(duì)于直流信號(hào),信噪比一般用下面公式計(jì)算:SNR=20log(Σn=1Nx(n)1N-1Σn=1N(x(n)-nNΣn=1Nx(n))2)---(14)]]>其中,x(n)表示FIR濾波器濾波后信號(hào),濾波后的信號(hào)信噪比越高,表明濾波方法越有效。●均方誤差最小準(zhǔn)則均方誤差最小準(zhǔn)則原則上是使FIR濾波器與理想濾波器頻率響應(yīng)的誤差的平方和最小。以Hd(ejω)表示所要設(shè)計(jì)的濾波器理想的頻率響應(yīng),H(ejω)表示設(shè)計(jì)得到的濾波器頻率響應(yīng),Ed(ejω)表示所要設(shè)計(jì)的濾波器理想的頻率響應(yīng)與實(shí)際響應(yīng)的誤差,則:Ed(ejω)=Hd(ejω)-H(ejω)(15)均方誤差(誤差的平方和的平均值)為:e2=1/2π∫-ππ|Ed(ejω)|2dω=1/2π∫-ππ|Hd(ejω)-H(ejω)|2dω---(16)]]>均方誤差最小準(zhǔn)則就是找到一組h(n)使e2最小。將代入式(16)得:e2=Σn=0N-1[hd(n)e-jωn-h(n)e-jωn]+E,d(n)e-jωn---(17)]]>其中根據(jù)帕賽瓦其中X(eiω)為x(n)的傅里葉變換,均方誤差可以用下式表示:e2=1/2π∫-ππ|Ed(ejω)|dω=Σn=0N-1|hd(n)-h(n)|2+e′d(n)---(18)]]>只與理想濾波器特性有關(guān),與設(shè)計(jì)的實(shí)際濾波器特性無(wú)關(guān),因此在實(shí)際計(jì)算均方誤差時(shí),其計(jì)算公式采用:e2=Σn=0N-1|hd(n)-h(n)|2---(19)]]>因此,本發(fā)明基于信噪比和均方誤差最小準(zhǔn)則,設(shè)計(jì)得到粒子群算法的適應(yīng)度函數(shù)表示如下:F=SNR+E(20)其中,F(xiàn)表示適應(yīng)度值,SNR表示濾波后信號(hào)的信噪比,表示粒子位置對(duì)應(yīng)的單位沖激響應(yīng)序列與理想濾波器的單位沖擊響應(yīng)序列的均方誤差,表示FIR濾波器的均方誤差參考值??梢?jiàn),在本發(fā)明中,適應(yīng)度值越大越好。從適應(yīng)度函數(shù)F的表達(dá)式可以看出,如果粒子新位置的均方差滿足則是以新位置作為濾波器系數(shù)濾波后的信號(hào)的信噪比作為評(píng)價(jià)粒子位置的優(yōu)劣,當(dāng)粒子新位置的均方差不滿足時(shí),則該粒子的適應(yīng)度為無(wú)窮小,即忽略該位置,不作為個(gè)體最優(yōu)位置、全局最優(yōu)位置的考慮。在實(shí)際應(yīng)用中,-∞一般以一個(gè)絕對(duì)小值來(lái)代替即可。S305:更新最優(yōu)位置和均方誤差參考值:更新每個(gè)粒子的局部最優(yōu)位置和全局最優(yōu)位置,以全局最優(yōu)位置的均方誤差對(duì)均方差參考值進(jìn)行更新,即以當(dāng)前粒子群中全局最優(yōu)位置的均方誤差作為新的均方差參考值局部最優(yōu)位置是指粒子在歷史迭代過(guò)程中適應(yīng)度值最大的粒子位置,全局最優(yōu)位置是指歷史迭代過(guò)程中所有粒子適應(yīng)度值最大的粒子位置。S306:判斷是否k=Gmax或Fbest>Fmin,其中Fbest表示當(dāng)前粒子群中全局最優(yōu)位置的適應(yīng)度值,如果是,說(shuō)明已經(jīng)達(dá)到迭代結(jié)束條件,進(jìn)入步驟S308,否則進(jìn)入步驟S307。S307:更新粒子:更新粒子群中每個(gè)粒子的位置和速度,令k=k+1,返回步驟S304。在粒子群算法中,記第i個(gè)粒子在第k次迭代的位置其中表示第i個(gè)粒子第k次迭代位置的第q個(gè)元素,q=1,2,…,Q。記第i個(gè)粒子的局部最優(yōu)位置pbesti=[pbesti1,pbesti2,pbesti3…,pbestiQ],其中pbestiq表示第i個(gè)粒子局部最優(yōu)位置的第q個(gè)元素。記全局最優(yōu)位置gbest=[gbest1,gbest2,gbest3…,gbestQ],其中g(shù)bestq表示粒子群最優(yōu)位置的第q個(gè)元素。記第i個(gè)粒子在第k次迭代的速度其中表示第i個(gè)粒子第k次迭代速度的第q個(gè)元素。那么粒子的位置和速度的更新公式如下:vk+1iq=ω·vkiq+c1·rand()·(pbestiq-xkiq)+c2·rand()·(gbestq-xkiq)---(21)]]>xk+1iq=xkiq+vkiq---(22)]]>在粒子群算法中,粒子的位置和速度一般會(huì)存在一個(gè)限定范圍。S308:得到FIR濾波器:根據(jù)全局最優(yōu)位置得到FIR濾波器的單位沖激響應(yīng)序列,F(xiàn)IR濾波器設(shè)計(jì)完畢。對(duì)于設(shè)計(jì)完成的FIR濾波器,保存FIR濾波器的參數(shù)、均方誤差以及對(duì)應(yīng)濾波后信號(hào)的信噪比SNRr。根據(jù)本發(fā)明中適應(yīng)度函數(shù)的公式(20)可知,所設(shè)計(jì)完成的FIR濾波器對(duì)應(yīng)的SNRr就是該FIR濾波器所對(duì)應(yīng)全局最優(yōu)位置的適應(yīng)度值。圖8是本實(shí)施例中設(shè)計(jì)得到的FIR低通濾波器與初始FIR低通濾波器和理想低通濾波器的沖擊響應(yīng)對(duì)比圖。如圖8所示,采用本發(fā)明優(yōu)化后的FIR低通濾波器,其沖擊響應(yīng)更接近于理想低通濾波器的沖擊響應(yīng),明顯優(yōu)于采用凱澤窗所設(shè)計(jì)得到的初始低通濾波器。圖9是圖6所示輸入信號(hào)經(jīng)設(shè)計(jì)得到的FIR低通濾波器濾波后的信號(hào)。對(duì)比圖7和圖9,可知采用本發(fā)明設(shè)計(jì)得到的FIR低通濾波器,較采用凱澤窗設(shè)計(jì)得到的FIR低通濾波器得到的濾波后信號(hào)波動(dòng)范圍更小,其信噪比提高到到114.72dB,明顯優(yōu)于初始FIR低通濾波器。S103:自適應(yīng)調(diào)整FIR濾波器:在采用數(shù)字萬(wàn)用表進(jìn)行實(shí)際測(cè)量時(shí),根據(jù)所選測(cè)量檔位讀取FIR濾波器的參數(shù),對(duì)FIR濾波器進(jìn)行設(shè)置,并監(jiān)測(cè)濾波后信號(hào)的信噪比,如果信噪比大于等于SNRr,則不作任何操作,即不更新任何參數(shù),否則根據(jù)當(dāng)前FIR濾波器參數(shù)對(duì)粒子群算法中的粒子群進(jìn)行初始化,對(duì)應(yīng)均方誤差作為粒子群算法中FIR濾波器的均方誤差參考值重新采用基于粒子群算法的FIR濾波器設(shè)計(jì)方法對(duì)FIR濾波器進(jìn)行設(shè)計(jì),根據(jù)設(shè)計(jì)得到的FIR濾波器對(duì)保存的FIR濾波器參數(shù)、均方誤差以及對(duì)應(yīng)濾波后信號(hào)的信噪比SNRr進(jìn)行更新。與步驟S302中采用初始FIR濾波器對(duì)粒子群進(jìn)行初始化的方法類(lèi)似,本步驟中根據(jù)當(dāng)前FIR濾波器參數(shù)對(duì)粒子群算法中的粒子群進(jìn)行初始化可以采用以下方法:記當(dāng)前FIR濾波器的單位沖激響應(yīng)序列為[h0′(0),h0′(1),h0′(2)…h(huán)0′(N-1)],每個(gè)粒子從[h0′(0),h0′(1),h0′(2)…h(huán)0′(N-1)]中隨機(jī)選擇Ki′個(gè)單位沖激響應(yīng)作為自身位置向量的對(duì)應(yīng)元素,其余元素隨機(jī)設(shè)置,Ki′∈(0,(N-1)/2],i=1,2,…,M。根據(jù)以上流程可知,由于本發(fā)明基于輸入信號(hào)濾波后的信噪比對(duì)粒子群適應(yīng)度函數(shù)進(jìn)行了優(yōu)化,而且在數(shù)字萬(wàn)用表的實(shí)際使用過(guò)程中,實(shí)時(shí)計(jì)算濾波后信號(hào)的信噪比,再經(jīng)過(guò)粒子群算法優(yōu)化FIR濾波器,從而適應(yīng)外界輸入信號(hào)的變化,使FIR濾波器具有一定的自適應(yīng)性。盡管上面對(duì)本發(fā)明說(shuō)明性的具體實(shí)施方式進(jìn)行了描述,以便于本
技術(shù)領(lǐng)域:
的技術(shù)人員理解本發(fā)明,但應(yīng)該清楚,本發(fā)明不限于具體實(shí)施方式的范圍,對(duì)本
技術(shù)領(lǐng)域:
的普通技術(shù)人員來(lái)講,只要各種變化在所附的權(quán)利要求限定和確定的本發(fā)明的精神和范圍內(nèi),這些變化是顯而易見(jiàn)的,一切利用本發(fā)明構(gòu)思的發(fā)明創(chuàng)造均在保護(hù)之列。當(dāng)前第1頁(yè)1 2 3