GNU Radio 3.6.4.2 C++ API
gr::filter::channel_model Class Referenceabstract

channel simulatorThis block implements a basic channel model simulator that can be used to help evaluate, design, and test various signals, waveforms, and algorithms. This model allows the user to set the voltage of an AWGN noise source, a (normalized) frequency offset, a sample timing offset, and a noise seed to randomize the AWGN noise source. More...

#include <channel_model.h>

Inheritance diagram for gr::filter::channel_model:
gr_hier_block2 gr::filter::channel_model_impl

Public Types

typedef boost::shared_ptr
< channel_model
sptr
 

Public Member Functions

virtual void set_noise_voltage (double noise_voltage)=0
 
virtual void set_frequency_offset (double frequency_offset)=0
 
virtual void set_taps (const std::vector< gr_complex > &taps)=0
 
virtual void set_timing_offset (double epsilon)=0
 
virtual double noise_voltage () const =0
 
virtual double frequency_offset () const =0
 
virtual std::vector< gr_complextaps () const =0
 
virtual double timing_offset () const =0
 
- Public Member Functions inherited from gr_hier_block2
 gr_hier_block2 (void)
 
 gr_hier_block2 (const std::string &name, gr_io_signature_sptr input_signature, gr_io_signature_sptr output_signature)
 
long unique_id (void) const
 
std::string name (void) const
 
const gr_hier_block2self (void) const
 
gr_io_signature_sptr input_signature (void) const
 
gr_io_signature_sptr output_signature (void) const
 
void set_input_signature (gr_io_signature_sptr sig)
 
void set_output_signature (gr_io_signature_sptr sig)
 
void lock (void)
 
void unlock (void)
 

Static Public Member Functions

static sptr make (double noise_voltage=0.0, double frequency_offset=0.0, double epsilon=1.0, const std::vector< gr_complex > &taps=std::vector< gr_complex >(1, 1), double noise_seed=0)
 Build the channel simulator. More...
 

Additional Inherited Members

- Public Attributes inherited from gr_hier_block2
long _unique_id
 
std::string _name
 
gr_io_signature_sptr _in_sig
 
gr_io_signature_sptr _out_sig
 

Detailed Description

channel simulator

This block implements a basic channel model simulator that can be used to help evaluate, design, and test various signals, waveforms, and algorithms. This model allows the user to set the voltage of an AWGN noise source, a (normalized) frequency offset, a sample timing offset, and a noise seed to randomize the AWGN noise source.

Multipath can be approximated in this model by using a FIR filter representation of a multipath delay profile..

Member Typedef Documentation

Member Function Documentation

virtual double gr::filter::channel_model::frequency_offset ( ) const
pure virtual
static sptr gr::filter::channel_model::make ( double  noise_voltage = 0.0,
double  frequency_offset = 0.0,
double  epsilon = 1.0,
const std::vector< gr_complex > &  taps = std::vector< gr_complex >(1, 1),
double  noise_seed = 0 
)
static

Build the channel simulator.

Parameters
noise_voltageThe AWGN noise level as a voltage (to be calculated externally to meet, say, a desired SNR).
frequency_offsetThe normalized frequency offset. 0 is no offset; 0.25 would be, for a digital modem, one quarter of the symbol rate.
epsilonThe sample timing offset to emulate the different rates between the sample clocks of the transmitter and receiver. 1.0 is no difference.
tapsTaps of a FIR filter to emulate a multipath delay profile.
noise_seedA random number generator seed for the noise source.
virtual double gr::filter::channel_model::noise_voltage ( ) const
pure virtual
virtual void gr::filter::channel_model::set_frequency_offset ( double  frequency_offset)
pure virtual
virtual void gr::filter::channel_model::set_noise_voltage ( double  noise_voltage)
pure virtual
virtual void gr::filter::channel_model::set_taps ( const std::vector< gr_complex > &  taps)
pure virtual
virtual void gr::filter::channel_model::set_timing_offset ( double  epsilon)
pure virtual
virtual std::vector<gr_complex> gr::filter::channel_model::taps ( ) const
pure virtual
virtual double gr::filter::channel_model::timing_offset ( ) const
pure virtual

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