This document defines the dvbs2
extension namespace for the Signal Metadata Format (SigMF) specification. This extension namespace defines new datatypes and properties of DVB-S2/S2X signals extending the global
object in SigMF Recordings.
Acronym | Description |
---|---|
ACM | Adaptive coding and modulation |
CCM | Constant coding and modulation |
GS | Generic stream |
ISSYI | Input stream synchronization indicator |
MIS | Multiple input stream |
MODCOD | Modulation and coding scheme |
PL | Physical layer |
SIS | Single input stream |
TS | Transport stream |
VCM | Variable coding and modulation |
The dvbs2
namespace defines the following datatypes:
type | long-form name | description |
---|---|---|
union | Union type | Union type accepting values represented by two or more core datatypes. |
enum | Enumerated type | Enumeration accepting a defined set of elements represented by a core datatype. |
The following names are specified in the dvbs2
namespace and should be used in the global
object:
name | required | type | description |
---|---|---|---|
symbol_rate |
true | double | The symbol rate of the signal in symbols per second (or bauds). |
gs |
false | boolean | Whether the signal carries a continuous GS. False when the signal carries a packetized TS. If omitted, defaults to false (TS). |
mis |
false | boolean | Whether the signal has MIS configuration. False when the signal has SIS configuration. If omitted, defaults to false (SIS). |
acm_vcm |
false | boolean | Whether the signal has ACM or VCM. False when the signal consists of CCM. If omitted, defaults to false (CCM). |
issyi |
false | boolean | Whether the signal has ISSYI active. If omitted, defaults to false (inactive). |
npd |
false | boolean | Whether the signal has null-packet deletion active. If omitted, defaults to false (inactive). |
rolloff |
false | enum | Signal's baseband shaping roll-off factor given by the rolloff enum. |
modcod |
false | array | Array of MODCODs present in the signal, each represented by a modcod union value. Should contain a single element in CCM mode (when acm_vcm is false or omitted). When omitted, it is implied the MODCODs are unknown or dynamically changing and should be discovered by the demodulator. |
fecframe_size |
false | array | Array of FECFRAME sizes present in the signal, each represented by a fecframe_size enum value. Should contain a single element in CCM mode (when acm_vcm is false or omitted). When omitted, it is implied the FECFRAME sizes are unknown or dynamically changing and should be discovered by the demodulator. |
pilots |
false | boolean | Whether the signal contains PL pilots. When omitted, it is implied the presence or absence of pilots is unknown or dynamically changing and should be discovered by the demodulator. |
gold_code |
false | uint | n-th Gold code for PL descrambling. If omitted, defaults to code 0. |
A modcod
union value takes one of the following types:
type | description |
---|---|
string | Canonical name of the signal's MODCOD with the constellation in upper case, followed by a space and the code rate. For example, "QPSK 1/4" or "32APSK 9/10". |
uint | PLS code decimal value representing the MODCOD as given by EN 302 307-1, Table 12 (DVB-S2), or EN 302 307-2, Table 17 (DVB-S2X). For example, 1 for QPSK 1/4 or 28 for 32APSK 9/10. |
The rolloff
double-typed enum can have one of the following values:
value | description |
---|---|
0.35 | DVB-S2 and DVB-S2X |
0.25 | DVB-S2 and DVB-S2X |
0.2 | DVB-S2 and DVB-S2X |
0.15 | DVB-S2X |
0.1 | DVB-S2X |
0.05 | DVB-S2X |
The fecframe_size
string-typed enum can have one of the following values:
value | description |
---|---|
normal |
Normal FECFRAME size (64800 bits). |
short |
Short FECFRAME size (16200 bits). |
medium |
Medium FECFRAME size (32400 bits), DVB-S2X only. |
dvbs2
does not extend Captures.
dvbs2
does not extend Annotations.
dvbs2
does not extend SigMF Collections.
The following SigMF .sigmf-meta
examples illustrate CCM and VCM IQ recordings:
The following example is a baseband CCM DVB-S2 signal collected with a sample rate of 2 Msamples/sec and consisting of a 1 Mbaud QPSK 3/5 MODCOD, pulse-shaped with 0.2 roll-off factor, with normal FECFRAME size, and PL pilots enabled:
{
"global": {
"core:datatype": "cu8",
"core:sample_rate": 2000000,
"core:version": "1.0.0",
"dvbs2:symbol_rate": 1000000,
"dvbs2:rolloff": 0.2,
"dvbs2:modcod": [
"QPSK 3/5"
],
"dvbs2:fecframe_size": [
"normal"
],
"dvbs2:pilots": true
},
"captures": [
{
"core:sample_start": 0
}
],
"annotations": []
}
NOTE: The MODCOD and FECFRAME size arrays have a single element, given that this is a CCM recording.
The following example is also a 1 Mbaud baseband DVB-S2 signal collected with a sample rate of 2 Msamples/sec. However, in contrast to the previous example, this recording carries two MODCODs simultaneously in VCM mode, QPSK 1/4 and 8PSK 3/5, while flagging dvbs2:acm_vcm
to true
:
{
"global": {
"core:datatype": "cu8",
"core:sample_rate": 2000000,
"core:version": "1.0.0",
"dvbs2:symbol_rate": 1000000,
"dvbs2:rolloff": 0.2,
"dvbs2:acm_vcm": true,
"dvbs2:modcod": [
"QPSK 1/4",
"8PSK 3/5"
],
"dvbs2:fecframe_size": [
"normal"
],
"dvbs2:pilots": true
},
"captures": [
{
"core:sample_start": 0
}
],
"annotations": []
}