GNU Radio 3.7.1 C++ API
gr::analog::pll_carriertracking_cc Class Reference

Implements a PLL which locks to the input frequency and outputs the input signal mixed with that carrier. More...

#include <pll_carriertracking_cc.h>

Inheritance diagram for gr::analog::pll_carriertracking_cc:

List of all members.

Public Types

typedef boost::shared_ptr
< pll_carriertracking_cc
sptr

Public Member Functions

virtual bool lock_detector (void)=0
virtual bool squelch_enable (bool)=0
virtual float set_lock_threshold (float)=0
virtual void set_loop_bandwidth (float bw)=0
 Set the loop bandwidth.
virtual void set_damping_factor (float df)=0
 Set the loop damping factor.
virtual void set_alpha (float alpha)=0
 Set the loop gain alpha.
virtual void set_beta (float beta)=0
 Set the loop gain beta.
virtual void set_frequency (float freq)=0
 Set the control loop's frequency.
virtual void set_phase (float phase)=0
 Set the control loop's phase.
virtual void set_min_freq (float freq)=0
 Set the control loop's minimum frequency.
virtual void set_max_freq (float freq)=0
 Set the control loop's maximum frequency.
virtual float get_loop_bandwidth () const =0
 Returns the loop bandwidth.
virtual float get_damping_factor () const =0
 Returns the loop damping factor.
virtual float get_alpha () const =0
 Returns the loop gain alpha.
virtual float get_beta () const =0
 Returns the loop gain beta.
virtual float get_frequency () const =0
 Get the control loop's frequency estimate.
virtual float get_phase () const =0
 Get the control loop's phase estimate.
virtual float get_min_freq () const =0
 Get the control loop's minimum frequency.
virtual float get_max_freq () const =0
 Get the control loop's maximum frequency.

Static Public Member Functions

static sptr make (float loop_bw, float max_freq, float min_freq)

Detailed Description

Implements a PLL which locks to the input frequency and outputs the input signal mixed with that carrier.

Input stream 0: complex Output stream 0: complex

This PLL locks onto a [possibly noisy] reference carrier on the input and outputs that signal, downconverted to DC

All settings max_freq and min_freq are in terms of radians per sample, NOT HERTZ. The loop bandwidth determins the lock range and should be set around pi/200 -- 2pi/100.

See also:
pll_freqdet_cf, pll_carriertracking_cc

Member Typedef Documentation


Member Function Documentation

virtual float gr::analog::pll_carriertracking_cc::get_alpha ( ) const [pure virtual]

Returns the loop gain alpha.

Reimplemented from gr::blocks::control_loop.

virtual float gr::analog::pll_carriertracking_cc::get_beta ( ) const [pure virtual]

Returns the loop gain beta.

Reimplemented from gr::blocks::control_loop.

virtual float gr::analog::pll_carriertracking_cc::get_damping_factor ( ) const [pure virtual]

Returns the loop damping factor.

Reimplemented from gr::blocks::control_loop.

virtual float gr::analog::pll_carriertracking_cc::get_frequency ( ) const [pure virtual]

Get the control loop's frequency estimate.

Reimplemented from gr::blocks::control_loop.

virtual float gr::analog::pll_carriertracking_cc::get_loop_bandwidth ( ) const [pure virtual]

Returns the loop bandwidth.

Reimplemented from gr::blocks::control_loop.

virtual float gr::analog::pll_carriertracking_cc::get_max_freq ( ) const [pure virtual]

Get the control loop's maximum frequency.

Reimplemented from gr::blocks::control_loop.

virtual float gr::analog::pll_carriertracking_cc::get_min_freq ( ) const [pure virtual]

Get the control loop's minimum frequency.

Reimplemented from gr::blocks::control_loop.

virtual float gr::analog::pll_carriertracking_cc::get_phase ( ) const [pure virtual]

Get the control loop's phase estimate.

Reimplemented from gr::blocks::control_loop.

static sptr gr::analog::pll_carriertracking_cc::make ( float  loop_bw,
float  max_freq,
float  min_freq 
) [static]
virtual void gr::analog::pll_carriertracking_cc::set_alpha ( float  alpha) [pure virtual]

Set the loop gain alpha.

Set's the loop filter's alpha gain parameter.

This value should really only be set by adjusting the loop bandwidth and damping factor.

Parameters:
alpha(float) new alpha gain

Reimplemented from gr::blocks::control_loop.

virtual void gr::analog::pll_carriertracking_cc::set_beta ( float  beta) [pure virtual]

Set the loop gain beta.

Set's the loop filter's beta gain parameter.

This value should really only be set by adjusting the loop bandwidth and damping factor.

Parameters:
beta(float) new beta gain

Reimplemented from gr::blocks::control_loop.

virtual void gr::analog::pll_carriertracking_cc::set_damping_factor ( float  df) [pure virtual]

Set the loop damping factor.

Set the loop filter's damping factor to df. The damping factor should be sqrt(2)/2.0 for critically damped systems. Set it to anything else only if you know what you are doing. It must be a number between 0 and 1.

When a new damping factor is set, the gains, alpha and beta, of the loop are recalculated by a call to update_gains().

Parameters:
df(float) new damping factor

Reimplemented from gr::blocks::control_loop.

virtual void gr::analog::pll_carriertracking_cc::set_frequency ( float  freq) [pure virtual]

Set the control loop's frequency.

Set's the control loop's frequency. While this is normally updated by the inner loop of the algorithm, it could be useful to manually initialize, set, or reset this under certain circumstances.

Parameters:
freq(float) new frequency

Reimplemented from gr::blocks::control_loop.

virtual float gr::analog::pll_carriertracking_cc::set_lock_threshold ( float  ) [pure virtual]
virtual void gr::analog::pll_carriertracking_cc::set_loop_bandwidth ( float  bw) [pure virtual]

Set the loop bandwidth.

Set the loop filter's bandwidth to bw. This should be between 2*pi/200 and 2*pi/100 (in rads/samp). It must also be a positive number.

When a new damping factor is set, the gains, alpha and beta, of the loop are recalculated by a call to update_gains().

Parameters:
bw(float) new bandwidth

Reimplemented from gr::blocks::control_loop.

virtual void gr::analog::pll_carriertracking_cc::set_max_freq ( float  freq) [pure virtual]

Set the control loop's maximum frequency.

Set the maximum frequency the control loop can track.

Parameters:
freq(float) new max frequency

Reimplemented from gr::blocks::control_loop.

virtual void gr::analog::pll_carriertracking_cc::set_min_freq ( float  freq) [pure virtual]

Set the control loop's minimum frequency.

Set the minimum frequency the control loop can track.

Parameters:
freq(float) new min frequency

Reimplemented from gr::blocks::control_loop.

virtual void gr::analog::pll_carriertracking_cc::set_phase ( float  phase) [pure virtual]

Set the control loop's phase.

Set's the control loop's phase. While this is normally updated by the inner loop of the algorithm, it could be useful to manually initialize, set, or reset this under certain circumstances.

Parameters:
phase(float) new phase

Reimplemented from gr::blocks::control_loop.


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