How can we represent this transfer function into state space representation in MATLAB?
32 views (last 30 days)
Show older comments
How can we represent this transfer function into state space representation in MATLAB? What are the commands that are regarding state space?
Answers (2)
Sachin
on 11 May 2023
Hi
I understand that you want to find a state space representation of the transfer function.
Follow these steps for a workaround:
- First, find the state space form on the transfer function using the “tf2ss” function. This output will be in the form of [A, B, C, D].
- After finding the state space form use the “canon” function to find the state space form.
[A_c, B_c, C_c, D_c] = canon(A, B, C, D, 'companion') %transform linear model into the canonical realization
Refer the below MATLAB documentation for state space Realizations:
You can refer to the following MATLAB documentation page for more information about “tf2ss”
Refer to this MATLAB page for the “canon” function
0 Comments
Sam Chak
on 11 May 2023
As far as I know, there is no MATLAB command in the Control System Toolbox for directly computing the controllable canonical form. The canon() command only convert the identified state-space model to either the modal or companion canonical form.
G = tf([1 3], [1 3 2])
sys = ss(G); % convert from TF to random SS (non-unique)
You need to write a code to get the Observable Canonical form first and then transform it to Controllable Canonical form
obsys = ss(Aa, Bb, Cc, Dd) % Observable Canonical form
%% State-space in Conventional Controllable Canonical form
A = Aa';
B = Cc';
C = Bb';
D = Dd;
ctsys = ss(A, B, C, D) % Controllable Canonical form
cttf = tf(ctsys)
0 Comments
See Also
Categories
Find more on Dynamic System Models in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!