亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于FPGA的高速高階FIR濾波器的頻域改進(jìn)方法

        2016-04-12 00:00:00郭曉偉陳鐘榮夏利娜
        現(xiàn)代電子技術(shù) 2016年11期

        摘 要: 為了提高現(xiàn)場可編程門陣列(FPGA)設(shè)計的超高階有限單位沖擊響應(yīng)(FIR)濾波器對數(shù)據(jù)進(jìn)行實時處理,提出了一種改進(jìn)的頻域設(shè)計FIR濾波器方法。針對頻域處理卷積運算時,由于補零耗時造成數(shù)據(jù)無法實時處理這一問題進(jìn)行了改進(jìn)。首先將長序列分成固定長度的子序列,將原來利用一個(快速傅里葉變換)FFT IP處理子序列的常規(guī)方案改為利用兩個FFT IP進(jìn)行運算,通過控制子序列輸入兩個FFT IP的時間差,便可以利用重疊相加法的原理,將子序列卷積之后的結(jié)果直接相加,便可得到卷積結(jié)果,從而達(dá)到信號實時處理的目的。實例仿真計算表明,提供的頻域?qū)崿F(xiàn)方法不僅能降低 FPGA資源消耗,還能夠消除現(xiàn)有技術(shù)中的補零延遲現(xiàn)象,提高了處理速度。

        關(guān)鍵詞: FIR濾波器; 快速傅里葉變換; FPGA; 頻域改進(jìn)方法

        中圖分類號: TN713?34 文獻(xiàn)標(biāo)識碼: A 文章編號: 1004?373X(2016)11?0055?04

        Abstract: To implement the real?time data processing of using ultrahigh?order finite impulse response (FIR) filter designed with field?programmable gate array (FPGA), an improved method of FIR filter designed in frequency domain is put forward. The problem that the data can′t be processed in real time, caused by the zero padding time consumption, was solved for processing the convolution operation in frequency domain. A long sequence is divided into the subsequences with fixed length, and then the subsequence is processed with two FFT (fast Fourier transform) IPs instead of the conventional scheme with one FFT IP. By controlling the time difference between the two input FFT IPs, the principle of overlapping addition method can be utilized to add the results to obtain the convolution result after subsequences convolution, thus real?time processing of the signal is achieved. The instance simulation results show that the proposed frequency domain implementation method can reduce the FPGA resource consumption, eliminate the zero padding delay in the available technologies, and improve the processing speed.

        Keywords: FIR filter; fast Fourier transform; FPGA; frequency domain improvement method

        0 引 言

        在數(shù)字信號處理系統(tǒng)中,F(xiàn)IR(Finite Impulse Response)濾波器是最基本的單元,由于其具有嚴(yán)格的線性相頻特性,穩(wěn)定的系統(tǒng),F(xiàn)IR濾波器成為雷達(dá)、視頻等信號處理的主要手段[1] 。

        目前基于FPGA的FIR濾波器實現(xiàn)方案主要有三種:時域上基于乘法器結(jié)構(gòu)的FIR濾波器和基于分布式算法的FIR濾波器,頻域上基于快速傅里葉變換(Fast Fourier transform,F(xiàn)FT)的FIR濾波器。隨著模擬數(shù)字轉(zhuǎn)換器(Analog?to?digital Converter,ADC)的采樣速率不斷提高,為了實現(xiàn)信號的實時處理,對FIR濾波器的設(shè)計有著極高的要求,類似于FIR濾波器結(jié)構(gòu)的脈沖壓縮技術(shù),F(xiàn)IR濾波器在FPGA設(shè)計中不僅需要考慮高速的處理速度,還需要考慮高達(dá)千階的FIR濾波器所消耗的資源。

        對于千階甚至萬階的FIR濾波器,基于乘法器結(jié)構(gòu)的FIR濾波器和基于分布式算法的FIR濾波器來說消耗的資源也是巨大的?;贔FT算法的FIR濾波器相對于前兩種濾波器,在設(shè)計這種超高階的濾波器在資源上有著絕對的優(yōu)勢,只是由于其實現(xiàn)的特點,傳統(tǒng)的設(shè)計方案可能達(dá)不到像前兩種濾波器一樣流水線的處理速度。本文針對該不足,對傳統(tǒng)設(shè)計進(jìn)行改進(jìn)。

        本文通過XILINX virtex4 xc4vfx12 FPGA 進(jìn)行設(shè)計,F(xiàn)FT計算使用的是內(nèi)置FFT IP核,其具有很高的靈活性、容易擴展并且設(shè)計可以復(fù)用的特點[2]。首先介紹基于FFT法的FIR濾波器的基本原理并給出一個傳統(tǒng)的設(shè)計方案;接著,給出一個改進(jìn)的FIR濾波器的結(jié)構(gòu)與設(shè)計方案;然后,給出在FPGA中的具體實現(xiàn)方法并進(jìn)行仿真,最后,本文將仿真結(jié)果與Matlab仿真進(jìn)行比較說明這一設(shè)計的可行性,并提出缺點和需要改進(jìn)的地方。

        1 基于快速傅里葉變換的FIR濾波器原理[3]

        FIR濾波器的本質(zhì)就是有限長序列與無限長序列的線性卷積。頻域?qū)崿F(xiàn)FIR的方法跟時域的不同之處在于實現(xiàn)卷積的方式不同,時域上的卷積相當(dāng)于頻域相乘,即:

        如圖1所示,F(xiàn)PGA實現(xiàn)卷積與理論不同的是,需要對數(shù)據(jù)和系數(shù)分別補零,序列長度為長度為需要取分別補和個零變成兩個長度為的序列,然后分別進(jìn)行點的FFT運算,運算的值相乘再進(jìn)行IFFT運算,便可得到卷積之后的結(jié)果。但是在一般情況下需要處理的信號很長,如果當(dāng)作是有限長序列的卷積的話,需要FFT和IFFT點數(shù)很大,而硬件的處理能力有限,不能對過長的數(shù)據(jù)進(jìn)行FFT。所以一般將數(shù)據(jù)進(jìn)行分段成多個長度為的有限長子序列集那么可以表示為:

        式中,這樣所求的線性卷積分成了無限個長度均為的短長度線性卷積的和。其中和之間會有一個范圍為的個樣本重疊。這就是重疊相加法在分段卷積中的應(yīng)用。

        2 常規(guī)的FFT法FIR濾波器在FPGA中的設(shè)計

        基于FPGA常規(guī)的FFT方法設(shè)計的FIR濾波器,先確定FIR濾波器的階數(shù)和需要對輸入信號分段的長度M,從而確定FFT所需要的點數(shù)L(一般情況下FFT的點數(shù)n為正整數(shù))。輸入的信號雖然為,但是與原理的不同點在于FFT方法處理的序列并不是連續(xù)的,即在序列分段后對每個子序列補零成為L長度的新的子序列進(jìn)行處理。實際處理的序列如下:

        設(shè)計中使用的FFT模塊使用產(chǎn)品自帶的FFT IP 或自己設(shè)計的FFT IP,使其在流水線模式下工作,這樣可以對序列進(jìn)行連續(xù)的FFT運算。FFT IP核輸入信號為復(fù)信號,輸入的信號可以為IQ信號,也可以為實信號,此時虛部為0。如圖2所示,信號Signal在一定速率下傳入FIFO,因為FFT IP核每個時鐘只能輸入一個數(shù)據(jù),在做信號FFT時,先從FIFO輸出長度為M的信號,此時需要M個時鐘周期;再關(guān)閉FIFO進(jìn)行長度為N-1的補零,需要 N-1個時鐘。所以真正處理數(shù)據(jù)的有效速率只有輸入速率的,導(dǎo)致FFT實現(xiàn)FIR的方法不能實現(xiàn)流水線操作。實際應(yīng)用中,為了提高效率,在資源夠用的情況下,選取FFT能處理的最大點數(shù),即在階數(shù)M一定的情況下,使數(shù)據(jù)長度N盡可能大,從而提高有效的處理時間。但是分段卷積出來的數(shù)據(jù)需要先緩存,等待下一段卷積的數(shù)據(jù)進(jìn)行數(shù)據(jù)疊加才能獲得最后的卷積結(jié)果,從而再一次的降低處理效率。這對處理要求較高,系統(tǒng)無法做到實時處理,降低了系統(tǒng)的整體性能。

        3 改進(jìn)的FFT法FIR濾波器在FPGA中的設(shè)計

        改進(jìn)FIR濾波器設(shè)計原理在分割的長度上做了特定的選取,選取FFT點數(shù)的一半,并將序列分為第奇數(shù)個和第偶數(shù)個兩序列,分別用兩個FFT IP進(jìn)行FFT運算。假設(shè)FFT的點數(shù)為(為正整數(shù)),F(xiàn)IR濾波器階數(shù)當(dāng)時,系數(shù)后補零成長度。選取分割數(shù)據(jù)的長度為那么FFT的點數(shù)也可以表示為首先將長度為的系數(shù)補個零成為長度為的系數(shù)序列再將信號按固定長度進(jìn)行分段,將分段的子序列補長度的零成為長度的子序列。將這些子序列按順序分為奇數(shù)序列和偶數(shù)序列兩個子序列集,即:

        其中從式(11)可以看出輸出結(jié)果直接相加便為卷積的結(jié)果,結(jié)果與原理式(4)一致。對于每一個子序列來說卷積輸出的延時相同,因為兩個序列輸入相差個時鐘,輸出也相差個時鐘,而卷積輸出序列的長度為兩個子序列集輸出的結(jié)果相加直接滿足重疊相加原理。通過上述原理進(jìn)行改進(jìn)之后的FPGA設(shè)計結(jié)構(gòu)圖如圖3所示。

        本設(shè)計使用的FFT IP為Xilinx FFT IP核。改進(jìn)設(shè)計中首先通過CoeforSignal信號控制輸入的Signal是系數(shù)還是信號,這樣設(shè)計,一是可以減少信號口;二是系數(shù)可以比信號更早的進(jìn)行FFT運算,從而結(jié)果可以更早的存入RAM中,RAM使用寫優(yōu)先模式,信號序列FFT處理之后的結(jié)果可以直接尋址找到系數(shù)FFT結(jié)果進(jìn)行復(fù)數(shù)相乘,不需要等系數(shù)FFT完全結(jié)束再進(jìn)行尋址,從而節(jié)省時間與資源。Signal輸入為信號時,第一組長度為N的數(shù)據(jù)進(jìn)入第一個FFT IP,然后數(shù)據(jù)輸入完成后再補個0。在第一個FFT補零的期間,信號進(jìn)入第二個FFT IP。同樣,第二個FFT補零期間,數(shù)據(jù)進(jìn)入第一個FFT,從而可以實現(xiàn)無間斷的FFT。兩段數(shù)據(jù)輸入相差的時鐘始終為個時鐘周期。具體的輸入數(shù)據(jù)時序圖如圖4所示。

        如圖4所示,輸入的信號可以不間斷輸入,分段成兩個子序列進(jìn)行前期處理,F(xiàn)FT IP選擇的是流水線模式,開始信號每置高一個周期便可處理一次L點的FFT。FFT一開始輸出的結(jié)果便可以尋找系數(shù)FFT的結(jié)果,對應(yīng)相乘后輸入到IFFT IP,IFFT IP輸出的結(jié)果便為分段卷積的結(jié)果,信號分段卷積完成之后的時序圖如圖5所示。

        如圖5所示,因為數(shù)據(jù)具有相同的延時,所以具有嚴(yán)格的時序。輸入的第一個分段信號與第二個分段信號分別進(jìn)入兩個FFT時相差N個時鐘周期,因為處理數(shù)據(jù)為流水線操作,那么兩段信號卷積出來的有效信號也相差N個時鐘。兩個輸出信號相加就是所需的卷積結(jié)果。根據(jù)重疊相加法的原理,和之間會有一個范圍為的個樣本重疊,因為那么重疊范圍為 ,重疊長度剛好為卷積輸出長度的一半,那么前一個序列的后N個值與后一個序列的前N個值相加就為卷積出來的結(jié)果。如圖5所示,此次設(shè)計的系統(tǒng),兩個FFT分別輸出分段卷積的數(shù)據(jù),且后一個卷積與前一個卷積剛好相差N個時鐘。因為分段卷積長度為2N,前N個數(shù)據(jù)與前一個分段卷積相加,后N個數(shù)據(jù)與后一個分段卷積相加。這樣重疊相加時就不需要多余的延時,便可得到卷積的結(jié)果,從而達(dá)到信號實時處理。

        這種改進(jìn)后的結(jié)構(gòu)主要是根據(jù)重疊相加法的特點和FFT IP的特點選取特定的分段長度設(shè)計出來的。相比常規(guī)的設(shè)計,可以看出改進(jìn)的方法大大降低了RAM資源的使用,完全的流水線操作實現(xiàn)了實時處理,雖然多使用了一個FFT IP和IFFT IP,但是相對為了提高效率必需提高FFT點數(shù)的常規(guī)方法,節(jié)省了許多資源。

        4 改進(jìn)方法在FPGA中的實現(xiàn)與仿真驗證

        為了驗證改進(jìn)方法在實際應(yīng)用中的正確性,將設(shè)計完成的仿真得到的結(jié)果與Matlab計算得到的結(jié)果進(jìn)行對比。設(shè)計使用的是Xilinx的virtex4 xc4vfx12 FPGA開發(fā)板,硬件設(shè)計平臺為ISE 14.4,F(xiàn)PGA仿真平臺ModelSim SE 10.1c。因為開發(fā)板資源有限,設(shè)計的信號與系數(shù)位寬都為8位,階數(shù)最高為9位的FIR濾波器,輸入的時鐘為200 MHz,即可以對200 MS/s的數(shù)據(jù)進(jìn)行實時處理。設(shè)計的結(jié)構(gòu)如圖3所示,其中使用的FFT點數(shù)為16點。后布局布線仿真如圖6所示。

        因為階數(shù)較小,所以只在數(shù)值上進(jìn)行仿真比較。如圖6所示,當(dāng)data_or_coef置高時,輸入的是系數(shù),當(dāng)置低時,輸入的是數(shù)據(jù)。FFT IP核在進(jìn)行IFFT運算時,IFFT運算的結(jié)果會乘以點數(shù)即16,所以進(jìn)行Matlab計算時會將輸出的結(jié)果乘以點數(shù)16與上面的時序進(jìn)行對比。Matlab運算的結(jié)果如圖7所示。

        FPGA輸出的信號為復(fù)信號,因為輸入的信號為實信號,那么輸出的信號也為實信號,即虛部出來的數(shù)據(jù)為0,實部輸出的便為卷積結(jié)果。而仿真結(jié)果虛部有值,但是很小可以近似為0,實部結(jié)果與Matlab運算趨勢大體一致,但是數(shù)值上卻有一定的誤差。主要原因是FPGA計算FFT和IFFT過程中,由于精度的要求進(jìn)行了數(shù)據(jù)的截位,造成了誤差。由于硬件客觀條件的限制,這種誤差是不可避免的。如圖8所示,可以看出,時鐘達(dá)到了200 MHz,所以可以認(rèn)定設(shè)計結(jié)果滿足要求。

        5 結(jié) 語

        根據(jù)以上討論可以看出,這種改進(jìn)的結(jié)構(gòu)解決了頻域上實現(xiàn)FIR濾波器速度上的問題,并且比常規(guī)的結(jié)構(gòu)更加節(jié)省資源,對于系數(shù)來說,設(shè)計的結(jié)構(gòu)不僅可以隨時改變系數(shù)值還可以改變系數(shù)的長度。但是這種方法在FPGA實現(xiàn)中輸出的數(shù)據(jù)與理論值會有誤差且無法避免,所以,基于FFT方法的FIR濾波器適用于超高階的濾波器,但對精度有嚴(yán)格要求的系統(tǒng),基于FFT的方法還需要進(jìn)一步研究。

        參考文獻(xiàn)

        [1] 鄭軍勝.動態(tài)系數(shù)FIR濾波器的FPGA研究[D].西安:西北大學(xué),2011.

        [2] 李大習(xí).基于 FPGA的可配置FFT IP核實現(xiàn)研究[J].電子科技,2014,27(6):46?49.

        [3] 王宇峰.基于FFT的快速卷積算法的FPGA實現(xiàn)[D].哈爾濱:哈爾濱工業(yè)大學(xué),2011.

        [4] 西瑞克斯(北京)通信設(shè)備有限公司.無線通信的Matlab和FPGA實現(xiàn)[M].北京:人民郵電出版社,2009.

        [5] 彭柄睿.基于FPGA的數(shù)字正交解調(diào)與脈沖壓縮[J].信息通信,2014(1):54?55.

        [6] 祝美英,彭江英,辜潤秋,等.基于FPGA的數(shù)字濾波器設(shè)計[J].科技創(chuàng)新與應(yīng)用,2015(20):9?10.

        [7] 趙岸,顏毅華,陳林杰,等.基于FPGA的高速FIR數(shù)字濾波器設(shè)計的改進(jìn)方案[J].天文研究與技術(shù),2015(1):109?117.

        [8] SAYEGH S I. A pipeline processor for mixed?size FFTs [J]. IEEE transactions on signal processing, 1992, 40(8): 1892?1900.

        [9] 范海波.基于FPGA的高速卷積的硬件設(shè)計實現(xiàn)[J].電子科技,2010(15):72?75.

        [10] 李澤明,李錦明,楊燕姣.基于FPGA的高階FIR濾波器設(shè)計[J].科學(xué)技術(shù)與工程,2013(23):6903?6906.

        [11] 張震.基于FPGA通用型FIR濾波器的研究與設(shè)計[J].軟件,2015(6):125?128.

        [12] 徐紅,葉豐,黃朝耿.高速率低功耗FIR數(shù)字濾波器實現(xiàn)[J].電視技術(shù),2014(23):56?60.

        [13] 賈廣峰,付永慶,張旭.FPGA數(shù)字脈沖壓縮系統(tǒng)的研究與實現(xiàn)[J].應(yīng)用科技,2013(6):60?62.

        精品一区二区三区女同免费| 亚洲av鲁丝一区二区三区黄| 99久久久无码国产精品6| 高清偷自拍亚洲精品三区 | 伊人久久大香线蕉综合av| 亚洲无人区乱码中文字幕 | 免费观看91色国产熟女| 妺妺窝人体色www聚色窝| 国产操逼视频| 2021年国产精品每日更新| 亚洲午夜久久久久中文字幕久| 一区二区三区四区日韩亚洲| 国产丝袜长腿美臀在线观看| 欧美激情一区二区三区成人| 中文天堂国产最新| 色婷婷综合中文久久一本| 国产午夜亚洲精品一级在线| 国产一区二三区中文字幕| 色婷婷色丁香久久婷婷| 一本色道久久88综合日韩精品| 少妇熟女视频一区二区三区| 四虎成人精品国产一区a| av资源在线播放网站| 人妖一区二区三区视频| 国产人妻大战黑人20p| 无码三级在线看中文字幕完整版| www.av在线.com| 亚洲av乱码一区二区三区观影 | 国产乱了真实在线观看| 亚洲不卡av不卡一区二区| 亚洲黄色性生活一级片| 精品蜜臀国产av一区二区| 国产精品内射久久一级二| 中文字幕肉感巨大的乳专区| 青春草国产视频| 中文字幕一区二区人妻在线不卡| 丝袜美腿国产一区精品| 人妻少妇精品中文字幕av| 日韩高清无码中文字幕综合一二三区| 大香蕉久久精品一区二区字幕| 日韩人妻一区二区中文字幕|