新聞中心

EEPW首頁 > EDA/PCB > 設計應用 > 基于FPGA的IIR數字濾波器硬件模塊的設計

基于FPGA的IIR數字濾波器硬件模塊的設計

作者: 時間:2008-04-18 來源:網絡 收藏
摘要:根據設計要求,利用Matlab信號處理工具箱中的濾波器,可以很方便地設計出符合應用要求的未經量化的濾波器,并進一步用VHDL語言加以描述,通過編譯、功能仿真、綜合和時序仿真之后就可以在上實現了。此設計擴展性好,在實際使用中,可適當修改外圍參數改變?yōu)V波器的頻率響應,根據不同的要求在不同規(guī)模的上加以實現。
關鍵詞:,級聯結構,

Abstract:The introduction of this paper is in height of the method of the high-step digital adopting cascade structure of wave filter in realizing on FPGA . the wave filter of Matlab design of in signal handling tool case are used to design the IIR wave filter that does not be quantified in accordance with application requirement very conveniently, and it is further described with VHDL language, through compiling, function emulatation, synthesis and can be realized on FPGA after sequential emulatation. This design development is good, and in actual use, the proper modificaion of peripheral parameter frequency that changes wave filter respondence can be realized according to different requirements on the FPGA of different scales.

Keywords: IIR digital wave filter; cascade structure; FPGA

1 引言

近年來由于半導體技術、計算機技術的成熟與迅速發(fā)展,使得科技與生活的密切結合,尤其是數字信號處理的突飛猛進,以及許多組件得以數字化及一體化,提供了小型、多功能、低成本與低功率消耗的特性。由于數字信號先天上優(yōu)于模擬信號,因此數字信號對噪聲的免疫力遠較模擬信號來得好,使得數字信號能長時間的保存或長距離的傳輸且比較不容易產生失真現象。數字信號處理(Digital Signal Processing DSP)在通信與信息系統(tǒng)、信號與信息系統(tǒng)、自動控制、雷達、軍事、航空航天、醫(yī)療和家用電器等眾多領域得到了廣泛應用。本設計是基于數字信號處理的基礎上,實現的IIR數字濾波,對于采集信號精度的提高,具有借鑒意義。

2 硬件系統(tǒng)介紹

2.1 系統(tǒng)框圖

系統(tǒng)硬件框圖如圖2.1所示。主要由A/D轉換、FPGA、存儲器和D/A轉換四部分組成。

2.2部分芯片介紹

一個電路的性能與元器件的選擇是密切相關的,下面將從控制芯片、存儲器、A/D轉換和D/A轉換四個方面介紹系統(tǒng)硬件設計。

數字信號處理芯片,我們選用采用Xilinx公司的XC2S50型號的FPGA芯片。用FPGA進行數據采集存儲的有以下優(yōu)點:(1)FPGA采取有多少數據轉換芯片用多少控制單元模塊的策略,功能控制模塊與數據轉換芯片是一一對應的關系,在硬件上保證了數據采集的完全并行性;(2)XC2S50芯片內有RAM塊,可以設計為數據緩沖,方便解決數據流阻塞的問題;(3)FPGA芯片讀寫速度較高,在采集和存儲速度都上不會存在任何問題;(4)FPGA的設計采用在線編程的方式進行,修改和調試都相當快捷、方便;(5)FPGA的外圍電路除了一塊配置芯片外,不再需要其他任何外圍器件,集成度高,可靠性強。

對于A/D和D/A轉換芯片,我們選用高精度的16位轉換芯片ADS8402和MAX5631,有利于提高所測數據的精度。

2.3 硬件工作過程

傳感器采集的模擬信號,經過ADS8402芯片以后轉換為數字信號,將數字信號輸入FPGA芯片中,FPGA芯片采用IIR數字濾波算法對輸入信號進行處理,將處理后的信號一方面可以通過數字接口進行傳輸,另一方面可以經AD變換以模擬量的形式輸出,通過前后輸出和輸入信號的對比,我們就可以直觀的分析濾波效果。

3 IIR的原理和設計

是實現數字濾波的核心器件,按類型分為2大類:無限沖激響應 IIR和有限沖激響應FIR數字濾波器。IIR數字濾波器在很多領域中有著廣闊的應用前景,與FIR數字濾波器相比,它可以用較低的階數獲得高選擇性,所要求的階用存儲單元少,且成本低、信號延遲小,同時還可以利用模擬濾波器設計成果,設計工作量相對較小。

3.1 IIR 數字濾波器的結構

高階IIR濾波器可通過傳遞函數, 表示為:

(3.1-1)

由于高階IIR濾波器可以用若干個二階網絡級聯起來構成。對于每一個二階基本節(jié),

