So I have a nice problem and I've been contemplating the use of fuzzy logic for this. I have attached a little diagram I have made to explain the problem--> Fuzzy logic image
So I have a power demand signal that varies between 0 & 1 on the x-axis (input). If the signal starts off at say 0.3 and continues to grow- I want the output to be say 'state 1 active' until it hits 0.7. After it crosses that limit it should switch to 'state 2 active'. Now, say if the signal drops back to 0.45- I want the output to still be 'state 2 active' until it crosses the 0.4 limit where it will have to revert back to 'state 1'. Basically I want to use the little triangle (transition phase) as a sort of buffer wherein nothing changes and the output corresponds to the last state the system was in.
Do you think it can be done using fuzzy logic? Or alternative methods- I'm trying to do this on Matlab/Simulink. Any advice/solution would be greatly appreciated!
What you're looking for is called an hysteresis loop. Fuzzy logic came out of the Controls Engineering area in which hysteresis loops are very common.
I use two sigmoid membership functions and a rule block to switch between them.
See: https://edoras.sdsu.edu/doc/matlab/toolbox/fuzzy/fuzzytu3.html
and http://ww2.unime.it/mrg/publications/39RI-A%20General%20Fuzzy.pdf
for details and theory.
However, I often find it easier to use either if/then logic (PLC's etc) or analog components.