MATLAB Implementation of Min-Sum Algorithm for LDPC Decoding

Resource Overview

This project provides a complete MATLAB implementation of the min-sum algorithm (MSA) for LDPC decoding. The codebase includes comprehensive modules for random parity-check matrix generation, random message creation, encoding, noisy channel simulation, decoding, and data logging. Users can customize parameters such as parity-check matrix dimensions and channel error rates to facilitate LDPC code experimentation and principle verification. The implementation features automated result export to minsumdata.xlsx in the working directory, ensuring data persistence and preventing loss after each execution.

Detailed Documentation

This document presents a complete MATLAB implementation of the min-sum algorithm (MSA) for LDPC decoding. Beyond the core decoding algorithm, our codebase incorporates full procedural chains including randomized parity-check matrix construction, random information generation, encoding, noisy channel simulation, decoding, and data recording modules. The implementation employs MATLAB's sparse matrix handling for efficient parity-check matrix operations and utilizes iterative message passing with minimum magnitude selection for check-to-variable node updates. The highly flexible architecture allows users to customize parameters like parity-check matrix density, code rate, and channel error probability through configurable input variables. These modules not only aid in understanding LDPC code fundamentals through practical visualization but also serve as a testbed for algorithm benchmarking.

For convenient result tracking, we've integrated automated data logging functionality that exports simulation outcomes—including iteration counts, bit error rates, and decoding status—to minsumdata.xlsx in the working directory after each run. This persistent storage mechanism safeguards against data loss and enables comparative analysis across multiple experiments. We hope this resource accelerates your research progress and wish you productive experimentation!