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.

回答 (2 件)

Azzi Abdelmalek
Azzi Abdelmalek 2016 年 5 月 1 日

1 投票

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

1 件のコメント

m b
m b 2016 年 5 月 2 日
編集済み: m b 2016 年 5 月 2 日
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)

サインインしてコメントする。

Stephen23
Stephen23 2016 年 5 月 2 日
編集済み: Stephen23 2016 年 5 月 2 日

0 投票

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 件のコメント

m b
m b 2016 年 5 月 2 日
Dear stephen, thanks for your answer.
John BG
John BG 2016 年 5 月 2 日
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?

サインインしてコメントする。

質問済み:

m b
2016 年 5 月 1 日

コメント済み:

2016 年 5 月 2 日

Community Treasure Hunt

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

Start Hunting!

Translated by