Reply by Rune Allnor June 25, 20062006-06-25
Jerry Avins wrote:
> For a pure sinusoid, the effects of an inverter and of a 180 degree > phase shift are indistinguishable. I lay the burden upon anyone who > maintains that "indistinguishable" means "the same thing" to explain > whether the phase shift is positive or negative, and to reconcile the > behavior of transients in inverters and diode ring modulators. > > I apologize to all who may believe that this is a troll. It may be > indistinguishable, but it's not the same thing. :-)
Your eloquent trolls are always welcome. There is a nice, well established term for what you describe: "ambiguous". If there are several ways to arrive at some situation, the situation is ambiguous to anyone who tries to interpret it. One of the greatest revelations of my life, what maths is concerned, was that the number -1 (and any other complex-valued number, for that matter) has an infinite number of representations: -1 = exp(i(2n-1)*pi), n = ..., -2, -1 0, 1, 2, ... The n above corresponds to the index number of normal mode functions that appear in certain acoustics problems, and the simple relation above explains why it is impossible to derive the mode index from observed data. Rune
Reply by Jani Huhtanen June 21, 20062006-06-21
Jerry Avins wrote:

> Jani Huhtanen wrote: > > ... > >> I plotted 3 signals on the same time axis: >> >> 1. Original signal composed of ~20 cycles at w=1. Reason why 20 cycles >> (or actually bit more) and not 10 is that with narrower window the ripple >> at w>pi/2 was too high. Ripple has to be below -200dB as the filter has >> over 100dB amplification at pi. (Red line) >> >> 2. Original signal filtered once with the given coefficients. (i.e., 90' >> phase shift and 0 grd) (Green line) >> >> 3. Original signal filtered twice (i.e., 180' phase shift and 0 grd). >> (Blue line) >> >> The whole pulse. Showing that envelope has not been delayed. >> http://www.kolumbus.fi/jahu/images/pulses1.png >> >> Attack of the pulse. Showing that the output starts at the same instant >> as the input (compare red and blue signals). >> http://www.kolumbus.fi/jahu/images/pulses2.png >> >> Close up of the attack (note the scale). >> http://www.kolumbus.fi/jahu/images/pulses3.png >> >> You notice that the envelope does not move, only the phase shifts. If the >> filter would be a bit more stable the signal could be filtered four times >> which would result in the original signal. With the current filter, that >> would require well less than -400dB ripple at w>pi/2. If you provide me >> with one, I can do the plots again. > > Impressive indeed,
Thank you :) Does this mean that you now believe in 90' phase shifts without delay (of the envelope)? Notice also, that any phase shift is possible without a group delay with the demonstrated filter because the original signal and filtered signal have a 90' phase difference.
> but I'm not sure what's happening. The impulse > response of the filter becomes significantly large after 6 samples and > remains large for another 8 samples or so. How can significant output > begin before the third sample?
I don't claim that I thoroughly understand it either. However, I trust the math which tells me it works this way. The only intuition I have on this comes from the fact that a transient which has only frequencies contained in the "passband", cannot have a sharp attack or decay. Thus there is no need for significant output before third sample. And actually for this to be true (i.e., be truely bandlimited), the transient has to be infinitely wide, although most of the energy can be consentrated on very small support in comparison.
> > You write repeatedly about the filter's lack of stability. How can the > convolution be unstable?
I refer to stability against numerical errors. Perhaps it could said better as: the filter is not very robust against numerical errors. If you try the filter someday, you'll notice that it is quite tricky to come up with a transient that doesn't blow up when filtered with this (the transient has to be quite accurately bandlimited). Subsequent convolutions with this filters are bound to diverge because of the immense amplification (i.e., about 100 dB) on frequencies above pi/2. This is partly due to floating-point round-off errors and partly due to the fact that we are dealing with a finite length signal. However, similar filters can probably be designed without such monstrous amplifications. -- Jani Huhtanen Tampere University of Technology, Pori
Reply by Jani Huhtanen June 21, 20062006-06-21
Jerry Avins wrote:

