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


R.38A/R.38B/R.37/R.36/R.35 Modem DSP C Code

Description: implements the ITU Recommendations R.38A(200b/s), R.38B(200b/s), R.37(100b/s), R.36(200-50b/s), and R.35(50b/s) for telegraphy modems. These offer transmission of FSK-modulated data in the telephone voiceband divided into sub-bands from 420Hz to 3120Hz (mean band frequencies), with independent operation of individual bands.
         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 software implements separately one selected sub-band transmitter and one selected sub-band receiver from any of the R-series listed above. The software is operated by individual subroutine calls for transmitter and receiver initialisation, wherein the R.38A/R.38B/etc. channel is set, and for per-sample processing. 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. 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 that of the R-series selected. At the control interface, the desired mode and channel is set on initialisation call.


  • SNR for 10-6 Error Rate at R.38A 200b/s (4kHz BW noise): 4.0dB Flat Channel

Processor Load:

Function Sample rate MIPS# Data memory (words) Prog memory (words)#
Transmitter 8.0kHz 0.9 7 0.5k
9.6kHz 1.1
Receiver 8.0kHz 3.3 30 1.3k
9.6kHz 3.9

- #example figures from compiling for the TI TMS320C5000(C55x) DSP processor

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

Home Modems Telephony Audio Utilities Consultancy Glossary Index Contact us