Muxwright

Firmware & Technik

Über USB liefert der Pluto dauerhaft nur rund 7 MS/s. DVB-T mit 8 MHz braucht 9,14 MS/s. Darum läuft der Modulator auf dem Gerät selbst.

  1. PC / WSLffmpeg + TSDuck: Video, Ton, SI-Tabellen, konstante Bitrate
  2. UDPTransportstrom bis 32 Mbit/s über das USB-Netz
  3. Pluto-ARMKern 0: RS, Interleaver, Faltungscode, Mapper · Kern 1: NEON-IFFT
  4. DAC → HFAD9364, 70 MHz–6 GHz, Dämpfung 0–89,75 dB

Festkomma + NEON

Coder, Interleaver, Mapper und IFFT rechnen in Festkomma. Die Stockham-Radix-4-IFFT nutzt NEON und ist bitgleich zur C-Referenz (Prüfsumme auf x86 und ARM identisch).

Echtzeit auf 2 Kernen

8k/64-QAM/7/8 läuft mit Echtzeitfaktor 1,00 ohne Unterlauf bei 55–67 % Last je Cortex-A9-Kern. DVB-S mit 22 MBd braucht 42–63 % eines Kerns, DVB-S2 QPSK schafft bis 27 MBd auf einem Kern.

Firmware auf v0.31-Basis

Buildroot 2019.02, Linux 4.14 und FPGA-Bitstream identisch zum Original, dazu libiio/iiod 0.25, Echtzeit- und DMA-Tuning sowie ein Geräte-Agent mit HTTP-API.

Gegen Referenz geprüft

Piloten, TPS und Datenträger stimmen mit gr-dtv überein. Eigenempfang über den RX-Eingang decodiert bitexakt. Die Firmware lässt sich zuerst im RAM testen, ohne den Flash zu ändern.

DVB-T-Nutzbitraten in Mbit/s (8 MHz, Guard 1/32)
Konstellation1/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

Einblicke

Kontrollempfang, Protokoll und Medien