数字信号处理5 滤波系统概述
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数字信号处理
讲稿
电子科技大学微固学院
张鹰
第五章 滤波系统概述
前面各章建立的系统可以归结为信号变换系统。变换系统改变信号的外在形式,但希望保持信号中的信息(至少是主要信息)不变,要求变换后的信号能够重建。
以下各章将要介绍的滤波系统可以称为信息选择系统,这类系统希望从信号中提取所关注的信息,而去掉其他不需要的信息(或噪声)。这类系统通常不考虑信号重建问题。
1 理想滤波系统
信息选择系统关注信号中的信息分布。
信息的分布由信号的频谱表达,每个不同的频率分量或不同的频段表达着不同的信息。 信息选择系统希望实现对特定频带的信息选择,而将其余频带的信息去除。由于这种系统的频带选择作用,也通常称为频率选择系统、滤波系统(滤波器)。
例如:不同的广播电台、不同的电视频道都同时以无线电形式传播,但各自处于不同的频带中。而收音机和电视机中对节目的选择就依赖于滤波系统。
信息选择系统对信息进行选择时,希望使选择频带的信号不失真的通过,而完全去除其他频带的信号。显然,这样的系统对信号的频段应该具有截取作用:对选择频带中的信号频率分量乘以1,而对其余频带中的频率分量乘以0。这样的系统称为理想滤波系统。
从频域的角度,构建滤波系统似乎是非常简单的:构建一个二值函数()d H ω,与输入信号的频谱()d X ω相乘,得到输出信号的频谱()d Y ω就可以了。此时系统的运算关系可以表达为
()()()d d d X H Y ωωω⋅=
函数()d H ω称为理想系统的频率响应函数:在通带取值为1,使信号无失真通过,没有损耗,在阻带取值为0,阻塞全部频率分量(无限衰减)。通带与阻带的分界点称为截止频率。
()⎩⎨
⎧--=band
stop band
pass H d 0
1
ω
根据通带和阻带所处的位置,基本的滤波系统可以分为四类:低通,高通,带通,带阻。
容易证明,只采用低通滤波系统,可以简单构成其余三类滤波系统。因此,滤波系统的设计常以低通滤波系统为例。
2 滤波系统的实现问题
对于有限序列表达的数字信号,如何实现这一系统运算,获得输出信号呢?以下通过简单的低通滤波器进行分析。
首先,我们可以先利用输入数字信号写出输入连续频谱的表达式,然后利用系统的频率响应函数进行截取(乘法运算),得到输出信号的频谱,最后通过反变换得到输出信号的时域表达:
()[]∑=-⋅=N
n n j d d e n x X 0ωω
()[]()()[]c d c d N
n n j d u u e n x Y d ωωωωωω--+⋅⋅=∑=-0
[]()d k
j d e
Y k y d ωωπ
ωπ
π⋅=
⎰-
21
上述做法在理论上非常完善,但实际构建系统时,第1步就是需要由输入数字信号得到输入的连续频谱,根据第三章频谱分析的讨论,这一点是无法做到的。
其次,我们可以利用DFT 得到输入信号的N 个频率分量,对每个频率分量乘以1或0,得到输出信号的N 个频率分量,再通过DFT 反变换得到输出信号: [][]∑-=⋅⋅-⋅=
1
2N n n m N
j
e
n x m X π
[][][][][]1---+⋅=c c m m u m m u m X m Y
[][]∑-=⋅⋅⋅⋅=c
c
m m m k m N
j e m Y N k y π
21 根据N 点DFT 的定义,上述计算每一步都局限于N 个结果,不会产生无限计算的问题,计算是可以实现的。
但是这种方法只能通过离散计算得到的离散的频率分量;通过上述相乘运算,只能实现对有限个频率分量的保留或去除,无法保障该运算对通带和阻带中没有计算的其余频率点的处理效果;
最后,无论采用上述哪种方式,都需要等待全部输出信号得到后,才能开始进行处理,无法实现实时信号处理,一旦待处理的信号很长,等待时间及计算量急剧增加;如果采用分段处理方式,对得到的部分信号及时进行处理,就需要对输入信号进行时段的截取,而这样的截取会给信号频谱带来影响(时域信号乘以矩形窗口,导致对应频谱与辛格函数的卷积),导致在处理之前信号就已经失真。
为了解决运算方面的难点,可以在第一种方式的基础上,不考虑频谱的具体取值,直接将频谱的理论关系式带入到后续计算中,最后可以得出以下关系:
[][]()()∑=--⋅
=
N
n c n
k n k n x k y 0
sin 1
ωπ
利用上述关系,可以不经过频谱计算,直接由输入信号序列计算输出信号序列,从而实现滤波系统的输出。考虑到输入序列的有限性,对每个输出数据的计算都可以通过有限运算实现。
上述计算方法实际上是将系统运算关系由频域变换到了时域,表现为卷积运算的形式。其一般的表达方式为:
先将系统频率响应转换为系统的冲激响应
()[]()d n j d D T F T
d d
e H n h H d ωωπ
ωωπ
π
⋅=−−
→−⎰-
21
再将频域中的乘积运算转换为时域卷积运算
()()()[][][][][]∑=-⋅=
*=−→−⋅=N
k d d d k n h k x n x n h n y X H Y 0
ωωω
上述运算关系利用输入信号的有限性,避开了连续频谱计算的难点,可以采用有限计算方式得到输出信号的取值。
然而,这种运算也存在着一些问题:
1 运算中没有对输出信号的取值范围进行限制,这可能导致无限点的计算,同时导致因果关系无法满足;
2 该运算中每个输出取值的计算都需要所有输入信号的参与,这种计算只能在输入信号完成全部测试后才能开始进行,这导致信号的实时处理无法实现;
3 在计算不同输出值时,使用的输入信号序列是不变的,变化的是使用的冲激响应序列,这就导致每个不同的输出值都可以看做是由一个不同的系统运算产生;而在实际的信号处理中,不希望看到采用不同的系统处理相同的信号,而希望采用相同的系统处理不同的信号。
为了解决以上问题,可以利用卷积运算的交换关系
[][][][][][]∑∑∞
-∞
=∞-∞
=-⋅=-⋅=
*k k k n x k h k n h k x n x n h
利用上述关系,将输出信号的计算关系表现为
[][][][][]∑∞
-∞
=-⋅=
*=k k n x k h n x n h n y
这一表达可以使用固定的冲激响应应对不同输入信号,并为摆脱对全部输入信号的依赖提供了基础。但这一表达本身却表现为无限计算,无限的冲激响应本身也是无法一一表达的。
为了摆脱无限计算问题,可以利用系统应该满足的因果关系和稳定性条件,对系统的冲激响应进行限制:
系统的因果性:要求输出信号应该出现在对应的输入信号之前。
由于冲激响应是系统对冲激信号输入的响应,根据定义,冲激信号发生在0=k 时刻,所以,因果系统的冲激响应不应该出现在0=k 之前: []00=