GNU Radio 3.6.5 C++ API
|
This block does fine-phase and frequency locking and decision making. More...
#include <digital_constellation_receiver_cb.h>
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) |
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.
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.
constellation | constellation object for generic demodulation |
loop_bw | Loop bandwidth of the Costas Loop (~ 2pi/100) |
fmin | minimum normalized frequency value the loop can achieve |
fmax | maximum normalized frequency value the loop can achieve |
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
noutput_items | number of output items to write on each output stream |
ninput_items | number of input items available on each input stream |
input_items | vector of pointers to the input items, one entry per input stream |
output_items | vector of pointers to the output items, one entry per output stream |
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] |
DIGITAL_API digital_constellation_receiver_cb_sptr digital_make_constellation_receiver_cb | ( | digital_constellation_sptr | constell, |
float | loop_bw, | ||
float | fmin, | ||
float | fmax | ||
) | [friend] |