实战数字信号处理之七 了解FIR和IIR滤波器的设计 您所在的位置:网站首页 分析iir滤波原理 实战数字信号处理之七 了解FIR和IIR滤波器的设计

实战数字信号处理之七 了解FIR和IIR滤波器的设计

2024-03-10 16:41| 来源: 网络整理| 查看: 265

在上一篇文章中我们关注了解析信号的分析和应用,今天我们将关注一下滤波器设计的基本概念和设计规范(可以理解为设计指标),一起来学习一下吧!

实战数字信号处理之六 解析信号及其应用 - CommLab Tech的文章 - 知乎 https://zhuanlan.zhihu.com/p/612448941

1.9 选择滤波器:FIR或IIR,了解设计的角度

为实现一个信号处理模块选择最好的滤波器是通信系统开发工程师经常面临的一个挑战。从传递函数的角度来看,存在两种不同类型的线性时间不变(LTI)滤波器:有限脉冲响应(FIR)和无限脉冲响应(IIR)滤波器。仅仅存在这么多设计滤波器的技术这一事实,就表明不存在单一的最佳滤波器设计。人们必须通过考虑这里讨论的因素来权衡选择滤波器设计的利弊。

1.9.1 设计规范

滤波器的设计始于一个规范。我们可能有一个简单的规范,只是要求去除不需要的频率成分,也可能是一个完整的设计规范,要求各种参数,如:通带中允许的波纹量、阻带衰减、过渡宽度等。设计规范通常要求满足以下一个或多个方面的要求:

预期的振幅响应 - |H_{spec}(ω)| 预期相位响应 - ∠ H_{spec}(ω) 容差规范 - 规定了与理想响应相比,滤波器的响应允许有多大变化。例如,允许在通带、阻带有多少波纹等。

鉴于上述规范,滤波器设计过程的目标是选择参数M、N、 \left\{ {b_k} \right\} 和 \left\{ {a_k} \right\} ,使滤波器的传递函数产生期望的响应: H(ω)≈H_{spec}(ω) 。换句话说,设计过程还包括选择极点-零点图中的零点{ z_i }和极点{ p_j }的数量和位置。

在Matlab中,给定一个滤波器的传递函数,可以用滤波器命令来模拟滤波过程。该命令 y=filter(b,a,x) 使用由分子系数\left\{ {b_k} \right\} 和分母系数\left\{ {a_k} \right\}定义的传递函数来过滤输入数据x。

从上面方程中给出的传递函数可以看出两种类型的滤波器:

当N=0时,滤波器结构中没有反馈(图1.27(a)),极点-零点图中没有极点(事实上所有极点都在原点)。这种滤波器的脉冲响应在超过一定时间后就会消失(变成零)。它被归类为有限冲激响应(FIR)滤波器。它在通带中提供了线性相位特性。当N>0时,滤波器结构的特点是存在反馈元件(图1.27(b))。由于反馈元件的存在,滤波器的脉冲响应在超过某一点后可能不会变成零,而是无限地持续下去,因此被称为无限脉冲响应(IIR)滤波器。注意:在大多数情况下,反馈元件的存在提供了无限的脉冲响应。这并不总是真的。有一些特殊的情况,反馈结构的存在可能会导致有限的脉冲响应。例如,一个移动平均滤波器会有一个有限的脉冲响应。移动平均滤波器的输出可以用一个递归公式来描述,这将导致一个带有反馈元件的结构。图1.27:FIR和IIR滤波器可以作为直接形式的结构来实现。(a) 带有前馈元件的结构--典型的FIR设计。(b) 带有反馈路径的结构--通常是IIR滤波器。1.9.2 设计中的一般考虑

如前所述,滤波器的选择和设计过程取决于设计规范、应用和与之相关的性能问题。然而,以下的一般考虑在实际设计中是适用的 。

最大限度地减少计算次数

