国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于查階躍響應(yīng)表的高效FIR濾波器設(shè)計(jì)及其FPGA實(shí)現(xiàn)

2014-07-29 10:46:39周恒箴曾祥希余震
中國(guó)新通信 2014年4期

周恒箴 曾祥希 余震

【摘要】 本文提出了一種采用查階躍響應(yīng)表方法實(shí)現(xiàn)的FIR數(shù)字濾波器設(shè)計(jì)方案,并以一個(gè)649階FIR濾波器的FPGA設(shè)計(jì)為例,與傳統(tǒng)的采用FPGA IPCORE實(shí)現(xiàn)方法進(jìn)行了對(duì)比,分析該設(shè)計(jì)方法在FPGA的資源利用和系統(tǒng)時(shí)鐘速率上的優(yōu)勢(shì)。通過(guò)實(shí)驗(yàn)數(shù)據(jù)驗(yàn)證,該方案可以解決現(xiàn)有技術(shù)中FIR濾波器需要大量乘法器和加法器的問(wèn)題,達(dá)到了降低FPGA硬件資源使用、提高系統(tǒng)運(yùn)行效率的效果。

【關(guān)鍵詞】 FIR 數(shù)字濾波器 階躍響應(yīng) FPGA

一、引言

在數(shù)字信號(hào)處理系統(tǒng)中,數(shù)字濾波器被廣泛地應(yīng)用于干擾的濾除、有用信號(hào)的提取、信號(hào)的整形等各方面。數(shù)字濾波器根據(jù)其沖激響應(yīng)函數(shù)的時(shí)域特性,可分為兩種,即無(wú)限長(zhǎng)沖激響應(yīng)(IIR)濾波器和有限長(zhǎng)沖激響應(yīng)(FIR)濾波器。FIR濾波器的單位沖激響應(yīng)只能持續(xù)一段時(shí)間,由于它的線(xiàn)性相位特性和容易實(shí)現(xiàn)因此在工程上得到廣泛應(yīng)用。

FIR數(shù)字濾波器通過(guò)乘累加運(yùn)算來(lái)實(shí)現(xiàn),輸入信號(hào)x(n)經(jīng)過(guò)FIR濾波器過(guò)程是一個(gè)輸入信號(hào)與濾波器系數(shù)進(jìn)行線(xiàn)性卷積的過(guò)程,即:,其中y(n)為濾波器的輸出,h(i)為濾波器的濾波器系數(shù),N為濾波器的階數(shù)。從表達(dá)式可以看出,每次輸出y(n)需要進(jìn)行N次乘法和N-1次加法操作實(shí)現(xiàn)。乘累加運(yùn)算結(jié)構(gòu)需要使用N個(gè)乘法器和N-1個(gè)加法器資源,而且隨著濾波器的階數(shù)N越大,需要的乘法器和加法器越多,占用的硬件資源也就越大。

為降低硬件資源的消耗,文獻(xiàn)[1]提出了一種分布式算法(Distributed Arithmetic,DA)的濾波器設(shè)計(jì)結(jié)構(gòu),它將傳統(tǒng)的乘、累加運(yùn)算轉(zhuǎn)化為加法和移位運(yùn)算,利用ROM查找表將固定系數(shù)的乘累加運(yùn)算轉(zhuǎn)換成查找表操作,可以較大程度地提高運(yùn)算速度。文獻(xiàn)[2]和文獻(xiàn)[3]也提出了改進(jìn)的分布式算法,采用濾波器的多相分解結(jié)構(gòu)對(duì)DA算法進(jìn)行改進(jìn),以降低硬件資源的使用,但是不論是DA算法或者改進(jìn)的DA算法,ROM查找表的大小會(huì)隨著濾波器階數(shù)N的增加而成指數(shù)增加,消耗更多的硬件資源,難以滿(mǎn)足數(shù)據(jù)處理領(lǐng)域的高速實(shí)時(shí)性要求。在一些某些的應(yīng)用場(chǎng)合,例如超高頻無(wú)源射頻識(shí)別閱讀器的前向波形成形濾波,其輸入波形為矩形波或者階梯波,為了達(dá)到較好的濾波效果需要使用高階的FIR濾波器,如果采用傳統(tǒng)的乘累加結(jié)構(gòu)或者分布式算法,會(huì)占用大量的硬件資源,增加設(shè)備的成本。

本文在FPGA上設(shè)計(jì)并實(shí)現(xiàn)了一種通過(guò)查階躍響應(yīng)表的方法實(shí)現(xiàn)FIR數(shù)字濾波器,當(dāng)輸入信號(hào)為矩形波或階梯波時(shí),利用該方法,可以解決現(xiàn)有技術(shù)中FIR濾波器需要大量乘法器和加法器的問(wèn)題,達(dá)到了降低FPGA資源使用、提高系統(tǒng)運(yùn)行速度的效果。

二、查階躍響應(yīng)法的方法

因此,我們可以將設(shè)計(jì)的FIR濾波器的單位階躍響應(yīng)存儲(chǔ)在一張表中;再對(duì)需要進(jìn)行FIR濾波的輸入信號(hào)進(jìn)行沿提取,提取出階躍信號(hào);再將每個(gè)階躍信號(hào)的幅度和查表的數(shù)據(jù)相乘得到階躍響應(yīng);然后對(duì)所有的階躍響應(yīng)結(jié)果求和,此求和結(jié)果等價(jià)于原信號(hào)直接經(jīng)過(guò)FIR濾波器的濾波結(jié)果。

如果輸入信號(hào)變化的間隔時(shí)間大于FIR濾波器的階躍響應(yīng)時(shí)間長(zhǎng)度,只需要一路處理模塊,模塊根據(jù)輸入階躍信號(hào)的幅度計(jì)算并輸出階躍響應(yīng),然后對(duì)所有的階躍響應(yīng)求和。如果輸入信號(hào)變化的間隔時(shí)間小于FIR濾波器的階躍響應(yīng)時(shí)間長(zhǎng)度,則需要采用多路處理模塊,階躍信號(hào)依次分配給多個(gè)模塊,每個(gè)模塊輸出各自的階躍響應(yīng),最后,再對(duì)所有的模塊的輸出進(jìn)行求和。

三、FPGA實(shí)現(xiàn)

FIR濾波器查階躍響應(yīng)表法的FPGA的實(shí)現(xiàn)如圖1所示,由沿提取、沿分配器、階躍響應(yīng)池和加法器四個(gè)功能模塊組成。其中階躍響應(yīng)池中的每個(gè)階躍響應(yīng)模塊都是相同的,其結(jié)構(gòu)如圖2所示。

階躍響應(yīng)池由N個(gè)相同的階躍響應(yīng)模塊構(gòu)成,如圖2所示,每個(gè)階躍響應(yīng)模塊由沿檢測(cè)、階躍響應(yīng)表(步驟1生成)、乘法器、緩存器和加法器組成。

每個(gè)階躍響應(yīng)模塊的內(nèi)部處理過(guò)程如下:經(jīng)分配后的階躍信號(hào)送入檢測(cè)單元進(jìn)行檢測(cè),檢測(cè)單元輸出三組信號(hào):觸發(fā)信號(hào)、啟動(dòng)信號(hào)和階躍信號(hào)的幅度。當(dāng)檢測(cè)到有階躍信號(hào)時(shí),檢測(cè)單元輸出觸發(fā)信號(hào)對(duì)緩存器進(jìn)行刷新,將當(dāng)前模塊輸出結(jié)果通過(guò)緩存器保存下來(lái)作為輸出基準(zhǔn);與此同時(shí),啟動(dòng)信號(hào)啟動(dòng)指針計(jì)數(shù)器進(jìn)行查表,通過(guò)指針依次取出階躍響應(yīng)表中的數(shù)據(jù);取表結(jié)果和階躍信號(hào)的幅度輸入到乘法器相乘;乘法器的輸出和基準(zhǔn)信號(hào)分別輸入到加法器,其相加結(jié)果作為該階躍響應(yīng)模塊的輸出。

步驟4:階躍相應(yīng)池輸出的N路階躍響應(yīng)信號(hào)S0S1 S2…. SN-1輸入給加法器進(jìn)行相加求和,其求和結(jié)果為該FIR濾波器的輸出。

在每個(gè)階躍響應(yīng)模塊中,由于有個(gè)加法器,可能會(huì)遇到加法器輸出結(jié)果溢出的情況,例如連續(xù)兩個(gè)上升沿的正階躍信號(hào)相加,結(jié)果溢出出現(xiàn)負(fù)數(shù)。出現(xiàn)這種情況時(shí)可以通過(guò)擴(kuò)展有效數(shù)據(jù)位數(shù)防止溢出;也可以通過(guò)滿(mǎn)下面2個(gè)條件,對(duì)溢出結(jié)果不用處理:(1)采用二進(jìn)制補(bǔ)碼運(yùn)算;(2)保證最后的加法器的輸出范圍能夠滿(mǎn)足輸入信號(hào)x(n)和單位階躍響應(yīng)乘積的最大值和最小值。

四、實(shí)驗(yàn)結(jié)果與性能分析

4.1 實(shí)驗(yàn)過(guò)程

以下是利用該方法在A(yíng)ltera FPGA器件上實(shí)現(xiàn)的一個(gè)649階FIR低通濾波器的實(shí)例。借助MATLAB的FDATool工具根據(jù)濾波器的指標(biāo)進(jìn)行濾波器設(shè)計(jì)。

