User’s Guide to MBC3 : Multi-Blade 

Coordinate Transformation Code 

for 3-Bladed Wind Turbines 

G.S. Bir 

Technical Report 

NREL/TP-500-44327 

September 2010 
User’s Guide to MBC3 Technical Report : Multi- NREL/TP-500-44327 Blade Coordinate Transformation September 2010 

Code for 3-Bladed Wind Turbines 

G.S. Bir 

Prepared under Task No. WER9.3535 

National Renewable Energy Laboratory

1617 Cole Boulevard, Golden, Colorado 80401-3393 

303-275-3000 • www.nrel.gov 

NREL is a national laboratory of the U.S. Department of Energy 

Office of Energy Efficiency and Renewable Energy 

Operated by the Alliance for Sustainable Energy, LLC 

Contract No. DE-AC36-08-GO28308 
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

NOTICE 

This report was prepared as an account of work sponsored by an agency of the United States government. 

Neither the United States government nor any agency thereof, nor any of their employees, makes any 

warranty, express or implied, or assumes any legal liability or responsibility for the accuracy, completeness, or 

usefulness of any information, apparatus, product, or process disclosed, or represents that its use would not 

infringe privately owned rights. Reference herein to any specific commercial product, process, or service by 

trade name, trademark, manufacturer, or otherwise does not necessarily constitute or imply its endorsement, 

recommendation, or favoring by the United States government or any agency thereof. The views and 

opinions of authors expressed herein do not necessarily state or reflect those of the United States 

government or any agency thereof. 

Available electronically at http://www.osti.gov/bridge 

Available for a processing fee to U.S. Department of Energy 

and its contractors, in paper, from: 

U.S. Department of Energy 

Office of Scientific and Technical Information 

P.O. Box 62 

Oak Ridge, TN 37831-0062 

phone: 865.576.8401 

fax: 865.576.5728 

email: mailto:reports@adonis.osti.gov 

Available for sale to the public, in paper, from: 

U.S. Department of Commerce 

National Technical Information Service 

5285 Port Royal Road 

Springfield, VA 22161 

phone: 800.553.6847 

fax: 703.605.6900 

email: orders@ntis.fedworld.gov 

online ordering: http://www.ntis.gov/ordering.htm 

Printed on paper containing at least 50% wastepaper, including 20% postconsumer waste 
About This Guide 

The dynamics of wind turbine rotor blades are conventionally expressed in rotating 

frames attached to the individual blades. The tower-nacelle subsystem though, sees the 

combined effect of all rotor blades, not the individual blades. Also, the rotor responds as 

a whole to excitations such as aerodynamic gusts, control inputs, and tower-nacelle 

motion—all of which occur in a nonrotating frame. Multi-blade coordinate 

transformation (MBC) helps integrate the dynamics of individual blades and express 

them in a fixed (nonrotating) frame. MBC involves two steps: transforming the rotating 

degrees of freedom and transforming the equations of motion. Reference 1 details the 

MBC operation. This guide summarizes the MBC concept and underlying 

transformations. 

This guide also explains how to use MBC3, a MATLAB-based script we developed to 

perform multi-blade coordinate transformation of system matrices for three-bladed wind 

turbines. In its current form, MBC3 can be applied to system matrices generated by 

FAST.2 The system matrices can have arbitrary—but physically consistent—sizes. These 

matrices can also optionally include control, disturbance, output, and feed-forward 

matrices. In addition, the associated state, control, and disturbance vectors can have states 

that are partly referred to the fixed frame and partly to the rotating frame. A key feature 

of MBC3 is that it can handle variable-speed operation and turbines with dissimilar 

blades. Depending on the analysis objective, users can generate system matrices in either 

the first-order (state-space) form or the second-order (physical-domain) form. MBC3 can 

handle both the first- and second-order system matrices. These matrices in general govern 

the aero-hydro-servo-elastic behavior of a wind turbine. After multi-blade coordinate 

transformation, MBC3 also performs eigenanalysis, and the results are presented in 

different formats to aid modal and stability analysis. MBC3 automatically detects 

whether optional matrices (e.g., control, disturbance, output, and feed-forward matrices) 

are present and performs multi-blade coordinate transformation accordingly. 

Multi-blade coordinate transformation has several applications,3

 but it is essential to 

modal and stability analyses. Commonly, wind turbine researchers first compute the 

periodic state-space matrix, time average it over the rotor rotational period, and then 

apply conventional eigenanalysis to compute modal and stability characteristics. Direct 

averaging, however, eliminates all periodic terms that contribute to system dynamics, 

producing errors. Although averaging itself is not always a bad approach, it must follow 

MBC. Reference 1 contains sample results that illustrate this point. The main advantages 

of MBC are capturing cumulative dynamics of the rotor blades and interaction of the 

rotor with the tower-nacelle subsystem, well-conditioning the system matrices by 

eliminating nonessential periodicity, and performing filtering operation.1 

This guide gives step-by-step instructions on how to load system matrices from FAST to 

MATLAB, how to perform multi-blade coordinate transformation on these matrices, and 

how to interpret the transformed matrices. The guide also describes the inputs to MBC3. 

The script runs quickly (usually in a few seconds). In the future, we will release two 

versions of MBC3, one written in MATLAB and the other in Fortran, with clearly 

i 
defined interfaces. This will allow users to directly integrate MBC3 with FAST or any 

other aeroelastic code. 

Acknowledgments 

Thanks to Sandy Butterfield for motivating the development of MBC3. Thanks also to 

Bonnie Jonkman for her help with writing the code certification script and to Marshall 

Buhl for his help with uploading the MBC files to our Web site. Thanks to Jason 

Jonkman for providing the GetMats.m script that loads FAST output data into the 

MATLAB workspace. DOE supported this work under contract number DE-AC36-08­

GO28308. 

ii 
Document Revision Record 

Revision Date Description 

1.00 Oct.13, 2008 First publication. Supports MBC3 v1.00.00. 

1.10 May 18, Second publication. Supports MBC3 v1.01.00, which includes 

2008 control-specific upgrades and generates descriptions of MBCtransformed states. 

iii 
Table of Contents 

1. Introduction..........................................................................................................................1
 

2. MBC Concept and Associated Transformation................................................................3
 

3. Transformation of System Matrices...................................................................................5
 

3.1 Second-Order System Matrices .......................................................................................5
 

3.2 First-Order System Matrices ..........................................................................................10
 

4. Input Description ...............................................................................................................13
 

5. Executing MBC3 ................................................................................................................16
 

6. Output Description ............................................................................................................18
 

7. Downloading and Verifying MBC-Specific Files ............................................................22
 

8. Future Plans .......................................................................................................................23
 

References...............................................................................................................................24
 

iv 
 1. Introduction 

The dynamics of wind turbine rotor blades are generally expressed in rotating frames 

