資源描述:
《基于fpga的高效fir濾波器的設(shè)計與實現(xiàn)》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、基于FPGA的高效FIR濾波器的設(shè)計與實現(xiàn)時間:2007-08-24?來源:?作者:蔣立平譚雪琴王建新?點擊:1810?字體大小:【大中小】-摘要:該文在介紹有限沖激響應(yīng)(FIR)數(shù)字濾波器理論及常見實現(xiàn)方法的基礎(chǔ)上,提出了一種基于FPGA的高效實現(xiàn)方案。該方案采用對稱結(jié)構(gòu)、加法和移位代替乘法運算、優(yōu)化的CSD編碼、流水線和級聯(lián)技術(shù)等方面對傳統(tǒng)的設(shè)計方法進行了改進,并借助FPGA濾波器芯片和QuartusII軟件、Matlab軟件對該方案進行了仿真驗證。仿真實驗結(jié)果表明:此種FIR濾波器的實現(xiàn)方法運算速度快、實時
2、性好、節(jié)省硬件資源,其性能優(yōu)于傳統(tǒng)的FIR濾波器設(shè)計方法。???隨著信息時代和數(shù)字世界的到來,數(shù)字信號處理已成為當今一門極其重要的學科。作為數(shù)字信號處理分支之一的數(shù)字濾波器,也受到了人們越來越多的關(guān)注。它是通信、語音、圖像、自動控制、雷達、航空航天、醫(yī)療等領(lǐng)域中的一種基本處理部件,具有穩(wěn)定性好、精度高、靈活性大等突出優(yōu)點。???數(shù)字濾波器包括有限沖激響應(yīng)(Finiteimpulseresponse,簡稱FIR)濾波器和無限沖激響應(yīng)(Infiniteimpulseresponse,簡稱IIR)濾波器兩大類,其中的F
3、IR濾波器因可以得到嚴格的線性相位、有限精度的計算不會產(chǎn)生振蕩、運算速度快等優(yōu)點受到了人們更多的青睞。在非實時或低速系統(tǒng)中,F(xiàn)IR算法可以在DSP或CPU上用軟件實現(xiàn),但是在一些實時性要求較高的系統(tǒng)(如雷達控制、無線通訊系統(tǒng)等)中,由于受到乘法器和加法器電路的限制,該實現(xiàn)方法則不能滿足速度的要求。近幾年來,隨著微電子技術(shù)與工藝的迅猛發(fā)展,現(xiàn)場可編程門陣列(Fieldprogrammablegatearray,簡稱FPGA)以其可編程性、低成本性、高邏輯密度和高可靠性,得到了越來越廣泛的應(yīng)用。本文借助Ahera公司
4、的FPGA芯片和QuartusII軟件、Matlab軟件,介紹了一種高效FIR濾波器的設(shè)計與實現(xiàn)方案。1基于FPGA的高效FIR濾波器的設(shè)計思路一個Ⅳ階的FIR數(shù)字濾波器可由差分方程?或轉(zhuǎn)移函數(shù):?來描述。式中:x(n)是濾波器的輸入信號,y(n)是濾波器的輸出信號,h(n)是濾波器系數(shù)。從以上的表達形式可以看出,F(xiàn)IR濾波器是通過加法器、移位器和乘法器組合而實現(xiàn)的,乘法器和加法器的效率及速度等特性對整個濾波器的性能起著決定性的作用。1.1采用對稱結(jié)構(gòu)???在很多應(yīng)用場合,濾波器都是線性時間不變量(Lineart
5、ime-invariant,簡稱LTI)濾波器,也就是帶有常系數(shù)的濾波器。對于具有線性相位的FIR濾波器,其輸出表達式(1)變成了如下的形式:????由此可見,利用它的對稱形式比直接實現(xiàn)少用了一倍的乘法器,大大節(jié)省了硬件資源,而且可以提高速度。1.2用加法和移位代替乘法運算???乘法器是FIR濾波器中比較重要的部件,它的結(jié)構(gòu)直接影響了濾波器的性能。傳統(tǒng)的濾波器中的乘法器采用BOOTH乘法器結(jié)構(gòu),它主要包括3個模塊:BOOTH編碼、部分積加法器陣列及進位加法器。在這種結(jié)構(gòu)中,隨著濾波器的階數(shù)的增加,電路的規(guī)模勢必迅
6、速增加。???因為在實際應(yīng)用的大多數(shù)情況下,濾波器的系數(shù)是固定的值,所以濾波器中所有的乘法都是固定系數(shù)乘法。實現(xiàn)固定系數(shù)乘法的一種常用方法是用移位和加法運算來代替并行乘法。這樣一方面可以提高硬件實現(xiàn)的速度,另一方面可以減少所需的硬件資源。1.3采用優(yōu)化的CSD編碼???眾所周知,二進制數(shù)在實現(xiàn)乘法或加法時,數(shù)值為0的位是不參與運算的。因此,對輸入信號進行編碼時,如果能使0位的數(shù)量最多,則完成相應(yīng)的運算所需要的硬件將會大大減少,運算的速度也會相應(yīng)地提高很多。正則有符號數(shù)字量(Canonicsigneddigit,簡
7、稱CSD)正是基于此思想而提出來的一種新型編碼方法,它是具有最少非0元素的表示法。???CSD碼的特性是最終表達式在兩個數(shù)位之間至少有一個0。它的算法是從最低有效位開始,用10…01取代所有大于2的一序列,用1101取代1011;然后從最高有效位開始,用011代替101。例如十進制數(shù)231的CSD碼為100101001,可以看出,在實現(xiàn)其乘法時,只需要4個加法器(如圖1所示)。若采用普通的二進制代碼實現(xiàn),因(231)10=(11100111)2,需要5個加法器。可見,采用CSD碼節(jié)省了加法器的數(shù)量。???為了進一
8、步提高效率,對于某些數(shù)據(jù),還可以采用優(yōu)化的CSD編碼,即首先將系數(shù)拆分成幾個因子,再實現(xiàn)每一個因子。如對231,首先拆分成7×33,然后分別實現(xiàn)因子7和33。7和33每個因子都只需要1個加法器(如圖2所示),即實現(xiàn)231的乘法時只需要2個加法器,因此效率得到了更大的提高。?圖1231的CSD碼的實現(xiàn)?圖2231的優(yōu)化CSD碼的實現(xiàn)1.4采用流水線技術(shù)???在濾波器的加法運