GNU Radio 3.6.5 C++ API

digital_costas_loop_cc Class Reference

A Costas loop carrier recovery module. More...

#include <digital_costas_loop_cc.h>

Inheritance diagram for digital_costas_loop_cc:
gr_sync_block gri_control_loop gr_block gr_basic_block gr_msg_accepter gruel::msg_accepter

List of all members.

Public Member Functions

int work (int noutput_items, gr_vector_const_void_star &input_items, gr_vector_void_star &output_items)
 just like gr_block::general_work, only this arranges to call consume_each for you


digital_make_costas_loop_cc (float loop_bw, int order) throw (std::invalid_argument)

Detailed Description

A Costas loop carrier recovery module.

The Costas loop locks to the center frequency of a signal and downconverts it to baseband. The second (order=2) order loop is used for BPSK where the real part of the output signal is the baseband BPSK signal and the imaginary part is the error signal. When order=4, it can be used for quadrature modulations where both I and Q (real and imaginary) are outputted.

More details can be found online:

J. Feigin, "Practical Costas loop design: Designing a simple and inexpensive BPSK Costas loop carrier recovery circuit," RF signal processing, pp. 20-36, 2002.

Member Function Documentation

int digital_costas_loop_cc::work ( int  noutput_items,
gr_vector_const_void_star input_items,
gr_vector_void_star output_items 
) [virtual]

just like gr_block::general_work, only this arranges to call consume_each for you

The user must override work to define the signal processing code

Implements gr_sync_block.

Friends And Related Function Documentation

DIGITAL_API digital_costas_loop_cc_sptr digital_make_costas_loop_cc ( float  loop_bw,
int  order 
) throw (std::invalid_argument) [friend]

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