Mackie SP-DSP1 Reference Manual page 3

Mackie sound palette series sp-dsp1 digital signal processors: reference guide
Hide thumbs Also See for SP-DSP1:
Table of Contents

Advertisement

Mackie Industrial White Paper
1.1
Algorithm Block Diagram
The ambient noise sensor algorithm is a variation of a Nor-
malized LMS Adaptive Filter [2-4, 7, 11-12]. The coefcient
calculator in the system uses the error signal, some Root Mean
Square (RMS) signal levels and energies, and the current coef-
cients to compute a new set of Finite Impulse Response (FIR)
coefcients that approach the Room Transfer Function (RTF) [5].
Down sampling has been used to optimize the adaptation char-
acteristics of the algorithm for the largest room possible using
minimum MIPS and memory [8, 9]. The compander controls the
gain of the music signal based on the ambient noise detected and
the user input parameters.
1.2
Normalized LMS Adaptive Filter
The Normalized Least Mean Square (nLMS) Adaptive Filter
portion of the Ambient Noise Sensor consists of the FIR lter
(Equation 1), Coefcient Calculator (Equation 2), Summation
(producing the error signal), and RMS measurements, and can
be considered equivalent to the MATLAB
in Diagram 1 [1, 9, 10]. In this simulation the 'Voice' signal
is the ambient noise signal, the delays represent the RTF, and
the nLMS lter adapts to produce the 'Out' signal which
is an approximation of the music combined with the RTF.
When the output signal from the nLMS is subtracted from the
input signal (Voice + RTF (Music)) the 'err' or error signal
approximates the original 'Voice' or noise signal. Look at
the gains and delays shown in the blocks of Diagram 1 (simu-
lating the direct sound plus one reection). The amplitude
versus time plot was generated with the coefcients from the
'Taps' output of nLMS lter. As you can see from this simple
example, this lter is the RTF. Obviously, in the real world,
the exact RTF is not obtainable. However, the better the
FIR approximates the RTF, the closer the error signal is
to the actual noise in the room [2-4, 11-12]. The nLMS Adap-
tive Filter is constantly adapting to the room characteristics.
This provides optimum performance when the room acoustics
change. Room acoustics can change signicantly due to the
arrangement of furnishings, opening or closing drapes, the
number of people in the room changing, or more dramatic
changes such as moveable walls or room dividers.
The effectiveness of the nLMS is determined mostly by the
number of taps in the FIR (internal to the nLMS adaptive
Filter), the adaptation algorithm, and the density and duration
of the RTF. In the SP-DSP1™ the processing capability and
memory allocation has limited the FIR length to about 1500
taps. As a result, the signals are down sampled to allow for
good cancellation even in reasonably large rooms. Since the
MATLAB is the trademark of a comercial matrix-based processing
1
language.
September 2000
speed of sound is approximately 1 ft/ms, we designed the
system to provide adequate rejection for music paths (direct
sound plus reections) up to about 300 feet.
A standard Transversal n-point FIR lter was used [1, 5, 8].
Input buffering is n points long plus a little extra buffer space.
The Output, y, forms another buffer:
y(n) =
where
simulation shown
1
Calculation of new coefcients (coefcient calculator) is
performed if the following two conditions are met:
Mathematical calculations for coefcient updating are
according to a slightly modied nLMS formula [2-4, 7,
11-12]:
W
i
where
Our slightly different use of beta (not shown) plus the use
of an Error Threshold are unique adaptations of the standard
nLMS algorithm. The new beta function allows faster adapta-
tion when the error, e, gets smaller. The normal use of beta
as a scaling value (shown above) requires a small value to
guarantee stability of the algorithm when the error is large,
N-1
w
(n)*u(n-i)
i
i=0
N = number of FIR taps or the order of the lter
n = time index
y = FIR output
w = adaptation coefcients
u = FIR input
If the normalization energy is greater than zero (if
negative or 0 it is a debug error condition).
If the Error Threshold signal is above the threshold
computed as a portion of the normalization energy of the
input signal.
e(n) * beta * u(n-i)
(n+1) = W
(n)+ ————————
epsilon * E(n)
i
n = time index
i = 0..n-1
W = FIR lter coefcients
e = error
u = FIR input data
E = Normalization Energy
beta = adaptation rate (function)
epsilon = stability coefcient
Noise Sensing
(1)
(2)
3

Advertisement

Table of Contents
loading

Table of Contents