當(dāng)前位置:首頁 > EDA > 電子設(shè)計(jì)自動(dòng)化
[導(dǎo)讀]IIR數(shù)字濾波器設(shè)計(jì)-在FPGA上實(shí)現(xiàn)任意階IIR數(shù)字濾波器摘 要:本文介紹了一種采用級(jí)聯(lián)結(jié)構(gòu)在FPGA上實(shí)現(xiàn)任意階IIR數(shù)字濾波器的方法。此設(shè)計(jì)擴(kuò)展性好,便于調(diào)節(jié)濾波器的性能,可以根據(jù)不同的要求在不同規(guī)模的FPGA上加以實(shí)

IIR數(shù)字濾波器設(shè)計(jì)-在FPGA上實(shí)現(xiàn)任意階IIR數(shù)字濾波器

摘 要:本文介紹了一種采用級(jí)聯(lián)結(jié)構(gòu)在FPGA上實(shí)現(xiàn)任意階IIR數(shù)字濾波器的方法。此設(shè)計(jì)擴(kuò)展性好,便于調(diào)節(jié)濾波器的性能,可以根據(jù)不同的要求在不同規(guī)模的FPGA上加以實(shí)現(xiàn)。

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

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

其中為如下的二階形式:

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

IIR數(shù)字濾波器的設(shè)計(jì)

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

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

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

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

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

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

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

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

IIR數(shù)字濾波器的VHDL描述

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

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

此結(jié)構(gòu)既可以接收串行輸入的數(shù)據(jù),也可以接收并行輸入的數(shù)據(jù),通過SEL進(jìn)行設(shè)置。外部CPU可以通過READ信號(hào)來訪問濾波器的計(jì)算結(jié)果,另外,外部CPU也可以通過地址總線A[3:0]對內(nèi)部的存儲(chǔ)器進(jìn)行訪問,用WRITE信號(hào)對濾波器系數(shù)進(jìn)行寫操作,這樣外部CPU就可以根據(jù)自己的需要對濾波器進(jìn)行配置,靈活地實(shí)現(xiàn)各種功能。 各信號(hào)的含義如下:

CLK:系統(tǒng)時(shí)鐘;
RES:異步全局復(fù)位信號(hào),低有效;
SDATA:串行輸入數(shù)據(jù);
PDATA:并行輸入數(shù)據(jù);
SEL:設(shè)置輸入數(shù)據(jù)為并行還是串行;
READ:讀信號(hào),低有效;
WRITE:寫信號(hào),低有效;
SRES:同步復(fù)位信號(hào),高有效;
CLKI:外部CPU時(shí)鐘;
A[3:0]:外部CPU訪問內(nèi)部寄存器的地址總線;
OUT:輸出數(shù)據(jù)。

內(nèi)部算術(shù)與邏輯單元是整個(gè)濾波器的核心,它的結(jié)構(gòu)如圖4所示。

計(jì)算過程是,X、Y為輸入數(shù)據(jù),通過選擇器進(jìn)入乘法器,算術(shù)與邏輯單元從系數(shù)ROM中讀取濾波器的系數(shù)用以輸入數(shù)據(jù)相乘,相乘的結(jié)果與前一步的結(jié)果相加進(jìn)入累加器,累加器讀取上一步計(jì)算的中間結(jié)果A并計(jì)算,最后將此步計(jì)算的結(jié)果M存入到RAM中去。

結(jié)語

本文介紹了一種采用級(jí)聯(lián)結(jié)構(gòu)在FPGA上實(shí)現(xiàn)IIR數(shù)字濾波器的方法。在實(shí)際使用中,可以根據(jù)不同精度要求,方便地對該IIR濾波器進(jìn)行修改以滿足不同的指標(biāo)要求,靈活地組成任意階不同類型的濾波器。同時(shí),在系統(tǒng)運(yùn)行中,外部CPU可以靈活修改濾波器系數(shù),改變?yōu)V波器的頻率響應(yīng),滿足特定的應(yīng)用要求。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動(dòng)力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