attached to the individual blades. The tower-nacelle subsystem sees the combined effect 

of all rotor blades, not the individual blades the rotor responds as a whole to

excitations such as aerodynamic gusts, control inputs, and tower-nacelle motion—all of 

which occur in a nonrotating frame. Multi-blade coordinate transformation (MBC) helps 

integrate the dynamics of individual blades and express it in a fixed (nonrotating) frame. 

. Also,

MBC offers several benefits. First, it properly models the dynamic interaction between 

the nonrotating tower-nacelle and the spinning rotor. Second, it offers physical insight 

into rotor dynamics and how the rotor interacts with fixed-system entities such as wind, 

controls, and the tower-nacelle subsystem. Third, MBC filters out all periodic terms 

except those that are integral multiples of ΩN, where Ω is the rotor angular speed and N 

is the number of rotor blades. A wind turbine system is basically a periodic system; 

equations governing its dynamics show periodic parameters that arise because of the 

periodic interaction between the rotating subsystem (rotor) and the nonrotating entities 

(tower, nacelle, wind, controls, and gravity). The blade equations usually contain all 

harmonics. MBC behaves as a filter, allowing the fixed system to feel only specific 

harmonics of blade motion. This filtering action also renders the system equations 

numerically well-conditioned, retaining only those periodic terms that are actually seen in 

a fixed reference frame .3 

MBC is widely used in the helicopter field. Miller4 used it to analyze flap-motion related 

stability and control. Coleman and Feingold5 used it to analyze rotor in-plane motion (lag 

motion); theirs was the first successful attempt to understand the helicopter ground 

resonance problem, which had eluded earlier researchers. These efforts, however, applied 

MBC only in a heuristic fashion. Hohenemser and Yin6 gave the first mathematically 

sound basis. Later, Johnson3 delineated a systematic mathematical basis and presented a 

thorough exposition of MBC. Using this mathematical basis, Bir et al.7 developed a 

numerical MBC approach that could be applied to a general helicopter system governed 

by arbitrary degrees of freedom; they used the approach to analyze the stability and 

response of several helicopters. 

Because MBC offers so many benefits, it is receiving attention in the wind turbine field. 

Bir, Wright, and Butterfield8

 included MBC in a stability analysis scheme and predicted 

an instability caused by coalescence between the rotor in-plane and the tower motions. 

They also showed how MBC gives physical insight into the rotor in-plane motion. In the 

turbine field, Malcolm9

 appears to be the first to derive a mathematical form of the 

turbine equations after applying the MBC. His prime motivation was to relate the inflow 

characteristics with the turbine response and to extract linearized models from general 

aeroelastic codes such as ADAMS.10 McCoy11 extended this effort to obtain linear timeinvariant system equations required in the standard control design approaches. Hansen12 

used MBC for improved modal dynamics to avoid stall-induced vibrations and later 

combined it with an eigenvalue approach to study the aeroelastic stability characteristics 

of a three-bladed turbine.13 Riziotis et al.14 applied MBC to analyze stability of two 

three-bladed turbines: one stall regulated and the other pitch regulated. Bir and Jonkman 

1 
used MBC in conjunction with FAST to study aeroelastic characteristics of a 5 MW 

turbine in both land-based and offshore configurations.15 

All attempts at MBC thus far, in both the helicopter and the wind turbine fields, assume 

that the rotor speed is constant and the rotor blades are similar. A modern wind turbine is 

rarely constant speed. Also, turbines may not have identical blades, structurally or 

aerodynamically. We need an MBC approach that overcomes these limitations. 

This report describes a new MBC scheme that is applicable to a variable-speed turbine, 

which may also have dissimilar blades. The scheme also covers control, disturbance, 

output, and feed-forward matrices, which have been ignored to date. Depending on the 

analysis objective, wind turbine researchers may generate system matrices in either the 

first-order (state-space) form or the second-order (physical-domain) form. We develop 

MBC relations for both these forms. In the literature, MBC is also referred to as the 

Fourier coordinate transformation (FCT) and as the Coleman transformation. 

Although MBC has several applications, it is essential to and mostly used for modal and 

stability analyses and state-space-based controls design. Commonly, wind turbine 

researchers first compute the periodic state-space matrix, time average it over the rotor 

rotational period, and then apply conventional eigenanalysis to compute modal and 

stability characteristics. Averaging, however, eliminates all periodic terms that contribute 

to system dynamics and can yield erroneous results. Although averaging itself is not a 

bad approach, it must follow MBC.1

 Theoretically, a Floquet analysis—not averaging— 

must follow MBC. In normal cases, however, MBC eliminates the dominant periodic 

terms; the remaining periodic terms (Nb/rev, 2Nb/rev,..., etc., for an Nb-bladed turbine) 

usually have a negligible magnitude and, therefore, direct averaging of MBC-transformed 

matrices suffices.1. 

In this guide, Section 2 summarizes the MBC concept and how it relates the blade 

coordinates to rotor coordinates. Section 3 shows how we transform the system matrices 

from rotating to nonrotating (fixed) coordinates, which is the objective of MBC. We 

develop transformation relations for both first- and second-order matrices. Section 4 

describes the inputs required by MBC3, and Section 5 explains how MBC3 is executed. 

Section 6 describes the MBC3-generated outputs; these include MBC-transformed 

system matrices and eigenanalysis results. Section 7 lists the MATLAB scripts required 

for MBC; we also give our Web site for access to these scripts, along with sample I/O 

files. Section 8 summarizes future plans. 

2 
 

 

2. MBC Concept and Associated Transformation 

The turbine equations (i.e., the coupled tower-nacelle-rotor equations) are generally 

derived using mixed degrees of freedom. Some degrees of freedom may be in the rotating 

frame and others in the nonrotating frame. This can be desirable. For example, in some 

simulation studies, we might be interested in studying the tower response in the groundfixed (nonrotating) frame and the blades’ response in their respective rotating frames. 

Often, however, we are interested in understanding the coupled behavior of the towernacelle-rotor system. In such cases, we want to express the full system behavior in a fixed 

frame. MBC helps us achieve this through a rotating-frame to nonrotating-frame 

coordinate transformation. 

Consider a rotor with Nb blades spaced equally around the rotor azimuth. The azimuth 

location of bth blade is given by 

2π 

ψ ψ b =+− (b 1) (1) Nb 

where Ψ is the azimuth of the first (reference) blade (see Figure 1 in which Nb = 3). We 

assume that ψ = 0 implies the first blade is vertically up. 

Let qb be a particular rotating degree of freedom for the bth blade. The MBC is a linear 

transformation that relates the rotating degrees of freedom to new degrees of freedom, 

defined as follows3

: 

ZNR 

1 N 

q = 

b

q 0 b Nb b=1
 

Nb 

