![]() |
Documentation
Tools for embedded systems
|
Fuzzy Inference System (FIS) Engine. More...
Classes | |
| class | qlibs::fis::ioBase |
| class | qlibs::fis::input |
| A FIS Input object. More... | |
| class | qlibs::fis::output |
| A FIS Output object. More... | |
| class | qlibs::fis::core |
| class | qlibs::fis::mf |
| A FIS Membership Function. More... | |
| class | qlibs::fis::instance |
| A FIS(Fuzzy Inference System) object. More... | |
| class | qlibs::fis::system< fType, numberOfInputs, numberOfOutputs, numberOfInputSets, numberOfOutputSets, numberOfRules > |
| A wrapper for the FIS object. More... | |
Macros | |
| #define | FIS_RULES_BEGIN |
| Start a Fuzzy rule set. The FIS_RULES_BEGIN statement is used to declare the starting point of a FIS rule set. It should be placed at the start of the rules enumeration. FIS_RULES_END declare the end of the FIS rule set. | |
| #define | FIS_RULES_END |
| Ends a Fuzzy rule set. The FIS_RULES_END statement is used to finalize the declaration of a FIS rule set. It should be placed at the end of the rules enumeration. FIS_RULES_BEGIN declare the start point of the FIS rule set. | |
| #define | IF |
| Rule statement to begin a rule sentence. | |
| #define | AND |
| Rule statement to represent the AND connector. | |
| #define | OR |
| Rule statement to represent the OR connector. | |
| #define | THEN |
| Rule statement to represent the implication. | |
| #define | IS |
| Rule statement to represent a premise. | |
| #define | IS_NOT |
| Rule statement to represent a negated premise. | |
| #define | END |
| Rule statement to end a rule sentence. | |
Typedefs | |
| using | qlibs::fis::rules |
| Type definition to instantiate a set of fuzzy rules. | |
| using | qlibs::fis::tag |
| Used to define an enum of fis tags. | |
| using | qlibs::fis::deFuzzFunction |
| using | qlibs::fis::fuzzyOperator |
Fuzzy Inference System (FIS) Engine.
For a brief description of this module, please read Fuzzy Inference System Engine
| #define AND |
Rule statement to represent the AND connector.
| #define END |
Rule statement to end a rule sentence.
| #define FIS_RULES_BEGIN |
Start a Fuzzy rule set. The FIS_RULES_BEGIN statement is used to declare the starting point of a FIS rule set. It should be placed at the start of the rules enumeration. FIS_RULES_END declare the end of the FIS rule set.
| #define FIS_RULES_END |
Ends a Fuzzy rule set. The FIS_RULES_END statement is used to finalize the declaration of a FIS rule set. It should be placed at the end of the rules enumeration. FIS_RULES_BEGIN declare the start point of the FIS rule set.
| #define IF |
Rule statement to begin a rule sentence.
| #define IS |
Rule statement to represent a premise.
| #define IS_NOT |
Rule statement to represent a negated premise.
| #define OR |
Rule statement to represent the OR connector.
| #define THEN |
Rule statement to represent the implication.
| using qlibs::fis::rules |
Type definition to instantiate a set of fuzzy rules.
Rules are defined by combining I/O and membership function tags with the following statements:
FIS_RULES_BEGIN, IF, IS, IS_NOT, AND, OR, THEN, END and FIS_RULES_END
Example:
| using qlibs::fis::tag |
Used to define an enum of fis tags.
Tags for I/O and set/membership functions should be defined within enums of this type Example:
An enum with all the possible de-Fuzzyfication methods.
| Enumerator | |
|---|---|
| centroid | Center of gravity of the fuzzy set along the x-axis [ Only for Mamdani FIS ] |
| bisector | Vertical line that divides the fuzzy set into two sub-regions of equal area [ Only for Mamdani FIS ] |
| mom | Middle of Maximum [ Only for Mamdani FIS ] |
| lom | Largest of Maximum [ Only for Mamdani FIS ] |
| som | Smallest of Maximum [ Only for Mamdani FIS ] |
| wtaver | Weighted average of all rule outputs [ Only for Sugeno and Tsukamoto FIS ] |
| wtsum | Weighted sum of all rule outputs [ Only for Sugeno FIS ] |
An enum with the allowed parameters that can be set on a FIS instance.
| Enumerator | |
|---|---|
| FIS_Implication | |
| FIS_Aggregation | Only FIS_MAX, FIS_PROBOR and FIS_SUM supported |
| FIS_AND | |
| FIS_OR | Only FIS_MAX and FIS_PROBOR supported |
| FIS_EvalPoints | The number of points for de-fuzzification |
| enum qlibs::fis::shapeMF |
An enum with all the possible values to specify a membership function.
| Enumerator | |
|---|---|
| custommf | Custom user-defined Membership function |
| trimf | Triangular Membership function |
| trapmf | Trapezoidal Membership function |
| gbellmf | Generalized bell-shaped Membership function |
| gaussmf | Gaussian Membership function |
| gauss2mf | Gaussian combination Membership function |
| sigmf | Sigmoidal Membership function |
| dsigmf | Difference between two sigmoidal Membership functions |
| psigmf | Product of two sigmoidal membership functions |
| pimf | Pi-shaped membership function |
| smf | S-shaped membership function |
| zmf | Z-shaped membership function |
| singletonmf | Singleton Membership Function |
| concavemf | Concave Membership Function |
| spikemf | Spike Membership Function |
| linsmf | Linear s-shaped saturation membership function |
| linzmf | Linear z-shaped saturation membership function |
| rectmf | Rectangle Membership Function |
| cosmf | Cosine Membership Function |
| constantmf | Constant membership function |
| linearmf | Linear membership function |
| tlinsmf | Tsukamoto s-shaped saturation membership function |
| tlinzmf | Tsukamoto linzmf membership function |
| tconcavemf | Tsukamoto z-shaped saturation membership function |
| tsigmf | Tsukamoto Sigmoid membership function |
| tsmf | Tsukamoto S-Shape membership function |
| tzmf | Tsukamoto Z-Shape membership function |
| trampmf | Tsukamoto ramp membership function |
| enum qlibs::fis::type |
An enum with the inference system types supported by qlibs::fis.