hzi-notebook
4/6/2019 - 1:24 PM

SnippetSystemIdentification

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])