-
Notifications
You must be signed in to change notification settings - Fork 6
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.
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
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 | - |
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:
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 |
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:
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 |
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 |
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).
Since the Attenuation is a sub-system of the link budget page emulated feature, refer to its page about the validation of this functionality.
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
andMSG_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, sayingcannot find required Es/N0 from FMT definition ID XX
. This remains to be fixed.