Dynamic Channel Model

From GNU Radio
Revision as of 19:27, 16 August 2022 by Marcindsp (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

The dynamic channel model is a hier block consisting of the following effects:

  • Dynamic Frequency Selective Fading Channel
  • Dynamic Center Frequency Offset Model
  • Dynamic Sample Rate Offset Model
  • Additive White Gaussian Noise

The desired power delay profile and max doppler frequency may be provided to achieve the desired Ricean or Rayleigh fading scenario. For center frequency and sample rate offset models, a gaussian random walk process is conducted for each. The single sample step variance and maximum deviation for these two processes is specified and may be modified to simulate various desired stability effects. Lastly AWGN is added to simulate a typical receiver/thermal noise floor after propagation, and the variance may be modified here as desired.

This model allows the user to set up an AWGN noise cource, a random walk process to simulate carrier frequency drift, a random walk process to simulate sample rate offset drive, and a frequency selective fading channel response that is either Rayleigh or Ricean for a user specified power delay profile.

Parameters

(R): Run-time adjustable

samp_rate (R)
Input sample rate in Hz
cfo_std_dev (R)
carrier frequency drift process standard deviation per sample in Hz
cfo_max_dev (R)
maximum carrier frequency offset in Hz
sro_std_dev (R)
sample rate drift process standard deviation per sample in Hz
sro_max_dev (R)
maximum sample rate offset in Hz
noise_amp (R)
Specifies the standard deviation of the AWGN process
N (R)
number of sinusoids used in frequency selective fading simulation
doppler_freq (R)
maximum doppler frequency used in fading simulation in Hz
LOS_model
defines whether the fading model should include a line of site component. LOS->Rician, NLOS->Rayleigh
K
(Only if Rician is chosen above) Rician K-factor, the ratio of specular to diffuse power in the model
noise_seed
A random number generator seed for the noise source.
delays
A list of fractional sample delays making up the power delay profile
mags
A list of magnitudes corresponding to each delay time in the power delay profile
ntaps_mpath
The length of the filter to interpolate the power delay profile over. Delays in the PDP must lie between 0 and ntaps_mpath, fractional delays will be sinc-interpolated only to the width of this filter.

Example Flowgraph

Insert description of flowgraph here, then show a screenshot of the flowgraph and the output if there is an interesting GUI. Currently we have no standard method of uploading the actual flowgraph to the wiki or git repo, unfortunately. The plan is to have an example flowgraph showing how the block might be used, for every block, and the flowgraphs will live in the git repo.

Source Files

C++ files
dynamic_channel_model_impl.cc
Header files
dynamic_channel_model_impl.h
Public header files
dynamic_channel_model.h
Block definition
channels_dynamic_channel_model.block.yml