Fault Detection of Wind Turbines with Uncertain Parameters A Set-Membership Approach

: In this paper a set-membership approach for fault detection of a benchmark wind turbine is proposed. The benchmark represents relevant fault scenarios in the control system, including sensor, actuator and system faults. In addition we also consider parameter uncertainties and uncertainties on the torque coefﬁcient. High noise on the wind speed measurement, nonlinearities in the aerodynamic torque and uncertainties on the parameters make fault detection a challenging problem. We use an effective wind speed estimator to reduce the noise on the wind speed measurements. A set-membership approach is used generate a set that contains all states consistent with the past measurements and the given model of the wind turbine including uncertainties and noise. This set represents all possible states the system can be in if not faulty. If the current measurement is not consistent with this set, a fault is detected. For representation of these sets we use zonotopes and for modeling of uncertainties we use matrix zonotopes, which yields a computationally efﬁcient algorithm. The method is applied to the wind turbine benchmark problem without and with uncertainties. The result demonstrates the effectiveness of the proposed method compared to other proposed methods applied to the same problem. An advantage of the proposed method is that there is no need for threshold design, and it does not produce positive false alarms. In the case where uncertainty on the torque lookup table is introduced, some faults are not detectable. Previous research has not addressed this uncertainty. The method proposed here requires equal or less detection time than previous results.


