Change detection using simulink

1 view (last 30 days)
Abhibrata Adhikary
Abhibrata Adhikary on 2 Apr 2020
Answered: Ameer Hamza on 2 Apr 2020
Hi All,
I need some help buliding a simulink logic for the following case:
  • I have a column with various states changing from 1 to 6 as shown in the below image.
  • And I would like to implement a simulink logic to determine how many samples were there in each state before it changed to a new state.
  • As soon as the state changes, it should reset its counter and start counting the next state
I would be really grateful if you could help me understand on how to approach the problem.
Thanks
  2 Comments
Ameer Hamza
Ameer Hamza on 2 Apr 2020
How do you define samples in this case. Do you mean time-steps?

Sign in to comment.

Answers (2)

Birdman
Birdman on 2 Apr 2020
I tried to make a model for you, where I tried to build a signal based on your description. Please click on the Signal Builder block and check it. Then, by using Detect Change block, I tried to capture the change in the input signal and with that each change, I reenabled a counter located in a Enabled Subsystem and it started counting again. Please run the simulation and open the Scope in the model. You will see that the counter is reset at every change and where it is reset, in the Scope, you will see that at values 4, 8, 12, 7 and 4, just as in the question, the counter is reset. Check the model and try to understand it and try to adapt it according to your purpose.

Ameer Hamza
Ameer Hamza on 2 Apr 2020
See the attached file. It uses a Stateflow diagram to model the state transition according to the step-sizes in your question.

Categories

Find more on Simulink Functions in Help Center and File Exchange

Tags

Products


Release

R2010b

Community Treasure Hunt

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

Start Hunting!