《電子技術(shù)應用》
您所在的位置:首頁 > EDA與制造 > 設計應用 > 高階FIR濾波器的計算機設計與FPGA實現(xiàn)
高階FIR濾波器的計算機設計與FPGA實現(xiàn)
現(xiàn)代電子技術(shù)
華 玲,常建平 南京航空航天大學
摘要: 本文在結(jié)合Matlab和FPGA軟件QuartusⅡ的基礎上,完成了一種基于LPM參數(shù)化宏功能模塊的FIR濾波器設計,該法是基于工程實際應用提出的,它對信號處理速率的要求不高,但對濾波器的階數(shù)較高。當設計指標改變,只需調(diào)整各模塊的參數(shù),即可完成新的設計,該法已應用在實際工程中。
Abstract:
Key words :

摘要:根據(jù)有限沖擊響應(FIR)數(shù)字濾波器的原理,綜合運用Matlab" title="Matlab">Matlab和FPGA" title="FPGA">FPGA的QuartusⅡ" title="QuartusⅡ">QuartusⅡ兩大計算機軟件,提出了一種利用QuartusⅡ中參數(shù)化宏功能模塊(LPM)的FIR濾波器設計方法。首先利用Matlab設計濾波器系數(shù),再利用QuartusⅡ的LPM構(gòu)造的乘法器和加法器,最終得到濾波結(jié)果。相比分布式算法,該法在信號處理速率要求不高,且濾波器階數(shù)較高的情況下,可更加簡單地實現(xiàn)濾波效果。最終在Matlab和Quar-tusⅡ的基礎上,實現(xiàn)了64階的高階FIR數(shù)字濾波器電路的設計與仿真。
關(guān)鍵詞:FlR濾波器;Matlab QuartusⅡ;參數(shù)化功能模塊庫

    相對無限沖擊響應(IIR)濾波器,有限沖擊響應(FIR)能夠在滿足濾波器幅頻響應的同時獲得嚴格的線性相位特性,而數(shù)據(jù)通信、語音信號處理等領(lǐng)域往往要求信號在傳輸過程中不能有明顯的相位失真,所以FIR濾波器獲得了更廣泛的應用。FIR濾波器有多種設計和實現(xiàn)方法,最為常用的是基于分布式算法的FIR濾波器設計。該法利用構(gòu)造查找表,流水線操作完成濾波過程,極大地提高了系統(tǒng)的處理效率。然而,查找表所要求的系統(tǒng)存儲器容量隨濾波器的階數(shù)成指數(shù)上漲。本文基于工程實際出發(fā),在信號處理速率要求不高且濾波器階數(shù)較高的情況下,提出了一種基于LPM參數(shù)化宏功能模塊的FIR濾波器設計方法,具有一定的工程實用價值。

1 FIR濾波器的原理與設計方法
1.1 FIR濾波器的原理

    FIR濾波器的數(shù)學表達式為:
    1.JPG
    式中:N為FIR濾波器的抽頭數(shù);x(n)為第n時刻的輸入樣本;h(k)為FIR濾波器第k級抽頭系數(shù)。
    直接型FIR濾波器結(jié)構(gòu)如圖1所示。

2.JPG


    由圖1可見,F(xiàn)IR的濾波過程就是一個信號逐級延遲的過程,將各級的延遲輸出加權(quán)累加,即得到FIR的輸出,其中最主要的算法是乘累加運算。由于FIR每完成一次濾波過程就需要進行N次乘法和N-1次加法操作,所以FIR濾波的運算量完全依賴于N的大小。
1.2 分布式FIR濾波器設計
    分布式算法(Distributed Arithmetic,DA)早在1973年就已經(jīng)被Croisier提出,直到現(xiàn)場可編程門陣列(Field Programmable Gate Ar-ray,F(xiàn)PGA)的查找表(Look Up Table,LUT)結(jié)構(gòu)出現(xiàn),這種算法才重新受到重視,其主要原理如下。
    為了分析簡單,將FIR濾波器的表達式(1)改寫為:
