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

16 views (last 30 days)
Francesco
Francesco on 16 Feb 2011
Answered: Shreshth on 26 Jun 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.

Answers (1)

Shreshth
Shreshth on 26 Jun 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.

Community Treasure Hunt

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

Start Hunting!