本节主要介绍如何使用matlab2008生成IIR数字滤波器系数。
一、在matlab上设计一个高通滤波
打开matlab程序之后,在命令行窗口输入“fdatool”,弹出滤波器设计对话框如图6
图6.matlab中fdatool滤波器设计
为了便于分析,我们先从设计一个简单的一级2阶高通滤波器开始,按照下图中的步骤进行。
1.Design Method用于选择IIR滤波器还是FIR滤波器,这里我们选择IIR滤波器,类型选择Chebyshev Type I,当然你也可以选择其他类型,不同类型的频率响应不同,选择后默认的滤波器结构是直接II型,如图7中的蓝色框所示。
2.ResponseType用于选择低通、高通、带通以及陷波,选择高通滤波“Highpass”,这里我们选择高通滤波用于滤出300HZ以下的工频频率。
3.Fiter Order 选择阶数,为了使用STM32官方库给的程序,这里需要填入偶数,为了简单起见,先选择一个2阶滤波器做实验。
4.Frequency Specifications用于设置采样频率以及截止频率,这里填入8000以及300,也就是采样率是8KHz,300Hz以下的频率都不能通过。
5.点击“Design Filter”,matlab将生成一个按照以上参数设计的滤波器,点击图中数字