One of the systems I want to control includes disturbances in the input matrix. How can I convert this state space equation into a transfer function?
12 次查看(过去 30 天)
显示 更早的评论
I want to control one system includes disturbances in the input matrix. I tried to write the function to control it from Matlab simulink but it didn't work correctly. How can I convert this state space equation into a transfer function. Could you share a source where I can study on it? Thank you very much.
0 个评论
采纳的回答
Paul
2023-7-31
Combine u and d into a single input vector. Then the "B" matrix is composed of the Bbar and Ebar matrices concatenated together as shown here:
xdot = Abar * xbar + Bbar * ubar + Ebar *dbar
xdot = Abar * xbar + [Bbar , Ebar] * [ubar ; dbar]
Now all the Control System Toolbox functions can be used, like
sys = ss(Abar, [Bbar , Ebar], Cbar, 0)
sys will, of course, be a multi-input system, three inputs in this case based on the dimensions of Bbar and Ebar.
更多回答(3 个)
Sam Chak
2023-7-31
Sounds interesting. I wonder how you will design the controller for the system subject to the mismatched disturbance.
Presuming that is the same as , and the state-space is a Multi Input, Single Output system then the transfer functions from the three inputs to the output (2nd state, ) can be obtained
% No change (from you)
A = 1e-3*[-4.46566 4.45684;
5.15227 -5.15227]
B = [3.16315e-3;
0]
E = [2.92761e-3 0;
0 -2.0318e-8]
% Input Matrix Concatenation method according to Paul
Abar = A;
Bbar = [B E]
Cbar = [0 1]; % second state is the output
Dbar = 0;
sys = ss(Abar, Bbar, Cbar, Dbar)
% Converting the state-space model to transfer functions
G = tf(sys)
Primarily you should use the 1st transfer function to design the controller for the disturbance-free response. After that, run simulations on the 2nd and 3rd TFs to check its disturbance rejection capability. Then, fine-tune or improve the controller, or even modify the controller structure (if needed).
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 General Applications 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!