[SI-LIST] R: Re: Causality

Hi Jennifer,

Please consider the following comments from Prof. Stefano
Grivet-Talocia.
Hope you find this useful. Best Regards,

Michelangelo




Hello Jennifer, all.

The "causality" issue is always a source of confusion. Some
clarifications are in order here.

1) Let us distinguish (and define) once and for all "causality" (the
output will not appear before the input) from "propagation delay" or
"delay extraction" (the output will not appear before some minimum time
has elapsed from application of the source, due to finite propagation
speed of the signals). Although related, these two concepts are and must
be treated as different. The rest of this message will only deal with
"causality" in strict sense, not with delay extraction.

2) The GIGO (Garbage-In-Garbage-Out) rule. If you start with "bad" data
(whatever this means: non-causal, non-physical, etc...) in your
modeling/simulation flow, you will end up with "some" results. These
results are obtained in commercial tools by applying some correction or
approximation process. If critical information is missing or wrong in
the raw data, then the results of such correction/approximation may not
be reliable. Note that this includes also the rational fitting process
that (most of) the commercial tools perform (either explicitly or
implicitly).

3) It is true that any rational fitting will always produce causal (by
construction) models. Some tools also include a passivity enforcement
algorithm, which makes sure that the output model has no "energy gain".
However, if you start with "bad" data, you will get a model that is
causal and (maybe) passive, but you will never be sure how close this is
to the real physical system that you would like to represent. To put it
simple: you start with real system A (passive and causal), you extract
some responses B with EM simulation or measurement (this introduces
errors and possibly inconsistencies), and finally you process such
responses to obtain a model C (by introducing other approximations and
errors). There is no guarantee that the last step in the model
extraction really "corrects" any inconsistencies: C many not be close to
A.

4) It instead you start with "good" data (B), usually all the rest of
the modeling/simulation flow is OK. It is crucial to qualify any data in
the flow before passing to next step. If you do not perform this check,
then all your simulations may be flawed (without you even knowing). Raw
data must be: accurate, causal, passive, and sufficiently sampled
throughout the bandwidth of interest (including DC and close to DC).

Now with the causality issue: how to check causality? It is VERY
difficult to infer with a good confidence level that some frequency
responses are "causal". Most of the available tests are simplistic and
possibly misleading. Causality conditions (see below) require knowledge
of your responses continuously over the entire frequency axis (from 0 to
infinity). Instead, you only have bandlimited and sampled data.

The only mathematically sound test for causality requires the
computation of the Hilbert transform (or Kramers-Kronig dispersion
relations). If the frequency responses are invariant after application
of the Hilbert transform, then you are OK. Otherwise, you have a
causality violation. Main issue is the computation of Hilbert transform
from bandlimited sampled data. This is a VERY difficult mathematical and
numerical problem. However, my research group has spent a lot of efforts
in devising good numerical techniques for achieving reliable causality
tests. These methods have been published. If you are interested in the
theory, please check the paper:

P. Triverio, S. Grivet-Talocia, "Robust Causality Characterization via
Generalized Dispersion Relations" , IEEE Transactions on Advanced
Packaging, vol.31, n.3, pp. 579-593, August, 2008

Also, if you want to know more about the general issues in modeling
under causality and passivity constraints, check this

P. Triverio, S. Grivet-Talocia, M.S. Nakhla, F. Canavero, R. Achar,
"Stability, Causality, and Passivity in Electrical Interconnect Models"
, IEEE Transactions on Advanced Packaging, vol. 30, n. 4 (Best Paper
award 2007), pp. 795-808, November, 2007

All papers from our group are available here

http://www.emc.polito.it/publications/pub_type.asp?autore=Grivet-Talocia

Last but not least, all published algorithms, including the causality
tests, are also available and ready to use in the software IdEM
(www.idemworks.com).

We will be happy to test your data for causality and share the results.

Hope this helps,

Stefano Grivet-Talocia
Politecnico di Torino, Italy
President, IdemWorks s.r.l.









-----Messaggio originale-----
Da: si-list-bounce@xxxxxxxxxxxxx [mailto:si-list-bounce@xxxxxxxxxxxxx]
Per conto di Jennifer Maharani
Inviato: Monday, May 18, 2009 1:30 PM
A: <colin_warwick@xxxxxxxxxxx>
Cc: <si-list@xxxxxxxxxxxxx>
Oggetto: [SI-LIST] Re: Causality

Hi Colin,

I run my transient simulation in Cadence environment. I have too many  
things to transfer to different environment, not to mention all the  
transistor level models that I am using.

