How can i use fuzzy logic to switch between two distinct states?

44 Views Asked by At

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!

1

There are 1 best solutions below

0
On

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.