L'ATV digitale?
Mais ce n'est pas si compliqué que ça !

 

Par Michel Vonlanthen HB9AFO

 

 

En préambule, il me faut tout d'abord remercier Alexandre F5SFU et Jean-François F4DAY. Sans eux, je serais encore un béotien en DATV. Ensuite je précise qu/e le présent article n'a d'autre ambition que de lever le voile sur la DATV et de le faire dans un langage compréhensible par des non-initiés. En effet, la principale barrière à l'acquisition de connaissances dans ce domaine est le peu de documentation accessible et par le langage très spécialisé et truffé d'abréviations utilisées par les spécialistes qui travaillent dans ce domaine.

 


Les normes

 

L'organisation DVB (Digital Video Broadcasting) a défini 3 systèmes de transmission TV:

Norme générale: ISO/IEC 13818-1 (1995-04) Generic coding of moving pictures and associated audio systems Recommendation H.222.0 (cette norme coûte 220.- €).

 

DVB-S Réseau Satellite
QPSK (Quadrature Phase Shift Keying) ou modulation par déplace de porteuse en quadrature de phase. Deux bits sont transmis dans le même symbole (constellation), décalés de 90 degrés, ce qui fait 4 états possibles à un moment donné. Le débit est d’environ 20 à 30 Msymboles/s. Un double codage FEC (Reed-Solomon 188,204,8), un entrelacement et un codage redondant (ponctuation entre 1/2 et 7/8) diminuent au maximum l’influence du bruit

 

DVB-T Réseau Terrestre
COFDM (Coded Orthogonal Frequency Division Multiplex) ou multiplexage à répartition de fréquence orthogonale codée. Le flux à haute vitesse est transmis avec 1705 ou 6817 porteuses, chacune étant modulée à bas débit en QPSK ou QAM avec 16 ou 64 symboles. Le débit symboles (somme de toutes les porteuses) varie en fonction de la largeur du canal  et se situe entre 5 et 7 Msymboles/s. Comme pour le DVB-S, deux codages FEC sont opérés. Norme : ETSI EN 300 744 V1.4.1 (2001-01)

 

DVB-C Réseau Câblé
S
simple et robuste (modulation 16-QAM, 64-QAM) Norme: ETSI EN 300 429 V1.2.1 (1998-04). La modulation est QAM avec 16, 32, 64, 128 ou 257 symboles. Le débit est d’environ 7 Msymboles/s pour un pas de canal de 8 MHz. Un seul codage FEC est utilisé car aucun parasite n’est à craindre sur le câble.

 

DVB-H téléphone mobile
Permet la réception TV à l'aide de téléphones mobiles. Toutes les chaînes sont encapsulées dans des paquets broadcast et transmis ensuite avec la technique DVB-T mais avec un débit 10 fois inférieur (suffisant pour les petits écrans des téléphones) et sur une seule fréquence.

 

De façon à pouvoir profiter de l'existence sur le marché de récepteurs TV satellite digitaux à bon marché, la DATV utilise la norme DVB-S. Nous ne décrirons que celle ci dans la suite de cet article. Mais il est clair qu'il nous faudrait plutôt pencher pour la DVB-T puisque l'essentiel de nos liaisons DATV se font par voie terrestre.

 

Des essais ont lieu également en GMSK, qui est une extension du système téléphonique GSM.

A noter que la DATV (Digital Amateur TV)va travailler la plupart du temps à programme unique (SCPC = Single Channel Per Carrier, un seul canal par porteuse) alors qu’un canal satellite peut contenir jusqu'à 8 programmes simultanés. A noter que les cartes AGAF et ADACOM peuvent chacune implémenter nativement jusqu'à 4 programmes (Transport stream) pour un seul canal HF.

Lors du choix d'un récepteur DTV, il faut prendre garde à ce qu'il puisse aussi recevoir en mode SCPC car tous les récepteurs ne le permettent pas.

 

 

Introduction

 

