GNU Radio 3.7.1 C++ API
gr::channels::channel_model Class Reference

channel simulator More...

#include <channel_model.h>

Inheritance diagram for gr::channels::channel_model:

List of all members.

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

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.

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::channels::channel_model::frequency_offset ( ) const [pure virtual]
static sptr gr::channels::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::channels::channel_model::noise_voltage ( ) const [pure virtual]
virtual void gr::channels::channel_model::set_frequency_offset ( double  frequency_offset) [pure virtual]
virtual void gr::channels::channel_model::set_noise_voltage ( double  noise_voltage) [pure virtual]
virtual void gr::channels::channel_model::set_taps ( const std::vector< gr_complex > &  taps) [pure virtual]
virtual void gr::channels::channel_model::set_timing_offset ( double  epsilon) [pure virtual]
virtual std::vector<gr_complex> gr::channels::channel_model::taps ( ) const [pure virtual]
virtual double gr::channels::channel_model::timing_offset ( ) const [pure virtual]

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