[SI-LIST] Re: rational function approximation

  • From: Geoff Stokes <gstokes@xxxxxxxxx>
  • To: "'jrp@xxxxxxxxxxx'" <jrp@xxxxxxxxxxx>, si-list@xxxxxxxxxxxxx
  • Date: Mon, 19 Apr 2004 11:20:49 +0100

Hi Joel and Ray

Thinking about the practical problem of taking s-parameters from measurement
or field simulation, thank you for your comments.
I have some further questions.  The two requirements for the representation
in the non-linear transient simulator (e.g. SpectreRF n-port element) are,
as you have said between you, that it be
1.  Causal and
2.  Passive (that is, it contains no power generators)
Number 1 I understand: no time domain simulation makes sense if the output
changes before the input.
I take it that number 2 is to avoid numerical convergence problems.  If the
representation (n-port or otherwise) were well-optimised, the model is going
to be largely passive except perhaps for the occasional hiccup.  So, do
these requirements arise because of *bad* optimisations?
Further, it seems to me that the abstraction of generators in, for example a
y-parameter laplace formulation is rather too general.  The case of a
network of printed circuit traces or package pins and bond-wires is
essentially one of linear lossy transmission lines, which on paper are
naturally represented by low-pass LCR filter sections or lossy transmission
line (TXL) models.  Unfortunately the couplings between them occur over
finite distances, therefore mutual inductances and capacitances are not
always sufficient, and further delay circuits (LCR or TXL) must be added to
the model.  Such a model is real-world: it could actually be physically
constructed (though no-one might actually do it) and therefore guarantees
both causality (because it is real-world) and passivity (because it has no
generators).

In contrast to this picture, using the Cadence n-port, what goes on is not
entirely visible to the user.  All that can be done is to have-a-go, then
check the model behaviour against the original s parameters.  (In practice
the s-parameter files are sometimes not well fitted down to DC and this
leads to errors in the DC bias representation.  The files are large and not
easily adjustable to correct this.)  Would it not therefore be better to use
some kind of network optimisation using RLCM +TXL?  Some vendors have
approached this but progress seems slow.  I wonder whether this is because
of the difficulty of the problem or whether the market requirement exists
(or has been missed).

Best wishes
______________________________________________=20

Geoff Stokes
Systems Engineer, Signal Management Group

Zetex plc=20
Lansdowne Road, Chadderton, Oldham, OL9 9TY,=A0 UK=20
Tel direct:=A0 +44-161-622-4857=A0=A0 Switchboard: +44-161-622-4444
Fax:=A0 +44-161-622-4469=20
http://www.zetex.com=20
e-mail:=A0 gstokes@xxxxxxxxx=20



> -----Original Message-----
> From: Joel R. Phillips [mailto:jrp@xxxxxxxxxxx]
> Sent: 17 April 2004 20:27
> To: si-list@xxxxxxxxxxxxx
> Subject: [SI-LIST] Re: rational function approximation=20
>=20
>=20
>=20
>=20
>=20
> >Date: Fri, 16 Apr 2004 13:38:56 -0700
> >From: Ray Anderson <Raymond.Anderson@xxxxxxx>
> >Subject: [SI-LIST] Re: rational function approximation
> >
> >
> >After responding to Amitava's question regarding rational function=20
> >approximation macromodels I was prompted to think about the=20
> problem a=20
> >bit more which brought a couple items to mind that I'd like to throw=20
> >out to the list for comment.
>=20
> Ray,=20
>=20
> Let me try to address some items and comment on some others=20
> that appeared
> earlier in the thread.=20
>=20
> 1.  Checking passivity by examining eigenvalues of Y/Z, or I-S*S'.=20
>=20
> Two warnings here.=20
>=20
> While this approach is quite widely used, it has a problem in=20
> that checking
> positive realness at points does not actually insure the=20
> positive realness
> of a rational function.   First, the PR condition must be=20
> established over
> the entire frequency axis, up to "infinite" frequency, and=20
> this is hard to
> do.  Second, there is the problem of what happens between the=20
> points at
> which the check is performed.  In practice, using very dense=20
> samplings over
> a wide frequency range often works, but I have seen some squirelly
> counter-examples.   In particular, putting such a check inside an
> optimization loop can result in the optimizer driving its=20
> approximation to
> non-passivity in strange places you are unlikely to ever=20
> look.   There is a
> paper by Anderson, Manrous, Kraus, "A new test for strict positive
> realness", IEEE Trans CAS-I, p. 226, 1995, that discusses=20
> grid-based tests
> that can be guaranteed to work.=20
>=20
> Second, I believe that, even if the entire axis can be=20
> covered, this check
> as usually applied is, strictly speaking, not enough to=20
> insure passivity.
> It is in addition necessary that the system under=20
> consideration be causal.
> I believe that there is an early paper of Stephen Boyd's that=20
> discusses
> this issue; it's probably up on his web site at Stanford.
>=20
> In the case of rational functions, or any state-space model i.e finite
> system of differential equations, a better approach is to use=20
> the positive
> real lemma (or bounded-real lemma for S-parameters).  By examining the
> eigenvalues of a single matrix constructed from the=20
> coefficients of the
> rational function or state-space model, passivity of the model can be
> determined definitively.  There is a discussion (fairly formidable
> mathematics I'm afraid) of how to use such a check in an approximation
> algorithm in "A convex programming approach for generating guaranteed
> passive approximations to tabulated data", IEEE Trans. CAD, Feb 2004,
> p293-301.  I have it on good authority that the authors are=20
> not only quite
> intelligent but very nice guys as well :-)
>=20
>=20
> Finally, let me point out that one may as well inspect the=20
> singular values
> of the S-matrix, or the inf-norm of the S-function.   For=20
> this reason I
> personally prefer to inspect S if I am doing work by hand --=20
> you can get a
> nice plot of the ||S|| function vs. frequency.  If it peaks above one,
> there is a problem.   How much of a problem depends on the size of the
> peak.=20
>=20
> 2. Model checking, LHP poles/zeros.=20
>=20
> >A second related question that I hope may elicit some discussion is:=20
> >As just discussed we know how to determine if a set of measured or=20
> >synthesized s-parameter data indicates that the network from=20
> which it=20
> >was obtained is passive or not. However if we follow the process=20
> >through, i.e., take the s-parameter data and use it to create a=20
> >rational function approximation or even perhaps a lumped element=20
> >model, then in order to assure passivity of the synthesized model is=20
> >it necessary to turn around and extract the s-parameters from the=20
> >model and go through the eigenvalue process described above,=20
> or is the=20
> >process of assuring that both the poles AND zeros of the rational=20
> >function are in the left hand plane adequate to ensure=20
> passivity? (If=20
> >I remember correctly that is the criteria...)
>=20
> I'm sure most members of this list do more measurements than I
> do, but my experience is that much measured data has enough=20
> measurement
> error to render it slightly non-positive-real. Solution to=20
> this is to use a
> fitting procedure that is constrained positive real, and minimizes the
> deviations from the actual measured data.=20
>=20
> Whatever process is used to generate the model, yes, you must=20
> check it for
> passivity.  This is cheap and easy using the positive-real (or
> bounded-real) lemma as discussed above.  What is harder is to fix the
> problem.  Actually my opinion is that it is impossible to fix=20
> the problem
> after the fact, passivity has to be built in by construction. See
> previously reference paper.
>=20
> About pole and zero locations.   It is a necessary condition that
> passive models have poles and zeros in the LHP.   But it is a=20
> misconception
> that this condition is sufficient.  For example, given a=20
> passive model in
> S-parameter form, it can be rendered non-passive by multiplying by an=20
> appropriate constant, without moving either poles or zeros.=20
> Likewise, for
> Y/Z parameter forms, just flip the sign.   More interesting=20
> counterexamples
> can be constructed with some effort.=20
>=20
> 3. Issues with Spectre simulator.=20
>=20
> I believe the current thread started with questions about the=20
> models the
> Spectre circuit simulator generates internally.  It is a=20
> known problem that
> the algorithm currently used often generates models that are=20
> not passive.
> If Spectre claims the models are not passive, they aren't, as=20
> it checks the
> bounded-real lemma equations which are definitive.  I'm=20
> afraid that at this
> point there is not much that can be done about this problem=20
> from the user
> side -- massaging the data, or changing the order of the=20
> rational model,
> can sometimes help resolve the problem.  While I'm not in a=20
> position to
> make promises, a future version of the product should contain=20
> a fix.  In
> the meantime, the 'interp=3Dspline' option to the nport component is a
> reliable alternative to rational fitting with 'interp=3Drational'.
>=20
> 4. Generating your own models in MATLAB etc.=20
>=20
> The previously mentioned convex programming paper has a=20
> fairly extensive
> bibliography that might be a good place to start.   There is=20
> a lot of code
> around to perform rational approximation, system=20
> identification, etc. but
> I'm not aware of any code publicly available that can=20
> guarantee passivity
> (I welcome correction on this point).=20
>=20
> Regards,=20
>=20
> Joel Phillips=20
> ------------------------------------------------------------------
> To unsubscribe from si-list:
> si-list-request@xxxxxxxxxxxxx with 'unsubscribe' in the Subject field
>=20
> or to administer your membership from a web page, go to:
> //www.freelists.org/webpage/si-list
>=20
> For help:
> si-list-request@xxxxxxxxxxxxx with 'help' in the Subject field
>=20
> List FAQ wiki page is located at:
>                 http://si-list.org/wiki/wiki.pl?Si-List_FAQ
>=20
> List technical documents are available at:
>                 http://www.si-list.org
>=20
> List archives are viewable at:    =20
>               //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
>  =20
>=20


_________________________________________________________

Zetex Semiconductors - Solutions for an analog world

EID Award Winners for  'Best Use of Technology' 2003 for the=20
AcoustarTM ZXCW8100 End-to-End Digital Audio Amplifier Controller

http://www.zetex.com
_________________________________________________________

######################################################################
E-MAILS are susceptible to interference. You should not assume that
the contents originated from the sender or the Zetex Group or that they=20
have been accurately reproduced from their original form.
Zetex accepts no responsibility for information, errors or omissions in
this e-mail nor for its use or misuse nor for any act committed or
omitted in connection with this communication.
If in doubt, please verify the authenticity with the sender.
######################################################################

------------------------------------------------------------------
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:
//www.freelists.org/webpage/si-list

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

List FAQ wiki page is located at:
                http://si-list.org/wiki/wiki.pl?Si-List_FAQ

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

List archives are viewable at:     
                //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: