王維斌
【摘 要】本設(shè)計針對DSP芯片編寫了基于MATLAB的FIR濾波器仿真程序FIR Simulink,可通過選擇濾波器的類型及窗函數(shù)來對濾波器進行仿真,并在DSP實驗箱上實現(xiàn)了基于TMS320VC5402的16位定點DSP芯片的FIR濾波功能,在設(shè)計中對FIR濾波器的設(shè)計方法進行了總結(jié),找到了一種快速傳遞濾波器系數(shù)的方法,方便了FIR濾波器的設(shè)計。
【關(guān)鍵詞】FIR濾波器;窗函數(shù);MATLAB;DSP
中圖分類號: G642;TN713-4 文獻標(biāo)識碼: A 文章編號: 2095-2457(2019)25-0022-002
DOI:10.19694/j.cnki.issn2095-2457.2019.25.009
Design of the n Order FIR Filter System Based on DSP
WANG Wei-bin
(Hunan Automobile Engineering Professional Colleage,Zhuzhou Hunan 412001, China)
【Abstract】This design has compiled FIR filter simulated program fir Simulink based on MATLAB, It can choose four types of filter and seven types of windows functions to simulate the filter, and has realized the FIR filter function in the experiment box based on TMS320VC5402s16 fixed-point the chip of DSP. Has designed the FIR filter system electric circuit schematic diagram. Summarized the FIR filters designs method, and found one kind of the fast transmission method of filters coefficient, has facilitated the FIR filter design.
【Key words】FIR Filter; Window Function; MATLAB; DSP
0 引言
數(shù)字濾波器是利用某種規(guī)定的算法對輸入信號序列進行處理后得到所期望的輸出序列的裝置,以濾除輸入信號中某一部分頻率分量,相當(dāng)于信號頻譜與濾波器的頻率響應(yīng)相乘的結(jié)果,在語音處理、圖像處理、雷達信號處理、通信信號處理等方面有廣泛的應(yīng)用,在數(shù)字信號處理中具有重要的地位。
1 FIR數(shù)字濾波器的設(shè)計
1.1 設(shè)計思路
首先根據(jù)要求在Matlab中采用窗函數(shù)法,或其他Matlab函數(shù)以及濾波器設(shè)計工具來設(shè)計相應(yīng)的FIR數(shù)字濾波器,然后對所設(shè)計的濾波器進行仿真,最后把在Matlab中設(shè)計的濾波器的系數(shù)應(yīng)用至DSP濾波算法程序中,編寫相關(guān)的初始化程序,采用載入方式把Matlab中仿真的模擬信號加到DSP程序中,通過CCS中的圖形工具觀察濾波前后的信號。
1.2 窗函數(shù)法設(shè)計FIR濾波器
窗函數(shù)法又稱為傅立葉級數(shù)法。FIR濾波器設(shè)計方法就是用所設(shè)計的數(shù)字濾波器的頻率響應(yīng)Hd(ejωt)去逼近所要求的理想濾波器的響應(yīng)Hd(ejωt),使用所設(shè)計的濾波器h(n)去逼近理想單位取樣響應(yīng)序列hd(n)。假設(shè)理想濾波器的頻率響應(yīng)表示為:
常用的窗函數(shù)有七種,本設(shè)計中根據(jù)FIR濾波器窗函數(shù)種類編寫了基于MATLAB語言的程序FIR_simulink,該程序允許任意選擇濾波器類型及窗函數(shù)進行設(shè)計,并能將實際的單位脈沖響應(yīng),設(shè)計好的濾波器的幅度響應(yīng)和窗函數(shù)時域幅度用圖形的方式顯示出來。
1.3 函數(shù)直接設(shè)計FIR濾波器
利用函數(shù)直接設(shè)計FIR濾波器時使用的函數(shù)主要有fir1、fir2和kaiserord三種。
1.3.1 基于fir1函數(shù)直接設(shè)計FIR數(shù)字濾波器
fir1函數(shù)主要用于低通、高通、帶通、帶阻等常用的標(biāo)準通帶濾波器的設(shè)計,它實現(xiàn)了加窗線性相位FIR數(shù)字濾波器的設(shè)計,是一種經(jīng)典的FIR數(shù)字濾波器設(shè)計方法,例如:如果窗函數(shù)為w(n),理想濾波器的單位脈沖響應(yīng)為h(n),則所設(shè)計的濾波器的系數(shù)為b(n)=w(n)h(n),具體語法形式如下:b=fir1(N,Wn);b=fir1(N,Wn,ftype);b=fir1(N,Wn,window);b=fir1(N,Wn,ftype,window)。
1.3.2 基于fir2函數(shù)直接設(shè)計任意響應(yīng)FIR濾波器
根據(jù)要求的幅度頻率響應(yīng)的向量形式進行插值后對其進行傅立葉反變換,得到理想濾波器的單位脈沖響應(yīng),最后利用窗函數(shù)對理想濾波器的單位脈沖響應(yīng)進行截短處理得到FIR濾波器的系數(shù),具體語法形式如下:b=fir2(N,f,m);b=fir2(N,f,m,window);b=fir2(N,f,m,npt,window);b=fir2(N,f,m,npt,lap)。
1.3.3 基于kaiserord函數(shù)直接設(shè)計FIR濾波器
凱塞窗通過參數(shù)可以改變窗函數(shù)的主瓣帶寬和旁瓣衰減。在設(shè)計中先根據(jù)設(shè)計要求利用kaiserord函數(shù)求得凱塞窗函數(shù)參數(shù),然后進行凱塞窗函數(shù)和FIR濾波器的設(shè)計。具體語法:[N,Wn,beta,ftype]=kaiserord(f,a,dev);
2 FIR濾波器的DSP程序?qū)崿F(xiàn)
2.1 程序的設(shè)計
通過DSP實現(xiàn)FIR濾波器的驗證,可以利用傅氏級數(shù)法、窗函數(shù)法、算法等來實現(xiàn),以采樣頻率為200KHz,階數(shù)為70的FIR低通濾波器為例,程序流程如圖1所示。
2.2 濾波效果仿真
利用信號發(fā)生器產(chǎn)生兩路正弦信號,頻率分別為20KHZ與80KHZ,把兩路信號混頻后作為濾波器驗證的輸入信號,通過CCS中圖形工具查看經(jīng)過DSP濾波器濾波后的信號波形,如圖2所示。
3 結(jié)論
本文以實例的形式介紹了利用MATLAB實現(xiàn)基于DSP的n階FIR濾波器設(shè)計的方法,利用仿真波形直觀的展示了所設(shè)計的FIR的濾波效果,設(shè)計中在MATLAB中直接生成濾波器系數(shù),將系數(shù)傳到CCS軟件中形成DSP濾波算法程序,完成濾波器的快速設(shè)計。
【參考文獻】
[1]陳懷琛.數(shù)字信號處理[M].北京:電子工業(yè)出版社.2008年10月.
[2]吳尚飛.基于DSP的FIR濾波器設(shè)計[J].中國新通信.2016年8月.