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?
    18 views (last 30 days)
  
       Show older comments
    
 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 Comments
Accepted Answer
  Paul
      
      
 on 31 Jul 2023
        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.
More Answers (3)
  Sam Chak
      
      
 on 31 Jul 2023
        Sounds interesting. I wonder how you will design the controller for the system subject to the mismatched disturbance.
Presuming that  is the same as
 is the same as  , and the state-space is a Multi Input, Single Output system then the transfer functions from the three inputs
, and the state-space is a Multi Input, Single Output system then the transfer functions from the three inputs  to the output (2nd state,
 to the output (2nd state,  ) can be obtained
) can be obtained
 is the same as
 is the same as  , and the state-space is a Multi Input, Single Output system then the transfer functions from the three inputs
, and the state-space is a Multi Input, Single Output system then the transfer functions from the three inputs  to the output (2nd state,
 to the output (2nd state,  ) can be obtained
) 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).
See Also
Categories
				Find more on Matrix Computations in Help Center and File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!







