新闻中心

EEPW首页 > EDA/PCB > 设计应用 > 用MATLAB设计FIR滤波器的方法

用MATLAB设计FIR滤波器的方法

作者: 时间:2012-03-23 来源:网络 收藏

4 FDATool设计法

FDATool(Filter Design Analysis Tool)是信号处理工具箱专用的设计分析工具,操作简单、灵活,可以采用多种设计和IIR。在命令窗口输入FDATool后回车就会弹出FDATool界面。

4.1 带通设计

已知滤波器的阶数n=38,beta=3.4。本例中,首先在Filter Type中选择Bandpass;在Design Method选项中选择 Window,接着在Window选项中选取Kaiser,Beta值为3.4;指定Filter Order项中的Specify order为38;采样频率Fs=100Hz,截止频率Fc1=10Hz,Fc2=20Hz。设置完以后点击窗口下方的Design Filter,在窗口上方就会看到所设计滤波器的幅频响应,通过菜单选项Analysis还可以看到滤波器的相频响应、组延迟、脉冲响应、阶跃响应、零极点配置等。设计完成后将结果保存为kaiser15.fda文件。

4.2 Simulink仿真

在Simulink环境下,将滤波器文件kaiser15.fda导入Digital Filter Design模块,输入信号为s(t)=sin(10πt)+sin(30πt)+sin(60πt),生成的仿真图和滤波效果如图2所示。

44.jpg

(1)Simulink仿真图 (2)滤波前后的离散波形
图2 Simulink仿真图和滤波效果图

5 SPTool设计法

SPTool是信号处理工具箱中自带的交互式图形用户界面工具,它包含了信号处理工具箱中的大部分函数,可以方便快捷地完成对信号、滤波器及频谱的分析、设计和浏览。在本例中按以下步骤完成滤波器的设计和滤波:

创建并导入信号源。
在MATLAB命令窗口输入命令:
Fs=100;t = (0:100)/Fs;
s = sin(2*pi*t*5)+sin(2*pi*t*15)+sin(2*pi*t*30);

此时,变量Fs、t、s将显示在workspace列表中。在命令窗口键入Sptool,将弹出Sptool主界面,如图3所示;点击菜单File/Import将信号s导入并取名为s。

(2)单击Filters列表下的New,按照参数要求设计出滤波器filt1,具体步骤类似于3.2.1。

(3)将滤波器filt1应用到s信号序列。分别在Signals、Filters、Spectra列表中选择s、filt1、mtlbse,单击Filters列表下的Apply按钮,在弹出的Apply Filter对话框中将输出信号命名为sin15hz。

(4)进行频谱分析。在Signals中选择s,单击Spectra下的Create按钮,在弹出的Spectra Viewer界面中选择Method为FFT,Nfft=512,单击Apply按钮生成s的频谱spect1。同样的步骤可以生成信号sin15hz的频谱spect2。

滤波器相关文章:滤波器原理


滤波器相关文章:滤波器原理


电源滤波器相关文章:电源滤波器原理




关键词: MATLAB FIR 滤波器 方法

评论


相关推荐

技术专区

关闭