Wind Turbine System Identification: Final Report
Wind Turbine System Identification: Final Report
Wind Turbine System Identification: Final Report
MAE 566
Currently systems and dynamics research is ongoing in modeling and identification primarily for controller
design, state estimation and fault detection/diagnosis. With accurate and precise system model identification,
no aspect from controls to fault detection should have to employ unreasonable architectures/strategies to lower
production cost and to expand the operational life of the turbine [6,7 ].
Goals
The goals of this semester project are to:
o Used ERA to investigate/estimate model order (degree) and State Space Model
o Compare Power Curves of identified model and Manufactures specifications
o Estimated/predicted output power based on wind speed input (ARX and ARMAX)
o Identify a SkyStream3.7 Wind turbine
o Used Optimal Filtering (Kalman Filter) for improved state prediction
RPM and kW
Wind Turbine System Model
Individual wind turbine components by themselves are
quite complex far more the whole system itself. A total
“system model” consists of the following: Wind, Rotor,
Gear Box, and Electrical Generator, all with various
parameters and dynamics which describe the system, see
Figure 1.
Figure 2 Figure 3
Gear Box: Transmission. Device or mechanism for transmitting the power of the rotor to that of the load,
most commonly used for converting the low speed of the main shaft to the high speed required by a generator
[3]. Simple Fix speed to Variable Speed gear selections are the two main types with the latter optimized for
higher energy yields, lower component stress, and fewer grid connection power peaks. A generalized schematic
of a typical wind turbine gearbox is shown in Figure 4.
Electrical Generator: Creates the electrical power from the torque of rotor, see Figure 5 Advances in
circuits/electronics and materials enhances consistent power output. Many wind turbines produced use
Asynchronous AC generators (alternators) for their simple construction, starting speeds and torque
characteristics [5].
[4] http://
www.nrel.gov/docs/fy07osti/4154
8.pdf
[5] http://
www.windmission.dk/workshop/
BonusTurbine.pdf
Physical Models:
Black – Nothing is Figure 4
assumed
Grey – Some dynamics and model orders are understood
White – Complete with all equations and parameters must be Figure 5
identified or matched closely
Figure 6
For our wind turbine model we assume all “black boxes” for relationships set forth for identification. Basic
properties are provided through the manufactures produced brochures, but detailed parameters such as inertia
are not available for use.
We will perform system identification of two types, specifically the Vestas V82-1.65 MW and SkyStream3.7
models. Where the Vestas is a Large Type and the SkyStream is a Household Type, despite the various types
these two turbines currently have accessible data logs.
Actual Data
Figure 7
Figure 8
Model
ARX model:
,
,
Linear Programming
We can approach our problem with linear programming concepts. Although, the actual problem might be of
non-linear form, it is possible to simplify a nonlinear optimization problem by linearization and then solving it
using Linear programming techniques.
We can take next predicted output as a function of previous outputs and inputs as we did in ARX. However,
here we will use MALLAB ‘linprog’ command to minimize the error of predication by posing it as optimization
problem.
Considering the discrete ARX series
The objective is to minimize error Where is the measured output signal. The problem can be
posed as linear programming problem as follows
For all K.
For our problem f become a row vector with all the terms as zero except last term that is the term for our cost
function ‘t’.
And
Combining equation (2) and (3) for multiple record data, we get our A and b matrix for linprog.
Now we examine singular values of block Hankel Matrix H0. Only relatively large values are due to true modes
of the system. The relatively small singular values may be ignored as they contain more noise information than
system information.
With the information on order of the system we can now proceed for power predication. To find minimum order
realization [ , we use H(0) and shifted block Hankel matrix H(1)
Note (1): ERA/DC Even at this stage we want to get rid of any noise in Markov parameters to have better
examination of singular values. Data correlation technique is again used. If noise in the Markov Parameters are
not correlated, the correlation matrix H0*H0’ will contain less noise than the Hankel matrix H0. Hence, we
examine singular values of H0*H0’ in order to observe any noise reduction of the states.
Note (2): Modal Amplitude Coherence (MAC) This method is a check for the identified State-Space Model to
see if it will reproduce the pulse response data. If the value is 1 for the MAC then the identified model can be
used for the system, which is just a different state transformation.
1>= >=0
The coherence is unity with negligible noise. On the other hand if noise is not negligible but is
uncorrelated wit the input signal, the coherence function is zero.
It is worth noting that any leakage problem in FRF due to improper periodicity of the input/ output data
will contribute to poor coherence. The leakage problem can be solved by windowing the input/output
data. We used Hamming window for our analysis.
With an identified system model the Kalman Filter is used to enhance system state prediction. Since it is an
Optimal State Estimator which handles noise measurement and inaccurate system models we will look for any
improvements over ARX and ARMAX output predictions. The overall flow of the algorithm is as follows:
Results (SkyStream3.7)
ERA
Hankel Matrix System Order Reduction
0.9
0.8
0.7
Normalized σ (i)
0.6
0.5
0.4
0.3
0.2
0.1
0
0 2 4 6 8 10 12 14 16 18 20
Figure 9
Decomposition of H(0) reveals four dominating σi in Figure 9. From 5th to 20th singular values (σi ≈ σ5 … σ20)
are relatively small and are omitted. Hence the order of the system (wind speed input and power output) is taken
as n = 4. Further results in the Kalman Filter Results Section will use ERA to discover intermediate
relationships within the wind turbine.
DFT and Coherence Function
0.9
0.8
0.7
0.6
0.5
0.4
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5
Frequency
Figure 10
0.9
0.8
0.7
0.6
0.5
0.4
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5
Figure 11
It is clear from Figures 10 & 11 that windowing helps to improve coherence by reducing the leakage
problem. This problem might be there due to the lack of periodicity in the input and output signals.
ARX and ARMAX
Power Curve Investigation
2000 X: 10
1500
1000
500 X: 5
Y: 270.9
X: 3
Y: 29.07
0
2 4 6 8 10 12 14 16 18 20 22
Wind Speed (m/s)
Figure 12
From Figure 12 the plot of Power Vs. Wind speed, it is clear we have much less power contribution for power
generation from wind speed less than 3 m/s. This gives motivation to solve for different parameter sets for
different wind speed range.
0.27436706116393
0.21191000048309
0.14685638790042
7.26211367238954
-0.37655912755919
-1.51050438089302
-2.11611181449937
“u_in” and “y_out” are the preprocessed input (wind speed) and output (power) vectors.
Prediction of y (k ) and Variable Wind Speed Prediction (High and Low)
One step ahead predication by parameter solved with low speed range data gives poor prediction, as we can see
from the graph below in Figure 13.
350
300
250
Watts
200
150
100
50
0
0 5 10 15 20 25 30 35 40 45 50
Time(min)
Figure 13
This implies that low speed range data is now able to capture systems’ dynamics.
However, if we perform one step ahead prediction with parameters solved with high speed range data we get
much better prediction, see Figure 14.
350
300
250
Watts
200
150
100
50
-50
0 5 10 15 20 25 30 35 40 45 50
Time(min)
Figure 14
Identification of Watts of Wind Turbine: ARMAX
450
Identified Watts
400 Actual Watts
350
300
Watts 250
200
150
100
50
-50
0 5 10 15 20 25 30 35 40 45 50
Time(min)
Figure 15
In Figure 15, ARMAX prediction reduces the maximum peak error for the power output, which is expected
since we are considering errors with in the wind turbine system.
Kalman Filter
State Estimation of Identified Discrete-Time Model (Wind speed Input-RPM Output)
30 140
Magnitude (dB)
20 120
10 100
Amplitude
0 80
0
60
Phase (deg)
40
-45
20
-90 0
-1 0 1 2 0 0.5 1 1.5
10 10 10 10
Time (sec)
Frequency (rad/sec)
Figure 16
Figure 16 show a stable system for the Wind speed – RPM relationship identified by the ERA. Considering the
turbine rotor is slowing the air mass flow from higher velocity to a lower this relationship is valid.
RPM vs. Time
250
200
150
RPM (rev/min)
100
50
-50
2100 2120 2140 2160 2180 2200 2220 2240 2260 2280 2300
Time (mins)
Figure 17
Simulating the realized State-Space model reveal accurate identification for the same wind speed input, see
Figure above. Below we see in Figure 18, using the Kalman Filter and a separate dataset for input-output
validates the estimated model, and it can be used as representation of this intermediate relationship.
300 350
250 300
200 250
RPM (rev/min)
150 200
100 150
50 100
0 50
-50 0
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2 0 500 1000 1500
Time (mins) 4 time (min)
x 10
Figure 18
Errors and 3σ Bounds vs. Time
1
0.8
0.6
0.4
-0.2
-0.4
-0.6
-0.8
-1
0 2000 4000 6000 8000 10000 12000 14000 16000 18000 20000
Time (mins)
Figure 19
In Figure 19, 1st Order System shows low error covariance prediction because of 1st dominant mode and 1%
standard deviation for rpm measurement error from our sensor assumptions.
State Estimation of Identified Discrete-Time Model (Wind Speed Input – Power Output)
Power Output (Watts) vs. Time Power Output (Watts) vs. Time
State-Space ID with March 2009 and Oct 2008 Validation State-Space ID with March 2009 and Oct 2008 Validation
350 160
300 140
120
250
Power Output (Watts)
100
200
80
150
60
100
40
50
20
0 0
-50 -20
0 2000 4000 6000 8000 10000 12000 1800 1820 1840 1860 1880 1900 1920 1940 1960 1980 2000
Time (mins) Time (mins)
Figure 20
Errors and 3σ Bounds vs. Time
80
60
40
-20
-40
-60
-80
0 2000 4000 6000 8000 10000
Time (mins)
Figure 21
Figure 20 & 21 plots the result for a 4th Order system identified by ERA with its estimated states for power
output. Specifically in the left plot of Figure 20 we note the prediction is close but not exact due to the higher
order effects of 4th Order model. Also the estimated errors for power prediction will be within +20 Watts, a
reasonable error for a 2.4 kW rated system, see Figure 21.
0.8
MAC Value
0.6
0.4
0.2
0
1 2 3 4
Eigenvalue Index i
Figure 22
Figure 22 plots the MAC for the identified State-Space Model and validates that our model can reproduce the
pulse response data justifying our choice for n=4 states. Which does not mean no other models can be found for
the wind turbine, just the system is satisfactory for prediction.
Coherence between Identified States With Kalman Filter
1
0.95
0.9
0.85
0.8
0.75
0.7
0.65
0.6
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45
ω
Figure 23
If we check coherence function with identified states from Kalman Filter, we can see that the noise level has
gone down. Since coherence is close to 1 we have negligible noise in the identified states, see Figure 23.
1000
(Σxi p) 1/p
500
0
1 2 3 4 5 6 7 8 9 10
p
Figure 24
Clearly in Figure 24, we see ARMAX, modeling error as moving average of white noise, gives little better
performance than only ARX.
ARX and Linear Programming
350 350
300 300
250 250
Watts
Watts
200 200
150 150
100 100
50 50
0 0
-50 -50
0 5 10 15 20 25 30 35 40 45 50 0 5 10 15 20 25 30 35 40 45 50
Time minute Time(minute)
Figure 25
We have little improvement by the method of linear programming, which is visible between 10 and 15 min in
Figure 25. We can as well visualize by plot plotting p-norms of error form two methods from. Clearly, ARX
error norm is always greater than Linear Programming error norm, seen in Figure 26.
Comparision of P norms between error vectors
identified by ARX and Linear Programming
1500
ARX
Linear Programming
1000
(Σxi p) 1/p
500
0
1 2 3 4 5 6 7 8 9 10
p
Figure 26
Conclusions
We initial used ERA to investigate model order (degree) then estimated/predicted output power based on wind
speed input (ARX, ARMAX and Linear Programming). Next we identified SkyStream wind turbine considering
4° - 6° models and used Optimal Filtering (Kalman Filter) for improved state prediction RPM and kW. Given a
black box for the wind turbine system the overall results are provide a good description and prediction for a
SkyStream Wind Turbine. If actual inertial properties were available identification for physical parameters
would be then next step for the future goals.
References
Books
1. Chi-Tsong. C., Linear System Theory and Design 3rd Ed, Oxford University Press, 1998.
2. Eldridge, F.R., Wind Machines, Van Nostrand Reinhold Company, New York, 1980.
3. Gipe, P., Wind Power, Chelsea Green Publishing Company, Vermont, 2004.
4. Juang, J., Applied System Identification, Prentice Hall PTR, New Jersey, 1994.
5. Rizzoni, R., Principles and Applications of Electrical Engineering 3rd Ed, Mc Graw Hill, Boston, 2000.
Journal Articles
6. Bonger, P.M.M., Experimental Validation of a Flexible Wind Turbine Model, IEEE, Proceedings of the
30th Conf. on Decision and Control, England, 1991.
7. Novak, P., Modeling and Identification of Drive-System Dynamics in a Variable-Speed Wind Turbine,
IEEE, 1994.
8. Yang, W., Wind Turbine Condition Monitoring and Fault Diagnosis Using both Mechanical and
Electrical Signatures, IEEE, International Conference on Advance Intelligent Mechtronics, China, July
2008.
Appendix
Matlab Codes