李昌利
(河海大学计算机与信息学院,江苏南京211100)
“信号与系统”课程中有一个非常重要的结论:离散线性时不变系统的响应为系统脉冲响应序列与输入序列的卷积(线性卷积)。“数字信号处理”课程中又定义了两个有限长序列的循环卷积运算。可以利用离散傅里叶变换的时域循环卷积性质来计算两个序列的线性卷积,而离散傅里叶变换可以通过快速傅里叶变换完成。通常的《数字信号处理》教材中讨论循环卷积时,给出了计算公式和计算实例,但都是从定义出发,计算过程复杂。本文从线性卷积的简单计算方法入手,利用线性卷积与循环卷积的关系,提出一个非常简便的计算循环卷积方法。
首先定义模运算。对任意整数m,m对N取模的运算符为:<m>N=m+lN,模运算定义为找一个整数l,使得0m+lNN-1。例如,<23>7=2,只要l=-3即可,又例如,<-13>7=1,只要l=2即可。

式中,N点循环卷积yC,N(n)定义域为0nN-1,长度为N。
对上述定义域内的x(n)和h(n),在“信号与系统”课程中定义了两者的线性卷积为

式中,yL(n)的定义域为0nM1+M2-2,有效长度为M1+M2-1。
[1] 指出循环卷积与线性卷积存在以下关系式:

由此可知,当N≥M1+M2-1时,循环卷积与线性卷积相等;而当max(M1+M2)N<M1+M2-1时,循环卷积与线性卷积不等。参考文献[2] 和[3] 详细证明了以上结论。
我们首先简单介绍计算序列x(n)和序列h(n)线性卷积的序号和匹配法[4],该法采用如下步骤。
(1)按序把x(n)和h(n)的序列值从左至右排列成两行。两个序列的第一个序列值排列时对齐,每个序……