Muxwright

固件与技术

Pluto 通过 USB 只能持续约 7 MS/s,而 8 MHz DVB-T 需要 9.14 MS/s。因此调制器直接在设备上运行。

  1. PC / WSLffmpeg + TSDuck:视频、音频、SI 表、恒定码率
  2. UDP通过 USB 网络传输最高 32 Mbit/s 的传输流
  3. Pluto ARM核心 0:RS、交织器、卷积码、映射器 · 核心 1:NEON IFFT
  4. DAC → HFAD9364,70 MHz–6 GHz,衰减 0–89.75 dB

定点 + NEON

编码器、交织器、映射器和 IFFT 均为定点运算。Stockham radix-4 IFFT 使用 NEON,与 C 参考实现比特一致(x86 和 ARM 上校验和相同)。

双核实时

8k/64-QAM/7/8 以实时系数 1.00 运行,零欠载,每个 Cortex-A9 核心负载 55–67 %。22 MBd 的 DVB-S 占用一个核心的 42–63 %;DVB-S2 QPSK 在单核上可达 27 MBd。

基于 v0.31 的固件

Buildroot 2019.02、Linux 4.14 和 FPGA 比特流与原厂相同,另加 libiio/iiod 0.25、实时与 DMA 调优,以及带 HTTP API 的设备代理。

与参考实现比对

导频、TPS 和数据载波与 gr-dtv 一致。通过 RX 输入自收自解码比特一致。固件可先从 RAM 测试,不改动闪存。

DVB-T 有效码率,Mbit/s(8 MHz,保护间隔 1/32)
星座1/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

内部原理

监测、测试记录与媒体