Ramp detection code by Carlos RIVERA

 avatar
unknown
python
24 days ago
660 B
1
Indexable
import numpy as np
import bottleneck as bn

def moving_average(arr,window):
    window = np.round(window).astype(int)
    arr_moving_avg = bn.move_mean(arr, window=window//2, min_count=1)
    arr_moving_avg = np.flip(bn.move_mean(np.flip(arr_moving_avg) , window=window//2, min_count=1))
    return arr_moving_avg

# Get data from oscilloscope
# time,ramp,signal_1,signal_2 = ....

## Use only downward ramp
ramp_type = "down"
diff_ramp = np.diff(moving_average(ramp,400))

if ramp_type == "down":
    index = np.where(diff_ramp < 0)
else:
    index = np.where(diff_ramp > 0)

time=time[index]
ramp=ramp[index]
signal_1=signal_1[index]
signal_2=signal_2[index]
Leave a Comment