Sensorless Active and Reactive Control for DFIG Wind Turbines Using Opposition-Based Learning Technique

: In this paper, a wind speed sensorless control method for doubly-fed induction generator (DFIG) control in wind energy systems is proposed. This method is based on using opposition-based learning (OBL) in optimizing the parameters of the support vector regression (SVR) algorithm. These parameters are tuned by applying particle swarm optimization (PSO) method. As a general rule, wind speed measurements are usually done using an anemometer. The measured wind speed by the anemometer is taken at the level of the blades. In a high-power wind turbine, the blade diameter is very large which makes the measurement of the wind speed at a single point inaccurate. Moreover, using anemometers also increases the maintenance cost, complexity and the system cost. Therefore, estimating the wind speed in variable speed wind power systems gives a precise amount of wind speed which is then used in the generator control. The proposed method uses the generator characteristics in mapping a relationship between the generated power, rotational speed and wind speed. This process is carried on o ﬀ -line and the relationship is then used online to deduce the wind speed based on the obtained relationship. Using OBL with PSO-SVR to tune the SVR parameters accelerates the process to get the optimum parameters in di ﬀ erent wind speeds.


Introduction
Recently, the wind energy generation field, which has been in the spotlight all over the world among the renewable energy fields, is an eco-friendly power generation system research field that produces electricity by using physical energy by the wind. In response to the depletion of fossil fuels and growing interest in environmental pollution, the size of the renewable energy market, comprising wind energy, has increased rapidly over the past two decades to keep pace with eco-friendly technological developments. According to a recent report of the World Wind Energy Association (WWEA) 2018 [1], the total wind energy capacity of the world increased to 547 GW, 11% higher than the last year, indicating that the wind energy market continues to increase.
The DFIG system currently adopted by the major wind generator manufacturers in the world, and consists of a back-to-back power converter, a DC-link voltage stage capacitor, and a boost inductor.
The DFIG system has a structure in which the stator of the generator is coupled directly to the grid while the rotor is connected to the back-to-back converter. The DFIG facilitates active and reactive power control and always maintains a constant grid frequency, regardless of the generator speed. Unlike a full converter wind generator system, which has the same capacity as the generator, the DFIG's converter is about 30% of the generator's capacity. These advantages make DFIG the largest type of system currently in the wind turbine market [2].
The intermittent nature of wind speed and the low efficiency of the wind power generation system has increased the need to maximize the output energy of the wind power generation system to make it viable and efficient. Meanwhile, maximum power point tracking (MPPT) methods had progressed too fast in the last two decades with the evolution of power electronic circuits and control. To maximize system efficiency, it is a must to use an algorithm to keep tracking the maximum power condition. The main MPPT approaches can be categorized into two major types, search-based control (SC) [3][4][5][6][7] and tips speed ratio (TSR) [8,9]. In the TSR control method, MPPT control is performed through the speed controller by maintaining the wind speed and each speed measured by the sensor at the optimum main speed ratio. In the SC control method, the generator speed is perturbed with a fixed or variable step until the maximum power point is obtained. The accuracy of the SC methods is high only with the small wind turbines so that the turbine will respond faster to the continuous changes of wind speed. The TSR control method has been used to regulate the small and large wind turbine's rotor speed in spite of the system inertia to overcome the SC control method.
Most of the traditional MPPT algorithms in the wind energy system have been based on the signals obtained from anemometers [3][4][5][6][7][8][9]. On the other hand, MPPT strategies have been implemented recently without the measurement of wind speed [10,11], which are classified into two categories. The one is to use a power equation in the function of power coefficient C p and tip-speed ratio λ to estimate the wind speed. Since the power polynomial may be the seventh order or higher, real-time calculation of the roots of the polynomial results in a time-consuming task. The other method is to apply a look-up table of power-mapping to estimate the wind speed. This method requires a lot of memory space and the estimation speed is slow due to searching the whole look-up table.
To have more efficient control methods, several intelligent control approaches have been proposed such as fuzzy logic control [12], support vector regression (SVR) [13,14], and neural network [15,16], the combination of fuzzy, neural network and particle swarm optimization [17]. To implement the neural network (ANN) method with accurate MPPT, the selection of neurons and layers should be large that makes it consume more time in the training process [18]. The support vector machine (SVM) method has been proposed as a regression method to estimate the wind speed based on the sampling data of wind speed, generator rotating speed and generator power. The considered SVM method has a significant advantage over ANN which is whilst ANNs can suffer from multiple local minima; the solution to an SVM is global and unique. However, using fixed SVM parameters in a wide range and continuous variation of the wind speed in fixed and variable pitch angle results in worse regression. Therefore, it is necessary to use approximate SVR parameters for the wide range wind speed and different pitch angles.
To optimize the selection of these parameters, a Genetic algorithm (GA) or particle swarm optimization (PSO) can be used. However, in the sake of simplicity, high-optimization performance, and fast convergence, PSO has significant merits over the other optimization techniques.
However, by using the PSO-SVR method, the population results have a random manner due to the randomly generated PSO population. Therefore, it is not sufficient to use PSO alone to produce a precise result when it is used to tune the SVR parameters. To overcome this disadvantage, a PSO-SVR method with tunable parameters by using opposition-based learning (OBL) is proposed to accelerate the process of optimizing the SVR parameters at different conditions and gain knowledge about the corresponding global optimum. The proposed OPSO is used to tune the SVR parameters to improve the capacitance estimation capability by comparing the obtained parameters from the SVR training and the parameters obtained from SVR with the opposite parameters. If the SVR with opposite parameters is better, these parameters are then used in the next step until the estimation process is done.
The main idea of using OBL with PSO (OPSO) is to find the optimum SVR parameters at different conditions and gain knowledge about the corresponding global optimum parameters.
The major contributions of this article are clearly expressed as follows:

1.
A robust and simple wind speed estimation algorithm based on OPSO-SVR is developed and assessed. 2.
The technique makes it possible to track the MPPT without the need for an anemometer; instead, the estimated wind speed is utilized to extract the generator maximum power. 3.
The OPSO-SVM method yields more speed and accuracy compared to the normal SVM algorithm.
In this study, the Kernel function in SVR is used to estimate the wind speed based on the sampling data and SVR parameters. The proposed OPSO is used to tune the SVR parameters to improve the wind speed estimation capability. The estimated wind speed is then used to extract the maximum available power. However, the proposed algorithm is validated by the experimental results.

Wind Speed Estimation Using OPSO-SVR
The proposed wind speed estimation algorithm is applied in two steps: Opposition particle swarm optimization (OPSO), and parameter selection for SVM with OPSO. These two steps have been performed on the input data of wind speed, generator rotation speed and generated power. The two phases are discussed in Sections 2.1 and 2.2.

Support Vector Regression
SVM is an alternative learning method for Multi-Layer Perceptron Classifiers, which minimizes structural risks and maps patterns into higher-dimensional feature spaces and provides optimal identification. SVM using statistical learning method minimizes structural errors unlike conventional classification techniques such as Principal Component Analysis (PCA) and neural networks [19][20][21][22]. For this reason, SVM has been successfully implemented in various fields such as prediction, classification, and regression. Support Vector Regression (SVR) has been extended to regression problems by introducing an insensitive loss function to SVM regression models, while SVM has been applied to the prediction of classification problems [23]. The SVM provides an optimal separation plane (hyperplane) to solve the classification problem. The reasons why SVM attracts attention are as follows: First, it is easy to interpret the results because it is based on a clear rationale. Second, it can achieve a high level of accuracy better than the neural networks in practical applications such as classification and regression.
The choice of a subset of functions is an important issue when creating a regression analysis system to construct a regression model based on SVM. It is important to minimize the number of input functions that produce optimum predictions and models with less computationally intensive calculations. The use of a subset of small and appropriate characteristics can facilitate the implementation of regression decisions. The appropriate adjustment for the SVR parameters can improve the regression accuracy. Selecting kernel function, kernel parameters, and the penalty factor are very important factors in the SVR design. Therefore, the proper selection of subsets of functions and the parameter settings of the model have a significant impact on the regression accuracy. The selection of the characteristic subsets affects the appropriate parameters of the kernel, so it is best to obtain the subset of features and the SVR parameters at the same time. As mentioned earlier, SVR is a regression method for predicting an unknown function between the inputs and outputs by using the training data. When the system input/output relationship is obtained in the offline process, a prediction of the output value from the inputs is done in the online process. The input and output data for offline training are given as (x 1 , y 1 ), (x 2 , y 2 ), . . . (x n , y n ) where x i and y i are input and output vectors, and n is the number of training data. The general function of SVR is as follows [24].
Here, w represents the weight vector, b is the bias, Φ is the nonlinear function, and · is the vector dot product. The slack variables (ξ and ξ * ) which minimize the empirical risk are expressed as [25]: where Γ(·) is the cost function, ε is the variance, and C is the penalty factor which controls how much variation is allowed for the training data, and the complexity term of the model ( w 2 ). Slack variable is introduced so that estimation problem can be determined even if training data exists. The optimization solution is expressed by:

