新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于FPGA+MATLAB的串行多階FIR濾波器設計

        基于FPGA+MATLAB的串行多階FIR濾波器設計

        作者: 時間:2014-04-08 來源:網絡 收藏

        摘要 FIR濾波器的設計分為濾波器系數計算和濾波器結構的具體兩個部分。為說明使用實現FIR的靈活性,文中列舉了一個多階串行FIR濾波器實例,并給出主要的源代碼和相關模塊的時序和功能說明,最后使用Matlab和Quartusii聯合仿真驗證了硬濾波器工程的正確性。

        本文引用地址:http://www.104case.com/article/236081.htm

        關鍵詞 ;FIR數字濾波器;Matlab;仿真

        數字濾波器是用于過濾時間離散信號的數字系統,通過對抽樣數據進行數學處理達到頻域濾波的目的。根據單位沖激響應函數的時域特性可分為兩類:無限沖激響應(Infinite Impulse Response,IIR)濾波器和有限沖激響應(Finite Inpulse Response,FIR)濾波器。與IIR濾波器相比,FIR濾波器的實現是非遞歸的,較穩定;且FIR濾波器可獲得嚴格的線性相位特性。因此,應用領域較廣。

        FIR濾波器具有成熟的結構,使用Matlab強大的功能使得本來繁重的計算工作變得輕松。在具體應用時,要根據工程當中信號的特點:采樣速率、信號帶寬等具體使用Matlab得到FIR濾波器系數。濾波器的結構實現可以使用PC軟件、單片機、微處理器、FPGA、通用DSP芯片。其需根據信號特性選擇。文中主要使用FPGA實現高速時鐘下的串行FIR濾波器結構,達到速度和邏輯資源情況下的最佳均衡。

        1 FIR的特點

        有限長單位沖激響應(FIR)濾波器的特點:(1)系統的單位沖激響應h(n)在有限個n值處不為零。(2)系統函數H(z)在|z|>0處收斂,極點全部在z=0處。(3)結構上主要是非遞歸結構,沒有輸出到輸入的反饋,但有些結構中也包含有反饋的遞歸部分。

        設FIR濾波器的單位沖激響應h(n)為一個N點序列,0≤n≤N-1,則濾波器的系統函數為

        ?

        h.jpg

        ?

        即有N-1階極點在z=0處,有N-1個零點位于有限z平面的任何位置。

        2 使用MatIab Fdatool設計FIR濾波器

        FDATool(Fliter Design & Analysis Tool)是Matlab信號處理工具箱專用的濾波器設計分析工具,操作簡單、靈活,可采用多種方法設計FIR和IIR濾波器。在Matlab命令窗口輸入FDATool后回車就會彈出FDATool界面。

        帶通濾波器設計已知濾波器的階數n=1 024,beta=3.4。首先在Fiher Ttype中選擇Bandpass;在Design Method選項中選擇FIRWindow,接著在Window選項中選取Blackman—Harris;指定Filter Order項中的Specify Order為1 024;采樣頻率Fs=8 000 Hz,截止頻率Fc1=900 Hz,Fc2=1 200 Hz。設置完以后點擊窗口下方的Design Filter,在窗口上方就會看到所設計濾波器的幅頻響應,通過菜單選項Analysis還可看到濾波器的相頻響應、組延遲、脈沖響應、階躍響應、零極點配置等,如圖1所示。

        ?

        ?

        這樣選擇File菜單當中的Export導出濾波器系數到文件中。因為得到系數是浮點數,為適合在FPGA中使用,要編寫一個M文件對系數進行整型量化處理并在此文件當中生成FPGA能夠使用的.mif表格文件。

        3 FPGA設計和仿真驗證

        當已知濾波器系數,信號速率為8 kHz,周期125μs。根據FIR濾波器的結構可知,只要在125μs之內完成1 024次乘加運算,那么就可達到對8 kHz速率的語音信號的有效濾波。文中使用QuartusII9.1開發平臺,FPGA芯片選用EP3C5E144C8,主時鐘25 MHz,周期40 ns進行1 024次運算,耗時40.96 μs<<125μs。

        首先新建在QuartusII中新建一個工程FIR1024,然后使用原理圖和VHDL混合的方式設計出以下FPGA程序。把fircoef.mif表格文件代入到系數ROM存儲器中。

        輸入管腳:CLK主時鐘25 MHz;DIN[15..0]語音數據輸入;AFCLK數據速率時鐘8 kHz;信號數據1 024點緩存RAM和濾波器系數ROM。

        ?

        ?

        ?

        ?

        ?

        濾波器相關文章:濾波器原理


        fpga相關文章:fpga是什么


        濾波器相關文章:濾波器原理


        電源濾波器相關文章:電源濾波器原理


        數字濾波器相關文章:數字濾波器原理

        上一頁 1 2 下一頁

        關鍵詞: FPGA MATLAB

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 丰县| 乐昌市| 平顺县| 和平区| 新兴县| 克山县| 中宁县| 洱源县| 大连市| 东阳市| 三门峡市| 荃湾区| 平和县| 隆昌县| 宜兰县| 大安市| 三门峡市| 绵竹市| 资源县| 龙口市| 宿松县| 平乡县| 临漳县| 仲巴县| 理塘县| 宜章县| 灵丘县| 湾仔区| 古浪县| 师宗县| 鹿邑县| 商都县| 民县| 阿尔山市| 徐闻县| 五台县| 睢宁县| 南召县| 武宣县| 会宁县| 宽城|