Dear Jason,
Thank you for your reply.
I linearized the FAST model and applied the MBC transformation, then I got MBC_AvgA, MBC_AvgB, MBC_AvgBd, MBC_AvgC, MBC_AvgD, MBC_AvgDd.
Here is my linearize condition
[code]Order of States in Linearized State Matrices:
Row/column 1 = Platform pitch tilt rotation DOF (internal DOF index = DOF_P)
Row/column 2 = 1st tower fore-aft bending mode DOF (internal DOF index = DOF_TFA1)
Row/column 3 = Variable speed generator DOF (internal DOF index = DOF_GeAz)
Row/column 4 = 1st flapwise bending-mode DOF of blade 1 (internal DOF index = DOF_BF(1,1))
Row/column 5 = 1st flapwise bending-mode DOF of blade 2 (internal DOF index = DOF_BF(2,1))
Row/column 6 = 1st flapwise bending-mode DOF of blade 3 (internal DOF index = DOF_BF(3,1))
Row/column 7 to 12 = First derivatives of row/column 1 to 6.
Order of Control Inputs in Linearized State Matrices:
Column 1 = individual pitch of blade 1 (rad) 1.49925E-01 op
Column 2 = individual pitch of blade 2 (rad) 1.49925E-01 op
Column 3 = individual pitch of blade 3 (rad) 1.49925E-01 op[/code]
and I applied MBC in input (blade pitch angleθ1, θ2,and θ3) and invers MBC to the output which in the rotating frame.
[code]%MBC
function [o,c,s] = MBC(a,b,c,azi_psi)
t_bar = [1 cos(azi_psi) sin(azi_psi);
1 cos(2pi/3+azi_psi) sin(2pi/3+azi_psi);
1 cos(4pi/3+azi_psi) sin(4pi/3+azi_psi)];
T_bar = inv(t_bar);
o = T_bar(1,[a;b;c];
c = T_bar(2,[a;b;c];
s = T_bar(3,:)*[a;b;c];[/code]
[code]%invMBC
function [a,b,c] = invMBC(o,c,s,azi_psi)
t_bar = [1 cos(azi_psi) sin(azi_psi);
1 cos(2pi/3+azi_psi) sin(2pi/3+azi_psi);
1 cos(4pi/3+azi_psi) sin(4pi/3+azi_psi)];
a = t_bar(1,[o;c;s];
b = t_bar(3,[o;c;s];
c = t_bar(3,:)*[o;c;s];[/code]
Also, I removed rotor azimuth from the state matrix(the third row of the states), as well as the relevant row and colume of MBC_AvgA, MBC_AvgB, MBC_AvgBd.
Then, from the Simulink, I got the linear model result compared with the FAST nonlinear model(the figure below), and I found it looks reasonable(the step is because of I increased the wind speed).
Here is my question.
I found in User’s Guide to MBC3, the states space model after MBC3 is :
Xdot_nr = A_nrX_nr+B_nru_nr (nr means no rotating frame)
in my understanding the A_nr = MBC_AvgA, if my understanding is right, one should apply MBC to state variable X(only the states in rotating frame) and transform X to X_nr.
I found that when I apply MBC to the states which in rotating frame, the Simulink result is completely wrong.
But if I do not apply MBC to the state variable, the result looks reasonable(like the figure below).
So where I am wrong?
Thank you very much!
Best regards,
Cheng