數(shù)字全通濾波器設(shè)計(jì)研究電子科技論文
在數(shù)字信號(hào)處理的領(lǐng)域內(nèi),數(shù)字濾波技術(shù)是極其重要的一個(gè)分支。學(xué)習(xí)啦小編整理的數(shù)字全通濾波器設(shè)計(jì)研究電子科技論文,希望你能從中得到感悟!
數(shù)字全通濾波器設(shè)計(jì)研究電子科技論文篇一
基于FPGA的IIR帶通數(shù)字濾波器設(shè)計(jì)與仿真
【摘要】該文給出了用Matlab設(shè)計(jì)IIR帶通數(shù)字濾波器的方法,利用Matlab 語(yǔ)言進(jìn)行程序設(shè)計(jì)出二階環(huán)為基礎(chǔ)的并聯(lián)結(jié)構(gòu)模型,通過在Matlab 環(huán)境下仿真軟件Simulink對(duì)設(shè)計(jì)的帶通濾波器進(jìn)行了動(dòng)態(tài)仿真,確定了濾波器系數(shù)的量化字長(zhǎng)。從仿真結(jié)果來看,設(shè)計(jì)的帶通數(shù)字濾波器既滿足濾波器的選頻特性,又優(yōu)化了硬件資源。在實(shí)際的 應(yīng)用中,可以根據(jù)不同F(xiàn)PGA資源靈活修改濾波器系數(shù),在不同規(guī)模的FPGA上實(shí)現(xiàn)。
【關(guān)鍵詞】無限脈沖響應(yīng);帶通數(shù)字濾波器;量化字長(zhǎng);現(xiàn)場(chǎng)可編程門陣列
1.引言
在數(shù)字信號(hào)處理的領(lǐng)域內(nèi),數(shù)字濾波技術(shù)是極其重要的一個(gè)分支。無論是信號(hào)的獲取、傳輸,還是信號(hào)的處理和交換都離不開數(shù)字濾波,它對(duì)于信號(hào)安全有效的傳輸是至關(guān)重要的[1]。在主要的兩類數(shù)字濾波器中,IIR(無限脈沖響應(yīng))濾波器被廣泛使用。
Matlab是美國(guó)MathWorks公司出品的數(shù)學(xué)軟件,用于算法開發(fā)、數(shù)據(jù)可視化、數(shù)據(jù)分析以及數(shù)值計(jì)算的高級(jí)技術(shù)計(jì)算語(yǔ)言和交互式環(huán)境[2]。其中Matlab自帶的信號(hào)處理工具箱,具有強(qiáng)大的信號(hào)處理和分析功能,它提供了豐富簡(jiǎn)便的設(shè)計(jì),使原來繁瑣的程序設(shè)計(jì)簡(jiǎn)化成函數(shù)的調(diào)用,這樣便可以快速有效的實(shí)現(xiàn)數(shù)字濾波器的設(shè)計(jì)與仿真。
FPGA(現(xiàn)場(chǎng)可編程門陣列)以其優(yōu)越的實(shí)時(shí)性和設(shè)計(jì)靈活性成為了控制系統(tǒng)中不可或缺的一部分,它可利用Simulink設(shè)計(jì)仿真的有限字長(zhǎng)IIR濾波器自動(dòng)生成VHDL或Verilog代碼,下載至FPGA實(shí)現(xiàn)濾波器功能[3]。本文研究了基于FPGA有限字長(zhǎng)的IIR帶通數(shù)字濾波器的相關(guān)理論,設(shè)計(jì)方法及仿真。
2.IIR數(shù)字濾波器設(shè)計(jì)基本原理
數(shù)字IIR濾波器的設(shè)計(jì)都是基于模擬IIR濾波器,之后將其轉(zhuǎn)化為等價(jià)的數(shù)字濾波器[4]。其中沖擊響應(yīng)不變法是一種較為常用的方法。其總的變化流程如下:
(1)
考慮到傳統(tǒng)濾波器計(jì)算量大,濾波特性不宜調(diào)整等缺點(diǎn),如何解決這些問題便顯得極為關(guān)鍵。利用Matlab強(qiáng)大的數(shù)字信號(hào)處理和計(jì)算能力可快速有效的設(shè)計(jì)數(shù)字濾波器,不僅極大的簡(jiǎn)化了計(jì)算量,而且它可以隨時(shí)對(duì)比設(shè)計(jì)要求和濾波器特性進(jìn)行參數(shù)調(diào)整,方便靈活[5]。
3.基于FPGA的IIR濾波器設(shè)計(jì)
3.1 濾波器設(shè)計(jì)方法的選擇
高階IIR數(shù)字濾波器的系統(tǒng)傳遞函數(shù)可表示為:
根據(jù)濾波器傳遞函數(shù)H(z)的不同表達(dá)形式,可以得出不同的實(shí)現(xiàn)結(jié)構(gòu)。相對(duì)較為常用的3種結(jié)構(gòu)為直接型,級(jí)聯(lián)型和并聯(lián)型。其中直接型對(duì)系數(shù)的敏感度最高,受有限字長(zhǎng)造成的影響最大。級(jí)聯(lián)型H(z)的連接順序具有很大的自由度,因此在實(shí)際設(shè)計(jì)中這些組合方式,比例變化和H(z)的連接順序等都會(huì)產(chǎn)生很大的問題。并聯(lián)型濾波器則可以很好的克服上述兩種結(jié)構(gòu)的缺點(diǎn),因此在濾波器極點(diǎn)不重復(fù)時(shí),并聯(lián)型濾波器被廣泛使用。
在相同性能的要求下,橢圓濾波器比巴特沃斯和切比雪夫?yàn)V波器所需的階數(shù)低,且過渡帶窄,可獲得更好的選頻特性。
3.2 Matlab程序設(shè)計(jì)
通過Matlab設(shè)計(jì)的帶通濾波器部分代碼如下:
N=5;
Wn=[1000 2000]/4000;
[b,a]=ellip(N,1,60,Wn);
[r,p,k]=residuez(b,a);
[b1,a1]=residuez(r(1:2),p(1:2),[]);
[b2,a2]=residuez(r(3:4),p(3:4),[]);
[b3,a3]=residuez(r(5:6),p(5:6),[]);
[b4,a4]=residuez(r(7:8),p(7:8),[]);
[b5,a5]=residuez(r(9:10),p(9:10),[]);
上述程序給出了橢圓濾波器模型設(shè)計(jì)的10階并聯(lián)型結(jié)構(gòu)的數(shù)字濾波器[6]。通帶為頻率1000~2000Hz,采樣頻率8000Hz,通帶衰減1dB,阻帶衰減60dB。
3.3 濾波器穩(wěn)定性問題
二階IIR濾波器傳遞函數(shù)為:
從式中可以看出,為確保穩(wěn)定性,極點(diǎn)必須位于單位圓之內(nèi)(即|p1|<1,|p2|<1),因此可以得到:
由Schur-Cohn穩(wěn)定性測(cè)試可以得到a1和a2的關(guān)系為:
只要滿足上述兩式的關(guān)系,就可以保證濾波器的穩(wěn)定性。
理論設(shè)計(jì)出的濾波器系數(shù)是無限精度的,但在實(shí)際的應(yīng)用中,所有的系數(shù)都必須是以二進(jìn)制數(shù)儲(chǔ)存在 計(jì)算機(jī)中,這就要求量化系數(shù),取有限精度的字長(zhǎng),相應(yīng)造成濾波器零極點(diǎn)的位置發(fā)生偏移,使得實(shí)際的頻率響應(yīng)和理論情況有所出入,情況嚴(yán)重時(shí)還可能使濾波器極點(diǎn)偏移至穩(wěn)定單位圓外,造成整個(gè)系統(tǒng)不穩(wěn)定。
導(dǎo)致這些不穩(wěn)定的因素主要有兩方面體現(xiàn):溢出和極限環(huán)。溢出問題可以通過飽和模式、保護(hù)位、對(duì)信號(hào)和/或系數(shù)進(jìn)行縮放等消除溢出效應(yīng);而對(duì)于極限環(huán)所造成的不穩(wěn)定,可以通過截尾法、降低濾波器階數(shù)、使用更多位來提高精度,移動(dòng)極點(diǎn)使其遠(yuǎn)離單位圓等方法來消除極限環(huán)[7]??傊?,在FPGA上實(shí)現(xiàn)IIR濾波器之前,檢查其穩(wěn)定性和有限字長(zhǎng)效應(yīng)是非常重要的。
3.4 濾波器系數(shù)量化精度造成的影響
在Simulink濾波器模型中,可以通過設(shè)定變量的方法可靈活控制濾波器系數(shù)字長(zhǎng),如圖1、2所示。
在圖2所示的Parameter Attri-
butes和Signal Attributes分別對(duì)應(yīng)的data type中可對(duì)其進(jìn)行變量設(shè)定;圖1所示的InitFcn函數(shù)可以對(duì)濾波器系數(shù)、加法器等設(shè)定與圖2相對(duì)應(yīng)的變量,并對(duì)其初始化。其優(yōu)勢(shì)在于當(dāng)需要改變?yōu)V波器字長(zhǎng)時(shí),無需通過對(duì)每個(gè)濾波器系數(shù)字長(zhǎng)逐一進(jìn)行修改,只需在InitFcn函數(shù)中對(duì)其對(duì)應(yīng)的初始化常量值進(jìn)行修改量化即可。不同的量化字長(zhǎng)對(duì)應(yīng)不同的濾波效果,對(duì)幅頻響應(yīng)造成的影響如圖3-6所示。
從所給的4幅圖形中不難看出,圖1-3幅頻特性基本達(dá)到濾波要求,但當(dāng)量化精度為13bits時(shí),對(duì)應(yīng)濾波器的幅頻響應(yīng)已經(jīng)不能很好的達(dá)到濾波的效果,因此在保證濾波器性能的前提下,最少的量化精度為14bits。
3.5 IIR量化的Simulink仿真
iir_10order和iir_10order1為相同的10階并聯(lián)型IIR數(shù)字濾波器,如圖7所示。
仿真模型[8]的輸入為2個(gè)帶內(nèi)(1kHz和1.5kHz)和2個(gè)帶外(0.5kHz和3kHz)共4個(gè)單頻信號(hào)與白噪聲信號(hào)相加,這些信號(hào)的幅度都可自行設(shè)置。iir_10order濾波器系數(shù)的量化精度為14bits,并以1 024點(diǎn)數(shù)據(jù)做FFT變換來觀察IIR數(shù)字濾波器濾波效果。下面以輸入4個(gè)-20dB單頻和-30dB白噪聲信號(hào)為例,運(yùn)行了1251×1024=1281024點(diǎn)的數(shù)據(jù),得到的仿真結(jié)果如圖8-10所示:
圖8是4個(gè)單頻信號(hào)(0.5kHz、1kHz、1.5kHz和3kHz)和白噪聲疊加未經(jīng)IIR濾波器濾波的仿真波形圖;圖9則是4個(gè)單頻信號(hào)和白噪聲經(jīng)過IIR濾波器后的仿真波形圖;圖10為只有白噪聲經(jīng)過濾波器后的仿真圖。從圖9中不難發(fā)現(xiàn),帶外的兩個(gè)單頻信號(hào)(0.5kHz和3kHz)和白噪聲均得到了有效的衰減,帶外抑制基本達(dá)到了60dB,帶內(nèi)的信號(hào)全部通過,證明選頻特性較好。通過這些圖形的對(duì)比可得出,文章前面確定14bits量化精度設(shè)計(jì)的IIR濾波器是滿足要求的。
4.結(jié)束語(yǔ)
本文設(shè)計(jì)了一種利用Matlab程序法設(shè)計(jì)的IIR帶通濾波器,采用的是橢圓模型5個(gè)二階環(huán)并聯(lián)的10階帶通濾波器,通過對(duì)濾波器的系數(shù)進(jìn)行量化處理,然后在Simulink環(huán)境下進(jìn)行了動(dòng)態(tài)仿真,確定了最終的量化字長(zhǎng),從仿真結(jié)果來看驗(yàn)證了濾波器良好的選頻特性。在實(shí)際應(yīng)用中,可根據(jù)FPGA硬件資源情況,靈活的修改濾波器系數(shù)從而改變?yōu)V波器頻率響應(yīng),根據(jù)Simulink生成的Verillog代碼下載至FPGA硬件上實(shí)現(xiàn)濾波性能。
參考文獻(xiàn)
[1]郭森楙,顏允圣.數(shù)字信號(hào)處理—體系結(jié)構(gòu)、實(shí)現(xiàn)與應(yīng)用[M].北京:清華大學(xué)出版社,2005:4-10.
[2]陳杰.MATLAB寶典[M].北京:電子工業(yè)出版社,2010:2-6.
[3]田耕,徐文波.Xilinx FPGA開發(fā)實(shí)用教程[M].北京:清華大學(xué)出版社,2008:370-378.
[4]羅海.基于FPGA的高速IIR數(shù)字濾波器設(shè)計(jì)與實(shí)現(xiàn)[D].成都:電子科技大學(xué),2007.
[5]Antoniou A.Digital Filters:Analysis and Design[M].McGraw-Hill Inc.,2000:267-280.
[6][美]Ingle Vihg K,Proakis John G.數(shù)字信號(hào)處理及MATLAB實(shí)現(xiàn)[M].北京:電子工業(yè)出版社,1998:201-212.
[7]Kaczorek T.General response formula for two-dimensional linear systems with variablecoefficients[J].IEEE.Trans.Autom.Contr.1986,31:278-283.
[8]Peled A,Liu B.A new hardware realization of digital filters[J].IEEE Trans.on Acoustics Speech and Signal Processing Newsletter,1974(6):456-462.
數(shù)字全通濾波器設(shè)計(jì)研究電子科技論文篇二
基于數(shù)字電位器的多頻段帶通濾波器設(shè)計(jì)
【摘要】通過單片機(jī)系統(tǒng)控制數(shù)字電位器的阻控值,實(shí)現(xiàn)了滾動(dòng)軸承振動(dòng)信號(hào)的多頻段濾波器中心頻率的控制和顯示。本文介紹了數(shù)字電位器的應(yīng)用,控制顯示部分的硬件及軟件設(shè)計(jì)。
【關(guān)鍵詞】數(shù)字電位器;I2C串行接口;濾波器
1.引言
為了獲取軸承振動(dòng)信號(hào)中某一指定頻段中的信號(hào)成分,可通過選用中心頻率可調(diào)的帶通濾波器來實(shí)現(xiàn),檢測(cè)過程中經(jīng)常需要改變中心頻率。濾波器的中心頻率與電路中的某個(gè)電阻值和電容值的乘積成反比,通常通過改變?yōu)V波器中心頻率相對(duì)應(yīng)的電阻值來改變中心頻率。改變電阻值的方法有調(diào)節(jié)電位器或用多路開關(guān)選擇阻值阻值的電阻來實(shí)現(xiàn)。但普通的電位器在調(diào)節(jié)過程中無法知道其準(zhǔn)確的阻值;而多路開關(guān)雖然可以準(zhǔn)確知道所選擇的阻值,但受限于開關(guān)的觸點(diǎn)數(shù)和電路板的尺寸,選擇的電阻個(gè)數(shù)是有限的,也就是說中心頻率的選擇是有限的。而數(shù)字電位器卻能夠較好的解決這兩個(gè)問題。首先,數(shù)字電位器在改變其阻值時(shí)可以確定其阻值。另外,數(shù)字電位器可改變的阻值數(shù)量根據(jù)型號(hào)的不同可以有256,512和1024檔數(shù)值,從而可以選擇到的中心頻率的數(shù)量也相應(yīng)增多,能夠滿足使用要求。
2.系統(tǒng)的總體設(shè)計(jì)
系統(tǒng)總體設(shè)計(jì)框圖如圖1所示。
數(shù)字電位器是狀態(tài)濾波器的一部分,其阻值可由單片機(jī)通過鍵盤來調(diào)節(jié)。這樣就可以通過鍵盤來調(diào)節(jié)其阻值,從而調(diào)整狀態(tài)濾波器的中心頻率f0,并且中心頻率又可以通過顯示器進(jìn)行顯示。
3.數(shù)字電位器的應(yīng)用
數(shù)字電位器也稱為數(shù)控電位器,是一種用數(shù)字信號(hào)控制其阻值改變的器件。數(shù)字電位器與機(jī)械電位器相比,具有可程控改變阻值,調(diào)節(jié)精度高,數(shù)據(jù)可讀寫,耐震動(dòng),噪聲小,壽命長(zhǎng)等優(yōu)點(diǎn),因而已在自動(dòng)檢測(cè)與控制,智能儀器儀表,消費(fèi)電子產(chǎn)品等領(lǐng)域得到成功應(yīng)用。
本文采用的數(shù)字電位器AD5254通過I2C總線與單片機(jī)連接。I2C總線采用兩線制實(shí)現(xiàn)全雙工同步數(shù)據(jù)傳送,可以極方便的構(gòu)成外圍器件擴(kuò)展系統(tǒng),它由數(shù)據(jù)線SDA和時(shí)鐘線SCL構(gòu)成。I2C總線為同步傳輸總線,數(shù)據(jù)線上信號(hào)完全與時(shí)鐘同步。數(shù)據(jù)傳送采用主從方式,即主器件尋址從器件,啟動(dòng)總線,產(chǎn)生時(shí)鐘,傳送數(shù)據(jù)及結(jié)束數(shù)據(jù)的傳送。
如圖2所示,芯片AD5254與單片機(jī)相連,可以控制4個(gè)可調(diào)電阻。也就是說一片AD5254可以視為4個(gè)數(shù)字電位器,而其阻值可由程序控制分別調(diào)整。每個(gè)電位器都有三個(gè)引出端,分別是A,B和W。A和B分別是電位器的兩個(gè)固定端,W是滑動(dòng)端。W端與B端之間的阻值與AD5254內(nèi)部的RADC寄存器中所寫的一字節(jié)數(shù)字量相對(duì)應(yīng)。由于一字節(jié)無符號(hào)數(shù)的取值為0-255,電位器被平均分成了255份,相當(dāng)于255個(gè)電阻串聯(lián)而成。所以W端與B端之間的阻值為RADC寄存器中的數(shù)量乘以一份阻值。
4.控制及顯示部分硬件設(shè)計(jì)
4.1 鍵盤控制方案
鍵盤控制部分采用獨(dú)立連接式非編碼鍵盤,每個(gè)按鍵都是彼此獨(dú)立的,分別可以實(shí)現(xiàn)阻值增大,減小,快進(jìn),快退,保存當(dāng)前阻值等功能。數(shù)字電位器AD5254是255個(gè)檔位,即255個(gè)等值電阻串聯(lián)而成,通過程序控制可以選擇256個(gè)檔位的任意一檔。那么阻值增大就是每按此鍵一次使阻值增大一檔,反之就是阻值減小??爝M(jìn)鍵每按一次會(huì)使阻值增大16個(gè)檔位。保存鍵的作用是保存當(dāng)前數(shù)字電位器的阻值,也即保存了當(dāng)前狀態(tài)濾波器的中心頻率f0,下次使用時(shí)重新上電后,數(shù)字電位器的阻值就是上次保存的阻值。
所以在調(diào)整好狀態(tài)濾波器的中心頻率f0后,按下保存鍵,下次使用時(shí)就不需要再重新調(diào)整了。增大阻值與減小阻值是通過對(duì)AD5254中RDAC寄存器中存放的數(shù)值加一或減一實(shí)現(xiàn)的。快進(jìn)與快退的功能是對(duì)RDAC寄存器中存放的數(shù)值循環(huán)加一或減一實(shí)現(xiàn)的。而快進(jìn)和快退的檔數(shù)就是循環(huán)的次數(shù)。保存功能的實(shí)現(xiàn)是通過AD5254中的MMEM寄存器實(shí)現(xiàn)的。MMEM寄存器是非易失性存儲(chǔ)器,它在重新上電后仍然保存掉電前存入的數(shù)據(jù)。把需要保存的數(shù)據(jù)存入MMEM寄存器,上電后再把此數(shù)據(jù)送入RDAC寄存器中即實(shí)現(xiàn)保存功能。
4.2 顯示電路設(shè)計(jì)
顯示部分采用LED數(shù)碼顯示管,用于顯示濾波器當(dāng)前的中心頻率。如圖3所示,LED與單片機(jī)的通訊是用兩根線完成的,分別是時(shí)鐘線C和數(shù)據(jù)線D。這是通過74LS164實(shí)現(xiàn)的。74LS164是8位移位寄存器,它的作用是串行出入并行輸出。單片機(jī)把數(shù)據(jù)串行傳送給74LS164,74LS164再把數(shù)據(jù)并行傳送給LED顯示。如圖3所示。
5.軟件設(shè)計(jì)
軟件設(shè)計(jì)的目的在于實(shí)現(xiàn)按鍵按下后能夠執(zhí)行按鍵所對(duì)應(yīng)的相應(yīng)功能,即改變數(shù)字電位器的阻值或保存數(shù)據(jù)。而在改變阻值后LED數(shù)碼管顯示器能夠顯示此阻值所對(duì)應(yīng)的狀態(tài)濾波器的中心頻率f0。程序的流程如圖4所示。
6.總結(jié)
該文設(shè)計(jì)的可調(diào)狀態(tài)濾波器由于采用了數(shù)字電位器調(diào)節(jié)其中心頻率,從而使用單片機(jī)進(jìn)行控制以及顯示其中心頻率成為可能。通過數(shù)字電位器便可以用數(shù)字信號(hào)來控制模擬信號(hào),使其實(shí)現(xiàn)振動(dòng)頻率掃描和便利調(diào)節(jié)等功能。該狀態(tài)濾波器具有通用性可作為智能儀器儀表的子模塊使用。
參考文獻(xiàn)
[1]胡漢才.單片機(jī)原理及其接口技術(shù)[M].北京:清華大學(xué)出版社,2005.
[2]王幸之,鐘愛琴,王雷,王閃.AT89系列單片機(jī)原理與接口技術(shù)[M].北京:北京航空航天大學(xué)出版社,2004,5.
[3](美)弗朗哥.基于運(yùn)算放大器和模擬集成電路的電路設(shè)計(jì)[M].西安交通大學(xué)出版社,2008.
[4]Arth our B.Willians,F(xiàn)red J.Teaylor.電子濾波器設(shè)計(jì)[M].科學(xué)出版社,2008.
[5]熊詩(shī)波,黃長(zhǎng)藝.機(jī)械工程測(cè)試技術(shù)基礎(chǔ)[M].機(jī)械工業(yè)出版社,2007.
看了“數(shù)字全通濾波器設(shè)計(jì)研究電子科技論文”的人還看:
數(shù)字全通濾波器設(shè)計(jì)研究電子科技論文
下一篇:水的浮力科學(xué)論文