这篇博文要将的是循环卷积,循环卷积和线性卷积还是有很大区别的,我们都知道,两个N点序列之间的线性卷积会得出一个更长的序列,不得不再一次要将区间限制在 0 <= n <= N -1。因此代替线性移位的是应该考虑循环移位,循环移位我们上面已经讨论了两篇博文:
【 MATLAB 】DFT的性质讨论(二)序列的循环移位及其 MATLAB 实现(时域方法)
【 MATLAB 】DFT的性质讨论(二)序列的循环移位及其 MATLAB 实现(频域方法)
包含循环移位的卷积运算称为循环卷积,给出:
下面我们根据循环卷积的表达式来使用MATLAB实现循环卷积:
我们的思路是对位于[0,N-1]内的每个n产生一个 序列,并作为矩阵的行,然后将循环卷积的公式作为一个矩阵乘法来实现,这需要一个for循环。
直接给出函数: