From: Jerry Avins on
On 7/26/2010 11:19 AM, Demus wrote:
> Hello,
>
> This might be a silly question, but I can't figure out what implications
> the phase of a transfer function has for causality.
>
> If I pass a signal to a filter and pass the output to the inverse filter...
> my intuition of causality tells me then that the output of the inverse
> filter can not be the same as what enters the first filter.
> And by 'can not be the same' I mean to include it's place in time. It
> should have the same shape but not occur at the same time, which would then
> suggest that the result is a pure time delay.
>
> However, when I simulate this situation in simulink I get the opposite
> result, the two signals have the same time coordinates as well, so I guess
> my intuition is off.
>
> (By the same token, in my opinion the phase of a causal system can't really
> be said to be negative, at least not when the inputs and outputs are
> non-stationary signals...)
>
> Can someone please explain this situation to me, perhaps including how
> phase relates to causality?

Maybe I don't get it, but negative phase and negative delay are not the
same thing. Consider a non-causal gunfight. In it, someone could be
felled by a bullet before the gun that launches it is fired. That is
simply not The Way of the World.

Every filter that changes a signal has a delay at least at some
frequencies. A filter that undoes the changes has delay of its own. Only
of the undoing filter has negative delay can the overall delay be zero.
A negative delay of results from Belmont would be interesting!

Jerry
--
Engineering is the art of making what you want from things you can get.
�����������������������������������������������������������������������
From: maury on
On Jul 26, 10:33 am, Rune Allnor <all...(a)tele.ntnu.no> wrote:
> On 26 Jul, 17:19, "Demus" <sodemus(a)n_o_s_p_a_m.hotmail.com> wrote:
>
> > Hello,
>
> > This might be a silly question, but I can't figure out what implications
> > the phase of a transfer function has for causality.
>
> > If I pass a signal to a filter and pass the output to the inverse filter...
> > my intuition of causality tells me then that the output of the inverse
> > filter can not be the same as what enters the first filter.
> > And by 'can not be the same' I mean to include it's place in time. It
> > should have the same shape but not occur at the same time, which would then
> > suggest that the result is a pure time delay.
>
> > However, when I simulate this situation in simulink I get the opposite
> > result, the two signals have the same time coordinates as well, so I guess
> > my intuition is off.
>
> I think this has to do with the way you simulate the system.
> If the output of the filter is fed straight into the input
> of the inverse, with no delay elements in between, I wouldn't
> be surprised if the overall delay is negligable. Provided the
> inverse is well-behaved(stable & causal), numerical issues are
> neglegable, etc.
>
> Rune

In Matlab, if he models the filter and inverse filter as a matrix
multiplication to eliminate FOR loops, then the output is not causal
because of how Matlab works.

Even if he models the filter in a FOR loop to get a 'sample-by-sample'
output, and then feeds it to the inverse filter, he will still not see
the effects of causality because the filter output is completely
resolved before being applied to the inverse filter.

Using Matlab, if he wants to see the effects of causality, he must
model the inverse filter as a FOR loop INSIDE the FORr loop of the
filter. That way, the filter and inverse filter outputs are calculated
'sample-by-sample' and the effects of causality will be evident.

Maurice
From: Jerry Avins on
On 7/26/2010 11:49 AM, Tim Wescott wrote:

...

> Your intuition is good, you are just not modeling the world well enough.
>
> The four things that you are not modeling in Simulink are the fact that
> no real system is minimum phase, no real system has a finite order, no
> real system is noise free, and no real system can be known completely.
>
> No real system has finite order. There are always low-pass processes
> lurking in the upper frequency ranges of any system you may choose to
> model, and the harder you look for these low-pass processes the more
> you'll find. A simple R-C low-pass filter has one pole because of the
> capacitor, right? But it has another one because of the inductance of
> the resistor leads. If you look further, it has more because of the
> capacitance of the resistor to "the world". Look further yet and you'll
> find that the propagation of electromagnetic energy through (or around)
> the resistor and cap is limited by the speed of light. Go even deeper
> and you find that as the wavelength decreases, at some point the system
> just reflects the energy, or becomes transparent, or whatever.

That's all beside Demus's point. Ignoring those details (and most of the
time, we all do) won't wash the delay out of a correct simulation.

...

Jerry
--
Engineering is the art of making what you want from things you can get.
�����������������������������������������������������������������������
From: Demus on
Thanks Jerry, I appreciate your explanation (Yeah, the explanation about
the effects of unaccounted dynamics was a little aside my point,
nonetheless interesting though)! It is due to a stationarity assumption the
time-delay is not phase/frequency, right? I think that's what messes with
my mind...
From: Tim Wescott on
On 07/26/2010 10:51 AM, Jerry Avins wrote:
> On 7/26/2010 11:49 AM, Tim Wescott wrote:
>
> ...
>
>> Your intuition is good, you are just not modeling the world well enough.
>>
>> The four things that you are not modeling in Simulink are the fact that
>> no real system is minimum phase, no real system has a finite order, no
>> real system is noise free, and no real system can be known completely.
>>
>> No real system has finite order. There are always low-pass processes
>> lurking in the upper frequency ranges of any system you may choose to
>> model, and the harder you look for these low-pass processes the more
>> you'll find. A simple R-C low-pass filter has one pole because of the
>> capacitor, right? But it has another one because of the inductance of
>> the resistor leads. If you look further, it has more because of the
>> capacitance of the resistor to "the world". Look further yet and you'll
>> find that the propagation of electromagnetic energy through (or around)
>> the resistor and cap is limited by the speed of light. Go even deeper
>> and you find that as the wavelength decreases, at some point the system
>> just reflects the energy, or becomes transparent, or whatever.
>
> That's all beside Demus's point. Ignoring those details (and most of the
> time, we all do) won't wash the delay out of a correct simulation.

Perhaps I misread his post, then. Certainly in my grad student days I
tutored students who had a good grasp of physical reality, but had to be
told that the theorems they were being taught had limits that had to be
taken into account.

In the mathematical world you can take a minimum-phase transfer
function, you can find a stable, causal inverse, you can multiply this
by the original transfer function, and you can get a cascade of transfer
functions whose impulse response is unity.

You can do this regardless of whether you're in discrete or continuous time.

Then you can go and simulate this behavior, and if you don't pay
attention to all the points that I raised, you can get a simulation that
"tells" you that a real system really is perfectly invertible. The only
problem with it is that it is wrong.

--

Tim Wescott
Wescott Design Services
http://www.wescottdesign.com

Do you need to implement control loops in software?
"Applied Control Theory for Embedded Systems" was written for you.
See details at http://www.wescottdesign.com/actfes/actfes.html
First  |  Prev  |  Next  |  Last
Pages: 1 2 3 4
Prev: DSS Interface
Next: Hackers delight