Through the introduction of the kernel function, the regression function of Equation (3) is represented by Equation (4)
is the kernel function. The bias term b can be calculated as follows: The radial base function (RBF) is selected to solve the problem as follows: The regression model is obtained based on the offline training stage, which uses the previously collected data, and the learnt SVR model is subsequently fixed during the online estimation phase. The offline process is carried out using MATLAB 2015a software from MathWorks. The long-time model training is done in the offline phase. The training process produces the regression model with the calculated ε, b, and C. The next phase is the online calculation phase; the parameters are read in and the model is built rapidly, and then the measured values (rotating speed and generator power) can be used in the model to quickly determine the wind speed and generator maximum power. However, the wind speed estimation and maximum power determination are very sensitive to the model parameters. A high optimization performance with a fast convergence should be used. OPSO has significant merits in optimizing the SVR parameters, as discussed in the following section.

The O-Particle Swarm Optimization
The PSO algorithm has the disadvantage of being prone to local minimum, but unlike other search algorithms, it can global optimization for large and complex functions like evolutionary operations, and perform better than evolutionary operations [26]. Due to its high speed, it has recently been attracting much attention and has been applied to various fields that are difficult to solve with existing algorithms [24]. The PSO algorithm represents individual potential solutions as particles, and the Sustainability 2020, 12, 3583 5 of 14 number is initially determined by the dimension setting. The swarm is randomly initialized and changed in each reiteration using the standard PSO. Using standard PSO may slow the optimization process. To overcome this problem in the standard PSO, the initialization and of the swarm is done relying on opposite numbers while the updating of the velocity and position components are obtained by using standard and opposition PSO formulas.
For a D-dimensional search space, suppose the number of population particles is N, and the location vector and speed vector of the i th d-dimensional particle are expressed as respectively. Among them Each particle knows its best local location P t i,Best and its group optimal or best global solution G t Best . Each particle updates its location according to (6) and (7): where ω is the inertial weight, c 1 and c 2 represent learning coefficients, and r 1 and r 2 are uniformly distributed random numbers between (0,1). c 1 and c 2 are used to set as [27]: The opposition-based population initialization technique is shown in the flowchart in Figure 1 which can be used for population initialization instead of random initialization.
Sustainability 2020, 12, x FOR PEER REVIEW 5 of 14 been attracting much attention and has been applied to various fields that are difficult to solve with existing algorithms [24]. The PSO algorithm represents individual potential solutions as particles, and the number is initially determined by the dimension setting. The swarm is randomly initialized and changed in each reiteration using the standard PSO. Using standard PSO may slow the optimization process. To overcome this problem in the standard PSO, the initialization and of the swarm is done relying on opposite numbers while the updating of the velocity and position components are obtained by using standard and opposition PSO formulas. v ; respectively. Among them Each particle knows its best local location t Best i P , and its group optimal or best global solution t Best G . Each particle updates its location according to (6) and (7): where ω is the inertial weight, 1 c and 2 c represent learning coefficients, and and are uniformly distributed random numbers between (0,1).
1 c and 2 c are used to set as [27]: . In this paper,   The turbine power, wind speed, and rotor speed are as a training data and all these samples are collected offline and then used on-line. The turbine power can be expressed as [27]: Sustainability 2020, 12, 3583 6 of 14 During the on-line process, the inputs of the SVR estimator are a combination of the rotor turbine and the corresponding rotor speed ( ω i , p i,j i = 1, . . . 50, j = 1, . . . 50 ) as shown in Figure 2.
Sustainability 2020, 12, x FOR PEER REVIEW 6 of 14 The turbine power, wind speed, and rotor speed are as a training data and all these samples are collected offline and then used on-line. The turbine power can be expressed as [27]:

Control Scheme of DFIG
In order to model the DFIG, the voltage equations on the stator and rotor sides and the equations for the magnetic flux are obtained. The following is a relational expression for voltage, current, magnetic flux and torque. The d-q model of the DFIG power generation system in a synchronous reference frame can be expressed as follows [28][29][30]

Control Scheme of DFIG
In order to model the DFIG, the voltage equations on the stator and rotor sides and the equations for the magnetic flux are obtained. The following is a relational expression for voltage, current, magnetic flux and torque. The d-q model of the DFIG power generation system in a synchronous reference frame can be expressed as follows [28][29][30]: where: The flux of the stator and rotor can be expressed as follows: λ dqs = L s i dqs + L m i dqr (13) λ dqr = L r i dqr + L m i dqs (14) where L s : the stator inductance; L r : the stator inductance; L m : the magnetization inductances.
Therefore, the phase angles of the stator flux and stator flux in the static coordinate system are as follows [31]: In (15), if the stator resistance is neglected, the stator d-axis flux can be written as: By using the stator flux and currents equations, the rotor flux components can be determined as follows [32]: λ qr = σL r i dr (20) where i ms = v qs /(ω e L m ). From Equation (18), it is noticeable that the vector of stator voltage is aligned with the q-axis and leads the stator flux vector by 90 • . Then, the stator voltage is written as: According to Equations (18)- (22), the stator current components can be expressed as: By substituting Equation (18) into Equation (23), we get: The DFIG complete circuit is shown in Figure 3. The grid-side converter and the rotor-side converter are the main parts of the power circuit. The rotor q-axis current component regulates the stator active power while the d-axis rotor current component regulates the stator reactive power.
By substituting Equation (18) (24) The DFIG complete circuit is shown in Figure 3. The grid-side converter and the rotor-side converter are the main parts of the power circuit. The rotor q-axis current component regulates the stator active power while the d-axis rotor current component regulates the stator reactive power. However, the stator active and reactive power can be expressed as: It is noticeable that the stator power components are proportional to both q-axis qr i and d-axis dr i currents; respectively. If the controller is well compensated, the power of the stator can be regulated independently through the rotor current on the same axis. Figure 4 shows the overall control diagram of the RSC. However, the stator active and reactive power can be expressed as: It is noticeable that the stator power components are proportional to both q-axis i qr and d-axis i dr currents; respectively. If the controller is well compensated, the power of the stator can be regulated independently through the rotor current on the same axis. Figure 4 shows the overall control diagram of the RSC. The GSC controls the grid voltage reference vector and controls the reactive power supplied to the system with the DC-link voltage. In general, because the RSC controls the reactive power supplied to the system, the GSC controls the supply reactive power to zero. The grid-side converter GSC and the grid are connected by an L filter. Figure 5 shows the circuit configuration between the GSC and the system. The GSC controls the grid voltage reference vector and controls the reactive power supplied to the system with the DC-link voltage. In general, because the RSC controls the reactive power supplied to the system, the GSC controls the supply reactive power to zero. The grid-side converter GSC and the grid are connected by an L filter. Figure 5 shows the circuit configuration between the GSC and the system. The GSC controls the grid voltage reference vector and controls the reactive power supplied to the system with the DC-link voltage. In general, because the RSC controls the reactive power supplied to the system, the GSC controls the supply reactive power to zero. The grid-side converter GSC and the grid are connected by an L filter. Figure 5 shows the circuit configuration between the GSC and the system.

Experimental Results
In order to demonstrate the proposed control algorithm, the experimental equipment setup was prepared, and an experiment was performed using a 3-kW system. The system consists torquecontrolled induction motor drive is used to simulate the characteristics of a wind turbine, a DSP TMS320C33 control board, DFIG having the specifications shown in Table 1 and 2, and two modules of PWM-controlled IGBT converters to drive the motor and generator. Figure 6 shows the experimental test set up for the designed configuration in a 3-kW system.

Experimental Results
In order to demonstrate the proposed control algorithm, the experimental equipment setup was prepared, and an experiment was performed using a 3-kW system. The system consists torque-controlled induction motor drive is used to simulate the characteristics of a wind turbine, a DSP TMS320C33 control board, DFIG having the specifications shown in Tables A1 and A2, and two modules of PWM-controlled IGBT converters to drive the motor and generator. Figure 6 shows the experimental test set up for the designed configuration in a 3-kW system.    Figure 7a. It is noticeable that the difference between the estimated wind speed and the measured one has a very slight delay due to the execution time. Figure 7b shows the generator rotational speed which is corresponding to the operating maximum power point. Figure 7c shows the output power corresponding to the maximum at the given wind speed.    Figure 7a. It is noticeable that the difference between the estimated wind speed and the measured one has a very slight delay due to the execution time. Figure 7b shows the generator rotational speed which is corresponding to the operating maximum power point. Figure 7c shows the output power corresponding to the maximum at the given wind speed.
pattern is composed of a mean values series of harmonics to emulate the stochastic wind speed characteristics. In this figure, the mean wind speed is 8 m/s and oscillates from 5 to 7 [m/s] as shown in Figure 7a. It is noticeable that the difference between the estimated wind speed and the measured one has a very slight delay due to the execution time. Figure 7b shows the generator rotational speed which is corresponding to the operating maximum power point. Figure 7c shows the output power corresponding to the maximum at the given wind speed.  Another wind speed pattern with higher wind speed is implemented to validate the proposed method as shown in Figure 8. The difference between the estimated and measured wind speed is very small as in the first case where the wind speed is lower than this case as shown in Figure 8a. The Another wind speed pattern with higher wind speed is implemented to validate the proposed method as shown in Figure 8. The difference between the estimated and measured wind speed is very small as in the first case where the wind speed is lower than this case as shown in Figure 8a. The generator speed and power follow the change in the wind speed to extract the maximum power as shown in Figure 8a   In a slower variation of wind speed, the estimation error is almost zero as shown in Figure 9a,b. The estimated and measured value are identical the same with error nearly zero. Figure 9c shows the generator power in the given pattern.
The SVR estimation accuracy is plotted over an extended range of wind speed from 5 to 12 [m/s] In a slower variation of wind speed, the estimation error is almost zero as shown in Figure 9a,b. The estimated and measured value are identical the same with error nearly zero. Figure 9c shows the generator power in the given pattern.  In a slower variation of wind speed, the estimation error is almost zero as shown in Figure 9a,b. The estimated and measured value are identical the same with error nearly zero. Figure 9c shows the generator power in the given pattern.
The SVR estimation accuracy is plotted over an extended range of wind speed from 5 to 12 [m/s] as illustrated in Figure 10. However, the estimation error is less than 3.3% in this case, and the dynamic performance is faster.   The SVR estimation accuracy is plotted over an extended range of wind speed from 5 to 12 [m/s] as illustrated in Figure 10. However, the estimation error is less than 3.3% in this case, and the dynamic performance is faster. A comparison between three different wind speed estimation methods using ANN, SVR and OPSO-SVR is carried out as shown in Table 3. The proposed method showed favorable performance over the other methods. The OPSO-SVR has minimum average absolute error and root-mean-square error as compared with the other methods.

Conclusion
In this paper, a wind speed estimation scheme for wind-driven DFIG was proposed. A new OPSO-SVR algorithm to estimate the wind speed value based on the training data from previous offline training was presented. The proposed method is proposed to overcome the SVR parameter selection. By using OPSO, the optimum SVR parameters optimization can be obtained faster and accurately. The proposed SVR parameter tuning improved the wind speed estimation capability by A comparison between three different wind speed estimation methods using ANN, SVR and OPSO-SVR is carried out as shown in Table 1. The proposed method showed favorable performance over the other methods. The OPSO-SVR has minimum average absolute error and root-mean-square error as compared with the other methods.

Conclusions
In this paper, a wind speed estimation scheme for wind-driven DFIG was proposed. A new OPSO-SVR algorithm to estimate the wind speed value based on the training data from previous off-line training was presented. The proposed method is proposed to overcome the SVR parameter selection. By using OPSO, the optimum SVR parameters optimization can be obtained faster and accurately. The proposed SVR parameter tuning improved the wind speed estimation capability by comparing the obtained parameters from the SVR training and the parameters obtained from SVR with the opposite parameters. If the SVR with opposite parameters is better, these parameters are then used in the next step until the estimation process is done. This approach not only improved the accuracy but reduced the number of iterations also since SVR estimation error severely depends on the tuning of its parameters. Experimental results have been presented that show the excellent performance achieved whether for estimating the wind speed or tracking the maximum power point.