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


G.726 Speech Coder TMS320C5000 DSP Code

Description: the ITU G.726 coder is intended for telephone quality speech signals. The sample rate is 8kHz and the compression is to data rates of (selectably) 16, 24, 32, or 40kb/s. Applications include circuit multiplication, digital telephony, and speech storage. The algorithm uses Adaptive Differential Pulse Code Modulation (ADPCM) in a backwards configuration. Throughput delay is minimal, the encoder output being a code adaptively quantised from the current input sample and the coder memory.
         Speech conveyed at 40kb/s G.726 is near identical to 64kb/s PCM (G.711) whilst G.726 32kb/s is only marginally lower than 64kb/s PCM in signal quality. Speech quality at G.726 24kb/s and 16kb/s is increasingly impaired, being intended for overload channels in circuit multiplication. As inherently a waveform coder, and having also adaptive quantisation for non-voice signals, G.726 at 32 or 40kb/s can pass standard DTMF signalling and low-speed modem signals up to 2400b/s. G.726 at 40kb/s can convey modem signals eg fax to 12,000b/s.
         The G.726 software operates in 3 sample-coding modes. In linear mode, the encoder inputs and the decoder outputs 14-bit samples. In PCM mode, the samples are in 8-bit G.711 PCM codes, either A-law or -law. In PCM+SCA mode, the PCM samples at the output of the decoder have synchronous coding adjustment (SCA) applied to prevent cumulative distortion occurring on synchronous tandem connections (ADPCM-PCM-ADPCM, etc.).
         The Algotron implementation has been developed to have low DSP resource usage whilst still passing the G.726 test vectors. Encoder and decoder are operated as separate items. With the assembler interface, each has individual per-sample/ADPCM-code subroutine calls. Further subroutine calls can be made for initialisation and/or for changing the data rate and sample-coding mode. The code routine calls are re-entrant to allow multi-channel operation, the memory block associated with each channel being pointer-addressed. A C-callable wrapper file can also be provided, allowing individual channels to be called from C for processing of multiple sample/code blocks. A comprehensive user's guide is provided with the code.

Processor Load:

Mode MIPS# Data memory (words) Prog memory (kwords)#
Linear 8.3 52/channel 0.8
PCM 9.3
PCM + SCA 10.0

- figures for encoder+decoder
- #figures for assembler interfaces with TMS320C54x operation
- for encoder- or decoder-only implementation, the MIPS count and data memory / channel are halved, and the program memory is reduced by 130 words for encoder, 60 words for decoder

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

Home Modems Telephony Audio Utilities Consultancy Glossary Index Contact us