An Efficient Parallel SOVA-Based Turbo Decoder for Software Defined Radio on GPU

Rongchun LI  Yong DOU  Jiaqing XU  Xin NIU  Shice NI  

IEICE TRANSACTIONS on Fundamentals of Electronics, Communications and Computer Sciences   Vol.E97-A   No.5   pp.1027-1036
Publication Date: 2014/05/01
Online ISSN: 1745-1337
DOI: 10.1587/transfun.E97.A.1027
Type of Manuscript: PAPER
Category: Digital Signal Processing
GPU,  CUDA,  SDR,  Turbo decoder,  SOVA,  

Full Text: PDF>>
Buy this Article

In this paper, we propose a fully parallel Turbo decoder for Software-Defined Radio (SDR) on the Graphics Processing Unit (GPU) platform. Soft Output Viterbi algorithm (SOVA) is chosen for its low complexity and high throughput. The parallelism of SOVA is fully analyzed and the whole codeword is divided into multiple sub-codewords, where the turbo-pass decoding procedures are performed in parallel by independent sub-decoders. In each sub-decoder, an efficient initialization method is exploited to assure the bit error ratio (BER) performance. The sub-decoders are mapped to numerous blocks on the GPU. Several optimization methods are employed to enhance the throughput, such as the memory optimization, codeword packing scheme, and asynchronous data transfer. The experiment shows that our decoder has BER performance close to Max-Log-MAP and the peak throughput is 127.84Mbps, which is about two orders of magnitude faster than that of central processing unit (CPU) implementation, which is comparable to application-specific integrated circuit (ASIC) solutions. The presented decoder can achieve higher throughput than that of the existing fastest GPU-based implementation.