[信号与系统]IIR滤波器与FIR滤波器相位延迟定量的分析。

IIR滤波器与FIR滤波器最大的不同:相位延迟

IIR滤波器相位延迟分析

相位响应和延迟

这里讨论一下理想延迟系统的相位延迟。

对于一个给定的系统频率响应 H ( e j w ) H(e^{jw}) H(ejw)可以表示为

H ( e j w ) = ∣ H ( e j w ) ∣ e Φ ( w ) H(e^{jw}) = |H(e^{jw})|e^{Φ(w)} H(ejw)=H(ejw)eΦ(w)

其中 H ( e j w ) H(e^{jw}) H(ejw)是幅度响应, Φ ( w ) Φ(w) Φ(w)是相位响应。

延迟系统的相位响应

对于一个理想的延迟系统,其输出信号是输入信号的延迟版本,即:

y ( n ) = x ( n − τ ) y(n) = x(n-\tau) y(n)=x(nτ)

其中 τ \tau τ是延迟时间,对应的频率响应为 H ( e j w ) = e − j w τ H(e^{jw})=e^{-jw\tau} H(ejw)=ejwτ
这是因为延迟 τ \tau τ样本在时域上相当于在频域上乘以 e − j w τ e^{-jw\tau} ejwτ

傅里叶变换和频域描述

为了理解延迟系统的频率响应,需要用到离散时间傅里叶变换(DTFT)。DTFT将时域信号转换为频域信号。

  • 输入信号 x ( n ) x(n) x(n)的DTFT为:

X ( e j w ) = ∑ n = − ∞ ∞ x ( n ) e − j w n X(e^{jw}) = \sum_{n=-\infty}^{\infty} x(n) e^{-jwn} X(ejw)=n=x(n)ejwn

  • 输出信号 y ( n ) y(n) y(n)的DTFT为:

Y ( e j w ) = ∑ n = − ∞ ∞ y ( n ) e − j w n Y(e^{jw}) = \sum_{n=-\infty}^{\infty} y(n) e^{-jwn} Y(ejw)=n=y(n)ejwn

延迟的影响

根据延迟系统的定义:

y ( n ) = x ( n − τ ) y(n) = x(n - \tau) y(n)=x(nτ)

将这个关系代入到 y ( n ) y(n) y(n)的DTFT公式中:

Y ( e j w ) = ∑ n = − ∞ ∞ x ( n − τ ) e − j w n Y(e^{jw}) = \sum_{n=-\infty}^{\infty} x(n - \tau) e^{-jwn} Y(ejw)=n=x(nτ)ejwn

可以通过变量替换来简化计算。令 k = n − τ k = n - \tau k=nτ,则 n = k + τ n = k + \tau n=k+τ

Y ( e j w ) = ∑ k = − ∞ ∞ x ( k ) e − j w ( k + τ ) Y(e^{jw}) = \sum_{k=-\infty}^{\infty} x(k) e^{-jw(k + \tau)} Y(ejw)=k=x(k)ejw(k+τ)

分离指数部分:

Y ( e j w ) = ∑ k = − ∞ ∞ x ( k ) e − j w k e − j w τ Y(e^{jw}) = \sum_{k=-\infty}^{\infty} x(k) e^{-jwk} e^{-jw\tau} Y(ejw)=k=x(k)ejwkejwτ

注意到:

∑ k = − ∞ ∞ x ( k ) e − j w k = X ( e j w ) \sum_{k=-\infty}^{\infty} x(k) e^{-jwk} = X(e^{jw}) k=x(k)ejwk=X(ejw)

所以:

Y ( e j w ) = X ( e j w ) ⋅ e − j w τ Y(e^{jw}) = X(e^{jw}) \cdot e^{-jw\tau} Y(ejw)=X(ejw)ejwτ

频率响应

系统的频率响应 H ( e j w ) H(e^{jw}) H(ejw)定义为输出频域表示与输入频域表示的比值:

