[SI-LIST] Re: Algorithm to interpolate ramp data in IBIS
- From: "Muranyi, Arpad" <arpad.muranyi@xxxxxxxxx>
- To: <si-list@xxxxxxxxxxxxx>
- Date: Tue, 25 Nov 2003 13:11:02 -0800
Nitin,
Aside from a minor violation of the IBIS spec, the example you wrote
could happen. (The rule you violated is that the end points cannot
have NA-s). The question is, if you have the numbers and NA-s as
you show in your example, are you going to count the x-axis, or the
individual y-axis points to be not more than 100? Last time I looked
for this in the spec, I couldn't find an answer. When I brought it
up in an IBIS Open Forum meeting the verbal answer was that to be safe
I should limit the x-axis points. That is by the way what the parser
does too. So in order to get a passing file, you should count the
x-axis points. Also, when my tool started to make tables like your
example, I received some comments (requests) to back fill those NA-s
with the numbers from the original table, since it will not add more
x-axis points to the table, and it would be easier for the tools which
parse the table to not have to interpolate those numbers back into
existence...
Now, I have to say that I did this in the 90's, and it may be possible
that since than we have clarified the spec with respect to this, but
I don't recall that happening, so it may very well still not spell
out how to count the points.
Arpad
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
-----Original Message-----
From: si-list-bounce@xxxxxxxxxxxxx
[mailto:si-list-bounce@xxxxxxxxxxxxx]On Behalf Of BHAGWATH,NITIN
(HP-Roseville,ex1)
Sent: Tuesday, November 25, 2003 12:18 PM
To: 'si-list@xxxxxxxxxxxxx'
Subject: [SI-LIST] Re: Algorithm to interpolate ramp data in IBIS
Hmm...I'm a bit confused here (and a bit hopeful if I understood you =
right).
So, can I have more than 100 time points on a rising (say) waveform,
provided there are no more than 100 typ, 100 min and 100 max points? =
So,
would the following be a valid way to do it?...
|Time V(typ) V(min) V(max)
0nS 0.0V NA NA
1ns NA 0.1V NA
2ns NA NA 0.2V
3ns 0.5V NA NA
4ns NA 0.6V NA
5ns NA NA 0.7V
.
.
.
297ns 5V NA NA
298ns NA 5.1V NA
299ns NA NA 5.2V
I am presently running my algorithm only on the typical values, hoping =
for
the best on the extreme cases (I know, I know, it'll come back to haunt
me...) If I could use the above methodology, then I can have, as you =
say,
upto 300 time points, with 100 points allocated for each column. Is =
this
the way to go?
By the way, regarding your other post, this algorithm would not finish =
after
finding a cluster of points at one end. It finds ALL the points which
enable linear interpolation within the given error. So, if I start off =
with
10,000 points, I can end up with say 2000 points for a given accuracy. =
I
would then loosen the accuracy to get fewer points, and so on untill I =
reach
100 points. I currently do this manually. I like the way your =
algorithm
just finds the 100 best points (AND gives the option for defining error
tolerance). The 100 points are afterall the ones most critical, =
regardless
of the error.
-Nitin
------------------------------------------------------------------
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.org
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: