Michael Carlsson; Per Nilsson MEE 98:15, pp. 51. Inst för telekommunikation och signalbehandling/Dept. of Telecommunications and Signal Processing, 1999.
Back in the late 19th century when the telephone was invented (by Alexander Graham
Bell), the first step towards the modern information exchange was taken. The last few
decades this traditional technology has taken a step further into the world of digital
communication. This fast development has created many new opportunities. Among
these are digital wireless phones (GSM), which have turned out to become very
popular the past few years. The market is very strong and the demand for newer and
better performing products is increasing extremely fast. In the forth coming years
wideband Will set the new standard for the third generation of mobile communication
equipment. One of these proposed new standards is W-CDMA (Wideband Code-Division
Multiple Access). This makes new applications such as video/audio-streaming
and Internet browsing possible. The high speed and big amount of data for
these applications make them very vulnerable for disturbances. Therefore new
methods for keeping up the quality is needed.
PRESENTATION OF THE PROBLEM
If the channel was ideal for communication through any kind of media the
transmission would be error free. Unfortunately ideal channels only exist in the theory.
In practice, noise and other disturbing sources may cause errors in the transmitted
information. To protect the important data from errors, different kinds of error
detecting and correcting algorithms are needed. These add redundancy into the data-streams.
The procedure is called channel coding. There are two major classifications
of coding methods. These are block- and convolutional codes. Both block- and
convolutional codes are used in general.
The so-talled Viterbi algorithm (VA) is an optimal decoding solution to the
convolutional codes for an AWGN channel. It is used to find the most likely noiseless
finite-state sequence, given a sequence of finite-state signals that are corrupted with
noise. The great advantage of the VA is that the number of operations performed in
decoding L bits is linear with L. This algorithm can be found in many modem digital
For mobile systems, power consumption is an important issue. Therefore ASIC
solutions are generally preferred. The future mobile communication applications
demand more powerful and better signal-processing possibilities. For this purpose a
DSP solution may be used. To get high performance, the preferred implementation
language is assembler. A language like assembler has a very low abstraction level.
This makes it very inflexible and hard to over-view. Therefore a high level language
like C would make a more flexible and dynamit code structure.
PURPOSE OF THE PROJECT
One of the largest DSP-producing companies in the world is Texas Instruments Inc.
They have a complete implementation in assembly language for the Viterbi algorithm.
This is an optimal implementation for the DSP. The purpose of this project is to
evaluate the algorithm in C language on a DSP. Sinte this is a high level language
the compiler creates some overhead code. The Viierbi algorithm also has a lot of bit
level operations, which is difficult to implement in a language like C.
The goal is to find a solution that minimizes the differente between the C and
assembly performance. Sinte C never Will have as good performance as manually
written assembly programs, there are a few possible ways to optimize the code.
Among these possibilities are inline assembler. Nevertheless, there are no
straightforward methods for implementing an optimal decoder in C.