fall time of square wave

Hi everyone... I want to know the time that my pulses goes 0 (the red points) what is the best way to do that.

Réponses (2)

Azzi Abdelmalek
Azzi Abdelmalek le 1 Mai 2016

1 vote

If y is your signal
idx=strfind(y,[1 0])

1 commentaire

m b
m b le 2 Mai 2016
Modifié(e) : m b le 2 Mai 2016
Dear Azzi
Thanks for your answer, but it did not work. I wrote sth but I want to know if there is another easy and best way
this is what i wrote
for i=1:length(y);
z= find ( y==0 );
end
for i=1:16:length(z);
zz=z(i)
hold on
plot (zz,y(zz),'g*')
end and i got this (red stares)

Connectez-vous pour commenter.

Stephen23
Stephen23 le 2 Mai 2016
Modifié(e) : Stephen23 le 2 Mai 2016

0 votes

Try this:
N = 200;
% fake data:
vec = ones(1,N);
vec(randperm(N,5)) = 0;
% detect zeros:
idx = diff(vec)<0;
plot(1:N,vec,'-b',find(idx),vec(idx),'r*')
You will also need to decide what happens with leading zeros: I have not taken them into account in this algorithm.

2 commentaires

m b
m b le 2 Mai 2016
Dear stephen, thanks for your answer.
John BG
John BG le 2 Mai 2016
Stephen's answer finds the red dots, but when you write 'know the time that my pulses goes 0 (the red points)' do you mean you want dt1+dt2+dt3+dt4 of the initial signal?
The transitions are not vertical, check the blue arrows.
Do you want to know know much time the signal is stuck on 0?

Connectez-vous pour commenter.

Question posée :

m b
le 1 Mai 2016

Commenté :

le 2 Mai 2016

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by