Software implementation of decoding low-density parity-check codes in MATLAB/SIMULINK

Electronics, Radio and Communications


Vazhenin N. A.*, Kirianov I. A.**

Design Bureau «Almaz-Antey» named after A.A. Raspletin, 80, Leningradskii prospekt, Moscow, 125190, Russia



The purpose of the work is to increase the simulation speed of decoding low-density parity-check codes and to reduce the memory requirements for storing check matrix and array of variable and check nodes. Simulation speed increases through the use of low-level language which is introduced into a Simulink model by means of S-function approach. In this work, C language is used. The gain compared with the MATLAB language is 20 times. Moreover, low-density parity-check matrix contains mostly zero elements which are not involved in the decoding but require a lot of memory. This paper proposes a method for storing positions of only nonzero elements and the number of units in each row. This measure has reduced memory consumption in 100 times; in addition to it, small internal arrays can increase the processing speed.
The described decoding algorithm and decoding results can be used in the curriculum. The developed code written in C is used in software implementation. The developed model is used to simulate different decoding processes. The designed technique allows one to reduce memory consumption. The speed of decoding corresponds to the similar block in the genuine Simulink library.


telecommunications, coding, low-density parity-check codes, modeling


  1. Gallager R.G. Low-Density Party-Check Codes, IRE Trans Info Theory, 1962, vol. 8, no. 1, pp. 21-28.
  2. Vasic B., Kurtas E.M. Coding and Signal Processing for Magnetic Recoding Systems, CRC Press, 2004, 701 p.
  3. Morelos-Saragosa R. Iskusstvo pomekhoustoichivogo kodirovaniya. Metody, algoritmy, primenenie (The art of error correcting coding. The methods, algorithms, and applications), Moscow, Tekhnosfera, 2005, 320 p.
  4. Vazhenin N.A., Kirianov I.A. Elektronnyi zhurnal «Trudy MAI», 2012, no 59, available at: (accessed 28.02.2014)
  5. Hgenauer J., Offer E., L. Papke. Iterative decoding of Binary Block and Convolutional Codes, IEEE Trans on Inf Theory, 1996, vol. 42, no. 2, pp. 429-445.
  6. Richter G., Schmidt G., Bossert M. Optimization of a Reduced-Complexity Decoding Algorithm for LDPC Codes by Density Evolution, IEEE International Conference, 2005, vol.1, pp. 642 — 646.
  7. Moon T.K. Error correction coding. Mathematical Methods and Algorithms, Wiley-Interscience, 2005, 800 p. — informational site of MAI

Copyright © 1994-2024 by MAI