为了尽量减少存储滤波器系数{ a_k },{ b_k }的内存需求,并尽量减少计算次数,理想情况下我们希望N+M尽可能小。在相同的规格下。 与FIR滤波器相比,IIR滤波器的阶数要低得多。因此,从这个角度看,IIR滤波器是有效的。

实时处理的需要

给定的应用可能需要实时处理输入样本,或者输入样本可能以记录的状态存在(例如:视频/音频播放、图像处理应用、音频压缩)。从这个角度来看,我们有两种类型的滤波器系统:

因果滤波器滤波器的输出取决于现在和过去的输入样本,而不取决于未来的样本。输出也可能依赖于过去的输出样本,如IIR滤波器。严格地说,没有未来的样本。这种过滤器非常适用于实时应用。非因果滤波器有许多实际情况需要一个非因果过滤器。通常情况下,这种应用需要某种形式的后处理,此时整个数据流已经存储在内存中了。在这种情况下,可以设计一个过滤器,可以接受所有类型的输入样本:现在、过去和未来进行处理。这些滤波器被归类为非因果滤波器。非因果过滤器的设计方法要简单得多。

在许多信号处理文本中经常可以看到,因果滤波器是可以实际实现的。这并不意味着非因果滤波器不能实际实现。事实上,两种类型的滤波器都是可以实现的,你可以在今天的许多系统中看到它们。你必须问的问题是:你的应用是否需要实时处理或处理预先录制的样本。如果应用需要实时处理,必须使用因果滤波器。否则,可以使用非因果滤波器。

因果滤波器的后果

如果应用需要实时处理,因果滤波器是实现的唯一选择。如果希望有因果关系,必须考虑以下后果。具有零响应的有限带的理想滤波器(例如:砖墙滤波器),不能用因果滤波器结构实现。因果滤波器的一个直接后果是,响应不可能是理想的。因此,我们必须设计出能提供近似于理想响应的滤波器。如果给出的是容差规范,就必须满足。例如,在设计一个具有给定通带频率( ω_P )和阻带频率( ω_S )的低通滤波器时,需要考虑额外的容差规范,如允许的通带纹波系数( δ_P )和阻带纹波系数( δ_S )(图1.28)。因此,实际的滤波器设计包括选择 ω_P、ω_S、δ_P和δ_S ,然后用N,M,{ a_k }和{ b_k }设计满足所有给定要求/响应的滤波器。通常情况下,可能需要通过迭代过程来满足所有上述要求。

对于一个因果滤波器,频率响应的实部 H_R(ω) 和虚部 H_I(ω) 成为希尔伯特变换对。因此,对于因果滤波器来说,幅值和相位响应是相互依赖的。

图1.28 滤波器设计规范示例

稳定性

一个因果的LTI数字滤波器将是有界输入有界输出(BIBO)稳定的,当且仅当脉冲响应h[n]是绝对可加的。

FIR滤波器的脉冲响应总是有界限的,因此它们本身是稳定的。另一方面。如果设计不当,一个IIR滤波器可能会变得不稳定。

考虑一个用浮点处理器实现的IIR滤波器,它有足够的精度来表示以下传递函数中的所有系数:

相应的脉冲响应 h_1[n] 绘制在图1.29(a)中。该图显示,随着n的增加,脉冲响应迅速衰减到零。对于这种情况,上面方程中的和将是有限的。因此,这个IIR滤波器是稳定的。

假设,如果我们在一个定点处理器中实现同样的滤波器,并且我们被迫将四舍五入到小数点后2位,同样的传递函数看起来是这样的:

图1.29(b)中绘制的相应的脉冲响应 h_2[n] 意味着,随着n的增加,脉冲响应迅速向一个恒定值增加。在这种情况下, h_2[n] 的总和将接近无穷大。因此,实现的IIR滤波器是不稳定的。

图1.29 实现欠佳的IIR滤波器对稳定性的影响(a)稳定的IIR滤波器 (b)由于四舍五入效应,相同的IIR滤波器变得不稳定

