How to generate a BCH (63,56) code in Matlab?

13 visualizaciones (últimos 30 días)
Francesco
Francesco el 16 de Feb. de 2011
Respondida: Shreshth el 26 de Jun. de 2024
Hi everyone,
I need help in generating a specific encoder (and related decoder) in Matlab, in order to simulate the transmission/reception of coded data between a LEO satellite and the ground station with the channel coding techniques suggested by the ECSS and CCSDS documents. In particular I need to generate the BCH encoder/decoder with the coding scheme (63,56) that seems not to be supported by the default Matlab function "bchenc" I've used. This particular code is presented in CCSDS 230.1-G-1 (section 3.5) as a modified version of the standard Hamming (63,57) code and I've already tried to obtained it with the Matlab built-in function "encode", using the attribute 'hamming/binary'.
Can anybody give me some hint?
Thanks a lot in advance, Francesco.

Respuestas (1)

Shreshth
Shreshth el 26 de Jun. de 2024
Hey Francesco,
To implement a BCH (63,56) encoder and decoder in MATLAB, follow these steps:
  1. Define the Generator Polynomial: Identify the correct generator polynomial for the BCH (63,56) code as specified in CCSDS 230.1-G-1.
  2. Encoder Implementation: Create a custom function to multiply the message by the generator polynomial, producing the encoded codeword.
  3. Decoder Implementation: Create a custom function to perform polynomial division and error correction based on the BCH decoding algorithm.
MATLAB's built-in functions do not directly support BCH (63,56), so you need to manually implement these steps using polynomial operations.

Categorías

Más información sobre Error Detection and Correction en Help Center y File Exchange.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by