GNU Radio's SATELLITES Package
gr::satellites::doppler_correction Class Referenceabstract

Performs Doppler correction using a frequency vs. time file. More...

#include <doppler_correction.h>

Inheritance diagram for gr::satellites::doppler_correction:
gr::satellites::doppler_correction_impl

Public Types

typedef boost::shared_ptr< doppler_correctionsptr
 

Public Member Functions

virtual void set_time (double t)=0
 Sets the current time. More...
 
virtual double time ()=0
 Returns the current time. More...
 
virtual double frequency ()=0
 Returns the current frequency in Hz. More...
 

Static Public Member Functions

static sptr make (const char *filename, double samp_rate, double t0)
 Build the Doppler Correction block. More...
 

Detailed Description

Performs Doppler correction using a frequency vs. time file.

The Doppler Correction block uses a text file listing frequency vs. time to perform Doppler correction on its input signal. The same block can be used for Doppler simulation by inverting the frequency values in the input file or by taking the complex conjugate of the output of the block.

The text file should contain lines with a timestamp and a frequency separated by a space. The timestamps are given in seconds, and typically consist of UNIX time. The t0 parameter in the block constructor gives the starting time, which is the timestamp corresponding to the first sample processed by the block. As long as the timestamps in the file and this timestamp are consistent, the block will work correctly. The frequencies are given in Hz.

The block can also use time tags such as those generated by the UHD Source block to update its internal timestamp. In this case the timestamps in the file should use UNIX seconds, since the UHD timestamps also use UNIX seconds. When using UHD time tags, the t0 parameter can be left as 0.

The Doppler correction block interpolates the frequency linearly between each pair of entries in the text file, and generates a correction with continuous phase.

Member Typedef Documentation

◆ sptr

Member Function Documentation

◆ frequency()

virtual double gr::satellites::doppler_correction::frequency ( )
pure virtual

Returns the current frequency in Hz.

Implemented in gr::satellites::doppler_correction_impl.

◆ make()

static sptr gr::satellites::doppler_correction::make ( const char *  filename,
double  samp_rate,
double  t0 
)
static

Build the Doppler Correction block.

Parameters
filenamePath of the text file describing the Doppler data
samp_rateSample rate
t0Timestamp corresponding to the first sample

◆ set_time()

virtual void gr::satellites::doppler_correction::set_time ( double  t)
pure virtual

Sets the current time.

Parameters
tTiemstamp corresponding to the current time.

Implemented in gr::satellites::doppler_correction_impl.

◆ time()

virtual double gr::satellites::doppler_correction::time ( )
pure virtual

Returns the current time.

Implemented in gr::satellites::doppler_correction_impl.


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