You are on page 1of 3

CONVOLUTIONAL CODING - I

modules
basic: SEQUENCE GENERATOR advanced: CONVOLUT`L ENCODER, TIMS320 DSP-HS (with decoding EPROM). other: a PICO VIRTUAL INSTRUMENT would be an advantage

preparation
This Lab Sheet L-86 introduces the CONVOLUT`L ENCODER module, and the TIMS320 DSP-HS module (with an appropriate EPROM installed). These perform convolutional encoding and decoding respectively. The two will be directly connected, in order to show their setting up procedures. In a related Lab Sheet (Lab Sheet L-87 entitled Convolutional coding - II) they will be separated by a noisy, bandlimited channel, where the benefits of convolutional encoding will be demonstrated. You must refer to the descriptions of these modules in the Advanced Module User Manual and the TIMS-1000 Series DSP User Manual respectively before attempting this work. In convolutional encoding, as in other forms of coding, bits are added to the original data stream in order to obtain a benefit in this case an improved bit error rate. Thus, if the channel over which the message is transmitted is band limited, then the bit rate must remain as before, and so the message rate - the rate at which the wanted message arrives at the far end - will be slowed. None-the-less the error is reduced. The TIMS CONVOLUT`L ENCODER module accepts serial data (the message) as input. Its output is available in both serial and parallel format (which includes a 4-level signal). Only the serial format will be considered in this experiment. The common bit rate for most of TIMS experiments is 2.083 kHz, and a clock at this rate is available from the MASTER SIGNALS module. But if this is to be the transmitted bit rate, then a clock at half this rate is required to run the SEQUENCE GENERATOR which will be used to provide the message. Such a clock (1.042 kHz), called the sampling clock, is provided by the CONVOLUT`L ENCODER. The software decoder will be provided with a stolen clock.

experiment
A model of the encoder-decoder arrangement is shown in Figure 1. Before plugging in the TIMS320 DSP-HS insert jumper J2 in the EXT and J3 to the LO positions 1. Set the SEQUENCE GENERATOR to a short sequence (both toggles of the on-board DIP switch UP). Patch up as per Figure 1. Verify all clock frequencies.

1 refer to the TIMS-1000 Series DSP User Manual www.emona-tims.com

1/3

Emona-TIMS

convolutional coding - I L-86 rev 1.0

source message sequence

serial data OUT decoded message sequence OUT

8.333 1.042

bit clock 2083

ENCODER

DECODER

Figure 1: model to be examined


encoder: synchronize the oscilloscope to the SYNC output of the SEQUENCE GENERATOR and display the source message sequence. Set the lower toggle of the CONVOLUTL ENCODER to CODE 1. Momentarily flip the upper toggle to RESET, then leave it in the NORMAL position. decoder: press the RESET of the DECODER. Display the output sequence from the DECODER. Is it the same as the source sequence (but with a significant time offset) ? If there is an error in decoding, then the system needs to be synchronized; this can be done either manually or automatically. manual synchronization: Flip the I/O toggle of the decoder between TOP and CENTRE. In one of these positions the decoder LED should extinguish. Leave the toggle in this position. What does this action initiate 2 ? automatic synchronization: 1) switch the encoder to TEST. 2) switch the decoder USER I/O to UP 3) switch the decoder USER I/O to CENTRE. 4) return the encoder to NORMAL Note that the success of manual synchronization (with a short sequence) was confirmed by visual comparison of the source and decoded output sequence. This would not be feasible with a long sequence. Once synchronized, measure and record the time offset (in clock periods) between the source and decoded output. What is the source of this delay ?

other observations
Confirm that the transmitted bit rate is twice that of the source message. The coding algorithm is described in the Advanced Modules User Manual. Using a short sequence you should endeavour to confirm each of the two coding schemes defined therein.

to follow
A following Lab Sheet (L-87) you will be asked to demonstrate that convolutional coding provides some coding gain. Remember that by adding bits to the data stream, while keeping the bit rate constant, the message rate will be lowered. Does one make a comparison whilst using the same channel bandwidth, or double the bandwidth to maintain the same message rate in the two cases ? Which method would be more convenient ? You should consider how you might design a suitable experiment experiment.

2 refer to the TIMS-1000 Series DSP User Manual TIMS Lab Sheet copyright tim hooper 2003, amberley holdings pty ltd ABN 61 001-080-093

2/3

Emona-TIMS

convolutional coding - I L-86 rev 1.0

As indicated in the introduction, the purpose of convolutional coding is to achieve improved BER performance in the presence of noise. In this experiment we have not investigated performance issues - this is tackled in a separate Lab Sheet (L-87). Nevertheless, it's worthwhile to consider the minimum performance we should expect, given the additional system complexity entailed in the encoding and decoding processes. The code we have used is a rate 1/2 code, i.e., an additional ("redundancy") bit is inserted for every information bit. So, if we were required to maintain the original rate of information transfer we would need to transmit the coded bit stream at double the information bit rate, requiring a doubling of channel bandwidth. Assuming we are operating in the presence of white noise, the noise power at the receiver input would be increased by 3dB for the same signal power - i.e. the SNR is reduced by 3dB. It is clear that unless the gross performance improvement is greater than 3dB, we will be worse off. Indeed, unless the improvement exceeds 3dB by some reasonable margin, the return for the expense and effort will be of dubious value. Alternatively, if we do not have access to additional bandwidth, the information rate must be halved. Assuming white noise as before, halving the bandwidth returns a noise power reduction of 3dB, i.e. an improvement of 3dB in the SNR, without resorting to coding. As might be expected, the outcome is the same: unless the coding process generates a gross performance improvement greater than 3dB by a worthwhile margin, its application is unlikely to warrant the effort. Does the code we have examined provide net coding gain - i.e. does it recoup the 3dB SNR invested through the bandwidth outlay, and return a worthwhile yield? Go to Lab Sheet L87 to find out!

TIMS Lab Sheet

copyright tim hooper 2003, amberley holdings pty ltd ABN 61 001-080-093

3/3

You might also like