<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > EDA/PCB > 設計應用 > IIR數字濾波器設計-在FPGA上實(shí)現任意階IIR數字濾波

IIR數字濾波器設計-在FPGA上實(shí)現任意階IIR數字濾波

作者: 時(shí)間:2012-03-26 來(lái)源:網(wǎng)絡(luò ) 收藏

-在上實(shí)現任意階濾波器

本文引用地址:http://dyxdggzs.com/article/190596.htm

摘 要:本文介紹了一種采用級聯(lián)結構在上實(shí)現任意階濾波器的方法。此設計擴展性好,便于調節濾波器的性能,可以根據不同的要求在不同規模的上加以實(shí)現。

IIR數字濾波器在很多領(lǐng)域中有著(zhù)廣闊的應用。與FIR數字濾波器相比,它可以用較低的階數獲得高選擇性,所用存儲單元少,經(jīng)濟而效率高,在相同門(mén)級規模和相同時(shí)鐘速度下可以提供更好的帶外衰減特性。下面介紹一種在FPGA上實(shí)現IIR數字濾波器的方法。

IIR數字濾波器的結構 任意階的IIR濾波器可通過(guò)數學(xué)分解,表示為:

9.jpg

采用這種級聯(lián)結構實(shí)現IIR濾波器的優(yōu)點(diǎn)是每一個(gè)基本節只是關(guān)系到濾波器的某一對極點(diǎn)和一對零點(diǎn),調整系數a0i、a1i、a2i,只單獨地調整了濾波器第i對零點(diǎn)而不影響其他任何零、極點(diǎn)。同樣,調整b1i、b2i系數、也只單獨調整了第i對極點(diǎn)。因此,這種結構便于準確地實(shí)現濾波器的零、極點(diǎn),也便于調整濾波器的頻率響應性能。這種結構的另一個(gè)優(yōu)點(diǎn)是存儲單元需要較少,在硬件實(shí)現時(shí),可以用一個(gè)二階節進(jìn)行時(shí)分復用,從而降低對FPGA硬件資源的要求。

IIR數字濾波器的設計

利用MATLAB信號處理工具箱中的和分析工具(EDATool)可以很方便地設計出符合應用要求的未經(jīng)量化的IIR濾波器。需要將MATLAB設計出的IIR濾波器進(jìn)一步分解和量化,從而獲得可用FPGA實(shí)現的濾波器系數。

由于采用了級聯(lián)結構,因此如何將濾波器的每一個(gè)極點(diǎn)和零點(diǎn)相組合,從而使得數字濾波器輸出所含的噪聲最小是個(gè)十分關(guān)鍵的問(wèn)題。為了產(chǎn)生最優(yōu)的量化后的IIR數字濾波器,采用如下步驟進(jìn)行設計:

首先計算整體傳遞函數的零極點(diǎn);

選取具有最大幅度的極點(diǎn)以及距離它最近的零點(diǎn),使用它們組成一個(gè)二階基本節的傳遞函數;

對于剩下的極點(diǎn)和零點(diǎn)采用與(2)相類(lèi)似的步驟,直至形成所有的二階基本節。

通過(guò)上面三步法進(jìn)行的設計可以保證IIR數字濾波器中N位乘法器產(chǎn)生的量化舍入誤差最小。 為了設計出可用FPGA實(shí)現的數字濾波器,需要對上一步分解獲得的二階基本節的濾波器系數進(jìn)行量化,即用一個(gè)固定的字長(cháng)加以表示。量化過(guò)程中由于存在不同程度的量化誤差,由此會(huì )導致濾波器的頻率響應出現偏差,嚴重時(shí)會(huì )使IIR濾波器的極點(diǎn)移到單位圓之外,系統因而失去穩定性。為了獲得最優(yōu)的濾波器系數,采用以下步驟進(jìn)行量化:

計算每個(gè)系數的絕對值;
查找出每個(gè)系數絕對值中的最大值;
計算比此絕對值大的最小整數;
對(3)的結果取反獲得負整數;
計算需要表示此整數的最小位數;
計算用于表示系數值分數部分的余下位數。

除了系數存在量化誤差,數字濾波器運算過(guò)程中有限字長(cháng)效應也會(huì )造成誤差,因此對濾波器中乘法器、加法器及寄存器的數據寬度要也進(jìn)行合理的設計,以防止產(chǎn)生極限環(huán)現象和溢出振蕩。

IIR數字濾波器的VHDL描述

由上一節設計出來(lái)的IIR數字濾波器可以進(jìn)一步用VHDL語(yǔ)言加以描述,通過(guò)編譯、功能仿真、綜合和時(shí)序仿真之后就可以在FPGA上實(shí)現了。由于采用了級聯(lián)結構,每一個(gè)二階基本節的VHDL描述都是類(lèi)似的,只是濾波器的系數有所不同,下面著(zhù)重討論二階基本節的VHDL描述。

采用VHDL描述的二階基本節的頂層結構如圖3所示。數據在執行單元內進(jìn)行處理。執行單元內部包含算術(shù)和邏輯單元以及一些寄存器;算術(shù)和邏輯單元主要由串行乘法器和累加器組成;存儲器包括工作RAM和系數ROM兩部分,分別用于存放計算的中間結果和濾波器的系數;存儲器和執行單元通過(guò)內部總線(xiàn)相連接;控制模塊包括程序ROM和程序控制單元,程序ROM中存放有濾波算法的程序,程序控制單元用于解釋指令并為數據處理模塊產(chǎn)生控制信號。

10.jpg

電源濾波器相關(guān)文章:電源濾波器原理


絕對值編碼器相關(guān)文章:絕對值編碼器原理
數字濾波器相關(guān)文章:數字濾波器原理

上一頁(yè) 1 2 下一頁(yè)

關(guān)鍵詞: IIR FPGA 數字 濾波器設計

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>