一種基于FPGA的IIR數(shù)字濾波器的設(shè)計(jì)方法
【摘 要】無論是信號的獲取、傳輸,還是信號的處理和交換都離不開數(shù)字濾波,它對于信號安全有效的傳輸是至關(guān)重要的。 IIR(無限脈沖響應(yīng))濾波器被廣泛使用,它可以使用相對較低的階數(shù)來獲得較高的選擇性,F(xiàn)PGA(現(xiàn)場可編程門陣列)以其優(yōu)越的實(shí)時性和設(shè)計(jì)靈活性成為了控制系統(tǒng)中不可或缺的一部分。故本設(shè)計(jì)采用了一種基于FPGA的IIR數(shù)字濾波器的設(shè)計(jì)方法,首先分析了IIR數(shù)字濾波器的原理及基本結(jié)構(gòu),然后通過quartusⅡ的設(shè)計(jì)平臺,將整個IIR數(shù)字濾波器分為三個功能模塊:延時、加法器,乘法器。分別進(jìn)行了仿真和綜合。結(jié)果仿真表明,本課題所設(shè)計(jì)的IIR數(shù)字濾波器綜合來說運(yùn)算速度較快,系數(shù)改變靈活,有很好的參考價值。
【關(guān)鍵詞】IIR數(shù)字濾波器;quartusⅡ的設(shè)計(jì)平臺;FPGA(現(xiàn)場可編程門陣列)
1 IIR數(shù)字濾波器的基本網(wǎng)絡(luò)結(jié)構(gòu)
IIR(Infinite Impulse Response)數(shù)字濾波器,又名“無限脈沖響應(yīng)數(shù)字濾波器”,或“遞歸濾波器”。遞歸濾波器,也就是IIR濾波器,顧名思義,具有反饋,一般認(rèn)為具有無限的脈沖響應(yīng)。
IIR的濾波器的傳遞函數(shù)在平面上有極點(diǎn)存在,其單位脈沖響應(yīng)應(yīng)延續(xù)到無限長,對于給定的傳遞函數(shù)或差分方程,其結(jié)構(gòu)并不是唯一的,基本網(wǎng)絡(luò)結(jié)構(gòu)有三種,即直接型、級聯(lián)型和并聯(lián)型。
直接型IIR網(wǎng)絡(luò)是利用加法器、乘法器和延時器等基本運(yùn)算單位,以給定的形式直接實(shí)現(xiàn)差分方程。IIR數(shù)字濾波器的系統(tǒng)函數(shù)一般表示為:
級聯(lián)型一個N階的系統(tǒng)函數(shù)可以用它的零點(diǎn)與極點(diǎn)表示,IIR數(shù)字濾波器的級聯(lián)型結(jié)構(gòu)有以下特點(diǎn):
。1)簡化實(shí)現(xiàn),用一個二階節(jié),通過變換系數(shù)就可以實(shí)現(xiàn)整個系統(tǒng);
。2)調(diào)整系數(shù)β1i和β2i能單獨(dú)的調(diào)整IIR數(shù)字濾波器的第k對零點(diǎn),其它的零點(diǎn)不受影響。同樣,調(diào)整系數(shù)α1i和α2i能單獨(dú)地調(diào)整IIR數(shù)字濾波器的第k對極點(diǎn),其他極點(diǎn)不會受到影響。即每個二階節(jié)系數(shù)單獨(dú)控制一對零點(diǎn)和一對極點(diǎn);
(3)二階節(jié)的極,零點(diǎn)的搭配是可以互相換位置的,用合理的組合來減小運(yùn)算中的誤差;
。4)前一級的輸出是后一級的輸入,前級的誤差會傳輸給后一級,使誤差越來越大。
2 FPGA的工作原理
FPGA是由存放在片內(nèi)RAM中的程序來設(shè)置其工作狀態(tài)的,因此,工作時需要對片內(nèi)的RAM進(jìn)行編程。用戶可以根據(jù)不同的配置模式,采用不同的編程方式。
加電時,F(xiàn)PGA芯片將EPROM中數(shù)據(jù)讀入片內(nèi)編程RAM中,配置完成后,F(xiàn)PGA進(jìn)入工作狀態(tài)。掉電后,F(xiàn)PGA恢復(fù)成白片,內(nèi)部邏輯關(guān)系消失,因此,F(xiàn)PGA能夠反復(fù)使用。FPGA的編程無須專用的FPGA編程器,只須用通用的EPROM、PROM編程器即可。當(dāng)需要修改FPGA功能時,只需換一片EPROM即可。這樣,同一片F(xiàn)PGA,不同的編程數(shù)據(jù),可以產(chǎn)生不同的電路功能。因此,F(xiàn)PGA的使用非常靈活。
FPGA有多種配置模式:并行主模式為一片F(xiàn)PGA加一片EPROM的方式;主從模式可以支持一片PROM編程多片F(xiàn)PGA;串行模式可以采用串行PROM編程FPGA;外設(shè)模式可以將FPGA作為微處理器的外設(shè),由微處理器對其編程。
3 基于Quartus II的時序仿真
在FPGA的設(shè)計(jì)中,仿真是Z后一個重要的環(huán)節(jié)。對工程編譯通過后,必須對其功能和時序性質(zhì)進(jìn)行仿真測試,以了解設(shè)計(jì)結(jié)果是否滿足原設(shè)計(jì)要求。我們知道時序仿真與VHDL設(shè)計(jì)的程序有關(guān),還與延時也有關(guān)。時序仿真更加要貼近生活與實(shí)際,是對VHDL設(shè)計(jì)的系統(tǒng)與硬件器件特性仿真。但功能仿真的仿真與系統(tǒng)硬件沒有關(guān)系,硬件延時不考慮。僅僅在理想情況下可對系統(tǒng)進(jìn)行功能上的檢測。
其仿真流程的詳細(xì)步驟如下:
。1)打開波形編輯器;
。2)設(shè)置仿真時間區(qū)域;
。3)波形文件存盤;
。4)將工程的端口信號名選入波形編輯器中;
。5)編輯輸入波形(輸入激勵信號);
。6)總線數(shù)據(jù)格式設(shè)置;
(7)仿真器參數(shù)設(shè)置;
。8)啟動仿真器;
。9)觀察仿真結(jié)果。
4 IIR濾波器數(shù)字濾波器的單元電路設(shè)計(jì)
數(shù)字濾波器主要由加法器,乘法器和延時模塊三部分組成,我們可以通過硬件描述語言來設(shè)計(jì)所需要的模塊。這里研究的是延時模塊,乘法器,加法器與頂層模塊。
4.1 延時模塊的設(shè)計(jì)
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
use ieee.std_logic_arith.all;
entity delay is
port (clk:in std_logic;
res:in std_logic;
......
4.2 加法器的設(shè)計(jì)
加法器是數(shù)字系統(tǒng)中Z基本的運(yùn)算電路,其他運(yùn)算電路如減法器,乘法器等都可以利用加法器實(shí)現(xiàn)。
設(shè)計(jì)程序如下:
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
ENTITY adder4_beyond IS
PORT (a,b:IN std_logic_vector(3 downto 0);
cin:IN std_logic;
c:out std_logic_vector(3 downto 0); cout:out std_logic
。
END adder4_beyond;
ARCHITECTURE action OF adder4_beyond IS
SIGNAL m:std_logic_vector(2 downto 0);
......
4.3 乘法器的設(shè)計(jì)
設(shè)計(jì)程序如下:
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_unsigned.ALL;
USE IEEE.STD_LOGIC_arith.ALL;
ENTITY mul_4 IS
PORT (multiplicand:IN STD_LOGIC_VECTOR(3 downto 0);
multiplier:IN STD_LOGIC_VECTOR(3 downto 0);
out_data:OUT STD_LOGIC_VECTOR(7 downto 0)
。
END mul_4;ARCHITECTURE bhv OF mul_4 IS
……
通過對IIR濾波器進(jìn)行單位模塊的設(shè)計(jì), Z終實(shí)現(xiàn)了IIR濾波器系統(tǒng)設(shè)計(jì)。 IIR數(shù)字濾波器可用相對來說較低的階數(shù)獲得較好的選擇性,F(xiàn)PGA具有體系結(jié)構(gòu)和邏輯單元靈活、集成度高以及適用范圍廣等特點(diǎn),兼容了PLD和通用門陣列的優(yōu)點(diǎn),可實(shí)現(xiàn)較大規(guī)模的電路,編程也很靈活。與門陣列等其它ASIC相比,它又具有設(shè)計(jì)開發(fā)周期短、設(shè)計(jì)制造成本低、開發(fā)工具先進(jìn)、標(biāo)準(zhǔn)產(chǎn)品無需測試、質(zhì)量穩(wěn)定以及可��時在線檢驗(yàn)等優(yōu)點(diǎn),因此被廣泛應(yīng)用于產(chǎn)品的原型設(shè)計(jì)和產(chǎn)品生產(chǎn)之中。
【參考文獻(xiàn)】
[1]劉泉,列大順.數(shù)字信號處理與實(shí)現(xiàn)[M].北京:電子工業(yè)出版社,2005:2-12.
[2]林爭輝,林濤.基于可重構(gòu)FPGA技術(shù)的自適應(yīng)FIR濾波器的實(shí)現(xiàn)[J].電子工程師,2004(12):8-50.
[3]蘇金明,劉宏,劉波.MATLAB高級編程[M].北京:電子工業(yè)出版社,2005:331-337.
[責(zé)任編輯:楊玉潔]
進(jìn)展神速,國產(chǎn)SAW濾波器廠商超材信息完成A3輪融資
麥捷科技:SAW濾波器出貨規(guī)模不斷增加,毛利率明顯增長
基于單片機(jī)和μC/0S-II內(nèi)核實(shí)現(xiàn)串口通信模塊的設(shè)計(jì)
淺談帶有異步抽取濾波器的音頻模數(shù)轉(zhuǎn)換
推薦
NB-IoT物聯(lián)網(wǎng)壓力監(jiān)測終端、物聯(lián)網(wǎng)水壓監(jiān)測終端
工程師說 | 用于為ADAS應(yīng)用開發(fā)的電源系統(tǒng)的功能安全開發(fā)工具和方法
基于總線協(xié)議標(biāo)準(zhǔn)實(shí)現(xiàn)DeviceNet適配器的應(yīng)用設(shè)計(jì)
JJR2-110-Z、MPS5-Z185低壓380V晶閘管軟啟動器
縉云 PD284H-2×1 電力儀表 云南物聯(lián)網(wǎng)4g多功能電力儀表超硬核
PD8771-DX1 朔州高壓電纜耐壓試驗(yàn)在線咨詢