Mobile communication devices, such as mobile digital cellular telephones, often employ digital signal processors for processing and filtering received and transmitted digital signals. Often, a separate chip is provided to implement a Viterbi process for correcting errors or decoding incoming signals.
The Viterbi process is a maximum likelihood decoding process that provides forward error correction. The Viterbi process is used in decoding a bit stream sequence of encoded signals or signals which have been corrupted by intersymbol interference or noise. The bit stream may represent encoded information in a telecommunication system transmission through various media with each set of bits representing a symbol instance. In the decoding process, the Viterbi algorithm works back to a sequence of possible bit sequences at each symbol instant to determine which one bit sequence is most likely to have been transmitted. The possible transitions from a bit state at one symbol instant to a bit at a next, subsequent symbol instant is limited. Each possible transition from one state to a next state may be shown graphically as a trellis and is defined as a branch. A sequence of interconnected branches is defined as a path. Each state can only transition to a limited number of the next states upon receipt of the next bit in the bit stream. Thus, some paths survive and others do not survive during the decoding process. By eliminating those transitions that are not permissible, computational efficiency can be achieved in determining the most likely paths to survive. The Viterbi process typically defines and calculates a branch metric associated with each branch and employs this branch metric to determine which paths survive and which paths do not survive.
Typically, the Viterbi process is implemented on a chip which is separate from the digital processing chip. The Viterbi process is usually implemented in software which is executed by this separate chip. Incoming signals are first routed to the Viterbi processor for decoding. The decoded signals are then routed to the digital signal processor for further processing.
As mobile communication devices proliferate, there remains a need for a faster, more efficient processing of incoming signals.