Re: Settling time measurement for underdamped systems
John Griessen <[email protected]>
| Newsgroups | gmane.comp.gnu.gnucap.general |
|---|---|
| Message-ID | <[email protected]> |
Seshadri V wrote:
I came to that conclusion since the rise = last and
> fall = last specifies only the first swing and not the swings after that.
No, in this case, last just means last one in program execution order, not in
the time scale.
> al davis-13 wrote:
>> How about: "10% to 90%" ...
>> the time from the 10% crossing to the last 90% crossing.
>>> measure starttime=cross("v(out)"
> cross={startvalue+(endvalue-startvalue)*0.1} rise first)
[jg] Now starttime is defined as a function of all captures of the cross function -- across all time scale values.
>> For the 90% point, you don't know whether the last one is high or low, so
>> try both:
>>> measure highendtime = cross("v(out)"
> cross={startvalue+(endvalue-startvalue)*1.1} fall last)
[jg]highendtime defined now (for all time scale values of the run just done)
>>> measure lowendtime = cross("v(out)"
> cross={startvalue+(endvalue-startvalue)*0.9} rise last)
[jg]lowendtime defined now (for all time scale values of the run just done)
So now the functional programming, (all in parallel), settlingtime function gets defined.
>>> param settlingtime = {endtime-starttime}
>>> eval settlingtime
>> Now, a reminder ...
>> params are evaluated like in a functional language with dynamic scope.
>> If you think imperitive language, static scope, you may be surprised.
John Griessen
--
Ecosensory Austin TX