因此,当务之急是需要对IIR滤波器的实施进行稳定性测试。为了分析滤波器的稳定性,需要计算h[n]的无限和,而计算这个和通常很困难。分析极点-零点图是解决这个问题的另一种方法。

要有一个稳定的因果滤波器,传递函数的极点应该完全、严格地停留在极点-零点图的单位圆内。上述传递函数 H_1(z) 、 H_2(z) 的极零图绘于图1.30。它表明对于传递函数 H_1(z) ,所有的极点都位于单位圆内(稳定区域),因此它是一个稳定的IIR滤波器。另一方面,对于传递函数 H_2(z) ,有一个极点正好位于单位圆上(即它刚好在稳定区域之外),因此它是一个不稳定的IIR滤波器。

图1.30 实现欠佳的IIR滤波器对稳定性的影响(a)稳定的因果IIR滤波器,因为所有极点都在单位圆内(b)由于四舍五入效应,其中一个极点停留在单位圆上,使其不稳定

线性相位要求

在许多信号处理应用中,需要数字滤波器不改变信号的实部和虚部之间的角度关系,特别是在通带中。换句话说,信号分量之间的相位关系应该在滤波器的通带中得到保留。如果没有,我们就会有相位失真。

图1.31 在通带内显示线性相位特性的FIR滤波器

相位失真是许多信号处理应用中的一个问题。例如,在相位调制中 如GMSK,整个解调过程取决于输入信号的同相和正交分量之间的相位关系。如果我们在解调链中有一个相位畸变的滤波器。整个检测过程就会陷入困境。因此,我们必须注意这些滤波器的相位特性。

要想在通过滤波器处理信号时没有相位失真,通带内信号的每个频谱分量都应该被以样本为单位的相同时间延迟所延迟。换句话说,通带内的相位响应 \phi(ω) 应该是频率的线性函数(直线)。(除了在频带边缘的相位变化)。满足这一特性的滤波器被称为线性相位滤波器。FIR滤波器在通带区域提供完美的线性相位特性(图1.31),从而避免了相位失真。所有IIR滤波器都提供非线性相位特性。如果一个实时应用需要零相位失真,FIR滤波器是设计的直接选择。

我们可以很直观地从图1.31看到,广义线性相位滤波器的相位响应应该遵循这样的关系 \phi(ω) = -mω + c ,其中m是斜率,c是截距。相位延迟和群延迟是确定相位失真的重要滤波器特性,它们与截距 c和通带中相位响应的斜率m相关。线性相位滤波器的特点是恒定的群延迟。任何偏离通带内恒定值的群延迟,都表明相位中存在一定程度的非线性,从而导致相位失真。

相位延迟是输入信号的每个频谱分量所经历的时间延迟。对于一个频率响应为H(ω)的滤波器,相位延迟响应 τ_p 在相位响应 \phi(ω)=∠H(ω) 方面定义如下:

群延迟是指一组频谱成分在一个狭窄的频率区间ω内经历的延迟。群延迟响应 τ_g(ω) 被定义为相位响应ω的负导数:

对于广义的线性相位滤波器,群延迟和相位延迟由以下公式给出:

设计选择总结

IIR滤波器是高效的,它们可以用较少的系数提供类似的幅度响应或提供较低的旁瓣。对于线性相位要求,FIR滤波器是设计的直接选择。FIR滤波器本质上是稳定的。IIR滤波器很容易受到定点运算的有限长度字的影响,因此设计必须严格测试其稳定性。与同等的FIR滤波器相比,IIR滤波器的平均延迟较小。如果滤波器必须用于系统中的反馈路径,那么滤波器的延迟量就非常关键,因为它影响到整个系统的稳定性。给定一个规范,IIR设计可以很容易地根据闭合式表达式推导出来。然而使用FIR设计来满足设计要求,通常需要迭代过程。


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有