System Identification and Data Analysis Lab Session # 3
System Identification and Data Analysis Lab Session # 3
System Identification and Data Analysis Lab Session # 3
Lab session # 3
k1 k2
u(t)
m1 m2
b1 b2
0 y(t)
Figura 1.
The continuous-time transfer function from the force u(t) applied to the mass m2 , to the
position y(t) of the mass m1 is given by
b2 s + k2
G(s) =
m1 m2 s4 + {(b1 + b2 )m2 + b2 m1 }s3 + {b1 b2 + k2 m1 + (k1 + k2 )m2 }s2 + (k2 b1 + k1 b2 )s + k1 k2
m1 = 1, b1 = 0.4, k1 = 1,
m2 = 1, b2 = 0.2, k2 = 4.
1. By using the Matlab command c2d, discretize the system G(s) with sampling time
Ts = 0.1, to obtain a discrete-time transfer function G(z). Simulate the obtained
discrete-time system for 50 seconds, with an input signal of type PRBS, generated
through the Matlab command idinput.
2. By using the input-output data obtained at point 1, identify several ARX models
for the considered system, by changing the orders na and nb of the polynomials A(z)
and B(z) in the ARX equation. Compare the Bode plots of the estimated models
with that of the true discrete-time transfer function G(z).
3. Repeat point 2, by using different model structures, such as ARMAX, OE, etc.
4. Simulate the system again, by adding an output noise e(t) to the output y(t), so
that
y(t) = G(z)u(t) + e(t)
where e(t) is a Gaussian white process with zero mean and variance 0.01. Repeat
points 2 and 3 with the new input-output data, and observe the differences.