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?

11 vues (au cours des 30 derniers jours)
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.

Réponse acceptée

Paul
Paul le 31 Juil 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.
  1 commentaire
veysel burçak
veysel burçak le 31 Juil 2023
If you have time, can you write and send the matlab codes for me to get the transfer function. Thank you very much.

Connectez-vous pour commenter.

Plus de réponses (3)

Sam Chak
Sam Chak le 31 Juil 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 , 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]
A = 2×2
-0.0045 0.0045 0.0052 -0.0052
B = [3.16315e-3;
0]
B = 2×1
0.0032 0
E = [2.92761e-3 0;
0 -2.0318e-8]
E = 2×2
0.0029 0 0 -0.0000
% Input Matrix Concatenation method according to Paul
Abar = A;
Bbar = [B E]
Bbar = 2×3
0.0032 0.0029 0 0 0 -0.0000
Cbar = [0 1]; % second state is the output
Dbar = 0;
sys = ss(Abar, Bbar, Cbar, Dbar)
sys = A = x1 x2 x1 -0.004466 0.004457 x2 0.005152 -0.005152 B = u1 u2 u3 x1 0.003163 0.002928 0 x2 0 0 -2.032e-08 C = x1 x2 y1 0 1 D = u1 u2 u3 y1 0 0 0 Continuous-time state-space model.
% Converting the state-space model to transfer functions
G = tf(sys)
G = From input 1 to output: 1.63e-05 ---------------------------- s^2 + 0.009618 s + 4.544e-08 From input 2 to output: 1.508e-05 ---------------------------- s^2 + 0.009618 s + 4.544e-08 From input 3 to output: -2.032e-08 s - 9.073e-11 ---------------------------- s^2 + 0.009618 s + 4.544e-08 Continuous-time transfer function.
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).
  1 commentaire
veysel burçak
veysel burçak le 31 Juil 2023
Thank you for your answer. It's a system that was controlled with PID before. I want to try it with my own controller.
For parameters:MODELING AND MODEL IDENTIFICATION OF A PRESSURIZER AT THE PAKS NUCLEAR POWER PLANT
Control with PID:Fault Detection in Nuclear Systems Using Sliding Mode Observers

Connectez-vous pour commenter.


veysel burçak
veysel burçak le 31 Juil 2023
Thank you very much for your answers, your explanations are very understandable.After I finish my work, I will post a video on the subject. @Paul @Sam Chak
  5 commentaires
veysel burçak
veysel burçak le 1 Août 2023
Can you check my matlab simulink result should increase from 300 to 350 but the temperature value is going down. Ksc and Lambda values are my variables. Do you have any suggestions for optimization?@Sam Chak

Connectez-vous pour commenter.


veysel burçak
veysel burçak le 31 Juil 2023
I tried to write a matlab function before, but I couldn't finish it. I am new to using Matlab simulink. Can you help me get the above graph with space state function block or transfer function? Thank you very much.

Catégories

En savoir plus sur General Applications dans Help Center et File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by