|Title:||Implementation of decoders for LDPC block codes and LDPC convolutional codes based on the parallel architecture of the GPUS|
Error-correcting codes (Information theory)
Graphics processing units.
Hong Kong Polytechnic University -- Dissertations
|Department:||Department of Electronic and Information Engineering|
|Pages:||xix, 91 p. : ill. ; 30 cm.|
|Abstract:||With the use of belief propagation (BP) decoding algorithm, low-density parity-check (LDPC) codes can achieve near-Shannon limit performance. LDPC codes can accomplish bit error rates (BERs) as low as 10⁻¹⁵ even at a small bit-energy-to-noise-power-spectral-density ratio (Eb/N0). In order to evaluate the error performance of LDPC codes, simulators running on central processing units (CPUs) are commonly used. However, the time taken to evaluate LDPC codes with very good error performance is excessive. For example, assuming 30 iterations are used in the decoder, our simulation results have shown that it takes a modern CPU more than 7 days to arrive at a BER of 10⁻⁶ for a code with length 18360. Implementing the decoder using field programmable gate array (FPGA) is one solution but the cost is high and the development period is very long. Moreover, the FPGA codes are not flexible. In this thesis, efficient LDPC block-code decoders/simulators which run on graphics processing units (GPUs) are proposed. Both standard BP decoding algorithm and layered decoding algorithm are used. By optimizing the data structures of the messages used in the decoding process, both the read and write processes can be performed in a highly parallel manner by the GPUs. In addition, a thread hierarchy avoiding the divergence of the threads is deployed, and it can maximize the efficiency of the parallel execution. With the use of a large number of cores in the GPU to perform the simple computations simultaneously, our GPU-based LDPC decoder can obtain hundreds of times speed-up compared with a CPU-based simulator. We also implement the decoder for the LDPC convolutional codes (LDPCCC). The LDPCCC is derived from a pre-designed quasi-cyclic LDPC block code with good error performance. Compared to the decoder based on the randomly constructed LDPCCC code, the complexity of the proposed LDPCCC decoder is reduced due to the periodicity of the derived LDPCCC and the properties of the quasi-cyclic structure. Moreover, by decoding multiple code frames together, the decoder can always access the global memory in a coalesced manner. The GPU-based LDPCCC decoder displays an excellent error performance and it can achieve up to 200 times speed-up compared with the CPU-based simulator.|
|Rights:||All rights reserved|
Files in This Item:
|b25302231.pdf||For All Users (off-campus access for PolyU Staff & Students only)||1.93 MB||Adobe PDF||View/Open|
As a bona fide Library user, I declare that:
- I will abide by the rules and legal ordinances governing copyright regarding the use of the Database.
- I will use the Database for the purpose of my research or private study only and not for circulation or further reproduction or any other purpose.
- I agree to indemnify and hold the University harmless from and against any loss, damage, cost, liability or expenses arising from copyright infringement or unauthorized usage.
By downloading any item(s) listed above, you acknowledge that you have read and understood the copyright undertaking as stated above, and agree to be bound by all of its terms.
Please use this identifier to cite or link to this item: