

离散卷积的八字真言:反转、平移、相乘、相加(time-reversal,delay,multiplication,addition)

将h[k]进行时间反转得到h[-k],然后将h[-k]依次进行延时操作,当h[-k]的最右侧的数值和x[k]最左侧的数值重合时,开始相乘和相加操作,图中的h[k]和x[k]都是从0开始的,因此y[k]也是从0开始的,将两者k值重合的值全部对应相乘,然后相加,得到的一个数值就是对应的y[k]的值,h[-k]依次右移,直至两者没有重合k值,将得到的数值进行排列,就得到了卷积之后的y[k]。
y[0]=x[0]h[0];
y[1]=x[0]h[1]+x[1]h[0];
y[2]=x[0]h[2]+x[1]h[1]+x[2]h[0];
y[3]=x[1]h[2]+x[2]h[1];
y[4]=x[2]h[2];
得到的y[k]长度为M+N-1
离散卷积可以采用列表法计算

y[0]=x[0]h[0];
y[1]=x[0]h[1]+x[1]h[0];
y[2]=x[0]h[2]+x[1]h[1]+x[2]h[0];
y[3]=x[1]h[2]+x[2]h[1];
y[4]=x[2]h[2];
N = 6;
n = 0:N-1;
n1 = 0:10;
dn = [1 2 3 5 7 8]
cn = [4 2 2 9 10 2 ]
co = conv(dn,cn)
subplot(311)
stem(n,dn);
subplot(312)
stem(n,cn);
subplot(313)
stem(n1,co);
运行结果:
dn =
1 2 3 5 7 8
cn =
4 2 2 9 10 2
co =
4 10 18 39 72 105 109 135 152 94 16
