How to script the ON/OFF delays in matlab?

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

I was looking for the same staff. No answer
is the delay in samples or in clock time?
I needed it for debouncing?
I was looking how I can implement somethign similar to what I did in IBA - Analyzer
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)

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 Simulink in Help Center and File Exchange

Asked:

on 16 Oct 2019

Commented:

on 13 Jun 2020

Community Treasure Hunt

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

Start Hunting!