?

基于VHDL的FIR低通數字濾波器設計與仿真

2016-11-09 00:04王建彬李響何東鋼
數字技術與應用 2016年9期

王建彬 李響 何東鋼

摘要:以FIR數字濾波器的基本理論為依據,程序設計部分設計濾波器電路中的寄存器(延時器)、第一級加法器、乘法器、第二級加減法器、輸出等多個單元器件模塊。采用模塊化的自頂向下的設計思想,對各個功能模塊采用VHDL語言的描述方法,VHDL程序設計代碼在Quartus II 的集成開發環境下使用,并且利用其內部的仿真器對設計進行了仿真和驗證。

關鍵詞:FIR 數字濾波器 VHDL語言 Quartus

中圖分類號:TN713.7 文獻標識碼:A 文章編號:1007-9416(2016)09-0195-02

信號處理廣泛應用在通信、控制等領域,對電子、信息科學等的發展有巨大的影響。信號處理分為模擬信號和數字信號處理系統。數字信號處理中一個非常重要的應用技術就是數字濾波[1]。數字濾波器是根據實驗設計好的程序,將一組數字序列輸入通過運算后,轉變為另一組數字序列的輸出,信號形式和內容的改變,達到符合技術指標的信號加工或濾波要求。由于VHDL語言是一種標準硬件描述語言,具有設計方式多樣、強大的硬件描述能力、很強的移植能力、設計描述與器件無關等很多其他硬件描述語言所不具備的優點[2]。以FIR低通數字濾波器的設計為例,按照設計原理,在數字邏輯設計的過程和方法中使用VHDL硬件描述語言,編寫相應代碼在Quartus II的集成開發環境下運行,并利用其內部的仿真器對設計做脈沖響應仿真和驗證。

1 FIR數字濾波器的設計原理

FIR數字濾波器是一個線性時的不變系統,長度為M階因果有限沖激響應濾波器可以用傳輸函數H(W)描述:

H(W)=

有限沖激響應濾波器在時域中的輸入輸出關系:

y[n]=x[n]*h[W]=

其中x[n]和y[n]分別是輸入和輸出序列[3]。

2 FIR數字濾波器的設計原理

設計一個線性相應的FIR 16階初始h(0)=0的低通數字濾波器,采樣頻率為100 khz,截至頻率為10khz,序列位寬為輸入輸出10位。整個設計分為程序設計和原理設計兩部分。其中程序設計部分設計濾波器電路中的寄存器(延時器)、第一級加法器、乘法器、第二級加減法器、輸出等單元器件模塊[4]。

2.1 寄存器(延時器)

如圖1所示,設計中用輸入9位數據,通過dff9的觸發寄存器實現寄存一組9位的二進制數據,VHDL語言實現寄存功能。

設計中用D觸發器組成寄存器,實現寄存功能。這里用來寄存一組9位的二進制數據。

2.2 第一級加法器

如圖2所示,9位數字輸入和10位數字輸出數據通過add9910構成加法器,實現兩個二進制數字的相加運算。

2.3 乘法器

如圖3所示,乘法器用來將數據乘以由Matlab計算得到的濾波系數,總共有8個乘法器。在乘法器設計時暫時沒有考慮符號,符號問題由下面的減法器實現。

2.4 第二級加減法器

對于乘了濾波系數的數據,進行第二次的加,如圖4所示。由于上面有的濾波系數是負的,所以這里用減法器對上一面的負系數做減法運算,如圖5所示。

2.5 輸出

如圖6所示,輸出通過一個加法器add151710完成10位數據的輸出,通過一個15位與一個17位數據相加得到的數據取高10為作為最終結果。

3 仿真結果

用VHDL語言實現的單元器件在仿真實驗中構成元器件,按照原理圖連接的濾波器件電路在Quartus II 的集成開發環境下完成[5]。

4 仿真結果驗證

由FIR數字濾波器的公式[6]:

y(m)==

利用Matlab計算出FIR數字濾波器的卷積y[m]的理論值和仿真器仿真得到輸出結果y[m]對比,見表1所示。

FIR數字濾波器的卷積y[m]的理論值和仿真器仿真得到輸出結果y[m]比較,結果完全吻合。數字濾波器設計符合設計要求。

5 結語

基于VHDL的FIR低通數字濾波器的性能優劣對信號處理的結果有重要的影響。本文對FIR數字低通濾波器進行了研究,利用VHDL對FIR數字濾波器劃分的多個模塊進行模塊的設計,并完成系統設計。按照設計原理,在數字邏輯設計的過程和方法中使用VHDL硬件描述語言,編寫相應代碼在Quartus II的集成開發環境下運行,并利用其內部的仿真器對設計做脈沖響應仿真和驗證。

參考文獻

[1]胡廣書.數字信號處理理論算法與實現[M].清華大學出版社,2003.

[2]佩德羅尼.VHDL數字電路設計教程[M].電子工業出版社,2005.

[3]程佩青.數字信號處理教程[M].清華大學出版社,2007.

[4]張學敏.基于MATLAB的FIR帶通濾波器的設計與仿真[J].長春工程學院學報(自然科學版),2007(08).

[5]蔡楠.基于VHDL語言的fir濾波器軟件設計[J].科技信息,2010(34).

[6]羅時書.基于VHDL語言的16階FIR濾波器設計[J].電腦知識與技術,2010(36).

91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合