Implementation of Viterbi Decoder toward GPU-Based SDR Receiver

Kosuke TOMITA  Masahide HATANAKA  Takao ONOYE  

IEICE TRANSACTIONS on Fundamentals of Electronics, Communications and Computer Sciences   Vol.E98-A   No.11   pp.2246-2253
Publication Date: 2015/11/01
Online ISSN: 1745-1337
DOI: 10.1587/transfun.E98.A.2246
Type of Manuscript: Special Section PAPER (Special Section on Smart Multimedia & Communication Systems)
Viterbi decoder,  TVDA,  GPU,  CUDA,  SDR,  

Full Text: PDF>>
Buy this Article

Viterbi decoding is commonly used for several protocols, but computational cost is quite high and thus it is necessary to implement it effectively. This paper describes GPU implementation of Viterbi decoder utilizing three-point Viterbi decoding algorithm (TVDA), in which the received bits are divided into multiple chunks and several chunks are decoded simultaneously. Coalesced access and Warp Shuffle, which is new instruction introduced are also utilized in order to improve decoder performance. In addition, iterative execution of parallel chunks decoding reduces the latency of proposed Viterbi decoder in order to utilize the decoder as a part of GPU-based SDR transceiver. As the result, the throughput of proposed Viterbi decoder is improved by 23.1%.