3.JPG
    可見,分布式算法是一種以實現(xiàn)“乘-加”單元為目的的優(yōu)化解決方案。利用一個查找表(LUT)實現(xiàn)映射,即用一個2k字寬(即2k行),預先編好程序中LUT接收到的一個K位輸入向量Xb=[X0b,X1b,…,X(k-1)b]的映射,經(jīng)查找表的查找后直接輸出部分積4.JPG。然而,由上述可知,查找表字寬為2k,如果濾波器的抽頭系數(shù)過多,則查找表的規(guī)模隨抽頭系數(shù)的增加成指數(shù)級增長,這將使LUT的規(guī)模十分龐大。為了減小規(guī)模,可以利用部分表計算法,即將一個大的查找表化分為幾個小的查找表,然后再將結(jié)果相加。
1.3 基于LPM參數(shù)化宏功能模塊的FIR濾波器設計
    由1.2節(jié)可見,分布式算法極大地減少了硬件電路規(guī)模,很容易實現(xiàn)流水線技術(shù),不僅使電路的執(zhí)行速度得以提高,使得信號的處理效率大幅度提高。然而,當系統(tǒng)所要求的處理速度不高時,可利用QuartusⅡ中的LPM參數(shù)化宏功能模塊來設計FIR濾波器;當濾波器系數(shù)較大時,該法不需要像分布式算法那樣構(gòu)造龐大的查找表或多個小的查找表。
1.3.1 LPM參數(shù)化功能模塊簡述
    LPM是參數(shù)可設置模塊庫(Library of Parameterized Modules)的英文縮寫,設計者可以根據(jù)實際電路的需要,選擇LPM庫中的適當模塊,并為其設定適當?shù)膮?shù),以滿足設計的要求。常用的LPM宏功能模塊有諸如累加器、加法器和乘法器等的算術(shù)組件;多路復用器和LPM門函數(shù)還有諸如和I/O組件、存儲器編譯器等等的門電路,用戶可以根據(jù)自身需要查閱相關(guān)的資料。本文正是利用其中的乘法器和累加器來完成FIR濾波器的設計。
1.3.2 FIR濾波器的設計
    在QuartusⅡ中,利用“Megawizard”向?qū)伤璧哪K,其界面如圖2所示。

5.JPG


    選擇圖中左側(cè)Arithmetic中的LPM_MULT得到圖3的界面,根據(jù)技術(shù)指標選擇合適的參數(shù),即可生成乘法器模塊,按其向?qū)В瓿沙朔ㄆ鲄?shù)的設置(如乘數(shù)的位數(shù),是否有符號數(shù)相乘等)。加法器模塊的構(gòu)造類似,不再詳述。

6.JPG


    以本文設計的FIR濾波器為例(后面詳述),輸入信號的速率為2 MHz(周期為500 ns),濾波器的階數(shù)為64階,由此構(gòu)造了8個乘法器(最多可以構(gòu)造25個),分8次完成所有的乘法。相對分布式算法的流水速度而言,構(gòu)造的乘法器完成一次乘法需要20 ns,相對耗時長一點,但是完成8次乘法也只需8×20=160 ns,小于輸入信號一個周期的時間,因此滿足設計需求。將輸入數(shù)據(jù)的一個周期平均分為8個時間塊,每個時間內(nèi)的FIR濾波設計模塊的框圖如圖4所示。

8.JPG


    其他7個時間塊內(nèi)的FIR濾波器模塊同圖4,所不同的是參與乘法運算的信號輸入數(shù)據(jù)和濾波器抽頭系數(shù)不同,分別從x(n-8)到x(n-63)和h(8)到h(63)。待8個乘加模塊的結(jié)果均送入寄存器后,再在最后一個時間塊內(nèi)完成累加得到最終的輸出(相對乘法運算而言,完成累加的時間可以忽略),其實現(xiàn)框圖如圖5。
    結(jié)合圖4和圖5,可全部完成基于LPM參數(shù)化宏功能模塊的FIR濾波器設計。由兩圖可以發(fā)現(xiàn),有多個全加器,且輸入數(shù)據(jù)的位數(shù)(bit數(shù))不同,只要調(diào)節(jié)LPM宏功能模塊的參數(shù)即可方便地完成設計,輸出數(shù)據(jù)y(n)的位數(shù)則根據(jù)工程需要取最終累加結(jié)果的高12位。取高12位帶來的誤差為7.JPG(最高位為符號位,不予數(shù)值考慮),這是可以接受的誤差。

