Dvb T2 Sdk V2.4.0 May 2026

Based on the DVB-T2 SDK v2.4.0, a key feature to implement is Multi-PLP (Physical Layer Pipe) Support. Feature: Dynamic Multi-PLP Switching

This feature enables the SDK to concurrently process multiple independent data streams within a single DVB-T2 multiplex. This allows broadcasters to deliver different services (e.g., mobile-optimized SD and high-quality 4K/HD) with varying levels of error protection on the same frequency.

Selective PLP Extraction: Filters the transport stream to extract only the specific PLP ID requested by the application layer, reducing CPU overhead during decoding.

Seamless Handover: Implements logic to switch between PLPs without frame drops, useful for adaptive bitrate-style terrestrial broadcasting.

Signaling Parsing: Automatically parses L1-pre and L1-post signaling to identify available PLPs and their modulation parameters (e.g., 256QAM vs 16QAM). Implementation Guide dvb t2 sdk v2.4.0

Initialize Tuner: Set the frequency and bandwidth (typically 7MHz or 8MHz) using the DVB_T2_Set_Tuning_Params function.

Scan PLPs: Use DVB_T2_Scan_PLP_List to retrieve all active Physical Layer Pipes in the current multiplex.

Select Stream: Call DVB_T2_Bind_PLP(plp_id) to instruct the hardware demodulator to lock onto the specific data pipe.

Extract TS: Route the resulting MPEG-2 Transport Stream to the demuxer for video/audio playback. Based on the DVB-T2 SDK v2

For further integration, you can refer to implementation guides on DVB.org or check developer resources from AstroMeta and TBS Technologies.

If you'd like, I can provide a C++ code snippet or API documentation for: Configuring LDPC and BCH error correction Implementing Time-Frequency Slicing (TFS) Setting up OTA (Over-the-Air) firmware updates for the SDK

GitHub - drmpeg/gr-dvbt2: A DVB-T2 transmitter for GNU Radio


3. Architecture Overview

The DVB-T2 SDK v2.4.0 is structured in a layered architecture to ensure modularity and ease of porting across different Hardware Abstraction Layers (HAL). Application Layer (API):

  1. Application Layer (API):
    • Provides standard C/C++ headers (dvb_t2.h, frontend.h).
    • Handles logic for scanning, locking, and signal monitoring.
  2. Core Logic Layer:
    • Signal Monitor: Continuously checks Signal-to-Noise Ratio (SNR) and Bit Error Rate (BER).
    • Event Handler: Manages asynchronous callbacks (e.g., on_lock, on_unlock, on_signal_drop).
  3. Hardware Abstraction Layer (HAL):
    • This is the critical integration point. In v2.4.0, the HAL interface has been standardized. Vendors must implement i2c_read, i2c_write, and gpio_control functions to port the SDK to their specific tuner hardware.

Sample Code Additions

2. Key Features in v2.4.0

While previous versions focused on basic demodulation and signal locking, v2.4.0 shifts focus to optimization and extended feature sets.

4.1 The Config Structure

The configuration structure has been expanded to support finer granularity:

typedef struct 
    uint32_t frequency_khz;
    uint8_t  bandwidth;       // 8MHz, 7MHz, 6MHz, 1.7MHz (new in v2.4.0)
    uint8_t  plp_id;          // Target PLP ID
    uint8_t  t2_mode;         // T2_Base, T2_Lite
    bool     enable_miso;     // MISO (Multiple Input Single Output) support
    bool     papr_mode;       // Peak-to-Average Power Ratio control
 dvb_t2_tune_params_t;

Step 3: Channel Tuning

Unlike DVB-T, DVB-T2 requires a "channel discovery" phase. The SDK simplifies this:

t2_channel_t ch = 
    .frequency_khz = 514000,
    .bandwidth = BANDWIDTH_8_MHZ,
    .auto_plp = true
;
t2_tune(handle, &ch);

Integration tips

Scroll To Top
Close
Close
Close

My Cart

Shopping cart is empty!

Continue Shopping