Operator SeparationΒΆ

  1# This simulation configuration demonstrates the HermesPy concept of operator separation.
  2#
  3# Operator separation allows for the performance comparison of two communication waveforms
  4# over identical channels, hardware models and additional noises.
  5
  6!<Simulation>
  7
  8# Operators transmitting or receiving signals over the devices
  9Operators:
 10
 11  # First modem operating the device alpha
 12  - &modem_alpha !<Modem>
 13
 14    waveform: !<ChirpFsk>         # Configuration of the waveform emitted by this transmitter
 15
 16      chirp_bandwidth: 500e3      # Bandwidth of each dedicated chirp in Hz
 17      chirp_duration: .512e-3     # Duration each dedicated chirp in s
 18      freq_difference: 1953.125   # Frequency offset between each modulated data symbol
 19      num_data_chirps: 20         # Number of chirps generated per data frame
 20      modulation_order: 256       # Modulation order, in other words 16 bit per data chirp
 21
 22      guard_interval: 0.          # Pause between frame transmissions in seconds
 23
 24  # Second modem operating the device alpha
 25  - &modem_beta !<Modem>
 26
 27    # Bit encoding configuration before mapping to modulation symbols
 28    encoding: !<Encoding>
 29
 30      # Repetition encoding, repeating bit sections for redundancy
 31      - !<Repetition>
 32
 33        bit_block_size: 16        # Block size
 34        repetitions: 3            # Number of times the bits within the block get repeated
 35
 36    waveform: !<ChirpFsk>         # Configuration of the waveform emitted by this transmitter
 37
 38      chirp_bandwidth: 500e3      # Bandwidth of each dedicated chirp in Hz
 39      chirp_duration: .512e-3     # Duration each dedicated chirp in s
 40      freq_difference: 1953.125   # Frequency offset between each modulated data symbol
 41      num_data_chirps: 20         # Number of chirps generated per data frame
 42      modulation_order: 256       # Modulation order, in other words 16 bit per data chirp
 43
 44      guard_interval: 0.          # Pause between frame transmissions in seconds
 45
 46
 47# Physical device models within the simulated scenario
 48Devices:
 49
 50   # Representation of a single (virtual) device
 51  - &device_alpha !<SimulatedDevice>
 52
 53    carrier_frequency: 865e6      # Center frequency of Rf-band emitted signal
 54    operator_separation: True     # Enable separation of operator streams at transmit
 55    transmitters: [*modem_alpha, *modem_beta]  # Transmit DSP layers operating on the device
 56    receivers: [*modem_alpha, *modem_beta]     # Receive DSP layers operating on the device
 57
 58
 59# Channel models between devices
 60Channels:
 61
 62  - # Rayleigh fading between transmitter n = 0 and receiver m = 0
 63    - *device_alpha
 64    - *device_alpha
 65    - !<MultipathFading>
 66      delays: [ 0 ]           # Delay of the channel in seconds
 67      power_profile: [ 0 ]    # Channel gain in dB
 68      rice_factors: [ .inf ]
 69
 70
 71# Performance indication evaluation configuration
 72Evaluators:
 73
 74  # Evaluate the bit errors of `modem_alpha` communicating over `device_alpha`
 75  - !<BitErrorEvaluator>
 76
 77    transmitting_modem: *modem_alpha
 78    receiving_modem: *modem_alpha
 79    confidence: .9
 80    tolerance: .01
 81    plot_scale: log
 82
 83  # Evaluate the bit errors of `modem_beta` communicating over `device_alpha`
 84  - !<BitErrorEvaluator>
 85
 86    transmitting_modem: *modem_beta
 87    receiving_modem: *modem_beta
 88    confidence: .9
 89    tolerance: .01
 90    plot_scale: log
 91
 92
 93# Simulation parameters
 94num_samples: 1000                  # Number of samples per simulation grid section
 95min_num_samples: 50                # Minimum number of samples per simulation grid section before premature stopping
 96noise_level: !<EBN0>               # SNR is defined as the ratio between bit energy and noise power
 97  reference: *device_alpha         # The SNR is calculated with respect to the device's output power
 98plot_results: True                 # Visualize the evaluations after the simulation has finished
 99
100
101# Scenario parameters over which the Monte-Carlo simulation sweeps
102Dimensions:
103
104  noise_level: [10, 9, ..., -2] dB