Muxwright

Firmware et technologie

Via USB, le Pluto ne tient qu’environ 7 MS/s en continu, alors que le DVB-T 8 MHz exige 9,14 MS/s. Le modulateur tourne donc sur l’appareil lui-même.

  1. PC / WSLffmpeg + TSDuck : vidéo, audio, tables SI, débit constant
  2. UDPTransport stream jusqu’à 32 Mbit/s via le réseau USB
  3. ARM du PlutoCœur 0 : RS, entrelaceur, code convolutif, mapper · cœur 1 : IFFT NEON
  4. DAC → HFAD9364, 70 MHz–6 GHz, atténuation 0–89,75 dB

Virgule fixe + NEON

Codeur, entrelaceur, mapper et IFFT sont en virgule fixe. L’IFFT Stockham radix-4 utilise NEON et est identique au bit près à la référence C (même somme de contrôle sur x86 et ARM).

Temps réel sur 2 cœurs

8k/64-QAM/7/8 tourne avec un facteur temps réel de 1,00 et zéro underrun à 55–67 % de charge par cœur Cortex-A9. Le DVB-S à 22 MBd utilise 42–63 % d’un cœur ; le DVB-S2 QPSK atteint 27 MBd sur un cœur.

Firmware basé sur la v0.31

Buildroot 2019.02, Linux 4.14 et bitstream FPGA identiques à l’origine, plus libiio/iiod 0.25, réglages temps réel et DMA et un agent d’appareil avec API HTTP.

Vérifié par rapport à une référence

Pilotes, TPS et porteuses de données correspondent à gr-dtv. L’auto-réception via l’entrée RX décode au bit près. Le firmware peut d’abord être testé depuis la RAM sans modifier la flash.

Débits utiles DVB-T en Mbit/s (8 MHz, garde 1/32)
Constellation1/22/33/45/67/8
QPSK6,038,049,0510,0510,56
16-QAM12,0616,0918,1020,1121,11
64-QAM18,1024,1327,1430,1631,67

Sous le capot

Surveillance, procès-verbal et médias