How to script the ON/OFF delays in matlab?

5 views (last 30 days)
Hello all, can some one help me to figure out this :
When the input becomes false, the output becomes false after a preset time delay. The output remains false as long as the input is false.
When the input is true or becomes true, the output is true with no delay.
There is On/Off Delay block available in simulink library, but i would like to have it in matlab code.
  4 Comments
Vladimir Bessonov
Vladimir Bessonov on 13 Jun 2020
I needed it for debouncing?
I was looking how I can implement somethign similar to what I did in IBA - Analyzer
Walter Roberson
Walter Roberson on 13 Jun 2020
these days stateflow toolbox can be called from MATLAB
https://www.mathworks.com/help/stateflow/ug/debouncing-signals.html

Sign in to comment.

Answers (1)

Walter Roberson
Walter Roberson on 13 Jun 2020
delay_to_false = 10;
dc = -1;
while true
insamp = get_input() ;
if ~islogical(insamp); break; end % end of input signalled
if insamp
dc = delay_to_false;
end
dc = dc - 1;
outsamp = dc >= 0;
output_sample(outsamp) ;
end

Categories

Find more on Stateflow in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!