ψb 

blade b 

Rotor disk 

G. Bir, NREL 

XNR 

q = 

2 q cos nψ YNR 

nc b b Nb b=1
 (2)

2 N
 

q = 

b

ns q b b sin nψ Nb b=1
 

1 N

b qN = 

b 

qb ( 1) − 2 Nb b=1 

Figure 1. Rotor reference frame 

Mathematically, the new degrees of freedom are the projections of the blade degrees of 

freedom onto the nonrotating (fixed) frame, which is the frame (XNR, YNR, ZNR) shown in 

Figure 1. The axis XNR is directed along the shaft axis, and ZNR lies in the vertical plane. 

In the literature, q q q q are called nonrotating degrees of freedom; we call these 0, nc, ns, Nb / 2 

rotor coordinates because they express the cumulative behavior of all rotor blades (not 

individual blades) in the fixed frame. The physical interpretation of each rotor coordinate 

depends on the degree of freedom to which it refers. For example, if qb is a flap degree of 

3 
 

freedom, then q0 is the rotor coning, q1c is the rotor tip-path-plane fore-aft tilt about an 

axis that is horizontal and normal to the rotor shaft, and q1s is the rotor tip-path-plane 

side-side tilt about an axis that is vertical and normal to the rotor shaft. If qb is a lag 

degree of freedom, then q0 is the rotor collective lag, q1c is the horizontal displacement of 

the rotor center-of-mass in the rotor plane, and q1s is the vertical displacement of the rotor 

center-of-mass in the rotor plane.8

 Other degrees of freedom can be interpreted using 

Equation 2 and drawing supporting sketches. The rotor modes corresponding to qnc and 

qns (n > 1) and q Nb /2 are called reactionless modes because they do not cause any 

transference of moments or forces from the rotor to the hub (fixed frame). The value of n 

goes from 1 to (Nb – 1)/2 if Nb is odd, and from 1 to (Nb – 2)/2 if Nb is even. The qNb/2 

mode, called the differential mode, exists only if the number of blades is even.3 

Most of the wind turbines in the world have three blades. Therefore, we assume Nb = 3 in 

this report. The formulation we developed here for Nb = 3, however, is general and can 

be readily extended for more blades. Setting Nb = 3 in Equation 2, we obtain 

1 3 

q 0 = q 3 b
 

b=1
 

q = q = 

2 

3 

q cosψ (3) c 1c b b 3 b=1
 

q = q = 

2 

3 

s 1s q b b sinψ 3 b=1
 

We call q1c the cosine-cyclic mode and q1s the sine-cyclic mode. These two cyclic modes, 

together with the coning mode, q0, lead to coupling of the rotor with the rest of the 

turbine. Equation 3 determines the rotor coordinates given the blade coordinates. The 

inverse transformation, which yields the blade coordinate given the rotor coordinates, is 

q = q + q cosψ + q sinψ ; b = 1,2,3. (4) b 0 c b s b 

4 
 

3. Transformation of System Matrices 

Most aeroelastic codes generate linear equations in the second-order form and, if required 

(for controls, for example), transform these to a first-order form. We derive MBC 

relations for both the second- and first-order systems. 

3.1 Second-Order System Matrices 

Second-order system equations can be written as 

MX + CX + KX = Fu + Fd w (5a) 

and the associated output equation as 

Y = C X + C X + Du + D w (5b) v d d 

where M, C, K, F, and Fd are the mass, damping, stiffness, control, and disturbance 

matrices, respectively. The u and w are, respectively, the control and disturbance vectors. 

The size of the M, C, and K matrices is n × n, where n is the number of system degrees of 

freedom. The sizes of the u, w, and Y vectors are nc, nw, and no, respectively, where nc is 

the number of control variables, nw is the number of disturbance states, and no is the 

number of outputs. Note that the C matrix contains gyroscopic terms in addition to the 

structural damping terms, even though we designate it as a damping matrix. Similarly, K 

contains centrifugal terms in addition to the structural and aerodynamic stiffness terms. 

Also, each of these matrices contains direct and cross-coupling terms. For example, M 

contains direct blade inertias as well as blade-tower coupling inertias. The formulation 

we develop does not, however, require the user to explicitly partition any of the matrices 

into submatrices delineating direct and cross-coupling terms. The partitioning is implicit 

in the definition of the coordinates vector X (also called the physical vector in the 

literature). Assume that X is expressed as 

X F 

q

1 

1 

q

1 

2 

q3

1 



j q1 


 































 X
 =
 j 

q2 

j q3 



qm 

1 

qm 

2 

qm 

3 

(6) 





































5 
where XF is a nF×1 column vector representing the nF fixed-frame-referenced degrees of 

freedom, qb

j is the j

th rotating degree of freedom for the bth blade, and m is the number of 

rotating degrees of freedom for each blade. The length n of vector X , then equals nF + 

3m, the total number of degrees of freedom for the full system. Most often, aeroelastic 

codes such as FAST assume that the physical vector has the form of Equation 6. If not, 

we can always perform simple rows and columns exchange to transform system 

equations (Equation 5) such that the physical vector X assumes the form of Equation 6. 

Two methods transform Equation 5 to the nonrotating frame: the operational method and 

the substitution method.3

 In the operational method, we apply the following summation 

operators to the rotating-frame equations of motion: 

1 

3

(rot _ eqns) 3 b=1 

2 

3

(rot _ eqns) cosψ b (7) 3 b=1 

2 

3

(rot _ eqns)sinψ b 3 b=1 

where rot_eqns refers to the rotating-frame equations of motion. Note the similarity of 

summation operators in Equations 3 and 7. To accomplish these operations, we first need 

the rot_eqns to be available in an analytical form, explicitly showing all periodic terms. 

The periodic terms involve trigonometric functions of sin(kΨb) and cos(kΨb) terms, 

where k in general can have any integer value, depending on the system. First, we must 

express all products of trigonometric functions as sums of trigonometric functions. Next, 

we must perform cumbersome operations to ensure that the value of each n in these 

trigonometric functions satisfies the requirements of Equation 3. Finally, we use 

transformation (Equation 3) to convert the rot_eqns to the nonrotating frame. The 

operational method is thus quite tedious and applicable only if we have equations of 

motion available in an analytical form. 

All aeroelastic codes generate equations of motion in a numerical form and are therefore 

not amenable to the operational method. We must instead use the substitutional method. 

In this method, we substitute the rotational degrees of freedom with the rotor coordinate 

j j j using Equation 4. If we do this, the three rotational degrees of freedom ( q1 , q2 , q3 ), 

corresponding to the jth degree of freedom for each of the three blades, can be 

j j j transformed to nonrotating coordinates ( q0 , qc , qs ) using the following relation: 

6 
 

 

3 

2 

1 

j j q q 0



  =
 ~

