郭廣浩 劉志哲 孟慶龍 馬承光
摘 要: 在雷達接收、語音圖像處理、模式識別、無線通信等領域,數(shù)字濾波器已經(jīng)成為重要組成部分。通過分析和研究FIR數(shù)字濾波器的結構特點,結合實際的工程實踐需求,設計了一種多級并行流水FIR數(shù)字濾波器,并提出了一種精確而又簡便的沖擊響應系數(shù)的量化方法,即基于最小沖擊響應系數(shù)按等比例量化的方法。這種方法不僅可以根據(jù)具體的設計要求隨意更改設計位寬,還能保障設計的精度。通過編寫Verilog HDL 進行了設計實現(xiàn),Modelsim仿真與Matlab仿真對比結果表明,各項參數(shù)均滿足設計要求。
關鍵詞: FIR數(shù)字濾波器; 多級并行流水; 等比例量化; 設計與驗證
中圖分類號: TN713?34 文獻標識碼: A 文章編號: 1004?373X(2015)01?0069?04
Abstract: The digital filter has become an important part in the radar receiving, voice and image processing, pattern recognition, wireless communication and so on. Based on analysis and research on the structure characteristics of FIR digital filter, a multilevel parallel pipeline FIR digital filter was designed in combination with actual demand of engineering. A precise and simple quantification method of impulse response coefficient is proposed in this paper, that is, the method based on the minimum impulse response coefficient and according to the equal proportion quantification. This method not only can change the designed bit wide at will according to specific design requirements, but also can guarantee the precision of the design. The design was realized by means of Verilog HDL. The results of comparison between Modelsim simulation with Matlab simulation indicate that each parameter meet the design requirements.
Keywords: FIR digital filter; multilevel parallel pipeline; equal proportion quantification; design and verification
0 引 言
數(shù)字信號處理已經(jīng)成為雷達接收、語音圖像處理、模式識別、無線通信等領域的關鍵技術,而數(shù)字濾波器則是進行數(shù)字信號處理的重要組成部分。有限脈沖響應(FIR)數(shù)字濾波器具有很好的穩(wěn)定性和線性相位特性,在許多實際的電子系統(tǒng)中得到了廣泛的應用。由于現(xiàn)代數(shù)字信號處理技術需要處理大量的數(shù)據(jù),實時性良好和性能高效的數(shù)字濾波器對于數(shù)字信號處理技術至關重要,本文所設計的多級并行流水FIR數(shù)字濾波器,能夠達到高速處理大數(shù)據(jù)率、單周期響應的要求。在數(shù)字時代高速發(fā)展的今天,開展此類高性能FIR數(shù)字濾波器的研究和設計不僅對信號處理領域具有非常重要的意義,而且對其相關聯(lián)的技術領域也有十分重要的推動意義。
1 FIR數(shù)字濾波器的基本結構
數(shù)字濾波器按照其沖擊響應的特點不同可以分為有限脈沖響應(Finite Impulse Response,F(xiàn)IR)和無限沖擊響應(Infinite Impulse Response,IIR)數(shù)字濾波器,前者是指單位脈沖響應序列[h(n)]為有限長序列,后者是指單位脈沖響應序列[h(n)]為無限長序列。由于FIR良好的幅度頻率特性和嚴格的線性相位特性,使其在很多實際的電子系統(tǒng)中得到了廣泛的應用[1]。
根據(jù)其網(wǎng)格結構的不同一般可以分為直接型、級聯(lián)型、線性型、頻率采樣型等[2?3]。對于線性FIR可以利用其對稱性來簡化網(wǎng)格結構(這里只討論偶對稱的情況,奇對稱的原理一樣)。本設計是[N=]偶數(shù)的偶對稱,其網(wǎng)格結構如圖1所示。
2 多級并行流水結構的實現(xiàn)
其電路結構示意圖如圖2所示。
對于FIR的并行運算來說,可以利用奇偶對稱和劃分多個部分來共同實現(xiàn)。利用奇偶對稱特性可以有效減少乘法器的使用個數(shù);將求和電路進行有效劃分雖然增加了加法器的個數(shù)但是并行效率大大增強,同時選擇在每一級結果后插入寄存器來實現(xiàn)流水化。其多級并行流水的電路結構如圖3所示。
其中,輸入端A,B分別為對應同一相應系數(shù)的寄存器。對于加法運算,兩個數(shù)相加有可能產(chǎn)生溢出,因此為了避免因溢出而產(chǎn)生的錯誤,把累加器的位寬根據(jù)每加一級增加一位位寬的原則確定,乘法器的位寬就是兩個乘數(shù)位寬之和。
3 沖擊響應系數(shù)的量化
本文設計的濾波器為低通濾波器,其通帶截止頻率為0.85 kHz,過渡帶寬為500 Hz,阻帶衰減為60 dB,通帶波動為0.1 dB,窗函數(shù)為凱賽窗(Kaiser),利用窗函數(shù)設計的濾波器階數(shù)為64階。通過Matlab中的濾波器生成工具,設置好濾波器的參數(shù)并生成抽頭系數(shù)[5]。FIR濾波器的抽頭系數(shù)多為有符號的小數(shù),必須把它轉(zhuǎn)化為計算機能識別的二進制補碼的形式才能進行運算[6]。由于FIR濾波器的系數(shù)是無限精度,而實際電路中寄存器的位寬都是有限的,所以必須對無限精度的濾波器系數(shù)進行截位或者是舍入。如何對無限精度的濾波器系數(shù)進行合理的量化,對濾波器的精度至關重要[7]。
從理論上講,沖擊響應系數(shù)和輸入的位寬越高,濾波器精度越高,但同時消耗的資源也就越多[8]。研究表明,當量化位數(shù)高于16位時,通帶內(nèi)的量化誤差的均值小于0.1,能夠滿足設計需求[9]。為了避免不必要的位寬浪費,同時又保障對精度的要求,本文設計實現(xiàn)了基于最小沖擊響應系數(shù)按等比例量化的方法,其算法為:
[量化后數(shù)據(jù)=(量化前數(shù)據(jù)量化基數(shù))?2N]
其中,量化基數(shù)就是沖擊響應系數(shù)中絕對值最小系數(shù)的絕對值;[N]為量化基數(shù)的位寬,其表示成二進制的位寬。量化基數(shù)的位數(shù)越寬,精度就越大。
由于本文設計的輸入信號是17位的,綜合乘法運算和精度的考量,沖擊響應系數(shù)選取17位數(shù)據(jù)。例如本設計中絕對值最大的數(shù)除以這個量化基準的值為[1 062.877>210,]因此最少用11位二進制數(shù)來表示這個比值。如果用17位二進制數(shù)(最高位為符號位,16位數(shù)值位)來存儲沖擊響應系數(shù)時,還可以用5位二進制數(shù)來表示量化基準,即絕對值最小的數(shù)表示成-25 =-32(本設計中絕對值最小的數(shù)為負數(shù)),這樣就能盡量多地存儲有效的數(shù)據(jù),使其充斥整個存儲空間。本設計就是基于這種思想,所有沖擊響應系數(shù)和量化基準的比值乘以25轉(zhuǎn)化成17位的二進制數(shù)之后即可存儲,使存儲的位寬空間達到滿量程。本文設計的實數(shù)型沖擊響應系數(shù)如表1所示,根據(jù)系數(shù)的對稱性只列出一半。
這里量化基數(shù)為[h(0)]的絕對值,即0.000 144 516 940 331 9,所有系數(shù)除以這個基數(shù)再乘以比例基準25就得到設計所用到的量化系數(shù),量化后的32個二進制補碼系數(shù)如表2所示。
4 仿真結果對比及性能分析
Modelsim的仿真結果如圖4所示,din為濾波器輸入信號,dout為40位沒有經(jīng)過截位的輸出信號。在實際的系統(tǒng)中,對濾波器的輸出數(shù)據(jù)進行適當?shù)慕匚?,能夠保障輸出?shù)據(jù)的相頻和幅頻特性的同時,還能減少后級所消耗的資源。
用Matlab編寫仿真模型,將其輸出結果和Modelsim仿真的結果都以文本的形式輸出,Matlab運算的輸出結果如圖5所示,其結果和圖4的結果一一對應。將兩種結果的文本進行一一比對,結果完全一致,說明其功能正確。
通過Matlab編寫的仿真模型來觀察仿真結果的頻譜圖,輸入信號為兩個頻點的有噪聲的信號。觀察到該多級并行流水FIR數(shù)字濾波器對高于1 000 Hz的信號有明顯的濾波效果,其截止頻率、過渡帶寬等性能參數(shù)均符合設計要求。該FIR數(shù)字濾波器的濾波特性頻譜如圖6所示。
5 結 語
本文根據(jù)實際的工程實踐需求,介紹了一種多級并行流水FIR數(shù)字濾波器的基本結構和設計實現(xiàn),并提出了基于最小沖擊響應系數(shù)按等比例量化的方法,使沖擊響應系數(shù)的生成更加準確和簡單。通過Modelsim仿真結果與Matlab仿真結果的對比,該多級并行流水FIR數(shù)字濾波器的各項指標均滿足設計要求,能夠大大提高系統(tǒng)的處理頻率,滿足了在高速、大數(shù)據(jù)量的數(shù)字信號系統(tǒng)中處理大數(shù)據(jù)率、單周期響應的要求。
參考文獻
[1] 張登奇,李望移.基于Matlab的FIR數(shù)字濾波器設計[J].計算機時代,2007(11):47?49.
[2] 華玲,常建平.高階FIR濾波器的計算機設計與FPGA實現(xiàn)[J].現(xiàn)代電子技術,2011,34(2):99?102.
[3] 李書華,曾以成.基于分布式算法的高階FIR濾波器及其FPGA實現(xiàn)[J].計算機工程與應用,2010(12):136?138.
[4] 丁玉美,高西全.數(shù)字信號處理[M].2版.西安:西安電子科技大學出版社,2000.
[5] 王旭東,勒雁霞.Matlab及其在FPGA中的應用[M].2版.北京:國防工業(yè)出版社,2008.
[6] 劉仲,陳躍躍,陳海燕.支持任意系數(shù)長度和數(shù)據(jù)類型的FIR濾波器向量化方法[J].電子學報,2013,41(2):346?351.
[7] 杜勇,路建功,李元洲.數(shù)字濾波器的Matlab與FPGA實現(xiàn)[M].北京:電子工業(yè)出版社,2012.
[8] MIRZAEI S, HOSANGADI A, KASTNER R. FPGA implementation of high speed FIR filters using add and shift method [C]// Proceedings of 24th International Conference on Computer Design. San Jose, California: IEEE, 2006: 308?313.
[9] 戴曜澤,王春雷,朱智強.基于FPGA高階FIR濾波器的實現(xiàn)[J].現(xiàn)代電子技術,2012,35(8):110?113.