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