
Freescale Semiconductor
Application Note
AN2943
Rev. 0, 5/2005
© Freescale Semiconductor, Inc., 2005. All rights reserved.
This application note describes the theory and implementation
of GSM channel equalization and channel decoding algorithms
using the Freescale MSC8126 Viterbi coprocessor (VCOP). It
also examines the theory behind the soft output Viterbi
algorithm (SOVA) assisted by the VCOP. Code examples
illustrate how the VCOP performs channel equalization and the
SOVA algorithm. A set of suggested design practices for VCOP
usage is followed by a discussion of the VCOP driver, which
provides a simple, easy interface to the VCOP. Examples of
driver usage cover GSM equalization, channel decoding, and
SOVA. The source code and the header file for the VCOP driver
are also presented.
CONTENTS
1 Basics of Convolutional Encoding/Decoding .........2
1.1 Viterbi Decoding .....................................................5
1.2 GSM Equalization, Channel Decoding and SOVA 8
1.3 Soft Output Viterbi Algorithm (SOVA) Assist .....10
2 GSM Channel Equalization and Decoding
on VCOP............................................................... 11
3 Recommended Design Practices ...........................15
3.1 VCOP Features .....................................................15
3.2 Interrupts Versus Polling ......................................16
3.3 Buffer Allocation ..................................................17
3.4 Single-Core Operation ..........................................17
3.5 Multi-Core Operation ............................................17
3.6 GSM Channel Equalization ..................................19
3.7 GSM Channel Decoding .......................................20
4 VCOP Driver .........................................................21
4.1 Driver Structs ........................................................21
4.2 Driver Functions ...................................................22
4.3 Driver Header File ................................................29
4.4 Driver Source Code ...............................................37
5 VCOP Code Examples ..........................................38
5.1 VCOP Driver in GSM Equalization
and GSM Decoding Session ................................. 38
5.2 Pre-Equalization Tasks 4 .........................................1
5.3 Driver Functions for Handling SOVA ..................42
5.4 Interrupt Handling .................................................48
5.5 VCOP Interrupt Handlers for Equalization........... 48
6 Local Profiling Unit (LPU) ...................................50
7 References .............................................................50
GSM Channel Equalization,
Decoding, and SOVA on the
MSC8126 Viterbi Coprocessor (VCOP)
By Manoj Bapat, Dov Levenglick, and Odi Dahan