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
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.