GNU Radio Manual and C++ API Reference  3.10.9.1
The Free & Open Software Radio Ecosystem

Classes

class  gr::analog::pll_carriertracking_cc
 Implements a PLL which locks to the input frequency and outputs the input signal mixed with that carrier. More...
 
class  gr::analog::pll_freqdet_cf
 Implements a PLL which locks to the input frequency and outputs an estimate of that frequency. Useful for FM Demod. More...
 
class  gr::analog::pll_refout_cc
 Implements a PLL which locks to the input frequency and outputs a carrier. More...
 
class  gr::digital::clock_recovery_mm_cc
 Mueller and Müller (M&M) based clock recovery block with complex input, complex output. More...
 
class  gr::digital::clock_recovery_mm_ff
 Mueller and Müller (M&M) based clock recovery block with float input, float output. More...
 
class  gr::digital::costas_loop_cc
 A Costas loop carrier recovery module. More...
 
class  gr::digital::fll_band_edge_cc
 Frequency Lock Loop using band-edge filters. More...
 
class  gr::digital::msk_timing_recovery_cc
 MSK/GMSK timing recovery. More...
 
class  gr::digital::ofdm_chanest_vcvc
 
class  gr::digital::ofdm_sync_sc_cfb
 Schmidl & Cox synchronisation for OFDM. More...
 
class  gr::digital::pfb_clock_sync_ccf
 Timing synchronizer using polyphase filterbanks. More...
 
class  gr::digital::pfb_clock_sync_fff
 Timing synchronizer using polyphase filterbanks. More...
 
class  gr::digital::pn_correlator_cc
 PN code sequential search correlator. More...
 
class  gr::digital::symbol_sync_cc
 Symbol Synchronizer block with complex input, complex output. More...
 
class  gr::digital::symbol_sync_ff
 Symbol Synchronizer block with float input, float output. More...
 

Enumerations

enum  gr::digital::tm_type { gr::digital::THRESHOLD_DYNAMIC , gr::digital::THRESHOLD_ABSOLUTE }
 Correlate stream with a pre-defined sequence and estimate peak. More...
 

Detailed Description

Enumeration Type Documentation

◆ tm_type

Correlate stream with a pre-defined sequence and estimate peak.

Input:

  • Stream of complex samples.

Output:

  • Output stream that just passes the input complex samples
  • tag 'phase_est': estimate of phase offset
  • tag 'time_est': estimate of symbol timing offset
  • tag 'corr_est': the correlation value of the estimates
  • tag 'amp_est': 1 over the estimated amplitude
  • tag 'corr_start': the start sample of the correlation and the value
  • Optional 2nd output stream providing the advanced correlator output

This block is designed to search for a sync word by correlation and uses the results of the correlation to get a time and phase offset estimate. These estimates are passed downstream as stream tags for use by follow-on synchronization blocks.

The sync word is provided as a set of symbols after being filtered by a baseband matched filter.

The phase_est tag can be used by downstream blocks to adjust their phase estimator/correction loops, and is currently implemented by the gr::digital::costas_loop_cc block.

The time_est tag can be used to adjust the sampling timing estimate of any downstream synchronization blocks and is currently implemented by the gr::digital::pfb_clock_sync_ccf block.

The caller must provide a "time_est" and "phase_est" tag marking delay from the start of the correlated signal segment, in order to mark the proper point in the sync word for downstream synchronization blocks. Generally this block cannot know where the actual sync word symbols are located relative to "corr_start", given that some modulations have pulses with intentional ISI. The user should manually examine the primary output and the "corr_start" tag position to determine the required tag delay settings for the particular modulation, sync word, and downstream blocks used.

For a discussion of the properties of complex correlations, with respect to signal processing, see: Marple, Jr., S. L., "Estimating Group Delay and Phase Delay via Discrete-Time 'Analytic' Cross-Correlation, IEEE_Transcations on_Signal_Processing, Volume 47, No. 9, September 1999

Enumerator
THRESHOLD_DYNAMIC 
THRESHOLD_ABSOLUTE