APP下载

重叠保留法教学探索与案例设计

2024-05-07黄荣宗蓝丽娟陈志文蒋朝辉许可

高教学刊 2024年12期
关键词:案例设计

黄荣宗 蓝丽娟 陈志文 蒋朝辉 许可

基金项目:2023年国家自然科学基金面上项目“微尺度功能表面上气液相变的介微观建模与直接模拟研究”(52376086);2021国家自然科学基金青年项目“非一致标准具效应下微量气体原位检测方法研究”(62103448);2022年湖南省科技创新计划项目“青年科技人才项目”(2022RC1090)

第一作者简介:黄荣宗(1988-),男,汉族,湖北咸宁人,工学博士,特聘副教授。研究方向为多相流介微观数值方法及应用、固液相变传热与储能等。

*通信作者:蓝丽娟(1987-),女,畲族,福建漳州人,工学博士,讲师。研究方向为工业自动化检测、工业过程碳排放智能感知等。

DOI:10.19980/j.CN23-1593/G4.2024.12.031

摘  要:分段卷积是DFT/FFT实现线性卷积的重要途径,主要有重叠保留法和重叠相加法,教学过程中发现,学生对于重叠保留法的学习往往忽略对算法原理的真正理解,导致计算结果不准确。该文基于圆周卷积与线性卷积的数学关系,推导重叠保留法计算误差出现的原因,得到重叠保留法的计算步骤;结合计算流程和具体实例,分析造成计算数据缺失的原因,并创新提出解决方法;随后分析基2-FFT算法下补零处理对重叠保留法的影响,得出采用重叠保留法和FFT算法计算线性卷积的优化步骤;最后,以调制光谱分析为例进行教学案例设计,并对重叠保留法给出相应的教学建议。

关键词:分段卷积;重叠保留法;线性卷积;圆周卷积;案例设计

中图分类号:G642      文献标志码:A          文章编号:2096-000X(2024)12-0130-04

Abstract: Piecewise convolution is an important way for DFT/FFT algorithm to calculate linear convolution. It mainly includes overlapping reservation and overlap-add methods. During the teaching process, students often ignore the principle of the algorithm when learning the overlapping reservation method, resulting in calculation errors. Based on the mathematical relationship between circular convolution and linear convolution, this article deduces the reasons for the calculation error of the overlapping reservation method, and obtains the calculation process of the overlapping reservation method. Combining the calculation process and specific examples, it analyzes the reasons for the missing calculation data, and innovatively proposes the solution. Then, it analyzes the impact of zero-padding processing on the overlapping preservation method under the base 2-FFT algorithm, and optimizes the steps for calculating linear convolution using the overlapping reservation and FFT algorithms. Finally, a teaching case is designed using the modulation spectrum analysis, and corresponding teaching suggestions are given for the overlapping reservation method.

Keywords: piecewise convolution; overlapping reservation method; linear convolution; circular convolution; case design

線性卷积反映系统对于输入信号的作用结果,即线性卷积当前时刻的输出是当前及其之前时刻系统对输入信号响应的叠加,线性卷积是连接信号与系统的桥梁。利用圆周卷积计算线性卷积是离散傅里叶变换(DFT)的典型应用,具有现实的工程意义,也是数字信号处理课程的重要知识点[1-4]。由于DFT可以采用快速傅里叶变换(FFT)算法实现,因此可以利用FFT快速计算两个序列的线性卷积。但现实应用中往往面临两个计算序列的长度严重不匹配的情况,直接计算圆周卷积需要对其中较短序列大量补零,严重增加了计算量,降低了数据处理效率,因此引入分段卷积对较长的序列进行分段,提高数据处理效率,分段方法主要有重叠保留法和重叠相加法[5-10]。

在课程教学过程中,我们发现学生对圆周卷积与线性卷积的关系理解不足,特别是在运用重叠保留法计算时,学生对分段过程中的补零理解不够深刻,往往认为长序列分段结束即计算结束,没有真正了解最后一段数据是否已被“用完”,从而导致计算的结果存在缺漏的现象时有发生,而现有教材、课程教学方法等对这一情况尚未进行详细研究和阐述[1-3]。为此,我们根据圆周卷积和FFT算法的计算原理,结合具体案例,创新讲解重叠保留法的计算方法和实现步骤,提出教学方法探索,以使学生加深对分段卷积的理解,达到较好的教学效果。

