xcorr互相关的算法和conv算法解析

1、xcorr互相关的算法解析

输入:a=[1 2 3],b=[1 2],则xcorr(a,b)的结果为:0.0000 2.0000 5.0000 8.0000 3.0000

计算过程如下:b补0得[1 2 0],然后

第一个计算
    1 2 3
1 2 0
为0

第二个计算
1 2 3
1 2 0
为2

第三个计算
1 2 3
1 2 0
得5

第四个计算
1 2 3
  1 2 0
得8

第五个计算
1 2 3
    1 2 0
得3

最后结果即 0.0000 2.0000 5.0000 8.0000 3.0000

对于:[a,b]=xcorr(x1,x2)的计算,其中b的计算,设一维序列的长度为N,则序列中任意两个数据序号相减,最小值为1-N,最大值为N-1,且能取遍两者之间的所有整数,将这些数从小到大排列得到的就是b;a的计算结果就是上述过程。

2、conv算法解析

上面的计算过程并不是卷积的过程,输入:a=[1 2 3],b=[1 2],则conv(a,b)的结果为:1 4 7 6

计算过程:

第一个计算
  1 2 3
2 1
得1
第二个计算
1 2 3
2 1
得4
第三个计算
1 2 3
  2 1
得7
第四个计算
1 2 3
    2 1
得6
经验分享 程序员 微信小程序 职场和发展