En TV analogique, le signal vidéo de base est une ligne d'image de 64 microsecondes dont l'amplitude prend toutes les valeurs comprises entre 0 et 1V (pour simplifier la démonstration) tout au long des 64 microsecondes qu'elle dure. Pour simplifier, nous y trouvons l'impulsion de synchronisation ligne à 0V, le burst de chominance (couleur), puis l'intensité de tous les points de la ligne pouvant prendre n'importe quelle tension entre 0.25 et 1Volt, le niveau noir étant à 0,25V et le niveau blanc à 1V. Une image n'est pas mémorisée car c'est l'œil qui la reconstitue. En réalité, seul une seul point de cette mage est transmise à un moment donné. C'est l'œil qui reconstitue l'image entière grâce à sa persistance rétinienne.

 

En TV digitale, chaque point de l'image est défini non plus par une tension d'amplitude variable (de 0 à 1 V dans notre exemple) mais par un nombre binaire (uniquement deux niveaux logiques, par exemple 0V et 1Volt, mais aucune tension intermédiaire) donnant la valeur de l'intensité lumineuse de ce point et sa couleur. Par conséquent, ce n'est pas le tube cathodique qui reconstruit l'image grâce à sa rémanence mais celle-ci est mémorisée dans une mémoire électronique qui conserve l'image jusqu'à son remplacement par une autre. C'est pour cela qu'il est possible de figer une image sur l'écran d'un téléviseur alimenté par un récepteur digital TV satellite.

On peut imaginer la mémoire d'une image comme un tiroir divisé en casiers, autant de casiers que de points dans l'image. Le contenu de chaque casier détermine l'intensité de ce point de l'image (et sa couleur mais nous laissons cet élément de côté pour simplifier l'explication). Plus le casier est plein et plus le point est lumineux (casier vide = noir, casier plein = blanc). Le signal vidéo digital est donc une suite de nombres binaires dont chacun correspond au contenu d'un casier (on appelle cela un pixel).

 

L'électronique du récepteur TV digital doit donc transformer le signal reçu en autant de points que contient une image, ce qui correspond à la mémoire d'une image, chaque point contenant l'amplitude de la luminosité du point ainsi que sa couleur. Le contenu de la mémoire est ensuite balayée, ligne par ligne, et transformé en signal vidéo analogique traditionnel pour alimenter le téléviseur via la prise SCART de ce dernier, dont la partie "récepteur" n'est pas utilisée.

 

Une image entière est mémorisée sous la forme d'une matrice de points. Par exemple, elle pourrait se décomposer en 625 lignes de 833 points (rapport 4/3), ce qui ferait un total de 520'625 points à mémoriser. C'est un exemple pour faciliter la compréhension mais la réalité est plus compliquée.

Voyons maintenant la constitution de la chaîne complète de transmission, étant entendu que la réception est l'opération inverse.  

 

 

Chaîne de transmission DATV

 

De la caméra à l'antenne, la chaîne vidéo d'un système de transmission DTV (Digital TV) comporte 3 étapes:

1. Le codage MPEG: la digitalisation du signal vidéo analogique et du son et confection des paquets et du flux de transport complet (TS ou Transport Stream).

2. Le modulateur bande de base: Codage des signaux de façon à le rendre moins sensible au bruit et aux parasites et sérialisation. Sortie de deux signaux déphasés I et Q.


3. L’émetteur et le modulateur I/Q

 

 

L’encodeur MPEG est identique, par contre les deux autres modules varient d’un système de modulation  (DVB-S, C ouT) à un autre. Nous n’aborderons que le DVB-S (Satellite) dans ce qui suit, système le mieux adapté pour se faire la main en DATV du fait de l’abondance et du bas prix des récepteurs sur le marché. L’avènement de la TV digitale terrestre (DVB-T, en COFDM), en principe dès la fin 2004 en Suisse romande, nous permettra de faire des essais et nulle doute que ceux qui ont déjà développé des émetteurs DATV continueront ensuite en COFDM de façon à profiter des qualités de ce mode de transmission pour des liaison terrestres (immunité aux multipath).

 

Un détail important avant de revenir sur chacune de ces étapes:

 

La description qui suit permettra à celui qui voudra approfondir ses connaissances de le faire mais n'est absolument pas indispensable à celui qui veut simplement faire de la DATV, sans pour autant développer un émetteur de A à Z. Il suffit de savoir que la chaîne doit comporter un encodeur MPEG2, un modulateur de bande de base, dépendant du type de modulation adopté (DVB-S, C ou T) et un émetteur modulé par les deux entrées I et Q.

 

 

Le codeur MPEG-2
 

Il est constitué de deux parties:

  • le convertisseur analogique-digital qui transforme le signal vidéo analogique entrant (1 V pep / 75 Ohms) en un signal digital constitué de nombre binaires parallèles de 8 bits
     

  • le codeur MPEG-2 proprement dit (logiciel), dont le but est de compresser le signal vidéo afin qu'il occupe moins de bande passante (par rapport à un fichier .AVI, un fichier .MPG occupe 8 à 10 fois moins de place, diminuant d'autant la bande passante nécessaire à le transmettre)

