DSPRelated.com
Forums

The Delay of Minimum Phase FIR filter

Started by wyonghao May 17, 2013
> >> Ok, for minimum phase FIR, the group delay is not constant, but I am
only
>> looking for a time delay which "most of information or signal behavior"
is
>> passed through the filter system. > >Once I had to define "delay" of IIR system in layman's terms for the >sake of marketing department. I used "center of mass" of the impulse >response.
It looks very similar what I want to do. I was just wondering if there is already commonly agreed scientific definition of delay in such a situation. The "center of mass of impulse response" seems interesting and reasonable define as well if that means to find the position which both sides of coefficients are weighted equally. I wonder how you define it and what the algorithm you calculate it.
On May 18, 4:50&#4294967295;pm, "wyonghao" <42396@dsprelated> wrote:
> >> Ok, for minimum phase FIR, the group delay is not constant, but I am > only > >> looking for a time delay which "most of information or signal behavior" > is > >> passed through the filter system. > > >Once I had to define "delay" of IIR system in layman's terms for the > >sake of marketing department. I used "center of mass" of the impulse > >response. > > It looks very similar what I want to do. I was just wondering if there is > already commonly agreed scientific definition of delay in such a situation. > The "center of mass of impulse response" seems interesting and reasonable > define as well if that means to find the position which both sides of > coefficients are weighted equally. I wonder how you define it and what the > algorithm you calculate it.
might have to be impulse response squared. maybe delay = integral{ (h(t))^2 t dt} over all t. problem if you do it with just h(t), then reversing polarity will negate delay. r b-j
On Sat, 18 May 2013, robert bristow-johnson wrote:

>might have to be impulse response squared. > >maybe > > delay = integral{ (h(t))^2 t dt} > >over all t.
On Sat, 18 May 2013 Greg Berchin wrote:
>Search for "Central Time" and "RMS Duration".
From "Structural Health Monitoring: A Machine Learning Perspective", By Charles R. Farrar, Keith Worden: "Note that the temporal moments are defined for the square of the time history. This definition yields moments that can be related to energy-like quantities should the time history have appropriate units. In fact, this first temporal moment is referred to as 'energy' and is denoted 'E'. A normalised first-order temporal moment about time 't=0' is referred to as the 'CENTRAL TIME, T', and is defined as +inf T = {INTEGRAL[t*y(t)&#4294967295;dt]}/E -inf This value can be thought of as the centroid of the area under the amplitude-squared time history and is directly analogous to the first statistical moment or mean value." Next, a second-order temporal moment about the central time is referred to as the 'mean-square duration, D&#4294967295;'; it describes the dispersion of the signal's energy about the central time and is defined as +inf D&#4294967295; = {INTEGRAL[(t-T)&#4294967295;y(t)&#4294967295;dt]}/E +inf This temporal moment is analogous to the second statistical moment or variance. The ROOT-MEAN-SQUARE DURATION is the square root of this quantity and is designated 'D'. It is analogous to the standard deviation." No need to reinvent the wheel. Greg
On Sun, 19 May 2013 08:28:16 -0500, Greg Berchin
<gjberchin@chatter.net.invalid> wrote:

>On Sat, 18 May 2013, robert bristow-johnson wrote: > >>might have to be impulse response squared. >> >>maybe >> >> delay = integral{ (h(t))^2 t dt} >> >>over all t. > > >On Sat, 18 May 2013 Greg Berchin wrote: > >>Search for "Central Time" and "RMS Duration". > > >From "Structural Health Monitoring: A Machine Learning >Perspective", By Charles R. Farrar, Keith Worden: > >"Note that the temporal moments are defined for the square of the >time history. This definition yields moments that can be related >to energy-like quantities should the time history have appropriate >units. In fact, this first temporal moment is referred to as >'energy' and is denoted 'E'. > >A normalised first-order temporal moment about time 't=0' is >referred to as the 'CENTRAL TIME, T', and is defined as > +inf > T = {INTEGRAL[t*y(t)&#4294967295;dt]}/E > -inf >This value can be thought of as the centroid of the area under the >amplitude-squared time history and is directly analogous to the >first statistical moment or mean value." > >Next, a second-order temporal moment about the central time is >referred to as the 'mean-square duration, D&#4294967295;'; it describes the >dispersion of the signal's energy about the central time and is >defined as > +inf > D&#4294967295; = {INTEGRAL[(t-T)&#4294967295;y(t)&#4294967295;dt]}/E > +inf >This temporal moment is analogous to the second statistical moment >or variance. The ROOT-MEAN-SQUARE DURATION is the square root of >this quantity and is designated 'D'. It is analogous to the >standard deviation." > >No need to reinvent the wheel. > >Greg
Indeed. Recalling a discussion here a few years ago about somebody using the impulse response of a filter to prove faster-than-light propagation, the shape of the impulse response and the application have bearing on how to measure or define "delay". e.g., if the input really is typically an impulse and there's not a lot of ringing in the impulse response, then the peak of the main lobe is probably a very good choice for measuring time delay. If the signals are continuous and more random then the impulse response centroid is probably a much better delay metric. Everything in between may be useful as well. Eric Jacobsen Anchor Hill Communications http://www.anchorhill.com
On May 19, 2:03 pm, eric.jacob...@ieee.org (Eric Jacobsen) wrote:
> On Sun, 19 May 2013 08:28:16 -0500, Greg Berchin > > > > > > > > > > <gjberc...@chatter.net.invalid> wrote: > >On Sat, 18 May 2013, robert bristow-johnson wrote: > > >>might have to be impulse response squared. > > >>maybe > > >> delay = integral{ (h(t))^2 t dt} > > >>over all t. > > >On Sat, 18 May 2013 Greg Berchin wrote: > > >>Search for "Central Time" and "RMS Duration". > > >From "Structural Health Monitoring: A Machine Learning > >Perspective", By Charles R. Farrar, Keith Worden: > > >"Note that the temporal moments are defined for the square of the > >time history. This definition yields moments that can be related > >to energy-like quantities should the time history have appropriate > >units. In fact, this first temporal moment is referred to as > >'energy' and is denoted 'E'. > > >A normalised first-order temporal moment about time 't=0' is > >referred to as the 'CENTRAL TIME, T', and is defined as > > +inf > > T = {INTEGRAL[t*y(t) dt]}/E > > -inf > >This value can be thought of as the centroid of the area under the > >amplitude-squared time history and is directly analogous to the > >first statistical moment or mean value." > > >Next, a second-order temporal moment about the central time is > >referred to as the 'mean-square duration, D '; it describes the > >dispersion of the signal's energy about the central time and is > >defined as > > +inf > > D = {INTEGRAL[(t-T) y(t) dt]}/E > > +inf > >This temporal moment is analogous to the second statistical moment > >or variance. The ROOT-MEAN-SQUARE DURATION is the square root of > >this quantity and is designated 'D'. It is analogous to the > >standard deviation." > > >No need to reinvent the wheel. > > > Indeed.
better square (t-T) in mean-square-duration, i think. my problem with the central delay definition is that polarity of the function changes the polarity of the delay. are negative voltages appearing tomorrow amount to the same delay as positive voltages appearing yesterday? the t^2 definition (i forgot to normalize it before): mean delay = integral{ (h(t))^2 t dt} / integral{ (h(t))^2 dt} is, of course, the mean delay of energy propagation through the LTI system. i wonder if it's the same value as the frequency-domain mean delay expression: integral{ |H(jw)|^2 tau_g(w) dw} / integral{ |H(w)|^2 dw} where tau_g(w) = -(d/dw)phi(w) and phi(w) = arg{ H(jw) } is the group delay.
> Recalling a discussion here a few years ago about somebody using the > impulse response of a filter to prove faster-than-light propagation, > the shape of the impulse response and the application have bearing on > how to measure or define "delay".
i remember some thread about what the meaning of a negative group delay (at some frequencies) is. do realizable (real-time) algs exist that have a negative group delay at DC? i think that the group delay at w=0 is the same as the phase delay at w=0 because of L'hopital rule. at DC can a causal h[n] have phase that increases from w=0+? let's say the "polarity" is not reversed so the phase of H(j0) is 0. if the phase can only go negative when w increases from 0, then i wonder how you get "negative delay"? (which is, i think, what's behind that purported faster-than- light propagation, unless i totally have it wrong.)
> e.g., if the input really is typically an impulse and there's not a > lot of ringing in the impulse response, then the peak of the main lobe > is probably a very good choice for measuring time delay. If the > signals are continuous and more random then the impulse response > centroid is probably a much better delay metric. Everything in > between may be useful as well.
i still can't figger out this bipolar h(t) centroid because of negative values of h(t) have the same effect as positive h(t) and negative t. it just don't seem right to me. r b-j
On Sun, 19 May 2013 19:11:07 -0700 (PDT), robert bristow-johnson
<rbj@audioimagination.com> wrote:

>On May 19, 2:03 pm, eric.jacob...@ieee.org (Eric Jacobsen) wrote: >> On Sun, 19 May 2013 08:28:16 -0500, Greg Berchin >> >> >> >> >> >> >> >> >> >> <gjberc...@chatter.net.invalid> wrote: >> >On Sat, 18 May 2013, robert bristow-johnson wrote: >> >> >>might have to be impulse response squared. >> >> >>maybe >> >> >> delay = integral{ (h(t))^2 t dt} >> >> >>over all t. >> >> >On Sat, 18 May 2013 Greg Berchin wrote: >> >> >>Search for "Central Time" and "RMS Duration". >> >> >From "Structural Health Monitoring: A Machine Learning >> >Perspective", By Charles R. Farrar, Keith Worden: >> >> >"Note that the temporal moments are defined for the square of the >> >time history. This definition yields moments that can be related >> >to energy-like quantities should the time history have appropriate >> >units. In fact, this first temporal moment is referred to as >> >'energy' and is denoted 'E'. >> >> >A normalised first-order temporal moment about time 't=0' is >> >referred to as the 'CENTRAL TIME, T', and is defined as >> > +inf >> > T = {INTEGRAL[t*y(t) dt]}/E >> > -inf >> >This value can be thought of as the centroid of the area under the >> >amplitude-squared time history and is directly analogous to the >> >first statistical moment or mean value." >> >> >Next, a second-order temporal moment about the central time is >> >referred to as the 'mean-square duration, D '; it describes the >> >dispersion of the signal's energy about the central time and is >> >defined as >> > +inf >> > D = {INTEGRAL[(t-T) y(t) dt]}/E >> > +inf >> >This temporal moment is analogous to the second statistical moment >> >or variance. The ROOT-MEAN-SQUARE DURATION is the square root of >> >this quantity and is designated 'D'. It is analogous to the >> >standard deviation." >> >> >No need to reinvent the wheel. >> >> >> Indeed. > > >better square (t-T) in mean-square-duration, i think.
On my reader, it is squared.
>my problem with the central delay definition is that polarity of the >function changes the polarity of the delay. are negative voltages >appearing tomorrow amount to the same delay as positive voltages >appearing yesterday?
On my reader y(t) is squared, so it won't matter. It's a little, raised, 2, though, and it doesn't appear in any of the replies, so perhaps it's not there in everybody's reader? In any case, some sort of rectification is useful, and in Greg's post y(t) is squared in the definition of Central Time, and (t-T) is squared in the RMS duration expression.
>the t^2 definition (i forgot to normalize it before): > > mean delay = integral{ (h(t))^2 t dt} / integral{ (h(t))^2 dt} > >is, of course, the mean delay of energy propagation through the LTI >system. > >i wonder if it's the same value as the frequency-domain mean delay >expression: > > integral{ |H(jw)|^2 tau_g(w) dw} / integral{ |H(w)|^2 dw} > >where > > tau_g(w) = -(d/dw)phi(w) > >and > > phi(w) = arg{ H(jw) } > >is the group delay. > > >> Recalling a discussion here a few years ago about somebody using the >> impulse response of a filter to prove faster-than-light propagation, >> the shape of the impulse response and the application have bearing on >> how to measure or define "delay". > >i remember some thread about what the meaning of a negative group >delay (at some frequencies) is. > >do realizable (real-time) algs exist that have a negative group delay >at DC? i think that the group delay at w=0 is the same as the phase >delay at w=0 because of L'hopital rule. at DC can a causal h[n] have >phase that increases from w=0+? let's say the "polarity" is not >reversed so the phase of H(j0) is 0. if the phase can only go >negative when w increases from 0, then i wonder how you get "negative >delay"? (which is, i think, what's behind that purported faster-than- >light propagation, unless i totally have it wrong.) > >> e.g., if the input really is typically an impulse and there's not a >> lot of ringing in the impulse response, then the peak of the main lobe >> is probably a very good choice for measuring time delay. If the >> signals are continuous and more random then the impulse response >> centroid is probably a much better delay metric. Everything in >> between may be useful as well. > >i still can't figger out this bipolar h(t) centroid because of >negative values of h(t) have the same effect as positive h(t) and >negative t. it just don't seem right to me. > >r b-j
Eric Jacobsen Anchor Hill Communications http://www.anchorhill.com
In my original post, both were squared using a superscript "2". I
guess some readers strip non-standard ASCII characters.

