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!