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