Repository navigation
Tutorial ATSC 3 0
What it is. ATSC 3.0, marketed as NextGen TV, is the IP-based successor to ATSC 1.0. It is on the air in parts of the United States and in South Korea. Instead of 8-VSB it uses OFDM with LDPC error correction, carries services as IP packets (ROUTE/DASH), and uses HEVC video. In OnAir you tune a 6 MHz channel, the receiver finds the bootstrap, reads the signalling, and lists the services; you watch them in the TV tab.
- A radio that samples at 6.5 Msps or faster (the mode asks for more). RTL-SDR is too slow. HackRF, Airspy, SDRplay, PlutoSDR, RX888 and similar work. See Supported radios.
- A UHF antenna with a clear view of the transmitter.
- A frequency. ATSC 3.0 broadcasts share the ATSC channel plan with ATSC 1.0 (6 MHz channels); the frequency database lists channel 2 at 57 MHz through channel 36 at 605 MHz. Use the Band plan list on the Scan tab for your country. If you do not know which channel carries NextGen TV, scan in this mode: only ATSC 3.0 channels lock.
- Start the receiver with the mode set to ATSC 3.0; the receiver reports "Start the receiver with the ATSC 3.0 switch selected" otherwise.
- Gain: use Auto-tune or Optimise gain. The LDPC decoder is demanding, so give it the best SNR you can.
- ATSC 3.0 channels vary in FFT size (8k, 16k, 32k) and guard interval; OnAir reads them from the signalling, you do not set them.
- In the mode list open TV and choose ATSC 3.0 (second line NextGen TV).
- Open the Scan tab, choose a Band plan and Start scan.
- Press Start on a channel.
- Watch the lamps in the status bar: Bootstrap, L1, PLP, Service, TS, Video, Audio.
- Open the ATSC 3.0 panel on the left or the services list: it shows the Services table (channel number like 4.1, name, id, category, whether it is supported). Press Receive on a service.
- Open the TV tab: picture and sound appear.
- A flat, wide OFDM block, noticeably flatter than 8-VSB.
- Lamps lit in order: Bootstrap, L1, PLP, then Service. The service list arrives about once a second.
- On the status line: FFT size, guard interval (GI), carrier offset (CFO), frames, PLP ok counts, sample rate (fs), CPU load and dropped samples. Blocks lost should stay near zero.
- Services: channel number, name, id, category and a state column. not supported yet appears for services that use MMTP instead of ROUTE.
- Level: the signal level meter.
- Receiver tab rows: synchronisation, carrier offset, bootstraps / frames, frame, bootstrap, PLP, baseband packets, link layer, decoder load.
- AC-4 sound (a column or note) appears for services whose audio is Dolby AC-4.
- Stream: record the remuxed transport stream, send it to UDP, or share it on the network.
- Optional AC-4 sound needs an FFmpeg with an AC-4 decoder you install yourself; see Voice codecs and docs/CODECS.md. Without it, AAC and AC-3 services still play, and AC-4 sound is left out.
- Bootstrap never locks. The channel is probably not ATSC 3.0, or the signal is too weak or overloaded. Try another channel, and check the sample rate.
- Locks, services listed, no picture. The service may use MMTP (not supported yet) or be encrypted. Pick another service.
- No sound but picture. The audio may be AC-4. Install an AC-4 capable FFmpeg (see above) or choose a service with AAC or AC-3.
- High decoder load or dropped samples. The LDPC decoding is heavy. Close other programs, use a faster machine, or reduce the rate if the channel still fits.
- Blocks lost keep growing. The signal is marginal; improve the antenna.
- Time interleaving and subframes are supported (release 0.2.4); long interleavers add a delay before the picture appears.
- Used and checked on real broadcasts.
Receiving free-to-air broadcasts is legal in most countries. NextGen TV services are often protected (DRM); OnAir does not decode encrypted services and does not try to.
ATSC A/321 (bootstrap), A/322 (physical layer: OFDM, LDPC with BCH, time and frequency interleaving, L1-Basic and L1-Detail), A/330 (link layer, ALP), A/331 (signalling and delivery: ROUTE, MMTP, LLS). OnAir finds the bootstrap with a carrier-offset search, reads the preamble and L1, decodes the PLPs, unpacks the link layer, reassembles ROUTE objects and remuxes the DASH segments (MP4) to a transport stream for playback.
Mode page: ATSC 3.0 | ATSC 1.0 | DVB | Voice codecs | Supported radios | 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