SLAA235A February 2005 – August 2018 MSP430F147 , MSP430F147 , MSP430F148 , MSP430F148 , MSP430F149 , MSP430F149
Fuzzification is the process that determines the degree of membership of the input values to defined fuzzy sets (linguistic variables). In the case of the rotation speed control of serial universal motors, the input values are:
Error = SetSpeed – CurrentSpeed
This value is obtained by subtracting the previous error value from the current error value:
dError = Error – LastError
In the example for this application report, five fuzzy sets are defined for the input values Error and dError:
The membership functions (see Figure 1) are triangular-shaped and the maximum value is scaled to 400h instead of 1, which is found in other documents describing fuzzy theory. Using 400h greatly reduces the calculation complexity, because the multiplying operation becomes only one addition or subtraction.
The result of the fuzzification of an input value is a vector with five elements as there are five fuzzy sets, and the value of each member defines the degree of membership of the input value to a particular fuzzy set (y-value). The vectors for the absolute and differential errors which are the results of the fuzzification are denoted as X1[ ] and X2[ ].
For example, assume Error is 30h and dError is 10h. According to Figure 2 and Figure 3, the results after fuzzification are:
X1[ ] = [0h, 0h, 3D0h, 30h, 0h]
X2[ ] = [0h, 0h, 3F0h, 10h, 0h]