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