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
|
|