In comp.dsp, peter.o.mueller@gmx.de (Peter Mueller) wrote:
>Hello,
>
>I like to get rid of the motor the motor of my DV camera introduces to
>the audio signal. I found out that the noise is just
>between 600-1000Hz. So I can't just delete the band where the noise is.
>Is here a good way to filter the noise out? I thought about a filter
>that uses the knowlege of the raw noise signal.
>
>Any ideas?
It should be possible to do noise reduction on it in the same way
as the "noise reduction" function in Cool Edit (now Adobe Audition),
and if you have some "valuable" recordings of one-time events that you
need cleaned up, just transfer them to computer and clean up the audio
with the appropriate program (this has nothing to do with DSP other
than that the the noise reduction algorithms use a moving-window FFT,
noise gate on each bin, then IFFT to get back the "noiseless" signal).
It should be possible to do this in real time or near-real-time (with
a short delay in the audio), but it bothers me, it strikes me as a
kludge fix for the problem.
You'll get much better quality audio if you can
mechanically/acoustically isolate the mic from the camera so the noise
doesnlt get in there to start with.
Reply by Jim Adamthwaite●January 1, 20042004-01-01
> would it be possible to measure the noise once and using this reference
> signal as input for "Motor Noise" as shown above?
Unfortunately, no. The motor will never generate precisely the same noise
on successive revolutions due to variations in speed, mechanical loading,
and the bearing balls and cages never quite lining up the same way again.
Essentially a chaotic situation, so you can not use a sample of it to do
cancellation.
What is relatively stable is the impulse response (amplitude & time delay)
characteristic of the path from the motor to the afflicted microphone no. 1.
The echo canceller technique works by by adjusting the FIR's time delay &
amplitude characteristics so that a signal picked up by the 2nd microphone
is subjected to a nearly identical time/amplitude response, and then
subtracted from the mike #1 signal.
Thus, the motor can now make a different noise every rev, and so long as the
FIR path matches the leakage path, the 2 signals will cancel.
The task of the LMS algorithm is to make the FIR mimic the undesired leakage
path, continually adjusting itself loking for a better match (reduced
cancellation error signal). It is normal to prevent FIR/LMS updates during
periods of inactivity in order to stop the FIR from wandering away from
correct adjustment. You would probably derive this "FIR adj enable" from
the camera trigger.
> Can you point me to a
> good reference about LMS realization?
I implemented my echo canceller in 56303 (fixed point) assembly code, which
was derived from a benchmark example prog on Motorola's website. As with
all things, the sample code is only your starting point.
The FIR length (N samples) will depend on the longest period of mechanical
ringing which can be triggered in the camera assembly by a single pulse from
the motor. I would be surprised if this exceeded 10 mSecs. The sample rate
you use will have to exceed twice the highest freq you expect to encounter.
For hifi purposes, use 44.1KHz minimim Fs, and approx 441+ samples as a
starting point.
If you don't mind looking at unfamiliar opcodes look up:
http://e-www.motorola.com/files/dsp/doc/ref_manual/DSP56300FM.pdf
You should be able to deduce the nature of the algorithm. Texas Inst's and
others will have similar ref material.
Hope this helps,
Jim Adamthwaite
Reply by Peter Mueller●January 1, 20042004-01-01
Hi Jim,
Jim Adamthwaite <secad@netspace.net.au> wrote:
>
> Put a second microphone pehaps miniature electret somewhere in intimate
> contact with the motor (noise source), but as acoustically isolated as
> possible from the outside world. Use an echo canceller algorithm, one input
> coming from the "real" mike, the second mike going thru the adjustable FIR
> filter, the o/.p of which is subtracted to create the 'e' error signal.
> This 'e' signal is used to adjust the LMS FIR coeffs, and is also the audio
> o/p to be recorded.
>
> (Norm mike) +--------+
> Desired sound plus Noise ->| ADD |---------*------------> recordable audio
> +--------+ |
> +-----------+ ^ |
> Motor Noise ---->| Adj FIR |--------+ |
> (2nd mike) +-----------+ |
> ^ |
> | +--------------+ |
> +-------| LMS ADJ |<---+
> +--------------+
>
> The Adjustable FIR should adapt itself to provide a signal that matches and
> cancels the noise component that 'leaks' its way into the normal microphone.
> Whenever the camera's operating environment changes, including little things
> like changing one's grip on the camera handle, the LMS ADJ algorithm will
> train the FIR to match & cancel the new leakage path inpulse reponse
> characteristics.
>
> Hope this helps.
> Jim Adamthwaite
would it be possible to measure the noise once and using this reference
signal as input for "Motor Noise" as shown above? Can you point me to a
good reference about LMS realization?
Peter
Reply by Siddharth Mathur●December 31, 20032003-12-31
"Peter Mueller" <peter.o.mueller@gmx.de> wrote in message
news:1g6u50a.1utta0ckukzkcN%peter.o.mueller@gmx.de...
> Hello,
>
> I like to get rid of the motor the motor of my DV camera introduces to
> the audio signal. I found out that the noise is just
> between 600-1000Hz. So I can't just delete the band where the noise is.
> Is here a good way to filter the noise out? I thought about a filter
> that uses the knowlege of the raw noise signal.
>
Hello,
IMHO, filtering out the 600-1000Hz band in an audio signal would garble the
speech portion pretty badly. This region typically has the first two
formants for voiced speech, which are crucial for identification.
Siddharth
Reply by Peter Mueller●December 31, 20032003-12-31
Hello,
I like to get rid of the motor the motor of my DV camera introduces to
the audio signal. I found out that the noise is just
between 600-1000Hz. So I can't just delete the band where the noise is.
Is here a good way to filter the noise out? I thought about a filter
that uses the knowlege of the raw noise signal.
Any ideas?
Peter
Reply by Peter Mueller●December 31, 20032003-12-31
Hello,
I like to get rid of the motor the motor of my DV camera introduces to
the audio signal. I found out that the noise is just
between 600-1000Hz. So I can't just delete the band where the noise is.
Is here a good way to filter the noise out? I thought about a filter
that uses the knowlege of the raw noise signal.
Any ideas?
Peter