📜 ⬆️ ⬇️

DVB-S2 on the fingers

It just so happened that in order to write a candidate disserter, I needed to thoroughly study the standard of satellite communication DVB-S2 (Digital Video Broadcasting - Setellite, Version 2).

If you, dear reader, wonder how HDTV or SDTV data is transmitted through one of the most popular satellite TV and radio broadcast protocols and there is no desire / time to read the protocol itself, then I ask for cat.


Scheme 1.
')


I - “Rough” scheme.



The DVB-S2 algorithm (Digital Video Broadcasting - Sputnik, version 2) is intended, as it is not difficult to guess, to transmit data via satellite. The standard has replaced DVB-S. It is developed by the European Telecommunications Standards Institute ( ESTI ). Yes, yes, this is the same Sharashkin office, which presented the world with GSM and, if anyone knows, TETRA .

Before giving the description of the terrible image from above, I suggest first to “in general terms” understand the basic principle of data transfer.
The picture below is a rough simplification of the data transfer scheme, which is indicated in the protocol itself (see diagram 1)


Scheme 2.

The first thing that happens with a video stream, regardless of which broadcasting protocol we use, is the connection of all broadcast channels to one channel. How does this happen? Very simple: the fact is that the capacity of a satellite channel is substantially greater than what is required for a single video stream. Therefore, it is rational to use the so-called Time Division Multiplexing (translated as " Time Division Multiplexing " .)
Maybe you have already seen the abbreviation TDM somewhere ... Aha! in GSM! .. Almost true, only there this principle is called TDMA ( Time Division Multiple Access ).

Suppose we have 3 channels (see pic): Red, Blue, Yellow. He really wanted to take ORT, Rain and NTV, but he understood that Habr is not a place for politics . Each stream is divided into a sequence of bytes (the so-called timeslots ).

TDM flow is formed in the following way: first, the 1st timeslot of the Red channel, then the 1st timeslot of the Blue channel, then the 1st timeslot of the Yellow. After the TDM output goes the second timeslot of the Red, the second Blue, three Yellow, and so on.


Scheme 3.

Of course, in practice, I would like to somehow check the information for errors. In DVB-S2 timeslots are called UP 's (from User Packet ). CRC-8 in the first scheme is the error detection code.

The second phase in our simple schema is scrambling. The meaning of scrambling, as I understand it, is to make the probabilities of occurrence of 1 or 0 equally probable. This is necessary because the next phase in our simple scheme is the Error Correction Codes (ECC) ( error correction codes ). Indeed, anyone who reads Berlikamp may recall that the entire Algebraic Coding Theory is based on a priori given rule, which 1 is equally likely 0. Of course, due to compression, the scrambling is probably excessive, but apparently the authors decided to leave it ... (who has a different info please write in komenty!)

After ECC, the output is a code word that is fed to the input of the modulator.

After modulation, the mods are fed to a traveling wave tube ( Wave Tube Amplifer, WTA ).

I hope in general it is clear.

II - Model Adaptation



Now, when we briefly examined the general scheme (Scheme 2), we will continue to eat the elephant in parts. This chapter is about Mode Adaptation (see diagram 1). DVB-S2 protocol allows you to independently perform TDM conversion from various single input streams ( Single Input Stream (SIS) ), and to accept as input a multi-channel stream that was previously received from the output of any other protocol ( Multiple Input Stream (MIS) ) . Theoretically, if you are Rockefeller, you can not use TDM at all and transmit only one stream ... True, this is irrational and expensive, but the standard allows, as evidenced by the inscription in the dotted rectangle in the diagram. In this case, we do not need either synchronization ( Input Stream Synchronizer ) or buffering ( Buffer ) (dotted lines in diagram 1), because in the absence of TDM, there is nothing to synchronize, and it is pointless to buffer.

Merger Slicer is a module that, as you might guess from the name, “sticks together” UP-timeslots among themselves.

III - Stream Adaptation



After the Model Adaptation, as you can see from their diagram 1, the Stream Adaptation goes.
Here is a drawing from the standard:

Scheme 4.

UP-timeslots are represented as a single stream of Generic Continous Stream . Then this stream is “cut” into data blocks called Data Field and a BB (Baseband) header is attached to each Data Field.
The header fields are as follows:


After this splitting, there is scrambling with the “ Pseudo Random Binary Sequence ” ( Pseudo Random Binary Sequence, PRBS ). Who cares: This sequence is calculated using the LFSR of length 15, specified by the associated polynomial 1+ x ^ 14 + x ^ 15 and the initial value: 100101010000000. Te who understood - I am glad, who did not understand - see the picture:



