gnuradio.channels

Blocks for channel models and related functions.

gnuradio.channels.channel_model(double noise_voltage=0.0, double frequency_offset=0.0, double epsilon=1.0, pmt_vector_cfloat taps=std::vector< gr_complex >(1, 1), double noise_seed=0, bool block_tags=False) → channel_model_sptr

Basic 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 seed () to randomize or make reproducable the AWGN noise source.

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

To simulate a channel with time-variant channel, use gr::channels::channel_model2.

Constructor Specific Documentation:

Build the channel simulator.

Parameters:
  • 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.
  • block_tags – If true, tags will not be able to propagate through this block.
channel_model_sptr.frequency_offset(channel_model_sptr self) → double
channel_model_sptr.message_subscribers(channel_model_sptr self, swig_int_ptr which_port) → swig_int_ptr
channel_model_sptr.noise_voltage(channel_model_sptr self) → double
channel_model_sptr.set_frequency_offset(channel_model_sptr self, double frequency_offset)
channel_model_sptr.set_noise_voltage(channel_model_sptr self, double noise_voltage)
channel_model_sptr.set_taps(channel_model_sptr self, pmt_vector_cfloat taps)
channel_model_sptr.set_timing_offset(channel_model_sptr self, double epsilon)
channel_model_sptr.taps(channel_model_sptr self) → pmt_vector_cfloat
channel_model_sptr.timing_offset(channel_model_sptr self) → double
gnuradio.channels.fading_model(unsigned int N, float fDTs=0.01, bool LOS=True, float K=4, int seed=0) → fading_model_sptr

fading simulator

This block implements a basic fading model simulator that can be used to help evaluate, design, and test various signals, waveforms, and algorithms.

Constructor Specific Documentation:

Build the channel simulator.

Parameters:
  • N – The number of sinusiods to use in simulating the channel; 8 is a good value
  • fDTs – normalized maximum Doppler frequency, fD * Ts
  • LOS – include Line-of-Site path? selects between Rayleigh (NLOS) and Rician (LOS) models
  • K – Rician factor (ratio of the specular power to the scattered power)
  • seed – a random number to seed the noise generators
fading_model_sptr.K(fading_model_sptr self) → float
fading_model_sptr.active_thread_priority(fading_model_sptr self) → int
fading_model_sptr.declare_sample_delay(fading_model_sptr self, int which, int delay)

declare_sample_delay(fading_model_sptr self, unsigned int delay)

fading_model_sptr.fDTs(fading_model_sptr self) → float
fading_model_sptr.message_subscribers(fading_model_sptr self, swig_int_ptr which_port) → swig_int_ptr
fading_model_sptr.min_noutput_items(fading_model_sptr self) → int
fading_model_sptr.pc_input_buffers_full_avg(fading_model_sptr self, int which) → float

pc_input_buffers_full_avg(fading_model_sptr self) -> pmt_vector_float

fading_model_sptr.pc_noutput_items_avg(fading_model_sptr self) → float
fading_model_sptr.pc_nproduced_avg(fading_model_sptr self) → float
fading_model_sptr.pc_output_buffers_full_avg(fading_model_sptr self, int which) → float

pc_output_buffers_full_avg(fading_model_sptr self) -> pmt_vector_float

fading_model_sptr.pc_throughput_avg(fading_model_sptr self) → float
fading_model_sptr.pc_work_time_avg(fading_model_sptr self) → float
fading_model_sptr.pc_work_time_total(fading_model_sptr self) → float
fading_model_sptr.sample_delay(fading_model_sptr self, int which) → unsigned int
fading_model_sptr.set_K(fading_model_sptr self, float K)
fading_model_sptr.set_fDTs(fading_model_sptr self, float fDTs)
fading_model_sptr.set_min_noutput_items(fading_model_sptr self, int m)
fading_model_sptr.set_step(fading_model_sptr self, float step)
fading_model_sptr.set_thread_priority(fading_model_sptr self, int priority) → int
fading_model_sptr.step(fading_model_sptr self) → float
fading_model_sptr.thread_priority(fading_model_sptr self) → int

Previous topic

gnuradio.audio

Next topic

gnuradio.comedi

This Page