Table Of Content1
A DSP A-Z
http://www.unex.ucla.edu
Digital Signal Processing
An “A” to “Z”
R.W. Stewart M.W. Hoffman
Signal Processing Division Department of Electrical Eng.
Dept. of Electronic and Electrical Eng. 209N Walter Scott Eng. Center
University of Strathclyde PO Box 880511
Glasgow G1 1XW, Lincoln, NE 68588 0511
UK USA
Tel: +44 (0) 141 548 2396 Tel: +1 402 472 1979
Fax: +44 (0) 141 552 2487 Fax: +1 402 472 4732
Email:hoffman@unlinfo.unl.edu
E-mail: r.stewart@eee.strath.ac.uk
© BlueBox Multimedia, R.W. Stewart 1998
DSPedia
2
The
DSPedia
An A-Z of Digital Signal Processing
This text aims to present relevant, accurate and readable definitions of common and not so
common terms, algorithms, techniques and information related to DSP technology and
applications. It is hoped that the information presented will complement the formal teachings of the
many excellent DSP textbooks available and bridge the gaps that often exist between advanced
DSP texts and introductory DSP.
While some of the entries are particularly detailed, most often in cases where the concept,
application or term is particularly important in DSP, you will find that other terms are short, and
perhaps even dismissive when it is considered that the term is not directly relevant to DSP or would
not benefit from an extensive description.
There are 4 key sections to the text:
(cid:127) DSP terms A-Z page 1
(cid:127) Common Numbers associated with DSP page 427
(cid:127) Acronyms page 435
(cid:127) References page 443
Any comment on this text is welcome, and the authors can be emailed at
r.stewart@.eee.strath.ac.uk, or hoffman@ee.unl.edu.
Bob Stewart, Mike Hoffman
1998
Published by BlueBox Multimedia.
A-series Recommendations: 1
A
A-series Recommendations: Recommendations from the International Telecommunication
Union (ITU) telecommunications committee (ITU-T) outlining the work of the committee. See also
International Telecommunication Union, ITU-T Recommendations.
A-law Compander: A defined standard nonlinear (logarithmic in fact) quantiser characteristic
useful for certain signals. Non-linear quantisers are used in situations where a signal has a large
dynamic range, but where signal amplitudes are more logarithmically distributed than they are
linear. This is the case for normal speech.
Speech signals have a very wide dynamic range: Harsh “oh” and “b” type sounds have a large
amplitude, whereas softer sounds such as “sh” have small amplitudes. If a uniform quantization
scheme were used then although the loud sounds would be represented adequately the quieter
sounds may fall below the threshold of the LSB and therefore be quantized to zero and the
information lost. Therefore non-linear quantizers are used such that the quantization level at low
input levels is much smaller than for higher level signals. To some extent this also exploits the
logarithmic nature of human hearing.
Linear ADC Non-linear ADC
Binary Output Binary output
15 15
12 12
8 8
4 4
-2 -1 1 2 -2 -1 1 2
-4 Voltage Input -4 Voltage Input
-8 -8
-12 -12
-16 -16
A linear, and a non-linear (A-law in fact) input-output characteristic for two 4 bit ADCs. Note
that the linear ADC has uniform quantisation, whereas the non-linear ADC has more
resolution for low level signals by having a smaller step size for low level inputs.
A-law quantizers are often implemented by using a nonlinear circuit followed by a uniform quantizer.
Two schemes are widely in use, the µ-law in the USA:
ln(1 +µ x )
y = ----------------------------- (1)
ln(1+ µ)
and the A-law in Europe and Japan:
1 + lnA x
y = ------------------------- (2)
1+ lnA
DSPedia
2
where “ln” is the natural logarithm (base e), and the input signal x is in the range 0 to 1. The ITU
have defined standards (G.711) for these quantisers where µ = 255 and A = 87.56. The input/
output characterisitcs of Eqs. 1 and 2 for these two values are virtually identical.
Although a non-linear quantiser can be produced with analogue circuitry, it is more usual that a
linear quantiser will be used, followed by a digital implementation of the compressor. For example,
if a signal has been digitised by a 12 bit linear ADC, then digital µ-law compression can be
performed to compress to 8 bits using a modified version of Eq. 2:
ln(1 +µ x⁄ 211 ) ln(1 +µ x⁄ 2048 )
y = 27------------------------------------------ = 128----------------------------------------------- (3)
ln(1 +µ) ln(1 +µ)
where y is rounded to the nearest integer. After a signal has been compressed and transmitted, at
the receiver it can be expanded back to its linear form by using an expander with the inverse
characteristic to the compressor.
127
Digital output
µ = 255
96
64
32
A-Law Compression Digital
A-law
-2048 -1536 -1024 -512 0 512 1024 1536 2047 12 bits compressor 8 bits
Digital input
-32 input output
-64
-96
-128
The ITU µ-law characteristic for compression from 12 bits to 8 bits. Note that if a value of
µ = 0 was used then the characteristic is linear, and for µ→∞ the characteristic tends to
a sigmoid/step function.
Listening tests for µ-law encoded speech reveal that compressing a linear resolution 12 bit speech
signal (sampled at 8 kHz) to 8 bits, and then expanding back to a linearly quantised 12 bit signal
does not degrade the speech quality to any significant degree. This can be quantitatively shown by
considering the actual quantisation noise signals for the compressed and uncompressed speech
signals.
In practice the use of DSP routines to perform Eq. 3 is not performed and a piecewise linear
approximation (defined in G.711) to the µ- or A-law characteristic is used. See also Companders,
Compression,G-series Recommendations, m-law.
Absolute Error: Consider the following example, if an analogue voltage of exactly v = 6.285 volts
is represented to only one decimal place by rounding then v′ = 6.3 , and the absolute error, ∆v,
is defined as the difference between the true value and the estimated value. Therefore,
v = v′+ ∆v (4)
Absolute Pitch: 3
and
∆v = v –v′ (5)
For this case ∆v = -0.015 volts. Notice that absolute error does not refer to a positive valued error,
but only that no normalization of the error has occurred. See also Error Analysis, Quantization Error,
Relative Error.
Absolute Pitch: See entry for Perfect Pitch.
Absolute Value: The absolute value of a quantity, x, is usually denoted as x . If x≥ 0, then
x = x , and if x< 0 then x = –x . For example 12123 = 12123 , and –234.5 = 234.5 . The
absolute value function y = x is non-linear and is non-differentiable at x = 0 .
y
5
4
3 y = x
2
1
-5 -4 -3 -2 -1 1 2 3 4 5 x
0
Absorption Coefficient: When sound is absorbed by materials such as walls, foam etc., the
amount of sound energy absorbed can be predicted by the material’s absorption coefficient at a
particular frequency. The absorption coefficients for a few materials are shown below. A 1.0
indicates that all sound energy is absorbed, and a 0, that none is absorbed. Sound that is not
absorbed is reflected. The amplitude of reflected sound waves is given by 1–A times the
amplitude of the impinging sound wave.
1.0
Polyurethane
Foam
nt 0.8
e Reflected
ci Glass-Wool Sound Absorbed
effi 0.6 Thick Sound
Co Carpet
n 0.4
o
pti Incident
or 0.2 Sound
s Brick
b
A
0
0.1 0.2 0.4 0.5 1 2 3 4 5 Wall
Frequency (kHz)
Accelerometer: A sensor that measures acceleration, often used for vibration sensing and attitude
control applications.
Accumulator: Part of a DSP processor which can add two binary numbers together. The
accumulator is part of the ALU (arithmetic logic unit). See also DSP Processor.
Accuracy: The accuracy of DSP system refers to the error of a quantity compared to its true value.
See also Absolute Error, Relative Error, Quantization Noise.
DSPedia
4
Acoustic Echo Cancellation: For teleconferencing applications or hands free telephony, the
loudspeaker and microphone set up in both locations causes a direct feedback path which can
cause instability and therefore failure of the system. To compensate for this echo acoustic echo
cancellers can be introduced:
A + echoes of B’ + echoes of A’ ....etc.
+
A A’
−
H1(f) Adaptive
“feedback”
Adaptive Filter
“feedback”
Filter
H (f)
2
−
B’ + B
Room 1 Room 2
B + echoes of A’ + echoes of B’ ....etc.
When speaker A in room 1 speaks into microphone 1, the speech will appear at loudspeaker
2 in room 2. However the speech from loudspeaker 2 will be picked up by microphone 2, and
transmitted back into room 1 via loudspeaker 1, which in turn is picked up by loudspeaker 1,
and so on. Hence unless the loudspeaker and microphones in each room are acoustically
isolated (which would require headphones), there is a direct feedback path which may cause
stability problems and hence failure of the full duplex speakerphone. Setting up an adaptive
filter at each end will attempt to cancel the echo at each outgoing line. Amplifiers, ADCs,
DACs, communication channels etc. have been omitted to allow the problem to be clearly
defined.
Teleconferencing is very dependent on adaptive signal processing strategies for acoustic echo
control. Typically teleconferencing will sample at 8 or 16 kHz and the length of the adaptive filters
could be thousands of weights (or coefficients), depending on the acoustic environments where
they are being used. See also Adaptive Signal Processing, Echo Cancellation, Least Mean Squares
Algorithm, Noise Cancellation, Recursive Least Squares.
Acoustics: The science of sound. See also Absorption, Audio, Echo, Reverberation.
Actuator: Devices which take electrical energy and convert it into some other form, e.g.
loudspeakers, AC motors, Light emitting diodes (LEDs).
Active Filter: An analog filter that includes amplification components such as op-amps is termed
an active filter; a filter that only has resistive, capacitive and inductive elements is termed a passive
filter. In DSP systems analog filters are widely used for anti-alias and reconstruction filters, where
good roll-off characteristics above f /2 are required. A simple RC circuit forms a first order (single
s
pole) passive filter with roll of 20dB/decade (or 6dB/ocatve). By cascading RC circuits with an
(active) buffer amplifier circuit, higher order filters (with more than one pole) can be easily designed.
See also Anti-alias Filter, Filters (Butterworth, Chebyshev, Bessel etc.) , Knee, Reconstruction Filter
, RC Circuit, Roll-off.
Active Noise Control (ANC): 5
Active Noise Control (ANC): By introducing anti-phase acoustic waveforms, zones of quiet can
be introduced at specified areas in space caused by the destructive interference of the offending
noise and an artificially induced anti-phase noise:
Anti-phase
ANC noise
Loud-
speaker
Quiet Zone:
Periodic
(destructive
noise
NOISE interference)
The simple principle of active noise control.
ANC works best for low frequencies up to around 600Hz. This can be intuitively argued by the fact
that the wavelength of low frequencies is very long and it is easier to match peaks and troughs to
create relatively large zones of quiet. Current applications for ANC can be found inside aircraft, in
automobiles, in noisy industrial environments, in ventilation ducts, and in medical MRI equipment.
Future applications include mobile telephones and maybe even noisy neighbors!
The general active noise control problem is:
NOISE
Reference T(f)
n(t)
microphone
Q(f)
Desired
zone of
d(t)
quiet
H(f)
x(t) Adaptive y(t) r ye(t)
Noise
H (f)
Controller e
Error
microphone
Secondary
Loudspeaker
e(t) = d(t) + y (t)
e
The general set up of an active noise controller as a feedback loop where
the aim is to minimize the error signal power.
DSPedia
6
To implement an ANC system in real time the filtered-X LMS or filtered-U LMS algorithms can be
used [68], [69]:
T(f) NOISE
Reference microphone
Q(f)
d(k)
(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)
y(k) (cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)
Filter Zeroes Σ (cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)
x(k) a + + He(f) (cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)
ˆ Loud Error
H (z) Filter Poles speaker microphone
e b ˆ
H (z)
e
a(k+1) = a(k)+2µe(k)f(k) b(k+1) = b(k)+2µe(k)g(k)
f(k) g(k)
The filtered-U LMS algorithm for active noise control. Note that if there are no poles, this
architecture simplifies to the filtered-X LMS.
The figure below shows the time and frequency domains for the ANC of an air conditioning duct.
Note that the signals shown are represent the sound pressure level at the error microphone. In
Active Vibration Control (AVT): 7
general the zone of quiet does not extend much greater than λ⁄ 4 around the error microphone
(where λ is the noise wavelength):
TIme Analysis
2500
Before ANC
1500
500
s) 0
nit -500
u
( -1500
e
d -2500/2500
u
plit 1500 After ANC
m
A 500
0
-500
-1500
-2500
0 5 10 15 20 25 30 35 40 45 50
Time (ms)
Power Spectra Analysis
0
Before ANC
-8
) -16
B
d -24
(
e
d -32
u
nit -40/0
g After ANC
a -8
M
-16
-24
-32
-40
0 100 200 300 400 500 600 700 800 900 1000
Frequency (Hz)
ANC inside air conditioning duct. The sound pressure levels shown represent the noise at an
error microphone before and after switching on the noise canceller. The noise canceller clearly
reduces the low frequency (periodic) noise components.
Sampling rates for ANC can be as low as 1kHz if the offending noise is very low in frequency (say
50-400Hz) but can be as high as 50 kHz for certain types of ANC headphones where very rapid
adaption is required, even although the maximum frequency being cancelled is not more than a few
kHz which would make the Nyquist rate considerably lower. See also Active Vibration Control,
Adaptive Line Enhancer, Adaptive Signal Processing, Least Mean Squares Algorithm, Least Mean
Squares Filtered-X Algorithm Convergence, Noise Cancellation.
Active Vibration Control (AVT): DSP techniques for AVT are similar to active noise cancellation
(ANC) algorithms and architectures. Actuators are employed to introduce anti-phase vibrations in
an attempt to reduce the vibrations of a mechanical system. See also Active Noise Cancellation.
DSPedia
8
AC-2: An Audio Compression algorithm developed by Dolby Labs and intended for applications
such as high quality digital audio broadcasting. AC-2 claims compression ratios of 6:1 with sound
quality almost indistinguishable from CD quality sound under almost all listening conditions. AC-2
is based on psychoacoustic modelling of human hearing. See also Compression, Precision
Adaptive Subband Coding (PASC).
Adaptation: Adaptation is the auditory effect whereby a constant and noisy signal is perceived to
become less loud or noticeable after prolonged exposure. An example would be the adaptation to
the engine noise in a (loud!) propeller aircraft. See also Audiology, Habituation, Psychoacoustics.
Adaptive Differential Pulse Code Modulation (ADPCM): ADPCM is a family of speech
compression and decompression algorithms which use adaptive quantizers and adaptive
predictors to compress data (usually speech) for transmission. The CCITT standard of ADPCM
allows an analog voice conversation sampled at 8kHz to be carried within a 32kbits/second digital
channel . Three or four bits are used to describe each sample which represent the difference
between two adjacent samples. See also Differential Pulse Code Modulation (ADPCM), Delta
Modulation, Continuously Variable Slope Delta Modulation (CVSD), G.721.
Adaptive Beamformer: A spatial filter (beamformer) that has time-varying, data dependent (i.e.,
adaptive) weights. See also Beamforming.
Adaptive Equalisation: If the effects of a signal being passed through a particular system are to
be “removed” then this is equalisation. See Equalisation.
Adaptive Filter: The generic adaptive filter can be represented as:
d(k)
+
y(k)
Adaptive
x(k)
Filter, w(k) −
e(k)
Adaptive Algorithm
y(k) = Filter{x(k),w(k)}
w(k+1) = w(k)+e(k)f{d((k),x(k))}
In the generic adaptive filter architecture the aim can intuitively be described as being to
adapt the impulse response of the digital filter such that the input signal x(k) is filtered to
produce y(k) which when subtracted from desired signal d(k) , will minimize the power of
the error signal e(k) .
The adaptive filter output y(k) is produced by the filter weight vector, w(k) , convolved (in the
linear case) with x(k) . The adaptive filter weight vector is updated based on a function of the error
signal e(k) at each time step k to produce a new weight vector, w(k+ 1) to be used at the next
time step. This adaptive algorithm is used in order that the input signal of the filter, x(k) , is filtered
to produce an output, y(k) , which is similar to the desired signal, d(k) , such that the power of the
error signal, e(k) = d(k)–y(k) , is minimized. This minimization is essentially achieved by
exploiting the correlation that should exist between d(k) and y(k) .