A Novel Fuzzy Membership Partitioning for Improved Voting in Fault Tolerant System

This paper presents a novel technique for improved voting by adaptively varying the membership boundaries of a fuzzy voter to achieve realistic consensus among inputs of redundant modules of a fault tolerant system. We demonstrate that suggested dynamic membership partitioning minimizes the number of occurrences of incorrect outputs of a voter as compared to the fixed membership partitioning voter implementations. Simulation results for the proposed voter for Triple Modular Redundancy (TMR) fault tolerant system indicate that our algorithm shows better safety and availability performance as compared to the existing one. However, our voter design is general and thus it can be potentially useful for improving safety and availability of critical fault tolerant systems.


Introduction
The fault tolerant systems frequently use hardware redundancy along with a voter to achieve enhanced operational availability of critical mission oriented systems against predefined set of faults.One of the most commonly used methods is based on static redundancy technique incorporating Triple-Modular Redundancy (TMR) [1] [2] where a majority voter determines the correct output value.In digital voting scheme, the determination of exact majority vote is straight forward, however, while finding the majority consensus among the outputs of redundant analog modules of a TMR requires determination of majority considering two closest matching analog outputs of the redundant analog modules.For example, it is very difficult to obtain an exact match between the outputs of replicated analog sensors of a fault tolerant data acquisition system or if the output is generated by diversely implemented software using floating point arithmetic.Therefore the design and performance of analog fault tolerant systems has been deeply focusing on development of improved voter design which can use "hard threshold" or "soft threshold" based voter implementation [3]- [6].The hard threshold based voter implementations determine the majority consensus among the outputs of redundant analog modules using mid-value, fixed threshold, or history based weighted average threshold [4] [7]- [9].The mid-value selector voting algorithm [7] generates voted output by considering the mid values of the outputs of redundant modules; fixed threshold voting [8] scheme generates majority output if the absolute difference between the outputs of different pairs of redundant modules is less than a prefixed value.The history based weighted average voting [9] [10] calculates the output with the help of weighted average.Here each redundant module is assigned a weight value depending upon its performance record and the weighted average is used to determine the voted output.Thus this method also uses a hard threshold value to decide the agreeability of individual modules with other modules.Therefore all hard threshold methods use a fixed threshold value for making majority decision which makes the majority voter non-adaptable against larger differences between outputs of redundant modules/changes in their output range.This is because the error in the voted output with respect to the desired output of the voter increases for larger differences between outputs of redundant modules/changes in their output range.Thus hard voting schemes become unsuitable for TMR voter implementation under these situations.Alternatively, soft threshold based fuzzy voters [3] can be used to tackle the voter's accuracy problem due to large output and range variations of the redundant voter modules.These voters convert the mod value of relative differences into fuzzy membership and apply fuzzy rules to generate consensus output from the voter.The fuzzy voters perform better than hard threshold voting schemes having fixed threshold but it proves ineffective beyond moderate differences between outputs of redundant modules.In addition to this, the fuzzy voters do not perform satisfactorily in offering constant error in the voted output for multi band agreement tolerances as needed in flight control computers [11]- [13].
This paper presents an improved design of fuzzy voter based on adaptive fuzzy membership boundaries of the mod values of the differences between analog outputs of the redundant modules and its range.The availability and safety performance of the proposed voter design is evaluated through MATLAB simulation studies and it is shown that our voter design is potentially useful for handling larger mod differences (>1.5) between the outputs of redundant analog channels.It offers 20% error reduction in the voted output as compared to the fuzzy voter suggested by Shabgahi [3], 12% higher availability, and 18% improvement in safety.Section 2 describes the basic concepts of the fuzzy voter [3] [14] followed by the proposed design of the voter in Section 3. Section 4 presents MATLAB simulation of the proposed fuzzy voter along with different varied differences between outputs of the redundant modules.The simulation results indicating the error minimization in the voted output along with achievable improvements in availability and safety are also discussed in this section.Section 5 contains the conclusion indicating the major outcome and its benefit in design of fault tolerant avionic systems.

Fuzzy Voter Concepts
Fuzzy voters [3] are used to eliminate the limitations of fixed threshold TMR voting logic discussed in Section 1.
Figure 1 shows the block schematic of a 3-input ( ) , , X X X fuzzy voter which contains fuzzifier and defuz- zyfier to generate the weights for calculating a weighted average output ( ) , , W W W from the voter.
The fuzzification is achieved by transforming the numerical differences 12 d , 13 d , and 23 d between the in- put pairs ( ) , X X , and ( ) , X X into fuzzy membership for each pair ( ) d such that the fuzzy membership follows a triangular functions [3] as shown in Figure 2. Here, the fuzzy difference variable are represented by a set of membership grades ( ) , where A: {small, medium, large}.
Referring Figure 2, the variables and fuzzy membership functions considering the difference between two voter inputs: ≠ can be defined as below: Symmetry: r q q p − = − , where p, q and r are real numbers and p q r < < ( ) ( ) Equations ( 1)-(3) describe the functions for small, medium, and large membership grades respectively.

