Up

CELP

CELP at 4.8Kbps

Codebook Excited Linear Prediction (CELP) synthesis starts with an excitation using a signal obtained from a codebook of signals. The excitation signal is fed into a long-term (pitch) filter followed by a short-term (LPC) filter and a short-term pole-zero post filter with adaptive spectral tilt compensation. LPC parameters (34 bits/frame) are received as 10 line spectral parameters once per frame. Pitch delay (28 bits/frame), gain (20 bits/frame), codebook index (36 bits/frame), and codebook gain (20 bits/frame) are sent once per sub frame (4 times per frame). Error correction (4 bits/frame), synchronization (1 bit/frame), and an expansion bit are also transmitted once per frame. The transmitter's CELP analyzer contains a replica of the receiver's synthesizer (minus the post filter) that, in the absence of transmission errors, generates speech identical to the receiver's. This approximation is subtracted from the input speech and the difference is perceptually weighted. This perceptually weighted error is then used to drive an analysis-by-synthesis (closed-loop) error minimization gain-shape vector quantization (VQ) search procedure. The search finds the adaptive and stochastic codebook indices and gains that minimize the perceptually weighted error. Other characteristics of CELP are described below: [1]

bulletSampling Rate: 8k bps
bulletFrame Size: 30ms (144 bits) with 4 equal length sub frames
bulletAdaptive Codebook Size: 256 words
bulletStochastic Codebook Size: 512 words
bulletSynthesizer
bulletError Protection: (15,11) Hamming code for protection of 10 bits of the "pitch" delay and gain (4 bits/frame).
bulletOutput filter: low-pass: -3dB at 3,600Hz, -18dB at 4kHz, -46dB at 4,400kHz
bulletAnalyzer
bulletInput filter: 100-3,600Hz (These values indicate the -3dB points), -18dB at 50Hz and 4,000Hz, -46dB at 4,400Hz, No preemphasis
bulletShort Term Linear Predictor: 10th order autocorrelation analysis, 30ms Hamming window
bulletBandwidth expansion: 0.994(LP analysis predictor coefficients) yields 15Hz expansion

[1] J.P. Campbell Jr., V.C. Welch, T.E. Tremain, "An Expandable Error-Protected 4800 BPS CELP Coder (U.S. Federal Standard 4800 BPS Voice Coder)," IEEE International Conference on Acoustics, Speech, and Signal Processing, 1989, pp. 735-737.

Performance Measures - Evaluation results of the 4.8kbps CELP algorithm were compared to 2.4kbps MELP and other DoD Voice Processors in a poster session presented at the IEEE International Conference on Acoustics, Speech, and Signal Processing in Munich Germany, 1997 (ICASSP '97) entitled: A Comparison of the New 2400 BPS MELP Federal Standard with Other Standard Coders

Acoustic Environment Talkers
Quiet Male Female
Office Male Female
HMMWV Male Female
E-3A AWACS Male Female

Sound Samples - The accompanying table entries are links to sound samples of the 4.8kbps CELP algorithm. These are 8KHz sampled, 16 bit linear PCM files in WAV format.

Source Code - ARCON Corporation(external link), as part of it's technical support of the DDVPC, has provided an ftp site for the housing and distribution of narrowband digital voice compression algorithms. Two implementations of FS1016 CELP are available. Some UNIX to DOS conversion will be necessary to implement either in a PC environment. Version 3.2 was developed under BSD UNIX. The CELP_3.2 package includes the FORTRAN source code, a C language translation, input and processed speech files, and some utilities. Version 3.3 was developed under System V and is an ANSI C implementation tested for portability and is considerably more readable than the 3.2 translated version.
Speech generated by the version 3.2 FORTRAN code and it's C code translation match. Speech generated by the version 3.3 C code matches version 3.2 if the ANSI compatibility compile option is turned off. With the ANSI compatibility option turned on, versions 3.3 and 3.2 do not match exactly. However, this slight mismatch appears to be within the arithmetic precision difference expected between compiled FORTRAN and C. In it's optimum configuration, CELP_3.3 outperforms CELP_3.2.

The CELP_3.2 package is available in one compressed tar file (celp_3_2a_tar.z, 2.64MB) via ftp. A copy of the included "README" file is available to view before download:CELP3.2 README file. Simply point and click on the hyperlink below to begin the ftp transfer.

Download:  4.8kbps CELP Source Code Version 3.2 (2.64MB)

The CELP_3.3 package is available in one compressed tar file (celp3.3_9Jan98.tar.gz, 89KB) via ftp. A copy of the included "README" file is available to view before download:CELP3.3 README file. Simply point and click on the button below to begin the ftp transfer.

Download:  4.8kbps CELP Source Code Version 3.3 (89KB)

Please note the size of the files and the filename extensions (.z and .gz). Make sure your browser is setup to save *.z and *.gz files to disk and be aware of the time it will take to download.

Algorithmic Delay - The 4.8kbps CELP algorithm, implemented with minimal buffering, has a speech throughput delay of 105.0 msecs.

 

 

Site Map | Home
This page was last edited on 20 September 2002

This website is sponsored by ARCON Corporation for the DSMCC and as such must conform to DoD policies concerning websites. Please read this disclaimer for more information.  Comments concerning design and content of these pages  should be sent to info@arcon.com.