t



  j j 

c q q (8) 
 

j j 


 



q s 



 q 

where 

1 cos ψ ψ


1 

1 

Using Equation 8, the full-system, rotating-frame, degrees-of-freedom vector, X , is 

expressed in terms of the nonrotating-frame, degrees-of-freedom vector, XNR, as follows 

X = T1 X NR (10) 

where T1 is the block diagonal matrix: 











1 sin 1 









~
 t = cos ψ ψ
 sin (9) 
 2 2 

cos ψ ψ
 sin 3 3 

nF nF I × 

~ t 

~ 


 















T1 =
 t (11) 
 



~ t (nF +3m)×(nF +3m) 

and 



 


 















7 
X 

XF 

q

1 

0 

qc 

1 

q

1 

s 



j q0 



































NR =  (12) 
 j qc 

j qs 



qm 

0 

qc

m 

qs

m 





































Taking the first and second time derivatives of the two sides of Equation 10, we obtain 

X   = T X 1 NR + ΩT X2 NR (13) 

X = T X + 2ΩT X + (Ω2

1 NR 2 NR T 3 2 + Ω T )X NR 

where Ω is the rotor angular velocity and Ω is the rotor angular acceleration. The T2 and 

T3 transformation matrices are given by 

0nF nF × 

~ 

2

t ~ t

2 

 
 



























T2 =
 (14) 
 

 ~ t

2 (nF +3m)×(nF +3m) 

0nF nF × 

~ 

3

t 

~ t

3 

 
 



























T3 =
 (15) 
 



~ t

3 (nF +3m)×(nF +3m) 

8 
 

2 

where 

0 − sin ψ ψ
 0 − ψ ψ


0 − 

0 − 

  cos − sin 1 cos 1 1 1  ~
 ~
 t =


















and t3 =


















0 − sin ψ ψ
 cos cosψ ψ
 − sin (16) 2 2 2 2 

0 − sin ψ ψ
 cos cosψ ψ
 − sin 3 3 3 3 

Substituting for X and its time derivatives from Equations 10 and 13 in Equations 5a and 

5b, we obtain the system equations of motion in the nonrotating frame as 

M X + C X + K X = F u + F w (17) NR NR NR NR NR NR NR NR d NR 

and 

NR = C X NR + C X NR + DNRu Y NR + D w (18) v NR  d NR d NR 

The subscript NR identifies the associated quantity to be in the nonrotating frame. The 

various matrices in Equations 17 and 18 are as follows: 

M NR = MT1 

C NR = 2ΩMT 2 1 + CT

K = Ω  2 

NR MT 3 + ΩMT 2 + ΩCT 2 1 + KT

F NR = FT1c 

F = F (19) d NR d 

C = T −1

v C T NR 1o v 1 

C = T −1(ΩC T +C T ) d NR 1o v 2 d 1 

D = T −1

NR 1o DT1c 

D = T −1

d NR 1o d D

Note that the variable-speed operation affects only the stiffness matrix. Also, the 

disturbance matrix stays unchanged because the disturbance w is already in the 

nonrotating frame. If Fc and mc are the number of controls in the fixed and rotating 

frames, respectively, then the control vectors u and uNR are related as follows: 

u = T u (20) 1c NR 

where 

9 
 

 

 

 

IFF  c × c

 

t

  
 

T =  t

  1c     
  t  (F +3m )( × Fc +3m ) c c c 

 (21) 

Similarly, 

Y = T Y (22) 1o NR 

where 

IF Fo o ×   

t

  
 

T =    1o t  
   
  t

  (F +3m )( × F +3m ) o o o o 

 (23) 

and where Fo and mo are the number of outputs in the fixed and rotating frames, 

respectively. Note that Fc+3× mc equals nc, the total number of control variables. 

Similarly, Fo+3 × mo equals no, the total number of disturbance states. In summary, after 

applying MBC, the rotating-frame, second-order equations (Equations 5a and 5b) are 

transformed to the nonrotating-frame equations (Equations 17 and 18). 

3.2 First-Order System Matrices 

First-order system equations are generally expressed as 

z = Az + Bu + Bd w (24) 

where z is the state-space vector. The A, B, and Bd are, respectively, the system dynamics, 

control, and disturbance matrices. The u and w are the control and disturbance vectors, 

which are the same vectors that appear in Equation 5a. The associated output equation is 

Y = Cz + Du + Dd w (25) 

The size of the A matrix is N × N, where N is the number of system states. The sizes of 

the u, w, and Y vectors are nc, nw, and no, respectively, where nc is the number of control 

variables, nw is the number of disturbance states, and no is the number of outputs. From 

10 
this information, we can readily infer the sizes of the remaining matrices (listed in Table 

1). The state-space vector, z, is related to the physical vector, X, as follows: 

z = 






 

X
 

X 







 (26) 
 

Using Equations 26, 8–16, and 20–23, Equations 24 and 25 are transformed to the 

nonrotating frame as follows: 

z = A z + B u + B w (27) NR NR NR NR NR d NR 

and 

Y = C z + D u + D w (28) 
 NR NR NR NR NR d NR 

The subscript NR identifies the associated quantity as being in the nonrotating frame. The 

various matrices in Equations 27 and 28 are as follows: 

−1 T1  











T1 0
 Ω
T2 




 

 (29) 
 0    0  ANR  A
 −




=
 

  

 

 2 −1 Ω
T T3 + Ω 0 T1 2 T1 Ω
 T2 2Ω
T2

−1 T1 0 

B
 BT1C  (30) 

 

=
 NR 0 T1 

−1 

C = T −1

[C T + ΩC T C T1 ]; C = [C C ] (31) NR 10 d 1 v 2 v d v 

D = T −1DT (32) NR 10 1C 

D = T −1D (33) d NR 10 d 

11 
In summary, after applying MBC, the rotating-frame first-order equations (Equations 24 

and 25) are transformed to the nonrotating-frame equations (Equations 27 and 28). Also, 

note that the dynamics matrix, A, is influenced by the variable rotor speed. 

12 
 

 

 

4. Input Description 

MBC3 is a postprocessor for FAST; its inputs come from a FAST output file. Typically, 

for a given wind turbine model, the user first runs FAST with the option to generate statespace matrices. These matrices and other ancillary data are stored in a FAST output file 

named *.lin, where * represents the name (without extension) of the input file the user 

supplies to FAST. For example, if test01.fst is the name of the user input file to FAST 

with an option to generate a linear model, then FAST would generate an output file 

named test01.lin (FAST automatically appends the suffix .lin). This file contains system 

matrices at each of the NΨ azimuth steps; the user specifies NΨ via the parameter NAzimStep 

in the FAST input file. The FAST output file also contains the vector Ψ, which is the 

vector of reference-blade azimuth positions at the NΨ steps. The ψ is the reference 

