Module |
|
Header |
/Engine/Source/Runtime/SignalProcessing/Public/DSP/BlockCorrelator.h |
Include |
#include "DSP/BlockCorrelator.h" |
Source |
/Engine/Source/Runtime/SignalProcessing/Private/BlockCorrelator.cpp |
void CrossCorrelate
(
const AlignedFloatBuffer & InputA,
const AlignedFloatBuffer & InputB,
AlignedFloatBuffer & Output
)
Cross correlate two input signals.
The Output array is filled with the cross correlation between InputA and InputB. Care should be taken when interpreting the output as the elements are ordered so that the cross correlation value of zero lag is in the first element.
CrossCorr[k] = Sum_n(InputA[n] * InputB[n + k])
Then for M = `GetNumInputValues()_ the Output array contains: Output = [CrossCorr[0], CrossCorr[1], ..., CrossCorr[M-1], CrossCorr[M], CrossCorr[-M + 1], CrossCorr[-M + 2], ..., CrossCorr[-2], CrossCorr[-1]]
Parameter |
Description |
---|---|
InputA |
First input block with GetNumInputValues() elements. |
InputB |
Second input block with GetNumInputValues() elements. |
Output |
Output block with GetNumOutputValues() elements. |