GNU Radio 3.6.5 C++ API
|
channel simulator More...
#include <channel_model.h>
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_complex > | taps () 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. |
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..
virtual double gr::filter::channel_model::frequency_offset | ( | ) | const [pure virtual] |
Implemented in gr::filter::channel_model_impl.
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.
noise_voltage | The AWGN noise level as a voltage (to be calculated externally to meet, say, a desired SNR). |
frequency_offset | The normalized frequency offset. 0 is no offset; 0.25 would be, for a digital modem, one quarter of the symbol rate. |
epsilon | The sample timing offset to emulate the different rates between the sample clocks of the transmitter and receiver. 1.0 is no difference. |
taps | Taps of a FIR filter to emulate a multipath delay profile. |
noise_seed | A random number generator seed for the noise source. |
virtual double gr::filter::channel_model::noise_voltage | ( | ) | const [pure virtual] |
Implemented in gr::filter::channel_model_impl.
virtual void gr::filter::channel_model::set_frequency_offset | ( | double | frequency_offset | ) | [pure virtual] |
Implemented in gr::filter::channel_model_impl.
virtual void gr::filter::channel_model::set_noise_voltage | ( | double | noise_voltage | ) | [pure virtual] |
Implemented in gr::filter::channel_model_impl.
virtual void gr::filter::channel_model::set_taps | ( | const std::vector< gr_complex > & | taps | ) | [pure virtual] |
Implemented in gr::filter::channel_model_impl.
virtual void gr::filter::channel_model::set_timing_offset | ( | double | epsilon | ) | [pure virtual] |
Implemented in gr::filter::channel_model_impl.
virtual std::vector<gr_complex> gr::filter::channel_model::taps | ( | ) | const [pure virtual] |
Implemented in gr::filter::channel_model_impl.
virtual double gr::filter::channel_model::timing_offset | ( | ) | const [pure virtual] |
Implemented in gr::filter::channel_model_impl.