As cryptographers say, “unwinding” LFSR we get the output sequence: 10010101000000010111111000000111000001 ... The minimum length of a sequence, until it loops, is called the LFSR period . The period of this LFSR is (2 ^ 15-1). The probability of occurrence of 1 and 0 is 0.5. (In fact, this statement is true not only for the considered LFSR, but for any LFSR that is not filled with all zeros, provided that the associative polynomial is primitive .)

IV - FEC (Forward Error Correction) encding



It is possible to give a description of coding briefly, but it can be very long. In addition to the main standard [1], there is a standard for coding [2]. If habrablitchitelyh interest arises, then I will write a separate article, which will analyze in detail the coding in DVB-S2.
Briefly, the FEC code, as seen in diagram 1, consists of three phases:
  1. BCH coding
  2. LDPC ( Low Density Parity Check ) coding
  3. Interleaving


The FEC code works in two modes, the so-called short FECFRAME and normal FECFRAME . The difference in the length of the output. LDPC code block for a short frame of 16200 bytes, for a long 64800 . For the transfer of "useful" information (video, radio) using normal frames. For service information, for which time is absolutely critical, use short frames.

But that's not all: for a short frame there are 10 modes with different speeds for BCH and LDPC coding, for the normal 11 options. A total of 21 options FEC code! Who is interested in more details - see Table 5a and Table 5b in [2].

Why so many coding options? ..

The fact is that there are three modes of functioning of the satellite:
  1. CCM - Constant Coding & Modulation
  2. VCM - Variable Coding & Modulation
  3. ACM - Adaptive Coding & Modulation


Let's start with a simple one: CCM is the same coding, regardless of where the satellite is located and what data it transmits. If the interference has increased and this is noticed "on the ground", then until the command to change the coding is sent (if such a command exists at all), the satellite will not use another coding.

VCM encoding implies different encoding for different types of data. Well, for example, if a couple of bytes disappear in an uncompressed video stream (although video is usually compressed, of course ...), there will not be any special problems, if two bytes are distorted in the service command and it is incorrectly perceived by the satellite, this can lead to epic fail ...

The most interesting is ACM. This mode assumes that depending on the location of the satellite relative to the earth, other satellites, time, presence / absence of rain, seasonal flight of Cheburashek , the satellite encodes the data in different ways.

The DVB-S2 standard supports CCM and ACM modes. VCM mode without dancing with a tambourine is not supported.

CCM mode is supported for compatibility, but in order to get all the benefits of ACM, you need a different number of possible encoding forms! In the case of large interference (rain, remoteness from the ground, interference from other satellites, Cheburashka ), the code speed is low, but it fixes a lot of errors, in the case of weak interference - the speed is higher and, therefore, the throughput is higher.

V - Mapping + PL (Physical Layer) Framing.



If on fingers, after receiving the FEC frame, the data is divided into 2, 3, 4 or 5 bits.
It all depends on what type of modulation you choose:


Thus, in DVB-S2, two phase modulations (QPSK or 8PSK) and two amplitude-phase (16APSK or 32APSK) can be used. To someone who knows nothing about modulation, I recommend a good article by alexxerm . UPDATE (thanks to HounD ): you can also view this and this article on wikipedia.


Scheme 5.

Mapping means that we "broke" the sequence into 2,3,4 or 5 bits.
However, before sending a signal further, we in FL (Physical Layer) add a certain synchronization sequence and scramble again.

VI - BB Filter & Modulation



After the signal is fed to the lamp traveling wave. The alpha in diagram 1 denotes the “raised cosine coefficient”, otherwise, the “smoothing coefficient” or, on the Anglo-Saxon move Roll-off factor .

Here is a picture from V.V. (only here, instead of alpha, beta is written):


The filter that transforms the “mapped” data into modes with certain “raised cosine coefficients” is called a BB (baseband) Filter (see diagram 1).
(For those who will disassemble the standard: another name in the standard is “ baseband shaping & quadrature modulation ”, so don't be scared :))

Instead of conclusion



Actually "on the fingers" this is the whole DVB-S2. Of course, I omitted some details and nuances, but for those who are just curious, these details will be quickly taken out of their heads, and for those who need to master them, it is better to spend Nts evenings and read the standards yourself.
To whom the topic is interesting - in comments or in a personal. As soon as there is a free minute, I will definitely answer.

PS I crave criticism - I ask for comments! :)


Standards considered in this article


[1] Digital Video Broadcasting (DVB) is a basic standard in which everything is a little bit, and most importantly, in the second chapter. (Referenses) There are links to all other DVB-S2, DVB-S, DSNG, DVB-H and other standards.
[2] Digital Video Broadcasting (DVB); Broadcast satellite applications (DVB-S2) for those who are interested in ATK (Algebraic Coding Theory), I recommend to watch this standard

Source: https://habr.com/ru/post/225593/


All Articles