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