GNU Radio 3.6.5 C++ API

digital_constellation_receiver_cb Class Reference

This block does fine-phase and frequency locking and decision making. More...

#include <digital_constellation_receiver_cb.h>

Inheritance diagram for digital_constellation_receiver_cb:
gr_block gri_control_loop gr_basic_block gr_msg_accepter gruel::msg_accepter

List of all members.

Public Member Functions

int general_work (int noutput_items, gr_vector_int &ninput_items, gr_vector_const_void_star &input_items, gr_vector_void_star &output_items)
 compute output items from input items

Protected Member Functions

 digital_constellation_receiver_cb (digital_constellation_sptr constellation, float loop_bw, float fmin, float fmax)
 Constructor to synchronize incoming M-PSK symbols.
void phase_error_tracking (float phase_error)

Friends

DIGITAL_API
digital_constellation_receiver_cb_sptr 
digital_make_constellation_receiver_cb (digital_constellation_sptr constell, float loop_bw, float fmin, float fmax)

Detailed Description

This block does fine-phase and frequency locking and decision making.

The phase and frequency synchronization are based on a Costas loop that finds the error of the incoming signal point compared to its nearest constellation point. The frequency and phase of the NCO are updated according to this error.

The decicision making itself is performed by the appropriate method of the passed constellation object.


Constructor & Destructor Documentation

digital_constellation_receiver_cb::digital_constellation_receiver_cb ( digital_constellation_sptr  constellation,
float  loop_bw,
float  fmin,
float  fmax 
) [protected]

Constructor to synchronize incoming M-PSK symbols.

Parameters:
constellationconstellation object for generic demodulation
loop_bwLoop bandwidth of the Costas Loop (~ 2pi/100)
fminminimum normalized frequency value the loop can achieve
fmaxmaximum normalized frequency value the loop can achieve

Member Function Documentation

int digital_constellation_receiver_cb::general_work ( int  noutput_items,
gr_vector_int ninput_items,
gr_vector_const_void_star input_items,
gr_vector_void_star output_items 
) [virtual]

compute output items from input items

Parameters:
noutput_itemsnumber of output items to write on each output stream
ninput_itemsnumber of input items available on each input stream
input_itemsvector of pointers to the input items, one entry per input stream
output_itemsvector of pointers to the output items, one entry per output stream
Returns:
number of items actually written to each output stream, or -1 on EOF. It is OK to return a value less than noutput_items. -1 <= return value <= noutput_items

general_work must call consume or consume_each to indicate how many items were consumed on each input stream.

Reimplemented from gr_block.

void digital_constellation_receiver_cb::phase_error_tracking ( float  phase_error) [protected]

Friends And Related Function Documentation

DIGITAL_API digital_constellation_receiver_cb_sptr digital_make_constellation_receiver_cb ( digital_constellation_sptr  constell,
float  loop_bw,
float  fmin,
float  fmax 
) [friend]

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