Datasets

deepSI.datasets.EMPS(dir_placement=None, vir_as_u=True, force_download=False, split_data=True)

The Electro-Mechanical Positioning System is a standard configuration of a drive system for prismatic joint of robots or machine tools. The main source of nonlinearity is caused by friction effects that are present in the setup. Due to the presence of a pure integrator in the system, the measurements are obtained in a closed-loop setting.

The provided data is described in this link. The provided Electro-Mechanical Positioning System datasets are available for download here. This zip-file contains the system description and available data sets .mat file format.

Please refer to the Electro-Mechanical Positioning System as:

  1. Janot, M. Gautier and M. Brunot, Data Set and Reference Models of EMPS, 2019 Workshop on Nonlinear System Identification Benchmarks, Eindhoven, The Netherlands, April 10-12, 2019.

Special thanks to Alexandre Janot for making this dataset available.

deepSI.datasets.CED(dir_placement=None, force_download=False, split_data=True)

The coupled electric drives consists of two electric motors that drive a pulley using a flexible belt. The pulley is held by a spring, resulting in a lightly damped dynamic mode. The electric drives can be individually controlled allowing the tension and the speed of the belt to be simultaneously controlled. The drive control is symmetric around zero, hence both clockwise and counter clockwise movement is possible. The focus is only on the speed control system. The angular speed of the pulley is measured as an output with a pulse counter and this sensor is insensitive to the sign of the velocity. The available data sets are short, which constitute a challenge when performing identification.

The provided data is part of a technical note available online through this link. The provided Coupled Electric Drives datasets are available for download here. This zip-file contains the system description and available data sets, both in the .csv and .mat file format.

Please refer to the Coupled Electric Drives dataset as:

T. Wigren and M. Schoukens, Coupled Electric Drives Data Set and Reference Models, Technical Report, Department of Information Technology, Uppsala University, Department of Information Technology, Uppsala University, 2017.

Previously published results on the Coupled Electric Drives benchmark are listed in the history section of this webpage.

Special thanks to Torbjön Wigren for making this dataset available.

NOTE: We are re-evaluating the continuous-time models reported in the technical note. For now, the discrete-time model reported in eq. (9) of the technical note can be used in combination of PRBS dataset with amplitude 1.

deepSI.datasets.F16(dir_placement=None, yn=0, force_download=False, split_data=True)

The F-16 Ground Vibration Test benchmark features a high order system with clearance and friction nonlinearities at the mounting interface of the payloads.

The experimental data made available to the Workshop participants were acquired on a full-scale F-16 aircraft on the occasion of the Siemens LMS Ground Vibration Testing Master Class, held in September 2014 at the Saffraanberg military basis, Sint-Truiden, Belgium.

During the test campaign, two dummy payloads were mounted at the wing tips to simulate the mass and inertia properties of real devices typically equipping an F-16 in flight. The aircraft structure was instrumented with accelerometers. One shaker was attached underneath the right wing to apply input signals. The dominant source of nonlinearity in the structural dynamics was expected to originate from the mounting interfaces of the two payloads. These interfaces consist of T-shaped connecting elements on the payload side, slid through a rail attached to the wing side. A preliminary investigation showed that the back connection of the right-wing-to-payload interface was the predominant source of nonlinear distortions in the aircraft dynamics, and is therefore the focus of this benchmark study.

A detailed formulation of the identification problem can be found here. All the provided files and information on the F-16 aircraft benchmark system are available for download here. This zip-file contains a detailed system description, the estimation and test data sets, and some pictures of the setup. The data is available in the .csv and .mat file format.

Please refer to the F16 benchmark as:

J.P. Noël and M. Schoukens, F-16 aircraft benchmark based on ground vibration test data, 2017 Workshop on Nonlinear System Identification Benchmarks, pp. 19-23, Brussels, Belgium, April 24-26, 2017.

Previously published results on the F-16 Ground Vibration Test benchmark are listed in the history section of this webpage.

Special thanks to Bart Peeters (Siemens Industry Software) for his help in creating this benchmark.

deepSI.datasets.WienerHammerstein_Process_Noise(dir_placement=None, force_download=False, split_data=True)

Warning this is a quite a bit of data

deepSI.datasets.BoucWen(dir_placement=None, force_download=False, split_data=True)
deepSI.datasets.ParWHF(dir_placement=None, force_download=False, split_data=True)

Parallel Wienner-Hammerstein

deepSI.datasets.WienerHammerBenchMark(dir_placement=None, force_download=False, split_data=True)
deepSI.datasets.Silverbox(dir_placement=None, force_download=False, split_data=True)

The Silverbox system can be seen as an electronic implementation of the Duffing oscillator. It is build as a 2nd order linear time-invariant system with a 3rd degree polynomial static nonlinearity around it in feedback. This type of dynamics are, for instance, often encountered in mechanical systems.

The provided data is part of a previously published ECC paper available online. A technical note describing the Silverbox benchmark can be found here. All the provided data (.mat file format) on the Silverbox system is available for download here. This .zip file contains the Silverbox dataset as specified in the benchmark document (V1 is the input record, while V2 is the measured output), extended with .csv version of the same data and an extra data record containing a Schroeder phase multisine measurement.

Please refer to the Silverbox benchmark as:

T. Wigren and J. Schoukens. Three free data sets for development and benchmarking in nonlinear system identification. 2013 European Control Conference (ECC), pp.2933-2938 July 17-19, 2013, Zurich, Switzerland.

Previously published results on the Silverbox benchmark are listed in the history section of this webpage.

Special thanks to Johan Schoukens for creating this benchmark, and to Torbjörn Wigren for hosting this benchmark.

deepSI.datasets.Cascaded_Tanks(dir_placement=None, force_download=False, split_data=True)
deepSI.datasets.Industrial_robot(dir_placement=None, force_download=False, split_data=True)

An identification benchmark dataset for a full robot movement with a KUKA KR300 R2500 ultra SE industrial robot is presented. It is a robot with a nominal payload capacity of 300 kg, a weight of 1120 kg, and a reach of 2500mm. It exhibits 12 states accounting for position and velocity for each of the 6 joints. The robot encounters backlash in all joints, pose-dependent inertia, pose-dependent gravitational loads, pose-dependent hydraulic forces, pose- and velocity-dependent centripetal and Coriolis forces as well as nonlinear friction, which is temperature-dependent and therefore potentially time-varying. Prepared datasets for black-box identification of the forward or the inverse robot dynamics are provided. Additional to the data for the black-box modeling, we supply high-frequency raw data and videos of each experiment. A baseline and figures of merit are defined to make results comparable across different identification methods.

A detailed formulation of the identification problem can be found here. All the provided files and information on the industrial robot dataset can be found here.

https://kluedo.ub.uni-kl.de/frontdoor/index/index/docId/6731

https://fdm-fallback.uni-kl.de/TUK/FB/MV/WSKL/0001/

https://fdm-fallback.uni-kl.de/TUK/FB/MV/WSKL/0001/Robot_Identification_Benchmark_Without_Raw_Data.rar

Special thanks to Jonas Weigand and co-authors for creating and sharing this benchmark!

deepSI.datasets.sun_spot_data(dir_placement=None, force_download=False, split_data=True)
deepSI.datasets.clear_cache()

Delete all cached downloads

deepSI.datasets.cashed_download(url, name_dir, zip_name=None, dir_placement=None, download_size=None, force_download=False, zipped=True)

url is the file to be downloaded name_dir is the directory name where the file and the contents of the file will be saved dir_placement is an optional argument that gives the location of the downloaded file if it is none it will download to the temp dir if dir_name is None it will be saved in the temp directory of the system

deepSI.datasets.get_work_dirs()

A utility function which gets the utility directories for each OS

It creates a working directory called deepSI

in LOCALAPPDATA for windows

in ~/.deepSI/ for unix like

in ~/Library/Application Support/deepSI/ for darwin

it creates two directories inside of the deepSI directory

data_sets : cache location of the downloaded data sets

checkpoints : used during training of torch models

Return type:

dict(base=base_dir, data_sets=data_sets_dir, checkpoints=checkpoints_dir)

class deepSI.datasets.sista_database.System_data(u=None, y=None, x=None, cheat_n=0, normed=False, dt=None)

System Data to be used

u

The u input signal, first dimension is time.

Type:

array

y

The y output signal, first dimension is time. It can be not present.

Type:

array or None

x

The x internal state signal, first dimension is time. (often unused)

Type:

array or None

nu

Number of input dimensions. None -> self.u.shape == (N) Number -> self.u.shape == (N,nu) Tuple -> self.u.shape == (N,…)

Type:

None, Number, Tuple

ny

Number of input dimensions. None -> self.u.shape == (N) Tuple -> self.y.shape == (N,…)

Type:

None, Number, Tuple

cheat_n

Number of samples copied when simulation was applied. This number of samples will not be used to calculate RMS and such.

Type:

int

multi_u

Check for multi dimensional u, used to check SISO.

Type:

bool

multi_y

Check for multi dimensional y, used to check SISO.

Type:

bool

normed

Check if this data set is normed (i.e. was used as norm.transform(sys_data)) mostly used for debugging.

Type:

bool

__init__(u=None, y=None, x=None, cheat_n=0, normed=False, dt=None)

Create System data to be used in fitting, plotted and

Parameters:
  • u (array or list or None) – Input signal with an array where the first dimension is time

  • y (array or list or None) – output signal with an array where the first dimension is time

  • x (array or list or None) – internal state signal with an array where the first dimension is time

  • cheat_n (int) – Number of samples copied when simulation was applied. This number of samples will not be used to calculate RMS and such.

  • normed (bool) – Check if this data set is normed (i.e. was used as norm.transform(sys_data)) mostly used for debugging.

property N_samples
property ny

Number of output dimensions. None or number or tuple

property nu

Number of input dimensions. None or number or tuple

property nx

Number of internal states. None or number or tuple

flatten()

Flatten both u and y to (N,nu) and (N,ny) returns a new System_data

reshape_as(other)

Inverse of .flatten and will reshape both u and y to (N,) + other.u.shape[1:] and (N,) + other.y.shape[1:]

to_IO_data(na=10, nb=10, stride=1, online_construct=False, feedthrough=False)

Transforms the system data to Input-Output structure (hist,Y) with y length of na, and u length of nb

Parameters:
  • na (int) – y history considered

  • nb (int) – u history considered

Returns:

  • hist (ndarray of (Samples, na*ny + nb*nu)) – array of combination of historical inputs and output as [u[k-nb:k].flat,y[k-na:k].flat] for many k

  • Y (ndarray (Samples, features) or (Samples)) – array of single step ahead [y]

to_hist_future_data(na=10, nb=10, nf=5, na_right=0, nb_right=0, stride=1, force_multi_u=False, force_multi_y=False, online_construct=False)

Transforms the system data to encoder structure as structure (uhist,yhist,ufuture,yfuture) of

Made for simulation error and multi step error methods

Parameters:
  • na (int) – y history considered

  • nb (int) – u history considered

  • nf (int) – future inputs considered

Returns:

  • uhist (ndarray (samples, nb, nu) or (sample, nb) if nu=None) – array of [u[k-nb],….,u[k - 1 + nb_right]]

  • yhist (ndarray (samples, na, ny) or (sample, na) if ny=None) – array of [y[k-na],….,y[k - 1 + na_right]]

  • ufuture (ndarray (samples, nf, nu) or (sample, nf) if nu=None) – array of [u[k],….,u[k+nf-1]]

  • yfuture (ndarray (samples, nf, ny) or (sample, nf) if ny=None) – array of [y[k],….,y[k+nf-1]]