Defining the Fuzzy Agreeability of Each Input
For each of the input i X , a fuzzy agreeability variable ( ) is defined in Figure 3 with respect to the other inputs.The fuzzy agreeability value is a measure of the extent to which an input agrees with the other two inputs.For each fuzzy agreeability variable, a five overlapping set is defined B: (vlow, low, med, high, vhigh).

Fuzzy Rules to Find out Agreeability of Each Input
Table 1 shows the rule matrix to find out agreeability of each input with other inputs.
Where ij d and ik d are the fuzzified difference values of ith input with respect to other two inputs respec- tively.According to the membership values of ij d and ik d the agreeability of ith input can be calculated for example if both ij d and ik d will be small then agreeability of ith input will be vhigh and so on.

Calculating the Voted Voter Output
The fuzzified value of agreeability is converted in to numerical value of weight i W with the defuzzification method.The defuzzification method used is centroid method.And the final output of voter y is calculated as: .

Proposed Fuzzy Voter
The existing fuzzy voter considered fixed fuzzy partitioning parameter i.e. the values of parameter p, q and r are fixed.While the values of parameters p, q and r will not be optimum for all values of input ranges for example for very small magnitude of inputs, the value of p, q and r should be less as the accuracy tolerance between generated output and correct output will be less and for larger magnitude of input, the values of p, q and r could be high.so a modified fuzzy voting unit has been proposed in this paper where the value of output from voting unit is calculated with the same method as in the above fuzzy voting unit but the values of fuzzy partitioning will not be fixed, they will change themselves according to the input values and the numerical values of differences between them.The value of p is chosen considering the maximum and minimum of the input values and the minimum of the distance between input pairs.Figure 4 shows the block schematic of improved fuzzy voter: The value of parameter p is calculated on the basis of fuzzy classification and values of q and r will be multiple of p, the fuzzy classification of p is achieved with three parameters as a, b, and c and their functions have been defined for module output ranging from {0 -25}, while the partitioning of these parameters can be changed according to the application and the ranges of inputs.
The fuzzy membership a (Figure 5) which is defined as ( ) , is categorized in three memberships as {small, medium, large}.
The fuzzy membership b (Figure 6) which is defined as ( ) , is categorized in three memberships as {small, medium, large}.
The fuzzy membership c (Figure 7) which is defined as ( ) , is categorized in three memberships as {small, medium, large}.
The fuzzy membership function for output variable p (Figure 8) is categorized in four memberships as {small, medium, high, vhigh}.

The fuzzy membership for output p is:
The value of p is categorized in four memberships values {small, medium, high, vhigh} which are governed by the fuzzy rules formulated as under.
1) if (c is small) and (b is small) then (p is small);     Rule No. 1 to 3 deals with cases where difference between at least two inputs are small it implies that there is a reasonably high degree of agreeability therefore p is categorized as either small or medium depending upon maximum value of inputs.Rules 4 to 10 define conditions when minimum of differences in inputs is in medium range, here the value of p will be either medium or high depending on the distance between minimum and maximum of the inputs.Similarly rules 11 to 15 have been formulated to deal with poor agreeability between set of inputs i.e. when minimum of differences in inputs is in large range, here the value of p will be either medium, high or vhigh depending on the distance between minimum and maximum of the inputs.
Based on the above parameters and the set of fuzzy rules the value of p will be in range {0.2 -0.9} and the values of q and r are arrived at as multiples of p i.e.
1.5 q p = × and 2 r p = × .The defuzzification method used to calculate value of p is centroid method.The output y will be calculated in same way as proposed in previous section but now the values of fuzzy partitioning parameters will not be fixed, they will adapt themselves according to inputs values and their differences.

Experiment 1
The first experiment proves that the voted output generated by improved fuzzy voter is more closed to the actual output as compared to fuzzy voter proposed in [3].Table 2 shows the output of the improved fuzzy voter and reference fuzzy voter [3] for 10 independent cases where the correct output value is 1 and where all the channels are subjected to errors.

