• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

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

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

      熊潔 黃蕾

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

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

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

      主要任務(wù):

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

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

      1 設(shè)計思路及特點

      1.1 設(shè)計思路

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

      1.2 設(shè)計特點

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

      假設(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)累加結(jié)構(gòu)相比,并行加法結(jié)構(gòu)大大減少了計算時間,提高了計算速度。

      2 具體步驟

      2.1 參數(shù)設(shè)計

      2.1.1設(shè)計指標

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

      2.1.2參數(shù)計算

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

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

      由于要求設(shè)計一個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ù),可計算出的符合設(shè)計指標的線性相位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è)計的方便,可將上述數(shù)據(jù)擴大,由于濾波器輸出,我們將h(n)擴大1024倍,即210,這樣只需將y(n)除以1024,即右移10位即可,將h(n)乘以1024,得到以下數(shù)據(jù):

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

      2.2 程序?qū)崿F(xiàn)及編譯仿真

      2.2.1 編寫VHDL程序

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

      2.2.2 仿真結(jié)果

      仿真結(jié)果1大致波形圖如下:

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

      仿真結(jié)果2繪制波形圖如下:

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

      3 結(jié)論及改進

      3.1 結(jié)論

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

      3.2 改進

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

      參考文獻

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

      [2]雷伏容.《VHDL電路設(shè)計》.清華大學(xué)出版社2006

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

      社旗县| 宜兴市| 宣武区| 乐安县| 宝丰县| 安塞县| 武穴市| 临泉县| 武义县| 霸州市| 花莲县| 灌云县| 盐山县| 江山市| 天台县| 张家川| 田东县| 尚志市| 吉木萨尔县| 竹山县| 东安县| 长海县| 长岭县| 恩施市| 横山县| 缙云县| 南木林县| 玉山县| 疏勒县| 临安市| 林西县| 宾阳县| 从化市| 顺平县| 绥宁县| 大庆市| 北川| 常熟市| 北碚区| 盐池县| 巍山|