Hello, Anyone know which python library could be use for analyzing transient signal (risetime, delay, freq, etc) similar to calculator in virtuoso?
t
Tim Edwards
07/05/2023, 1:35 PM
@Ashbir Aviat Fadila:
numpy
is what you want; the
numpy.fft
package is good for analyzing frequency, SNR, etc.
See, for example, https://github.com/efabless/caravel_SI_testing/blob/gf180mcu_ps/si_test.py . In particular, look at lines 220 and following, where I used the FFT package to determine the frequency of the clock output on the monitoring pins on Caravel.
a
Ashbir Aviat Fadila
07/05/2023, 11:33 PM
@Tim Edwards How about analyzing the transient signal in time domain. I want to analyzed the clock signal. In matlab there several function to analyzing bilevel waveform.
https://www.mathworks.com/help/signal/pulse-and-transition-metrics.html
I could get risetime, pulsewidth, etc with that function.
Is there any equivalent library for that? I could not find it in python
t
Tim Edwards
07/06/2023, 12:06 AM
@Ashbir Aviat Fadila: Try `scipy`; for example, this example uses resampling and reshaping. But most measurements you need can be done in a straightforward manner by finding the sample times of all 10% and 90% threshold crossings and then average over all the data.
Another approach would be to look up the "signal" package routines for Octave and translate them to numpy/scipy, which I think also should be reasonably straightforward.
Linen is a search-engine friendly community platform. We offer integrations with existing Slack/Discord communities and make those conversations Google-searchable.