GNU Radio's DVBS2RX Package
gr::dvbs2rx::plsync_cc_impl Class Reference

#include <plsync_cc_impl.h>

Inheritance diagram for gr::dvbs2rx::plsync_cc_impl:

Public Member Functions

 plsync_cc_impl (int gold_code, int freq_est_period, double sps, int debug_level, bool acm_vcm, bool multistream, uint64_t pls_filter_lo, uint64_t pls_filter_hi)
 
 ~plsync_cc_impl ()
 
void forecast (int noutput_items, gr_vector_int &ninput_items_required)
 
int general_work (int noutput_items, gr_vector_int &ninput_items, gr_vector_const_void_star &input_items, gr_vector_void_star &output_items)
 
float get_freq_offset ()
 Get the cumulative frequency offset.
 
bool get_coarse_freq_corr_state ()
 Get the coarse frequency offset correction state.
 
bool get_locked ()
 Get the current lock status.
 
uint64_t get_sof_count ()
 Get the current count of detected start-of-frame (SOF) instants.
 
uint64_t get_frame_count ()
 Get the current count of processed (accepted) PLFRAMEs.
 
uint64_t get_rejected_count ()
 Get the current count of rejected PLFRAMEs.
 
uint64_t get_dummy_count ()
 Get the current count of received dummy PLFRAMEs.
 
std::chrono::system_clock::time_point get_lock_time ()
 Get the timestamp of the last frame synchronization lock.
 
virtual float get_freq_offset ()=0
 Get the current frequency offset estimate.
 
virtual bool get_coarse_freq_corr_state ()=0
 Get the coarse frequency offset correction state.
 
virtual bool get_locked ()=0
 Get the current lock status.
 
virtual uint64_t get_sof_count ()=0
 Get the current count of detected start-of-frame (SOF) instants.
 
virtual uint64_t get_frame_count ()=0
 Get the current count of processed (accepted) PLFRAMEs.
 
virtual uint64_t get_rejected_count ()=0
 Get the current count of rejected PLFRAMEs.
 
virtual uint64_t get_dummy_count ()=0
 Get the current count of received dummy PLFRAMEs.
 
virtual std::chrono::system_clock::time_point get_lock_time ()=0
 Get the timestamp of the last frame synchronization lock.
 

Additional Inherited Members

- Public Types inherited from gr::dvbs2rx::plsync_cc
typedef std::shared_ptr< plsync_ccsptr
 
- Static Public Member Functions inherited from gr::dvbs2rx::plsync_cc
static sptr make (int gold_code, int freq_est_period, double sps, int debug_level, bool acm_vcm, bool multistream, uint64_t pls_filter_lo, uint64_t pls_filter_hi)
 Make physical layer deframer block.
 

Constructor & Destructor Documentation

◆ plsync_cc_impl()

gr::dvbs2rx::plsync_cc_impl::plsync_cc_impl ( int  gold_code,
int  freq_est_period,
double  sps,
int  debug_level,
bool  acm_vcm,
bool  multistream,
uint64_t  pls_filter_lo,
uint64_t  pls_filter_hi 
)

◆ ~plsync_cc_impl()

gr::dvbs2rx::plsync_cc_impl::~plsync_cc_impl ( )

Member Function Documentation

◆ forecast()

void gr::dvbs2rx::plsync_cc_impl::forecast ( int  noutput_items,
gr_vector_int &  ninput_items_required 
)

◆ general_work()

int gr::dvbs2rx::plsync_cc_impl::general_work ( int  noutput_items,
gr_vector_int &  ninput_items,
gr_vector_const_void_star &  input_items,
gr_vector_void_star &  output_items 
)

◆ get_coarse_freq_corr_state()

bool gr::dvbs2rx::plsync_cc_impl::get_coarse_freq_corr_state ( )
inlinevirtual

Get the coarse frequency offset correction state.

Returns
(bool) True when the frequency offset is coarsely corrected.

Implements gr::dvbs2rx::plsync_cc.

References gr::dvbs2rx::freq_sync::is_coarse_corrected().

◆ get_dummy_count()

uint64_t gr::dvbs2rx::plsync_cc_impl::get_dummy_count ( )
inlinevirtual

Get the current count of received dummy PLFRAMEs.

Returns
(uint64_t) Dummy frame count.

Implements gr::dvbs2rx::plsync_cc.

◆ get_frame_count()

uint64_t gr::dvbs2rx::plsync_cc_impl::get_frame_count ( )
inlinevirtual

Get the current count of processed (accepted) PLFRAMEs.

A PLFRAME is processed after frame timing lock and after being accepted by the PLS filter, in which case its XFECFRAME is output to the next block. Frames rejected by the PLS filter and dummy frames are not included in this count.

Returns
(uint64_t) Processed frame count.

Implements gr::dvbs2rx::plsync_cc.

◆ get_freq_offset()

float gr::dvbs2rx::plsync_cc_impl::get_freq_offset ( )
inlinevirtual

Get the cumulative frequency offset.

When an external rotator is used to handle the frequency corrections, eventually the PL Sync block estimates low frequency offsets once the external frequency corrections start to take effect. This function returns not the last frequency offset estimate but the actual cumulative frequency offset configured on the external rotator.

Returns
(float) Cumulative frequency offset.

Implements gr::dvbs2rx::plsync_cc.

◆ get_lock_time()

std::chrono::system_clock::time_point gr::dvbs2rx::plsync_cc_impl::get_lock_time ( )
inlinevirtual

Get the timestamp of the last frame synchronization lock.

Returns
(std::chrono::system_clock::time_point) Last frame lock timestamp in UTC.
Note
The timestamp is only valid after the first frame lock.

Implements gr::dvbs2rx::plsync_cc.

References gr::dvbs2rx::frame_sync::get_lock_time().

◆ get_locked()

bool gr::dvbs2rx::plsync_cc_impl::get_locked ( )
inlinevirtual

Get the current lock status.

Returns
(bool) True when the frame synchronizer is locked.

Implements gr::dvbs2rx::plsync_cc.

◆ get_rejected_count()

uint64_t gr::dvbs2rx::plsync_cc_impl::get_rejected_count ( )
inlinevirtual

Get the current count of rejected PLFRAMEs.

Returns
(uint64_t) Rejected frame count.

Implements gr::dvbs2rx::plsync_cc.

◆ get_sof_count()

uint64_t gr::dvbs2rx::plsync_cc_impl::get_sof_count ( )
inlinevirtual

Get the current count of detected start-of-frame (SOF) instants.

This count includes all detected SOFs, including false positives. Note that detecting a SOF does not mean that instant will lead to a processed frame. Frames are only processed after frame timing lock, which requires two consecutive SOFs detected with the correct interval between them. Hence, the SOF count is always greater than or equal to the processed frame count.

Returns
(uint64_t) Detected SOF count.

Implements gr::dvbs2rx::plsync_cc.


The documentation for this class was generated from the following file: