FIR数字滤波器设计函数

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

FIR 数字滤波器设计函数

1. fir1

功能:基于窗函数的FIR 数字滤波器设计——标准频率响应。

格式:b=fir1(n,Wn)

b=fir1(n,Wn,'ftype')

b=fir1(n,Wn,Window)

b=fir1(n,Wn,'ftype',Window)

说明:fir1函数以经典方法实现加窗线性相位FIR 滤波器设计,它可设计出标准的低通、带通、高通和带阻滤波器。

b=fir1(n,Wn)可得到n 阶低通FIR 滤波器,滤波器系数包含在b 中,这可表示成:

n z n b z b b z b --++⋅⋅⋅++=)1()2()1()(1

这是一个截止频率为Wn 的Hamming(汉明)加窗线性相位滤波器,0≤Wn ≤1,Wn=1相应于0.5fs 。

当Wn=[W1 W2]时,fir1函数可得到带通滤波器,其通带为W1<ω< W2。 b=fir1(n,Wn,'ftype')可设计高通和带阻滤波器,由ftype 决定:

·当ftype=high 时,设计高通FIR 滤波器;

·当ftype=stop 时,设计带阻FIR 滤波器。

在设计高通和带阻滤波器时,fir1函数总是使用阶为偶数的结构,因此当输入的阶次为奇数时,fir1函数会自动加1。这是因为对奇数阶的滤波器,其在Nyquist 频率处的频率响应为零,因此不适合于构成高通和带阻滤波器。

b=fir1(n,Wn,Window)则利用列矢量Window 中指定的窗函数进行滤波器设计,Window 长度为n+1。如果不指定Window 参数,则fir1函数采用Hamming 窗。

Blackman 布莱克曼窗

Boxcar 矩形窗

Hamming 海明窗

Hann 汉宁窗

Kaiser 凯瑟窗

Triang 三角窗

b=fir1(n,Wn,'ftype',Window)可利用ftype 和Window 参数,设计各种加窗的滤波器。

由fir1函数设计的FIR 滤波器的群延迟为n/2。

例如:

n=32;wn=1/4;window=boxcar(n+1)

b=fir1(n,wn,window)

b=fir1(126,6500/32000*2)

注意:在DSP汇编语言中,不能直接输入十进制小数,在MATLAB中进行如下转换:a=int16(b*32768)

或a=round(b*2^15) 则将系数转换为Q15的定点小数形式。

相关文档
最新文档