4.2 與利用FIR IPcore方法實(shí)現(xiàn)的FIR模塊進(jìn)行功能對(duì)比

調(diào)用Altera的FIR IPcore生成FIR濾波器模塊,與上述方法進(jìn)行仿真對(duì)比,如圖8所示,I_qpsk_i和I_qpsk_q是16QAM調(diào)制后的I、Q兩路輸入信號(hào),O_IPcore_i和O_IPcore_q是IQ輸入信號(hào)經(jīng)過(guò)Altera FIR IPcore濾波器輸出的結(jié)果,O_step_i和O_step_q是IQ輸入信號(hào)經(jīng)過(guò)查階躍響應(yīng)查表方法輸出的結(jié)果。將兩種方法生成的IQ數(shù)據(jù)對(duì)應(yīng)先減,結(jié)果(s_sub)為0,說(shuō)明兩種方法的輸出數(shù)據(jù)一致。

4.3 FPGA資源和系統(tǒng)時(shí)鐘速度的對(duì)比

上述的查階躍響應(yīng)法的實(shí)例需要3個(gè)乘法器和4個(gè)加法器實(shí)現(xiàn),如果采用Altera Cyclone IV系列器件,型號(hào)為EP4CGX150(該器件具有149,760LEs(邏輯單元)和6,480Kbit嵌入式存儲(chǔ)器),編譯工程進(jìn)行對(duì)比,該方法需要使用498LEs和9個(gè)M9K;而采用Altera FIR IPcore實(shí)現(xiàn)該649階濾波器模塊,需要占用48846LEs和30個(gè)M9K??梢钥闯?,采用查階躍響應(yīng)法實(shí)現(xiàn)的濾波器,在節(jié)省FPGA資源上有顯著的優(yōu)勢(shì)。查階躍響應(yīng)法占用的資源和階躍響應(yīng)池中階躍響應(yīng)的個(gè)數(shù)關(guān)系密切,如果階躍響應(yīng)池中階躍響應(yīng)的個(gè)數(shù)一定,設(shè)計(jì)時(shí)占用的資源與濾波器的階數(shù)關(guān)系不大,階數(shù)變化主要是要修改指針計(jì)數(shù)器的地址。

從表1的數(shù)據(jù)可以看出,采用調(diào)IPcore的方法實(shí)現(xiàn)FIR濾波器模塊,當(dāng)濾波器階數(shù)越大時(shí),占用的LE資源和嵌入式存儲(chǔ)器資源(M9K)也越多,由于邏輯資源的大量占用,導(dǎo)致FPGA布線(xiàn)的延時(shí)加長(zhǎng),從而影響到最大系統(tǒng)時(shí)鐘頻率(Fmax)。因此,在輸入波形為矩形波或者階梯波,而且輸入信號(hào)變化的間隔時(shí)間大于FIR濾波器的階躍響應(yīng)時(shí)間長(zhǎng)度時(shí),采用查階躍響應(yīng)法在FPGA上省了大量的LE資源,對(duì)比FIR IPcore生成的FIR濾波器模塊,可以提高最大系統(tǒng)時(shí)鐘速度。

五、結(jié)束語(yǔ)

從仿真和實(shí)驗(yàn)結(jié)果可以看出,當(dāng)輸入波形為階梯波或者矩形波時(shí),采用這種查詢(xún)階躍響應(yīng)表的的方法能夠解決現(xiàn)有技術(shù)中FIR濾波器需要大量乘法器和加法器的問(wèn)題,達(dá)到了降低資源使用、提高系統(tǒng)運(yùn)行速度的效果。

參 考 文 獻(xiàn)

[1] WHITE Stanley A. Application of distributed arithmetic to digital signal processing: a tutorial review[J]. IEEE ASSP Magazine,1989,7:4-18

[2] 于亞萍,劉源,衛(wèi)勇. 利用改進(jìn)DA算法FIR濾波器的仿真與實(shí)現(xiàn)[J]. 計(jì)算機(jī)工程與應(yīng)用,2011,47(27):77-79

[3] Yu Yaping, Liu Yuan,Wei Yong. Simulation and realization of FIR filter using modified distributed arithmetic architecture[J]. Computer Engineering and Applications[J]. 2011,47(27):77-79

盐山县| 额尔古纳市| 石狮市| 聂拉木县| 游戏| 陕西省| 洛南县| 栖霞市| 城步| 梅州市| 锦州市| 浮梁县| 南丹县| 华池县| 镇原县| 乌什县| 柞水县| 惠东县| 纳雍县| 综艺| 婺源县| 广丰县| 寿光市| 石首市| 巨野县| 岳阳县| 呼伦贝尔市| 友谊县| 临洮县| 沾化县| 云和县| 涿鹿县| 合水县| 施甸县| 绥阳县| 清水河县| 太白县| 土默特右旗| 资溪县| 柳州市| 汉川市|