1 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:[email protected] E-mail: [email protected] © 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 [email protected], or [email protected]. 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) .