FIR数字滤波器设计函数
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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的定点小数形式。