Here is the character; it's 0xB2 in hexadecimal: &#4294967295;

If you don't see a little bitty "2" at the end of the line above,
then you're missing out on all the fun.

Greg
On May 20, 8:55&#4294967295;am, Greg Berchin <gjberc...@chatter.net.invalid>
wrote:
> In my original post, both were squared using a superscript "2". I > guess some readers strip non-standard ASCII characters. > > Here is the character; it's 0xB2 in hexadecimal: > > If you don't see a little bitty "2" at the end of the line above, > then you're missing out on all the fun. >
yah, Google Groups (i'm suffering with that again, until i get my laptop to work again) doesn't see the little bitty 2. i wish Eternal September would have a web Usenet interface. hey Greg, glad you ain't in OK-city now. today's tornado looks like Godzilla stomping through the town of Moore. r b-j
On Monday, May 20, 2013 11:51:53 PM UTC-5, robert bristow-johnson wrote:
> > hey Greg, glad you ain't in OK-city now. today's tornado looks like > Godzilla stomping through the town of Moore.
I left OKC in '97. Here in St Louis we got hit by the same storm system yesterday that hit OKC; thankfully no tornadoes but lots of wind and rain and hail. For non-tornadic thunderstorms, St Louis can give OKC a run for its money. But those Oklahoma EF5s are in a class by themselves.
Hi,

a solution I've used for myself is calculate the "spot" group delay from
the slope of phase on a grid of frequencies, then average with the power
spectrum of the test signal. Probably it turns out to be the same as
similar equations in earlier posts, rewritten. 

An "ad-hoc" solution could be to send a test pulse (IFT of the power
spectrum) through the filter and wait until 50 % of the energy are
accounted for. Resolution can be improved by oversampling (replace 1 delay
with n delays and IFT the test pulse at the oversampled rate). Haven't
tried it, though.

Whether or not any of this qualifies as "analytic" is open to debate, but
it's easily done in Matlab.

BTW, I know the problem from equalizing IIR filters. What I usually do here
is to brute-force the target group delay, to rattle and shake the problem
until _quantized_ coefficients fall into place. Not stylish, but gets the
job done.