Skip to content

attenuation

Tauran Bastien edited this page Apr 5, 2022 · 5 revisions

Signal Attenuation

Table of content

OpenSAND emulates signal attenuation in order to render the emulation more realistic. It combines all types of loss present in a satellite link (e.g path loss, antenna loss, etc.) into a single value, called henceforth attenuation.

The attenuation is emulated for each packet on both up and downlinks, and affects the C/N value of the packet. This value will be compared against the minimum values to decode the packet with Quasi-Error Free (QEF) assumption on reception to emulate losses (refer to the link budget page for more information).

Examples for Signal Attenuation

This wiki provides here examples how to exploit the signal attenuation feature for various systems.

OpenSAND Exploitation

In OpenSAND, a different attenuation can be configured for each uplink and downlink between any ST/GW and the satellite. The type of attenuation used for each link is specified by choosing an Attenuation Model.

There are 4 attenuation models to choose from:

  • Ideal
  • File
  • On/Off
  • Triangular

Plugins

Ideal attenuation model

The Ideal attenuation is the most basic model: it applies a constant attenuation over time. This value is defined in the configuration parameters.

Parameter name Description Value type Range of values Default value
link Selects which Channel is affected by the configuration inside the Physical Layer block. string up, down -
attenuation_value Constant value of attenuation for the segment link, expressed in dB. double -200, 200 -

On/Off attenuation model

The On/Off attenuation model is based on a periodic variation of the attenuation alternating between two values: zero, and a configurable value. The attenuation profile is depicted in the following figure:

On/Off attenuation

Parameter name Description Value type Range of values Default value
link Selects which Channel is affected by the configuration inside the Physical Layer block. string up, down -
period_on Number of periods (duration defined by the granularity attribute acm_period-refresh in global configuration) in which the channel will have an attenuation equal to the amplitude parameter int 1, 10000 10
period_off Number of periods (duration by the granularity attribute acm_period-refresh in global configuration) in which the channel will have an attenuation equal to zero int 1, 10000 10
amplitude The attenuation aplitude (in dB) for the ON period. double -200,200 5

Triangular attenuation model

The Triangular Attenuation model is based on a periodic variation of the attenuation having linear transitions between two values. The first half of the time period, the attenuation increases with a specified slope. In the second half of the period, the attenuation value decreases with the same slope. The attenuation profile is depicted in the following figure:

Triangle attenuation

Parameter name Description Value type Range of values Default value
link Selects which Channel is affected by the configuration inside the Physical Layer block. string up, down -
period Number of periods (duration defined by the granularity attribute acm_period-refresh in global configuration) that defines the model periodicity. int 1, 200000 10
slope Specifies the variation of the attenuation in each period. double 0, 200 5

File attenuation model

The File Attenuation model is based on values read in a file containing the attenuation evolution over time. An example of file format is described below:


# Format
# time (period) attenuation (dB)
0 0
10 0
24 14
38 0

Between two values of time, the attenuation amplitude is obtained with linear interpolation if the channel is refreshed more than once (depending on the granularity parameter acm_period-refresh).

For example, between times 10 and 24, with a granularity of 1000 ms, we have a constant slope from 0 to 14 dB.

Parameter name Description Value type Range of values Default value
link Selects which Channel is affected by the configuration inside the Physical Layer block. string up, down -
path The path of the attenuation file string - /etc/opensand/plugins/attenuation.csv
loop_mode Whether the file should restart from the beginning after the last value is reached boolean true, false true

Probes

The probes available for each GW and ST are the following. They can be found under the Phy section of the corresponding host.

  • uplink_attenuation: keeps track of the attenuation of packets sent from the host towards the satellite (uplink).
  • downlink_attenuation: keeps track of the attenuation of packets received by the host from the satellite (downlink).

Validation

Since the Attenuation is a sub-system of the link budget page emulated feature, refer to its page about the validation of this functionality.

OpenSAND Software Design

The attenuation is implemented as an optional feature of the Physical Layer block. Attenuation will affect the packet SNR only when the feature is activated. Inside each of the two channels of the Physical Layer Block, there is a module of Attenuation Model that emulates and provides information about the state of attenuation of the link.

⚠️ In OpenSAND only BBFrames (MSG_TYPE_BBFRAME), DVB Bursts (MSG_TYPE_DVB_BURST), Slotted Aloha data and control messages (MSG_TYPE_SALOHA_DATA and MSG_TYPE_SALOHA_CTRL) and Satellite Access Control (SAC, MSG_TYPE_SAC) are affected by attenuation. However, SAC messages do not use MODCOD (modcod_id=0), and do not behave as the other messages. An error message may be displayed due to this, saying cannot find required Es/N0 from FMT definition ID XX. This remains to be fixed.

Clone this wiki locally