基于MATLAB 的滤波器设计 由于MATLAB 的广泛使用和功能的不断更新,基于MATLAB 的滤波器设计方法以其方便快捷的特点,受到了设计者的欢迎。下面将举例说明基于MATLAB 的FIR 滤波器的设计。 1 基于FDATo o l 的FIR 滤波器设计 使用FDATool 设计FIR 滤波器的具体步骤如下: 1.1 滤波器指标 若需要设计一个16 阶的FIR 滤波器(h(0)=0),给定的参数如下: (1) 低通滤波器 (2) 采样频率FS 为48kHz,滤波器FC 为10.8kHz (3) 输入序列位宽为9 位(最高位为符号位) 在此利用MATLAB 来完成FIR 滤波器系数的确定。 1.2 打开MATLAB 的FDATo o l MATLAB 集成了一套功能强大的滤波器设计工具FDATool(Filter Design & Analysis Tool),可以完成多种滤波器的设计、分析和性能评估。 单击MATLAB 主窗口下方的“Start”按钮,如图 B.1 所示,选择菜单“ToolBox” →“Filter Design” →“Filter Design & Analysis Tool(FDATool)”命令,打开FDATool,如图 B.2 所示。 图B.1 FDATo o l 的启动 图B.2 FDATool 的主界面 另外,在MATLAB 主命令窗口内键入“fdatool”,同样可打开 FDATool 程序界面。 1.3 选择 Design Filter FDATool 界面左下侧排列了一组工具按钮,其功能分别如下所述: ● 滤波器转换( TransForm Filter) ● 设置量化参数(Set Quantization Parameters) ● 实现模型(Realize Model) ● 导入滤波器(Import Filter) ● 多速率滤波器(Multirate Filter) ● 零极点编辑器(Pole-zero Editor) ● 设计滤波器(Design Filter) 选择其中的按钮,进入设计滤波器界面,进行下列选择,如图B.3 所示。 图B.3 FDATool 设计 FIR 滤波器 ● 滤波器类型(Filer Type)为低通(Low Pass) ● 设计方法(Design Method)为FIR,采用窗函数法(Window) ● 滤波器阶数(Filter order)定制为15 ● 窗口类型为Kaiser,Beta 为0.5 ● FS 为48kHz,FC 为10.8kHz 最后单击Design Filter 图标,让MATLAB 计算FIR 滤波器系数并作相关分析。 其系统函数H(z)可用下式来表示: H(z)=161kkk zb 显然上式可以写成: H(z)=1501kkk zbz 即可以看成是一个15 阶的FIR 滤波器的输出结果经过了一个单位延时单元1z ,所以在FDATool 中,把它看成15 阶FIR 滤波器来计算参数。 1 .4 滤波器分析 计算完F...