to_ss_data(nf=20, stride=1, force_multi_u=False, force_multi_y=False, online_construct=False)
to_encoder_data(na=10, nb=10, nf=5, stride=1, force_multi_u=False, force_multi_y=False, online_construct=False)

Transforms the system data to encoder structure as structure (hist,ufuture,yfuture) of

Parameters:
  • na (int) – y history considered

  • nb (int) – u history considered

  • nf (int) – future inputs considered

  • stride (int) – skipping data for smaller data set.

  • force_multi_u (bool) – converts to ufuture to #(samples, time_seq, nu) always

  • force_multi_y (bool) – converts to yfuture to #(samples, time_seq, ny) always

Returns:

  • hist (ndarray (samples, ny*na + nu*nb)) – array of concat of u[k-nb-nf:k-nf].flat and y[k-na-nf:k-nf].flat

  • ufuture (ndarray (samples, nf, nu) or (sample, nf) if nu=None) – array of [u[k],….,u[k+nf-1]]

  • yfuture (ndarray (samples, nf, ny) or (sample, nf) if ny=None) – array of [y[k],….,y[k+nf-1]]

to_video(file_name='video.mp4', scale_factor=10, vmin=0, vmax=1, fps=60)

Used cv2 to create a video from y of shape y.shape = (frames, ny1, ny2)

plot_state_space_3d(nmax=2000, kernal=None, interpol_n=10)
save(file)

Saves data with savez, see also load_system_data

plot(show=False)

Very simple plotting function

BFR(real, multi_average=True)

Best Fit Rate in percent i.e. 100*(1 - np.sum((y-yhat)**2)**0.5/np.std(y)) (100 = best possible fit)

NRMS(real, multi_average=True, per_channel=True)

Normalized root mean square i.e. np.sum((y-yhat)**2)**0.5/np.std(y) (0 = best fit possible)

NRMS_per_channel(real, multi_average=True)

Normalized root mean square i.e. np.sum((y-yhat)**2)**0.5/np.std(y) (0 = best fit possible)

NRMS_mean_channels(real, multi_average=True)

Normalized root mean square i.e. np.sum((y-yhat)**2)**0.5/np.std(y) (0 = best fit possible)

RMS(real, multi_average=True)

Root mean square error

MSE(real, multi_average=True)

mean square error

MAE(real, multi_average=True)

mean absolute error

VAF(real, multi_average=True)

Variance accounted also known as R^2

calculated as 100*(1 - np.mean((y-yhat)**2)/np.std(y)**2) (100 = best possible fit)

__sub__(other)

Calculate the difference between y two System_data a number or array

train_test_split(split_fraction=0.25)

returns 2 data sets of length n*(1-split_fraction) and n*split_fraction respectively (left, right) split

__getitem__(arg)

Slice the System_data in time index

__len__()

Number of samples len(system_data) = self.N_samples

down_sample_by_average(factor)

Down sample method

Parameters:

factor (int) – length will be (original length)/factor

down_sample_by_decimate(factor)

Down sample method :param factor: length will be (original length)/factor :type factor: int

down_sample_by_MIMO(factor)

Down sample method

Parameters:

factor (int) – length will be (original length)/factor

__module__ = 'deepSI.system_data.system_data'
class deepSI.datasets.sista_database.System_data_list(sys_data_list=None)

A list of System_data, has most methods of System_data in a list form with only some exceptions listed below

sdl
Type:

list of System_data

y

concatenated y of system_data contained in sdl

Type:

array

u

concatenated u of system_data contained in sdl

Type:

array

append(System_data) adds element to sdl
extend(list) adds elements to sdl
__getitem__(number) get (ith system data, time slice)
__init__(sys_data_list=None)
sanity_check()
property normed
property N_samples
property ny
property nu
property y
property u
property n_cheat
property dt
flatten()
reshape_as(other)

Inverse of .flatten and will reshape both u and y to (N,) + other.u.shape[1:] and (N,) + other.y.shape[1:]

to_IO_data(na=10, nb=10, stride=1, online_construct=False, feedthrough=False)
to_hist_future_data(na=10, nb=10, na_right=0, nb_right=0, nf=5, stride=1, force_multi_u=False, force_multi_y=False, online_construct=False)
to_ss_data(nf=20, stride=1, force_multi_u=False, force_multi_y=False, online_construct=False)
to_encoder_data(na=10, nb=10, nf=5, stride=1, force_multi_u=False, force_multi_y=False, online_construct=False)
save(file)

Saves data

plot(show=False)

Very simple plotting function

weighted_mean(vals)
RMS(real, multi_average=True)
MSE(real, multi_average=True)
MAE(real, multi_average=True)
__sub__(other)
train_test_split(split_fraction=0.25)

return 2 data sets of length n*(1-split_fraction) and n*split_fraction respectively (left, right) split

__getitem__(arg)

get (ith system data, time slice)

__len__()
append(other)
extend(other)
down_sample_by_average(factor)

Down sample method

Parameters:

factor (int) – length will be (original length)/factor

down_sample_by_decimate(factor)

Down sample method

Parameters:

factor (int) – length will be (original length)/factor

down_sample_by_MIMO(factor)

Down sample method

Parameters:

factor (int) – length will be (original length)/factor

__module__ = 'deepSI.system_data.system_data'
deepSI.datasets.sista_database.get_work_dirs()

A utility function which gets the utility directories for each OS

It creates a working directory called deepSI

in LOCALAPPDATA for windows

in ~/.deepSI/ for unix like

