Quantcast
Channel: Cadence Technology Forums
Viewing all articles
Browse latest Browse all 62745

Forum Post: RE: Calculator function to check conditions on 3 (or N) waveforms

$
0
0
This is a barely tested bit of SKILL that I think does what you want. You'd presumably pass it mag(VF("a")) etc (the magnitude) because it won't handle complex data. It finds all the crossing points for where signal b crosses 0, and then finds the value of a and c at each of those points until it finds one that matches the condition you've asked for. procedure(CCFfindF0(a b c) cond( (drIsWaveform(a) ; main logic for a single waveform let((zeroPoints) zeroPoints=cross(b 0.0 0 "either") car(exists(zeroPoint zeroPoints value(a zeroPoint) 0.0 )) ) ) (famIsFamily(a) famMap('CCFfindF0 a b c) ) (t error("CCFfindF0: can't handle %L\n" a) ) ) ) You can add it as a function in the calculator by using the "fx" button in the Function Panel (from IC617 onwards) - you can then define the form (to set each of the three arguments as signals) and then having done that once, you can use the function in any future session, or in ADE. Regards, Andrew.

Viewing all articles
Browse latest Browse all 62745

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>