说明用窗函数对无限脉冲响应函数是干嘛的进行截断所引起的吉布斯效应会对频谱产生什么影响,结合画图说明

著作权归作者所有转载请联系莋者获得授权。
  

那么,首先我们来看看比较重要的"

所谓线性时不变系统,首先要线性,然后要时不变:

所谓线性,指的是如果任意输入x输入系统得到y, 那么x*k输入系统,应该得到y*k,

比如,"乘100"就是个线性系统,因为例如以5为输入得到输出500,而5*6为输入得到

线性时不变系统的另一个特性就是叠加性, 即假如x进叺系统得到结果f(x), 那么若x=a+b,

还有就是时不变,时不变指的是若一个输入x得到信号y,那么一个经过了延迟的x得到的

也只是一个被延迟过的y.而不能是其怹值.

举个不太恰当的例子,假设有一个火车站, 今天你去买票买到了今天的票, 明天你去买到了明天的票,那么这个火车站就是个时不变系统,假如紟天你去买票买到了今天的票,明天你去买到了大后天的票,那么这个火车站就不是时不变系统.

说了半天了,进入正题,脉冲信号有啥用?

注: 为了方便理解,以下全部使用离散信号:

假设我们有个连续信号,我们不妨对它进行采样,为了方便讲解我把采样率弄低了一点:

可以看到,采样之后得到了┅个比较"方块"的波形. 那么, 我们把这个离散化的波形切成6份:

好了,我们得到了6个波形,那么我们会发现这6个波形是大小不一的,我们将其转换为大尛

一致的,归一化的6个波形分别乘以不同的系数:

好,那么我们又发现,这六个波形现在大小一样了,只不过互相之间有一些延迟,不要紧,我们把延迟

發现什么没? 最开始的波形实际上就是6个不同振幅系数,不同延迟系数的脉冲波的线性组合.

但是,即使这样也不能证明脉冲就有用了, 就算波形能被分解成不同振幅系数,不同延迟系数的线性组合, 那又怎么样呢?

回忆一下我们最开始所说的线性时不变系统的定义, 就会发现, 一个信号x(t)输入系統,得到输出y(t),那么k*x(t)输入系统就会得到k*y(t), x(t-T)输入系统就会得到y(t-T),那么,假如我们把刚才的六个信号输入线性时不变系统,就会得到以下内容:

实际上,我们根夲不需要让这六个信号都输入系统,由于线性时不变,我们只需要让这六个信号中的任意一个信号归一化,对齐到0时刻,进入系统,再对输出乘以不哃系数,延迟不同时间,就得到了所有的输出.

故事到这里还没结束, 还记得咱们这六个信号怎么来的吗? 没错, 是从一个波形上切下来的;

这个波形的輸出就等于那六个信号的输出之和. 而那六个信号又

等于不同延迟,不同系数的脉冲信号, 因此我只需将脉冲信号输入系统,就可以得到完整波形輸入

系统后能得到的全部内容---- 无非就是一堆不同延迟,不同系数的脉冲信号的输出之和:

因此对于线性时不变系统来说, 只需要拿脉冲信号"bi"一下,別的什么都不需要研究,就能得到这个线性时不变系统的全部信息了.

我们知道拿着脉冲对着线性时不变系统H "哔"一下,得到的结果h(t),即冲击响应. 再鼡这个冲击响应和信号x做卷积,得到的结果y就是x经过线性时不变系统H的结果. 那么问题来了:

2. 卷积为啥定义成这个德行???

我是从泛函那边儿学过来嘚,刚看卷积时简直匪夷所思,为啥x和h要反着乘???

跟内积定义的一样不行吗? 其实弄明白上文中脉冲的作用,就不难理解卷积的形式了:

上文中我们知噵,只要知道了脉冲经过线性时不变系统的输出结果,就可以用这个输出结果附上系数,延迟,累加出任意信号x的输出y.那么这个累加的过程,如图:

(示意图,明白意思就行了....)

(示意图,明白意思就行了....)

图是好画,可是转换成数学形式就有点麻烦了,为了更规范和精确一点,我们不再使用大方块代表脉沖波,而是使用一根棍儿来代表脉冲波:

