Modem TMS320C5000 DSP Code
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 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.
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.
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
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.
the C code, control and diagnostics are provided by routine call arguments
and returned values.
for 10-6 Error Rate at R.38A 200b/s (4kHz BW noise): 4.0dB Flat Channel
#figures are for TMS320C54x operation with the assembler interface
NOW - sale is under licence - integration support offered