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