Introduction
In recent years, there is an increasing attention to wind energy as one of the most promising and abundant sources for sustainable energy. Operation and maintenance (O & M) costs constitute an important part of the cost of wind energy. The costs can be reduced by developing wind turbines that require less scheduled and especially non-scheduled service and has less downtime due to failure. This is important especially for offshore wind farms where the cost associated with O & M is higher and where weather conditions may prevent maintenance for long periods of time. A remedy to reduce O & M costs is a solution that provides us the possibility of producing power, probably with some degradation in the performance, after a fault has occurred until the next scheduled service. An efficient method to reduce O & M costs is early and accurate fault detection and diagnosis (FDD).
In different studies on wind turbine failure analysis, it is shown that the control system with its corresponding instrumentation (sensors and actuators) is the subsystem that has the highest failure frequency and it causes the highest percentage of downtime [1]. This emphasizes the need for effective fault diagnosis and more generally for fault tolerant control (FTC) methods for the wind turbine. Such a control system should be able to detect and isolate faults when they occur; and then to re-design the controller by changing the control law or the control configuration-in the case of severe faults-such that the faulty turbine with the new controller can remain producing power and present an acceptable performance from the time that a fault occurs until the next scheduled service.
In recent years there has been some works investigating the problem of fault diagnosis and fault tolerant control of wind turbines, see [2]. Some early works have used condition monitoring techniques such as vibration analysis, oil analysis, acoustic monitoring, etc. For a review of condition monitoring techniques used for wind turbines see the review papers [3,4]. In [5], evolutionary algorithms and classification methods are used for detection of rotor imbalance and aerodynamics asymmetry faults. The same problem is studied in [6] by investigating statistical properties of wind speed and output power. A method for detection of excessive tower oscillations due to rotor imbalance is proposed in [7]. The method is able to discriminate between turbulence and/or wave and rotor imbalance. Because structural damages can cause disastrous damages to the system, monitoring structural health is of crucial importance. For a review of damage detection methods for structural health monitoring of wind turbines see [8] and references therein. In recent modern wind turbines, a doubly fed induction generator (DFIG) is widely used. In [9] a diagnosis method based on signature analysis of rotor modulating signals for DFIGs is proposed where electrical incipient faults are considered. A model-based method for sensor fault detection of a DFIG is proposed in [10]. In [11] an observer based fault detection for detecting sensor faults in the pitch system is proposed. An unknown input observer is used in [12] for sensor fault detection in the drive train. Poure et al. [13] investigates fault detection and fault tolerant control of the electrical conversion systems.
A benchmark model for fault detection, isolation and accommodation of wind turbines was proposed in [14]. The benchmark is based on a model of a generic three blade horizontal variable speed wind turbine with a full converter coupling and a rated power of 4.8 MW. The aim of the benchmark model is to provide a common ground to test and compare different methods for fault detection and accommodation of wind turbines. Recently, a number of papers have been published on fault detection and isolation of the benchmark proposed in [14]. In [15] a solution based on Kalman filters and diagnostic observers for residual generation with generalized likelihood ratio test for detection decision is proposed. Solutions based on support vector machines are proposed in [16]. In [17] a model based method is used to generate residuals on which an up-down counter based scheme is used for detection and isolation. Svärd et al. [18] present a generic automated design method for fault detection and isolation on this benchmark. A scheme based on fault detection and isolation estimators is proposed in [19]. In [20] a set-theoretic method is proposed for this problem. Kiasi et al. [21] focus on generalized likelihood ratio and associated statistical fault detection tools. A hybrid approach is taken in [22]. In [23] a data driven approach is taken on the benchmark model. In [24] a detection and isolation scheme based on a combination of parity equations and robust residual filtering is proposed.
In this paper we propose a state space based set-membership fault detection method for fault detection of the benchmark model. In real applications, noise, uncertainties and model differences always exist. To guarantee the reliability and performance of a fault detection method, it is important to ensure that it is insensitive to uncertainties and noise but at the same time sensitive to faults. Such a fault detection method is called robust. Robust fault detection methods are broadly divided into two categories: residual signal based and set-membership based. In the robust residual signal based fault detection, fault detection is based on checking the value of a residual signal against a threshold. If the value of the residual signal is greater than the threshold, a fault is detected. Designing a residual signal which is sensitive to faults and insensitive to noise and uncertainties is usually a difficult and challenging problem. Some of the well known residual based approaches are unknown input observers [25], eigenstructure assignment [26], and structured parity equations [27]. In the set-membership approaches, the noise, disturbance and uncertainties on the parameters of the model are assumed to be unknown but bounded with a priori known bound. Then, a set of models is generated for the system. Whenever a measurement is not consistent with any of the members of this set, a fault is detected.
In the control literature these approaches are known as set-membership, or error bounded methods; see [28,29] for a review. An advantage of the set-membership approach is that there is no need for a threshold design. Set-membership approaches work in the state space or the parameter space. The set of states or parameters that are consistent with the measurements, the model of the system, and the bounds on the uncertainties, disturbance, and noise are calculated as a closed set. If the set of states or the parameters consistent with a new measurement is outside this set, a fault is detected. Another advantage of set-membership approaches is that, if the given bounds on the uncertainties, noise and disturbance are realistic, no positive false alarm is produced. The drawback of the method is its conservatism due to propagation of uncertainties and due to over-approximations required in the set computations.
All of the aforementioned methods for fault detection of the benchmark are residual signal based. Moreover, none of them take uncertainties on parameters into account. In [30] a set-membership approach is proposed, which investigates the application of the parameter estimation based method for fault detection of wind turbines. However, they assume that the system can be represented by a model that is linear in the estimated parameters. In this work, we use the state estimation set-membership method using the nonlinear model of the system. The nonlinear term is approximated by an interval at each sample time. While Blesa et al. [30] cannot detect fault No. 6 in the benchmark, we can detect this fault. Also, all of the faults are detected at the same time or sooner than the results reported in [30]. Moreover, none of the aforementioned methods consider uncertainty on the model of the system. In our work, we consider uncertainties on the torque coefficient look-up table and also on the system matrices. To deal with the computational geometry of the proposed method we use zonotopes for set computations and to deal with the parametric uncertainties we use matrix zonotopes. As a result, all of the computations are performed on zonotopes, which offer low computational complexity and require low allocated memory. Hence, the proposed method is computationally efficient.
The paper is organized as follows. In Section 2, preliminaries and basic required definitions are given. The benchmark model and fault scenarios are explained in Section 3. In Section 4, the state space set-membership approach is given. By defining required operations on zonotopes, implementation of the proposed method using zonotopes is given in Section 5. In Section 6, we explain how we deal with uncertainties. Simulation results and discussion are given in Section 7. Finally, Section 8 concludes the paper.

