Reverberation Question

Started by October 18, 2003
Jerry Avins wrote:

> Randy Yates wrote:
>
>   ...
>
>>
>> A pure delay has transfer function G(z) = z^{-N}, |z| > 0. The inverse
>> of G(z) is 1/G(z) = z^{N}, |z| < \infty. Since this is a left-handed
>> sequence (due to it's region-of-convergence), it is not causal. Thus
>> a pure delay is not minimum phase.
>
>
> Randy,
>
> I like that demonstration. I had another in mind that depends on a chain
> of physical reasoning. I didn't want to chance its being flawed, so I
> waffled. Briefly, minimum phase transformations can be undone. If I
> could undo a pure delay, I'd get rich at the race track. Come to think
> of it, you just said that in algebra; didn't you?
>
> Jerry

As Eric would say, "Ayup."
--
%% Fuquay-Varina, NC            %       'cause no one knows which side
%%% 919-577-9882                %                   the coin will fall."
%%%% <yates@ieee.org>           %  'Big Wheels', *Out of the Blue*, ELO


Hi Jerry,

I was a bit short on that other response. This time I stop and
smell the roses...  (can I do this?...)

Jerry Avins wrote:
> Randy Yates wrote:
>
>   ...
>
>>
>> A pure delay has transfer function G(z) = z^{-N}, |z| > 0. The inverse
>> of G(z) is 1/G(z) = z^{N}, |z| < \infty. Since this is a left-handed
>> sequence (due to it's region-of-convergence), it is not causal. Thus
>> a pure delay is not minimum phase.
>
>
> Randy,
>
> I like that demonstration. I had another in mind that depends on a chain
> of physical reasoning. I didn't want to chance its being flawed, so I
> waffled.

It's OK to make a mistake every once in awhile. (Like every hour
or so for me).

> Briefly, minimum phase transformations can be undone.

Well, "can be undone" is ambiguous, a little, right? If the
signal is recorded, you can undo it even if it's not causal.
But I know you know this and I know what your point was, so maybe
I'm being overly analytical.

> If I
> could undo a pure delay, I'd get rich at the race track. Come to think
> of it, you just said that in algebra; didn't you?
>
> Jerry

This is off-topic quite a bit, but with the activity in playing the stock
market over the last few years, I've often said to folks who lost money
or lost the chance to make money by selling a stock too soon of their hindsight,
"It's like being at a race track and saying I should've bet on that
horse.'"
--
%% Fuquay-Varina, NC            %       'cause no one knows which side
%%% 919-577-9882                %                   the coin will fall."
%%%% <yates@ieee.org>           %  'Big Wheels', *Out of the Blue*, ELO


Tom <somebody@nOpam.com> wrote in message news:<3F93263B.6CB0E303@nOpam.com>...
> Fred Marshall wrote:
>
> > T
> > the source or the receiver.  So presumably you could have a very high
> > sample rate compared to that corresponding to z^-1 in your path
> > expressions.  For example, multiply each of your exponents by 100 or
> > some other suitable factor.
>
> I sample at 22,050Hz  8 bits in real-time which is all I can handle - I would like
> to do better of course but I have so much processing I am lucky to get away with
> what I have!

Tom,

A 20-foot square room will have path lengths of 20-30 feet = 20-30msec
and a composite path may have 5 msec or so between direct and bounce
paths.  And, if these times are arbitrarily split to get the sort of
resolution you implied, you might divide by 5 to get something like
1msec resolution between individual path lengths.

Your sample interval is .04535msec which is 22 times shorter than the
1msec above.  That "22" is equivalent to the "100" I had "imagined"
earlier.
So, what you have is a bounce path model sample interval that is 1/22
of the path interval.  So, you can express this function:
H=k*z-6 +s*z-9
by multiplying the 6 and the 9 by 22 yields:
H=k*z^-132 + s*z^-198.

Getting what had been "fractional" delays out of this is pretty easy
because the temporal resolution is much better with this
representation.  In other words, you can model the paths at the same
sample rate as you're using in signal capture.  That will give you
much finer temporal resolution in the estimate.

You didn't say what sort of waveform you're using.  It sometimes works
best to have very short pulses that allow you to resolve the paths and
to avoid reverberation of the backscattering kind.

What are you going to do with this???

Fred


Fred Marshall wrote:

> Tom <somebody@nOpam.com> wrote in message news:<3F93263B.6CB0E303@nOpam.com>...
> > Fred Marshall wrote:
> >
> > > T
> > > the source or the receiver.  So presumably you could have a very high
> > > sample rate compared to that corresponding to z^-1 in your path
> > > expressions.  For example, multiply each of your exponents by 100 or
> > > some other suitable factor.
> >
> > I sample at 22,050Hz  8 bits in real-time which is all I can handle - I would like
> > to do better of course but I have so much processing I am lucky to get away with
> > what I have!
>
> Tom,
>
> A 20-foot square room will have path lengths of 20-30 feet = 20-30msec
> and a composite path may have 5 msec or so between direct and bounce
> paths.  And, if these times are arbitrarily split to get the sort of
> resolution you implied, you might divide by 5 to get something like
> 1msec resolution between individual path lengths.
>
> Your sample interval is .04535msec which is 22 times shorter than the
> 1msec above.  That "22" is equivalent to the "100" I had "imagined"
> earlier.
> So, what you have is a bounce path model sample interval that is 1/22
> of the path interval.  So, you can express this function:
> H=k*z-6 +s*z-9
> by multiplying the 6 and the 9 by 22 yields:
> H=k*z^-132 + s*z^-198.
>
> Getting what had been "fractional" delays out of this is pretty easy
> because the temporal resolution is much better with this
> representation.  In other words, you can model the paths at the same
> sample rate as you're using in signal capture.  That will give you
> much finer temporal resolution in the estimate.
>
> You didn't say what sort of waveform you're using.  It sometimes works
> best to have very short pulses that allow you to resolve the paths and
> to avoid reverberation of the backscattering kind.
>
> What are you going to do with this???
>
> Fred

Hi Fred,

I am using it as a voice activity detector. If the delay lies outside some bound then I
assume it is not voice. (as the speech signal is spoken directly in front of two
microphones). I also use a measure of coherence to try and avoid problems with
reverberations ie if the delay is less than a defined amount and the coherence is
greater than some limit then it must be a desired signal. Works really well in fact. The
'zone of activity' is a  two-sheet hyberboloid and extends beyond the two mics too
unfortunately as well as towards the speaker. It is interesting when I send a sine wave
from outside the zone. At most frequencies it detects it is to the right (say) of the
zone but at some frequencies it gives false readings. The signals outside the zone are
taken to be noise of course. The method removes the noise in the silence periods of the
speech.

thanks

Tom

`