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

?

基于FPGA的FIR數(shù)字濾波器的設計與實現(xiàn)

2014-10-20 07:36熊潔黃蕾
卷宗 2014年9期

熊潔 黃蕾

摘 要:本課題是基于VHDL的數(shù)字濾波器的設計與實現(xiàn),要求完成數(shù)字濾波器的VHDL語言的模塊描述,通過MAX+PLUSII進行各模塊及頂層的仿真,并下載實現(xiàn)數(shù)字濾波器功能。本設計采用窗函數(shù)法實現(xiàn)線性FIR數(shù)字濾波器的設計,并以一個十六階低通FIR數(shù)字濾波器的實現(xiàn)為例說明了設計過程。

關鍵詞:FIR濾波器;VHDL;窗函數(shù)

本課題基于智能芯片的思想,采用FPGA電路的二次開發(fā)和在線編程能力硬化實現(xiàn)數(shù)字濾波器功能模塊,主要討論基于FPGA技術的數(shù)字濾波器設計方案與具體實現(xiàn)方法。本設計的任務是完成數(shù)字濾波器的VHDL語言的模塊描述,并通過MAX+PLUSII進行各模塊及頂層的仿真。

主要任務:

(1)完成基于VHDL的并行FIR數(shù)字濾波器的設計。(2)用MAX-PLUSII編程實現(xiàn)。(3)完成數(shù)字濾波器算法的仿真。

FPGA有著規(guī)整的內部邏輯陣列和豐富的連線資源,特別適合于數(shù)字信號處理任務,其并行性和可擴展性好,長期以來,F(xiàn)PGA一直被用于系統(tǒng)邏輯或時序控制上,很少有信號處理方面的應用,其原因主要是因為在FPGA中缺乏實現(xiàn)乘法運算的有效結構?,F(xiàn)在這個問題得到了解決,使FPGA在數(shù)字信號處理方面有了長足的發(fā)展。

1 設計思路及特點

1.1 設計思路

采用窗函數(shù)設計法設計FIR濾波器的系數(shù),并采用并行加法結構來提高速度 。

1.2 設計特點

本課題是要設計一個16階8系數(shù)的FIR濾波器,則N=16,x(n),h(n)均用8位二進制數(shù)表示。

假設有16個數(shù)據(jù)x0,x1,x2,……,x14,x15,每個數(shù)據(jù)都用8位二進制數(shù)表示,現(xiàn)要將這16個數(shù)相加。我們先將16個數(shù)據(jù)分為8組,x0與x1,x2與x3……x14與x15。這樣的話,8組數(shù)據(jù)就可以同時進行加法,只需要一個時鐘周期。再將上一步所計算得到的8個數(shù)據(jù)分組,分為四組,進行加法。以此類推,直到算完為止,這樣就需要15個加法器,但只需4個時鐘周期。與傳統(tǒng)累加結構相比,并行加法結構大大減少了計算時間,提高了計算速度。

2 具體步驟

2.1 參數(shù)設計

2.1.1設計指標

下面以一個十六階FIR低通濾波器為例說明設計方法和過程。設定采樣頻率為100kHz,精度<=+1,截止頻率為5kHz,輸入數(shù)據(jù)寬度為8位,輸出數(shù)據(jù)寬度為8位。

2.1.2參數(shù)計算

采用窗函數(shù)設計法來計算FIR的系數(shù),使用的窗函數(shù)為漢寧窗。

我們利用反傅立葉變換公式和低通濾波器的頻率響應H(ejω)求出對應的沖激響應hd(n),

由于要求設計一個16階的FIR,則N=16。計算得hd(n)如下:

hd(0)=hd(15)=0.030025765,hd(1)=hd(14)=0.04365539,hd(2)=hd(13)=0.057190986,hd(3)=hd(12)=0.069900094,hd(4)=hd(11)=0.081074297,hd(5)=hd(10)=0.090077296

hd(6)=hd(9)=0.096388641,hd(7)=hd(8)=0.099639786

根據(jù)漢寧窗的表達式,計算出漢寧窗的系數(shù)如下:

ω(0)= ω(15)=0,ω(1)= ω(14)=0.043227271,ω(2)= ω(13)=0.165434696,