azimuth position defined in Equation 1. The user loads the *.lin file into MATLAB using 

the GetMats command (see Section 5). The loaded file includes data items that MBC3 

and CCE (discussed in the Section 5) use as inputs. Table 1 lists these inputs and their 

descriptions. 

Table 1. Inputs to MBC3 and CCE 

Input 

Parameter 

Description See 

Equation 

Symbol Size 

NActvDOF Number of degrees of freedom 5a n scalar 

N Number of states 24 N scalar 

NInputs Number of control inputs 34 Nc scalar 

NDisturbs Number of disturbance states 24 nw scalar 

NumOuts Number of outputs 35 No scalar 

NAzimStep Number of azimuth steps at which — NΨ scalar 

system matrices are input 

Azimuth Vector of azimuth positions, in degrees, — Ψ NΨ 

of the reference blade (blade 1) with 

respect to the ZNR axis shown in Figure 1. 

System matrices are input at each of 

these azimuth positions. 

Omega Vector of rotor speeds at specified 19 Ω NΨ 

azimuths (rad/s) 

OmegaDot Vector of rotor accelerations at specified 

azimuths (rad/s2

) 

19 Ω NΨ 

AMat First-order system matrices at NΨ 24 A N×N×NΨ 

azimuth locations 

BMat First-order control matrices at NΨ 24 B N×Nc×NΨ 

azimuth locations 

BdMat First-order disturbance matrices at NΨ 24 Bd N×Nw×NΨ 

azimuth locations 

CMat First-order output matrices associated 25 C No×N×NΨ 

with states at NΨ azimuth locations 

DMat Output matrices associated with controls 5b & 25 D No×Nc×NΨ 

at NΨ azimuth locations (same for firstand second-order systems) 

DdMat Output matrices associated with 5b & 25 Dd No×Nw×NΨ 

disturbances at NΨ azimuth locations 

(same for first- and second-order 

systems) 

13 
 

MassMat Second-order system mass matrices at 5a M n×n×NΨ 

NΨ azimuth locations 

DampMat Second-order system damping matrices 5a C n×n×NΨ 

at NΨ azimuth locations 

StffMat Second-order system stiffness matrices 5a K n×n×NΨ 

at NΨ azimuth locations 

FMat Second-order control matrices at NΨ 5a F n×Nc×NΨ 

azimuth locations 

FdMat Second-order system disturbance 5a Fd n×Nw×NΨ 

matrices 

VelCMat Second-order output matrices associated 5b Cv No× n×NΨ 

with velocities at NΨ azimuth locations 

DspCMat Second-order output matrices associated 5b Cd No×n×NΨ 

with displacements at NΨ azimuth 

locations 

RotTriplet- The i

th row in this matrix identifies the — — m×3 

IndicesStates indices of the i

th rotating-frame degrees of 

freedom associated with blades 1, 2, and 

3 

RotTripletInd- The i

th row in this matrix identifies the — — mc×3 

icesCntrlInpt indices of the i

th rotating-frame control 

associated with blades 1, 2, and 3 

RotTripletIn- The i

th row in this matrix identifies the — — mo×3 

dicesOutput indices of the i

th rotating-frame output 

associated with blades 1, 2, and 3 

xdop Matrix of operating-point state-derivative — — N×NΨ 

vectors at NΨ azimuth locations 

xop Matrix of operating-point state vectors at — — N×NΨ 

NΨ azimuth locations 

qd2op Matrix of operating-point acceleration — — n×NΨ 

vectors at NΨ azimuth locations 

qdop Matrix of operating-point velocity vectors — — n×NΨ 

at NΨ azimuth locations 

qop Matrix of operating-point displacement — — n×NΨ 

vectors at NΨ azimuth locations 

yop Matrix of operating-point output vectors — — N0×NΨ 

at NΨ azimuth locations 

DescStates Description of degrees-of-freedom vector — — n×1 

The first column in Table 1 lists the names of the inputs required by MBC3. The user 

does not explicitly input any of the parameters; these are loaded automatically into 

MATLAB via the command GetMats. The second column gives brief descriptions of the 

input parameters. Entries in the third and fourth columns refer to equation numbers and 

symbols used in this guide for the various parameters. A dash in these columns implies 

that corresponding parameter is not used in the mathematical derivation and, therefore, 

has no associated symbol or equation number. The last column lists the sizes of these 

parameters. The MBC3 code automatically identifies the sizes of the various matrices by 

and checks to ensure compatibility with inputs n and N. As described in Section 4, n 

equals nF + 3m, where nF is the degrees of freedom referenced to the fixed frame and m 

is the number of rotating degrees of freedom for each blade. Nc is the total number of 

control parameters: 

14 
 

 

Nc = Fc + 3mc (34) 

where Fc is number of controls referenced to the fixed frame and mc is the number of 

controls referenced to each rotating-blade frame. No is the total number of outputs: 

No = Fo + 3mo (35) 

where Fo is number of outputs referenced to the fixed frame and mo is the number of 

outputs referenced to each rotating-blade frame. 

The matrix yop is generated by FAST at user request; j

th column in this matrix represents 

the output vector at the j

th azimuth location. This column vector is transformed as 

follows: 

YNR = T1 

− 

o 

1

Y

op (36) 

Note that all inputs to MBC3 (first column of Table 1) must come from the FASTgenerated *.lin output file. In general, however, some inputs to MBC3 may not be 

available in the FAST output file. For example, a user can execute FAST with options to 

generate only first-order matrices and exclude disturbances. In this case, second-order 

matrices as well as disturbance-related matrices (BdMat and DdMat) will not appear in 

the FAST output file. MBC3 automatically detects which optional matrices (e.g., control, 

disturbance, output, and feed-forward matrices) are present and which are not and 

performs multi-blade coordinate transformation accordingly. 

In addition, note that FAST always generates the first-order system matrix, AMat, even if 

the user requests only a second-order system analysis. Therefore, the GetMats command 

always loads this matrix into the MATLAB workspace. 

15 
------------------------------------------------- 

 

5. Executing MBC3 

To execute MBC3, follow the steps outlined in this section. 

Step 1: Open MATLAB (ensure that paths have been set to directories where MBC3­

related scripts and FAST output files reside). Issue this command: 

GetMats 

The following message will appear on the workspace screen, followed by a prompt sign: 

ENTER: 

Name of FAST linearization output file to process 

(omit the .lin extension when entering the name) 

<--------------------------------------------------- 

< 

At the prompt sign, type the name of the FAST output file without the extension .lin. For 

example, if test01.lin is the name of the FAST output file, type 

test01 

To confirm that the inputs listed in Table 1 have been loaded successfully into 

MATLAB, type who and check the parameters that appear in the workspace. 

Step 2: Issue this command 

mbc3 

If the MBC execution is successful, the following message will appear on the workspace 

screen: 

Multi-Blade Coordinate transformation completed 

Type who to confirm that the MBC-related outputs, listed in Table 2 and described in the 

Section 6, have been generated. 

Next, if you are interested in azimuth-averaged system matrices and the system 

eigenanalysis results, type 

cce 

Note that azimuth-averaging of system matrices zeroes out all periodic terms, which is 

equivalent to retaining just the constant-coefficient terms in the system equations. As a 

result, the literature often refers to this operation as the constant-coefficient equations 

16 
(CCE) approximation. After you have issued the cce command and the eigenanalysis of 

the constant-coefficient approximation is successful, the following message will appear: 

cce.m completed 

Note that cce performs eigenanalysis only on the first-order system matrix, A. Type who 

to confirm if the CCE-related outputs, listed in Table 3, are generated. 

After you have loaded FAST-generated variables into MATLAB (using the GetMats 

command), you have three options to issue further commands: execute only mbc3, 

execute only cce, or execute both mbc3 and cce (the sequence is immaterial). If you 

choose the last option, outputs generated from each command, together with the original 

inputs, will appear in the MATLAB workspace. Section 6 describes the outputs generated 

by mbc3 and cce commands. 

17 
 

 

 

6. Output Description 

The command mbc3 generates two sets of outputs: MBC-transformed matrices, and 

eigen-results associated with the azimuth-averaged MBC-transformed system matrices. 

Table 2 lists these outputs. 

Table 2. MBC3-Generated Outputs 

Output Parameter Description Symbol See Size 

Equation 

MBC_A 

MBC_B 

MBC_Bd 

MBC_C 

MBC_D 

MBC_Dd 

MBC_AvgA 

MBC_AvgB 

MBC_AvgBd 

MBC_AvgC 

MBC_AvgD 

MBC_AvgDd 

MBC_M 

MBC_Dmp 

MBC-transformed first-order 

system matrices at NΨ 

azimuth locations 

MBC-transformed first-order 

control matrices at NΨ 

azimuth locations 

MBC-transformed first-order 

disturbance matrices at NΨ 

azimuth locations 

MBC-transformed output 

matrices, associated with 

states, at NΨ azimuth 

locations 

MBC-transformed output 

matrices, associated with 

controls, at NΨ azimuth 

locations 

MBC-transformed output 

matrices, associated with 

disturbances, at NΨ azimuth 

locations 

MBC-transformed first-order 

system matrix (azimuthaveraged) 

MBC-transformed first-order 

control matrix (azimuthaveraged) 

MBC-transformed first-order 

disturbance matrix (azimuthaveraged) 

MBC-transformed first-order 

output matrix associated with 

states (azimuth-averaged) 

MBC-transformed first-order 

output matrix associated with 

controls (azimuth-averaged) 

MBC-transformed first-order 

output matrix associated with 

disturbances (azimuthaveraged) 

MBC-transformed mass matrix 

at NΨ azimuth locations 

MBC-transformed 

ANR 27 N×N×NΨ
 

BNR 27 N×Nc×NΨ
 

BdNR 27 N×Nw×NΨ 

CNR 28 No×N×NΨ 

DNR 28 No×Nc×NΨ 

DdNR 28 No×Nw×NΨ 

— — N×N 

— — N×Nc 

— — N×Nw 

— — No×N 

— — No×Nc 

— — No×Nw 

MNR 17 n×n×NΨ
 

CNR 17 n×n×NΨ
 

18 
 

damping/gyroscopic matrix at NΨ azimuth locations 

MBC_K MBC-transformed stiffness KNR 17 

n×n×NΨ 

matrix at NΨ azimuth locations 

MBC_F MBC-transformed secondFNR 17 

n×N

c

×NΨ 

order control matrices at NΨ 

azimuth locations 

MBC_Fd MBC-transformed secondFdNR 17 

n×N

w

×NΨ 

order disturbance matrices at NΨ azimuth locations 

MBC_Vc MBC-transformed secondCvNR 18 

No

× n×NΨ 

order output matrices 

associated with velocities at NΨ azimuth locations 

MBC_Dc MBC-transformed secondCdNR 18 

No

×n×NΨ 

order output matrices 

associated with displacements 

at NΨ azimuth locations 

MBC_Yop MBC-transformed matrix of — — 

N

0

×NΨ 

operating-point output vectors 

at NΨ azimuth locations 

MBC_AvgYop MBC-transformed operating­ — — 

N

0×1 

point output vector (azimuthaveraged) 

MBC_DampedFrequency MBC-transformed and — — 

M×1 

azimuth-averaged system 

damped frequencies in rad/s 

MBC_DampedFrequencyHz MBC-transformed and — — 

M×1 

azimuth-averaged system 

damped frequencies in Hz 

MBC_DampingRatio MBC-transformed and — — 

M×1 

azimuth-averaged system 

damping ratios 

MBC_DecrementRate MBC-transformed and — — 

M×1 

azimuth-averaged system 

decrement rates 

MBC_EigenVects MBC-transformed and — — 

N×N 

azimuth-averaged system 

eigenvectors 

MBC_Evals MBC-transformed and — — 

N×1 

azimuth-averaged system 

eigenvalues 

MBC_ModeShapeMagnitude MBC-transformed and — — 

n×M 

azimuth-averaged system 

modal amplitudes 

MBC_ModeShapePhaseDeg MBC-transformed and — — 

n×M 

azimuth-averaged modal 

phases (deg) 

MBC_NaturalFrequency MBC-transformed and — — 

M×1 

azimuth-averaged natural 

frequencies in rad/s 

MBC_NaturalFrequencyHz MBC-transformed and — — 

M×1 

azimuth-averaged natural 

frequencies in Hz 

MBC_reduced_size_eigenVals MBC-transformed and — — 

M×1 

19 
azimuth-averaged system 

eigenvalues (showing complex 

conjugate eigenvalues only 

with non-negative imaginary 

parts) 

MBC_reduced_size_eigenVects MBC-transformed and — — n×M 

azimuth-averaged system 

eigenvectors associated with 

MBC_reduced_size_eigenVals 

MBC_States_Desc Description of MBC­ — — n×1 

transformed states 

Symbols in the fifth column identify sizes of the MBC3-generated outputs. Section 4 

defines all symbols except M. Before we define M, note that eigenvalues of a real system 

matrix appear as real or as complex conjugate values. A pair of complex conjugate 

eigenvalues refers to the same mode. Only one of these conjugate eigenvalues, say the 

eigenvalue with the positive imaginary part, suffices to yield modal frequency and 

damping; the other eigenvalue, the one with the negative imaginary part, does not give 

any additional information. Accordingly, we output eigen-results corresponding to only 

those eigenvalues that are either real or have positive imaginary parts. 