一  重叠保留法的计算原理

重叠保留法的计算源于圆周卷积与线性卷积的数学关系,假设参与线性卷积的两个序列x(n)和h(n),其序列长度分别为N1和N2,线性卷积y(n)长度N=N1+N2-1,圆周卷积yc(n)可用下列表达式表示为

式中:L为圆周卷积的长度。即,圆周卷积是线性卷积以L长度进行周期延拓后,取主值周期的结果。

当圆周卷积长度大于等于线性卷积的长度(L≥N)时,圆周卷积的结果正好与线性卷积相同;当L

e(n)=y(n+L)。         (2)

图1  圆周卷积长度小于线性卷积的结果

二  教学方法探索

(一)  算法步骤

基于上述的数学关系,重叠保留法的实现方法如图2所示。假设两个序列x(n)和h(n)的长度分别为N和M,且满足N?垌M。计算步骤如下。

图2  重叠保留法计算流程图

1)将序列x(n)以前后重叠的方式进行分段,分段长度为L,重叠部分的长度为M-1,其中第1段的前面M-1个点为0。

2)将每个分段与h(n)作长度为L的圆周卷积。

3)每段圆周卷积的前M-1个点数值因发生混叠而舍弃(图中每段yi(n)的打“×”部分),余下的L-M+1个数值是每段卷积的正确结果。

4)将这些结果按顺序连接起来,即可得到x(n)和h(n)的线性卷积的结果。

(二)  案例分析

上节算法步骤是多数教材呈现的重叠保留法的实现步骤。然而在教学过程中,我们发现学生对分段卷积的原理理解不到位,如果仅依靠这些步骤,学生在解题过程中对于分段、补零、计算和保留等过程的处理总出现失误,导致计算线性卷积存在数据缺失的情况时有发生。以一个实例进行讲解。

假设参与线性卷积的两个序列分别为x(n)={1,2, 3,4,5,6,7,8,9,10},h(n)={1,2,-1}。若采用L=7进行对x(n)分段,不少学生认为最后一个数据出现在分段中即可停止分段,即得到下述分段

根据这个分段计算得到的结果为y(n)={1,4,6,8,10,12, 14,16,18,20},y(n)的长度为10,显然与正确的长度12不符,也就是说上述的计算还没有结束,分段仍需继续。那么,问题在于重叠保留法为什么会出现上述的问题?分段结束的依据是什么?如何保证重叠保留法采用最少的分段得到完整的线性卷积结果?

(三)  改进方法

针对上述的问题,我们从圆周卷积与线性卷积的数学关系探讨如何保证重叠保留法把数据“用完”。由于圆周卷积是线性卷积周期延拓后进行累加取主值周期得到的结果,当圆周卷积的长度小于线性卷积时,将会发生混叠现象。为避免混叠带来的影响,重叠保留法以前后重叠的方式对长序列进行分段,计算结果将重叠的部分舍弃,未重叠的部分即构成了正确的线性卷积的分段。而重叠部分实际上是每个分段中超过圆周卷积长度的部分叠加到了序列的前端,即圆周卷积相对于线性卷积的误差实际上是超过圆周卷积长度的线性卷积的序列值(见公式(2))。

因此,当我们对长序列进行分段并作圆周卷积时,最后一个分段的部分线性卷积的结果总会因为混叠而被叠加到该段的前端,并被舍弃;被叠加部分如果包含有效的卷积结果,就会造成计算結果的缺失。为避免这种现象,保证最后一个分段的有效线性卷积结果不被混叠,就需要在输入序列的末端做补零处理。

针对重叠保留法的处理步骤,与第一个分段序列的补零处理相同,我们不难发现,对于最后一个分段,我们仍然需要与第一个分段相同的补零个数(M-1个0,M为短序列的长度),才能避免最后一个分段的有用线性卷积结果被混叠至前端而丢失。如图3所示,考虑到分段长度的灵活性,对于重叠保留法,不仅要在第一个分段序列的最前端补M-1个0,最后一个分段序列也要保证在有效数据的末端补至少M-1个0。所得圆周卷积结果除了要剔除前M-1个值,末端如有0值,也需要舍弃,所得结果按顺序连接,即为所求线性卷积的结果。

