Muxwright

Firmware e tecnologia

Via USB o Pluto sustenta só cerca de 7 MS/s, enquanto o DVB-T de 8 MHz precisa de 9,14 MS/s. Por isso o modulador roda no próprio dispositivo.

  1. PC / WSLffmpeg + TSDuck: vídeo, áudio, tabelas SI, taxa de bits constante
  2. UDPTransport stream de até 32 Mbit/s via rede USB
  3. ARM do PlutoNúcleo 0: RS, interleaver, código convolucional, mapper · núcleo 1: IFFT NEON
  4. DAC → HFAD9364, 70 MHz–6 GHz, atenuação 0–89,75 dB

Ponto fixo + NEON

Codificador, interleaver, mapper e IFFT são em ponto fixo. A IFFT Stockham radix-4 usa NEON e é bit a bit idêntica à referência em C (mesmo checksum em x86 e ARM).

Tempo real em 2 núcleos

8k/64-QAM/7/8 roda com fator de tempo real 1,00 e zero underruns a 55–67 % de carga por núcleo Cortex-A9. DVB-S a 22 MBd usa 42–63 % de um núcleo; DVB-S2 QPSK chega a 27 MBd em um núcleo.

Firmware baseado na v0.31

Buildroot 2019.02, Linux 4.14 e bitstream FPGA idênticos ao original, mais libiio/iiod 0.25, ajustes de tempo real e DMA e um agente do dispositivo com API HTTP.

Verificado contra uma referência

Pilotos, TPS e portadoras de dados batem com o gr-dtv. A autorrecepção pela entrada RX decodifica bit a bit. O firmware pode ser testado primeiro a partir da RAM sem alterar o flash.

Taxas de bits úteis DVB-T em Mbit/s (8 MHz, guarda 1/32)
Constelação1/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

Por dentro

Monitoração, relatório de teste e mídia