[sci.electronics] Nice DSP problem.

collinge@uvicctr.UUCP (Doug Collinge) (02/15/89)

Another in my continuing series of technical questions, and thanks to all
those who took the time to help me out in the past.

Problem: to amplify the sound in a room without feedback.

Proposed solution: Put a microphone in the room, run this signal through
a DSP Box, and into a power amp and speakers.  Ask the DSP box to compute
the impulse response of the room and audio chain so that we can predict
what the mic will hear for any given output from the speaker.  Then get
the Box to subtract that response from anything coming into the mic.
The output from the mic should then be any sound in the room not produced
by the speaker.

Now I understand that the impulse response can only be predicted with
finite accuracy and that the errors will probably lead to feedback but
presumably we can do pretty well and  get the errors below 20 dB or so.

Question:  Is this gonna work?  How much computer is this going to take
for a low reverb room like a living room? Or how about fairly reverberant
room?

Thanks again.  All you DSP freaks can look on this as a challenging puzzle...

-- 
		Doug Collinge
		School of Music, University of Victoria,
		PO Box 1700, Victoria, B.C., Canada,  V8W 2Y2  
		collinge@uvunix.BITNET
		decvax!uw-beaver!uvicctr!collinge
		ubc-vision!uvicctr!collinge
		__... ...__  _.. .  ..._ . __... __. _. .._  ..._._

ISW@cup.portal.com (Isaac S Wingfield) (02/18/89)

<how to amplify sound in a room without feedback>

An oold technique is to modulate the audio SSB-wise, and then
demodulate it with a slightly different carrier freq. The result
is that what comes out is a different frequency than what went in, 
and if I remember right, it can give you around 10dB more volume
before fedback sets in.

Isaac     isw@cup.portal.com

bill@videovax.tv.Tek.com (William K. McFadden) (02/25/89)

In article <617@uvicctr.UUCP> collinge@uvicctr.UUCP (Doug Collinge) writes:
>Problem: to amplify the sound in a room without feedback.
>
>Proposed solution: Put a microphone in the room, run this signal through
>a DSP Box, and into a power amp and speakers.  Ask the DSP box to compute
>the impulse response of the room and audio chain so that we can predict
>what the mic will hear for any given output from the speaker.  Then get
>the Box to subtract that response from anything coming into the mic.
>The output from the mic should then be any sound in the room not produced
>by the speaker.
>
>Now I understand that the impulse response can only be predicted with
>finite accuracy and that the errors will probably lead to feedback but
>presumably we can do pretty well and  get the errors below 20 dB or so.
>
>Question:  Is this gonna work?  How much computer is this going to take
>for a low reverb room like a living room? Or how about fairly reverberant
>room?

There are a couple of considerations to think of here.  First of all,
cancelling the loudspeaker output at the microphone is likely to make the PA
system sound terrible to the audience.  In addition, the speaker won't be able
to hear himself/herself.  If anything changes, for instance the microphone
location, the location of the speaker (the human one), or the number of people
in the audience, all bets are off.  It may be possible to equalize adaptively,
but the adaptation time would probably be too long to correct for movements of
the person speaking.  Another consideration is the computation time.  Most
halls have a reverberation time that is seconds long.  To cancel the echoes
would require a time delay on the order of the reverberation.  Imagine speaking
into a microphone and hearing your voice come out of the loudspeaker one or two
seconds later!

A more practical approach might be to equalize the room response.  Most
feedback is caused by room resonances.  DSP can be used effectively for this.
Circular convolution (taking FFT of input, multiplying by FFT of impulse
response, taking inverse FFT) can be used to create FIR filters of enormous
length using off-the-shelf hardware.  Filters lengths of 64K taps are possible.
This works well for a system where a time delay is unimportant (e.g., radio
broadcasting or home stereo system), but is unacceptable for live speakers
(e.g., P.A. system).  The compromise is to decrease the filter length.  A
1024 tap filter will be essentially equivalent to a 1024 band equalizer
and more than enough to equalize a room.  However, this will eliminate
reverberations in the room only to the length of the filter.  For example, a
50 KHz sample rate and a 1000 tap filter will remove at most 1000/50000 = 20 mS
of echoes.  Remember that the time delay using circular convolution will be
longer than 20 mS due to the time needed for the FFT conversions.  However,
there are ways of segmenting the FFTs into smaller chunks to decrease the time
delay (1).

Remember that no matter how good your equalizer is, you can completely equalize
only one spot (the location of the microphone used to sample the room
response).  All other locations will be a compromise.

Several relevant papers were presented at last fall's AES convention:

(1) Kulp, Barry D., _Digital_Equalization_Using_Fourier_Transform_Techniques_,
    Zoran Corp., Needham Heights, MA.  85th AES convention, Preprint 2694

    Abstract-
    Equalization using time-domain digital convolution becomes increasingly
    computationally intensive as impulse response increases.  Fourier-transform
    techniques greatly reduce the computational load.  The corresponding theory
    is reviewed and various applications are detailed, including room,
    loudspeaker, instrument, and ambience equalization.  A practical real-time
    implementation using an off-the shelf digital signal processing integrated
    circuit is described.  Theoretical and practical limitations of the
    applications and implementation are discussed.

(2) Matsumoto, Masaharu; Satoh, Katsuaki; Ishikawa, Seiichi; _Amplitude_and_
    _Group_Delay_Control_Using_a_Digital_Signal_Processor_, Matsushita
    Electric Industrial Company, Ltd., Osaka, Japan,.  Preprint 2692

    Abstract-
    As a result of obtaining a new algorithm for amplitude and phase control,
    we have developed an FIR digital equalizer for audio systems.  This digital
    equalizer can accurately get the amplitude characteristics defined
    arbitrarily with linear phase.  Furthermore, it can compensate for group-
    delay distortion of loudspeaker systems.  This paper describes its ability
    and the processing algorithm.

(3) Kuriyama, Joji, and Furakawa, Yasuyuki, _An_Adaptive_Loudspeaker_System_,
    Toa Electric Company, Takarazuka, Hyogo, Japan.  Preprint 2698

    Abstract-
    In order to get not only flat response but also linear phase frequency
    response of an arbitrary loudspeaker system, we tried to apply an adaptive
    digital filter hardware to a common loudspeaker system.  The experiments
    showed satisfactory results, and the adaptation process converged within a
    few minutes even when music was used as an input signal.

Audio Engineering Society
60 East 42nd Street
New York, NY 10165
212-661-2355

BTW, this sort of thing has been a pet project of mine ever since I took my
first DSP class.  We seem to be moving closer to the point where automatic
digital room EQ is not only possible, but affordable.  The question that
remains is: is it desirable?  I think so, but others may disagree.  (As an
aside, I believe it is currently done for concerts using pink noise, a third-
octave equalizer, and an audio spectrum analyzer.  Some of all of the process
may be automatic, depending on the equipment used.)
-- 
Bill McFadden    Tektronix, Inc.  P.O. Box 500  MS 58-639  Beaverton, OR  97077
UUCP: bill@videovax.Tek.com,  {hplabs,uw-beaver,decvax}!tektronix!videovax!bill
GTE: (503) 627-6920         "The biggest difference between developing a missle
component and a toy is the 'cost constraint.'" -- John Anderson, Engineer, TI