Channel Models
Additional channel models that were implemented to further explore jammer properties.
- class pyjama.channel_models.MultiTapRayleighBlockFading(num_rx, num_rx_ant, num_tx, num_tx_ant, num_paths, dtype=tf.complex64)[source]
Generate channel impulse responses corresponding to a Rayleigh block fading channel model.
The channel impulse responses generated are formed of M paths with delays of \(\tau_m = \frac{m}{\mathtt{sampling\_frequency}}, 0 \leq m \leq M-1\), and a normally distributed fading coefficient. All time steps of a batch example share the same channel coefficient (block fading).
This class can be used in conjunction with the classes that simulate the channel response in time or frequency domain, i.e.,
OFDMChannel
,TimeChannel
,GenerateOFDMChannel
,ApplyOFDMChannel
,GenerateTimeChannel
,ApplyTimeChannel
.- Parameters
num_rx (int) – Number of receivers (\(N_R\))
num_rx_ant (int) – Number of antennas per receiver (\(N_{RA}\))
num_tx (int) – Number of transmitters (\(N_T\))
num_tx_ant (int) – Number of antennas per transmitter (\(N_{TA}\))
num_paths (int) – Number of paths (\(M\))
dtype (tf.DType) – Complex datatype to use for internal processing and output. Defaults to tf.complex64.
- Input
batch_size (int) – Batch size
num_time_steps (int) – Number of time steps
sampling_frequency (float) – Sampling frequency [Hz]
- Output
a ([batch size, num_rx, num_rx_ant, num_tx, num_tx_ant, num_paths], num_time_steps], tf.complex) – Path coefficients
tau ([batch size, num_rx, num_tx, num_paths], tf.float) – Path delays [s]