Experiment 2
To compare the performance of improved fuzzy voter with reference fuzzy voter, the parameters used for simulation experiments are listed below: The input to modules: sinusoidal function ( ) ( )  The errors has been injected in any two modules using a random generator with uniform distribution with amplitude from the interval {−emax +emax}.
Here the value of correct input will range from (0 -20), the accuracy threshold value (ATV) will be different for different magnitudes of inputs, ATV is the max error allowed from the true output value and it is defined as: The voter output can be interpreted as correct, incorrect, or benign output.For each voter, the results of 104 voting cycles are performed.And c n correct outputs, ic n incorrect outputs, and d n benign outputs are cal- culated.
The availability A will be defined as: And safety S will be defined as: , where The x-axis is the max error injected in the two modules.Results show that our improved fuzzy voter gives 1% -8% better availability and 1% -5% better safety as compared to reference fuzzy voter proposed in [3].show availability and safety plots respectively when one module is fault free, the error in second has been injected randomly by uniform distribution in range {−emax +emax}.The x-axis is the max error injected in the second module.The third module is more faulty in which error has been injected randomly by uniform distribution in range {−5 +5}.Results show that our improved fuzzy voter gives 1% -12% better availability and 1% -18% better safety as compared to reference fuzzy voter proposed in [3].

Conclusion
A fuzzy voter proposed by Shabgahi has been studied for its performance in various conditions.The fuzzy voter falls short of expectations with respect to safety and availability parameters for larger errors, so here we proposed an improvement to the fuzzy voter.The proposed modification considers dynamic partitioning parameter variation in a given range which can be chosen depending on the system requirements.The study shows that the proposed improved fuzzy voter yields better results as compared to the existing voter.This scheme can be adapted to different operational conditions of the system by varying the accuracy requirements and fuzzy partitioning parameters.The future work envisaged in this area is to integrate various other techniques like history based module selection, TMR with spare etc. into the fuzzy voters to further improve the availability and reliability of the systems.

Figure 2 .
Figure 2. Representation of membership grades

Figure 3 .
Figure 3. Representation of output fuzzy variable membership grades ( ) B i w µ .

Figure 5 .
Figure 5. Definition of membership functions of variable a.

Figure 6 .
Figure 6.Definition of membership functions of variable b.

Figure 7 .
Figure 7. Definition of membership functions of variable c.

Figure 8 .
Figure 8. Definition of membership functions of output p.2) if (c is small) and (b is medium) then (p is medium); 3) if (c is small) and (b is large) then (p is medium); 4) if (a is small) and (c is medium) then (p is medium); 5) if (a is medium) and (b is small) and (c is medium) then (p is high); 6) if (a is medium) and (b is medium) and (c is medium) then (p is medium); 7) if (a is medium) and (b is large) and (c is medium) then (p is medium); 8) if (a is large) and (b is small) and (c is medium) then (p is high); 9) if (a is large) and (b is medium) and (c is medium) then (p is medium); 10) if (a is large) and (b is large) and (c is medium) then (p is high); 11) if (a is small) and (c is large) then (p is medium); 12) if (a is medium) and(b is small) and (c is large) then (p is medium); 13) if (a is medium) and(b is medium) and (c is large) then (p is medium); 14) if (a is medium) and (b is large) and (c is large) then (p is high); 15) if (a is large) and (c is large) then (p is vhigh).Rule No. 1 to 3 deals with cases where difference between at least two inputs are small it implies that there is a reasonably high degree of agreeability therefore p is categorized as either small or medium depending upon maximum value of inputs.Rules 4 to 10 define conditions when minimum of differences in inputs is in medium range, here the value of p will be either medium or high depending on the distance between minimum and maximum of the inputs.Similarly rules 11 to 15 have been formulated to deal with poor agreeability between set of inputs i.e. when minimum of differences in inputs is in large range, here the value of p will be either medium, high or vhigh depending on the distance between minimum and maximum of the inputs.Based on the above parameters and the set of fuzzy rules the value of p will be in range {0.2 -0.9} and the values of q and r are arrived at as multiples of p i.e.1.5q p = × and 2 r p = × .The defuzzification method used to calculate value of p is centroid method.The output y will be calculated in same way as proposed in previous section but now the values of fuzzy partitioning parameters will not be fixed, they will adapt themselves according to inputs values and their differences.
sampled at 0.1 second.
where min X is the min output generated by three channels.Reference fuzzy voter has been designed by taking following values: 0The improved fuzzy voter uses same values for u, v, and w i.e.
and Figure 9(b) show availability and safety plots respectively where one module is fault free and the faults in two modules have been injected randomly by uniform distribution in range {−emax +emax}.

Figure 9 .
Figure 9. (a) Performance comparison of voters in terms of availability when two modules are equally faulty; (b) Performance comparison of voters in terms of safety when two modules are equally faulty.

Figure 10 .
Figure 10.(a) Performance comparison of voters in terms of availability when one module is less faulty and the other is more faulty; (b) Performance comparison of voters in terms of safety when one module is less faulty and the other is more faulty.

Table 1 .
Rule matrix used for fuzzy input variables.

Table 2 .
Comparison of results of both the voters.