Now, we are ready to define M; it equals N – mn, where mn is the number of eigenvalues 

with negative imaginary parts. Thus, elements of vectors MBC_DampedFrequency, 

MBC_DampedFrequencyHz, MBC_DampingRatio, MBC_DecrementRate, 

MBC_NaturalFrequency, MBC_NaturalFrequencyHz, and MBC_eigenVals correspond 

to those eigenvalues whose imaginary parts are either zero or positive. 

The command cce, as described in Section 5, generates azimuth-averaged matrices for 

first- and second-order systems and also obtains an eigensolution of the system matrix A. 

Table 3 lists these outputs. 

Table 3. CCE-Generated Outputs 

Output Parameter Description Size 

AvgAMat Azimuth-averaged system matrix N×N 

AvgBMat Azimuth-averaged first-order control matrix N×Nc 

AvgBdMat Azimuth-averaged first-order disturbance matrix N×Nw 

AvgCMat Azimuth-averaged first-order output matrix associated No×N 

with states 

AvgDMat Azimuth-averaged first-order output matrix associated No×Nc 

with controls 

AvgDdMat Azimuth-averaged output matrix associated with No×Nw 

disturbances 

Avgxdop Azimuth-averaged vector of the time-derivatives of the N×1 

states 

Avgxop Azimuth-averaged vector of the system states N×1 

AvgMassMat Azimuth-averaged mass matrix n×n 

AvgDampMat Azimuth-averaged damping matrix n×n 

AvgStffMat Azimuth-averaged stiffness matrix n×n 

AvgFMat Azimuth-averaged second-order control matrix n×Nc 

AvgFdMat Azimuth-averaged second-order disturbance matrix n×Nw 

AvgVelCMat Azimuth-averaged second-order output matrix associated No× n 

20 
with velocities 

AvgDspCMat Azimuth-averaged second-order output matrix associated No×n 

with displacements 

Avgqd2op Azimuth-averaged vector of the operating-point n×1 

accelerations 

Avgqdop Azimuth-averaged vector of the operating-point velocities n×1 

Avgqop Azimuth-averaged vector of the operating-point n×1 

displacements 

Avgyop Azimuth-averaged vector of the operating-point outputs N0×1 

AvgEigenvectors_all All eigenvectors of azimuth-averaged system matrix N×N 

AvgEvals_all All eigenvalues of azimuth-averaged system matrix N×1 

AvgeigenVects Reduced-size eigenvectors of azimuth-averaged system n×M 

matrix 

AvgeigenVals Reduced-size eigenvalues of azimuth-averaged system M×1 

matrix 

AvgDampedFrequency Damped frequencies of azimuth-averaged system matrix M×1 

(rad/s) 

AvgDampedFrequencyHz Damped frequencies of azimuth-averaged system matrix M×1 

(Hz) 

AvgNaturalFrequency Natural frequencies of azimuth-averaged system matrix M×1 

(rad/s) 

AvgNaturalFrequencyHz Natural frequencies of azimuth-averaged system matrix M×1 

(Hz) 

AvgDecrementRate Decrement rates of azimuth-averaged system matrix M×1 

AvgDampingRatio Damping ratios of azimuth-averaged system matrix M×1 

AvgModeShapeMagnitude Modal amplitudes of azimuth-averaged system matrix n×M 

AvgModeShapePhaseDeg Modal phases of azimuth-averaged system matrix (deg) n×M 

The decrement rates listed in Tables 2 and 3 are simply the negatives of the real parts of 

the associated eigenvalues. We recommend using these rates when presenting stability 

analysis results. Alternately, damping ratios can be used. Problems can arise, however, if 

an eigenvalue has a zero imaginary part (i.e., it represents a rigid-body mode). In this 

case, the damping ratio would be either infinity or indeterminate. 

21 
7. Downloading and Verifying MBC-Specific Files 

The MATLAB scripts required to carry out the MBC operation are mbc3.m, eianalysis.m, 

get_new_seq.m, and row_col_xtion.m. The mbc3.m is the main script and calls the other 

three. The script GetMats.m is required to load select contents of the FAST-generated 

linear-data output file to the MATLAB workspace. The cce.m script is not required for 

MBC. We include it, however, to allow interested users to obtain eigen-results of an 

azimuth-averaged system matrix. The cce.m script calls eianalysis.m to perform 

eigenanalysis. Visit our Web site at http://wind.nrel.gov/designcodes/postprocessors/ to 

download these scripts, along with sample I/O files and this guide. 

If the download is successful, you will see the main folder named MBC and two 

subfolders named Source and CertTest. The main folder contains the user’s manual. The 

Source subfolder contains the MATLAB scripts required for MBC and CCE operations. 

The CertTest subfolder contains a test input file named test01.lin and a subfolder named 

TestFiles. The file test01.lin was generated by FAST with options to output first-order 

state matrices, including control, disturbance, and output matrices. You can open this file 

to examine these matrices and supporting information describing state vectors, number of 

azimuth steps, and so on (for a description of the contents of this file, see the FAST 

user’s manual, which is also available on our Web site). Currently, we have only one test 

input file, but we plan to add more in the future. The subfolder TestFiles contains the 

output file Filetest01.mat, which is a MATLAB binary file generated using the sequence 

of commands GetMats, mbc3, and cce described in Section 5. You can load this file into 

MATLAB and examine its contents if you like (Tables 1–3 describe these contents). 

To verify that you have successfully loaded the required files, set the path name to the 

CertTest subfolder in your MATLAB workspace. Next, issue the command CertTest. 

This command performs MBC and CCE operations and compares the resulting outputs 

with those in the Filetest01.mat output file. The results of this comparison are displayed 

in the MATLAB workspace. No difference displayed for all variables implies successful 

verification. Now you can use FAST to generate state matrices for a turbine of your 

interest and follow the steps described in Section 5 to perform MBC or CCE or both. 

22 
8. Future Plans 

Though the MBC formulation we developed assumes a three-bladed turbine, it is general 

enough to be readily extended to a turbine with more than three blades. In the future, 

depending on user demand, we will update both the theory basis and the scripts to 

accommodate rotors with three or more blades. We will exclude two-bladed rotors 

because, even though an MBC-like transformation is theoretically possible for a twobladed rotor (yielding coning and teeter rotor modes), such a transformation does not 

result in a filtering action similar to the one that the conventional MBC provides. 

As mentioned earlier, the current MBC scripts work only with FAST. The future versions 

will accept data (e.g., state matrices) from any rotary-system aeroelastic code. We will 

also write a FORTRAN-based MBC utility and integrate it into FAST. This will allow a 

user to invoke MBC operation directly from the FAST input file. 

Finally, we will update the theory basis to explain the filtering operation of MBC and 

include additional I/O files to demonstrate this operation. We will also include results to 

