OFDM 5GΒΆ

  1# In this example we simulate a 5G signal.
  2# 
  3# We model the DL of a frame with a TDD slot format 57, DDDDFFUDDDDFFU,
  4# with 30kHz subcarrier spacing, using 2100 subcarriers with 4-PSK.
  5# 
  6# In each drop, 2 time slots are transmitted.
  7# 
  8# An LDPC code with rate R=1/2 and block length 256 is considered.
  9# 
 10# MIMO (SM) with 2x2 antennas is considered.
 11# 
 12# A 5G-TDL channel model type E, with 100 ns rms delay spread is considered.
 13# Velocity is 10ms with carrier frequency 3GHz.
 14
 15!<Simulation>
 16
 17# Operators transmitting or receiving signals over the devices
 18Operators:
 19
 20  # A single modem operating the device #0
 21  - &modem_alpha !<Modem>
 22
 23    # reference: *device_alpha       # Reference device to which the channel is estimated
 24
 25    # Bit encoding configuration before mapping to modulation symbols
 26    #Encoding:
 27    #
 28    #  - !<LDPC>
 29    #    block_size: 256
 30    #    rate: [1, 2]
 31
 32    # MIMO configuration on the symbol level
 33#   receive_symbol_coding: !<ReceiveSymbolCoding>
 34#
 35#      - !<SingleCarrier>       # Spatial Multiplexing
 36
 37    # Configuration of the waveform emitted by this transmitter
 38    waveform: &ofdm !<OFDM>
 39
 40      # Symbol modulation settings
 41      modulation_order: 4               # Modulation order, in other words 1 / subcarrier / subsymbol
 42      subcarrier_spacing: 30e3          # Spacing between the individual subcarrier center frequencies in Hz
 43      dc_suppression: False             # Do not ignore the DC component during the DFT
 44      num_subcarriers: 4096             # Number of subcarriers per communiction frame
 45#      channel_estimation: !<OFDM-Ideal> # Assume ideal channel state information at the receiver
 46#        channel: *channel
 47#        transmitter: *device_alpha
 48#        receiver: *device_alpha
 49      channel_equalization: !<ZF>       # Least-squares channel equalization
 50
 51      # OFDM symbol resources, each resource represents one symbol's subcarrier configuration
 52      grid_resources:
 53
 54        - !<Resource>
 55          repetitions: 1
 56          prefix_type: !<PrefixType> CYCLIC
 57          prefix_ratio: 0.0703125
 58          elements:
 59            - !<Element>
 60              type: !<ElementType> NULL
 61              repetitions: 998
 62            - !<Element>
 63              type: !<ElementType> DATA
 64              repetitions: 2100
 65            - !<Element>
 66              type: !<ElementType> NULL
 67              repetitions: 998
 68
 69        - !<Resource>
 70          repetitions: 1
 71          prefix_type: !<PrefixType> CYCLIC
 72          prefix_ratio: 0.078125
 73          elements:
 74            - !<Element>
 75              type: !<ElementType> NULL
 76              repetitions: 998
 77            - !<Element>
 78              type: !<ElementType> DATA
 79              repetitions: 2100
 80            - !<Element>
 81              type: !<ElementType> NULL
 82              repetitions: 998
 83
 84      # Frame configuration in time domain, i.e. the x-axis in the OFDM time-frequency grid
 85      grid_structure:
 86
 87        # DDDDD
 88        - !<Symbol>
 89          num_repetitions: 1
 90          pattern: [1, 0, 0, 0]
 91
 92        # FFU
 93        - !<Guard>
 94          num_repetitions: 3
 95          duration: 35.677083e-6
 96
 97        # DDDD
 98        - !<Symbol>
 99          num_repetitions: 1
100          pattern: [1, 0, 0, 0]
101
102        # FFU
103        - !<Guard>
104          num_repetitions: 3
105          duration: 35.677083e-6
106
107
108# Physical device models within the simulated scenario
109Devices:
110
111  # Representation of a single (virtual) device
112  - &device_alpha !<SimulatedDevice>
113
114    carrier_frequency: 3e9               # Center frequency of Rf-band emitted signal
115    
116#    antennas: !<SimulatedUniformArray>   # Uniform antenna array
117#      
118#      element: !<SimulatedIdealAntenna>  # Assume ideal isotropic antennas
119#      spacing: 10e-2                     # Elements spaced 10cm apart
120#      dimensions: [2, 1, 1]              # 2 elements within the array
121
122    transmitters: [*modem_alpha]         # Transmit DSP layers operating on the device
123    receivers: [*modem_alpha]            # Receive DSP layers operating on the device
124
125
126# Specify channel models interconnecting devices 
127Channels:
128
129  - # 5G TDL model at the self-interference channel of device_alpha
130    - *device_alpha
131    - *device_alpha
132    - &channel !<5GTDL>
133      model_type: !<TDLType> E           # Type of the TDL model. A-E are available
134      rms_delay: 100e-9                  # Root mean square delay in seconds  
135
136# Performance indication evaluation configuration
137Evaluators:
138
139  # Evaluate the bit errors of `modem_alpha` communicating over `device_alpha`
140  - !<BitErrorEvaluator>
141
142    transmitting_modem: *modem_alpha
143    receiving_modem: *modem_alpha
144    confidence: .9
145    tolerance: .01
146    plot_scale: log
147
148
149# Simulation parameters
150num_samples: 1000                  # Number of samples per simulation grid section
151min_num_samples: 100               # Minimum number of samples per simulation grid section before premature stopping
152noise_level: !<EBN0>               # SNR is defined as the ratio between bit energy and noise power
153  reference: *ofdm                 # The SNR is calculated with respect to the referenced waveform's power 
154plot_results: True                 # Visualize the evaluations after the simulation has finished
155num_actors: 1                      # This simulation is quite memory demanding. It might be necessary to limit the number of actors.
156
157# Scenario parameters over which the Monte-Carlo simulation sweeps
158Dimensions:
159
160  # Sweep over the global receiver signal-to-noise ratio
161  - property: 'noise_level'
162    points: [0, 1, ..., 20] dB