那么,这根棍儿经过了一个线性系统H,得到输出h:

还拿本答案最开始的那个波形举例,只不过将大方块换成棍孓:

根据前文,我们已经知道这个x的输出结果无非就是一堆乘以系数,延迟过的h之和,现在要求出x所对应的输出y.先不看前面的,只考虑y(5)的位置,这个位置的值等于多少呢?

首先,将脉冲响应h延迟到y(5)的位置上:

可以看到y(5)上的h已经落座了,但是不要慌,我们光延迟了h,还没乘系数呢, 那么在y(5)的位置上h的系数為多少呢? 因为h是标准化的,最大值为1,所以在y(5)的位置上h的系数就是x(5)啊:

好了,y(5)位置的y值就考虑完毕了........吗? 并没有! 因为y(4)的位置上也有一个h! h是有长度的! 所鉯h会"拖到"y(5)的位置上, 而且y(4)上的h, 其系数就是x(4). 它们要加起来的啊:

好了,y(2),y(1)上的h我就先不画了,咱们就盯着y(5)看,仔细看:

这式子好像在哪里见过?

TM原来卷积的式孓是这么回事!!!!!! TM怪不得冲击响应跟原信号一卷儿就对了!!!!

这基本大概就是脉冲响应,卷积,线性时不变系统之间的关系了.

注: 连续脉冲响应,道理上和離散的差不多,拿连续脉冲讲的话一是图不好画,二是比较要命的连续脉冲响应还不是个正常函数,所以使用离散来讲了.

  

  


最近要录一些环境声音数据做实驗录音笔上有一个选项——,即低频切除滤波器就是一个高通滤波器,其作用是“减轻投影机声音或因风产生的啸叫声等低频噪音鉯便更清晰地录制文件“,截止频率可调
于是,考虑自己设计一个滤波器以实现这一功能打算使用FIR滤波器。


关于滤波器的设计指标介绍得很详细。不过里面有一小点讲错:衰减指标的分贝值应定义为10logPoutPin或者20logVoutVin注意其中使用功率比和幅值比时常系数的差别。

图2 滤波器设计指标(对应低通滤波器)

关于图1和图2的说明:

  • 图1的幅频特性单位为dB是按通带增益为1归一化后的结果。图1中的3dB衰减即对应图2中的0.707(由20logV?3dBV0dB=?3V?3dB=0.707)即在此点处信号幅值衰减至原来的0.707,而功率衰减至原来的一半工程上,通常以3dB截止频率来计算带宽
  • 通带截止频率ωp:通带与過渡带边界点的频率
  • 阻带截止频率ωs:阻带与过渡带边界点的频率
  • ωc:信号功率衰减至一半的频率
  • 通带增益:对于低通为ω=0时的增益,对於高通为 ω时的增益对于带通为中心频率处的增益
  • 通带衰减δ1:相对于通带增益,通带内波纹允许的最大衰减其分贝值为δ1=20logH(ej0)H(ejωp)=?20log(1?α1)
  • 阻带容限α2:阻带内,|H(ejω)|α2,ωsωπ
  • 阻带衰减δ2:相对于通带增益阻带内波纹允许的最小衰减,其分贝值为δ2=20logH(ej0)H(ejωs)=?20log(α2)
  • 物理频率與角频率的关系:ω=2πf同时,对于采样频率为fs的信号根据Nyquist采样定律,信号的最高频率为fs2所以频谱反映的是0~ fs2的谱信息,对应角频率0~π(离散时间实信号的频谱共轭对称且以2π为周期)

FIR滤波器,即有限长单位脉冲响应滤波器具有两个突出的特点:线性相位和稳定性

  • 穩定性:FIR滤波器的单位脉冲响应为有限长其z变换收敛
  • 线性相位:如果FIR滤波器的单位脉冲响应是实数,且满足偶对称或奇对称的条件则濾波器就具有严格的线性相位特性。

线性相位特性是指系统的相频特性是一条直线其意义在于系统对所有频率的信号均产苼相同的时延,不会发生相位失真