Wind Turbine Description
A wind turbine converts a part of the kinetic energy of the wind into electrical energy. In this paper we consider a benchmark model of a three blade horizontal axis wind turbine with a full converter. The wind turbine model consists of four parts: blade and pitch systems, drive train, generator and converter, and the controller, see Figure 1. The rotational torque due to the airflow of the wind on the rotor blades rotates the rotor. As a result a part of wind energy is converted to mechanical energy. The drive train transmits this mechanical energy to the generator, and the generator converts the mechanical energy to electrical energy. To control the power, we can manipulate the blade pitch angle or the rotational speed of the rotor. The blade pitch is controlled through the pitch actuators. The rotational speed of the generator or the rotor is controlled by the generator torque. The generator is fully coupled with a converter, which provides us with the ability to control the generator torque. The rotor speed, the generator speed, and the pitch positions of all blades are measured with two sensors. In the following, different subsystems are described in more details.

Blade and Pitch System
This model is comprised of two parts: the aerodynamic model and the pitch model.

Aerodynamic Model
The flow of the wind on each blade produces the drag and lift forces. The tangential component of these forces generates a tangential force which creates a rotational torque. The aerodynamic torque acting on the rotor is calculated by integrating the tangential torque along the blades length. The aerodynamic torque is given by ( see [31,32]) : where C q is the torque coefficient, which is a function of the pitch angle β and the ratio between the speed of the blade tip and the wind speed, which is known as the tip-speed ratio and given by: where R is the radius of the blades, v w is the wind speed and ω r is the rotor speed. C q is given in the form of a look-up table. The above equation assumes that the blades are controlled collectively and hence have the same pitch angle. When the blades have different pitch angles, the aerodynamic torque can be approximated by:

Pitch System Model
The pitch actuator which rotates the blades is a hydraulic pitch system. The pitch actuator might be modeled by a first order system, see [31], but here we choose a second-order model to include the blade inertia into the account. The closed loop dynamic of the pitch systems is given by Merritt [33]: where β r is the pitch reference.

Drive Train Model
The drive train consists of a low speed shaft and a high-speed shaft, which are interconnected through a transmission with a gear ration of N g . It is modeled as two shafts with moments of inertia and frictional force that are connected with a gearing with efficiency of η dt . The model of the drive train is depicted in Figure 2. The dynamics of the low-speed shaft is given by: where J r , B r denote the moment inertia and the viscous friction of the low speed shaft, ω r is the rotational speed of the rotor, and τ l is the torque on the low-speed shaft. Similarly, the dynamics of the low speed shaft is: where J g , B g denote the moment inertia and the viscous friction of the high speed shaft respectively, ω g is the rotational speed of the generator, and τ h is the torque on the high-speed shaft. The gearbox is modeled by: The drive train torsion is modeled by a torsion spring and a friction coefficient as: where K dt denotes the torsion stiffness of the drive train, B dt is the torsion damping coefficient of the drive train, and θ ∆ (t) denotes the torsion angle of the drive train which is equal to: where θ r is the angle of the low speed shaft and θ g is the angle of the high speed shaft. It is easy to see that by using the above equations, the overall dynamics of the drive train in the state space form can be re-written as:   ω where

Generator and Converter Models
The generator torque is controlled by a reference τ g,r . The dynamic of the converter is approximated by a first order system as: The produced power by the generator is given by: where η g is the efficiency of the generator [31] Model parameters can be found in [14].

Fault Scenarios
The following types of fault are considered in the benchmark: sensor faults, actuator faults, and system faults.

Sensor Faults
Sensor faults and their description are summarized in Table 1 where β j,m i represent the ith measurement of the jth pitch angle, ω r,m 1 , ω r,m 2 are respectively the measurement form the first and the second rotor speed sensor, and ω g,m 1 , ω g,m 2 are the measurement from the first and second generator speed sensor. ω r,m 2 = 1.1ω r,m 2 1,000-1,100 Rotor and generator ω g,m 1 = 0.9ω g,m 1 speed gain factor

Actuator Faults
Two kinds of actuator faults are considered for the pitch system. The first fault is a hydraulic pressure drop in actuator 2. The pressure drop is modeled as an abrupt change of parameters of the pitch system from ω n , ξ to ω n2 , ξ 2 . The second fault is an air content increase in the actuator oil. This fault is modeled as a gradual change in the parameters of the pitch actuator 3. The parameters are changed linearly from ω n , ξ to ω n3 , ξ 3 in a period of 30 s, remain active for 40 s, and decrease again for 30 s. Actuator faults are summarized in Table 2.

System Faults
A system fault is considered in the benchmark. The system fault is a bias in the generator control loop which yields a bias in the generator torque: τ g = τ g + 2000 Nm. Table 3 summarizes the system fault.
The wind turbine with fault scenarios are simulated using Simulink. The Simulink model is publicly available, see [14]. For simulation of a fault scenario, a fault signal is defined, which is 1 for the time period in which the fault occurs and zero if otherwise. This fault signal is used in the Simulink model. For each fault scenarios when the corresponding fault signal is 1, the parameters of the Simulink model switches to the parameters of the corresponding faulty model.

State Space Set-Membership Fault Detection
Consider the following nonlinear model: where x(k) ∈ R n is the state, y(k) ∈ R m is the output, u(k) ∈ R p is the input, w(k) ∈ R n is disturbance and v(k) ∈ R m is noise. It is assumed that the noise and disturbance are unknown but bounded i.e., w(k) ∈ W and v(k) ∈ V . Moreover, it is assumed that the initial condition is given in a compact set x(0) ∈ X 0 . The set-membership approach uses the consistency principle for fault detection. Each iteration calculates the consistency of the current measurement with a set , X c (k), that contains all of the states that are consistent with a given model of the system, the initial condition set, the bounds on the disturbance and noise, and the input-output sequence up to the current sample time. If the current measurement is not consistent with this set, a fault is detected. Computation of X c (k) consists of two steps: a prediction step and a correction step. At the prediction step, having X c (k − 1), the predicted set X p (k) is defined as: The predicted set is one-step ahead prediction of X c (k − 1). This set is then corrected using the information provided by the current measurement y(k). Given the current measurement y(k), the set of all states that are consistent with it are given by: When noise is additive i.e., g(x, v) = h(x) + v, then: where ⊕ denotes the Minkowski sum which is defined as follows. Given two sets X , Y , X ⊕ Y = {x + y|x ∈ X , y ∈ Y }). Then, the corrected set is defined as the intersection of the set of states consistent with the output and the predicted set: A fault is detected if this set is empty: The overall algorithm for fault detection is given in Table 4. Table 4. State space set-membership fault detection.
Given u(k), find the prediction set: If X c (k) = / 0, then Fault=True end Algorithm 1 is in a very general form. Exact computation of the corrected and the predicted sets using the given general nonlinear model is, if not impossible, very difficult. Therefore, in the literature different authors have assumed some simplifying assumptions about the nonlinear model. In the following section, we explain how we use interval analysis to find an interval approximation of the nonlinear aerodynamics to adapt the algorithm for wind turbine fault detection.

Fault Detection of The Wind Turbine
The model of the drive train and the converter can be summarized as follows: where A and B are produced by an appropriate augmentation of the corresponding matrices of the drive train, the generator and the pitch system. The notation (·) m×n denotes a m by n matrix. Assume that at k − 1, we have X c (k − 1). Then, we use Equation (22) to find X p (k). If we can find an interval approximation of τ r (k), then we have: where [a] = [a, a] denotes a closed interval which is the set [a, a] = {x ∈ R : a ≤ x ≤ a}. Moreover, having the measurement y(k) and assuming that V is given as the , then the set, [x dc(k) ] y is obtained as: In the following, we show how we can find an interval approximation of τ r (k) as [τ r (k)] = [τ r (k), τ r (k)]. Using interval analysis we have: C q is given in the form of a look-up ] and [β i ] can computed using a set-membership observer for the pitch system. Then: Note that using this method the uncertainties on the C q table can also be handled easily. In order to find [v w ], we need a bound on the measurement noise for the wind speed. The wind speed measurement has a high level of noise and there is a possibility of offset on the sensor. Therefore, using information from this sensor would result in a very conservative over-approximation of [τ r ] which in turn would yield a poor performance of the fault detection algorithm. To address this problem we use an estimation of the effective wind speed instead of the measurement from the hub.
There are different methods to estimate effective wind speed, see [34,35]. We use the method suggested in [34]. The proposed wind speed estimator consists of three parts: a state estimator, an input estimator and a look-up table. The state estimator estimates the states of the drive train. The input estimator which is a PI controller estimates the aerodynamic torque which is fed to the state estimator.
Estimates of the rotor speed, the pitch angle from the state estimator and the aerodynamic torque are used as input to the look-up table to calculate the effective wind speed. The block diagram of the effective wind speed estimator is shown in Figure 3. We assume a bound on the estimation error of the EWS denoted by e v w . Figure 4 shows the interval approximation of the aerodynamic torque using EWS estimation and its real value for the time period from 400 s to 900 s.  The overall algorithm for fault detection is given in Table 5. To avoid computational complexity, at each step k, X p (k + 1) can be over approximated by a bounding set denoted by X p (k + 1). Table 5. State space set-membership fault detection.

Implementation Using Zonotopes
To perform the set computations in Algorithm 2, a specific set representation must be used. To deal with the underlying computational geometry required by the algorithm, different representation of these sets are used. These representations include ellipsoids, polyhedrons, parallelotopes, intervals, or zonotopes, see [36] and references therein. The representation must be efficient with respect to the set operations required in the algorithm. These operations are affine transformation, Minkowski sum, and intersection. The benefit of using ellipsoidal sets is their simplicity, but they are not closed under Minkowski sum and intersection. Polytopes are closed under Minkowski sum and intersection. When uncertainty is included, which is the case in this paper, convex hull computation is also necessary. Polytopes are also closed under convex hull computation and they provide accurate results but they suffer from high computational complexity. Minkowski sum and convex hull computation for polytopes are in general restricted to systems with a maximum of 4-6 states. Zonotopes are closed under affine transformation and Minkowski sum and they offer low time and memory complexity. When uncertainty is included, we propose using zonotope matrices which eliminates the need for convex hull computation. For a system with dimension n, computational complexity is O(n 3 ) for linear transformation of a zonotope and is O(n) for the Minkowski sum of two zonotopes. For intersection, we use a computationally efficient method that over-approximates the intersection of the output consistent set with the prediction set by a zonotope. As a result, all operations are performed with a low computational complexity. In the following, after introducing zonotopes, we explain the implementation of Algorithm 2, using zonotopes.
Zonotopes are a special class of convex polytopes. A zonotope of order m in R n is an affine image of a m−dimensional unitary box B m in R n . Given the vector p ∈ R n , and the matrix H ∈ R n×m , then the set is a zonotope which is the affine image of B m defined by p, H. Here, p is the center of zonotope. A zonotope can also be considered as the Minkowski sum of a finite number of line segments. In this case the zonotope is represented by: here, c is the center of zonotope and g i 's are called generators. Therefore, the zonotope Z = p ⊕ HB m is actually the Minkowski sum of the line segments defined by columns of H centered on p. The operations required to implement the Algorithm 2 are the following: • Minkowski sum of two zonotopes • Linear mapping of a zonotope • Calculating the intersection of a strip and a zonotope

Minkowski Sum of Two Zonotopes
To calculate Minkowski sum of two zonotopes we use the following property.
Property 1 Given two zonotopes Z 1 = p 1 + H 1 B m 1 and Z 2 = p 2 + H 2 B m 2 , then the Minkowski sum of them is also a zonotope and we have: In other words, the Minkowski sum of two zonotopes is obtained by addition of their centers and concatenation of their generators. This shows the simplicity of this operation on zonotopes.

Linear Mapping of a Zonotope
The following property is used to find a linear image of a zonotope.
Property 2 Given a zonotope Z = p + HB m and a linear map L, the image of Z by L is a zonotope given by:

