[信号与系统]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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/38652.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

拆分盘投资策略解析:机制、案例与风险考量

一、引言 随着互联网技术的迅猛发展和金融市场的不断创新,拆分盘这一投资模式逐渐崭露头角,成为投资者关注的焦点。它基于特定的拆分策略,通过调整投资者持有的份额和单价,实现了看似稳健的资产增长。本文旨在深入探讨拆分盘的运…

打造离散制造行业的未来:PLM系统的应用

在全球竞争日益激烈的今天,离散制造行业面临着前所未有的挑战和机遇。企业必须不断创新,提高效率,以满足市场需求。而产品生命周期管理(PLM)系统的引入,为这一行业带来了新的变革契机。 什么是PLM系统&…

鸿蒙开发设备管理:【@ohos.multimodalInput.inputEvent (输入事件)】

输入事件 InputEvent模块描述了设备上报的基本事件。 说明: 本模块首批接口从API version 9开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 导入模块 import InputEvent from ohos.multimodalInput.inputEvent;InputEvent 系统能力…

WPS图片无法居中、居中按钮无法点击(是灰色的)

在PPT中复制对象到WPS word中后,导致图片一直靠左,而无法居中 直接选中图片是错误的: 这时你会发现居中按钮无法点击(是灰色的) 正确的是选中图片的前面的部分,然后点击居中,或者Ctrl E

昇思25天学习打卡营第10天|FCN图像语义分割

一、简介: 本篇博客是昇思大模型打卡营应用实践部分的第一次分享,主题是计算机视觉(CV)领域的FCN图像语义分割,接下来几天还会陆续分享其他CV领域的知识(doge)。 全卷积网络(Fully…

博客建站2 - 选择网站服务器

1. 本网站的系统架构2. 是否需要购买服务器3. 如何选择服务器 3.1. 确定需求3.2. 云服务提供商 3.2.1. 国内与海外3.2.2. 国内的服务器供应商 3.3. 服务器类型 3.3.1. 共享主机3.3.2. 虚拟私有服务器(VPS)3.3.3. 云服务器3.3.4. 个人建议 3.4. 服务器位置…

软件测试面试八股文【答案+文档】

🍅 视频学习:文末有免费的配套视频可观看 🍅 点击文末小卡片,免费获取软件测试全套资料,资料在手,涨薪更快 Part1 1、你的测试职业发展是什么? 测试经验越多,测试能力越高。所以我…

基于Java实现图像浏览器的设计与实现

图像浏览器的设计与实现 前言一、需求分析选题意义应用意义功能需求关键技术系统用例图设计JPG系统用例图图片查看系统用例图 二、概要设计JPG.javaPicture.java 三、详细设计类图JPG.java UML类图picture.java UML类图 界面设计JPG.javapicture.java 四、源代码JPG.javapictur…

深入理解pytest fixture:提升测试的灵活性和可维护性!

在现代软件开发中,测试是保证代码质量的重要环节。pytest作为一个强大的测试框架,以其灵活的fixture系统脱颖而出。本文将详细介绍pytest中的fixture概念,通过具体案例展示其应用,并说明如何利用fixture提高测试的灵活性和可维护性…

uart串口通信

UART(Universal Asynchronous Receiver/Transmitter) 异步收发传输器 优缺点可以分点表示和归纳 优点 线路简洁:仅使用两根传输线(TX和RX),简化了硬件连接,降低了成本无需时钟信号&#xff…

EKF+UKF+CKF+PF的效果对比|三维非线性滤波|MATLAB例程

前言 标题里的EKF、UKF、CKF、PF分别为:扩展卡尔曼滤波、无迹卡尔曼滤波、容积卡尔曼滤波、粒子滤波。 EKF是扩展卡尔曼滤波,计算快,最常用于非线性状态方程或观测方程下的卡尔曼滤波。 但是EKF应对强非线性的系统时,估计效果不如…

头文件没有string.h ----- 怎么统计字符串的长度?

字符串的逆序&#xff08;看收藏里面的题&#xff09; 第一种方式&#xff1a; #include <stdio.h> void f(char *p);int main() {char s[1000];gets(s);f(s);printf("%s",s);return 0; }void f(char *p) {int i0;int q,k0;while(p[i]!\0){i;}while(k<i){…

python的String整理

字符串常用方法 方法描述参数说明使用示例capitalize()返回字符串的副本&#xff0c;将字符串的第一个字符转换为大写&#xff0c;其余字符转换为小写。无s hello world; s_capitalized s.capitalize()casefold()返回字符串的副本&#xff0c;转换所有字符为小写&#xff0c…

SaaS增长:小型SaaS企业可以使用推荐奖励计划吗

在SaaS&#xff08;软件即服务&#xff09;行业的激烈竞争中&#xff0c;如何快速有效地增长用户数量是每个企业都面临的挑战。对于小型SaaS企业来说&#xff0c;资源有限&#xff0c;如何最大化利用现有资源实现用户增长成为了一个重要议题。在这样的背景下&#xff0c;推荐奖…

git clone中的报错问题解决:git@github.com: Permission denied (publickey)

报错&#xff1a; Submodule path ‘kernels/3rdparty/llm-awq’: checked out ‘19a5a2c9db47f69a2851c83fea90f81ed49269ab’ Submodule path ‘kernels/3rdparty/nvbench’: checked out ‘75212298727e8f6e1df9215f2fcb47c8c721ffc9’ Submodule path ‘kernels/3rdparty/t…

自动点赞,自动评论,自动刷

最近周六日家里没事干了个自动程序。需要的找我&#xff01; 仅供学习&#xff01;&#xff01;&#xff01;&#xff01;目前实现的功能 1.自动打开痘印&#xff0c;头条等多个app 2.自动点赞&#xff0c;自动评论 3.自动养号 4.自动关注 后期逐步实现: 1.继续内容的自动…

阿里云:云通信号码认证服务,node.js+uniapp(vue),完整代码

api文档&#xff1a;云通信号码认证服务_云产品主页-阿里云OpenAPI开发者门户 (aliyun.com) reg.vue <template> <div> <input class"sl-input" v-model"phone" type"number" maxlength"11" placeholder"手机号…

TopK问题与如何在有限内存找出前几最大(小)项(纯c语言版)

目录 0.前言 1.知识准备 2.实现 1.首先是必要的HeapSort 2.造数据 其他注意事项 3.TopK的实现 0.前言 在我们的日常生活中总有排名系统&#xff0c;找出前第k个分数最高的人&#xff0c;而现在让我们用堆来在有限内存中进行实现 1.知识准备 想要实现topk问题首先我们要…

Java 抽象类和接口

Java 抽象类和接口 抽象类接口定义是它的所有子类的公共属性的集合&#xff0c;是包含一个或多个抽象方法的类。抽象类可以看作是对类的进一步抽象抽象方法的集合关键字extends、abstractimplements、interface继承/实现单继承&#xff08;实现继承&#xff09;、可多层继承多实…

2024.06.22 校招 实习 内推 面经

绿*泡*泡VX&#xff1a; neituijunsir 交流*裙 &#xff0c;内推/实习/校招汇总表格 1、提前批 | CETC 电子/科技集团第三十八研究所2025届/提前批&#xff01; 提前批 | 中国电子科技集团第三十八研究所2025届提前批招聘&#xff01; 2、校招 | 航空工业自控所/西安恒翔控…