數字全通濾波器設計研究電子科技論文
在數字訊號處理的領域內,數字濾波技術是極其重要的一個分支。小編整理的,希望你能從中得到感悟!
篇一
基於FPGA的IIR帶通數字濾波器設計與模擬
【摘要】該文給出了用Matlab設計IIR帶通數字濾波器的方法,利用Matlab 語言進行程式設計出二階環為基礎的並聯結構模型,通過在Matlab 環境下模擬軟體Simulink對設計的帶通濾波器進行了動態模擬,確定了濾波器係數的量化字長。從模擬結果來看,設計的帶通數字濾波器既滿足濾波器的選頻特性,又優化了硬體資源。在實際的 應用中,可以根據不同FPGA資源靈活修改濾波器係數,在不同規模的FPGA上實現。
【關鍵詞】無限脈衝響應;帶通數字濾波器;量化字長;現場可程式設計門陣列
1.引言
在數字訊號處理的領域內,數字濾波技術是極其重要的一個分支。無論是訊號的獲取、傳輸,還是訊號的處理和交換都離不開數字濾波,它對於訊號安全有效的傳輸是至關重要的[1]。在主要的兩類數字濾波器中,IIR***無限脈衝響應***濾波器被廣泛使用。
Matlab是美國MathWorks公司出品的數學軟體,用於演算法開發、資料視覺化、資料分析以及數值計算的高階技術計算語言和互動式環境[2]。其中Matlab自帶的訊號處理工具箱,具有強大的訊號處理和分析功能,它提供了豐富簡便的設計,使原來繁瑣的程式設計簡化成函式的呼叫,這樣便可以快速有效的實現數字濾波器的設計與模擬。
FPGA***現場可程式設計門陣列***以其優越的實時性和設計靈活性成為了控制系統中不可或缺的一部分,它可利用Simulink設計模擬的有限字長IIR濾波器自動生成VHDL或Verilog程式碼,下載至FPGA實現濾波器功能[3]。本文研究了基於FPGA有限字長的IIR帶通數字濾波器的相關理論,設計方法及模擬。
2.IIR數字濾波器設計基本原理
數字IIR濾波器的設計都是基於模擬IIR濾波器,之後將其轉化為等價的數字濾波器[4]。其中衝擊響應不變法是一種較為常用的方法。其總的變化流程如下:
***1***
考慮到傳統濾波器計算量大,濾波特性不宜調整等缺點,如何解決這些問題便顯得極為關鍵。利用Matlab強大的數字訊號處理和計算能力可快速有效的設計數字濾波器,不僅極大的簡化了計算量,而且它可以隨時對比設計要求和濾波器特性進行引數調整,方便靈活[5]。
3.基於FPGA的IIR濾波器設計
3.1 濾波器設計方法的選擇
高階IIR數字濾波器的系統傳遞函式可表示為:
根據濾波器傳遞函式H***z***的不同表達形式,可以得出不同的實現結構。相對較為常用的3種結構為直接型,級聯型和並聯型。其中直接型對係數的敏感度最高,受有限字長造成的影響最大。級聯型H***z***的連線順序具有很大的自由度,因此在實際設計中這些組合方式,比例變化和H***z***的連線順序等都會產生很大的問題。並聯型濾波器則可以很好的克服上述兩種結構的缺點,因此在濾波器極點不重複時,並聯型濾波器被廣泛使用。
在相同效能的要求下,橢圓濾波器比巴特沃斯和切比雪夫濾波器所需的階數低,且過渡帶窄,可獲得更好的選頻特性。
3.2 Matlab程式設計
通過Matlab設計的帶通濾波器部分程式碼如下:
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***,[]***;
上述程式給出了橢圓濾波器模型設計的10階並聯型結構的數字濾波器[6]。通帶為頻率1000~2000Hz,取樣頻率8000Hz,通帶衰減1dB,阻帶衰減60dB。
3.3 濾波器穩定性問題
二階IIR濾波器傳遞函式為:
從式中可以看出,為確保穩定性,極點必須位於單位圓之內***即|p1|<1,|p2|<1***,因此可以得到:
由Schur-Cohn穩定性測試可以得到a1和a2的關係為:
只要滿足上述兩式的關係,就可以保證濾波器的穩定性。
理論設計出的濾波器係數是無限精度的,但在實際的應用中,所有的係數都必須是以二進位制數儲存在 計算機中,這就要求量化係數,取有限精度的字長,相應造成濾波器零極點的位置發生偏移,使得實際的頻率響應和理論情況有所出入,情況嚴重時還可能使濾波器極點偏移至穩定單位圓外,造成整個系統不穩定。
導致這些不穩定的因素主要有兩方面體現:溢位和極限環。溢位問題可以通過飽和模式、保護位、對訊號和/或係數進行縮放等消除溢位效應;而對於極限環所造成的不穩定,可以通過截尾法、降低濾波器階數、使用更多位來提高精度,移動極點使其遠離單位圓等方法來消除極限環[7]。總之,在FPGA上實現IIR濾波器之前,檢查其穩定性和有限字長效應是非常重要的。
3.4 濾波器係數量化精度造成的影響
在Simulink濾波器模型中,可以通過設定變數的方法可靈活控制濾波器係數字長,如圖1、2所示。
在圖2所示的Parameter Attri-
butes和Signal Attributes分別對應的data type中可對其進行變數設定;圖1所示的InitFcn函式可以對濾波器係數、加法器等設定與圖2相對應的變數,並對其初始化。其優勢在於當需要改變濾波器字長時,無需通過對每個濾波器係數字長逐一進行修改,只需在InitFcn函式中對其對應的初始化常量值進行修改量化即可。不同的量化字長對應不同的濾波效果,對幅頻響應造成的影響如圖3-6所示。
從所給的4幅圖形中不難看出,圖1-3幅頻特性基本達到濾波要求,但當量化精度為13bits時,對應濾波器的幅頻響應已經不能很好的達到濾波的效果,因此在保證濾波器效能的前提下,最少的量化精度為14bits。
3.5 IIR量化的Simulink模擬
iir_10order和iir_10order1為相同的10階並聯型IIR數字濾波器,如圖7所示。
模擬模型[8]的輸入為2個帶內***1kHz和1.5kHz***和2個帶外***0.5kHz和3kHz***共4個單頻訊號與白噪聲訊號相加,這些訊號的幅度都可自行設定。iir_10order濾波器係數的量化精度為14bits,並以1 024點資料做FFT變換來觀察IIR數字濾波器濾波效果。下面以輸入4個-20dB單頻和-30dB白噪聲訊號為例,運行了1251×1024=1281024點的資料,得到的模擬結果如圖8-10所示:
圖8是4個單頻訊號***0.5kHz、1kHz、1.5kHz和3kHz***和白噪聲疊加未經IIR濾波器濾波的模擬波形圖;圖9則是4個單頻訊號和白噪聲經過IIR濾波器後的模擬波形圖;圖10為只有白噪聲經過濾波器後的模擬圖。從圖9中不難發現,帶外的兩個單頻訊號***0.5kHz和3kHz***和白噪聲均得到了有效的衰減,帶外抑制基本達到了60dB,帶內的訊號全部通過,證明選頻特性較好。通過這些圖形的對比可得出,文章前面確定14bits量化精度設計的IIR濾波器是滿足要求的。
4.結束語
本文設計了一種利用Matlab程式法設計的IIR帶通濾波器,採用的是橢圓模型5個二階環並聯的10階帶通濾波器,通過對濾波器的係數進行量化處理,然後在Simulink環境下進行了動態模擬,確定了最終的量化字長,從模擬結果來看驗證了濾波器良好的選頻特性。在實際應用中,可根據FPGA硬體資源情況,靈活的修改濾波器係數從而改變濾波器頻率響應,根據Simulink生成的Verillog程式碼下載至FPGA硬體上實現濾波效能。
參考文獻
[1]郭森楙,顏允聖.數字訊號處理—體系結構、實現與應用[M].北京:清華大學出版社,2005:4-10.
[2]陳杰.MATLAB寶典[M].北京:電子工業出版社,2010:2-6.
[3]田耕,徐文波.Xilinx FPGA開發實用教程[M].北京:清華大學出版社,2008:370-378.
[4]羅海.基於FPGA的高速IIR數字濾波器設計與實現[D].成都:電子科技大學,2007.
[5]Antoniou A.Digital and Design[M].McGraw-Hill Inc.,2000:267-280.
[6][美]Ingle Vihg K,Proakis John G.數字訊號處理及MATLAB實現[M].北京:電子工業出版社,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.
篇二
基於數字電位器的多頻段帶通濾波器設計
【摘要】通過微控制器系統控制數字電位器的阻控值,實現了滾動軸承振動訊號的多頻段濾波器中心頻率的控制和顯示。本文介紹了數字電位器的應用,控制顯示部分的硬體及軟體設計。
【關鍵詞】數字電位器;I2C序列介面;濾波器
1.引言
為了獲取軸承振動訊號中某一指定頻段中的訊號成分,可通過選用中心頻率可調的帶通濾波器來實現,檢測過程中經常需要改變中心頻率。濾波器的中心頻率與電路中的某個電阻值和電容值的乘積成反比,通常通過改變濾波器中心頻率相對應的電阻值來改變中心頻率。改變電阻值的方法有調節電位器或用多路開關選擇阻值阻值的電阻來實現。但普通的電位器在調節過程中無法知道其準確的阻值;而多路開關雖然可以準確知道所選擇的阻值,但受限於開關的觸點數和電路板的尺寸,選擇的電阻個數是有限的,也就是說中心頻率的選擇是有限的。而數字電位器卻能夠較好的解決這兩個問題。首先,數字電位器在改變其阻值時可以確定其阻值。另外,數字電位器可改變的阻值數量根據型號的不同可以有256,512和1024檔數值,從而可以選擇到的中心頻率的數量也相應增多,能夠滿足使用要求。
2.系統的總體設計
系統總體設計框圖如圖1所示。
數字電位器是狀態濾波器的一部分,其阻值可由微控制器通過鍵盤來調節。這樣就可以通過鍵盤來調節其阻值,從而調整狀態濾波器的中心頻率f0,並且中心頻率又可以通過顯示器進行顯示。
3.數字電位器的應用
數字電位器也稱為數控電位器,是一種用數字訊號控制其阻值改變的器件。數字電位器與機械電位器相比,具有可程控改變阻值,調節精度高,資料可讀寫,耐震動,噪聲小,壽命長等優點,因而已在自動檢測與控制,智慧儀器儀表,消費電子產品等領域得到成功應用。
本文采用的數字電位器AD5254通過I2C匯流排與微控制器連線。I2C匯流排採用兩線制實現全雙工同步資料傳送,可以極方便的構成外圍器件擴充套件系統,它由資料線SDA和時鐘線SCL構成。I2C匯流排為同步傳輸匯流排,資料線上訊號完全與時鐘同步。資料傳送採用主從方式,即主器件定址從器件,啟動匯流排,產生時鐘,傳送資料及結束資料的傳送。
如圖2所示,晶片AD5254與微控制器相連,可以控制4個可調電阻。也就是說一片AD5254可以視為4個數字電位器,而其阻值可由程式控制分別調整。每個電位器都有三個引出端,分別是A,B和W。A和B分別是電位器的兩個固定端,W是滑動端。W端與B端之間的阻值與AD5254內部的RADC暫存器中所寫的一位元組數字量相對應。由於一位元組無符號數的取值為0-255,電位器被平均分成了255份,相當於255個電阻串聯而成。所以W端與B端之間的阻值為RADC暫存器中的數量乘以一份阻值。
4.控制及顯示部分硬體設計
4.1 鍵盤控制方案
鍵盤控制部分採用獨立連線式非編碼鍵盤,每個按鍵都是彼此獨立的,分別可以實現阻值增大,減小,快進,快退,儲存當前阻值等功能。數字電位器AD5254是255個檔位,即255個等值電阻串聯而成,通過程式控制可以選擇256個檔位的任意一檔。那麼阻值增大就是每按此鍵一次使阻值增大一檔,反之就是阻值減小。快進鍵每按一次會使阻值增大16個檔位。儲存鍵的作用是儲存當前數字電位器的阻值,也即儲存了當前狀態濾波器的中心頻率f0,下次使用時重新上電後,數字電位器的阻值就是上次儲存的阻值。
所以在調整好狀態濾波器的中心頻率f0後,按下儲存鍵,下次使用時就不需要再重新調整了。增大阻值與減小阻值是通過對AD5254中RDAC暫存器中存放的數值加一或減一實現的。快進與快退的功能是對RDAC暫存器中存放的數值迴圈加一或減一實現的。而快進和快退的檔數就是迴圈的次數。儲存功能的實現是通過AD5254中的MMEM暫存器實現的。MMEM暫存器是非易失性儲存器,它在重新上電後仍然儲存掉電前存入的資料。把需要儲存的資料存入MMEM暫存器,上電後再把此資料送入RDAC暫存器中即實現儲存功能。
4.2 顯示電路設計
顯示部分採用LED數碼顯示管,用於顯示濾波器當前的中心頻率。如圖3所示,LED與微控制器的通訊是用兩根線完成的,分別是時鐘線C和資料線D。這是通過74LS164實現的。74LS164是8位移位暫存器,它的作用是序列出入並行輸出。微控制器把資料序列傳送給74LS164,74LS164再把資料並行傳送給LED顯示。如圖3所示。
5.軟體設計
軟體設計的目的在於實現按鍵按下後能夠執行按鍵所對應的相應功能,即改變數字電位器的阻值或儲存資料。而在改變阻值後LED數碼管顯示器能夠顯示此阻值所對應的狀態濾波器的中心頻率f0。程式的流程如圖4所示。
6.總結
該文設計的可調狀態濾波器由於採用了數字電位器調節其中心頻率,從而使用微控制器進行控制以及顯示其中心頻率成為可能。通過數字電位器便可以用數字訊號來控制模擬訊號,使其實現振動頻率掃描和便利調節等功能。該狀態濾波器具有通用性可作為智慧儀器儀表的子模組使用。
參考文獻
[1]胡漢才.微控制器原理及其介面技術[M].北京:清華大學出版社,2005.
[2]王幸之,鍾愛琴,王雷,王閃.AT89系列微控制器原理與介面技術[M].北京:北京航空航天大學出版社,2004,5.
[3]***美***弗朗哥.基於運算放大器和模擬積體電路的電路設計[M].西安交通大學出版社,2008.
[4]Arth our B.Willians,Fred J.Teaylor.電子濾波器設計[M].科學出版社,2008.
[5]熊詩波,黃長藝.機械工程測試技術基礎[M].機械工業出版社,2007.
一處自然景觀四年級作文