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