H ( e j w ) = Y ( e j w ) X ( e j w ) H(e^{jw}) = \frac{Y(e^{jw})}{X(e^{jw})} H(ejw)=X(ejw)Y(ejw)

将上面的结果代入:

H ( e j w ) = e − j w τ H(e^{jw}) = e^{-jw\tau} H(ejw)=ejwτ

相位响应的推导

我们可以从延迟系统的频率响应H(e^jw)推导出其相位响应:

H ( e j w ) = e − j w τ H(e^{jw})=e^{-jw\tau} H(ejw)=ejwτ

从上述式子可以看到,频率响应的相位部分为 Φ ( w ) = − w τ Φ(w)=-w\tau Φ(w)=wτ


至此我们知道了系统的延迟是如何表达和推导的,那么我们现在来说一下为什么IIR滤波器和FIR滤波器在相位延迟上会有这么大差别。

IIR滤波器相位延迟分析

考虑一个IIR滤波器的频率响应函数,应当如下:

一般来说,一个IIR滤波器的输出可以表示为:

y ( n ) = ∑ k = 0 N b k x ( n − k ) − ∑ k = 1 M a k y ( n − k ) y(n) = \sum_{k=0}^{N} b_k x(n-k) - \sum_{k=1}^{M} a_k y(n-k) y(n)=k=0Nbkx(nk)k=1Maky(nk)

其中, b k b_k bk a k a_k ak是滤波器的系数。

IIR滤波器的频率响应 H ( e j ω ) H(e^{j\omega}) H(e)通常表示为:

H ( e j ω ) = B ( e j ω ) A ( e j ω ) H(e^{j\omega}) = \frac{B(e^{j\omega})}{A(e^{j\omega})} H(e)=A(e)B(e)

其中, B ( e j ω ) B(e^{j\omega}) B(e) A ( e j ω ) A(e^{j\omega}) A(e)分别是分子和分母多项式:

B ( e j ω ) = ∑ k = 0 N b k e − j ω k B(e^{j\omega}) = \sum_{k=0}^{N} b_k e^{-j\omega k} B(e)=k=0Nbkejωk
A ( e j ω ) = 1 + ∑ k = 1 M a k e − j ω k A(e^{j\omega}) = 1 + \sum_{k=1}^{M} a_k e^{-j\omega k} A(e)=1+k=1Makejωk

相位响应 ϕ ( ω ) \phi(\omega) ϕ(ω)是频率响应的相位部分:

H ( e j ω ) = ∣ H ( e j ω ) ∣ e j ϕ ( ω ) H(e^{j\omega}) = |H(e^{j\omega})| e^{j\phi(\omega)} H(e)=H(e)ejϕ(ω)
ϕ ( ω ) = arg ⁡ ( H ( e j ω ) ) \phi(\omega) = \arg(H(e^{j\omega})) ϕ(ω)=arg(H(e))

为了定量地分析IIR滤波器的延迟,我们需要计算相位响应的频率导数,即群延迟 τ g ( ω ) \tau_g(\omega) τg(ω)

τ g ( ω ) = − d ϕ ( ω ) d ω \tau_g(\omega) = -\frac{d\phi(\omega)}{d\omega} τg(ω)=dωdϕ(ω)

由于IIR滤波器的相位响应不是线性的,所以其群延迟通常是频率的函数,即延迟是频率依赖的。

定量推导(纯数学计算)

我们以一个简单的一阶IIR滤波器为例,分析其延迟特性。考虑一个一阶IIR滤波器,其差分方程为:

y ( n ) = x ( n ) − a y ( n − 1 ) y(n) = x(n) - a y(n-1) y(n)=x(n)ay(n1)

其频率响应为:

H ( e j ω ) = 1 1 − a e − j ω H(e^{j\omega}) = \frac{1}{1 - a e^{-j\omega}} H(e)=1ae1

  1. 计算频率响应的相位

H ( e j ω ) = 1 1 − a e − j ω H(e^{j\omega}) = \frac{1}{1 - a e^{-j\omega}} H(e)=1ae1

