FIR数字滤波器的设计
- 线性相位FIR滤波器的特点
- 单位冲激响应:h(n),0≤n≤N−1h(n),0\leq n\leq N-1h(n),0≤n≤N−1
- 系统函数:H(z)=∑n=0N−1h(n)z−nH(z)=\sum_{n=0}^{N-1}h(n)z^{-n}H(z)=∑n=0N−1h(n)z−n
- 零极点分布:无穷远处N-1个零点,z=0处有一个N-1阶极点
- 线性相位条件
线性相位是FIR滤波器的一个优势,因为FIR滤波器相比于IIR滤波器的阶数一般要高很多。
H(ejω)=∑n=0N−1h(n)e−jωn=±∣H(ejω)∣ejθ(ω)H(e^{j\omega})=\sum_{n=0}^{N-1}h(n)e^{-j\omega n}=\pm|H(e^{j\omega})|e^{j\theta(\omega)}H(ejω)=∑n=0N−1h(n)e−jωn=±∣H(ejω)∣ejθ(ω)
线性相位是指θ(ω)\theta(\omega)θ(ω)是ω\omegaω的线性函数。根据它们之间的线性关系,将线性相位分为两种:正比例;一次函数。- 第一类线性相位:θ(ω)=−τω\theta(\omega)=-\tau\omegaθ(ω)=−τω
若实序列h(n)h(n)h(n)为第一类线性相位,则∑n=0N−1h(n)e−jωn=∑n=0N−1h(n)cos(ωn)−j∑n=0N−1h(n)sin(ωn)=±∣H(ejω)∣cos(ωτ)±j∣H(ejω)∣sin(ωτ)\sum_{n=0}^{N-1}h(n)e^{-j\omega n}=\sum_{n=0}^{N-1}h(n)\cos(\omega n)-j\sum_{n=0}^{N-1}h(n)\sin(\omega n)=\pm|H(e^{j\omega})|\cos(\omega \tau)\pm j|H(e^{j\omega})|\sin(\omega \tau)∑n=0N−1h(n)e−jωn=∑n=0N−1h(n)cos(ωn)−j∑n=0N−1h(n)sin(ωn)=±∣H(ejω)∣cos(ωτ)±j∣H(ejω)∣sin(ωτ) 于是:tan(ωτ)=∑n=0N−1h(n)sin(ωn)∑n=0N−1h(n)cos(ωn)\tan(\omega\tau)=\frac{\sum_{n=0}^{N-1}h(n)\sin (\omega n)}{\sum_{n=0}^{N-1}h(n)\cos (\omega n)}tan(ωτ)=∑n=0N−1h(n)cos(ωn)∑n=0N−1h(n)sin(ωn) →∑n=0N−1h(n)sin[(τ−n)ω]=0\rightarrow \sum_{n=0}^{N-1}h(n)\sin[(\tau-n)\omega]=0→∑n=0N−1h(n)sin[(τ−n)ω]=0
FIR系统满足线性相位的充要条件{τ=N−12h(n)=h(N−1−n)\text{FIR系统满足线性相位的充要条件}\begin{cases} \text{$\tau=\frac{N-1}{2}$}\\ h(n)=h(N-1-n)\end{cases}FIR系统满足线性相位的充要条件{τ=2N−1h(n)=h(N−1−n) ,即h(n)为偶对称,对称中心为N−12\frac{N-1}{2}2N−1 . - 第二类线性相位:θ(ω)=β0−τω\theta(\omega)=\beta_0-\tau\omegaθ(ω)=β0−τω
同理可得,满足线性相位的冲要条件h(n)=−h(N−1−n),τ=N−12,β0=±π2h(n)=-h(N-1-n),\tau=\frac{N-1}{2},\beta_0=\pm\frac{\pi}{2}h(n)=−h(N−1−n),τ=2N−1,β0=±2π
- 第一类线性相位:θ(ω)=−τω\theta(\omega)=-\tau\omegaθ(ω)=−τω
窗函数设计法
-
具体步骤
性能指标→\rightarrow→低通滤波器的系统函数→\rightarrow→反变换时域无限长信号→\rightarrow→信号截断→\rightarrow→右移变因果系统。
线性相位理想低通滤波器的频率响应为:
Hd(ejω))={e−jωα−ωc≤ω≤ωc0−π≤ω≤−ωc,ωc≤ω≤πH_d(e^{j\omega)})=\begin{cases} e^{-j\omega\alpha}&-\omega_c \leq \omega \leq\omega_c\\ 0&-\pi\leq\omega\leq-\omega_c, \omega_c\leq\omega\leq\pi \end{cases} Hd(ejω))={e−jωα0−ωc≤ω≤ωc−π≤ω≤−ωc,ωc≤ω≤π
经过离散傅里叶反变换对应的序列(非周期离散)为:
hd(n)=ωcπsin[ωc(n−α)]ωc(n−α)h_d(n)=\frac{\omega_c}{\pi}\frac{\sin[\omega_c(n-\alpha)]}{\omega_c(n-\alpha)}hd(n)=πωcωc(n−α)sin[ωc(n−α)]
该序列为中心点为α\alphaα的偶对称无限长非因果序列。
现需要将其转变为偶对称有限长因果序列。取矩形窗w(n)=RN(n)w(n)=R_N(n)w(n)=RN(n),则FIR滤波器的单位抽样响应:
h(n)=hd(n)={hd(n)0≤n≤N−10elseh(n)=h_d(n)=\begin{cases} h_d(n) & 0\leq n\leq N-1 \\ 0 & \text{else}\end{cases}h(n)=hd(n)={hd(n)00≤n≤N−1else
根据第一类线性相位的条件,应有:α=N−12\alpha=\frac{N-1}{2}α=2N−1,即:
h(n)=ωcπsin[ωc(n−N−12)]ωc(n−N−12),0≤n≤N−1h(n)=\frac{\omega_c}{\pi}\frac{\sin[\omega_c(n-\frac{N-1}{2})]}{\omega_c(n-\frac{N-1}{2})},0\leq n \leq N-1h(n)=πωcωc(n−2N−1)sin[ωc(n−2N−1)],0≤n≤N−1
FIR滤波器的频率响应的幅度函数为h(n)的幅度函数与w(n)幅度函数的卷积,即为H(ω)=12π∫−ππHd(ω)WR(ω−θ)dθH(\omega)=\frac{1}{2\pi}\int_{-\pi}^{\pi}H_d(\omega)W_R(\omega-\theta)d\thetaH(ω)=2π1∫−ππHd(ω)WR(ω−θ)dθ,变换的具体过程如下:
可以看做WR(θ)W_R(\theta)WR(θ)平移ω\omegaω之后在[−ωc,ωc][-\omega_c,\omega_c][−ωc,ωc]内的积分(因为Hd(θ)H_d(\theta)Hd(θ)在此区间内为1).ω\omegaω H(ω)H(\omega)H(ω) 0 近似WR(θ)W_R(\theta)WR(θ)的全部面积 ωc\omega_cωc 0.5H(0)H(0)H(0) ωc−2πN\omega_c-\frac{2\pi}{N}ωc−N2π 最大,正肩峰 ωc+2πN\omega_c+\frac{2\pi}{N}ωc+N2π 最小,负肩峰 >ωc+2πN>\omega_c+\frac{2\pi}{N}>ωc+N2π 在零值上下波动 <ωc−2πN<\omega_c-\frac{2\pi}{N}<ωc−N2π 在H(0)H(0)H(0)上下波动 −2πN,2πN-\frac{2\pi}{N},\frac{2\pi}{N}−N2π,N2π为窗函数频谱主瓣的两个零点,主瓣宽度为4πN\frac{4\pi}{N}N4π。
从图中可以看出,FIR滤波器的幅值函数在ωc±2πN\omega_c\pm\frac{2\pi}{N}ωc±N2π出现肩峰。改变N值改变主瓣宽度,使过渡带变得更窄,但是并不能改变正肩峰与负肩峰的相对比例(相对比例由窗函数的形状决定,此为Gibbs效应)。 -
几种窗函数的对比
窗函数 窗谱性能指标 加窗后滤波器性能指标 旁瓣峰值幅度/dB 主瓣宽度/(2pi/N) 过渡带宽△w/(2pi/N) 最小阻带衰减/dB 矩形窗 -13 2 0.9 -21 三角形窗 -25 4 2.1 -25 汉宁窗 -31 4 3.1 -44 海明窗 -41 4 3.3 -53 布莱克曼窗 -57 6 5.5 -74 凯泽窗(β=8.865) -57 5 -80 阻带最小衰减只由窗函数形状决定。过渡带宽与窗形状和窗宽N都有关。
-
设计步骤
技术指标包括:阻带衰减和过渡带宽。一般取ωc\omega_cωc为通带截止频率和阻带截止频率的平均值
从理想的频率响应函数(Hd(ejω)H_d(e^{j\omega})Hd(ejω))得到理想的单位抽样响应hd(n)h_d(n)hd(n),有两种方法:
- 公式法
- IFFT法:对HdH_dHd进行M点IFFT变换,要求M>>N
最终得到FIR滤波器的h(n),并求得H(ejω)H(e^{j\omega})H(ejω),进行验证,若不满足,则重新选择窗函数进行设计。