新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > FIR數字濾波器的MATLAB仿真和DSP的實現

        FIR數字濾波器的MATLAB仿真和DSP的實現

        作者: 時間:2014-03-12 來源:網絡 收藏
        verdana, serif; font-size: 14px; line-height: 22px; text-indent: 28px; background-color: rgb(255, 255, 255); ">若信號高頻分量很小,信號大部分能量集中在低頻處,那么諧波測量儀只要求測到20次諧波就可以了,截止頻率為1 000 Hz左右,20次以上的諧波需要由濾波器濾除,為了達到更好的濾波效果,在硬件濾波的基礎上又增加了。這里以有閉合公式可循的窗函數法為例來介紹濾波器設計。
        3.1 濾波系數確定方法
        首先,各技術指標如下:

        濾波器的設計采用MATLAB數字信號處理軟件包提供的專用函數來直接求取濾波器系數。在MATEAB中,提供了設計濾波器的函數。采用窗函數方法的函數firl,調用格式為:b=firl(n,ωn、window)或b=firl(n,ωn),其中n是濾波器階數,ωn是0~1的數,ωn=ωc/2π=0.25,window為窗函數類型。由于濾波器長度N為34,因此階數n=N-1=33,則求取濾波系數的表達式為b=firl(33,0.25)。表1為利用MATLAB計算所得的濾波系數表。

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


        3.2 FIR設計
        在滿足各技術指標的前提下,經,圖1為頻率響應曲線,阻帶衰減小于50 dB。圖2為S=S1+S2+S3的波形,其中S1=sin(50x 2xπxt),S2=0.15xsin(25x50x2xπxt),S3=0.1xsin(20x50x2xπxt)。圖3為濾除掉25次諧波S2和20次諧波S3后的波形圖。


        由濾波前后兩個波形對比可以看出,該濾波器對20次以上諧波的濾除效果比較理想。3.3 FIR的DSP實現

        實現FIR濾波的核心器件是美國德州儀器公司生產的TMS320F2812DSP芯片。芯片內12位精度的A/D轉換單元對輸入的模擬信號進行采樣,DSP讀取采樣值后對每一點進行FIR濾波處理,將數據存入內部存儲器,為下一步進行FFT運算做準備。以下為FIR濾波器流程圖。


        下面對程序流程作詳細說明:
        首先初始化DSP寄存器,分配存儲單元,并定義一些變量名稱,接著在數據存儲區中開辟一個N單元的緩沖區,存放由MATLAB設計出的N個濾波系數。接下來讀入采樣值,并存入相應存儲器A,然后開始濾波運算。具體運算步驟如下:
        1)累加器ACC清零,初始化兩個準備相乘的存儲單元A與B的計數值K和L;
        2)將第K個采樣值AK與濾波器系數序列第L個數BL相乘(K+L=N+1),并將乘積送入累加器進行累加;
        3)將第K-1個采樣值AK-1存入AK單元,此時AK中的原數值被覆蓋;
        4)重復(2)~(3)直至共完成N次乘加運算;
        5)輸出處理結果。
        濾波運算采用FFT算法。DSP控制器特有的反序間接尋址,為FFT算法的實現提供了方便。間接尋址方式還可以實現增/減l或增/減一個變址量,這就很容易實現各種查表方法。

        4 結束語
        介紹了采用窗函數設計法用Matlab仿真技術和DSP技術來實現FIR濾波器的設計過程。Matlab仿真非常方便設計出具有嚴格線性相位要求的濾波器,在應用中只需對程序中濾波器的起始頻率、截止頻率、采樣頻率和窗函數等參數進行修改就可實現需要的濾波功能,實用性強。采用DSP控制器來實現FFT運算從而使設計實現實時控制。利用Matlab輔助DSP實現FIR濾波器的設計是解決濾波器從設計到實現的有效辦法,這個方法可以大大縮短DSP應用程序的開發時間,提高了設計效率,具有很強的實用性。

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


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


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


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

        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 思南县| 新民市| 吉林市| 廊坊市| 泌阳县| 阿勒泰市| 泽州县| 界首市| 铜川市| 桐梓县| 建湖县| 浮山县| 玉溪市| 嘉善县| 贺兰县| 乌什县| 五指山市| 繁昌县| 旅游| 乐业县| 股票| 莒南县| 渭南市| 宁国市| 华坪县| 阿鲁科尔沁旗| 临湘市| 南溪县| 叙永县| 津南区| 旅游| 密山市| 泰兴市| 赣榆县| 扎赉特旗| 德清县| 都安| 澜沧| 河池市| 灌南县| 连南|