matlab debounce,Debounce Temporal Properties

matlab debounce,Debounce Temporal PropertiesTemporalOperatorsTheSimulink®DesignVerifier™libraryprovidesthreebasictemporaloperatorblockscanbeusedtomodeltemporalproperties.Theintentofthetemporaloperatorsistosupportthe…

大家好,又见面了,我是你们的朋友全栈君。

Temporal Operators

The Simulink® Design Verifier™ library provides three basic temporal operator blocks can be used to model temporal properties. The intent of the temporal operators is to support the specification of temporal requirements, such that the modeled property has a closer co-relation to the actual textual requirement. These blocks are low-level building blocks for constructing more complex temporal properties.

Debounce Model and Requirements

Consider a debounce logic that debounces between values of 0 and 1 based on the input holding a value for a fixed number of time steps.

The debounce functionality is captured in the containing Stateflow® chart.

open_system(‘sldvdemo_debounce_to’)

open_system(‘sldvdemo_debounce_to/debounce’)

56e4f0795cf35e4d8361ab78e9761491.png

Consider two requirements of the debounce model that you would like to verify.

Requirement 1:

Whenever the input equals 1 for more than 6 steps, the output shall be equal to 2.

Requirement 2:

Whenever the input becomes 0 for more than 5 steps after the output was 2, the output shall equal 1 as long as the input stays at 0.

Property Specification

For specifying Requirement 1, you first represent the constraint that input equals 1 for more than 6 steps. This can be captured by the Detector block from the Temporal Operator Blocks Library. On detecting that the input value is 1 for 7 (or more than 6) time steps, you want to check that the output equals 2 as long as input stays equal to 1 after the detection. Use the “Synchronized” option of the Detector block followed by an Implies block to capture this.

open_system(‘sldvdemo_debounce_to/Verify True Output1’)

831c63f08e426cd8f76a897c5ad4eb78.png

Multiple temporal operator blocks can be combined to construct more complex temporal properties. Consider Requirement 2.

open_system(‘sldvdemo_debounce_to/Verify True Output2’)

3d83642ce91a6ce889855e08445257b1.png

For illustration, this requirement is broken down roughly into three pieces of interest:

After the output was 2: This is an enabling condition for your property. While checking the rest of the constraints, you want to know if this condition was true at some point in the past. This type of an enabling condition is typically followed by an Extender (either “Finite” or “Infinite”) that, in combination with other constraints, might form the first input to your implication.

The input becomes 0 for more than 5 steps and check something as long as input stays 0: For the same reason as the first property, you use a Detector with “Synchronized” output (“Time steps for input detection” = 6).

The output shall equal 1: This is the condition that you want to verify whenever the first two constraints hold. This is captured through a logical Implies block. Note that you cannot use Within Implies block here.

Property Proving

Once the temporal requirements have been modeled, you can perform property proving on these using Simulink Design Verifier.

Clean Up

To complete the example, close all the opened models.

close_system(‘sldvdemo_TOBlocks’,0);

close_system(‘sldvdemo_debounce_to’,0);

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/151555.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • mysqlbackup 还原特定的表

    mysqlbackup 还原特定的表

    2022年1月13日
    41
  • asp.net core中使用log4net

    asp.net core中使用log4net和之前的ASP.NETMVC中的使用LOG4NET的方法有些不同,这里先记录一下,使用步骤如下:1.建立ASP.NETCORE项目中,NUGET中搜索log4net后下载安装2.根目录建立log4net.config文件,内容如下:<?xmlversion="1.0"encoding="utf-8"?><configuration> <!–T…

    2022年7月11日
    27
  • 张孝祥Java培训视频及孙鑫java视频网址[通俗易懂]

    张孝祥Java培训视频及孙鑫java视频网址[通俗易懂]博主强烈推荐,张老师的JAVA教程帮了我好多,说实话看这个视频比大学老师上课好百倍,张老师的边讲边操作,运动风趣生动的例子的讲课方法对学习JAVA学习者的帮助很大很大…[张孝祥Java培训][基础篇][url]http://www.ancn.cn/zl/java/lesson01.rmvb[/url][url]http://www.ancn.cn/zl/java/les…

    2022年5月17日
    46
  • ccd视觉定位教程_正规CCD视觉定位系统工作原理[通俗易懂]

    ccd视觉定位教程_正规CCD视觉定位系统工作原理[通俗易懂]产品品牌CCD视觉定位系统发货城市-有效期至长期有效最小起订1产品单价面议深圳精科视觉科技有限公司成立于2011年底,是一家在视觉及自动化领域有着多年经验的科技公司,专业从事非标自动化机器视觉整套解决方案。公司集研发、销售、维护为一体,汇聚了一批追求卓越、勇于探索、敢于创新、在行业内具有丰富经验的工程技术人员,组建了一支专业、敬业的市场营销团队。激光打标技术具有以下的特点1、可对绝大多数金属或非金…

    2022年6月16日
    53
  • android实现点餐功能「建议收藏」

    android实现点餐功能「建议收藏」近期项目中有点餐功能要求中午和晚上一起点餐,中午和晚上的餐品加载的都是一样的有炒菜和面点废话不多说直接上代码activity页面代码:publicclassAnimationActivityextendsBaseActivityimplementsView.OnClickListener{privateListViewrecyclerView;privateImag…

    2022年6月19日
    26
  • matlab画柱状图并填充斜线_matlab画柱状图分两类

    matlab画柱状图并填充斜线_matlab画柱状图分两类导读:记录一下如何使用matlab画柱状图,并进行填充。版本:matlab2017b.注意:使用matlab2016版本似乎会有bug。1.辅助函数makehatch.mfunctionA=makehatch(hatch)%MAKEHATCHPredefinedhatchpatterns%MAKEHATCH(HATCH)returnsamatrix…

    2022年10月19日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号