Computing the Intersection of a Zonotope and a Strip
In step 3.4 the intersection of consistent states with the measurement and the prediction set must be computed. The set of consistent states with the measurement, X y (k), is actually the intersection of q strips where q is the number of rows of the output matrix C. Given a measurement y(k), the set of states that are consistent with it is given by: which is the intersection of q strips: where X y i (k) is the strip that contains the set of states consistent with the ith component of the measurement y i (k), which is: where c i is the ith row of C and v i shows the ith element of v. Therefore, Therefore, to calculate X y (k) ∩ X p (k), we need sequential calculation of intersection of a zonotope and a strip such that at each time the intersection is over-approximated by a zonotope. This is because intersection of a zonotope and a strip is not necessarily a zonotope. In the following we explain how we can perform this over-approximation. But, before computing the intersection X y (k) and X p (k), we need to check if they intersect.
Checking consistency of a zonotope and a strip: To check if a zonotope and a strip intersect we use the following definition.
Definition 1 [37] Given a zonotope Z = p ⊕ HB m and a strip S = {x ∈ R n ||cx − d|σ }, the zonotope support strip is defined by where q u and q d are defined as: which are calculated by: where . 1 is the 1-norm of a vector. Then, S ∩ Z = / 0 if and only if: Intersection of a zonotope and a strip: Given a zonotope and a strip, the following property gives a family of zonotopes parameterized by the vector λ that over-approximates the intersection of the zonotope and the strip.
Property 3 [36] Given the zonotope Z = p ⊕ HB r ⊂ R n , the strip S = {x ∈ R n ||cx − d| ≤ σ } and the vector λ ∈ R n . Define:p The above over-approximation might not be a tight approximation. To find a tight over-approximation, λ must be chosen such that an approximation criterion is minimized. In [36] two approaches are proposed. In the first approach the segments of zonotopes are minimized by means of minimizing the Frobenius norm ofĤ(λ ). The λ that minimizes the Frobenius norm ofĤ(λ ) is given by: The advantage of this approach is its computational simplicity. If a more accurate result is required, a possible solution is to choose the λ that minimizes the volume of the intersection [36]. However, this requires solving a convex optimization problem at each iteration, which results in more computational complexity. In our simulations we have used the segment minimization approach.

Adding Uncertainty
Two kinds of uncertainties are considered in this work. Uncertainties on the look-up table of the torque coefficient and parametric uncertainties on the system matrices. The former can be handled very easily as explained before, and in the following we will explain how to deal with the latter. There are several methods to represent parametric uncertainties on system matrices, including the use of matrix polytopes. The problem with matrix polytopes is that the multiplication of a matrix polytope and a zonotope is no longer a zonotope. Also, over-approximating a polytope with a zonotope is computationally demanding [38]. In this work we propose using matrix zonotopes. The advantage of using matrix zonotopes is that the multiplication of a matrix zonotope and a zonotope is a zonotope.
A matrix zonotope is defined by: The above matrix zonotope is also denoted by the tuple (A 0 , A 1 , · · · , A k ). The matrix A 0 is called the matrix center and the other matrices are called matrix generators.

Property 4 Given a matrix zonotope A
, ≤ x i ≤ 1, A i ∈ R n×n } and a zonotope Z = p ⊕ HB m , their product is over-approximated by: Zonotope order reduction: The proposed algorithm at each iteration includes adding zonotopes, finding the intersection of a zonotope and a strip, and multiplication of a matrix zonotope and a zonotope in the case of parametric uncertainties. Each of these operations adds to the order of the zonotope that must be stored. As a result, the order of the zonotope would increase in each iteration, which results in more computational complexity and more allocated memory. To avoid the order expansion, we limit the order of the zonotope by over-approximating it with a lower order zonotope. The following property is used for this purpose.
Property 5 [36]Given the Zonotope Z = p + HB m ⊂ R n , and the integer s, where n < s < r, assuming thatĤ is the matrix resulting by reordering the columns of the matrix H in decreasing Euclidean norm, i.e.,: Then Z ⊆ p ⊕ Ĥ T Q B s , whereĤ T is a matrix that consists of the first s − n columns of the matrixĤ and Q ∈ R n×n is a diagonal matrix that satisfies:

Simulation Results
This section gives the simulation results of the proposed algorithm for fault detection of the benchmark without uncertainty. A sampling time of 0.01 s is chosen. The continuous model of the system is discretized using the zero order hold discretization method. The proposed algorithm assumes that noise is unknown but bounded, but in the Simulink model of the benchmark, sensor noises are Gaussian and hence theoretically unbounded. It is known that for a Gaussian noise, if one chooses −6σ and 6σ band, the noise will be in the band with the probability of 99.99%. Here, we use ±10σ for the bound on the noise in our algorithm. The algorithm is implemented using zonotopes and the order of zonotopes is limited to 1000. First we present the simulation result using nominal parameters.  This fault is a fixed value fault for the rotor speed sensor 1. Due to high level of noise on this measurement, a filtered version of this measurement is used. Fault 4 is detected in 5 samples. Figure 7 shows the result of fault detection.   Fault 5 is a gain factor on the rotor speed sensor 1 and generator speed sensor 2 such that ω r,m 2 = 1.1ω r,m 2 , ω g,m 1 = 0.9ω g,m 1 . The fault is detected in 1 sample time. The result can be seen in Figure 8. Fault 6 is hydraulic pressure drop in actuator 2. The pressure drop is modeled as abrupt change of parameters of the pitch systems from ω n , ξ to ω n2 , ξ 2 . Detection of this fault is not possible until there is some big enough change in the pitch reference signal which is zero for about 50 seconds after fault occurrence. The fault is detected at 2951.69 s. This result is improved using auxiliary excitation signal as it is explained in the next subsection. The results are summarized in Table 6, where T f is the occurrence time and T D is the detection time of a fault.

