2.74 Find the cross correlation between two sequences

Problem: Given \begin {align*} A & =[0,0,2,-1,3,7,1,2,-3,0,0]\\ B & =[0,0,1,-1,2,-2,4,1,-2,5,0,0] \end {align*}

Notice that the output sequence generated by Mathematica and Matlab are reversed with respect to each others.

Also, MATLAB uses the length \(2N-1\) as the length of cross correlation sequence, which in this example is 23 because \(N\) is taken as the length of the larger of the 2 sequences if they are not of equal length which is the case in this example.

In Mathematica, the length of the cross correlation sequence was 22, which is \(2N\).

Mathematica

Clear["Global`*"]; 
 
a={0,0,2,-1,3,7,1,2,-3,0,0}; 
b={0,0,1,-1,2,-2,4,1,-2,5,0,0}; 
c=Reverse[ListCorrelate[a,b,{-1,1},0]]
 

Out[31]= {0, 
          0, 
          0, 
          0, 
          10, 
          -9, 
          19, 
          36, 
          -14, 
          33, 
          0, 
          7, 
          13, 
          -18, 
          16, 
          -7, 
          5, 
          -3, 
          0, 
          0, 
          0, 
          0}
 

 

Matlab

In MATLAB use the xcross in the signal processing toolbox

clear all; close all; 
A=[0,0,2,-1,3,7,1,2,-3,0,0]; 
B=[0,0,1,-1,2,-2,4,1,-2,5,0,0]; 
C=xcorr(A,B); 
format long 
C'
 

ans = 
   0.000000000000003 
   0.000000000000002 
  -0.000000000000002 
                   0 
   9.999999999999998 
  -9.000000000000002 
  19.000000000000000 
  36.000000000000000 
 -14.000000000000000 
  33.000000000000000 
  -0.000000000000002 
   6.999999999999998 
  13.000000000000000 
 -18.000000000000000 
  16.000000000000004 
  -7.000000000000000 
   4.999999999999999 
  -2.999999999999998 
  -0.000000000000000 
   0.000000000000001 
   0.000000000000002 
  -0.000000000000004 
                   0
 

 

Maple

a:=Array([0,0,2,-1,3,7,1,2,-3,0,0]); 
b:=Array([0,0,1,-1,2,-2,4,1,-2,5,0,0]); 
SignalProcessing:-CrossCorrelation(a,b);
 

\[ [ 7.0, 0.0, 33.0,- 14.0, 36.0, 19.0,- 9.0, 10.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0] \]

Not able to find out now why Maple result is different. May be definition used is different, no time now to find out.