线性相位 FIR 滤波器(17 阶)的 VHDL 语言设计
一、FIR 滤波器的结构
FIR 滤波器的结构主要是非递归结构,没有输出到输入的反馈。并且 FIR
滤波器很容易获得严格的线性相位特性,避免被处理信号产生相位失真。而线
性相位体现在时域中仅仅是 h(n)在时间上的延迟,这个特点在图像信号处理、
数据传输等波形传递系统中是非常重要的。此外,他不会发生阻塞现象,能避
免强信号淹没弱信号,因此特别适合信号强弱相差悬殊的情况。
二、FIR 数字滤波器的设计方案:
通常采用窗函数设计 FIR 滤波器方法简单,但是这些滤波器的设计还不是
最优的。首先通带和阻带的波动基本上相等,另外对于大部分窗函数来说,通
带内或阻带内的波动不是均匀的,通常离开过渡带时会减小。若允许波动在整
个通带内均匀分布,就会产生较小的峰值波动。
因此考虑通过某种方法,对滤波器的结构进行优化。
对 于 线 性 相 位 因 果 FIR 滤 波 器 , 它 的 系 列 具 有 中 心 对 称 特 性 , 即
h(i)=±h(N-1-i)。令 s(i)=x(i) ±x(N-1-i),对于偶对称,代入式(1)可得:
根据要求,要设计一个输入 8 位,输出 8 位的 17 阶线性相位 FIR 滤波器,
所 以 采 用 图 2(a) 的 方 式 , 其 中 输 入 信 号 范 围 为 : [±99 , 0 , 0 , 0 ,
±70,0,0,0, ±99,0,0,0, ±70,…],此滤波器 Fs 为 44kHz,Fc
为 10.4kHz。MATLAB 设计计算滤波器系数过程如下:
FIR 滤 波 器 参 数 设 置 , 因 为 是 17 阶 , 所 以 Specify order 处 填
16,h(0)=0.