The solution would be to generate a model that I can use in my Cadence  
env.

Please correct me if I am wrong, so the only solution that Agilent has  
to offer under this circumstances is the broadband spice generator.

Many thanks.


On May 16, 2009, at 2:09 AM, <colin_warwick@xxxxxxxxxxx> wrote:

> Hi Jennifer,
> I'm wondering if you'd tried ADS Transient Convolution simulator?  
> Our Broadband SPICE Model Generator uses a rational function approach:
>
> B. Gustavsen and A. Semlyen, "Rational approximation of frequency  
> domain responses by vector fitting," IEEE Trans. Power Delivery,  
> Vol. 14, No. 3, pp. 1052-1061, July 1999.
>
>
> ...which can yield an excellent model in certain circumstance.  
> However, ADS Transient Convolution has a more general approach:
>
> http://cp.literature.agilent.com/litweb/pdf/5990-3571EN.pdf
>
> I was wondering if you'd had the opportunity to evaluate it?
>
> Best regards,
>
> -- Colin
>
>
>
> -----Original Message-----
> From: si-list-bounce@xxxxxxxxxxxxx
[mailto:si-list-bounce@xxxxxxxxxxxxx 
> ] On Behalf Of Jennifer Maharani
> Sent: Thursday, May 14, 2009 5:02 PM
> To: si-list@xxxxxxxxxxxxx
> Subject: [SI-LIST] Re: Causality
>
> Many thanks Gary. I have used the broadband spice generator from
> Agilent. It does not fix the causality problem.
>
> On May 14, 2009, at 10:52 PM, "Gary Otonari" <garyo@xxxxxxxxxxxx>  
> wrote:
>
>> Jennifer -- Do you have ADS?  It might help you.  Here is some
>> material on
>> recent advances in their transient simulator.  The 1st link is for a
>> paper
>> we (GigaTest) did for the SI Seminar Series last year.  The 2nd is a
>> webinar
>> on the same topic ( I think delivered by Sanjeev Gupta of Agilent).
>> Good
>> luck.
>>
>> -- Gary Otonari
>>
>>
http://www.home.agilent.com/upload/cmc_upload/All/Meas_Based_Transient_S
imul
>> ation_Gigatest.pdf
>>
>>
http://www.home.agilent.com/agilent/editorial.jspx?cc=US&lc=eng&ckey=145
4262
>> &nid=-34511.0.00&id=1454262
>>
>>
>>
>> -----Original Message-----
>> From: si-list-bounce@xxxxxxxxxxxxx
[mailto:si-list-bounce@xxxxxxxxxxxxx
>> ] On
>> Behalf Of Jennifer Maharani
>> Sent: Thursday, May 14, 2009 12:49 PM
>> To: si-list@xxxxxxxxxxxxx
>> Subject: [SI-LIST] Causality
>>
>> Dear all,
>>
>> I have non-passive non-causal S-parameter. I can use some commercial
>> tools that can generate broadband spice with passivity enforcement.
>> Not with causality enforcement, though.
>>
>> In transient simulation it clearly shows non-causal response.
>>
>> Does anybody know how to resolve this issue? Quick and dirty solution
>> will also be appreciated.
>>
>> Many thanks.
>
------------------------------------------------------------------
To unsubscribe from si-list:
si-list-request@xxxxxxxxxxxxx with 'unsubscribe' in the Subject field

or to administer your membership from a web page, go to:
http://www.freelists.org/webpage/si-list

For help:
si-list-request@xxxxxxxxxxxxx with 'help' in the Subject field


List technical documents are available at:
                http://www.si-list.net

List archives are viewable at:     
                http://www.freelists.org/archives/si-list
or at our remote archives:
                http://groups.yahoo.com/group/si-list/messages
Old (prior to June 6, 2001) list archives are viewable at:
                http://www.qsl.net/wb6tpu
  

------------------------------------------------------------------
To unsubscribe from si-list:
si-list-request@xxxxxxxxxxxxx with 'unsubscribe' in the Subject field

or to administer your membership from a web page, go to:
http://www.freelists.org/webpage/si-list

For help:
si-list-request@xxxxxxxxxxxxx with 'help' in the Subject field


List technical documents are available at:
                http://www.si-list.net

List archives are viewable at:     
                http://www.freelists.org/archives/si-list
or at our remote archives:
                http://groups.yahoo.com/group/si-list/messages
Old (prior to June 6, 2001) list archives are viewable at:
                http://www.qsl.net/wb6tpu
  

Other related posts: