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

Description: implements the ITU Data Modem function V.23. This provides half-duplex data transmission over 2 wires and full-duplex over 4 wires, at two rates, one 1200b/s and the other 600b/s, over the telephone network. Also provided (optionally) is a half-duplex backward channel of 75b/s which can be operated independently of the main channel. Duplex channel separation is achieved by band splitting.
         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 samples 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. A stripped down version is available for Caller Identification (CID) use.

Interfaces: at the sample interface, the code can operate at 8.0kHz and 9.6kHz sample rates. At the data interface, operation can be in either Asynchronous or Synchronous mode. In Asynchronous mode, data is transferred with start & stop bits auto-inserted/-deleted. In Synchronous mode, data is transferred transparently, with the receiver performing clock recovery on bit transitions. In both cases, the data can be passed in multiple-bit blocks, and the nominal clock used is 1200Hz or 600Hz.
         At the control interface, the code has one 16-bit control word to sequence operation and to set operating parameters such as data size, and one diagnostic word to convey data transfer status such as ready-to-send and line-signal-detected. With the C code, control and diagnostics are provided by routine call arguments and returned values.


  • SNR for 10-6 Error Rate on Flat Channel (4kHz BW noise): 1.2kb/s - 12.5dB; 0.6kb/s 8.5dB

Processor Load:

Sample rate MIPS# Data memory (words) Prog memory (bytes)#
8.0kHz 4.7( 8.5) 39(82) 1.6k(3.0k)
9.6kHz 5.6(10.2)

- #example figures from compiling for the TI TMS320C5000(C55x) DSP processor
- figures in ( ) are with the backwards channel

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

Home Modems Telephony Audio Utilities Consultancy Glossary Index Contact us