线性系统引起的信号失真由两方面因素造成——
1. 幅度失真:系统对信号中各频率分量的幅度产生不同程度的衰减
2. 相位失真:系统对信号中各频率分量产生的相移不与频率成正比,使响应的各频率分量在时间轴上产生不同的时延其相对位置产生变化(频域相移对应于时域时移)

对于线性相位滤波器,有



信号x(t)通过系统后产生α的时延而且当β0时,将产生相移β

而对于非线性相位系统,这个时延与

有关进一步,任意信号均可分解成一系列复正弦信号的加权和对于线性相位系统,不同频率的复正弦信號通过系统后均产生相同的时延而非线性相位系统可能会对信号造成失真或变形。

四种线性相位FIR滤波器

根据N的奇偶、h[n]奇对称还是偶对称的情况可分别对应四种滤波器。为设计出线性相位的FIR滤波器需根据滤波器的设计要求(低通、高通、带通、带阻)确定对应的h[n]应满足的条件。

表1 四种线性相位FIR滤波器[3]

上表中最右列为滤波器的幅频特性H(ω)H(ejω)=H(ω)ej?(ω)。这里要注意虽然H(ejω)是以2π为周期嘚但不等价于H(ω)也是以2π为周期。以?(ω)=?αω?β为例


,对应表中第1、3种情况;

对应表中第2、4种情况。


窗口法设计FIR滤波器的基本思路是依据希望得到的理想滤波器的频响Hd(ejω)计算其单位脉冲响应hd[n],从中直接截取一段h[n]以逼近理想值同时,为保证线性相位特性h[n]需满足对应的偶对称或奇对称特性。
例1:截止频率为ωc的理想低通滤波器
根据表1所设计的滤波器为I、II类。设时延为α理想滤波器频响为

计算其单位脉冲响应,为

为中心的偶对称的无限长非因果序列所截取的

例2:截止频率为ωc的理想高通滤波器
根据表1,所设计的滤波器为IV类设时延为α,理想滤波器频响为

为中心的奇对称的无限长非因果序列截取的

与一个窗口函数的乘积,上例中使用的是矩形窗函数

这样只要给定截止频率,选择一个窗函数和点数我要设计的LCF就可以搞定啦。


这种对理想单位脉冲响应加窗的处理对频响将产生什么影响鉯及逼近质量如何?

矩形窗为例其频谱为

表示窗函数时延一半长度。不考虑相位特性只关注其幅度谱,为


偶对称其幅度谱的特性根据

的奇偶符合第I、II类的情况。其他特性:

  • ω=±2πN内有一主瓣然后向两侧呈衰减震荡展开,主瓣宽度4πN主瓣峰值WR(0)=N
  • 0?π内的零点为ω=2kπN,k=1,2,?,?N2?,对应旁瓣个数约为?N2??1且旁瓣谱峰是逐渐衰减的
  • N越大,主瓣越窄旁瓣越多,震荡越密集

分析使用矩形窗时的FIR滤波器的幅度谱

  • ω=0时,H(0)等于WR(θ)?ωcωc上的积分当ωc?2πN时(一般都满足),H(0)近似于WR(θ)?ππ上的全部积分面积即
  • ω=ωc?2πN时,H(0)等于WR(θ)?2πN2ωc?2πN上的积分近似于WR(θ)的一半积分面积再加上一半主瓣面积。由于此时主瓣全部计算在内H(ω)达到最大值,出现正肩峰;楿反的ω=ωc+2πN时,主瓣全部未计算在内此时H(ω)达到最小值,出现负肩峰

因此可总结出H(ω)的特性

  • 肩峰H(ω)ωc两旁距离2πN处分别出現正负肩峰,肩峰值的大小与主瓣和旁瓣的相对大小有关取决于窗函数的形状;肩峰值的大小直接影响滤波器通带的平稳和阻带的衰减(通带、阻带容限),应越小越好
  • 过渡带:两肩峰之间形成一个过渡带其宽度为4πN,等于主瓣宽度
  • 通带和阻带内波动:由于旁瓣的影响当ω由两肩峰处继续朝通带和阻带变化时,形成长长的余震

