GNU Radio 3.6.2 C++ API
|
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>
Public Types | |
typedef boost::shared_ptr < channel_model > | sptr |
![]() | |
typedef gr_basic_block_sptr | opaque_self |
typedef for object returned from self(). |
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 |
![]() | |
virtual | ~gr_hier_block2 () |
opaque_self | self () |
Return an object, representing the current block, which can be passed to connect. | |
void | connect (gr_basic_block_sptr block) |
Add a stand-alone (possibly hierarchical) block to internal graph. | |
void | connect (gr_basic_block_sptr src, int src_port, gr_basic_block_sptr dst, int dst_port) |
Add gr-blocks or hierarchical blocks to internal graph and wire together. | |
void | disconnect (gr_basic_block_sptr block) |
Remove a gr-block or hierarchical block from the internal flowgraph. | |
void | disconnect (gr_basic_block_sptr src, int src_port, gr_basic_block_sptr dst, int dst_port) |
Disconnect a pair of gr-blocks or hierarchical blocks in internal flowgraph. | |
void | disconnect_all () |
Disconnect all connections in the internal flowgraph. | |
virtual void | lock () |
virtual void | unlock () |
gr_flat_flowgraph_sptr | flatten () const |
gr_hier_block2_sptr | to_hier_block2 () |
![]() | |
virtual | ~gr_basic_block () |
long | unique_id () const |
std::string | name () const |
gr_io_signature_sptr | input_signature () const |
gr_io_signature_sptr | output_signature () const |
gr_basic_block_sptr | to_basic_block () |
virtual bool | check_topology (int ninputs, int noutputs) |
Confirm that ninputs and noutputs is an acceptable combination. | |
template<typename T > | |
void | set_msg_handler (T msg_handler) |
Set the callback that is fired when messages are available. | |
![]() | |
gr_msg_accepter () | |
~gr_msg_accepter () | |
void | post (pmt::pmt_t msg) |
send msg to msg_accepter | |
![]() | |
msg_accepter () | |
virtual | ~msg_accepter () |
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=3021) |
Build the channel simulator. |
Additional Inherited Members | |
![]() | |
enum | vcolor { WHITE, GREY, BLACK } |
![]() | |
gr_hier_block2 (void) | |
gr_hier_block2 (const std::string &name, gr_io_signature_sptr input_signature, gr_io_signature_sptr output_signature) | |
![]() | |
std::string | d_name |
gr_io_signature_sptr | d_input_signature |
gr_io_signature_sptr | d_output_signature |
long | d_unique_id |
vcolor | d_color |
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..
|
pure virtual |
Implemented in gr::filter::channel_model_impl.
|
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. |
|
pure virtual |
Implemented in gr::filter::channel_model_impl.
|
pure virtual |
Implemented in gr::filter::channel_model_impl.
|
pure virtual |
Implemented in gr::filter::channel_model_impl.
|
pure virtual |
Implemented in gr::filter::channel_model_impl.
|
pure virtual |
Implemented in gr::filter::channel_model_impl.
|
pure virtual |
Implemented in gr::filter::channel_model_impl.
|
pure virtual |
Implemented in gr::filter::channel_model_impl.