我们将其写成极坐标形式:

H ( e j ω ) = 1 1 − 2 a cos ⁡ ( ω ) + a 2 e j ϕ ( ω ) H(e^{j\omega}) = \frac{1}{\sqrt{1 - 2a\cos(\omega) + a^2}} e^{j\phi(\omega)} H(e)=12acos(ω)+a2 1ejϕ(ω)

其中,

ϕ ( ω ) = − tan ⁡ − 1 ( a sin ⁡ ( ω ) 1 − a cos ⁡ ( ω ) ) \phi(\omega) = -\tan^{-1}\left(\frac{a \sin(\omega)}{1 - a \cos(\omega)}\right) ϕ(ω)=tan1(1acos(ω)asin(ω))

  1. 计算群延迟

τ g ( ω ) = − d ϕ ( ω ) d ω \tau_g(\omega) = -\frac{d\phi(\omega)}{d\omega} τg(ω)=dωdϕ(ω)

ϕ ( ω ) = − tan ⁡ − 1 ( a sin ⁡ ( ω ) 1 − a cos ⁡ ( ω ) ) \phi(\omega) = -\tan^{-1}\left(\frac{a \sin(\omega)}{1 - a \cos(\omega)}\right) ϕ(ω)=tan1(1acos(ω)asin(ω))

利用导数链式法则,

τ g ( ω ) = − d d ω [ − tan ⁡ − 1 ( a sin ⁡ ( ω ) 1 − a cos ⁡ ( ω ) ) ] \tau_g(\omega) = -\frac{d}{d\omega} \left[-\tan^{-1}\left(\frac{a \sin(\omega)}{1 - a \cos(\omega)}\right)\right] τg(ω)=dωd[tan1(1acos(ω)asin(ω))]

计算导数:

τ g ( ω ) = a ( 1 − a cos ⁡ ( ω ) ) cos ⁡ ( ω ) + a 2 sin ⁡ 2 ( ω ) ( 1 − a cos ⁡ ( ω ) ) 2 + a 2 sin ⁡ 2 ( ω ) \tau_g(\omega) = \frac{a \left(1 - a \cos(\omega)\right)\cos(\omega) + a^2 \sin^2(\omega)}{\left(1 - a \cos(\omega)\right)^2 + a^2 \sin^2(\omega)} τg(ω)=(1acos(ω))2+a2sin2(ω)a(1acos(ω))cos(ω)+a2sin2(ω)

简化后得到:

τ g ( ω ) = a ( 1 − a cos ⁡ ( ω ) + a cos ⁡ 2 ( ω ) ) 1 − 2 a cos ⁡ ( ω ) + a 2 \tau_g(\omega) = \frac{a \left(1 - a \cos(\omega) + a \cos^2(\omega)\right)}{1 - 2a \cos(\omega) + a^2} τg(ω)=12acos(ω)+a2a(1acos(ω)+acos2(ω))

由于公式较为复杂,我们可以直接用数值方法计算和绘制IIR滤波器的群延迟特性。

举个例子

我们来搞个示例,这样好懂一点:

考虑一个简单的一阶滤波器

H ( e j w ) = 1 1 − a e − j w H(e^jw)=\frac{1}{1-ae^{-jw}} H(ejw)=1aejw1

其相位响应为:

ϕ ( w ) = − a r g ( 1 − a e − j w ) ϕ(w)=-arg(1-ae^{-jw}) ϕ(w)=arg(1aejw)

我们可以看到,这个相位响应显然是非线性的,会随着w的不停变化,其变化率也会发生变化,说着说导数的比值会随着w的变化而变化,这显然是我们不想要看到的结果。

FIR滤波器相位延迟分析

FIR滤波器的相位延迟推导

FIR(有限脉冲响应)滤波器的延迟特性通常是线性的,这源于其非递归结构和对称系数设计。下面我们详细推导FIR滤波器的相位延迟,并展示如何利用KaTeX进行Markdown文档的编写。

FIR滤波器的基本形式