in ~/Library/Application Support/deepSI/ for darwin

it creates two directories inside of the deepSI directory

data_sets : cache location of the downloaded data sets

checkpoints : used during training of torch models

Return type:

dict(base=base_dir, data_sets=data_sets_dir, checkpoints=checkpoints_dir)

deepSI.datasets.sista_database.cashed_download(url, name_dir, zip_name=None, dir_placement=None, download_size=None, force_download=False, zipped=True)

url is the file to be downloaded name_dir is the directory name where the file and the contents of the file will be saved dir_placement is an optional argument that gives the location of the downloaded file if it is none it will download to the temp dir if dir_name is None it will be saved in the temp directory of the system

deepSI.datasets.sista_database.daisydata_download(url, dir_placement=None, download_size=None, force_download=False)
deepSI.datasets.sista_database.destill(dir_placement=None, force_download=False, split_data=True, noise=10)

This file describes the data in the destill.dat file. 1. Contributed by:

Peter Van Overschee K.U.Leuven - ESAT - SISTA K. Mercierlaan 94 3001 Heverlee Peter.Vanoverschee@esat.kuleuven.ac.be

  1. Process/Description:

    Data of a simulation (not real !) related to the identification of an ethane-ethylene destillationcolumn. The series consists of 4 series:

    U_dest, Y_dest: without noise (original series) U_dest_n10, Y_dest_n10: 10 percent additive white noise U_dest_n20, Y_dest_n20: 20 percent additive white noise U_dest_n30, Y_dest_n30: 30 percent additive white noise

  2. Sampling time

    15 min.

  3. Number of samples:

    90 samples

  4. Inputs:
    1. ratio between the reboiler duty and the feed flow

    2. ratio between the reflux rate and the feed flow

    3. ratio between the distillate and the feed flow

    4. input ethane composition

    5. top pressure

  5. Outputs:
    1. top ethane composition

    2. bottom ethylene composition

    3. top-bottom differential pressure.

  6. References:

    R.P. Guidorzi, M.P. Losito, T. Muratori, The range error test in the structural identification of linear multivariable systems, IEEE transactions on automatic control, Vol AC-27, pp 1044-1054, oct. 1982.

  7. Known properties/peculiarities

  8. Some MATLAB-code to retrieve the data

    !gunzip destill.dat.Z load destill.dat U=destill(:,1:20); Y=destill(:,21:32); U_dest=U(:,1:5); U_dest_n10=U(:,6:10); U_dest_n20=U(:,11:15); U_dest_n30=U(:,16:20); Y_dest=Y(:,1:3); Y_dest_n10=Y(:,4:6); Y_dest_n20=Y(:,7:9); Y_dest_n30=Y(:,10:12);

deepSI.datasets.sista_database.destill_all(dir_placement=None, force_download=False, split_data=True)
deepSI.datasets.sista_database.glassfurnace(dir_placement=None, force_download=False, split_data=True)

This file describes the data in the glassfurnace.dat file. 1. Contributed by:

Peter Van Overschee K.U.Leuven - ESAT - SISTA K. Mercierlaan 94 3001 Heverlee Peter.Vanoverschee@esat.kuleuven.ac.be

  1. Process/Description:

    Data of a glassfurnace (Philips)

  2. Sampling time

  3. Number of samples:

    1247 samples

  4. Inputs:
    1. heating input

    2. cooling input

    3. heating input

  5. Outputs:

    a. 6 outputs from temperature sensors in a cross section of the furnace

  6. References:

    a. Van Overschee P., De Moor B., N4SID : Subspace Algorithms for the Identification of Combined Deterministic-Stochastic Systems, Automatica, Special Issue on Statistical Signal Processing and Control, Vol. 30, No. 1, 1994, pp. 75-93 b. Van Overschee P., “Subspace identification : Theory, Implementation, Application” , Ph.D. Thesis, K.U.Leuven, February 1995.

  7. Known properties/peculiarities

  8. Some MATLAB-code to retrieve the data

    !gunzip glassfurnace.dat.Z load glassfurnace.dat

    T=glassfurnace(:,1);

    U=glassfurnace(:,2:4); Y=glassfurnace(:,5:10);

deepSI.datasets.sista_database.powerplant(dir_placement=None, force_download=False, split_data=True)

This file describes the data in the powerplant.dat file. 1. Contributed by:

