DSPRelated.com
Forums

Reverberation Question

Started by Tom 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." -- % Randy Yates % "...the answer lies within your soul %% 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 http://home.earthlink.net/~yatescr
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.'" -- % Randy Yates % "...the answer lies within your soul %% 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 http://home.earthlink.net/~yatescr
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