The invention discloses a high-speed parallel
Viterbi decoder based on a
CUDA (Compute Unified Device Architecture) and a decoding method. The decoder comprises an input cache module, a parallel data de-
puncturing module, a parallel measurement calculation module, a
backtracking path
processing module and an output control module, and multi-level
parallel processing is realized by utilizing a
CUDA (Compute Unified Device Architecture) of a GPU (
Graphics Processing Unit). The method comprises the following steps: segmenting a receiving sequence and then distributing the segmented receiving sequence to GPU thread blocks; rapidly reading a
state transition matrix and an output matrix by adopting a pre-calculation table look-up strategy; adopting a parallel prefix scanning
algorithm to accelerate state measurement calculation; and reducing the global memory access
delay by using the
shared memory. According to the invention, the performance
bottleneck of the traditional serial
Viterbi algorithm is broken through, on the premise of keeping the decoding precision, the
throughput rate is obviously improved, the real-
time processing of multi-code-rate and multi-code-
stream convolutional codes is supported, and a remarkable acceleration effect can be obtained compared with CPU (
Central Processing Unit) implementation. The method is especially suitable for high-
throughput ACM scenes, such as 5G communication and
satellite navigation, requiring real-
time processing of multiple code streams and long constraint length convolutional codes.