版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。
前言
卷积是信号处理中非常重要的运算。在信号与系统课程中要学习线性卷积,在数字信号处理课程中要学习循环卷积。今天我们来简单谈谈线性卷积相关的知识。为循环卷积的学习打下良好基础。
线性卷积的定义及运算
对于线性时不变(LTI)的离散时间系统,任意信号x(n)通过系统h(n)得到的输出y(n)即为x(n)和h(n)的线性卷积。定义:
计算线性卷积需要四步:反转、平移、相乘、相加。
已知x(n),h(n),观察上式,为了进行计算,需要经过序列的简单运算得到定义式中形式的序列。步骤是这样的:
❶变量代换
得到x(m)和h(m).再观察定义式,需要的是h(n-m)。肿么办?这里m为变量,而n为常数。所以需要先得到h(-m)。明白了这一点。下来的操作就很显然了。将h(m)反转,即可得h(-m);
❷移位
将h(-m)移位n,变成 h(n-m),n为正数,右移n位,n为负数,左移n位。h(-m)=h(0-m)(相当于n=0);
❸相乘
将h(n-m)与x(m)在相同的m所对应的点相乘;
❹相加
将所有对应点乘积累加起来,就得到n时刻的卷积值
【注意】经过这4步以后得到的是y(n)在n时刻的值。如n=0,此时计算得y(0)。所以,还需要对所有的n重复以上步骤,就可得到所有的卷积值y(n)。
对于有限长序列的卷积,我们可以用如下的不进位乘法来进行计算。以例子来说明
x(n) = [0 1 2 3 4] ,h(n) =[2 3 1 5 7] ,y(n)=x(n)*h(n)?
备注:资料来源于刘树棠的信号与系统以及公众号:西邮信号处理