4.2.2 MATLAB 滤波器函数
MATLAB 提供了丰富的 FIR 滤波器设计函数,如 fir1()、 fir2()、 kaiserord()、 firpm()等,合理使用这些函数几乎可以设计出任意满足工程要求的滤波器。接下来,我们先对这些函数功能及用法进行简单介绍,最后用一个实例展示综合应用各种函数进行最优 FIR 滤波器的设计方法。
1. fir1()函数
MATLAB 可以使用 fir1()函数设计低通、带通、高通、带阻等多种类型的具有严格线性相位特性的 FIR 滤波器。需要清楚的是, fir1()函数设计滤波器实际上是采用了窗函数设计方法。 fir1()函数的语法形式有以下几种。
b=fir1(n,wn)
b=fir1(n,wn,’ftype’)
b=fir1(n,wn,’ftype’,window)
b=fir1(…,’noscale’)
其中各项参数的意义及作用如下所述。
( 1) b:返回的 FIR 滤波器单位脉冲响应,脉冲响应为偶对称,长度为 n+1。
( 2) n:滤波器的阶数,需要注意的是,设计出的滤波器长度为 n+1。
( 3) wn:滤波器截止频率。需要注意的是, wn 的取值范围为