长序列卷积的计算:叠接相加法
一、引言
在快速傅里叶变换(FFT)诞生之后,时域的卷积计算通过FFT转换为频域的相乘运算,大大降低了运算时间,提升了数字信号处理效率。但是,在较多的应用场景中,要求进行信号数据的实时处理和转换。包含了卷积计算的滤波、同步等步骤的长序列信号处理过程仍然花费较大比重的时间。同时,处理长序列信号需要占用更大的存储空间。为了实现数据的实时处理,本文将介绍一种长序列卷积的计算方法:叠接相加法。
二、叠接相加法的原理及举例
叠接相加法实际上描述的是一种数据的恢复方法,是将长序列分段进行卷积运算之后重新合并为一整段数据的方法。而将数据分段进行卷积带来的益处主要有两点。第一、能够实现数字信号的实时处理。第二、能够极大地降低对硬件设备存储空间的要求。
叠接相加法首先将长序列分为N段,
,
, ...
然后,分别与
进行卷积运算(可以通过FFT转换到频域进行),得到的结果为N段。在卷积的过程中,
翻转之后进行移位乘累加,在移位的开始阶段会产生前过渡带,同理在结束阶段会产生后过渡带。过渡带的数据均需要经过处理才能还原为正确的数据,而这里的处理就是叠接相加。
叠结相加将上一段数据的后过渡带与本段数据的前过渡带对应相加,按序排列,即可得到完整的结果。 ,
, ...
举例,如下图所示。长序列与长度为2048的序列
进行卷积,将
分为长度为2048的数据段
,
,
等。将序列
翻转之后沿着如图箭头所示的方向移动,与
进行卷积运算,分别得到
,
,
等。再将相邻两段的过渡带对应相加,按序排列即得到最后的结果。
三、讨论
叠接相加法较多地应用在要求信号数据实时处理的通信系统的接收机中。例如接收信号的同步检测(注意:同步检测与真正的卷积之间有一点区别,就是不需要翻转。需要在FFT之前,先将
进行一次翻转,以此来抵消卷积中的翻转),数字滤波器等。