AlgoTron DSP Software for Telecoms & Audio
a TI DSP Third Party Network Member

Home Modems Telephony Audio Utilities Consultancy Glossary Index Contact us

Home
Modems

Telephony
Audio
Utilities
Consultancy
Glossary
Index
Contact us


       

Caller ID Encoder/Decoder DSP C Code

Description: implements byte transmission and reception for standard Caller ID (or Calling Line Identification CID) over local telephone loops. The software consists of 4 routines:

CID-encode - calculates the checksum and sequences message bytes from a buffer loaded in the user code, optionally preceded by pre-amble of channel seizure and/or mark carrier signals for user-set periods, and transmits by calling:-
CID-transmit - adds start and stop bits to each byte and generates each transmit sample with per-sample timing for 1200b/s at (selectably) either ITU V.23 (1300Hz Mark, 2100Hz Space) or Bell 202 (1200Hz Mark, 2200Hz Space) frequency modulation

CID-decode - detects pre-amble of channel seizure and/or mark carrier signals for user-set periods then loads demodulated bytes into a buffer and finally performs checksum testing, the pre-amble and bytes being detected by calling:-
CID-receive - accepts each receive sample to decode to bits and bytes, performing line signal detection, demodulation from V.23 or Bell 202, start-stop bit and bit-centre timing, and byte verification

The routines can be used with most CID formats eg ETSI, UK SIN 227, US SDMF/MDMF, Bell Canada. The only assumptions are: the second message byte is the total no. of bytes following excluding the final checksum byte; the checksum is arithmetic. Message parameterisation must be done in the user code.
         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 byte buffer formatting is 2 per 16-bit word for efficiency in multi-channel use. The CID-transmit and/or CID-receive routines are available separately. Sample rates of 8.0kHz and 9.6kHz can be selected. Each function has an initialisation call and a per-sample main routine call and is re-entrant for multi-channel operation.

Performance:

SNR for 10-6 BER on Flat Channel: 12.0dB - Bell 202 ; 12.5dB - V.23 (4kHz BW noise)
Local loop line length for no errors: >9km

Processor Load:

Function MIPS# Data memory (words) Prog memory (bytes)#
Encode+Transmit 0.7 (5 + M/2) x N 128
Transmit only 0.5 4 x N 64
Decode+Receive 3.0 (26 + M/2) x N 310
Receive only 2.4 24 x N 181

- #figures are for 'C54x operation with the assembler interface at 8.0kHz sampling
- in the data memory figures M is the user-set buffer size in bytes and N is the no. of channels

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

 
Home Modems Telephony Audio Utilities Consultancy Glossary Index Contact us