AlgoTron DSP Software for Telecoms & Audio
a TI DSP Third Party Network Member

Home Modems Telephony Audio Utilities Consultancy Glossary Index Contact us

Contact us


V.34 Modem TMS320C5000 DSP Code

Description: implements the ITU Data Modem function V.34, so offering full- and half-duplex data transmission at rates of Nx2.4kb/s from 33.6kb/s to 2.4kb/s over the analog telephone network.
         To achieve such rates, the software adapts the signal bandwidth for each connection by selecting the best symbol rate / carrier frequency combination in individual directions via channel sounding. The data rate can be matched to line conditions in each direction. As conditions change during transmission, the data rates can be renegotiated. Optimal error performance is assured by the use of 4D trellis coding, equalisation by flexible pre-coding and pre-emphasis, shell mapping and signal "warping".
         Full-duplex channel separation is achieved by echo-cancelling. In half-duplex transmission, eg for V.34 fax, an additional function is a separate full-duplex control channel with rates of 1.2 or 2.4kb/s for signalling purposes. The software includes rate conversion at the sample interface for the different V.34 symbol rates.
         The assembler software is in the form of callable subroutines, eg for initialisation and for processing of input/output sample blocks and data. The user is responsible for interfacing samples and data to hardware. In the assembler interface, the code is re-entrant to facilitate multi-channel operation. A C-callable wrapper can also be provided, allowing individual channels to be called from C to process multiple sample blocks. A comprehensive user's guide together with example application files are provided with the code. Test results are available.

Interfaces: at the sample interface, the code can operate at 8.0kHz and 9.6kHz sample rates. Transmit and receive samples are transferred on a common clock, to which the transmit clock is synchronised. The receive clock is interpolated in the DSP code for synchronisation to the far-end modem. At the data interface, data is transferred in buffers under pointer control.
         At the control interface, the assembler code has three 16-bit control word to sequence operation and to set operating parameters, and two diagnostic words to convey data transfer status and signal quality. With the C wrapper, control and diagnostics are provided by routine call arguments and returned values.

Performance: the software algorithms have been carefully designed for excellent performance under noisy or poor line conditions. Over flat channels, near matched-filter performance is obtained. Over the very severe "ConUS Poor Voice" channel in the TAS Telephone Network Emulator – 30dB attenuation across the 3kHz band – the modem code still operates at up to 16.8kb/s. SNR for 10-6 Error Rate (flat channel, 4kHz BW noise):

  • 17dB - 14.4kb/s; 25.5dB - 24kb/s; 34dB - 33.6kb/s

Processor Load:

Mode MIPS# Data memory (words) Prog memory (bytes)#
Full-duplex 19.9 7.9k 12.0k (includes V.8)
Half-duplex 13.5 2.3k 11.9k (includes V.8)
Full- + Half-duplex 19.9 7.9k 13.8k (includes V.8)

Figures are for optimum performance on a TMS320C54x DSP with the assembler interface. They apply to both 8.0kHz and 9.6kHz sample rates. Complexity is selectable and, at a small cost in SNR performance, usage can be reduced by: 3.6MIPS, 0.8kwords data memory, and 0.4kwords program memory. The data memory allocation span for far-end echo cancellation of 1.2secs round-trip delay (RTD) is selectable.

Availability: NOW - sale is under licence - integration support offered

Home Modems Telephony Audio Utilities Consultancy Glossary Index Contact us