Repository navigation
Tutorial DTMB
What it is. DTMB (also called DMB-T/H, standard GB 20600-2006) is the digital terrestrial television standard of mainland China, Hong Kong and Macau, and it is used in Cuba and a few other countries. A channel is 8 MHz wide (6 MHz in Cuba). OnAir tunes the channel, locks the PN header, reads the system information, decodes the LDPC and BCH codes and lists the services.
Important: AVS+ video cannot be decoded. Chinese DTMB broadcasts usually send their picture as AVS+ (and some as AVS2 or AVS3) and some send their sound as DRA. These are patented codecs that OnAir does not include, and the FFmpeg inside OnAir cannot play AVS+ pictures. What works: the whole receive chain, the service list, programme information, data, and the audio of services whose sound is MPEG or AAC. The player says plainly when there is no picture. To watch the picture, save the transport stream (or send it by UDP) and open it in an external player that has an AVS+ decoder: the TV tab has Save the transport stream to a file, Stream it as UDP and Copy VLC command / Copy mpv command / Copy ffplay command for exactly that. See docs/AVSPLUS.md and docs/CODECS.md in the repository, and Voice codecs.
- A radio that samples at 8 Msps or more (the mode asks for 10 Msps). An RTL-SDR is too slow. See Supported radios.
- A UHF/VHF TV antenna with a clear view of the transmitter.
- A frequency. The frequency database lists DTMB UHF channels 21 to 68 in 8 MHz steps, from 474 MHz (channel 21) to 850 MHz (channel 68), for example 482 MHz (22), 530 MHz (28; also the mode's default) and 546 MHz (30). The mode table covers 170 to 870 MHz. The band plan for China also lists DS6 to DS12, DS13 to DS24 and DS25 to DS48 (the Chinese designations; see Modes); check the Band plan list on the Scan tab.
- Set Channel in the tuner to 8 MHz (China, Hong Kong, Macau) or 6 MHz (Cuba). A receiver set to the wrong width finds nothing.
- The panel says it plainly: DTMB-A (APSK modulations and the extra LDPC rates) is not supported, and channels other than 8 MHz at 7.56 Msymbol/s are limited. Check the panel note if a Cuban 6 MHz channel does not lock.
- Gain: Auto-tune or Optimise gain. Avoid overload from nearby towers.
- In the mode list open TV and choose DTMB (second line China, Hong Kong, Cuba).
- In the tuner pick Channel: 8 MHz or 6 MHz (Cuba). Optionally set LDPC threads (auto is fine) and Compute (CPU, GPU or Auto) for the error correction.
- Open the Scan tab, choose a Band plan, Start scan to find channels; or type a frequency and press Start.
- Watch the lamps: IQ, PN sync, SI, Carrier, LDPC, TS lock.
- Open the TV tab and pick a service. If the picture is AVS+, use the external-player buttons described above.
- A flat 8 MHz block.
- Readouts: state, header (the PN header type), modulation (Mod), code rate (Rate), interleaver, carrier mode (single carrier or multi-carrier), C/N, MER, carrier offset (CFO), LDPC ok/bad, packets, sample rate (fs), dropped samples, and codewords dropped or skipped.
- When the LDPC counts show mostly ok and the TS lamp is lit, the stream is clean.
The tab bar shows Overview, TV, Receiver, Stream, Scan, History. Receiver has the usual sub-views (Sync, Signalling, FEC, Frame map, Channel). In the TV tab an amber note says what OnAir cannot decode ("Video: ... (OnAir cannot decode this video) - audio, subtitles and data still work") with a ? button that opens the codec help.
- LDPC threads and Compute: the LDPC decoder is heavy at the high code rates; a GPU helps.
- The test signal has SNR, carrier offset, echo strength and echo delay, so you can try the equaliser.
- Stream: record, UDP/RTP, share on the network.
- No PN sync. Wrong channel width, wrong frequency, or too weak. Try the other width.
- PN sync, LDPC fails. The signal is DTMB-A or uses a mode the receiver does not support; or SNR is too low. Check the MER.
- Locks, services listed, "no picture". AVS+ video. Save the stream and use an external player, as above.
- Picture fine but no sound. The sound may be DRA, which FFmpeg cannot decode; a second sound track in another format may play.
- Dropped samples. Lower the rate if possible, or move Compute to GPU.
- Checked with real DTMB recordings that users sent (fixes in release 0.2.4).
- MHEG-5 interactive applications are not implemented.
Receiving free-to-air broadcasts is legal in most countries. OnAir does not decode encrypted services and does not try to. Check local law before using any third-party AVS decoder.
GB 20600-2006: time-domain synchronous OFDM (TDS-OFDM) or single carrier, with a PN sequence as guard interval and training, 4QAM/16QAM/64QAM and 4QAM-NR, LDPC rates 0.4, 0.6, 0.8 with a BCH outer code, two interleaver lengths. The receiver does a PN header search, carrier and clock loops, a channel estimate from the PN, system information decoding, then LDPC and BCH.
Mode page: DTMB | DVB | Voice codecs | Supported radios | Troubleshooting | FAQ
Getting started
Using OnAir
Tools and guides (0.2.7)
- Band survey
- Message database
- Watchlists
- TV recorder
- Time machine
- Pass scheduler
- Plugin SDK
- Headless server
- All guides
Radios
Modes by group
- TV
- Broadcast radio
- Aviation
- Maritime
- Satellite & navigation
- Two-way radio
- Cellular & rail
- Pagers
- IoT & sensors
- Weather & science
- Amateur: digital
- Amateur: voice & packet
- HF utility
- General & tools
Tutorials
- DVB-T2 TV with a HackRF
- FM radio with RDS
- Aircraft with ADS-B and the map
- Ships with AIS
- DAB+ digital radio
- Weather satellite images
- HF digital: FT8 and WSPR
- Digital voice: DMR, D-STAR, P25
- Pagers: POCSAG and FLEX
- Time stations and the clock
- Record IQ, then the Signal workbench
- The signal sample library
- Control a rig with Hamlib
- Two receivers and the multi-decoder
Reference
Help
Legal and privacy
More