Correlation Estimator

From GNU Radio
Revision as of 11:54, 31 January 2022 by MubashiraZaman (talk | contribs)
Jump to navigation Jump to search

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 [1]

Test corr est fg.png

Example Output

Test corr est out.png

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