书接上回
一、离散信号的卷积(Convolution Sum)
1、离散信号的卷积的表示及公式
2、离散卷积的图示
离散卷积的八字真言:反转、平移、相乘、相加(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
3、离散卷积的计算
离散卷积可以采用列表法计算
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];
4、matlab进行卷积运算
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
二、取模运算
1、取模
- 通过运算,使0,1,2,…,N-1以外的数字,变成N-1以内的数字。
r=(m)N=m modulo N
r叫做余数,是在0和N-1之间的。 - 求取r值:r = m + LN
- eg:(34)7=34+7L=34-7✖4=6
2、圆周反转(循环反转)
- 将序列之外的数值,反转到数列值之内
{y[n]}={x[(-n)N]} - eg:将{x[-n]}进行圆周反转得到{y[n]}
{x[n]}={x[0],x[1],x[2],x[3]};
结果:{y[n]}={x[(-n)4]}={x[0],x[3],x[2],x[1]};