Peter Van Overschee K.U.Leuven - ESAT - SISTA K. Mercierlaan 94 3001 Heverlee Peter.Vanoverschee@esat.kuleuven.ac.be

  1. Process/Description:

    data of a power plant (Pont-sur-Sambre (France)) of 120 MW

  2. Sampling time

    1228.8 sec

  3. Number of samples:

    200 samples

  4. Inputs:
    1. gas flow

    2. turbine valves opening

    3. super heater spray flow

    4. gas dampers

    5. air flow

  5. Outputs:
    1. steam pressure

    2. main stem temperature

    3. reheat steam temperature

  6. References:

    a. R.P. Guidorzi, P. Rossi, Identification of a power plant from normal operating records. Automatic control theory and applications (Canada, Vol 2, pp 63-67, sept 1974. b. Moonen M., De Moor B., Vandenberghe L., Vandewalle J., On- and off-line identification of linear state-space models, International Journal of Control, Vol. 49, Jan. 1989, pp.219-232

  7. Known properties/peculiarities

  8. Some MATLAB-code to retrieve the data

    !gunzip powerplant.dat.Z load powerplant.dat U=powerplant(:,1:5); Y=powerplant(:,6:8); Yr=powerplant(:,9:11);

deepSI.datasets.sista_database.evaporator(dir_placement=None, force_download=False, split_data=True)
Contributed by:

Favoreel KULeuven Departement Electrotechniek ESAT/SISTA Kardinaal Mercierlaan 94 B-3001 Leuven Belgium wouter.favoreel@esat.kuleuven.ac.be

Description:

A four-stage evaporator to reduce the water content of a product, for example milk. The 3 inputs are feed flow, vapor flow to the first evaporator stage and cooling water flow. The three outputs are the dry matter content, the flow and the temperature of the outcoming product.

Sampling: Number:

6305

Inputs:

u1: feed flow to the first evaporator stage u2: vapor flow to the first evaporator stage u3: cooling water flow

Outputs:

y1: dry matter content y2: flow of the outcoming product y3: temperature of the outcoming product

References

  • Zhu Y., Van Overschee P., De Moor B., Ljung L., Comparison of three classes of identification methods. Proc. of SYSID ‘94, Vol. 1, 4-6 July, Copenhagen, Denmark, pp.~175-180, 1994.

Properties: Columns:

Column 1: input u1 Column 2: input u2 Column 3: input u3 Column 4: output y1 Column 5: output y2 Column 6: output y3

Category:

Thermic systems

Where:

deepSI.datasets.sista_database.pHdata(dir_placement=None, force_download=False, split_data=True)
Contributed by:

Jairo Espinosa K.U.Leuven ESAT-SISTA K.Mercierlaan 94 B3001 Heverlee Jairo.Espinosa@esat.kuleuven.ac.be

Description:

Simulation data of a pH neutralization process in a constant volume stirring tank. Volume of the tank 1100 liters Concentration of the acid solution (HAC) 0.0032 Mol/l Concentration of the base solution (NaOH) 0,05 Mol/l

Sampling:

10 sec

Number:

2001

Inputs:

u1: Acid solution flow in liters u2: Base solution flow in liters

Outputs:

y: pH of the solution in the tank

References

T.J. Mc Avoy, E.Hsu and S.Lowenthal, Dynamics of pH in controlled stirred tank reactor, Ind.Eng.Chem.Process Des.Develop.11(1972) 71-78

Properties:

Highly non-linear system.

Columns:

Column 1: time-steps Column 2: input u1 Column 3: input u2 Column 4: output y

Category:

Process industry systems

deepSI.datasets.sista_database.dryer2(dir_placement=None, force_download=False, split_data=True)

This file describes the data in the dryer.dat file. 1. Contributed by:

Jan Maciejowski Cambridge University, Engineering Department Trumpington Street, Cambridge CB2 1PZ, England. jmm@eng.cam.ac.uk

  1. Process/Description:

    Data from an industrial dryer (by Cambridge Control Ltd)

  2. Sampling time:

    10 sec

  3. Number of samples:

    867 samples

  4. Inputs:
    1. fuel flow rate

    2. hot gas exhaust fan speed

    3. rate of flow of raw material

  5. Outputs:
    1. dry bulb temperature

    2. wet bulb temperature

    3. moisture content of raw material

  6. References:

    a. Maciejowski J.M., Parameter estimation of multivariable systems using balanced realizations, in: Bittanti,S. (ed), Identification, Adaptation, and Learning, Springer (NATO ASI Series), 1996. b. Chou C.T., Maciejowski J.M., System Identification Using Balanced Parametrizations, IEEE Transactions on Automatic Control, vol. 42, no. 7, July 1997, pp. 956-974.

  7. Known properties/peculiarities:

  8. Some MATLAB-code to retrieve the data

    !gunzip dryer.dat.Z load dryer.dat U=dryer(:,2:4); Y=dryer(:,5:7);

deepSI.datasets.sista_database.exchanger(dir_placement=None, force_download=False, split_data=True)

This file describes the data in exchanger.dat

  1. Contributed by:

    Sergio Bittanti Politecnico di Milano Dipartimento di Elettronica e Informazione, Politecnico di Milano, Piazza Leonardo da Vinci 32, 20133 MILANO (Italy) bittanti@elet.polimi.it

  2. Process/Description:

The process is a liquid-satured steam heat exchanger, where water is heated by pressurized saturated steam through a copper tube. The output variable is the outlet liquid temperature. The input variables are the liquid flow rate, the steam temperature, and the inlet liquid temperature. In this experiment the steam temperature and the inlet liquid temperature are kept constant to their nominal values.

  1. Sampling time:

1 s

  1. Number of samples:

4000

  1. Inputs:

q: liquid flow rate

  1. Outputs:

th: outlet liquid temperature

  1. References:

S. Bittanti and L. Piroddi, “Nonlinear identification and control of a heat exchanger: a neural network approach”, Journal of the Franklin Institute, 1996. L. Piroddi, Neural Networks for Nonlinear Predictive Control. Ph.D. Thesis, Politecnico di Milano (in Italian), 1995.

  1. Known properties/peculiarities:

The heat exchanger process is a significant benchmark for nonlinear control design purposes, since it is characterized by a non minimum phase behaviour. In the references cited above the control problem of regulating the output temperature of the liquid-satured steam heat exchanger by acting on the liquid flow rate is addressed, and both direct and inverse identifications of the data are performed.

Columns: Column 1: time-steps Column 2: input q Column 3: output th

deepSI.datasets.sista_database.winding(dir_placement=None, force_download=False, split_data=True)
Contributed by:

Favoreel KULeuven Departement Electrotechniek ESAT/SISTA Kardinaal Mercierlaan 94 B-3001 Leuven Belgium wouter.favoreel@esat.kuleuven.ac.be

Description:

The process is a test setup of an industrial winding process. The main part of the plant is composed of a plastic web that is unwinded from first reel (unwinding reel), goes over the traction reel and is finally rewinded on the the rewinding reel. Reel 1 and 3 are coupled with a DC-motor that is controlled with input setpoint currents I1* and I3*. The angular speed of each reel (S1, S2 and S3) and the tensions in the web between reel 1 and 2 (T1) and between reel 2 and 3 (T3) are measured by dynamo tachometers and tension meters. We thank Th. Bastogne from the University of Nancy for providing us with these data.

We are grateful to Thierry Bastogne of the Universite Henri Point Care, who provided us with these data.

Sampling: 0.1 Sec

Number: 2500

Inputs: u1: The angular speed of reel 1 (S1)

u2: The angular speed of reel 2 (S2) u3: The angular speed of reel 3 (S3) u4: The setpoint current at motor 1 (I1*) u5: The setpoint current at motor 2 (I3*)

Outputs: y1: Tension in the web between reel 1 and 2 (T1)

y2: Tension in the web between reel 2 and 3 (T3)

References

  • Bastogne T., Identification des systemes multivariables par

les methodes des sous-espaces. Application a un systeme d’entrainement de bande. PhD thesis. These de doctorat de l’Universite Henri Poincare, Nancy 1.

  • Bastogne T., Noura H., Richard A., Hittinger J.M.,

Application of subspace methods to the identification of a winding process. In: Proc. of the 4th European Control Conference, Vol. 5, Brussels.

Properties:

Columns:

Column 1: input u1 Column 2: input u2 Column 3: input u3 Column 4: input u4 Column 5: input u5 Column 6: output y1 Column 7: output y2

Category:

Industrial test setup

deepSI.datasets.sista_database.cstr(dir_placement=None, force_download=False, split_data=True)
Contributed by:

Jairo ESPINOSA ESAT-SISTA KULEUVEN Kardinaal Mercierlaan 94

B-3001 Heverlee Belgium

espinosa@esat.kuleuven.ac.be

Description:

The Process is a model of a Continuous Stirring Tank Reactor, where the reaction is exothermic and the concentration is controlled by regulating the coolant flow.

Sampling:

0.1 min

Number:

7500

Inputs:

q: Coolant Flow l/min

Outputs:

Ca: Concentration mol/l T: Temperature Kelvin degrees

References

J.D. Morningred, B.E.Paden, D.E. Seborg and D.A. Mellichamp “An adaptive nonlinear predictive controller” in. Proc. of the A.C.C. vol.2 1990 pp.1614-1619 G.Lightbody and G.W.Irwin. Nonlinear Control Structures Based on Embedded Neural System Models, IEEE Tran. on Neural Networks Vol.8 No.3 pp.553-567 J.Espinosa and J. Vandewalle, Predictive Control Using Fuzzy Models, Submitted to the 3rd. On-Line World Conference on Soft Computing in Engineering Design and Manufacturing.

Properties: Columns:

Column 1: time-steps Column 2: input q Column 3: output Ca Column 4: output T

Category:

Process Industry Systems

Where:

ftp://ftp.esat.kuleuven.ac.be/pub/SISTA/espinosa/datasets/cstr.dat

deepSI.datasets.sista_database.steamgen(dir_placement=None, force_download=False, split_data=True)
Contributed by:

Jairo Espinosa ESAT-SISTA KULEUVEN Kardinaal Mercierlaan 94

B-3001 Heverlee Belgium

jairo.espinosa@esat.kuleuven.ac.be

Description:

The data comes from a model of a Steam Generator at Abbott Power Plant in Champaign IL. The model is described in the paper of Pellegrineti [1].

Sampling:

3 sec

Number:

9600

Inputs:

u1: Fuel scaled 0-1 u2: Air scaled 0-1 u3: Reference level inches u4: Disturbance defined by the load level

Outputs:

y1: Drum pressure PSI y2: Excess Oxygen in exhaust gases % y3: Level of water in the drum y4: Steam Flow Kg./s

References

[1] G. Pellegrinetti and J. Benstman, Nonlinear Control Oriented Boiler Modeling -A Benchamrk Problem for Controller Design, IEEE Tran. Control Systems Tech. Vol.4No.1 Jan.1996 [2] J. Espinosa and J. Vandewalle Predictive Control Using Fuzzy Models Applied to a Steam Generating Unit, Submitted to FLINS 98 3rd. International Workshop on Fuzzy Logic Systems and Intelligent Technologies for Nuclear Science and Industry

Properties:

To make possible the open loop identification the wter level was stabilized by appliying to the water flow input a feedforward action proportional to the steam flow with value 0.0403 and a PI action with values Kp=0.258 Ti=1.1026e-4 the reference of this controller is the input u3.

Columns:

Column 1: time-steps Column 2: input fuel Column 3: input air Column 4: input level ref. Column 5: input disturbance Column 6: output drum pressure Column 7: output excess oxygen Column 8: output water level Column 9: output steam flow

Category:

Process industry systems

Where:

ftp://ftp.esat.kuleuven.ac.be/pub/SISTA/espinosa/datasets/powplant.dat

deepSI.datasets.sista_database.ballbeam(dir_placement=None, force_download=False, split_data=True)

This file describes the data in the ballbeam.dat file. 1. Contributed by:

Peter Van Overschee K.U.Leuven - ESAT - SISTA K. Mercierlaan 94 3001 Heverlee Peter.Vanoverschee@esat.kuleuven.ac.be

  1. Process/Description:

    Data of a the ball and beam practicum at ESAT-SISTA.

  2. Sampling time

    0.1 sec.

  3. Number of samples:

    1000 samples

  4. Inputs:
    1. angle of the beam

  5. Outputs:
    1. position of the ball

  6. References:

    a. Van Overschee P., “Subspace identification : Theory, Implementation, Application” , Ph.D. Thesis, K.U.Leuven, February 1995, pp. 200-206

  7. Known properties/peculiarities

  8. Some MATLAB-code to retrieve the data

    !gunzip ballbeam.dat.Z load ballbeam.dat U=ballbeam(:,1); Y=ballbeam(:,2);

deepSI.datasets.sista_database.dryer(dir_placement=None, force_download=False, split_data=True)
Contributed by:

Favoreel KULeuven Departement Electrotechniek ESAT/SISTA Kardinaal Mercierlaan 94 B-3001 Leuven Belgium wouter.favoreel@esat.kuleuven.ac.be

Description:

Laboratory setup acting like a hair dryer. Air is fanned through a tube and heated at the inlet. The air temperature is measured by a thermocouple at the output. The input is the voltage over the heating device (a mesh of resistor wires).

Sampling: Number:

1000

Inputs:

u: voltage of the heating device

Outputs:

y: output air temperature

References

  • Ljung L. System identification - Theory for the User. Prentice Hall, Englewood Cliffs, NJ, 1987.

  • Ljung. L. System Identification Toolbox. For Use

    with Matlab. The Mathworks Inc., Mass., U.S.A., 1991.

Properties: Columns:

Column 1: input u Column 2: output y

Category:

mechanical systems

Where:

deepSI.datasets.sista_database.CD_player_arm(dir_placement=None, force_download=False, split_data=True, data_set=0)

This data set has two data sets which can be selected by setting the data_set argument to either 0 or 1 Contributed by:

Favoreel KULeuven Departement Electrotechniek ESAT/SISTA

Kardinaal Mercierlaan 94 B-3001 Leuven Belgium

Description:

Data from the mechanical construction of a CD player arm. The inputs are the forces of the mechanical actuators while the outputs are related to the tracking accuracy of the arm. The data was measured in closed loop, and then through a two-step procedure converted to open loop equivalent data

The inputs are highly colored.

Sampling: Number:

2048

Inputs:

u: forces of the mechanical actuators

Outputs:

y: tracking accuracy of the arm

References

We are grateful to R. de Callafon of the

Mechanical Engineering Systems and Control group of Delft, who provided us with these data.

  • Van Den Hof P., Schrama R.J.P., An Indirect Method for Transfer Function Estimation From Closed Loop Data. Automatica, Vol. 29, no. 6, pp. 1523-1527, 1993.

Properties: Columns:

Column 1: input u1 Column 2: input u2 Column 1: output y1 Column 2: output y2

Category:

mechanical systems

deepSI.datasets.sista_database.flutter(dir_placement=None, force_download=False, split_data=True)
Contributed by:

Favoreel KULeuven Departement Electrotechniek ESAT/SISTA Kardinaal Mercierlaan 94 B-3001 Leuven Belgium wouter.favoreel@esat.kuleuven.ac.be

Description:

Wing flutter data. Due to industrial secrecy agreements we are not allowed to reveal more details. Important to know is that the input is highly colored.

Sampling: Number:

1024

Inputs:

u:

Outputs:

y:

References:

Feron E., Brenner M., Paduano J. and Turevskiy A.. “Time-frequency analysis for transfer function estimation and application to flutter clearance”, in AIAA J. on Guidance, Control & Dynamics, vol. 21, no. 3, pp. 375-382, May-June, 1998.

Properties: Columns:

Column 1: input u Column 2: output y

Category:

mechanical systems

Where:

deepSI.datasets.sista_database.robot_arm(dir_placement=None, force_download=False, split_data=True)
Contributed by:

Favoreel KULeuven Departement Electrotechniek ESAT/SISTA

Kardinaal Mercierlaan 94 B-3001 Leuven Belgium

Description:

Data from a flexible robot arm. The arm is installed on an electrical motor. We have modeled the transfer function from the measured reaction torque of the structure on the ground to the acceleration of the flexible arm. The applied input is a periodic sine sweep.

Sampling: Number:

1024

Inputs:

u: reaction torque of the structure

Outputs:

y: accelaration of the flexible arm

References

We are grateful to Hendrik Van Brussel and Jan Swevers of the laboratory

of Production Manufacturing and Automation of the Katholieke Universiteit Leuven, who provided us with these data, which were obtained in the framework of the Belgian Programme on Interuniversity Attraction Poles (IUAP-nr.50) initiated by the Belgian State - Prime Minister’s Office - Science Policy Programming.

Properties: Columns:

Column 1: input u Column 2: output y

Category:

mechanical systems

Where:

deepSI.datasets.sista_database.flexible_structure(dir_placement=None, force_download=False, split_data=True)
Contributed by:

Maher ABDELGHANI IRISA-INRIA Campus de Beaulieu 35042 Rennes cedex FRANCE Maher.Abdelghani@irisa.fr

Description:

Experiment on a Steel Subframe Flexible structure performed at LMS-International, Leuven-Belgium. -Structure suspended with flexible rubber bands. -2 shakers at 2 locations were used for force input signals. - 28 accelerometers around the structure were used for measurements. - The 30 channels were simulataneously measured using the LMS-CadaX

Data Acquisition Module.

Sampling:

1/1024 (s)

Number:

8523 samples/channel

Inputs:

2 inputs: u1= White noise Force u2=White noise force.

Outputs:

28 outputs: Accelerations

References

  1. M.Abdelghani, M.Basseville, A.Benvensite,”In-Operation Damage Monitoring and Diagnosis of Vibrating Structures, with Application to Offshore Structures and Rotating Machinery”, IMAC-XV Feb.3-6 1997, Fl. USA.

  2. M.Abdelghani, C.T.Chou, M. Verhaegen, “Using Subspace Methods for the Identification and Modal Analysis of Structures”, IMAC-XV, Feb.3-6 1997, Fl.USA.

Properties:

Frequency Range: 10-512 Hz.

Columns:

colomn1= input1 (u1) colomn2=input2 (u2)

colomns3–30: outputs1–28

Category:

Mechanical Structure

deepSI.datasets.sista_database.foetal_ecg(dir_placement=None, force_download=False, split_data=True)
Contributed by:

Lieven De Lathauwer lieven.delathauwer@esat.kuleuven.be

Description:

cutaneous potential recordings of a pregnant woman (8 channels)

Sampling:

10 sec

Number:

2500 x 8

Inputs: Outputs:

1-5: abdominal 6,7,8: thoracic

References

Dirk Callaerts, “Signal Separation Methods based on Singular Value Decomposition and their Application to the Real-Time Extraction of the Fetal Electrocardiogram from Cutaneous Recordings”, Ph.D. Thesis, K.U.Leuven - E.E. Dept., Dec. 1989.

L. De Lathauwer, B. De Moor, J. Vandewalle, ``Fetal Electrocardiogram Extraction by Blind Source Subspace Separation’’, IEEE Trans. Biomedical Engineering, Vol. 47, No. 5, May 2000, Special Topic Section on Advances in Statistical Signal Processing for Biomedicine, pp. 567-572.

Properties: Columns:

Column 1: time-steps Column 2-9: observations

Category:

4

deepSI.datasets.sista_database.erie(dir_placement=None, force_download=False, split_data=True, noise=10)

This file describes the data in the erie.dat file. 1. Contributed by:

Peter Van Overschee K.U.Leuven - ESAT - SISTA K. Mercierlaan 94 3001 Heverlee Peter.Vanoverschee@esat.kuleuven.ac.be

  1. Process/Description:

    Data of a simulation (not real !) related to the related to the identification of the western basin of Lake Erie. The series consists of 4 series:

    U_erie, Y_erie: without noise (original series) U_erie_n10, Y_erie_n10: 10 percent additive white noise U_erie_n20, Y_erie_n20: 20 percent additive white noise U_erie_n30, Y_erie_n30: 30 percent additive white noise

  2. Sampling time

    1 month

  3. Number of samples:

    57 samples

  4. Inputs:
    1. water temperature

    2. water conductivity

    3. water alkalinity

    4. NO3

    5. total hardness

  5. Outputs:
    1. dissolved oxigen

    2. algae

  6. References:

    R.P. Guidorzi, M.P. Losito, T. Muratori, On the last eigenvalue test in the structural identification of linear multivariable systems, Proceedings of the V European meeting on cybernetics and systems research, Vienna, april 1980.

  7. Known properties/peculiarities

    The considered period runs from march 1968 till november 1972.

  8. Some MATLAB-code to retrieve the data

    !guzip erie.dat.Z load erie.dat U=erie(:,1:20); Y=erie(:,21:28); U_erie=U(:,1:5); U_erie_n10=U(:,6:10); U_erie_n20=U(:,11:15); U_erie_n30=U(:,16:20); Y_erie=Y(:,1:2); Y_erie_n10=Y(:,3:4); Y_erie_n20=Y(:,5:6); Y_erie_n30=Y(:,7:8);

deepSI.datasets.sista_database.erie_all(dir_placement=None, force_download=False, split_data=True)
deepSI.datasets.sista_database.thermic_res_wall(dir_placement=None, force_download=False, split_data=True)
Contributed by:

Favoreel KULeuven Departement Electrotechniek ESAT/SISTA Kardinaal Mercierlaan 94 B-3001 Leuven Belgium wouter.favoreel@esat.kuleuven.ac.be

Description:

Heat flow density through a two layer wall (brick and insulation layer). The inputs are the internal and external temperature of the wall. The output is the heat flow density through the wall.

Sampling: Number:

1680

Inputs:

u1: internal wall temperature u2: external wall temperature

Outputs:

y: heat flow density through the wall

References

  • System Identification Competition, Benchmark tests for estimation methods of thermal characteristics of buildings and building components. Organization: J. Bloem, Joint Research Centre, Ispra, Italy, 1994.

Properties: Columns:

Column 1: input u1 Column 2: input u2 Column 3: output y

Category:

thermic systems

Where:

deepSI.datasets.sista_database.heating_system(dir_placement=None, force_download=False, split_data=True)
Contributed by:

Favoreel KULeuven Departement Electrotechniek ESAT/SISTA Kardinaal Mercierlaan 94 B-3001 Leuven Belgium wouter.favoreel@esat.kuleuven.ac.be

Description:

Heat flow density through a two layer wall (brick and insulation layer). The inputs are the internal and external temperature of the wall. The output is the heat flow density through the wall.

Sampling: Number:

1680

Inputs:

u1: internal wall temperature u2: external wall temperature

Outputs:

y: heat flow density through the wall

References

  • System Identification Competition, Benchmark tests for estimation methods of thermal characteristics of buildings and building components. Organization: J. Bloem, Joint Research Centre, Ispra, Italy, 1994.

Properties: Columns:

Column 1: input u1 Column 2: input u2 Column 3: output y

Category:

thermic systems

Where:

deepSI.datasets.sista_database.internet_traffic(dir_placement=None, force_download=False, split_data=True)

Contributed by: Katrien De Cock K.U.Leuven, ESAT-SISTA Kardinaal Mercierlaan 94 3001 Heverlee decock@esat.kuleuven.ac.be

Description: one hour of internet traffic between the Lawrence Berkeley Laboratory and the rest of the world

Sampling:

Number: 99999

Inputs:

Output: number of packets per time unit

References:

Katrien De Cock and Bart De Moor, Identification of the first order parameters of a circulant modulated Poisson process. Accepted for publication in the proceedings of the International Conference on Telecommunication (ICT ‘98)

  1. Paxson and S. Floyd, Wide-area traffic: The failure of Poisson modeling, IEEE/ACM Transactions on Networking, 1995

Properties:

Columns: Column 1: time-steps Column 2: output y

Category: Time series