Conversation with ControlSystems.jl
While Fractional systems are generalization of integer order control systems, so it is also convenient to transform between FractionalSystems.jl and ControlSystems.jl.
Conversation between Transfer Function
To achieve the translation of Transfer Function
and Fractional Order Transfer Function
, we only need to use the command fotf2cotf to transform the fractional order transfer function to integer order transfer function:
julia> G = fotf([1, 2, 3], [0.1, 0.2, 0.34], [4, 5, 6], [0.65, 0.67, 0.78])
FOTF
s^{0.1} + 2s^{0.2} + 3s^{0.34}
---------------------
4s^{0.65} + 5s^{0.67} + 6s^{0.78}
julia> fotf2cotf(G)
TransferFunction{Continuous, ControlSystems.SisoRational{Float64}}
3.0s^34 + 2.0s^20 + 1.0s^10
---------------------------
6.0s^78 + 5.0s^67 + 4.0s^65
Continuous-time transfer function model
Conversation between State Space
To transform the fractional order state space to integer state space, we can use the foss2ss function:
julia> s = foss([-5 0; 0 -5], [2; 2], [3 3],[0], 0.5, 2, [2], 2)
FOSS
A =
-5 0
0 -5
B =
2
2
C =
3 3
D =
0
Descriptor matrix:
E =
[2]
Time delay is 2
α = 0.5
Initial state vector x₀ = 2
julia> foss2ss(s)
StateSpace{Continuous, Int64}
A =
-5 0
0 -5
B =
2
2
C =
3 3
D =
0
Continuous-time state-space model