Block Coding

Linear block codes, BCH, Reed-Solomon, LDPC, TPC

Communications Toolbox™ provides tools for block encoding and decoding of data using either MATLAB® or Simulink®. To learn more about error control coding, see Error Detection and Correction.

Functions

expand all

cyclgenProduce parity-check and generator matrices for cyclic code
cyclpolyProduce generator polynomials for cyclic code
decodeBlock decoder
encodeBlock encoder
gfweightCalculate minimum distance of linear block code
gen2parConvert between parity-check and generator matrices
hammgenParity-check and generator matrices for Hamming code
syndtableProduce syndrome decoding table
bchencBCH encoder
bchdecBCH decoder
bchgenpolyGenerator polynomial of BCH code
bchnumerrNumber of correctable errors for BCH code
rsencReed-Solomon encoder
rsdecReed-Solomon decoder
rsgenpolyGenerator polynomial of Reed-Solomon code
rsgenpolycoeffsGenerator polynomial coefficients of Reed-Solomon code
dvbs2ldpcLow-density parity-check (LDPC) codes from DVB-S.2 standard
tpcencTurbo product code (TPC) encoder
tpcdecTurbo product code (TPC) decoder

Objects

expand all

comm.BCHEncoderEncode data using BCH encoder
comm.BCHDecoderDecode data using BCH decoder
comm.RSEncoderEncode data using Reed-Solomon encoder
comm.RSDecoderDecode data using Reed-Solomon decoder
comm.HDLRSEncoderEncode message using Reed-Solomon encoder
comm.HDLRSDecoderDecode message using Reed-Solomon decoder
comm.LDPCEncoderEncode binary low-density parity-check (LDPC) code
comm.LDPCDecoderDecode binary low-density parity-check (LDPC) code
comm.gpu.LDPCDecoderDecode binary low-density parity-check (LDPC) code with GPU

Blocks

expand all

Binary Cyclic EncoderCreate systematic cyclic code from binary vector data
Binary Cyclic DecoderDecode systematic cyclic code to recover binary vector data
Binary Linear EncoderCreate linear block code from binary vector data
Binary Linear DecoderDecode linear block code to recover binary vector data
Hamming EncoderCreate Hamming code from binary vector data
Hamming DecoderDecode Hamming code to recover binary vector data
BCH EncoderCreate BCH code from binary vector data
BCH DecoderDecode BCH code to recover binary vector data
Binary-Input RS EncoderCreate Reed-Solomon code from binary vector data
Binary-Output RS DecoderDecode Reed-Solomon code to recover binary vector data
Integer-Input RS EncoderCreate Reed-Solomon code from integer vector data
Integer-Output RS DecoderDecode Reed-Solomon code to recover integer vector data
Integer-Input RS Encoder HDL OptimizedEncode data using a Reed-Solomon encoder
Integer-Output RS Decoder HDL OptimizedDecode data using Reed-Solomon (RS) decoder
LDPC EncoderEncode binary low-density parity-check (LDPC) code
LDPC DecoderDecode binary low-density parity-check (LDPC) code
TPC EncoderTurbo product code (TPC) encoder
TPC DecoderTurbo product code (TPC) decoder

Topics

Reed-Solomon Coding Part I – Erasures

This example shows how to configure the RSEncoder and RSDecoder System objects to perform Reed-Solomon (RS) block coding with erasures when simulating a communications system.

Reed-Solomon Coding Part II – Punctures

This example shows how to set up the Reed-Solomon (RS) encoder/decoder to use punctured codes.

Reed-Solomon Coding Part III – Shortening

This example shows how to set up the Reed-Solomon (RS) encoder/decoder to shorten the (63,53) code to a (28,18) code.

Transmit and Receive Shortened Reed-Solomon Codes

Transmit and receive standard and shortened RS-encoded, 64-QAM-modulated data through an AWGN channel.

Reed-Solomon Coding with Erasures, Punctures, and Shortening in Simulink

This model shows how to configure Reed-Solomon (RS) codes to perform block coding with erasures, punctures, and shortening.

Featured Examples