Browse Prior Art Database

Adaptive Differential Pulse Code Modulation on Digital Signal Processor

IP.com Disclosure Number: IPCOM000104399D
Original Publication Date: 1993-Apr-01
Included in the Prior Art Database: 2005-Mar-19
Document File: 2 page(s) / 58K

Publishing Venue

IBM

Related People

Sugawara, K: AUTHOR

Abstract

A technique is described whereby the 'division' operation, which is necessary for encoding incoming speech signal in an ADPCM format and usually requires about 40 operations in a digital signal processor (DSP), is replaced by a table look-up and a multiplication operation. Furthermore, it is shown that the same table can be used to decode ADPCM format data by adjusting the variable range and step-size of quantization.

This text was extracted from an ASCII text file.
This is the abbreviated version, containing approximately 52% of the total text.

Adaptive Differential Pulse Code Modulation on Digital Signal Processor

      A technique is described whereby the 'division' operation,
which is necessary for encoding incoming speech signal in an ADPCM
format and usually requires about 40 operations in a digital signal
processor (DSP), is replaced by a table look-up and a multiplication
operation.  Furthermore, it is shown that the same table can be used
to decode ADPCM format data by adjusting the variable range and
step-size of quantization.

      A system for an adaptive differential pulse code modulation
(ADPCM) encoder/decoder is constructed from the following elements:

     Function    :           input      -> output

   A predictor P :           x(t)       -> x(t-1), a simple delay
   A quantizer & encoder E : x(t), s(t) -> x(t)/s(t)
   A decoder D :             x(t), s(t) -> x(t)*s(t)
   A step size controller C: x(t)       -> s(t) by table look-up.
                                                A standard table is
                                                provided.[*].

      An ADPCM encoder is constructed from these elements as follows:

   y(t) = E(x(t)-p(t), s(t))
   d(t) = D(y(t), s(t))
   p(t) = P(p(t)+d(t))
   s(t) = C(y(t))
where x(t) is an input value, y(t) is an ADPCM output value,
d(t) is a difference value, p(t) is a predicted value,
and s(t) is a quantizing step.

      Likewise, an ADPCM decoder is constructed from these elements
as follows:

   x(t) = p(t)+d(t)
   d(t) = D(y(t), s(t))
   p(t) = P(p(t)...