Skip to content

Commit 3b38e7d

Browse files
committed
timeevol
1 parent 9293132 commit 3b38e7d

File tree

1 file changed

+6
-9
lines changed

1 file changed

+6
-9
lines changed

src/descriptor.jl

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -89,14 +89,13 @@ $(@doc(DescriptorSystems.gbalmr))
8989
"""
9090
function baltrunc2(sys::LTISystem; residual=false, n=missing, scaleY=1.0, scaleU=1.0, kwargs...)
9191
# Apply scaling if needed
92-
Ts = isdiscrete(sys) ? sys.Ts : 0
9392
A, B, C, D = ssdata(sys)
9493
# Divide by scaling factors to normalize to ~[-1,1]
95-
sys_scaled = ss(A, B / scaleU, C / scaleY, scaleY \ D / scaleU, Ts)
94+
sys_scaled = ss(A, B / scaleU, C / scaleY, scaleY \ D / scaleU, sys.timeevol)
9695
sysr, hs = DescriptorSystems.gbalmr(dss(sys_scaled); matchdc=residual, ord=n, kwargs...)
9796
# Multiply by scaling factors to restore original units
9897
Ar, Br, Cr, Dr = ssdata(ss(sysr))
99-
sys_final = ss(Ar, Br * scaleU, scaleY * Cr, scaleY * Dr * scaleU, Ts)
98+
sys_final = ss(Ar, Br * scaleU, scaleY * Cr, scaleY * Dr * scaleU, sys.timeevol)
10099
sys_final, hs
101100
end
102101

@@ -115,10 +114,9 @@ $(@doc(DescriptorSystems.gbalmr))
115114
"""
116115
function baltrunc_coprime(sys, info=nothing; residual=false, n=missing, factorization::F = DescriptorSystems.gnlcf, scaleY=1.0, scaleU=1.0, kwargs...) where F
117116
# Apply scaling if needed
118-
Ts = isdiscrete(sys) ? sys.Ts : 0
119117
A, B, C, D = ssdata(sys)
120118
# Divide by scaling factors to normalize to ~[-1,1]
121-
sys_scaled = ss(A, B / scaleU, scaleY \ C, scaleY \ D / scaleU, Ts)
119+
sys_scaled = ss(A, B / scaleU, scaleY \ C, scaleY \ D / scaleU, sys.timeevol)
122120
if info !== nothing && hasproperty(info, :NM)
123121
@unpack N, M, NM = info
124122
else
@@ -142,7 +140,7 @@ function baltrunc_coprime(sys, info=nothing; residual=false, n=missing, factoriz
142140
Dr = (DMi * DN)
143141

144142
# Multiply by scaling factors to restore original units
145-
sys_final = ss(Ar, Br * scaleU, scaleY * Cr, scaleY * Dr * scaleU, Ts)
143+
sys_final = ss(Ar, Br * scaleU, scaleY * Cr, scaleY * Dr * scaleU, sys.timeevol)
146144
sys_final, hs, (; NM, N, M, NMr)
147145
end
148146

@@ -156,10 +154,9 @@ See `baltrunc2` for other keyword arguments.
156154
"""
157155
function baltrunc_unstab(sys::LTISystem, info=nothing; residual=false, n=missing, scaleY=1.0, scaleU=1.0, kwargs...)
158156
# Apply scaling if needed
159-
Ts = isdiscrete(sys) ? sys.Ts : 0
160157
A, B, C, D = ssdata(sys)
161158
# Divide by scaling factors to normalize to ~[-1,1]
162-
sys_scaled = ss(A, B / scaleU, scaleY \ C, scaleY \ D / scaleU, Ts)
159+
sys_scaled = ss(A, B / scaleU, scaleY \ C, scaleY \ D / scaleU, sys.timeevol)
163160
if info !== nothing && hasproperty(info, :stab)
164161
@unpack stab, unstab = info
165162
else
@@ -172,7 +169,7 @@ function baltrunc_unstab(sys::LTISystem, info=nothing; residual=false, n=missing
172169
sysr, hs = DescriptorSystems.gbalmr(stab; matchdc=residual, ord=n-nx_unstab, kwargs...)
173170
# Multiply by scaling factors to restore original units
174171
Ar, Br, Cr, Dr = ssdata(ss(sysr + unstab))
175-
sys_final = ss(Ar, Br * scaleU, scaleY * Cr, scaleY * Dr * scaleU, Ts)
172+
sys_final = ss(Ar, Br * scaleU, scaleY * Cr, scaleY * Dr * scaleU, sys.timeevol)
176173
sys_final, hs, (; stab, unstab)
177174
end
178175

0 commit comments

Comments
 (0)