图3  重叠保留法最后一个分段至少要有M-1个补零

如上例题,增加第3个分段x2(n)={9,10,0,0,0,0,

0}8,圆周卷积结果为y2(n)={9,28,11,-10,0,0,0},去掉前2个值,保留非0序列为{11,-10},正是缺失的最后两个数值。

(四)  FFT快速实现

利用FFT进行计算线性卷积,通常要求参与计算序列的长度为2的整数次幂(基2-FFT算法),如果序列长度未满足2的整数次幂的要求,则需将每个序列长度补零至相应长度,利用FFT计算线性卷积的流程图如图4所示,其中L'为2的整数次幂,L'≥L。下面讨论FFT补零对重叠保留法的影响。

图4  利用FFT计算线性卷积的流程图

仍以上述例题为例。显然L=7不满足FFT的要求,因此需对每个分段进行补零,按照L'=23,即

, (4)

将式(4)中的每个分段xi(n)与h(n)分别计算8点FFT,相乘后计算8点IFFT即可得到每个分段的圆周卷积的结果

舍弃划“-”和“×”的数据,剩余数据顺序排列即为线性卷积的结果。从式(5)可以看出,每段计算结果中只有M至L-1点保留了与线性卷积相同的结果,超过补零前序列长度L的数据出现了无效的非零值。因此,采用FFT计算线性卷积时,如需补零,则重叠保留法分段计算得到的圆周卷积结果中,超过补零前原有分段长度的数据需舍弃,再根据重叠保留法的步骤,舍弃前M-1个点,保留下来的结果按顺序连接,得到线性卷积的结果。上节中讨论的最后一个分段的补零不受此影响。

(五)  教学案例设计

线性卷积是连接信号与系统的桥梁,分段卷积使得利用计算机加快计算线性卷积成为可能,因此分段卷积具有实际工程应用价值。上述内容虽具体探讨了重叠保留法如何将分段数据“用完”的处理方法,讨论了FFT算法补零对重叠保留法实现线性卷积的影响,但所述理论和方法对于初学者仍具挑战。为了达到较好的教学效果,在教学实践环节,可以引入具体工程案例对分段中的补零和数据保留等步骤进行讲解和拓展。例如以调制光谱分析[11]和PD雷达测距[5]等设计教学案例,引导学生思考重叠保留法计算结束的判断标准,讨论当分段长度为非2的整数次幂时,FFT算法补零与末段补零的区别和联系,从而达到让学生掌握重叠保留法计算原理和步骤的目的。

下面以调制光谱分析为例对重叠保留法进行案例设计。光谱分析因高选择性和高灵敏度等特性,使其在能源、环保等领域具有广泛应用。对光谱信号进行调制可有效提高抗噪声能力,因而使其能适用于恶劣的工业生产环境。案例中,输入信号x(n)是采样长度N=300 000的信号(其中包含频率为6 kHz的正弦调制信号),系统的单位脉冲响应h(n)是频率为6 kHz的单周期正弦信号(即信号长度为M=50),满足N?垌M。实验中采用两种方法计算输入信号x(n)与单位脉冲响应h(n)线性卷积的结果,即不分段直接利用FFT计算x(n)×h(n)(未分段FFT)、结合重叠保留法和FFT算法进行计算(重叠保留法);实验计算时,设置重叠保留法分段长度不满足2的整数次幂,让学生处理FFT的补零操作、重叠保留法的数据舍弃和保留、计算结束节点的判断、计算结果异同的分析和两种方法计算速度的比较等,并进行相关总结。

例如,针对上述实验数据,在重叠保留法计算中,采用L=200个点进行分段和圆周卷积,则由于重叠保留法每一分段的前M-1=49个值是前一分段的最后M-1个值,因此实际每个分段中只保留151个有效的卷积结果;同时采用FFT计算时需将每个分段的xi(n)和h(n)补零至L'=28=256。在经过1 986次分段后,余下的数据包含重叠部分的长度为163,该段数据须首先补37个0使序列长度达到200个点,继而进行FFT计算。此时与学生讨论计算是否可以结束,让学生掌握重叠保留法末段补零的原则,并结合FFT计算中补零的操作,分析并理解两种补零处理的目的和作用,进而达到让学生掌握知识的目的。