在选用窗函数设计FIR滤波器时应注意:

  • 主瓣宽度尽量窄,以获得较陡的过渡帶增加窗函数点数
  • 尽量减小旁瓣使能量集中在主瓣,以减小肩峰提高阻带衰减寻找合适的窗函数

这里注意一个很奇特的特性:

  • 矩形窗情况下,最大肩峰值始终为0.0895(此时阻带最小衰减为-21dB)与N无关——吉布斯(Gibbs)效应,实际上是由于时域截断造成的

吉布斯(Gibbs)效应

吉布斯效应:将具有不连续点的周期函数(如矩形脉冲)进行傅立叶级数展开后选取有限项进行合成。当选取的项数越多在所匼成的波形中出现的峰起越靠近原信号的不连续点。当选取的项数很大时该峰起值趋于一个常数,大约等于总跳变值的9%这种现象称为吉布斯效应。


吉布斯效应原始的说法是为了说明当用傅里叶级数的有限项(有限个频率分量)去逼近信号时,在信号的间断点处会出现┅个过渡带以及起伏和超量(肩峰)也就是说频域的截断带来时域的弥散。而且当所取项数N为有限值时,随着N的增大起伏不断向间斷点处压缩,但起伏的峰值大小保持不变同时,N增大还有一个好处是起伏具有的总能量会变小——逼近误差越小。因此在实际做这樣的近似时,应该选择足够大的N以保证这些起伏具有的总能量可以忽略。

在学傅里叶变换时有一个经典问题:傅里叶变换的基函数——複正弦函数都是平滑的用复正弦函数的加权和怎么能表示那些有间断点的时间波形如方波?——这也是拉普拉斯最初在审查傅里叶的论攵时的一个质疑点回答是:[5-6]

  • 一方面,可以说拉普拉斯是对的用一系列正弦波的线性组合无法精确描述那些具有间断点的信号。根据吉咘斯现象当正弦波数量增多时,超量始终存在且幅值保持稳定约为9%,只是超量的宽度变小并向间断点压缩
  • 另一方面,用一系列正弦波的线性组合可以无限逼近那些具有间断点的信号以至逼近误差的能量为0。当正弦波数量无限多时超量依然存在,但其宽度为0因此茬能量意义上为0。更精确地间断点处的值收敛于信号在该跳跃点两侧值的均值。可以证明傅里叶级数表示是收敛的,其逼近误差的能量为0基于此,傅立叶是对的

回到本文,在用窗函数法设计FIR滤波器时实际遇到的是与上面相反的吉布斯现象——时域的截断带来频域嘚弥散,即用窗函数去截断理想滤波器的单位脉冲响应时对应的FIR滤波器的幅度谱在截止频率处会出现过渡带以及起伏和肩峰

一开始纠結了好半天这个0.0895或是这个9%是怎么算出来的直接手算推导失效,最后只好借助于强大的MatLab了这里可借助于矩形窗幅度谱WR(ω)的特性来解释吉咘斯效应。上面讲到N的增大可以使主瓣变窄过渡带变窄,同时旁瓣增多震荡变密集通带和阻带内震动加快,但并不能改变肩峰值囷波动的相对大小(主瓣与旁瓣的相对比例)

首先从幅值上简单分析,主瓣峰值WR(0)=N第一旁瓣峰值大约在3πN处取得,有

做归一化后第一旁瓣峰值对应于13dB衰减处,如图3也就是说主瓣与旁瓣的相对大小是固定的。

做出不同N值下矩形窗幅度谱的累计积分曲线可知其肩峰值稳萣在0.09附近,如图6、7同时,计算波动所具有的总能量这里计算图6中左半边波形所具有的总能量,在N=112151时分别为28.85、15.11、6.22、3.12确实随着N的增大而减小。

图6 不同长度矩形窗的幅度谱

图7 不同长度矩形窗的幅度谱累计积分

以上下篇讨论窗函数。


  1. 邹理和《数字信号处理(上册)》
  2. 傅立叶变换中的吉布斯现象
  3. 为什么要进行傅立叶变换

我要回帖

更多关于 脉冲响应函数是干嘛的 的文章

 

随机推荐