Correlation Estimator

Correlates the input signal against the provided vector of samples and outputs a phase and symbol timing estimate.

It adds the tags of "corr_start", "phase_est", "time_est", "corr_est", and "amp_est".

Parameters
(R): Run-time adjustable


 * Symbols
 * Set of symbols to correlate against (e.g., a sync word).


 * Samples per Symbol
 * Samples per symbol


 * Tag Marking Delay (R)
 * Tag marking delay in samples after the corr_start tag


 * Threshold (R)
 * Threshold of correlator: The meaning of this parameter depends on the threshold method used. For DYNAMIC threshold method, this parameter is actually 1 - Probability of False Alarm (under some inaccurate assumptions). The code performs the check |r[k]|^2 + |r[k+1]|^2 <> -log(1-threshold)*2*E, where r[k] is the correlated incoming signal, and E is the average sample energy of the correlated signal. For ABSOLUTE threshold method, this parameter sets the threshold to a fraction of the maximum squared autocorrelation. The code performs the check |r[k]|^2 <> threshold * R^2, where R is the precomputed max autocorrelation of the given sync word. Default is 0.9.


 * Threshold Method
 * Method for computing threshold. Options: [Absolute, Dynamic]

Example Flowgraph
This flowgraph is extracted from



Source Files

 * C++ files
 * corr_est_cc_impl.cc


 * Header files
 * corr_est_cc_impl.h


 * Public header files
 * corr_est_cc.h


 * Block definition
 * digital_corr_est_cc.block.yml