Vector.CrossCorr Method

function CrossCorr(const Vec1: TVec; const Vec2: TVec; HiLag: Integer; LoLag: Integer): TVec;

The cross-correlation of two vectors.

#NameTypeDescription
1Vec1TVec
2Vec2TVec
3HiLagInteger
4LoLagInteger

Result: stored in self (calling object), returns self for chaining

Remarks:

Calculate the cross-correlation of two vectors Vec1 and Vec2. The parameter HiLag indicates the top of the range of lags at which the correlation estimates should be computed. The parameter LoLag indicates the bottom of the range of lags at which the correlation estimates should be computed. The results are stored in calling vector. The resulting elements are defined by the equation:

V[n]=k=0Vec1.Length1Vec1[k]Vec2[n+k+LoLag],0nHiLagLoLagVec2[k]={Vec2[k]0k<Vec2.Length0otherwise\begin{aligned} \text{V}[n] &= \sum _{k=0} ^{\text{Vec1.Length}-1} \text{Vec1}[k] \text{Vec2}[n+k+\text{LoLag}], \quad 0\leq n \leq \text{HiLag}-\text{LoLag} \\ \text{Vec2}[k] &= \begin{cases} \text{Vec2}[k] & 0\leq k < \text{Vec2.Length}\\ 0 & \text{otherwise}\end{cases} \end{aligned}
Examples
var a,b,c: Vector;
begin
    a.SetIt(False,[1,-2,3,4]);
    b.SetIt(False,[2,-2,3,4]);
    c.CrossCorr(a,b,2,2);
end;
See Also: Vector.AutoCorrBiased, Vector.AutoCorrNormal, Vector.AutoCorrUnBiased