A fast low-density parity-check code simulator based on compressed parity-check matrices
Low-density parity-check (LDPC) codes are very powerful error-correction codes with capabilities approaching the Shannon's limits. In evaluating the error performance of an LDPC code, the computer simulation time taken becomes a primary concern when tens of millions of noise-corrupted codewords are to be decoded, particularly for codes with very long lengths. In this paper, we propose modeling the parity-check matrix of an LDPC code with compressed parity-check matrices in the check-node domain (CND) and in the bit-node domain (BND), respectively. Based on the compressed parity-check matrices, we created two message matrices, one in the CND and another in the BND, and two domain conversion matrices, one from CND to BND and another from BND to CND. With the proposed message matrices, the data used in the iterative LDPC decoding algorithm can be closely packed and stored within a small memory size. Consequently, such data can be mostly stored in the cache memory, reducing the need for the central processing unit to access the random access memory and hence improving the simulation time significantly. Furthermore, the messages in one domain can be easily converted to another domain with the use of the conversion matrices, facilitating the central processing unit to access and update the messages. Copyright (c) 2011 John Wiley & Sons, Ltd.
compressed parity-check matrices ldpc codes simulation time domain conversion matrices