L'astuce utilisée pour diminuer la quantité d'informations est de ne transmettre que les changements entre une image et la suivante avec, de temps en temps, une image complète de recalage.


Un paquet de points MPEG-2 est un mot de 187 bytes (=1496 bits, 1 byte = 8 bits), avec un mot de synchronisation de 8 bits (47hex) au début de chaque paquet. Un mot de synchronisation de 15 bits est envoyé avant chaque groupe de 8 paquets.

Un signal vidéo MPEG-2 est un flux continu de données transmis par paquets afin de pouvoir déceler et corriger les éventuelles erreurs de transmission. C'est un flux en temps réel, en ce sens qu'on ne peut pas l'interrompre sous peine de perdre des images. Par opposition, le Packet radio peut être interrompu et peut répéter les paquets qui ont été mal reçus, ce qui ralentit l'affichage du message sur l'écran, mais est sans autre conséquence. C'est pour cela que la DTV (TV digitale et donc, la DATV, TV digitale des radioamateurs) implante plusieurs types de codage successifs afin que le récepteur puisse reconstituer de lui-même des paquets abîmés.

Mais nous anticipons car cette fonction de protection n'est pas codée au niveau du codeur MPEG mais dans le modulateur lui-même, les exigences de protection variant d'un type de modulation à un autre. Par exemple, la TV sur câble n'aura pas besoin de protection contre les parasites et contre le bruit, ces deux éléments n'étant pas présents sur la TV par câble (rapport signal/bruit confortable et sans perturbation de l'extérieur).

 

C'est le codeur MPEG-2 qui détermine la vitesse de transmission (Data rate).

 

 

Le mixeur du flux de transport  (TS ou Transport Stream)

 

Ce module fait également partie de la chaîne de "fabrication" du flux de transport (transport stream), module identique pour tous les systèmes de modulation.

 

Il mélange et synchronise tous les flux vidéo, audio et de données (tables de caractéristiques des différents canaux) à transmettre afin de constituer un canal DTV. Chaque canal peut comporter jusqu'à 8 programmes distincts, ayant chacun un ou plusieurs canaux audio (langues, mono/stéréo). Chaque flux peut avoir une vitesse (data rate) différente. Un canal satellite a une largeur de bande définie et les opérateurs peuvent varier la vitesse de transmission, donc la bande passante, de chaque composant à transmettre. On le voit très nettement en réception satellite, où certains opérateurs privilégient une très bonne qualité (ZDF allemand par exemple) alors que d'autres privilégient la quantité (La RAI des Italiens par exemple).

Le "transport stream" comporte également des paquets contenant des tables (SI tables, System Information) qui contiennent les spécifications de son contenu.

Au final, les paquets ont une largeur fixe de 188 bytes (4 bytes d'en-tête et 184 bytes utilisables pour les données). Chaque paquet comporte un nombre d'identification de 13 bits (Le PID, Packet IDentification) dans son en-tête, de 0 à 8191, afin que le récepteur sache où acheminer ce paquet (canaux vidéos, audio, données).

Un PID 8191 indique que ce paquet ne contient aucune donnée utile. Il est utilisé pour remplir un flux qui ne contient pas de données. Les PID 0 à 31 sont réservés aux table système (SI tables).

 

 

Fig 1: Mixer de la carte Adacom

 

 

Le modulateur   (Channel coding)

 

  1. Framing            = mixeur du flux de transport

  2. PRBS              = brassage de bits avec générateur pseudo-aléatoire

  3. RS encoder      = codeur Reed-Solomon

  4. Interleaver         = entrelaceur

 

Le reste appartient au modulateur QPSK proprement dit.

 

 

Fig 2: Schéma bloc du modulateur Adacom

 

 

Il se compose des blocs suivants:

 

 

1. Brassage de bits   (Randomization, dispersion de l'énergie)

 

Deux fonctions:

  • Inverser le byte de synchronisation (47hex en B8hex) tous les 8 paquets. Le générateur est initialisé à chacune de ces inversions par la séquence binaire "100 100 010 000 000".
     

  • Recomposer les bits de données de façon à maximiser les séquences consécutives de "0" ou de "1" (qui, sinon, créent des lignes spectrales) et à éviter d'envoyer au transpondeur satellite un porteuse non modulée (dispersion d'énergie). Ceci assure qu'un flux digital est envoyé au modulateur, même s'il n'y a pas de signal vidéo à transmettre et facilite la synchronisation de l'horloge (clock) nécessaire à la récupération des données.

Ce brassage de bits complète le flux de données si aucun signal n'est présent à l'entrée mais n'augmente pas son volume (bit rate).
 

Le flux de paquets non codés, à l'exception des bytes de synchro, doit être dispersé ("randomizé") par l'addition à modulo-2 de la donnée avec la sortie d'un générateur pseudo aléatoire (PBRS) d'un train binaire. La figure ci-dessous en donne le principe. Ce circuit est réversible et peut brasser les bits et les "dé-brasser".

 

Fig 3: randomizer (source, document ETSI)

 

A la fin du processus, nous obtenons un signal dont l'énergie est répartie dans tout le spectre, et ceci même s'il n'y a pas de signal à l'entrée.

 

 

2. Codage Reed-Solomon

Il s'agit de protéger les paquets contre les erreurs de transmission car, contrairement au packet radio, on ne peut pas répéter un paquet qui serait altéré par la transmission, vitesse et instantanéité obligent. Pour ce faire, le codeur rajoute des bits au paquet MPEG-2 randomizé de façon à pouvoir reconstituer les bits manquants par calcul. Si le contrôle du paquet (du style calcul de parité, CRC, etc.) décèle une erreur, le paquet d'origine peut être reconstitué grâce aux bits additionnels.

Ce code est donné comme RS(188,204, t=8), ce qui signifie qu'on a 188 bytes en entrée du codeur, 204 en sortie et que 8 bytes sur 188 peuvent être corrigés. On appelle ce processus FEC, Forward Error Correction, correction prédictive des erreurs.

 

 

3. Entrelaceur

 

Il est très difficile de reconstituer une longue suite de bits ou de bytes consécutifs erronés. L'entrelaceur va donc répartir les bytes d'un paquet dans d'autres paquets.

 

L'entrelacement permet de répartir les erreurs sur plusieurs paquets. Un seul byte par paquet étant affecté, il peut maintenant être très facilement reconstitué par le code Reed-Solomon.

 

Fig 4 : principe de l’entrelaceur

 

L'entrelaceur est composé de I branches, cycliquement connectées au flux de bytes entrant par le commutateur d'entrée. Chaque branche est une mémoire-tampon de type registre à décalage FIFO (First In First Out). Chaque cellule FIFO contient un byte et les switches d'entrée et de sortie doivent être synchronisés, comme le montre le diagramme ci-dessous.

 

En pratique, chacun des bytes d'un paquet est réparti dans 12 paquets différents.

 

Fig 5: convolutional interleaver et de-interleaver 

 

 

4. Code convolutif

 

 

Fig 6: codeur convolutif

 

Le code convolutif sert à renforcer les mesures de protection des données à transmettre dans le cas de transmission en milieu très bruité, comme dans les transmissions terrestres ou par satellite.
La base de ce code est de relier un bit à un ou plusieurs bits précédents de façon à pouvoir en reconstituer la valeur en cas de problème.

Sur la figure 6, on voit que bit entrant va générer deux bits sortants et qu'il est lié aux 6 bits le précédent. Le bit 1 de sortie est un "OU exclusif" entre les bits 1,2,3,4 et 7 tandis que le bit 2 de sortie est un "OU exclusif" des bits 1,3,4,6 et 7.

Ce code dit "en treillis" permet de retrouver la valeur la plus probable d'un bit en observant les bits précédemment reçus. C'est une technique simple mais très efficace, son  inconvénient étant qu'elle double le débit du Transport Stream (TS). A la réception, le décodage est fait par le décodeur de Viterbi.

 

 

5. Le poinçonnage

 

Le rendement du code convolutif ci-dessus est de 1/2, soit 1 bit en entrée et 2 bits en sortie.

Le poinçonnage permet d'améliorer ce rendement en ne transmettant pas certains bits sortant du décodeur convolutif. Si 3 bits se présentent en entrée du codeur, on en récupère 6 en sortie mais on n'en transmettra que 4. Le rendement global sera alors de 3/4. On appelle cela FEC 3/4 ((Forward Error Correction, correction prédictive des erreurs).

 

Nombre de bits
en entrée

Nombre de bits
en sortie

Nombre de bits
transmis

FEC

1

2

2

1/2

2

4

3

2/3

3

6

4

3/4

5

10

6

5/6

7

14

8

7/8

 

Le poinçonnage crée donc des erreurs puisqu'il ne transmet pas tous les bits. En réception, le décodeur de Viterbi remplace ces bits manquants par des zéros. Mais la robustesse du codage convolutif pallier à ce défaut et permet de retrouver la valeur la plus probable du bit erroné ou manquant.

 

A noter que le poinçonnage n'est pas appliqué aux transmissions par câble (DVB-C), ce médium étant considéré comme un milieu protégé des perturbations.

 

 

6. Filtre de Nyquist

 

Le signal numérique a une forme rectangulaire et son spectre est, en théorie infini. Il doit donc être énergiquement filtré avant de pouvoir être envoyé au modulateur QPSK. Un filtre de Nyquist est utilisé pour cela.

 

 

7) Modulateur QPSK


   

Fig 7: Les 4 états théoriques                                                 Les mêmes fortement "bruités"

 

La transmission satellite st, par nature, fortement bruitée. Il faut donc des codes de correction puissants et une modulation la moins sensible possible aux distorsions de phase et d'amplitude. On utilise donc la QPSK (Quarternary Phase Shift Keying) ou modulation à déplacement de phase à 4 états. C'est en fait une combinaison de deux modulations d'amplitude à porteuses supprimées. Ces dernières sont appelés I et Q et sont à 90 degrés l'une de l'autre.

 

Un symbole contient deux bits d'information. La figure 7 représente le diagramme des constellations. On y voit que même si les points deviennent des taches à cause du bruit, la démodulation s'opère puisqu'il suffit de savoir dans quel cadrant se situe le point pour retrouver l'information.

 

Les amplificateurs qui feront suite devront avoir une linéarité extrêmement poussée.

 

 

Définition des paramètres de transmission

 

SR
 
(Symbol Rate) Vitesse du flux de données en MBauds ou MS/s (Méga Symboles/sec)
FEC
 
(Forward Error Correction) Code rate ou niveau de codage (1/2, 2/3, 3/4, 5/6, 7/8)
PID 
 
Identification des paquets (Packet ID), (de 0 à 8191)
Par canal, un PID pour la vidéo, un pour l'audio et un pour les données
SCPC



 
(Single Channel Per Carrier
Option qui permet de recevoir un seul canal par porteuse, sans nécessité de recevoir une table de caractéristiques (SID). Tous les récepteurs ne le permettent pas. Utilisé dans les transmissions non satellite ou expérimentales telles celles des radioamateurs (DATV)