一、概述
在通信数字信号处理中,会经常涉及到数字滤波器的设计,核心是数字滤波器系数的生成,Filter solutions是一款很方便的滤波器设计软件,本文简要介绍了通过Filter solutions(版本为2019,提倡使用正版,o(∩_∩)o)设计FIR数字低通滤波器的方法,便于以后查看。
二、步骤
步骤1
选择FIR滤波器,填写滤波器项目参数,具体操作如下图:
1、首先选择FIR滤波器,滤波器类型选择low pass。
2、FIR窗函数选择的是Hamming窗。
3、采样频率为50MHz。
4、滤波器阶数Taps为16阶。
5、低通通带截止频率Pass Band Freq为500KHz。
6、频率响应显示的范围是从100Hz~25MHz(由于采样定律,采样频率为50M,因此采样信号的最大频率为25MHz)。
步骤2
设计好滤波器参数后,按下图点击synthesize进行综合。
生成的滤波器传输方程(标准型或级联型可选)如下:
注意右上角可以选择设置生成滤波系数的格式,包括实际小数、有/无符号的浮点型、有/无符号的定点型,以及定点的位宽。这里我们选择的16位有符号定点型。
步骤3
按照下图点击频域响应,查看FIR频率响应。
步骤4
按照下图位置点击vec,查看生成的FIR滤波器系数,格式就是我们上面选的16位定点有符号数。
这里还可以点击code,生成滤波器的c代码,非常方便。
三、总结
多说几句,这里设计的是16阶的FIR低通滤波,滤波器系数是偶对称的,因此FIR可以保证相位的线性变化,即系统的群时延是固定值,所谓群时延就是系统对各个频率的延时是一样的,因此FIR可以保证通过滤波器的信号无畸变,这是IIR型滤波器达不到的,IIR滤波器的阶数可以远小于FIR而达到FIR滤波器的效果,但是IIR将对信号产生畸变,也有无法收敛的风险。后续将写一篇文章总结下各类数字滤波器,便于自己真正掌握理解。
本文仅简要介绍了Filter solutions最简单的功能,其实该软件功能还是很强大了,也可以设计模拟滤波器。后续将写一篇matlab设计滤波器的方法,与Filter solutions进行对比。