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