Envelope = np.abs(PresentSample)

Delta = PresentSample * np.conj(PreviousSample)

PhaseWeights = np.imag(Delta)

Weights = np.abs(PhaseWeights) * Envelope

DeltaDist = np.dot(Weights, np.angle(Delta))

DeltaDist *= 2.5 / (2.0 * pi * sum(Weights))

Present and prev samples are 1D array consisting of iq samples. For each processing . Is Delta is cross correlation ? Please give explanation for rest of the codes Why multiply the DetltaDist ?