show how MBC can be applied to rotors with dissimilar blades. 

23 
References 

1.	 Bir, G.S. “Multi-Blade Coordinate Transformation and Its Application to Wind 

Turbine Analysis.” Proceedings of the AIAA/ASME Wind Energy Symposium, 

Reno, NV, January 2008. 

2.	 Jonkman, J.M.; Buhl Jr., M.L. FAST User's Guide. NREL/EL-500-29798. 

Golden, CO: National Renewable Energy Laboratory, 2005. 

3.	 Johnson, W. Helicopter Theory. Princeton, NJ: Princeton University Press, 1980. 

4.	 Miller, R.H. “Helicopter Control and Stability in Hovering Flight.” JAS, Vol. 15, 

August 1948. 

5.	 Coleman, R.P.; Feingold, A.M. Theory of Self-Excited Mechanical Oscillations of 

Helicopter Rotors with Hinged Blades. NACA Technical Report TR 1351, 1958. 

6.	 Hohenemser, K.H.; Yin, S.K. “Some Applications of the Method of Multiblade 

Coordinates,” J. Amer. Helicopter Soc., Vol. 17, No. 3, 1972. 

7.	 Bir, G., et al. University of Maryland Advanced Rotor Code (UMARC) Theory 

Manual. Technical Report UM-AERO 94-18. College Park, MD: Center for 

Rotorcraft Education and Research, University of Maryland, July 1994. 

8.	 Bir, G.S.; Wright, A.D.; Butterfield, S. “Stability Analysis of Variable-Speed 

Wind Turbines.” Proceedings of the 1997 ASME Wind Energy Symposium, Reno, 

January 6–9, 1997. 

9.	 Malcolm, D.J. “Modal Response of 3-Bladed Wind Turbines.” J. Solar Eng., Vol. 

124, No. 4, November 2002, pp. 372–377. 

10. Elliott, A.S.; McConville, J.B. “Application of a General-Purpose Mechanical 

Systems Analysis Code to Rotorcraft Dynamics Problems.” Presented at the 

American Helicopter Society National Specialists' Meeting on Rotorcraft 

Dynamics, 1989. 

11. McCoy, T.J. “Wind Turbine ADAMS Model Linearization Including Rotational 

and Aerodynamic Effects.” 2004 ASME Wind Energy Symposium, January 2004, 

pp. 224–233. 

12. Hansen, M.H. “Improved Modal Dynamics of Wind Turbines to Avoid StallInduced Vibrations.” Wind Energy, Vol. 6, Issue 2, 2003, pp.179–195. 

13. Hansen, M. H., “Stability Analysis of Three-Bladed Turbines Using an 

Eigenvalue Approach,” 2004 ASME Wind Energy Symposium, January 2004, pp. 

192–202. 

14. Riziotis, V.A.; Voutsinas, S.G.; Politis, E.S.; Chaviaropoulos, P.K. “Aeroelastic 

Stability of Wind Turbines: The Problem, the Methods, and the Issues,” Wind 

Energy, Vol. 7, Issue 4, 2004, pp.373–392. 

15. Bir, G.; Jonkman, J., “Aeroelastic Instabilities of Large Offshore and Onshore 

Wind Turbines,” J. Physics: Conference Series, 2007. 

16. Stol, K.; Moll, H.; Bir, G.; Namik, H. “A Comparison of Multi-Blade Coordinate 

Transformation and Direct Periodic Techniques for Wind Turbine Control 

Design.” 47th AIAA Aerospace Sciences Meeting, Jan. 5–8 2009, Orlando, 

Florida, AIAA 2009-0439. 

24 
 

 

 

 

 

 

 

 

 

 

 

 

REPORT DOCUMENTATION PAGE Form Approved 

OMB No. 0704-0188 

The public reporting burden for this collection of information is estimated to average 1 hour per response, including the time for reviewing instructions, searching existing data sources,

gathering and maintaining the data needed, and completing and reviewing the collection of information. Send comments regarding this burden estimate or any other aspect of this

collection of information, including suggestions for reducing the burden, to Department of Defense, Executive Services and Communications Directorate (0704-0188). Respondents

should be aware that notwithstanding any other provision of law, no person shall be subject to any penalty for failing to comply with a collection of information if it does not display a 

currently valid OMB control number. 

PLEASE DO NOT RETURN YOUR FORM TO THE ABOVE ORGANIZATION. 

1. REPORT DATE (DD-MM-YYYY) 

September 2010 

2. REPORT TYPE 

Technical Report 

3. DATES COVERED (From - To) 

4. TITLE AND SUBTITLE 

User's Guide to MBC3: Multi-Blade Coordinate Transformation 

Code for 3-Bladed Wind Turbine 

5a. CONTRACT NUMBER 

DE-AC36-08-GO28308 

5b. GRANT NUMBER 

5c. PROGRAM ELEMENT NUMBER 

6. AUTHOR(S) 

G.S. Bir 

5d. PROJECT NUMBER 

NREL/TP-500-44327 

5e. TASK NUMBER 

WER9.3535 

5f. WORK UNIT NUMBER 

7. PERFORMING ORGANIZATION NAME(S) AND ADDRESS(ES) 

National Renewable Energy Laboratory 

1617 Cole Blvd. 

Golden, CO 80401-3393 

8. PERFORMING ORGANIZATION 

REPORT NUMBER 

NREL/TP-500-44327 

9. SPONSORING/MONITORING AGENCY NAME(S) AND ADDRESS(ES) 10. SPONSOR/MONITOR'S ACRONYM(S) 

NREL 

11. SPONSORING/MONITORING 

AGENCY REPORT NUMBER 

12. DISTRIBUTION AVAILABILITY STATEMENT 

National Technical Information Service 

U.S. Department of Commerce 

5285 Port Royal Road 

Springfield, VA 22161 

13. SUPPLEMENTARY NOTES 

14. ABSTRACT (Maximum 200 Words) 

This guide explains how to use MBC3, a MATLAB-based script NREL developed to perform multi-blade coordinate 

transformation of system matrices for three-bladed wind turbines. In its current form, MBC3 can be applied to system 

matrices generated by FAST.2. 

15. SUBJECT TERMS 

wind turbines; MBC3; MATLAB-based script; multi-blade coordinate transformation; FAST 

16. SECURITY CLASSIFICATION OF: 17. LIMITATION 

OF ABSTRACT 

UL 

18. NUMBER 

OF PAGES 

19a. NAME OF RESPONSIBLE PERSON 

a. REPORT 

Unclassified 

b. ABSTRACT 

Unclassified 

c. THIS PAGE 

Unclassified 19b. TELEPHONE NUMBER (Include area code) 

Standard Form 298 (Rev. 8/98) 

Prescribed by ANSI Std. Z39.18 

F1147-E(10/2008)