Main Content

CCSDS LDPC Encoder

Encode data with (8160,7136) LDPC code specified in CCSDS telemetry standard

Since R2025a

  • CCSDS LDPC Encoder block

Libraries:
Wireless HDL Toolbox / Error Detection and Correction

Description

The CCSDS LDPC Encoder block encodes data with (8160,7136) low-density parity-check (LDPC) code specified in the Consultative Committee for Space Data Systems (CCSDS) Telemetry standard. The block accepts data bits and a stream of control signals as inputs. The block outputs encoded bits, a stream of control signals, and a signal that indicates when the block is ready to accept new inputs.

The block supports scalar input and vector inputs of size 8. The block provides an architecture suitable for HDL code generation and hardware deployment. You can use this block in a CCSDS transmitter for satellite communication. To know more about CCSDS Telemetry standard, see [1]

Examples

Ports

Input

expand all

Input data bits, specified as a Boolean scalar or an eight-element Boolean column vector.

Data Types: Boolean

Control signals accompanying the sample stream, specified as a samplecontrol bus. The bus includes the start, end, and valid control signals, which indicate the boundaries of the frame and the validity of the samples.

  • start — Indicates the start of the input frame

  • end — Indicates the end of the input frame

  • valid — Indicates that the data on the input data port is valid

For more details, see Sample Control Bus.

Data Types: bus

Output

expand all

Encoded output data bits, returned as a Boolean scalar or an eight-element Boolean column vector. The output data type is same as the input data type.

Data Types: Boolean

Control signals accompanying the sample stream, returned as a samplecontrol bus. The bus includes the start, end, and valid control signals, which indicate the boundaries of the frame and the validity of the samples.

  • start — Indicates the start of the output frame

  • end — Indicates the end of the output frame

  • valid — Indicates that the data on the output data port is valid

For more details, see Sample Control Bus.

Data Types: bus

Block ready indicator, returned as a Boolean scalar.

The block sets this signal to 1 when the block is ready to accept the start of the next frame. If the block receives an input ctrl.start signal while nextFrame is 0, the block discards the frame in progress and begins processing the new data.

Data Types: Boolean

Algorithms

expand all

This figure shows the architecture block diagram of the CCSDS LDPC Encoder block. For each batch of 511 input bits, the row counter increases by one. Using the current row count, the Generator Matrix look-up table (LUT) provides the corresponding row of the matrix. Each input bit is then XORed with the parity bits, which are circularly shifted by one position. This operation is repeated for the entire set of input bits.

CCSDS LDPC Encoder block architecture

References

[1] TM Synchronization and Channel Coding. Recommendation for Space Data System Standards. CCSDS 131.0-B-3. Blue Book. Issue 3. Washington, D.C.: CCSDS, September 2017.

[2] TM Synchronization and Channel Coding. Summary of Concept and Rationale CCSDS 130.1-G-3. Green Book. Issue 3, June 2020.

Extended Capabilities

expand all

Version History

Introduced in R2025a

See Also

Blocks