Improving Detection Time Using Auxiliary Signal Excitation
As explained, due to high level of noise and low excitation, some of the faults such as fault 6 and fault 2 are detected with a long delay. A solution to this problem is to use an auxiliary signal which is added to the original reference signal to excite the system periodically when the excitation is close to zero, such that the performance of the fault detection algorithm is increased. Here, we use an auxiliary signal to excite the pitch system by adding it to the pitch reference. For this purpose, a sinusoidal signal of the form β aux = 5sin(15t) + 3 is used. This improves the result of fault detection as summarized in Table 7. As a result of using the auxiliary excitation signal, the detection time of faults 2, 6 and 7 is decreased. Two kinds of uncertainties are considered in the model, i.e., uncertainties on the torque coefficient look-up table and on the system matrices. Uncertainties on the system matrices are modeled using a zonotope matrix of the form: where ∆ denotes the level of uncertainty and A 0 , B 0 are the system matrices with nominal parameters. Uncertainties on C q are modeled by: Table 8 shows the result of fault detection algorithm considering 2%, 5%, and 10% system uncertainty and 5%, 10% of uncertainty on the C q table. The symbol ND means that a fault is not detected. As it can be seen, when the level of uncertainty is increased, some faults such as fault No. 2 and 5 remain hidden and cannot be detected. This is because for the corresponding fault, the set of states consistent with the output of the faulty system is consistent with the prediction set based on the model of the fault-free system. Also, the detection time increases as uncertainty increases, as it is expected. T f T D T D T D (∆ = 2%, δ C q = 5%) (∆ = 5%, δ C q = 10%) (∆ = 10%, δ C q = 10%)

Computational Complexity
Using zonotopes results in a computationally efficient method since zonotopes are efficient with respect to the set operations that are required in the algorithm. Minkowski sum of two zonotopes is simply concatenating the generators and addition of the centers. For a system with dimension n, computational complexity for the Minkowski sum of two zonotopes is O(n). Linear transformation of a zonotope requires linear transformation of the center and its generators. The computational complexity of linear transformation of a zonotope is O(n 3 ). For intersection, we have used the segment minimization method explained in Section 4.
To evaluate the computational complexity of the algorithm, we simulated the algorithm using Matlab R2010b on a system with 2 GB RAM, Intel R core i7 CPU, which runs windows 7. Since our code was not optimized for parallel processing, we set the maximum number of computational threads to be 1. Therefore, only one of the cores is used. The average processing time required for a sample is 0.0451 s. This shows that by using a faster language like C/C + +, an optimized code, and a dedicated processor, it is feasible to run the code in real-time on a wind turbine. Note that another option is to decrease the sampling frequency. In the benchmark a sampling frequency of 100 Hz is used, but in a real application usually a lower sampling rate is chosen. For example, if SCADA data are used, the sampling rate is usually much lower than 100 Hz [39].

Conclusions
A method for fault detection of a benchmark wind turbine which includes sensor, actuator and system faults is proposed. The method is based on the state space set-membership consistency test. Instead of using wind speed measurement, we use effective wind speed estimation and then using interval analysis, the aerodynamic torque which is nonlinear is over-approximated by an interval. Using zonotopes and zonotopes matrices, we propose a computationally efficient algorithm that considers uncertainties on the system matrices and look-up table of the torque coefficient. The advantage of the method is its simplicity of tuning. Unlike residual signal based methods where designing a residual signal is a challenging task, in this method only an upper bound on the noise and uncertainty is required. Another advantage is that by using a realistic bound, no positive false alarm is produced. The simulation results demonstrate the effectiveness of the method for fault detection of the wind turbine without and with uncertainties.