利用上述两种方法计算得到的调制光谱信号的谐波曲线如图5所示。计算结果显示采用未分段FFT和采用重叠保留法计算线性卷积得到的结果是也必然是一致的,说明了重叠保留法的正确性和可操作性。同时,从数据的处理效率可以发现,未分段FFT计算速度极慢,这是由于当数据长度N很大时,让计算机处理N点长度的数据需要耗费大量内存,严重影响数据的处理效率,而采用重叠保留法的计算速度非常快,二者形成鲜明对比,实验表明重叠保留法可有效加快数据的处理速度,具有现实的工程应用价值。

图5  调制光谱案例中采用未分段FFT和重叠保留法计算线性卷积得到的谐波信号幅值对比

三  结束语

分段卷积是数字信号处理课程的一个重要知识点,同时具备重要的工程实践价值,重叠保留法是实现方法之一。现有教材和课堂教学均阐述了重叠保留法如何开始进行分段,未就结束段的数据处理进行详细说明。我们针对教学环节中学生对重叠保留法存在的疑问,从圆周卷积与线性卷积的数学关系入手,深入浅出分析方法出现数据缺失的根本原因,创新提出解决方案;结合基2-FFT算法的实现步骤,进一步讨论补零操作对计算的影响;最后通过调制光谱分析的案例设计,让学生充分理解并掌握重叠保留法的具体实施步骤,并讨论其工程应用价值。教学过程中,可以通过“发现问题—理论分析—方案探索—解决问题”[12]引导学生对相关知识点进行梳理学习,使学生加深对DFT/FFT、圆周卷积、分段卷积等知识点的理解,“从工程实践中来,回到工程实践中去”,鼓励学生聯系工程实践,敢于质疑、勇于探索,提升其从数理理论出发解决实际工程问题的能力,预期可以取得较好的教学效果。

参考文献:

[1] 许可,万建伟.数字信号处理[M].北京:清华大学出版社,2020.

[2] 王艳芬,王刚,张晓光,等.数字信号处理原理及实现[M].北京:清华大学出版社,2017.

[3] 程佩青.数字信号处理教程(第五版)[M].北京:清华大学出版社,2017.

[4] 张海剑,余磊,肖进胜,等.数字信号处理课程体系分析与教学实践[J].高教学刊,2022,8(35):124-127.

[5] 许可,辛勤,李双勋,等.利用PD雷达脉冲压缩实例讲解分段卷积[J].电气电子教学学报,2022,44(3):127-129.

[6] 沈希忠.数字信号处理课程的应用型教学模式探索[J].高教学刊,2016(22):98-99.

[7] 杨忠林,侯新国,刘建宝.“数字信号处理”中重叠保留法的教学探讨[J].课程教育研究,2013(1):54-55.

[8] 江汉,徐以涛,沈良.线性卷积与循环卷积的教学研究[J].电气电子教学学报,2016,38(4):72-74.

[9] 王倩雯,毛卫宁.数字信号处理中分段滤波的教学探讨[J].电气电子教学学报,2021,43(4):78-80.

[10] 李昌利,霍冠英.“数字信号处理”中重叠保留法的证明[J].电气电子教学学报,2011,33(6):31-32,35.

[11] LAN L J. Development of a CO2 sensor using TDLAS-WMS and its application for emission analysis in Munich[D]. Germany: Technical University of Munich, 2020.

[12] 李敏通,赵继政,迟茜,等.问题教学法在“数字信号处理”课程教学中的应用[J].高教学刊,2015(21):70-71.

猜你喜欢

案例设计
仿真案例在数字信号处理课程中的应用研究
教学案例在初中数学复习课中的应用
情趣兴趣为基,实践创新为主
重庆市政府债务风险案例研究设计
案例教学法在VB中的应用
一对一个性化教学对高中生英语学习兴趣的案例研究分析
案例教学在统计学教学中的应用与探索
游戏案例在面向对象程序设计教学中的应用
高中物理情境教学策略小议黄新琴
《Flash动画制作》课程教学案例的设计与教学过程