How to script the ON/OFF delays in matlab?

4 次查看(过去 30 天)
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 个评论
Vladimir Bessonov
Vladimir Bessonov 2020-6-13
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 2020-6-13
these days stateflow toolbox can be called from MATLAB
https://www.mathworks.com/help/stateflow/ug/debouncing-signals.html

请先登录,再进行评论。

回答(1 个)

Walter Roberson
Walter Roberson 2020-6-13
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

类别

Help CenterFile Exchange 中查找有关 Stateflow 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by