Skip to content

Gross Error Detection (GED) Data Analysis

EDSONCV edited this page Jul 27, 2015 · 4 revisions

Gross Error Detection Benchmark Problems

Gross Error Detection (GED) in time varying systems

The aim of this problems is to test:

  • Different types of gross errors: constant bias, drifting bias, leakings and a combination of them.
  • Misscalibration: The effect of incorrect calibration in DR and GED.
  • Data filter: filter on the variables before DR is applied and its influence in GED.
  • Data filter window selection and influence on the dynamics on the DR results.

GED in time varying systems are dividing in the following sub-folders:

  • diagrams
  • scilab

The "diagrams" folders contains the diagrams in "dia" format or in "png" formats while the "scilab" folders contains the problems itself.

The "scilab" folder have 2 examples/folders:

  • 2tanks: a 2 tanks with by-pass considering total mass balance.
  • reactor_separator: a reactor separator with recycle system considering total mass balance.

In each problem it was developed a steady-state problem and a dynamic version. These problems were built using the xcos (simulink version of scilab, compatible with scilab version 5.4).

Inside each folder, one find the following folders:

  • dynamic : dynamic version of the diagram
  • steady_state : steady state version of the diagram.

In these implementations, the equipments are represented as a transfer function (a tank) and the difference between them is that in steady-state diagrams, the system dynamic is very fast.

There are also 2 files in the same folder level:

  • moving.sci: a moving average implementation.
  • dr_wls_simple.sci: a weighted least squares data reconciliation implementation.

The '2tanks/steady_state and 2tanks/dynamic' folder have the following folders:

  • ss_constant_bias: steady_state with constant bias.
  • ss_drifting_bias: steady_state with drifting bias.
  • ss_leakings: steady_state with equipment leakings.
  • ss_miscalibration: steady_state with sensor miscalibration.
  • ss_multiple_ge: steady_state with multiple gross errors (leakings and measurement bias)

The diagram of the 2 tanks problem is the following:

and the Xcos/Scilab diagram is the following:

where the first tank has a "slow" dynamic behaviour, the second tank a faster behaviour and the by-pass dynamic can be relatively neglected.

The sensor is represented as the following:

where we have a random effect based on a normal distribution with zero mean and specific standard deviation; a gross error block and calibration functions that can be activated and configured by the user.

The gross error block is represented as

where it is possible to simulate a constant bias, sinusoidal, square or drifting bias or even a combination of them.

The leaking block is basically a subtraction and a check to avoid negative flows as

The dynamic system behaves as the following:

  • At time t0 where all flow is by-passed to streams 4 and 7.
  • At time t1, the bypass valve is closed and the inlet valve of tank 1 is opened.
  • At time t2, the valve to tank 1 is closed and inlet valve to tank 2 is opened.
  • At time t3, the inlet valves of tank 1 and 2 are closed and by-pass valve is opened.

2 Tanks Problem Parameters

In the "ss_constant_bias" folder, individual gross errors in measurement (bias) are set to +5 units (constant along all the simulation).

In the "ss_drifting_bias" folder, the individual gross errors in measurement (bias) starts at time = 200 s (to stream 1 to 7) and at 300s to stream 8. The rate of increase is 0.01 units/s along the simulation.

In the "ss_leaking" folder, the individual leakings starts at time = 0 s have a magnitude of 4 units along the simulation.

In the "ss_multiple_ge" folder, the multiple gross errors are added at the start of the simulation according to the following table:

Scenario 1:

Leaking (magnitude): -

Bias (magnitude): S1 (-3); S6 (5)

Scenario 2:

Leaking (magnitude): Mixer (4)

Bias (magnitude): S2(5)

Scenario 3:

Leaking (magnitude): Tank 1 (4)

Bias (magnitude): S8 (5)

Scenario 4:

Leaking (magnitude):By-pass(3)

Bias (magnitude):S5(-3); S3(5)

  • ss_miscalibration: steady_state with sensor miscalibration.

In the "ss_miscalibration" folder, we have a second order polynomial to represent the output behaviour of the sensor according to the table :

