This document describes an implementation of a soft-decision Viterbi decoder for a GSM receiver using AltiVec SIMD instructions on PowerPC processors. It discusses encoding and decoding of data using convolutional codes, the structure of frames, and an algorithm to calculate branch metrics and update path metrics in parallel using AltiVec to determine the most likely decoding of received bits and perform traceback to output the decoded data. Key steps include setting up constants, calculating branch metrics from soft bit values, accumulating these into path metrics to evaluate possible paths, selecting the best path and tracing back states to decode the received bits.