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


       

G.722 Audio Coder DSP C Code

Description: the ITU G.722 audio coder is intended for wideband (50Hz - 7000Hz) audio signals. The sample rate is 16kHz with 15-bit samples, and the compression is to 64kb/s. Of this 8 or 16kb/s can be masked out in transmission to send auxiliary data information, at a small loss in audio quality after decoding. The algorithm is capable of sending multiple voice signals and sounds clear with loudspeakers. Music also codes with good quality given the bandwidth restriction. Applications include video conferencing and high quality telephony. The algorithm uses Adaptive Differential Pulse Code Modulation (ADPCM) in a backwards configuration. Throughput delay is low, the encoder output being a code adaptively quantised from the current input sample and the coder memory.
         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 Algotron implementation has been developed to have low processor resource usage whilst still passing the G.722 test vectors. The encoder and decoder routines are operated as separate items with individual subroutine calls, each being called at 8kHz. The encoder requires 2 successive input samples, and generates a single 8-bit ADPCM code per call, ie 64kb/s regardless of mode. The decoder takes either the same 8-bit code or a truncation to 7- or 6-bits depending on the bit rate mode of 64, 56, or 48kb/s, and generates two successive output samples.
         A further routine call is made for initialisation of encoder or decoder. The code routine calls are re-entrant to allow multi-channel operation, the memory block associated with each channel being pointer-addressed. A comprehensive user's guide is provided with the code.

Processor Load:

Function MIPS# Data memory (words) Prog memory (kbytes)#
Encoder 10.6 60/channel 2.1
Decoder 10.2 60/channel 1.9
Encoder + Decoder 20.8 120/channel 2.6

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