Linear Model
This post-processing calculation converts the output of a model linearisation calculation into a state-space model, in a form which is suitable for controller design and is directly compatible with Matlab
data format. A state-space model has the following form:
where \(\bvector{u}\) is a vector of inputs, \(\bvector{x}\) is a vector of system states, and \(\bvector{y}\) is a vector of outputs. \(\bmatrix{A}\), \(\bmatrix{B}\), \(\bmatrix{C}\) and \(\bmatrix{D}\) are the state-space matrices.
First click Select…
to define which variables from the model linearisation results are required as model outputs \bvector. The model states will depend on the dynamics which were selected in the turbine model for that calculation, and the inputs will include wind speed, pitch angle demand and generator torque demand. The state-space matrix coefficients are calculated as the slope of a best fit line through a number of points generated by perturbations of different sizes away from the steady state condition.
The Minimum acceptable correlation coefficient
defines whether a best fit will be accepted or not. If the correlation is poorer than this, that particular matrix coefficient is set to zero. A value of 0.5 – 0.8 is generally suitable.
Two output files are created in the selected output directory, using the selected RunName and the following file extensions:
RunName.mat
: This is a ‘.mat’ file suitable for reading directly intoMatlab
, andRunName.$m2
: This is an ASCII text file, also suitable for reading into Excel, containing the same information.
Each file contains the four state-space matrices for each operating point, and also wind speeds and rotor azimuths defining the operating points. There are also vectors containing the steady state values of all inputs, states and outputs at each operating point, as well as some additional information which may be of use in controller design such as the gearbox ratio, number of blades, and nominal speed and torque values.
In the .mat
file, the variable names used are fairly self-explanatory, except that the state-space matrices and the names of the inputs, states and outputs are all stored in a structure called SYSTURB. The elements of SYSTURB are:
inputname
: The names of the input variables (character array)outputname
: The names of the output variables (character array)statename
: The names of the state variables (character array)
\(\bmatrix{A}\), \(\bmatrix{B}\), \(\bmatrix{C}\), \(\bmatrix{D}\) Arrays of the state-space matrices for the different operating points; thus \(\bmatrix{A}(i,j,k,l)\) is the \(i\),$j$th element of the A matrix (otherwise expressed as row \(i\), column \(j\)), for the $k$th wind speed and the $l$th rotor azimuth angle.
This structure can readily be converted to a Matlab linear time-invariant (LTI) model array using the single Matlab command:
SYS = ss (SYSTURB.A, SYSTURB.B, SYSTURB.C, SYSTURB.D,
> 'inputname', cellstr(SYSTURB.inputname),
> 'outputname', cellstr(SYSTURB.outputname),
> 'statename', cellstr(SYSTURB.statename));
Diagnostic Plots
Diagnostic plots may be generated for all matrix coefficients, or for all matrix coefficients whose correlation coefficients fall within a specified range of values.
Note
Diagnostic plots cause a much slower calculation, and may generate very large numbers of plot files.
The plots are stored as enhanced metafiles in the selected run output directory, with the following naming convention "[RunName][M][W]Az[A][row][col][?][cc].emf".
where:
[RunName] is the run name selected for the Linear Model calculation,
[M] is the state-space matrix: A, B, C or D the plot refers to,
[W] the operating point wind speed,
[A] the rotor azimuth angle
[row], [col] which particular coefficient of the matrix the plot refers to,
[?] takes the value "OK" for a coefficient which was accepted, "X" for one which was rejected, and
[cc] the correlation coefficient obtained for the best fit line.
Last updated 30-08-2024