F5UII – Station radioamateur française

Émettre en télévision numérique vers le satellite Qatar Oscar 100

How to transmit DATV over Qatar Oscar 100 with F5OEO firmware on Adalm Pluto SDR

Intro

A la suite de mon précédent article sur l’émission vers le satellite Qatar Oscar 100 avec technologie SDR (LimeSDR, Adalm pluto) qui était consacré à l’émission sur le transpondeur bande étroite (SSB et modes à largeur spectrale inférieure à 2,7 kHz), voici un article qui devrait cette fois-ci intéresser ceux qui souhaitent se lancer à l’émission de télévision numérique d’amateur, communément appelé DATV (Digital Amateur Television).

Comme vous avez pu le lire jusque là, je dispose d’un LimeSDR-mini mais également maintenant d’un Adalm Pluto. Lors d’une de mes conférences (voir Conférence Amsat Francophone), j’ai eu l’occasion de comparer les deux équipements, leurs avantages et inconvénients. J’ai eu l’occasion d’émettre en DATV vers QO100 aussi bien avec le LimeSDR-mini que l’Adalm Pluto. Les deux modèles fonctionnent très bien, mais je vais m’attarder dans cet article sur l’usage de l’Adalm Pluto, car finalement il est aujourd’hui la solution qui est la plus simple à mettre en oeuvre. En effet, pour transmettre avec le LimeSDR, un Raspberry Pi est nécessaire. Dans le cas de l’Adalm Pluto et surtout grâce aux développements d’un firmware spécifique d’Evariste F5OEO, nous nous passons de ce nano-ordinateur, l’Adalm pluto embarquant le logiciel directement.

Dans cet article, et comme d’habitude, nous allons dérouler étape par étape toutes les opérations décrites de façon les plus précises possibles.

J’utilise le système d’exploitation Windows. Je ne vais pas rentrer dans les détails du fonctionnement des modes de transmissions eux-mêmes, n’étant pas un spécialiste des fondamentaux.  Mon but est d’amener à votre connaissance toutes les étapes devant vous permettre de réaliser votre station d’émission, et transmettre des images. Il est possible que les logiciels évoluant, certaines fonctions, ou opérations elles-mêmes soient à faire évoluer. N’hésitez pas à soumettre vos questions, problématiques de mise en oeuvre directement en commentaire de l’article.

Voici le schéma de principe que nous allons mettre en oeuvre, pour émettre nos vidéos DATV vers le satellite QO-100.

Schéma de principe d’une émission DATV avec OBS Studio et l’Adalm Pluto ou LimeSDR

Je ne reviens pas dans cet article au base de réglage de paraboles, antennes, émetteur que vous retrouvez dans mes précédents articles (La réception du satellite Qatar Oscar 100 avec SDR Console , L’émission vers le satellite Qatar Oscar 100 avec SDR Console)

Rappelons en préambule que l’émission radio est réglementée au niveau international, au niveau national et que seuls les titulaires de licences radioamateurs de classe 1 et classe 2 sont autorisés à émettre sur les bandes de fréquences allouées.

Cet article est “multipages”, à parcourir d’une page à l’autre ou directement depuis le sommaire à la page souhaitée.

L’Adalm-Pluto également appelé PlutoSDR est un émetteur/récepteur SDR proposé par Analog Device à un prix relativement bas. Il est présenté comme une plateforme pour l’apprentissage des étudiants dans les domaines des sciences, de technologie ou de l’ingénierie.

Divers logiciels tels que MATLAB ou Simulink sont des interfaces utilisateur graphique (GUI) pour réaliser des développements appliqués. Mais pour émettre en DATV nous n’allons pas nous lancer nous même sur la voie du développement, puisque d’autres l’on fait pour nous.

Basé sur l’AD9363, il est capable de générer ou de recevoir des signaux analogiques RF de 325 à 3800 MHz, et jusqu’à 61,44 méga échantillons par seconde (MSPS) avec une largeur de bande de 20 MHz.


Acquérir l’Adalm Pluto

Evidemment, la première chose est d’acquérir l’équipement. Plusieurs fournisseurs proposent le boitier, à différents prix. Je vous laisse vérifier les conditions de livraisons et taxes douanières applicables par ces intermédiaires.

Améliorer le fonctionnement et la stabilité de l’Adalm Pluto

J’utilise un Adalm Pluto dont le hardware est de Révision B (Voir son étiquette : PCB Rév.). On constate – en tout cas en émission SSB avec SDR Console – de temps à autres des plantages de la liaison USB. Ceux-ci disparaissent aisément en appliquant une légère modification sur la carte. Soit vous changez la valeur de résistance de R88 de 1k par une valeur de 10k, tel qu’indiqué sur le wiki d’Analog Device(et prévu sur la prochaine révision C), soit vous réaliser la modification simple (que j’ai choisi de mettre en place) de raccorder les masses PGND et GND ensembles, en plaçant un conducteur entre D3 (GND) et R58 (PGND).

 

Améliorer la stabilité

Remplacer le quartz TCXO

Je préviens tout de suite que cette modification n’est toutefois pas nécessaire si vous ne compter émettre vers QO100 uniquement des images de télévision d’amateur. Mais comme souvent on utilise aussi bien son émetteur PlutoSDR pour également faire de la SSB, autant voir comment réaliser ce remplacement d’oscillateur. Lorsqu’il sort de la boite, l’Adalm Pluto est plutôt instable à l’émission sur 2400 MHz. Il est équipé d’origine avec un quartz de référence, un TCXO RAKON RXO3225M de 40MHz ayant une stabilité de +/- 25 ppm sur sa plage de fréquences de fonctionnement de -40 à 85 °C. Cela signifie qu’à la fréquence de montée vers QO100, 2400 MHz, le signal va dériver rapidement, en fonction de la température, de quelques dizaines de Hertz. Pour utiliser l’Adalm Pluto en SSB et le transpondeur bande étroite de QO100, vous devrez obligatoirement remplacer ce quartz peu stable par un TCXO de meilleurs stabilité.

Plus petit que le RAKON original (3,2 x 2,5), le TCXO ABRACON ASTX-13-C-40.000MHz-I05-T est alimenté en 1.8V comme l’original, ses dimensions sont de 2,0 x 1,6 mm. Il a une stabilité annoncée de +/- 0,5ppm. Certains conseillent d’en profiter de placer le TCXO à un emplacement moins soumis à des hausses de température. Je vous invite à lire à ce sujet l’article de Lucien F1TE.

