Calculating time duration of a signal
9 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Tom richards
el 14 de Jul. de 2019
Editada: Tom richards
el 18 de Jul. de 2019
I would like to calculate the time duration of a signal. In the example below, I want to write in a 2 column matrix the signal and the duration for the purposes for plotting a histogram.
signal=[0 0 0 1 1 1 1 0 1 1];
Output I'd like to see:
signal duration(ns)
0 3
1 4
0 1
1 2
This is my code so far, I'm stuck at trying to calculate the actual duration. I dont know how to calculate time in between when 0 transitions to 1 and vice versa.
duration=[];
signal=[0 0 0 1 1 1 1 0 1 1];
for c=1:length(signal)
diff=signal(c+1)-signal(c);
if diff~=0
????
end
end
1 comentario
Respuesta aceptada
infinity
el 14 de Jul. de 2019
Hello,
You also could refer this code to get the output
clear
signal=[0 0 0 1 1 1 1 0 1 1];
n = length(signal);
a = diff(signal);
b = find(a);
output = [signal(b) signal(end); diff([0 b n])]'
1 comentario
Más respuestas (0)
Ver también
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!