一个FIR滤波器的输出可以表示为:

y ( n ) = ∑ k = 0 N b k x ( n − k ) y(n) = \sum_{k=0}^{N} b_k x(n-k) y(n)=k=0Nbkx(nk)

其中, b k b_k bk 是滤波器的系数, N N N 是滤波器的阶数。

频率响应和相位响应

FIR滤波器的频率响应 H ( e j ω ) H(e^{j\omega}) H(e) 可以表示为:

H ( e j ω ) = ∑ k = 0 N b k e − j ω k H(e^{j\omega}) = \sum_{k=0}^{N} b_k e^{-j\omega k} H(e)=k=0Nbkejωk

相位响应 ϕ ( ω ) \phi(\omega) ϕ(ω) 是频率响应的相位部分:

H ( e j ω ) = ∣ H ( e j ω ) ∣ e j ϕ ( ω ) H(e^{j\omega}) = |H(e^{j\omega})| e^{j\phi(\omega)} H(e)=H(e)ejϕ(ω)
ϕ ( ω ) = arg ⁡ ( H ( e j ω ) ) \phi(\omega) = \arg(H(e^{j\omega})) ϕ(ω)=arg(H(e))

线性相位的条件

为了实现线性相位,我们通常设计FIR滤波器的系数使其具有对称性或反对称性。对于一个长度为 N + 1 N+1 N+1 的对称FIR滤波器,其系数满足:

b k = b N − k b_k = b_{N-k} bk=bNk

对于反对称FIR滤波器,其系数满足:

b k = − b N − k b_k = -b_{N-k} bk=bNk

这两种对称性保证了滤波器的相位响应是线性的,即:

ϕ ( ω ) = − ω τ \phi(\omega) = -\omega \tau ϕ(ω)=ωτ

其中, τ \tau τ 是一个常数,表示恒定的群延迟。

定量推导

考虑一个对称的FIR滤波器,其冲激响应 h ( n ) h(n) h(n) 为:

h ( n ) = h ( N − 1 − n ) h(n) = h(N-1-n) h(n)=h(N1n)

其频率响应为:

H ( e j ω ) = ∑ k = 0 N − 1 h ( k ) e − j ω k H(e^{j\omega}) = \sum_{k=0}^{N-1} h(k) e^{-j\omega k} H(e)=k=0N1h(k)ejωk

由于 h ( n ) h(n) h(n) 的对称性,我们可以将其拆分并合并:

H ( e j ω ) = ∑ k = 0 ( N − 1 ) / 2 h ( k ) ( e − j ω k + e − j ω ( N − 1 − k ) ) H(e^{j\omega}) = \sum_{k=0}^{(N-1)/2} h(k) \left( e^{-j\omega k} + e^{-j\omega (N-1-k)} \right) H(e)=k=0(N1)/2h(k)(ejωk+e(N1k))

利用欧拉公式,我们有:

e − j ω ( N − 1 − k ) = e − j ω ( N − 1 ) e j ω k e^{-j\omega (N-1-k)} = e^{-j\omega (N-1)} e^{j\omega k} e(N1k)=e(N1)ejωk

合并后得到:

H ( e j ω ) = e − j ω ( N − 1 ) / 2 ∑ k = 0 ( N − 1 ) / 2 h ( k ) ( e − j ω ( k − ( N − 1 ) / 2 ) + e j ω ( k − ( N − 1 ) / 2 ) ) H(e^{j\omega}) = e^{-j\omega (N-1)/2} \sum_{k=0}^{(N-1)/2} h(k) \left( e^{-j\omega (k - (N-1)/2)} + e^{j\omega (k - (N-1)/2)} \right) H(e)=e(N1)/2k=0(N1)/2h(k)(e(k(N1)/2)+e(k(N1)/2))

这表明相位响应是线性的:

ϕ ( ω ) = − ω N − 1 2 \phi(\omega) = -\omega \frac{N-1}{2} ϕ(ω)=ω2N1

  • 25
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值