2 基于Matlab和QuartusⅡ的FIR濾波器設計
2.1 利用Matlab進行濾波器系數(shù)設計

    設計指標:采樣頻率為2 MHz,f1=200 kHz,f2=330 kHz,通帶衰減1 dB,阻帶衰減70 dB。通過參數(shù)指標確定所需的階數(shù)和參數(shù)值,部分程序如下:
9.JPG


    由圖6驗證設計指標。

10.JPG


    如果設計指標不滿足,則可通過調(diào)整濾波器參數(shù)直至滿足設計要求。
2.2 利用QuartusⅡ進行設計和仿真
    對Matlab產(chǎn)生的FIR濾波器抽頭系數(shù),用QuartusⅡ進行仿真。QuartusⅡ軟件是Altera公司主推的FGPA設計軟件,是集設計輸入、編譯、綜合、仿真、布線、下載于一體的設計軟件。由于Matlab產(chǎn)生的濾波器抽頭系數(shù)為小數(shù),根據(jù)工程需要將其轉(zhuǎn)換為18位二進制系數(shù)使用。過程如下:
    由Matlab產(chǎn)生的FIR數(shù)字濾波器系數(shù)如下:
11.JPG
    按第2.3節(jié)提出的方法在QuartusⅡ中完成FIR濾波器的設計,通過編譯綜合功能對設計文件進行編譯和綜合,然后生成頂層模塊,見圖7。

12.JPG


    通過QuartusⅡ的波形仿真功能,對其進行波形仿真并進行定量分析。波形仿真如圖8所示。其中,cp50為系統(tǒng)時鐘,由它控制輸入信號xin_data的輸入速率(本例為2 MHz)。data_result為濾波器未經(jīng)取高位處理的乘加結(jié)果;data_result_out,為最終濾波輸出結(jié)果。經(jīng)驗證,data_result與Matlab的運算結(jié)果一致,data_result可滿足工程精度的要求。

13.JPG



3 結(jié)語

    本文在結(jié)合Matlab和FPGA軟件QuartusⅡ的基礎上,完成了一種基于LPM參數(shù)化宏功能模塊的FIR濾波器設計,該法是基于工程實際應用提出的,它對信號處理速率的要求不高,但對濾波器的階數(shù)較高。當設計指標改變,只需調(diào)整各模塊的參數(shù),即可完成新的設計,該法已應用在實際工程中。

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。
主站蜘蛛池模板: 天堂在线视频精品 | 欧美成人性性 | 97福利视频精品第一导航 | 中文字幕天天躁日日躁狠狠躁免费 | 九色福利视频 | 免费国产a国产片高清不卡 免费国产a | 无遮羞肉体动漫影院免费版 | 无遮挡黄漫动漫yy动漫免费 | 欧美在线一级片 | 亲子乱子伦xxxxxinin | 亚洲激情专区 | 精品欧美一区手机在线观看 | 国产黄色一级毛片 | 亚洲欧美日韩精品久久奇米色影视 | 久热re这里只有精品视频 | 日本大学生xxxx视频 | 激情五月开心婷婷 | 人人狠狠| 亚洲国产日韩无在线播放 | 在线视频一区二区三区三区不卡 | 成年在线观看视频免费看 | 国产噜噜噜精品免费 | 一级毛片在播放免费 | 在线色视频网站 | 黄色大片网 | 美女被躁免费视频软件 | 久久精品国产半推半就 | 日韩专区亚洲国产精品 | 狠狠色狠狠色综合网 | 亚洲精品无码不卡在线播放he | 欧美极品欧美精品欧美视频 | 手机看片91精品一区 | 成在线人免费视频一区二区三区 | 福利体验区 | www.av一区 | 欧美日韩精品在线视频 | 国产午夜视频在永久在线观看 | 国产成人精品日本亚洲专区6 | 毛片网站视频 | 一级做a爰片性色毛片16美国 | 男人搞女人视频 |