TCXO ABRACON à la place du RAKON

Vous pouvez trouvez ce TCXO ABRACON chez les grands distributeurs de composants électroniques mais aussi quelques autres revendeurs :

TCXO Murata 0.2ppm 3.0V

Une autre alternative est d’utiliser le TCXO MURATA XNCLH40M000THJA1P0 qui est donné à +/- 0,2ppm , mais avec une dimension de 5,0 x 3,2 mm et qui s’alimente en 3,0V. DM4DS à proposer une petite platine d’adaptation (un pont diviseur pour passer le point d’alimentation 3.3V (récupéré sur C165) ainsi qu’une vidéo qui explique les points d’alimentation et raccordements.

Injecter un signal externe de référence

DL4TMA : Ajout d’un connecteur SMA externe

Pour améliorer la stabilité du PlutoSDR, on peut également amener à la place du TCXO, un signal externe très stable qui peut être celui-ci d’un oscillateur asservi par GPS, voir d’un oscillateur rubidium, comme ceux embarqué dans les satellites, pourquoi pas. On n’est pas tenu à amener du 40 MHz, mais l’Adalm Pluto peut recevoir un signal de la plage de 10 à 80 MHz. Il faudra bien sûr paramétrer le PlutoSDR en lui indiquant la nouvelle fréquence de référence.

Il convient de dessouder le TCXO existant et d’apporter en Pin 3, le signal externe qui doit être de 1,8V crête-à-crête maximum. Sur la platine PlutoSDR, C123 et C124, en diviseur capacitif permet de descendre la tension à 1.3Vc-c, maximum attendue à l’entrée XTAL de l’AD9363.


Une autre proposition de F4DAV est d’utiliser la pin 1 E/D (Enable/Disable) du TCXO RAKON pour activer ou désactiver le fonctionnement du TCXO d’origine. En mettant la Pin1 à la masse (GND) , le TCXO RAKON est désactivé.

Mise en oeuvre par F4DAV

Commande de désactivation du TCXO d’origine du PlutoSDR

 

Programmer la nouvelle fréquence de référence et redémarrer votre PlutoSDR

Si votre référence externe ou votre TCXO n’est pas à 40MHz, mais par exemple à 25MHz, il faudra indiquer ce changement à l’AD9363. Pour ce faire connectez-vous au Pluto (comme indiqué plus loin au paragraphe Connexion au Pluto SDR par terminal dans cet article)

fw_setenv ad936x_ext_refclk "<25000000>"
fw_setenv xo_correction 25000000
pluto_reboot reset

Pour vérifier si les changement ont bien été pris en compte, reconnectez-vous, et lancer la commande

cat /proc/device-tree/clocks/clock@0/clock-frequency | xxd

Ça devrait vous afficher la ligne

# 00000000: 017d 7840 .}x@

La valeur retournée, est en hexadécimal. La valeur hexa 017d7840 est bien 25000000 décimal (vérifier par exemple avec ce convertisseur en ligne), notre fréquence a donc bien été appliquée.


Voici quelques références de générateurs GPSDO que l’on peut utiliser. Toutefois, je rappelle qu’il vous faut tenir un maximum de 1.8Vc-c en amont de C123. Le modèle programmable de LeoBodnard, réglé sur 36mA devrait vous délivrer 1,6Vcc sur 50 ohms, est donc bien adapté pour cela.

EA3HMJ propose de rajouter un interrupteur sur l’alimentation du TCXO pour permettre de faire le choix de la source interne (TCXO) ou externe (GPSDO). Il convient alors de dessouder la patte C122 et de la raccorder à l’interrupteur. La Pin 4 du TCXO est alors isolé et peut être raccordé à l’interrupteur.

Commutateur de sélection TCXO/GPSDO

Mise en oeuvre de EA3HMJ

Les pilotes Windows

Il est bientôt temps de brancher l’Adalm Pluto au PC.

        1. Télécharger et installer le driver pour Windows (https://wiki.analog.com/university/tools/pluto/drivers/windows ou le fichier PlutoSDR-M2k-USB-Drivers.zip v0.7 directement depuis ce site)
        2. Il est temps de brancher pour la première fois l’Adalm Pluto par sa prise USB centrale directement à l’ordinateur. Un disque va apparaître dans votre explorateur de fichier. Il porte le nom PlutoSDR. La LED1 cligntote lentement.
        3. Double-clic sur le fichier info.html. En bas de page, vous allez trouver l’adresse IP de votre PlutoSDR connecté à votre port USB. La page info.html est également accessible par l’adresse IP placé dans votre navigateur depuis le PC sur lequel est connecté votre Adalm Pluto. Tapez en URL de votre navigateur, ou cliquer : http://192.168.2.1

Mise à jour de firmware

Nous allons à présent mettre en place le firmware officiel d’Analog Device v0.31. Cette opération est nécessaire pour appliquer ensuite le firmware développé par Evariste F5OEO. Vérifier la version en place n’est pas déjà la dernière sur la page d’informations de l’Adalm Pluto, ligne Build. Si c’est le cas, passer au paragraphe suivant.

  1. Télécharger le fichier plutosdr-fw-v0.31.zip sur https://github.com/analogdevicesinc/plutosdr-fw/releases/latest ou directement sur ce site : plutosdr-fw-v0.31
  2. Extraire le contenu du fichier zip.

  3. Votre Adalm Pluto est branché. Copier le fichier pluto.frm à la racine du lecteur PlutoSDR
  4. Pour lancer la programmation du firmware, faire un clic droit sur le lecteur PlutoSDR, et cliquer sur Ejecter.
  5. La LED1 se met à clignoter rapidement. Cela dure trois à quatre minutes. Ne surtout pas interrompre le processus au risque d’endommager votre équipement.
  6. Après mise à jour, le lecteur PlutoSDR réapparait dans votre explorateur. Vous pouvez lancer votre navigateur internet et accéder à la page principale de l’Adalm Pluto par http://192.168.2.1/

Etendre les capacités de l’Adalm Pluto

Augmenter la gamme de fréquence

La version actuelle du Pluto utilise la puce AD9363 qui est “limitée” à une gamme de fréquences de 325 à 3800 MHz et une largeur de bande de 20 MHz. Cependant, la puce AD9364, qui peut supporter une fréquence de 70 MHz à 6000 MHz et une largeur de bande de 56 MHz, est censée être presque identique à la puce AD9363. L’Adalm Pluto peut être trompé pour qu’il voit une puce AD9364 simplement en changeant une variable de paramétrage, mais il n’est pas garanti que soit donner la gamme intégrale des fréquences et la toute la largeur de bande pour toutes les appareils. Il est possible que les puces AD9363 soient en fait des puces AD9364 qui ont échoué aux contrôles de qualité des performances et qui viennent d’être rebaptisées en modèle bas de gamme, ou qu’un procédé au silicium moins coûteux soit utilisé avec la puce bas de gamme.

Connexion au Pluto SDR par terminal

Sur l’ordinateur sur lequel votre Adalm Pluto est branché, nous allons installer un logiciel d’émulation de terminal. J’utilise et conseille Putty.

Connectez-vous avec un logiciel terminal, en indiquant l’adresse IP du PlutoSDR, protocole SSH (port 22).

Saisir le login et mot de passe par défaut.

login : root
password : analog
Warning: Permanently added '192.168.2.1' (ECDSA) to the list of known hosts.
root@192.168.2.1's password: analog
Welcome to:
______ _       _        _________________
| ___ \ |     | |      /  ___|  _  \ ___ \
| |_/ / |_   _| |_ ___ \ `--.| | | | |_/ /
|  __/| | | | | __/ _ \ `--. \ | | |    /
| |   | | |_| | || (_) /\__/ / |/ /| |\ \
\_|   |_|\__,_|\__\___/\____/|___/ \_| \_|

v0.31
http://wiki.analog.com/university/tools/pluto
#

Par défaut, les deux commandes suivante devraient vous retourner les erreurs :

# fw_printenv attr_name
## Error: "attr_name" not defined
# fw_printenv attr_val
## Error: "attr_val" not defined
#

Passer les deux commandes et redémarrager le pluto avec la troisième ligne

# fw_setenv attr_name compatible
# fw_setenv attr_val ad9364
# reboot

Après redémarrage et reconnexion à votre PlutoSDR, les deux commandes retournent les paramètres sauvegardés.

# fw_printenv attr_name
attr_name=compatible
# fw_printenv attr_val
attr_val=ad9364
#

Activer le second cœur de processeur du PlutoSDR

Il n’est pas sûr que cela soit vraiment utile, mais peut être pour les signaux très larges de quelques méga-symboles…

La commande suivant vous retourne les caractéristiques du processeur.

cat /proc/cpuinfo

Toujours connecté avec votre terminal à l’Adalm Pluto, lancer la commande.

fw_setenv maxcpus

Vous pouvez relancer la commande suivante, le résultat montre à présent les deux cœurs de CPU.

# cat /proc/cpuinfo
processor       : 0
model name      : ARMv7 Processor rev 0 (v7l)
BogoMIPS        : 666.66
Features        : half thumb fastmult vfp edsp neon vfpv3 tls vfpd32
CPU implementer : 0x41
CPU architecture: 7
CPU variant     : 0x3
CPU part        : 0xc09
CPU revision    : 0

processor       : 1
model name      : ARMv7 Processor rev 0 (v7l)
BogoMIPS        : 666.66
Features        : half thumb fastmult vfp edsp neon vfpv3 tls vfpd32
CPU implementer : 0x41
CPU architecture: 7
CPU variant     : 0x3
CPU part        : 0xc09
CPU revision    : 0

Hardware        : Xilinx Zynq Platform
Revision        : 0003
Serial          : 0000000000000000
#

Evariste F5OEO a développé tout une série de logiciels de traitement SDR. Les premiers étaient consacrés à l’émetteur/récepteur LimeSDR. Pour le PlutoSDR, Evariste propose directement un firmware à installer sur l’équipement : PlutoDVB.  Le firmware intègre un transmetteur d’image DATV, mais également d’autres possibilités : Un émetteur SSB bande étroite, un émetteur SSTV bande étroite, un modulateur numérique FREEDV bande étroite, et un modulateur pour dessiner des images sur le waterfall SDR.

Je vais développer ici uniquement la fonction de modulateur numérique vidéo du firmware.

Télécharger le firmware PlutoDVB F5OEO

A ce jour, Evariste a publié plusieurs versions de firmware :

J’utilise comme beaucoup d’autres, la dernière version baptisée “pour les braves”. Elle fonctionne correctement. Les explications qui suivent se basent sur cette version.

Installer le firmware de Evariste F5OEO

  1. Télécharger le fichier frm ou dézipper le contenu d’un des fichiers zip. Le fichier pluto.frm constitue le firmware.
  2. Installer le firmware en suivant les étapes comme indiquées précédemment.
  3. Après mise à jour du firmware, le lecteur PlutoSDR réapparait dans votre explorateur. Vous pouvez lancer votre navigateur internet et accéder à la page principale de Pluto_DVB installé sur l’Adalm Pluto par http://192.168.2.1/

Accéder au Pluto SDR à distance par réseau

Cette opération n’est pas obligatoire en soit. Vous l’avez constaté, lorsque l’Adalm Pluto est connecté par prise USB, l’appareil est identifié par une adresse réseau IP 192.168.2.1. Pour permettre d’accéder au PlutoSDR à distance, à travers votre réseau local Ethernet, nous avons besoin de placer un adaptateur USB/Ethernet. Vous pourrez ainsi transmettre vos images DATV depuis un ordinateur distant connecté à votre réseau local. Tel qu’indiqué par Analog Device, plusieurs adaptateurs peuvent fonctionner. J’ai installé celui qui suit et fonctionne pour moi.

Normalement votre PlutoSDR une fois branché comme indiqué sur le schéma ci-contre, devrait automatiquement disposer d’une adresse IP donné par votre routeur de réseau (routeur, ou box internet). Dans mon cas, cela n’a pas été dans ce sens. Pour avec une adresse IP fixe, qui ne change pas, j’ai donc modifié le fichier qui se trouve sur dans le répertoire racine du lecteur PlutoSDR dans le fichier config.txt .

Ne pas modifier l’adresse de la partie NETWORK mais uniquement l’adresse de la section USB_ETHERNET.

ipaddr_eth = 192.168.1.8
# Analog Devices PlutoSDR Rev.B (Z7010-AD9363)
# Device Configuration File
#   1. Open with an Editor
#   2. Edit this file
#   3. Save this file on the device USB drive
#   4. Eject the device USB Drive
# Doc: https://wiki.analog.com/university/tools/pluto/users/customizing

[NETWORK]
hostname = pluto
ipaddr = 192.168.2.1
ipaddr_host = 192.168.2.10
netmask = 255.255.255.0

[WLAN]
ssid_wlan = 
pwd_wlan = 
ipaddr_wlan = 

[USB_ETHERNET]
ipaddr_eth = 192.168.1.8
netmask_eth = 255.255.255.0
gateway_eth = 192.168.0.254

[SYSTEM]
xo_correction = 
udc_handle_suspend = 0

[ACTIONS]
diagnostic_report = 0
dfu = 0
reset = 0
calibrate = 0

OBS Studio

Nous avons besoin d’envoyer un flux vidéo vers le serveur intégré à PlutoDVB. Il est possible par exemple de streamer directement une image en provenance d’un smartphone, avec le logiciel Larix Broadcaster. Je ne pas développer ce support, mais si cela vous intéresse, vous trouverez un exemple de paramétrage sur la page d’aide intégré à PlutoDVB (au paragraphe Phone). Il me semble beaucoup plus intéressant de présenter le logiciel que j’utilise préférentiellement pour transmettre mes images DATV: OBS Studio.

OBS Studio (Open Broadcaster Software – Logiciel libre pour les radiodiffuseurs) est un opensource gratuit qui permet de composer des images vidéo, et de les diffuser vers les plateformes internet comme Youtube ou twitch par exemple. Il est souvent utilisé par les Gamers qui diffuse en live leur partie de jeu. Dans notre cas d’usage, nous n’allons évidemment pas diffuser vers internet, mais on va envoyer notre flux vidéo vers le PlutoSDR.

Ce logiciel est vraiment flexible avec une interface intuitive et permet de composer ses images, avec de multiples sources vidéos (webcam, internet), audios, images fixes, textes défilants… des filtres permettent de traiter, modifier la vidéo et l’audio, des transitions permettent de basculer d’une composition (scènes telles que le logiciel les appels) à une autre. Des plugins permettent d’ajouter d’intéressante fonctions.  La seule limite que j’y vois sera votre inspiration.

Notre première mire de réglage dans OBS Studio

Pour nous familiariser avec le logiciel, et après avoir installé OBS Studio, nous allons constituer notre première Scène, pour diffuser une mire de réglage télévision personnalisée. Voyons cela étape par étape.

  1. Télécharger et installer OBS Studio
  2. Lancer le logiciel pour la première fois. Répondre Non à la question Auto-configuration. Votre installation est initialisé avec un profil par défaut, dans laquelle une scène vide est placée.
  3. La première chose à faire est de régler la définition de votre écran diffusé. Cliquer dans le menu Fichier / Paramètres. Allez sur l’écran Vidéo, et définissez votre résolution de base, et de sortie (à l’identique). Les diffusions et écrans sont largement maintenant au format 16:9.  Valider par OK

  4. Nous allons renommer la première Scène en Mire-TV pour que nous puissions nous y retrouver lorsque nous aurons d’autres Scènes ajoutée. Clic droit sur la scène, choisir Renommer. Je saisis Mire.
  5. Ajoutons à présent une image à la Scène, en cliquant sur le signe plus, puis en choisissant la source Image.
  6. Donner le nom à votre image “Mire TV”. Cliquer OK
  7. Sélectionner votre image. Vous pouvez télécharger le fichier Mire-TV.jpg. Cliquer OK.

  8. A l’aide des poignées rouges, redimensionner l’image à la largeur de la scène. Lorsque ça place définitive est trouvée, verrouiller sa positionnant en cliquant sur le cadenas de la source Mire TV. Cela évitera par la suite de déplacer l’image par inadvertance.

  9. Nous allons à présent ajouter votre indicatif à la mire. Avec un clic sur le plus, ajouter une source Text(GDI+). Procéder comme dans le premier cas, au nommage de la source. Dans la fenêtre de propriétés, vous pouvez définit une police de caractère, la couleur de votre choix. Saisir votre indicatif personnel dans le champs Texte. Cliquer OK. Le texte s’ajoute à votre scène.
  10. Prendre garde que dans la liste des sources, votre texte soit bien listé au dessus de l’image de fond, pour quelle soit affiché. En effet, l’ordre des sources défini les couches de superposition dans la scènes. Redimensionner votre texte.
  11. Il nous reste à ajouter du son à la mire. Vous allez à présent choisir une source Média, et la nommé Musique de fond par exemple. Les formats audio acceptés sont mp3, acc, ogg et wav. Dans les propriétés de la source, pensez à cocher Boucle pour que la musique redémarre sans cesse. Je vous invite à vérifier les conditions de licences de vos sources audio avant de les intégrer à vos diffusions. Voici quelques plateformes qui peuvent vous servir à trouver vos musiques
    1. freemusicarchive.org
    2. bensound.com
    3. free-stock-music.com
  12. Votre première scène Mire TV statique est terminée. Vous aurez vite compris, que vous pouvez ajouter d’autres scènes avec des sources qui peuvent être une caméra USB, ou une caméra réseau. Les sources à utiliser sont ‘Périphérique de capture vidéo’. Vous pourrez également faire des captures de vos applications, ou de votre bureau directement grâce à la source ‘Capture de fenêtre’ ou à la source ‘Capture d’écran’. Pour l’audio, pour ajouter un microphone, vous utiliserez la source Capture Audio (entrée).
  13. Suivant le même principe, vous ajouter une autre composition, une autre scène, par exemple pour intégrer une webcam branchée sur votre PC :
    1. Cliquer sur le + en bas de la colonne Scènes. Donner un nom à la nouvelle Scène
    2. Cliquer sur le + en bas de la colonne Sources. Choisir “Périphérique de capture vidéo”, puis choisir votre source vidéo connectée

    3. Vous pouvez également intégrer dans la scène une source d’image réseau (Source média), par exemple celle de la diffusion faite par votre réception DATV (Minitiouner par exemple). Décocher Fichier local, et indiquez en entrée l’adresse IP source par exemple udp://@230.0.0.10:10001. Vous pouvez également un smartphone équipé d’une caméra pour diffuser votre vidéo. Sous Android, j’utilise le logiciel Droidcam ou IP Webcam.

  14. Je vous invite passer en affichage “Mode Studio” (par le bouton de commande en bas à droite). A droite, est affiché l’image envoyée (streamée), et à gauche, la scène que vous êtes près à envoyer.
  15. Pour passer d’une scène à une autre, sélectionner la scène à transmettre, puis cliquer sur l’un des boutons “Transition” positionnés entre les deux images. Vous choisirez une des transitions disponibles (Coupure, fondu, balayage …). Les transitions sont configurables en durée et en rendus avec le panneau Transition de scènes / Priorités, ou en ajoutant une transition par le bouton +.

 

 

A présent que nous avons un peu de matière à diffuser, voyons le paramétrage attendu par l’Adalm Pluto et PlutoDVB. Ce dernier intègre un serveur RTMP (Real-Time Messaging Protocol) qui va recevoir le flux vidéo envoyé par OBS Studio. C’est principalement ce serveur et la façon très simple de diffuser le flux vers le PlutoDVB qui fait tout son intérêt. La mise en oeuvre facilité du firmware d’Evariste F5OEO réside dans la simplicité d’une “ligne de paramètres” envoyée depuis OBS à l’Adalm Pluto. Voyons cela en détail.

Génération du flux vidéo (stream)

  1. Dans les paramètres OBS (Fichier/Paramètres), nous allons indiquer la destination de PlutoSDR : Dans l’onglet Stream, choisir le Service “Personnalisé…”
  2. Dans le champ “Clé de stream”, en seconde ligne, indiquer votre indicatif entouré de deux virgules. A la première ligne Serveur, le serveur RTMP  intégré à l’Adalm Pluto va être indiqué, ainsi que toutes les caractéristiques de l’émission DATV. Attention à ne pas oublier une des virgules de séparation.Voici un exemple.

  3. Détaillons à présent les paramètres qui constituent la ligne.
    1. L’adresse IP est celle de votre Pluto. Connecté en USB il s’agit de 192.168.2.1. Si votre Pluto est connecté au réseau, il s’agit bien sûr de l’adresse IP de votre PlutoSDR sur le réseau. Le port 7272 est la valeur par défaut à utiliser pour transmettre le flux vidéo.
    2. La fréquence d’émission doit être choisie en corrélation avec le plan de bande du transpondeur bande large du satellite Qatar Oscar 100. Elle dépend de l’occupation du spectre et de la largeur Symbol Rate que vous allez utiliser. On choisi sur le webSDR du BATC eshail.batc.org.uk/wb un canal de libre et prioritairement dans la portion bande étroite libre. Référez-vous aux règles précisées au chapitre ‘Les règles d’utilisation et plan de bande du transpondeurs DATV‘.

      Select a free frequency

    3. Le mode (habituellement DVB-S2).
    4. La constellation de modulation de phase. Pour le mode DVBS, seul la constellation QPSK est possible.
    5. Le Symbol-Rate (SR) est le débit de symboles de l’émission. C’est le SR qui est la grandeur principale qui détermine la largeur de bande de fréquence de votre signal. Pluto DVB accepte de 33 à 2000 kS.
    6. Le FEC signifie Forward Correction Error. Le FEC est un rapport de données entre les données utiles (image, son) et les données ajoutées à la transmission et qui servent dans une certaine proportion et d’après les critères de vraisemblance, à la correction d’erreurs lors du décodage, erreurs causées par les aléas de la transmission. A l’émission on introduit des données permettant au récepteur de reconstituer les informations utiles qui se seraient perdues. Le FEC peut ainsi prendre des valeurs comme 14 pour 1/4, 13=1/3, 25=2/5, 12=1/2, 35=3/5, 23=2/3, 34=3/4, 45=4/5, 56=5/6, 89=8/9, 910=9/10. Il s’agit du nombre de bit utile pour le nombre de bit transmis par exemple : 3/5 correspond à 3 bits utiles pour 5 bits transmis, soit 2 servant à la correction.
    7. Le Gain est exprimé en dBm, le maximum de signal à l’émission est atteint en réglant la valeur à 0.
    8. La calibration d’émission (un pic d’amplitude maximum) peut être générée avec la valeur calib. (premier des paramètres optionnels – et non testé pour ma part)
    9. Le délai PCR/PTS pourra être augmenté si l’encodage souffre d’un manque de débit. Nous allons y revenir plus en détail. (paramètre optionnel)
    10. Le débit audio diffusé peut être limité par PlutoDVB (paramètre optionnel). OBS Studio ne peut diffuser au minimum que 64 kbit/s d’audio. Cela peut donc être intéressant de passer à 32kbit/s et de faire profiter de ce débit gagné au flux vidéo ou de correction.

Le flux TS vers PlutoDVB – Le débit vidéo

Nous allons à présent indiquer à OBS Studio le débit de données que nous allons faire parvenir à PlutoDVB (le TS, Transport Stream), la définition de l’image transmise, et l’encodage de compression du flux vidéo.

Le débit vidéo

Nous allons remplir le TS (canal de transport vidéo – Transport Stream) à un « taux d’échantillonnage fixe » (CBR Constant Bit Rate). Le CBR se calcule et dépend du mode (DVB_S, DVB_S2), de la constellation choisi (QPSK, 8PSK…), du débit de symboles choisi (qui lui même avec le coefficient de rolloff, définit la largeur de bande occupée par votre signal).

Des calculateurs sont disponibles pour réaliser le calcul du débit. Je cite ici deux calculateurs de débit en ligne.

Calcul sur Satbroadcasts.com

Calcul sur roks-tv.com

Pour une transmission “classique” DVB-S2 /QPSK, dans ces outils, choisir la constellation (QPSK), indiquer qu’il s’agit de DVB-S2, et saisir votre choix de “largeur” SymbolRate (333 par exemple), et choisir le FEC. Cela vous donne la valeur de débit net (Netto TS bitrate, ou Netto data rate).

Cette valeur de débit net totale intègre les données vidéo, audio et également quelques autres données de “contrôle” DVB (PMT – Program Map Table, PAT – Program Association Table, SDT – Service Description Table). Bien entendu la données la plus volumineuse est la vidéo elle même.

Pour déterminer le débit vidéo (CBR), nous prenons entre 60 et 70 % du débit net. Le plus important dans un premier temps est que le débit ne soit pas trop important. Dans le tableau qui suit, vous trouvez dans la colonne CBR, les valeurs de débit vidéo que j’utilise moi même (avec le buffer délai PTR/PTS de 800, valeur par défaut utilisée par PlutoDVB, et avec forçage du débit audio à 32 kbit/s dernier paramètre de la ligne de Stream).

Le tableau vous donne les débits pour un signal DVB-S2 en QPSK. Les pages suivantes du tableau affichent les SR supérieures.

FECSymbolRate (kS/s)Brut data rateNetto data rateOBS CBR (kbps)Mini MER RX
extremely high (1/4)12525061-2.35
very high (1/3)12525081-1.24
very high (2/5)12525098-0.3
highest (1/2)1252501231
highest (3/5)1252501482.23
normal (2/3)1252501663.1
adequate (3/4)1252501854.03
acceptable (4/5)125250198724.68
low (5/6)125250206785.18
very low (8/9)125250221906.2
very low (9/10)125250223956.42
extremely high (1/4)250500122-2.35
very high (1/3)250500162-1.24
very high (2/5)250500197-0.3
highest (1/2)2505002471
highest (3/5)2505002972.23
normal (2/3)2505003323.1
adequate (3/4)2505003714.03
acceptable (4/5)2505003964.68
low (5/6)2505004122805.18
very low (8/9)2505004426.2
very low (9/10)2505004476.42
extremely high (1/4)333666163-2.35
very high (1/3)333666216-1.24
very high (2/5)333666262-0.3
highest (1/2)3336663292101
highest (3/5)3336663952702.23
normal (2/3)3336664423203.1
adequate (3/4)3336664953804.03
acceptable (4/5)3336665284104.68
low (5/6)3336665484305.18
very low (8/9)3336665884656.2
very low (9/10)3336665954706.42
extremely high (1/4)5001000245-2.35
very high (1/3)5001000324210-1.24
very high (2/5)5001000394270-0.3
highest (1/2)50010004943701
highest (3/5)50010005944752.23
normal (2/3)50010006645403.1
adequate (3/4)50010007436204.03
acceptable (4/5)50010007936654.68
low (5/6)50010008247005.18
very low (8/9)50010008847606.2
very low (9/10)50010008946.42
extremely high (1/4)10002000490370-2.35
very high (1/3)10002000649530-1.24
very high (2/5)10002000789650-0.3
highest (1/2)100020009888301
highest (3/5)10002000118810302.23
normal (2/3)10002000132811403.1
adequate (3/4)10002000148713104.03
acceptable (4/5)1000200015874.68
low (5/6)1000200016485.18
very low (8/9)1000200017686.2
very low (9/10)1000200017886.42

Prenons l’exemple de ce signal: Nous allons transmettre un signal DVBS2 en QPSK et à 333 KS (kilo-symboles). Nous allons débuter avec un fort taux de correction 1/2 (soit 50% de données de corrections). La valeur CBR est de 220 kbps.

 

 

Reportons cette valeur de CBR dans OBS Studio :

  1. Ouvrir le le panneau Paramètres (depuis le menu Fichier, ou directement depuis le bouton de commandes, en bas à droite du l’écran)
  2. Sélectionner la seconde ligne “Stream”
  3. Choisir le Service “Personnalisé”
  4. Saisir la ligne de commande du flux dans l’onglet Stream pour émettre ver le satellite.
    rtmp://192.168.1.8:7272/,2408.25,DVBS2,QPSK,333,12,0,nocalib,800,32,
    

    et la clé stream avec votre indicatif entouré de virgules

    ,F5UII,
  5. Sélectionner la troisième ligne “Sortie”
  6. Nous basculons le mode de sortie de Simple à Avancé.
  7. Choisir l’onglet Streaming. Nous allons renseigner le débit CBR
  8. Valider ces réglages en cliquant sur OK de la fenêtre Paramètres
  9. Nous pouvons passer à l’émission en cliquant sur le bouton de commandes Commencer le streaming. Pour réaliser vos premiers essais, je vous conseille de na pas d’émettre vers QO100. Après quelques secondes, le signal d’émission est effectif. Notez que le même bouton vous permet de cesser les émissions.
  10. Si l’Adalm Pluto reçoit bien le flux, en bas à droite de la fenêtre d’OBS Studio apparaît le voyant vert.

Avec les outils d’analyses intégrés de PlutoDVB, nous allons vérifier que notre débit CBR n’est pas trop important et également, également, à contrario, si nous pouvons l’augmenter un peu. Cliquer sur le bouton Analysis (ou accéder directement à la page dédiée du PlutoSDR http://192.168.2.1/analysis.php).

Sur cette vidéo, vous pouvez comparer les deux cas.

 

Pour affiner le débit vidéo CBR, je conseille la technique suivante :

En fonction de la dynamique de vos images vidéo, vous pouvez être amené à constater une amplitude de variation du buffer plus importante. Si tel est le cas et que le signal passe temps à autre sous l’axe horizontal mais revient bien en régime établi en zone verte, vous pouvez augmenter la valeur PCR/PTS (buffer) (1000-1500 par exemple). L’inconvénient est l’allongement de délai de transmission.

Le choix du FEC

Avant de voir comment choisir le bon FEC, il faut introduire la notion de MER.

Le MER (Modulation Error Rate)

Le taux d’erreur de modulation ou MER (Modulation Error Rate) est une mesure utilisée pour quantifier la performance d’un émetteur ou d’un récepteur de radio numérique (ou de télévision numérique) dans un système de communication utilisant la modulation numérique (telle que la modulation PSK). Un signal envoyé par un émetteur idéal ou reçu par un récepteur aurait tous les points de la constellation précisément aux emplacements idéaux, cependant diverses imperfections altère la constellation dans la mise en œuvre (telles que le bruit, le faible taux de rejet d’image, le bruit de phase, la suppression de la porteuse, la distorsion, etc.

On peut considérer que le MER est un indicateur de la force du signal à la réception. Si votre signal d’émission est abaissé de 3 dB, vous allez constater une diminution d’environ 3 dB MER à la réception.  Les niveaux de réception minimum (MER minimum) sont dépendant du FEC de l’émetteur :

MER de 6.4dB pour un minimum requis de 4dB (FEC3/4)

Vous ne pourrez décoder des images à un niveau MER donnée uniquement sous condition de faire le choix d’un FEC qui ne requière pas plus de signal. Par exemple, pour un signal avec un FEC de 3/4, (3 données utiles + 1 donnée en correction d’erreur), votre signal de sera être décodé uniquement si le MER de réception est de 4.2 dB. Référez vous à la colonne de droite du tableau ci-dessus.

La puissance et largeur de signal nécessaires

Pour un signal de 250 KS sur une parabole de 1.2m, il est commun d’indiquer qu’il vous faut 30W. En doublant la taille de votre parabole, vous diviserez la puissance nécessaire par 4. Dans le tableau ci-dessous voici comment évolue la puissance nécessaire pour un signal de 250KS en fonction du diamètre de la parabole.

Dish diameter (cm)Power (W)Power (dBm)
6012050.8
806748.3
905347.2
1004346.3
1203044.8
1501942.8
1801341.1
2001140.4
2407.538.4

Mais également, en fonction de la largeur de spectre transmis , vous aller multiplier la puissance nécessaire par le coefficient indiqué dans le tableau suivant pour connaitre la puissance nécessaire. Par exemple, vous pouvez émettre un signal de 125 KS et une parabole de 1.2m en passant à la moitié de puissance soit 15W. Vous retrouver le même niveau de signal, juste en transmettant moins de données via le satellite.

SR (kSymbol)Factor
20008.00
15006.00
10004.00
5002.00
3331.33
2501.00
1250.50
660.26
330.13

La définition de l’image est la taille de l’image, de la vidéo que vous allez transmettre. Vous aller choisir la définition en fonction de votre débit de votre vidéo CBR. Vous comprendrez aisément qu’il n’est pas possible de transmettre une grande image fluide sans effet de flou ou d’artefacts sur un petit débit. La compression H.264 est une compression en règle général disponible en standard sur les PC et les cartes graphiques;

Régler votre définition et l’encodeur H.264 dans les paramètres OBS Studio, dans les champs Encodeur (x264 ou autre encodeur h264 proposé, fonction de votre carte graphique) et une mise à l’échelle de la sortie.

Il existe par ailleurs l’encodage H.265 avec une compression beaucoup plus performant, et capable d’être envoyé au PlutoDVB. Grâce à un algorithme qui permet d’augmenter les zones statiques dans l’image et de “resserrer” le maillage de compression, l’encodeur H.265 est capable de faire économiser jusqu’à 70 à 80 % de bande passante pour une qualité identique à l’encodage H.264

A contrario, l’encodage H.265 est disponible que sur certaines cartes graphiques récentes. Les cartes Nvidia de troisième génération intègre pour certaines un encodeur NVENC H.265 (NVIDIA’s encoder). Référez-vous à la liste du constructeur de GPU pour savoir si là votre intègre cette technologie d’encodage H.265.

L’encodeur vidéo h.265 externe

Pour ceux qui ne dispose par de PC avec carte graphique qui supporte l’encodage H.265, il existe la possibilité d’utiliser un encodeur externe  tel que celui-ci, référencé ON-DMI-16D (1080P@50fps)  ou ON-DM1-16A (1080p@60fps):

Synoptique avec l’encodeur vidéo intégré au réseau

Le boitier est à considérer comme un vidéoprojecteur qui serait connecté à votre ordinateur. Sauf que dans notre cas, l’encodeur ne projecte pas d’image mais encode la vidéo et l’audio pour l’envoyer par réseau vers un récepteur/diffuseur, récepteur qui dans notre cas est l’Adalm Pluto avec le firmware PlutoDVB. L’encodeur H.264/H.265 possède un connecteur HDMI par lequel nous allons envoyer la vidéo et l’audio. Il est conseillé d’utiliser le cable RJ45 pour connecter le boitier au réseau plutôt au réseau wifi, qui est plus sujet à perturbation.

Vous trouverez cet encodeur H.264 et H.265 à un tarif intéressent distribué par le marché chinois :

Voici le manuel de l’encodeur H265 : H.265 HDMI Video Encoder Quick Start Guide_ERV1.2.pdf

Un article complet traitant de la mise en oeuvre de cet encodeur externe avec le Pluto (version Brave) est disponible sur ce blog : DATV : Comment encoder en h.265 avec un encodeur externe HDMI

Notez qu’Evariste est actuellement (mai 2020) au travail pour diminuer les délais d’encodage, et faire en sorte que le flux soit plus conforme aux normes DVB-S2, DVB-S  (Voir le tweet de @f5oeo à ce sujet). On attend toujours avec impatiente la livraison de ses développements…

 

This page is the official rules established for usage of the wideband transponder of the QO-100 satellite. March 2020 edition. See the BATC website for the current version.

Due to the very large number of potential users, all transmitting stations should monitor the wideband spectrum monitor and the co-ordination chat window that has been established by AMSAT-DL and the BATC at https://eshail.batc.org.uk/wb/

Transponder Usage

En règle générale, le transpondeur ne doit être utilisé que pour des tests et des contacts de courte durée. Les seules transmissions de longue durée (plus de 10 minutes) devraient être :

Les contenus suivants sont inacceptables :

La retransmission de signaux de télévision amateur terrestre est déconseillée, sauf si le contenu présente un intérêt exceptionnel pour les radioamateurs.

Puissance de transmission

Toutes les transmissions doivent utiliser en voie montante le minimum de puissance possible. Les transmissions QPSK doivent avoir un signal de liaison descendante avec une densité de puissance inférieure d’au moins 1 dB à celle de la balise – Le système de monitoring du spectre disponible en ligne permet aux utilisateurs de régler leur puissance d’émission pour y parvenir. Les transmissions avec des débits inférieurs à 333 kS utilisant 8PSK, 16 APSK ou 32 APKS doivent utiliser la puissance minimale nécessaire pour obtenir une bonne réception.

Modes de transmission

Les transmissions doivent utiliser le DVB-S2 dans la mesure du possible.  Pour les transmissions en définition standard classique, 2 MS est le débit maximum de symboles qui doit être utilisé de facto.

Pour permettre un décodage facile, les PID DVB suivants sont recommandés : Vidéo 256, Audio 257, PMT 32 ou 4095, PCR 256 ou 258.  Le nom du service doit correspondre à l’indicatif d’appel. Les PID PMT 4000 – 4010 ne doivent pas être utilisés.

Les mercredis (heure UTC), les expérimentateurs sont encouragés à essayer d’autres modes – peut-être 6 MS utilisant l’ensemble du transpondeur pendant de brèves périodes (moins de 10 minutes). Il est essentiel que les utilisateurs annoncent leurs essais sur la page du salon de discussion (chat), et qu’ils la surveillent en permanence.

Les expérimentations utilisant des modes inhabituels (par exemple ranging) doivent utiliser le segment inférieur de 1,5 MHz de la partie DATV large et étroit (‘’Wide and Narrow DATV’’).

Balise

La balise (Beacon) émet en continu (10491,5 MHz, DVB-S2, SR 1500 kS) pour fournir un signal de test et permettre aux nouveaux utilisateurs d’aligner précisément leurs antennes.

Plan de bande

QO-100 Es’hail-2 Wideband Spectrum Monitor

  1. Les transmissions DATV étroites doivent être limitées à la section DATV étroite (‘’Narrow DATV’), mais peuvent utiliser la section DATV large et étroite (‘’Wide and Narrow DATV’’) si la section DATV étroite est entièrement occupée.
  2. Une liaison montante de maintenance occupant la bande 10494,0 MHz – 10497,0 MHz sera utilisée très occasionnellement ; les utilisateurs sont priés de lui donner la priorité absolue lorsqu’ils sont avertis.
  3. Les fréquences ponctuelles recommandées pour divers usages et débits (SR) sont indiquées ci-dessous.
Mode Symbol Rate SR (/s) Fréq Montée MHz Fréq

Descente

MHz

Notes
Balise 1500 kS 2402.0 10491.5 Balise DVB-S2 FEC 4/5
Large 1 MS 2403.75 10493.25 Les transmissions 1.5 MS et  2 MS doivent utiliser cette partie de la bande
Large 1 MS 2405.25 10494.75
Large 1 MS 2406.75 10496.25
Etroit 333 kS 2403.25 10492.75 Utilisez ces 14 fréquences pour 500 kS, 333 kS et 250 kS

 

Utilisez d’abord les fréquences supérieures à 10497.0

          Ensuite, tous les 500 kHz jusqu’à
Etroit 333 kS 2409.75 10499.25
Très étroit 125 kS 2403.25 10492.75 Utilisez ces 27 fréquences pour 125 kS, 66 kS et 33 kS

 

Utilisez d’abord les fréquences supérieures à 10497.0

          Ensuite, tous les 250 kHz jusqu’à
Très étroit 125 kS 2409.75 10499.25
  1. Montée 2401.0 – 2410.0 MHz RHCP, Descente 10490.5 – 10499.5 MHz Horizontal.

DATV : Comment encoder en h.265 avec un encodeur externe HDMI

Note that Evariste is currently (May 2020) at work to reduce encoding delays, and make the stream more compliant with DVB-S2, DVB-S standards (See @f5oeo’s tweet on this subject). We are always looking forward with eager anticipation to the delivery of all its developments .

 

 

This page is the official rules established for satellite QO-100 broadband transponder usage, March 2020 edition. See the BATC website for the current version.

Due to the very large number of potential users, all transmitting stations should monitor the wideband spectrum monitor and the co-ordination chat window that has been established by AMSAT-DL and the BATC at https://eshail.batc.org.uk/wb/

Transponder Usage

As a general principle, the transponder should be only be used for short-duration tests and contacts.  The only long-duration (more than 10 minute) transmissions should be:

The following content is unacceptable:

The relaying of terrestrial Amateur TV Repeaters is discouraged unless the content is of exceptional amateur radio interest.

Transmission Power

All uplink transmissions should use the minimum power possible. QPSK transmissions should have a downlink signal with at least 1 dB lower power density than the Beacon – the web-based spectrum monitor enables users to set their uplink power to achieve this. Transmissions with symbol rates of less than 333 kS using 8PSK, 16 APSK or 32 APSK should use the minimum power density required to achieve successful reception.

Transmission Modes

Transmissions should use DVB-S2 where possible. For normal standard definition transmissions, 2 MS is the maximum symbol rate that should routinely be used.

To enable easy decoding the following DVB PIDs are recommended: Video 256, Audio, 257, PMT 32 or 4095, PCR 256 or 258. Service Name should be set to CallSign. PMT PIDs 4000 – 4010 should not be used.

On Wednesdays (UTC time), experimenters are encouraged to try other modes – perhaps 6 MS using the whole transponder for brief (less than 10 minute) periods. It is essential that users announce their plans on the chat room page, and always monitor it.

Experiments using unusual modes (for example ranging) should use the lower 1.5 MHz of the “Wide and Narrow DATV” Segment.

Beacon

The beacon transmits continuously (10491.5 MHz, DVB-S2, SR 1500 kS) to provide a test signal and to allow new users to precisely align their antennas.

Bandplan

QO-100 Es’hail-2 Wideband Spectrum Monitor

  1. Narrow DATV transmissions should be confined to the “Narrow DATV” section, but may use the “Wide and Narrow DATV” section if the Narrow DATV section is fully occupied.
  2. A maintenance uplink occupying 10494.0 MHz – 10497.0 MHz will be used very occasionally; users are requested to give it absolute priority when notified.
  3. Recommended spot frequencies for various usages and symbol rates are listed below.
Mode Symbol Rate Uplink Freq MHz Downlink Freq

MHz

Notes
Beacon 1500 kS 2402.0 10491.5 Beacon DVB-S2 FEC 4/5
Wide 1 MS 2403.75 10493.25 1.5 MS and 2 MS transmission should use this part of the band
Wide 1 MS 2405.25 10494.75
Wide 1 MS 2406.75 10496.25
Narrow 333 kS 2403.25 10492.75 Use these 14 frequencies for

500 kS, 333 kS and 250 kS

 

Use frequencies above 10497.0 first

                     Then every 500 kHz until
Narrow 333 kS 2409.75 10499.25
Very Narrow 125 kS 2403.25 10492.75 Use these 27 frequencies for

125 kS, 66 kS and 33 kS

 

Use frequencies above 10497.0 first

                     Then every 250 kHz until
Very Narrow 125 kS 2409.75 10499.25
  1. Uplink 2401.0 – 2410.0 MHz RHCP, Downlink 10490.5 – 10499.5 MHz Horizontal.