Sensor behaviour: constant

S1: 0.5

S2: -0.5

S3: 3

S4: -0.5

S5: 0

S6: -1

S7: -2

S8: 3.5

Sensor behaviour: linear

S1: 1.3

S2: 0.8

S3: -0.2

S4: 0.1

S5: 0.8

S6: 1.2

S7: 0

S8: -1.3

Sensor behaviour: quadratic

S1: -0.06

S2: 0.05

S3: 0.05

S4: 0.15

S5: 0.06

S6: -0.03

S7: 0.1

S8: 0.11

The 2 tanks steady-state diagram is the same as the dynamic, but with a very "fast" dynamic behaviour in the tanks and by-pass.

The 'reactor_separator/steady_state and reactor_separator/dynamic' folder have the following folders:

  • ss_constant_bias: steady_state with constant bias.
  • ss_drifting_bias: steady_state with drifting bias.
  • ss_leakings: steady_state with equipment leakings.
  • ss_miscalibration: steady_state with sensor miscalibration.
  • ss_multiple_ge: steady_state with multiple gross errors (leakings and measurement bias)

The diagram of the reactor separator problem is the following:

and the Xcos/Scilab diagram is the following:

where the reactor has a "slow" dynamic behaviour, the recycle tank a faster behaviour and the separator the slowest dynamic.

The steady-state diagram parameters differs between the dynamic diagrams.

In the steady-state with constant bias, the diagrams have the following bias magnitude (each diagram have only one stream with bias):

  • Stream 1 - Bias = 5
  • Stream 2 - Bias = 3
  • Stream 3 - Bias = 10
  • Stream 4 - Bias = 3
  • Stream 5 - Bias = 3
  • Stream 6 - Bias = 3

Beyond, the reactor changes it operating point from 11 to 13 units at time = 150s in all diagrams.

In the drifting bias steady-state diagrams, the reactor changes it operating point from 11 to 13 units at time = 150s in all diagrams. At each diagram a drifting bias is introduced individually at each stream. At time = 200s there is a constant bias rate of 0.01 units/second is introduced until time = 300s where this bias is suppressed.

In the leakings diagrams, a leak is introduced individually in the equipments:

  • Reactor: Leaking magnitude = 4
  • Recycle: Leaking magnitude = 4
  • Separator: Leaking magnitude = 2.2

Beyond, the reactor changes it operating point from 11 to 13 units at time = 150s in all diagrams.

In the "ss_miscalibration" folder, we have 6 diagrams, each one with sensors wit miscalibration according to a second order polynomial to represent the output behaviour of the sensor according to the table :

Sensor behaviour: constant

S1: -2

S2: 5

S3: -0.3

S4: 1

S5: -1

S6: 0.5

Sensor behaviour: linear

S1: 5

S2: -0.2

S3: -3

S4: 3

S5: 0.8

S6: 1.2

Sensor behaviour: quadratic

S1: -0.3

S2: 0

S3: 0.2

S4: -0.2

S5: 0.1

S6: -0.1

Beyond, the reactor starts with initial flow of 11 units, at time = 150s it changes its operating point to 13 units and at time = 300s it changes again its operating point to 9 units in all diagrams.

In the "ss_multiple_ge" folder, the multiple gross errors are added at the start of the simulation according to the following table:

Scenario 1:

Leaking (magnitude): -

Bias (magnitude): S1 (5); S5 (-3)

Scenario 2:

Leaking (magnitude): -

Bias (magnitude): S3(-4); S6 (3)

Scenario 3:

Leaking (magnitude): Recycle (4)

Bias (magnitude): S1 (4)

Scenario 4:

Leaking (magnitude):Reactor(3)

Bias (magnitude):S4(-3)

In the dynamic folder we have some different configurations. In all sub-folders in the dynamic cases, the reactor operating point change start as 250s instead of 150s (as in steady state).

In the drifting bias folder the drifting bias starts at 300s and it is not suppressed (as in steady-state case).

All the other configurations keeps the same.