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.22bis Modem DSP C Code

Description: implements the ITU Data Modem functions V.22bis and V.22, which provide full-duplex data transmission at rates of 2.4, 1.2, & 0.6kb/s over the telephone network. The code can also send the V.25 2100Hz auto-answer signal. Duplex channel separation is achieved by band splitting with 1200Hz and 2400Hz carriers for each channel. An (optional) 1800Hz guard tone is sent in the high channel. Good error performance is assured by the use of adaptive equalisation.
         The C code is suitable for any processor with an ANSI-compliant C compiler. It is designed especially for efficient operation on low-cost fixed-point DSP- and general-purpose micro-processors. All data memory is specified as 16-bit integer words. Multiplies are integer 16x16-bit with 32-bit products.
         The code is operated by one callable subroutine for initialisation and one for main-routine processing of input/output sample blocks and data. The user is responsible for interfacing samples and data to hardware. The code is re-entrant to facilitate multi-channel operation. A comprehensive user's guide is provided with the code, together with example application files. 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 code for synchronisation to the far-end modem. At the data interface, data is transferred in buffers under pointer control via subroutine calls.
         At the control interface, the code has one 16-bit control word to sequence operation and to set operating parameters, and two diagnostic words to convey data transfer status and signal quality.

Performance: near matched-filter performance is obtained over both flat and very severe channels. SNR for 10-6 Error Rate (4kHz BW noise):

  • 2.4kb/s:13.5dB Flat Channel; 14.0dB Bell 3002 Channel
  • 1.2kb/s: 6.5dB - Flat Channel; 7.5dB - Bell 3002 Channel
  • 0.6kb/s: 3.5dB - Flat Channel; 4.5dB - Bell 3002 Channel

Processor Load:

Sample rate MIPS# Data memory (words) Prog memory (bytes)#
8.0kHz 5.6(5.3) 218 9.6k(8.4k)
9.6kHz 4.3(4.0) 199 8.4k(7.2k)

- #example figures from compiling for the TI TMS320C5000(C55x) DSP processor including Remote Digital Loop sequencing
- figures in ( ) for V.22-only ie 1.2-0.6kb/s

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

Home Modems Telephony Audio Utilities Consultancy Glossary Index Contact us