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


Bell 212(A) Modem DSP C Code

Description: implements the data pump function of the modem Bell 212(A). This provides full-duplex data transmission over the telephone network. Data rates available are 1.2kb/s, using V.22 modulation, and 300b/s, using Bell 103 modulation. Duplex channel separation is achieved by band splitting, with V.22 channel carriers at 1200Hz and 2400Hz for 1.2kb/s, and Bell 103 tone pairs at 1070/1270Hz and 2070/2270Hz for 300b/s.
         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.

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. In V.22 modulation, the receive clock is interpolated in the DSP code for synchronisation to the far-end modem. At the data interface, operation can be Asynchronous (normal for Bell 103 modulation) or Synchronous. 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 is in multiple-bit blocks.
At the control interface, the assembler 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* (*not in Bell 103 300b/s).

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

  • 1.2kb/s ( V.22 ) : 6.5dB - Flat Channel; 7.5dB - Bell 3002 Channel
  • 300b/s(Bell 103): 5.0dB - Flat Channel; 5.5dB - Bell 3002 Channel

Processor Load:

Sample rate MIPS# Data memory (words) Prog memory (bytes)#
8.0kHz 5.5(5.0) 220 10.1k
9.6kHz 4.4(6.0) 201 8.9k

- #figures are for TMS320C54x operation with the assembler interface including Remote Digital Loop
- figures in ( ) for 300b/s Bell 103 mode

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

Home Modems Telephony Audio Utilities Consultancy Glossary Index Contact us