Skip to main content
. 2019 Dec 18;20(1):6. doi: 10.3390/s20010006
Algorithm 2: PSO-ANN-DS algorithm.
Input: Four single eigenvalues, and fault data with high levels of uncertainty.
Output: Decision-level fusion result Fus(m).
01: /* Step 1 */
02: Train_data = {STD, Peak, RMSEE, Skewness} /* Four single eigenvalues */
03: for i = 1 to 4 do
04:        PSOANNi = PSO-ANN_algorithm(Input = Train_data [i])
05:        PRE[i] = PSOANNi(test_data = fault data with high
06:                                uncertainty). prediction_accuracy
07: end for
08: /* Step 2 */
09: for i = 1 to 4 do
10:        CRD[i] = PRE[i] / sum(PRE)
11: end for
12: /* Step 3 */
13: for i = 1 to 4 do
14:        MUN[i] = Calculate the value with Equation (8) and (9)
15: end for
16: /* Step 4 */
17: for i = 1 to 4 do
18:        MCRD[i] = CRD[i] * MUN[i]
19: end for
20: /* Step 5 */
21: for i = 1 to 4 do
22:        NMCRD[i] = MCRD[i] / sum(MCRD)
23: end for
24: /* Step 6 */
25: for j = 1 to J do /* J is the number of fault types */
26:        WAE[j] = 0
27:         for i = 1 to 4 do
28:                WAE[j] = WAE[j] + NMCRD[i] * PSOANNi.prediction_result(fault_type = j)
29:        end for
30: end for
31: /* Step 7 */
32: Fus(m) = WAE
33: for i = 1 to 3 do /* There are 4 single features, which need to be merged 3 times. */
34:        Fus(m) = Fus(m) WAE /* refers to the DS fusion rule */
35: end for