Author: Giuseppe Armenise Created on Fri Jan 19 2018
from SIPPY import *
from SIPPY import functionset as fset
from SIPPY import functionsetSIM as fsetSIM
# Testsignal
U = np.zeros((1,npts))
U[0] = fset.PRBS_seq(npts,0.05)
x, yout = fsetSIM.SS_lsim_process_form(A,B,C,D,U)
noise = fset.white_noise_var(npts,[0.01])
y_tot = yout+noise
# System identification
method='N4SID'
sys_id = system_identification(y_tot,U,method,SS_fixed_order=2)
xid, yid = fsetSIM.SS_lsim_process_form(sys_id.A,sys_id.B,sys_id.C,sys_id.D,U,sys_id.x0)
# Plot
plt.figure(figsize=(13,6))
plt.plot(Time,y_tot[0])
plt.plot(Time,yid[0])
plt.ylabel("y_tot")
plt.grid()
plt.xlabel("Time")
plt.title("Ytot")
plt.legend(['Original system','Identified system, '+method])