基本信息
文件名称:数字信号处理实践与应用——MATLAB话数字信号处理(第2版) 课件 案例十二 —— 化整为零之重叠相加法.pptx
文件大小:156 KB
总页数:18 页
更新时间:2025-06-26
总字数:约6.08千字
文档摘要

案例十二——化整为零之重叠相加法

内容概要案例设置目的相关基础理论情境任务及步骤原理初探实际信号滤波测试思考题总结报告要求

案例设置目的通过实验理解大量数据处理给平台带来的影响;理解重叠相加法实现大数据线性卷积的原理与方法;进一步认识线性卷积在工程实践中的实现思路。

相关基础理论直接对大量数据进行基于FFT的滤波处理通常会产生这些问题:延迟增加明显,处理器负荷指数增长,?存储空间消耗严重,甚至会出现不堪重负的情况,比如死机。在按照快速卷积实现原理对大量数据信号直接进行处理时,FFT的计算点数N要求不小于M+Ls。由于快速卷积是按帧(Ls个数据一起处理)进行处理的,当Ls非常大时,输出的结果是在完成N点的FFT和IFFT之后才得到的,因此延迟会明显增加。?为处理大量数据又能避免上述问题,先辈们想到了对大数据进行分段处理,然后再对分段处理结果进行拼接,从而实现对所有数据的处理,即化整为零的方式。常用的分段处理有两种方式,重叠相加法(overlap-add)和重叠保留法(overlap-save)。重叠相加法是首先将Ls长的输入信号x(n)?切分成长为L的相邻但不重叠的短序列xi(n),再将每个短序列xi(n)?与M阶FIR滤波器的单位脉冲响应h(n)(M+1点)?进行线性卷积得到分段处理结果yi(n)?,最后将yi(n)?进行拼接便得到Ls长的输入信号x(n)?与M+1点h(n)?进行线性卷积的结果。如何拼接每个yi(n)?是该方法能否奏效的关键,下面通过一个例子讨论该方法的原理。

相关基础理论设输入信号x(n)是一个10点长的序列,FIR系统单位脉冲响应h(n)是3点长序列。为演示重叠相加法原理,这里将x(n)平均分成2段,分别记为x0(n)?和x1(n),其中x0(n)={x(0),x(1),x(2),x(3),x(4)},x1(n)={x(5),x(6),x(7),x(8),x(9)},x(n)与h(n)直接计算卷积和分段计算卷积的关系参见表12-1。细观表12.1可以得到如下三个结论:1每个L=5点长的输入序列段与M+1=3点长序列卷积后输出的结果都是L+M+1-1=L+M=7点长序列,比输入序列长3-1=2=M点;2后一段卷积结果的前M个点加到前一段卷积结果的后M个点上,得到原始输入序列x(n)?与h(n)卷积时对应点上的值;3后一段卷积结果经过2的修正后,正确样点值个数能达到L个,即后一段卷积结果的的前M个点加上前一段输出的后M个点,得到的序列的前L点是x(n)?与h(n)?卷积时对应点上的值,可以直接输出,即每次叠加后能直接输出L点的正确结果。由该例可以推广到一般形式。??

相关基础理论?表12.1卷积计算对照表

相关基础理论首先将Ls长的输入信号x(n)切分成长为L的相邻但不重叠的短序列xi(n),当Ls不是L的整倍数时,要在x(n)的后边补零。(12.1)然后计算每段短序列xi(n)?与M阶FIR滤波器的单位脉冲响应h(n)?的线性卷积,结果记为yi(n),即(12.2)最后,每个后段卷积结果yi(n)与前段卷积结果重叠部分相加(),并将重叠相加后结果的前L点作为最终结果输出,第i段的输出结果记为youti(n),即(12.3)顺次将youti(n)串在一起,就可以得到Ls长的输入信号x(n)与M+1点h(n)?进行线性卷积的结果。x(n)与h(n)的卷积结果y(n)也可以直接写成各分段卷积结果yi(n)和的形式,即