ω(3)= ω(12)=0.345491502,ω(4)= ω(11)=0.552264231,ω(5)= ω(10)=0.75

ω(6)= ω(9)=0.904508497,ω(7)= ω(8)=0.9890738

根據(jù),可計算出的符合設計指標的線性相位16階FIR數(shù)字低通濾波器的特性參數(shù)如下:

h(0)=h(15)=0,h(1)=h(14)=0.001887103,h(2)=h(13)=0.009461373,h(3)=h(12)=0.024149888

h(4)= h(11)=0.044774434,h(5)= h(10)=0.067557972,h(6)= h(9)=0.087184344,

h(7)= h(8)=0.098551101

為了設計的方便,可將上述數(shù)據(jù)擴大,由于濾波器輸出,我們將h(n)擴大1024倍,即210,這樣只需將y(n)除以1024,即右移10位即可,將h(n)乘以1024,得到以下數(shù)據(jù):

將上述數(shù)據(jù)取整,并化為二進制數(shù)(8位):

2.2 程序實現(xiàn)及編譯仿真

2.2.1 編寫VHDL程序

首先,根據(jù)H1,H2…H7模塊的結構圖,編寫VHDL程序:h1.vhd,h2.vhd…h(huán)7.vhd,編譯仿真;然后,根據(jù)系統(tǒng)的總的設計框圖,分別編寫移位寄存器、加法器和移位的程序:reg.vhd,adder.vhd,shift.vhd,并編譯仿真;最后,把各個模塊根據(jù)總的系統(tǒng)設計框圖相應的連接起來,得到總的系統(tǒng)圖,并進行仿真。

2.2.2 仿真結果

仿真結果1大致波形圖如下:

如果輸入x分別從1至14,代入上式計算,由于在參數(shù)設計中將濾波器系數(shù)擴大了1024倍,所以將所得結果除以1024可計算得y=5。由上圖可以看出,符合設計要求。

仿真結果2繪制波形圖如下:

另外,設計的濾波器完成一次濾波所需時間為89.8ns,采樣頻率可達到10MHz,運算速度快,能滿足設計要求。

3 結論及改進

3.1 結論

本課題是基于VHDL的數(shù)字濾波器的設計與實現(xiàn),要求完成數(shù)字濾波器的VHDL語言的模塊描述,通過MAX+PLUSII進行各模塊及頂層的仿真,并下載實現(xiàn)數(shù)字濾波器功能。我們以一個16階低通FIR數(shù)字濾波器為例介紹了用窗函數(shù)設計法設計的過程,計算出FIR濾波器的特性參數(shù),得出總的系統(tǒng)框圖,根據(jù)框圖連接各模塊設計出總的FIR系統(tǒng)圖,在MAX+PLUSⅡ環(huán)境下編譯、仿真,得出仿真結果。其結果正確,而且運算速度快,符合設計要求。

3.2 改進

從FIR的仿真結果可以看出,輸出y存在一定的延時和尖峰脈沖。在本次設計中FIR的系數(shù)是以16階低通濾波器采樣頻率為100kHz截止頻率為5kHz為例設計出來的,因此這些系數(shù)并不具有通用性。在本次設計中輸入信號是一系列數(shù)字信號,因此可以利用模數(shù)轉換器將模擬信號轉換為數(shù)字信號,再用FIR濾波器處理轉換后的信號。

參考文獻

[1]日)谷萩隆嗣著.《數(shù)字濾波器與信號處理》.北京-科學出版社2003

[2]雷伏容.《VHDL電路設計》.清華大學出版社2006

[3]貝耶爾著.《數(shù)字信號處理的FPGA實現(xiàn)》第三版. 清華大學出版社

沧州市| 项城市| 梁河县| 湖州市| 壶关县| 青川县| 平泉县| 阿坝县| 宁国市| 旬邑县| 瑞安市| 理塘县| 尉犁县| 衡水市| 宝应县| 龙南县| 始兴县| 云阳县| 黑水县| 弥渡县| 大理市| 岐山县| 紫云| 庆城县| 凌云县| 那坡县| 桐柏县| 乌海市| 手游| 德格县| 图们市| 通渭县| 广德县| 普格县| 清苑县| 福州市| 肇庆市| 嘉黎县| 阿勒泰市| 通河县| 镶黄旗|