FIR数字滤波器的设计(详细,快速入门)

FIR数字滤波器的设计

  • 线性相位FIR滤波器的特点
    • 单位冲激响应: h ( n ) , 0 ≤ n ≤ N − 1 h(n),0\leq n\leq N-1 h(n),0nN1
    • 系统函数: H ( z ) = ∑ n = 0 N − 1 h ( n ) z − n H(z)=\sum_{n=0}^{N-1}h(n)z^{-n} H(z)=n=0N1h(n)zn
    • 零极点分布:无穷远处N-1个零点,z=0处有一个N-1阶极点
  • 线性相位条件
    线性相位是FIR滤波器的一个优势,因为FIR滤波器相比于IIR滤波器的阶数一般要高很多。
    H ( e j ω ) = ∑ n = 0 N − 1 h ( n ) e − j ω n = ± ∣ H ( e j ω ) ∣ e j θ ( ω ) 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=0N1h(n)ejωn=±H(ejω)ejθ(ω)
    线性相位是指 θ ( ω ) \theta(\omega) θ(ω) ω \omega ω的线性函数。根据它们之间的线性关系,将线性相位分为两种:正比例;一次函数。
    • 第一类线性相位: θ ( ω ) = − τ ω \theta(\omega)=-\tau\omega θ(ω)=τω
      若实序列 h ( n ) h(n) h(n)为第一类线性相位,则 ∑ n = 0 N − 1 h ( n ) e − j ω n = ∑ n = 0 N − 1 h ( n ) cos ⁡ ( ω n ) − j ∑ n = 0 N − 1 h ( n ) sin ⁡ ( ω n ) = ± ∣ H ( e j ω ) ∣ cos ⁡ ( ω τ ) ± j ∣ H ( e j ω ) ∣ 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=0N1h(n)ejωn=n=0N1h(n)cos(ωn)jn=0N1h(n)sin(ωn)=±H(ejω)cos(ωτ)±jH(ejω)sin(ωτ) 于是: tan ⁡ ( ω τ ) = ∑ n = 0 N − 1 h ( n ) sin ⁡ ( ω n ) ∑ n = 0 N − 1 h ( 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=0N1h(n)cos(ωn)n=0N1h(n)sin(ωn) → ∑ n = 0 N − 1 h ( n ) sin ⁡ [ ( τ − n ) ω ] = 0 \rightarrow \sum_{n=0}^{N-1}h(n)\sin[(\tau-n)\omega]=0 n=0N1h(n)sin[(τn)ω]=0
      FIR系统满足线性相位的充要条件 { τ = N − 1 2 h ( n ) = h ( N − 1 − n ) \text{FIR系统满足线性相位的充要条件}\begin{cases} \text{$\tau=\frac{N-1}{2}$}\\ h(n)=h(N-1-n)\end{cases} FIR系统满足线性相位的充要条件{τ=2N1h(n)=h(N1n) ,即h(n)为偶对称,对称中心为 N − 1 2 \frac{N-1}{2} 2N1 .
    • 第二类线性相位: θ ( ω ) = β 0 − τ ω \theta(\omega)=\beta_0-\tau\omega θ(ω)=β0τω
      同理可得,满足线性相位的冲要条件 h ( n ) = − h ( N − 1 − n ) , τ = N − 1 2 , β 0 = ± π 2 h(n)=-h(N-1-n),\tau=\frac{N-1}{2},\beta_0=\pm\frac{\pi}{2} h(n)=h(N1n),τ=2N1,β0=±2π

窗函数设计法

  • 具体步骤
    性能指标 → \rightarrow 低通滤波器的系统函数 → \rightarrow 反变换时域无限长信号 → \rightarrow 信号截断 → \rightarrow 右移变因果系统。
    线性相位理想低通滤波器的频率响应为:
    H d ( e j ω ) ) = { e − j ω α − ω c ≤ ω ≤ ω c 0 − π ≤ ω ≤ − ω 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ω))={ejωα0ωcωωcπωωc,ωcωπ
    经过离散傅里叶反变换对应的序列(非周期离散)为:
    h d ( 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 ) = R N ( n ) w(n)=R_N(n) w(n)=RN(n),则FIR滤波器的单位抽样响应:
    h ( n ) = h d ( n ) = { h d ( n ) 0 ≤ n ≤ N − 1 0 else h(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)00nN1else
    根据第一类线性相位的条件,应有: α = N − 1 2 \alpha=\frac{N-1}{2} α=2N1,即:
    h ( n ) = ω c π sin ⁡ [ ω c ( n − N − 1 2 ) ] ω c ( n − N − 1 2 ) , 0 ≤ n ≤ N − 1 h(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-1 h(n)=πωcωc(n2N1)sin[ωc(n2N1)],0nN1
    FIR滤波器的频率响应的幅度函数为h(n)的幅度函数与w(n)幅度函数的卷积,即为 H ( ω ) = 1 2 π ∫ − π π H d ( ω ) W R ( ω − θ ) d θ H(\omega)=\frac{1}{2\pi}\int_{-\pi}^{\pi}H_d(\omega)W_R(\omega-\theta)d\theta H(ω)=2π1ππHd(ω)WR(ωθ)dθ,变换的具体过程如下:FIR数字滤波器的设计(详细,快速入门)_第1张图片
    可以看做 W R ( θ ) W_R(\theta) WR(θ)平移 ω \omega ω之后在 [ − ω c , ω c ] [-\omega_c,\omega_c] [ωc,ωc]内的积分(因为 H d ( θ ) H_d(\theta) Hd(θ)在此区间内为1).

    ω \omega ω H ( ω ) H(\omega) H(ω)
    0 近似 W R ( θ ) W_R(\theta) WR(θ)的全部面积
    ω c \omega_c ωc 0.5 H ( 0 ) H(0) H(0)
    ω c − 2 π N \omega_c-\frac{2\pi}{N} ωcN2π 最大,正肩峰
    ω 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} <ωcN2π 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都有关。

  • 设计步骤

理想的频率响应函数及技术指标
理想的单位抽样响应
根据阻带衰减选择窗函数
根据过渡带宽度确定N
FIR滤波器的单位冲激响应

技术指标包括:阻带衰减和过渡带宽。一般取 ω c \omega_c ωc为通带截止频率和阻带截止频率的平均值
从理想的频率响应函数( H d ( e j ω ) H_d(e^{j\omega}) Hd(ejω))得到理想的单位抽样响应 h d ( n ) h_d(n) hd(n),有两种方法:

  • 公式法
  • IFFT法:对 H d H_d Hd进行M点IFFT变换,要求M>>N

最终得到FIR滤波器的h(n),并求得 H ( e j ω ) H(e^{j\omega}) H(ejω),进行验证,若不满足,则重新选择窗函数进行设计。

你可能感兴趣的:(计算机基础,数字信号处理)