The V.17 transmitter

What does it do?

The V.17 transmitter implements the transmit side of a V.17 modem. This can operate at data rates of 14400, 12000, 9600 and 7200 bits/second. The audio output is a stream of 16 bit samples, at 8000 samples/second. The transmit and receive side of V.17 modems operate independantly. V.17 is mostly used for FAX transmission, where it provides the standard 14400 bits/second rate.

How does it work?

V.17 uses QAM modulation and trellis coding. The data to be transmitted is scrambled, to whiten it. The least significant 2 bits of each symbol are then differentially encoded, using a simple lookup approach. The resulting 2 bits are convolutionally encoded, producing 3 bits. The extra bit is the redundant bit of the trellis code. The other bits of the symbol pass by the differential and convolutional coding unchanged. The resulting bits define the constellation point to be transmitted for the symbol. The redundant bit doubles the size of the constellation, and so increases the error rate for detecting individual symbols at the receiver. However, when a number of successive symbols are processed at the receiver, the redundancy actually provides several dB of improved error performance.

The standard method of producing a QAM modulated signal is to use a sampling rate which is a multiple of the baud rate. The raw signal is then a series of complex pulses, each an integer number of samples long. These can be shaped, using a suitable complex filter, and multiplied by a complex carrier signal to produce the final QAM signal for transmission.

The sampling rate for our transmitter is defined by the channel - 8000 per second. This is not a multiple of the baud rate (i.e. 2400 baud). The baud interval is actually 10/3 sample periods. Generating at the lowest common multiple of the baud rate and channel sample rate (i.e. 24000 samples/second), and then decimating to 8000 samples/second, would give good results. However, this would require considerable computation. A shortcut is to use slightly shaped pulses, instead of simple square ones. We can achieve the effect of pulse transitions at the 1/2 and 2/3 sample points by adjusting the first sample of each new pulse. The adjustment is simple. We need the effect of being 60 degrees or 120 degrees through a sine wave cycle at the Shannon rate at the sample point. This simply means we need to step by 0.25 or 0.75 of the actual step size on the first sample of those pulses which should start at the 1/3 or 2/3 sample positions. The logic and computation needed for this is much less than the computation needed for oversampling at 24000 samples/second.

The pulse shaping filter is only vaguely defined by the V.17 spec. Some of the other ITU modem specs. fully define the filter, typically specifying a root raised cosine filter, with 50% excess bandwidth. This is a pity, since it increases the variability of the received signal. However, the receiver's adaptive equalizer will largely compensate for these differences. The current design uses a root raised cosine filter with 50% excess bandwidth.

The carrier is generated using the DDS method. Using two second order resonators, started in quadrature, might be more efficient, as it would have less impact on the processor cache than a table lookup approach. However, the DDS approach suits the receiver better, so the same signal generator is also used for the transmitter.


Generated on Fri Nov 10 09:40:25 2006 for libspandsp by  doxygen 1.5.1