设N-1阶FIR数字滤波器的单位冲激响应为h(n),其传递函数H(z)为
设计线性相位FIR滤波器的切比雪夫逼近方法由以下步骤组成:
1.FIR数字滤波器的频率响应
线性相位FIR数字滤波器的频率响应为
式中实函数H(w)是滤波器的幅频响应.L=0或1.当h(n)为偶对称时,L=0;h(n)为奇对称时,L=1.
四种情况的幅频响应H(w)为
情况1:h(n)为偶对称,N为奇数
情况2:h(n)为偶对称,N为偶数
情况3:h(n)为奇对称,N为偶数
情况4:h(n)为奇对称,N为偶数
应用简单的三角恒等式,可以将上述公式写成如下形式
情况1:
情况2:
情况3:
情况4:
由此可见,H(w)可以写成两项乘积的统一形式,即
其中
2.FIR数字滤波器的设计转换为切比雪夫逼近问题
设理想幅频响应为
将
这样,FIR数字滤波器的设计可归结为切比雪夫逼近问题,即寻找
其中A表示各频带的并集.
实现中要使用的函数
void fircad(n,type,nbands,lgrid,edge,fx,wtx,h)
其中
n---整形变量.滤波器的阶数.
type---整形变量.滤波器的类型.取值为1,2和3,分别表示多带滤波器,微分器和希尔伯特变换器.
nbands---整形变量.滤波器的频带数,包括通带和阻带.
lgrid---整形变量.分格密度.该值为0时,程序自动置为16.
edge---双精度实型一文数组,长度为2*nbands.滤波器各频带的下边界和上边界值.程序中把频率值归一化到0.5.
fx---双精度实型一文数组,长度为nbands.滤波器和频带的幅度值.对于微分器,则表示斜率值.
wtx---双精度实型一文数组,长度为nbands.滤波器各频带的加权值.对于微分器,加权函数反比于频率值.
h---双精度实型一文数组,长度为(n+1).存放FIR滤波器的系数.
代码为:
<< 上一页 [21] [22] [23] [24] [25] [26] [27] [28] 下一页