它可以用轉置直接II型結構加以實現, 如圖3.1所示。


圖 3.1 標準二階部分的轉換

3.2 濾波器系數的計算

該系統(tǒng)的設計指標為:模擬信號采樣頻率為2MHZ,每周期最少采樣20點,即模擬信號的通帶邊緣頻率為fp = 100KHZ,阻帶邊緣頻率fs = 1MHz,通帶波動RP不大于0.1dB(通帶誤差不大于5%),阻帶衰減AS不小于32dB。

本系統(tǒng)函數H(z)的計算采用MATLAB軟件中數字信號處理工具箱比較方便,其中有兩個現成的函數可以使用:ellipord(Fp/π,Fs/π,Rp,As)函數用來計算數字橢圓濾波器的階次N和3dB截止頻率Fn,而 ellip(N,Rp,As,Fn)函數可以求得直接型橢圓IIR濾波器的各個系數。利用MATLAB軟件進行計算,可得:b =(0.0271 -0.0724 0.0984 -0.0724 0.0271),a =(1.0000 -3.3553 4.3439 -2.5578 0.5771)。

通過調用以上兩個函數計算得到的系統(tǒng)函數 :

(3.2-1)

上面的式子是直接型結構,它的實現需用的乘法器和延遲單元相對較多,而且分子和分母的系數相差較大,需要較多的二進制位數才能實現相應的精度要求。如果采用二階節(jié)級聯實現,一來各個基本節(jié)的零點、極點可以很方便地單獨進行調整,二來可以降低對二進制數位數的要求。下面給出了一個直接型結構轉為級聯型結構的 文件,即利用[b0,b,a]=dir2cas(b,a) ,可得b0 = 0.0271。對該系數進行合理安排后可得式(3.2-2):

為了使設計簡便以及資源得充分利用,我們應該對系數進行進一步的量化,將系數由小數轉化為整數,根據需要主要考慮量化精度和系統(tǒng)資源兩方面,將二階網絡的系數同時擴大N倍后作為新的系數,然后再將輸出網絡的系數縮小N倍,并用二進制數進行表示,如下表3.1所示:

表3.1濾波器系數擴大

系數

a0

a1

a2

b0

b1

IIR1

原數據

0.11

0.1041

0.11

1.58

0.6469

擴大1024 后的系數

113

107

113

1618

662

IIR2

原系數

0.2464

0.426

0.2464

1.7753

0.892

擴大1024 后的系數

252

436

252

1818

913

經過系數擴大后的系統(tǒng)函數級聯表達式為:

(3.2-3)

以下為用VHDL語言所編寫濾波器級聯結構的部分源程序

第一級乘累加器的源程序如下:

entity mac is

Port (clk:in std_logic;

x0:in bits8;

x1:in bits8;

x2:in bits8;

y0:in bits8;

y1:in bits8;

y2:out bits8

);

end mac;

architecture flex of mac is

begin

process

begin

wait until clk='1';

y2=(113*x2-107*x1+113*x0+1618*y1-662*y0)/1024;

end process;

end flex;

其中第二級乘累加器的源程序與第一級基本相似,第一級的乘累加器輸出為第二級乘累加器的一個輸入,其余輸入為第一級輸出經過寄存器后的輸出,或為反饋回來的信號,輸入時鐘和復位信號相同,第二級乘累加器的輸出,也為總的輸出,。

4 結束語

該驗證過程的輸入信號是一個正弦100HZ信號,在信號輸出穩(wěn)定后加上一個高脈沖200,一個低脈沖50,在初始狀態(tài)時,信號的值初始化為0,當X信號經過連續(xù)的輸入,信號逐漸穩(wěn)定,并輸入IIR濾波器的差分方程進行濾波,將干擾脈沖濾掉,輸出100HZ穩(wěn)定的正弦信號,該信號的通帶衰減為0.09 dB,阻帶衰減為32.7 dB,滿足設計要求。

參考文獻

[1] .羅鵬飛、楊世海、朱國富翻譯.[英]EmmanuelC.I feachor,BarrieW Jervis.數字信號處理實踐方法.[M]北京:電子工業(yè)出版社.2004;5:82~84

[2]雪倪,向東.基于FPGA的四階IIR數字濾波器,重慶師范學院信息技術系。4:71~75

[3]任勇峰,莊新敏.VHDL與硬件實現速成,國防工業(yè)出版社.2005;5:158~159

[4]王世一.數字信號處理[M],北京:北京理工大學出版社.1997;3:50~52

[5] 陳志高,李樹廣. 基于TMS320F2812的有源濾波器的設計.微計算機信息.2007;21(2):158~159



評論


相關推薦

技術專區(qū)

關閉