> Jani Huhtanen wrote: >> Jerry Avins wrote: >> >>> Jani Huhtanen wrote: >>>> Martin Eisenberg wrote: >>>> >>>>> Jani Huhtanen wrote: >>>>> >>>>>> I now have a partial understanding why HT behaves like this. >>>>>> This is because there is only infinitesimally small energy in DC >>>>>> component for, say, sinc(t). >>>>>> In a previous post I told that I substracted the DC component >>>>>> out of sinc. This is obviously impossible as the substraction >>>>>> would have to be infinitesimally small. >>>>> Eh? It is well known that int -inf..inf sin(t)/t dt = pi. >>>>> >>>>> >>>>> Martin >>>>> >>>> Yes. And it is well know that int -inf..inf (sin(t)/t)-m = pi - >>>> (int -inf..inf -m) = pi - inf = -inf, for every finite m >>> int -10..10(1 dx) = 20 >>> >>> Subtract out the average value: int -10..10[(1 - 20) dx]. >>> >>> What do you get? >>> >>> Jerry >> >> I get -180. I stated that I was wrong and corrected myself, so I don't >> really quite see your point. Are you referring to phrase: "substract the >> DC component out of <place your favorite function>"? It was obviously >> inaccurate and should have been: "Substract a value from function so that >> the resulting function does not have a DC component". I believe this is >> not possible for all functions. Namely those, which don't have a delta >> standing at DC. > > I get -380, and I evidently wrote my example before seeing your > correction. > > Jerry
You're correct. Apparently I can't get calculate. :( -- Jani Huhtanen Tampere University of Technology, Pori
Reply by Jerry Avins June 21, 20062006-06-21
Jani Huhtanen wrote:
> Jerry Avins wrote: > >> Jani Huhtanen wrote: >>> Martin Eisenberg wrote: >>> >>>> Jani Huhtanen wrote: >>>> >>>>> I now have a partial understanding why HT behaves like this. >>>>> This is because there is only infinitesimally small energy in DC >>>>> component for, say, sinc(t). >>>>> In a previous post I told that I substracted the DC component >>>>> out of sinc. This is obviously impossible as the substraction >>>>> would have to be infinitesimally small. >>>> Eh? It is well known that int -inf..inf sin(t)/t dt = pi. >>>> >>>> >>>> Martin >>>> >>> Yes. And it is well know that int -inf..inf (sin(t)/t)-m = pi - >>> (int -inf..inf -m) = pi - inf = -inf, for every finite m >> int -10..10(1 dx) = 20 >> >> Subtract out the average value: int -10..10[(1 - 20) dx]. >> >> What do you get? >> >> Jerry > > I get -180. I stated that I was wrong and corrected myself, so I don't > really quite see your point. Are you referring to phrase: "substract the DC > component out of <place your favorite function>"? It was obviously > inaccurate and should have been: "Substract a value from function so that > the resulting function does not have a DC component". I believe this is not > possible for all functions. Namely those, which don't have a delta standing > at DC.
I get -380, and I evidently wrote my example before seeing your correction. Jerry -- Engineering is the art of making what you want from things you can get. &#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;
Reply by Jani Huhtanen June 21, 20062006-06-21
Jerry Avins wrote:

> Jani Huhtanen wrote: >> Martin Eisenberg wrote: >> >>> Jani Huhtanen wrote: >>> >>>> I now have a partial understanding why HT behaves like this. >>>> This is because there is only infinitesimally small energy in DC >>>> component for, say, sinc(t). >>>> In a previous post I told that I substracted the DC component >>>> out of sinc. This is obviously impossible as the substraction >>>> would have to be infinitesimally small. >>> Eh? It is well known that int -inf..inf sin(t)/t dt = pi. >>> >>> >>> Martin >>> >> >> Yes. And it is well know that int -inf..inf (sin(t)/t)-m = pi - >> (int -inf..inf -m) = pi - inf = -inf, for every finite m > > int -10..10(1 dx) = 20 > > Subtract out the average value: int -10..10[(1 - 20) dx]. > > What do you get? > > Jerry
I get -180. I stated that I was wrong and corrected myself, so I don't really quite see your point. Are you referring to phrase: "substract the DC component out of <place your favorite function>"? It was obviously inaccurate and should have been: "Substract a value from function so that the resulting function does not have a DC component". I believe this is not possible for all functions. Namely those, which don't have a delta standing at DC. -- Jani Huhtanen Tampere University of Technology, Pori
Reply by Jerry Avins June 21, 20062006-06-21
Jani Huhtanen wrote:

   ...

> I plotted 3 signals on the same time axis: > > 1. Original signal composed of ~20 cycles at w=1. Reason why 20 cycles (or > actually bit more) and not 10 is that with narrower window the ripple at > w>pi/2 was too high. Ripple has to be below -200dB as the filter has over > 100dB amplification at pi. (Red line) > > 2. Original signal filtered once with the given coefficients. (i.e., 90' > phase shift and 0 grd) (Green line) > > 3. Original signal filtered twice (i.e., 180' phase shift and 0 grd). (Blue > line) > > The whole pulse. Showing that envelope has not been delayed. > http://www.kolumbus.fi/jahu/images/pulses1.png > > Attack of the pulse. Showing that the output starts at the same instant as > the input (compare red and blue signals). > http://www.kolumbus.fi/jahu/images/pulses2.png > > Close up of the attack (note the scale). > http://www.kolumbus.fi/jahu/images/pulses3.png > > You notice that the envelope does not move, only the phase shifts. If the > filter would be a bit more stable the signal could be filtered four times > which would result in the original signal. With the current filter, that > would require well less than -400dB ripple at w>pi/2. If you provide me > with one, I can do the plots again.
Impressive indeed, but I'm not sure what's happening. The impulse response of the filter becomes significantly large after 6 samples and remains large for another 8 samples or so. How can significant output begin before the third sample? You write repeatedly about the filter's lack of stability. How can the convolution be unstable? Jerry -- Engineering is the art of making what you want from things you can get. &#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;
Reply by Jerry Avins June 21, 20062006-06-21
Jani Huhtanen wrote:
> Martin Eisenberg wrote: > >> Jani Huhtanen wrote: >> >>> I now have a partial understanding why HT behaves like this. >>> This is because there is only infinitesimally small energy in DC >>> component for, say, sinc(t). >>> In a previous post I told that I substracted the DC component >>> out of sinc. This is obviously impossible as the substraction >>> would have to be infinitesimally small. >> Eh? It is well known that int -inf..inf sin(t)/t dt = pi. >> >> >> Martin >> > > Yes. And it is well know that int -inf..inf (sin(t)/t)-m = pi - > (int -inf..inf -m) = pi - inf = -inf, for every finite m
int -10..10(1 dx) = 20 Subtract out the average value: int -10..10[(1 - 20) dx]. What do you get? Jerry -- Engineering is the art of making what you want from things you can get. &#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;
Reply by Martin Eisenberg June 21, 20062006-06-21
Jani Huhtanen wrote:

> Yes. And it is well know that int -inf..inf (sin(t)/t)-m = pi - > (int -inf..inf -m) = pi - inf = -inf, for every finite m
Right you are :/ Martin -- When in danger or in doubt, run in circles, scream and shout!
Reply by Jani Huhtanen June 21, 20062006-06-21
Jerry Avins wrote:
> Jani Huhtanen wrote: >> Jerry Avins wrote: >> >>> Jani Huhtanen wrote: >>>> Note that the given coefficients define a filter which is very >>>> sensitive to numerical inaccuracies. At least I can't successively >>>> filter a pulse more than twice with this filter. Thus the example code >>>> filters only twice and inverts to obtain the original signal. This >>>> should be still enough to convince you of the absence of time delay (it >>>> certainly isn't 10 samples as you suggest). >>> A quick eyeball look at the coefficients seems to put the magnitude >>> centroid at about the eleventh tap. That's a pretty good >>> seat-of-the-pants estimate of the delay in the passband. >> >> You didn't bother to run the test did you? Well thats OK because I did >> some plots for you: > > It would have been a big bother. I would have needed to load and install > Octave or translate your code to Mathcad. It's hard to translate an > unfamiliar language with assurance of correctness.
OK. Fair enough :)
> >> Amplitude response: >> http://www.kolumbus.fi/jahu/images/ampresp.png >> >> Phase response: >> http://www.kolumbus.fi/jahu/images/phaseresp.png >> >> Phase delay (your favorite child): >> http://www.kolumbus.fi/jahu/images/phasedelay.png >> >> Group delay (my favourite child): >> http://www.kolumbus.fi/jahu/images/groupdelay.png >> >> As you can see maximum phase delay is 7.5 samples. Phase delay is ~2 >> samples in the "passband"*. Group delay is a steady 0 samples at >> "passband" and at maximum ~9 samples. So "passband" delay is not, by any >> common measurement, even close to 10 samples. > > How about time delay? What is the interval between putting in a signal > and seeing it at the output? Suppose the input is ten cycles at w = 1. > Graphed on the same time axis, what does the output look like?
I plotted 3 signals on the same time axis: 1. Original signal composed of ~20 cycles at w=1. Reason why 20 cycles (or actually bit more) and not 10 is that with narrower window the ripple at w>pi/2 was too high. Ripple has to be below -200dB as the filter has over 100dB amplification at pi. (Red line) 2. Original signal filtered once with the given coefficients. (i.e., 90' phase shift and 0 grd) (Green line) 3. Original signal filtered twice (i.e., 180' phase shift and 0 grd). (Blue line) The whole pulse. Showing that envelope has not been delayed. http://www.kolumbus.fi/jahu/images/pulses1.png Attack of the pulse. Showing that the output starts at the same instant as the input (compare red and blue signals). http://www.kolumbus.fi/jahu/images/pulses2.png Close up of the attack (note the scale). http://www.kolumbus.fi/jahu/images/pulses3.png You notice that the envelope does not move, only the phase shifts. If the filter would be a bit more stable the signal could be filtered four times which would result in the original signal. With the current filter, that would require well less than -400dB ripple at w>pi/2. If you provide me with one, I can do the plots again. -- Jani Huhtanen Tampere University of Technology, Pori
Reply by Jani Huhtanen June 21, 20062006-06-21
Martin Eisenberg wrote:

> Jani Huhtanen wrote: > >> I now have a partial understanding why HT behaves like this. >> This is because there is only infinitesimally small energy in DC >> component for, say, sinc(t). > >> In a previous post I told that I substracted the DC component >> out of sinc. This is obviously impossible as the substraction >> would have to be infinitesimally small. > > Eh? It is well known that int -inf..inf sin(t)/t dt = pi. > > > Martin >
Yes. And it is well know that int -inf..inf (sin(t)/t)-m = pi - (int -inf..inf -m) = pi - inf = -inf, for every finite m -- Jani Huhtanen Tampere University of Technology, Pori