Chirp FSK LORA#
1# In this example we simulate FSK modulated chirps (similar to LORA).
2# A bandwidth of B = 500kHz is considered, with spreading factor SF = 8,
3# This corresponds to M = 2^SF = 256 different initial frequencies, spaced by
4# \delta_f = B / M = 1953.125Hz
5# The symbol rate (chirp duration) is given by Ts = 2^SF/BW = .512 ms
6# Data is uncoded, and the data rate is
7# SF * BW / 2 **SF = log2(M) / Ts = 15625 kbps
8#
9# Frames have 160 bits, i.e., 20 FSK symbols.
10#
11# A carrier frequency of 865MHz is considered, with Rayleigh fading and a speed
12# of 10m/s
13
14!<Simulation>
15
16# Physical device models within the simulated scenario
17Devices:
18
19 # Representation of a single (virtual) device
20 - &transmitting_device !<SimulatedDevice>
21
22 carrier_frequency: 865e6 # Center frequency of Rf-band emitted signal
23
24 - &receiving_device !<SimulatedDevice>
25
26 carrier_frequency: 865e6 # Center frequency of Rf-band received signal
27
28
29# Channel models between devices
30Channels:
31
32 # Rayleigh fading between on the device self-interfernce channel
33 - !<MultipathFading>
34 devices: [*transmitting_device, *receiving_device]
35 delays: [ 0 ] # Delay of the channel in seconds
36 power_profile: [ 0 ] dB # Tap gains
37 rice_factors: [ .inf ]
38
39 # Configure 3GPP standard antenna correlation models at both linked devices
40 alpha_correlation: !<StandardCorrelation>
41
42 device_type: BASE_STATION
43 correlation: LOW
44
45 beta_correlation: !<StandardCorrelation>
46
47 device_type: TERMINAL
48 correlation: MEDIUM
49
50
51# Operators transmitting or receiving signals over the devices
52Operators:
53
54 # Establish a simplex link between both devices
55 - &link !<SimplexLink>
56
57 transmitting_device: *transmitting_device
58 receiving_device: *receiving_device
59
60 # Bit encoding configuration before mapping to modulation symbols
61 encoding: !<Encoding>
62
63 # Repetition encoding, repeating bit sections for redundancy
64 - !<Repetition>
65
66 bit_block_size: 16 # Block size
67 repetitions: 3 # Number of times the bits within the block get repeated
68
69 waveform: !<ChirpFsk> # Configuration of the waveform emitted by this transmitter
70
71 chirp_bandwidth: 500e3 # Bandwidth of each dedicated chirp in Hz
72 chirp_duration: .512e-3 # Duration each dedicated chirp in s
73 freq_difference: 1953.125 # Frequency offset between each modulated data symbol
74 num_data_chirps: 20 # Number of chirps generated per data frame
75 modulation_order: 256 # Modulation order, in other words 16 bit per data chirp
76
77 guard_interval: 0. # Pause between frame transmissions in seconds
78
79
80# Performance indication evaluation configuration
81Evaluators:
82
83 # Evaluate the bit errors of `link` communicating over `device_alpha`
84 - !<BitErrorEvaluator>
85
86 transmitting_modem: *link
87 receiving_modem: *link
88 confidence: .9
89 tolerance: .01
90 plot_scale: log
91
92 # Evaluate throughput of `link` communicating over `device_alpha`
93 - !<ThroughputEvaluator>
94
95 transmitting_modem: *link
96 receiving_modem: *link
97 confidence: 0.
98 plot_scale: log
99
100
101# Simulation parameters
102num_samples: 1000 # Number of samples per simulation grid section
103min_num_samples: 50 # Minimum number of samples per simulation grid section before premature stopping
104snr_type: EBN0 # SNR is defined as the ratio between bit energy and noise power
105plot_results: True # Visualize the evaluations after the simulation has finished
106
107
108# Scenario parameters over which the Monte-Carlo simulation sweeps
109Dimensions:
110
111 snr: [10, 9, ..., -2] dB