# US 12,015,621 B2 · Apparatus and method for estimating system state

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 12,015,621 B2
- Document ID: US12015621B2
- Status: Granted
- Kind: B2
- Application number: 17/555,705
- Filed: 2021-12-20
- Published: 2022-11-03
- Granted: 2024-06-18
- Earliest claimed: 2021-04-19
- Assignees: Daegu Gyeongbuk Institute of Science and Technology
- Applicants: Daegu Gyeongbuk Institute of Science and Technology
- Inventors: Yechan Jeong; Yongsoon Eun
- Web page: https://patentgrep.com/patent/US12015621B2

## CPC

- H04L 63/1416: {Event detection, e.g. attack signature detection}
- G06F 17/16: Matrix or vector computation {, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization (matrix transposition G06F7/78)}
- H04L 63/1425: {Traffic logging, e.g. anomaly detection}
- H04L 63/145: {the attack involving the propagation of malware through the network, e.g. viruses, trojans or worms}
- H04L 67/12: specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Disclosed are an apparatus and a method for estimating a system state. Accordingly, it is possible to perform Resilient State Estimation (RSE) that is robust to disturbance and is autonomously restored from sensor attack/failure.

## Claims

### Claim 1

An apparatus for estimating a system state, the apparatus comprising:
at least one processor configured to:
generate a plurality of partial state estimation values ({circumflex over (z)}1,{circumflex over (z)}2, . . . {circumflex over (z)}p; {circumflex over (z)}i) for a current state of a target system, based on a control input for the target system and output values (y1, y2, . . . , yp; yi) of a plurality of sensors disposed in the target system corresponding to state observation values of the target system according to the control input;
determine a set (Γ({circumflex over (z)}(t)) of a plurality of candidate estimation values (X(t)) for a total state estimation value of the target system, based on the plurality of partial state estimation values; and
determine a final state estimation value ({circumflex over (x)}(t) for the current state of the target system among the plurality of candidate estimation values (X(t)),
wherein, in order to generate the observer state (gi) and the plurality of partial state estimation values ({circumflex over (z)}1,{circumflex over (z)}2, . . . {circumflex over (z)}p; {circumflex over (z)}i), the at least one processor is configured to perform:
a first calculation of generating a first observability matrix (Ai1) and a second observability matrix (G), based on a property matrix (A) of the dynamic state equation and an output matrix (C) for the plurality of sensors,
a second calculation of generating a first linear transformation matrix (Mi), based on a range space (P) of a transpose matrix (GT) of the second observability matrix (G) and orthogonal bases (Q) of a null space of the second observability matrix (G),
a third calculation of generating a second linear transformation matrix (MiAi1MiT) by performing a coordinate change for the first observability matrix (Ai1) through the first linear transformation matrix (Mi),
a fourth calculation of generating a fourth linear transformation matrix (Ni′AiōNi′−1) by performing a coordinate change for a matrix block Aiō through a third linear transformation matrix Ni′ making the matrix block Aiō of the second linear transformation matrix (MiAi1MiT) to be block diagonal,
a fifth calculation of generating a sixth linear transformation matrix (Ti), based on a fifth linear transformation matrix (Ni) defined based on the third linear transformation matrix and, the first linear transformation matrix (Mi),
a sixth calculation of generating a seventh linear transformation matrix (Ui) and an eighth linear transformation matrix (Vi), based on the sixth linear transformation matrix (Ti) and an inverse matrix (Ti−1) of the sixth linear transformation matrix (Ti), and
a seventh calculation of transforming the dynamic state equation, based on the seventh linear transformation matrix (Ui) and the eighth linear transformation matrix (Vi).

### Claim 2 (depends on 1)

The apparatus of claim 1, wherein the at least on processor comprises a plurality of partial state Unknown Input Observers (partial state UIOs), and each of the partial state UIOs is configured to generate one partial state estimation value ({circumflex over (z)}i), based on an output value of one sensor among the plurality of sensors and the control input, the one sensor being different for each partial state UIO.

### Claim 3 (depends on 2)

The apparatus of claim 2, wherein each partial state UIO is configured to generate one of the plurality of partial state estimation values ({circumflex over (z)}1,{circumflex over (z)}2, . . . {circumflex over (z)}p; {circumflex over (z)}i), based on an observer state (gi) induced by a dynamic state equation of the target system.

### Claim 4 (depends on 1)

The apparatus of claim 1, wherein each of the plurality of partial state estimation values ({circumflex over (z)}1,{circumflex over (z)}2, . . . {circumflex over (z)}p; {circumflex over (z)}i) and the final state estimation value ({circumflex over (x)}(t)) is indicated by a vector, and a dimension of the vector indicating each partial state estimation value ({circumflex over (z)}i) is lower than a dimension of the vector indicating the final state estimation value ({circumflex over (x)}(t)).

### Claim 5 (depends on 1)

The apparatus of claim 1, wherein the at least one processor is configured to:
determine a malfunction sensor number threshold, based on a number of sensors included in the plurality of sensors,
determine a number of cases for combinations of the plurality of partial state estimation values ({circumflex over (z)}1,{circumflex over (z)}2, . . . {circumflex over (z)}p; {circumflex over (z)}i), based on the malfunction sensor number threshold, and
select a partial state estimation value to be included in each of the plurality of candidate estimation values (X(t)) from among the plurality of partial state estimation values ({circumflex over (z)}1,{circumflex over (z)}2, . . . {circumflex over (z)}p; {circumflex over (z)}i) according to the number of cases.

### Claim 6 (depends on 1)

The apparatus of claim 1, wherein the at least one processor is configured to:
determine, for every candidate estimation value (X(t)), the final state estimation value ({circumflex over (x)}(t), based on a distance (∥{circumflex over (z)}i−UiX∥2) between the partial state estimation value ({circumflex over (z)}i) included in each candidate estimation value (X(t)) and a vector obtained by multiplying a first transformation matrix (Ui) and each candidate estimation value (X(t)).

### Claim 7 (depends on 6)

The apparatus of claim 6, wherein the first transformation matrix (Ui) corresponds to a pseudo inverse matrix for linear transformation between the partial state estimation value ({circumflex over (z)}i) and a real state value (x(t)) of the target system.

### Claim 8

A method of estimating a system state performed by at least one processor of the apparatus for estimating the system state, the method comprising:
generating a plurality of partial state estimation values ({circumflex over (z)}1,{circumflex over (z)}2, . . . {circumflex over (z)}p; {circumflex over (z)}i) for a current state of a target system, based on a control input for the target system and output values (y1, y2, . . . , yp; yi) of a plurality of sensors disposed in the target system corresponding to state observation values of the target system according to the control input;
determining a set (Γ({circumflex over (z)}(t))) of a plurality of candidate estimation values (x(t)) for a total state estimation value of the target system, based on the plurality of partial state estimation values ({circumflex over (z)}1,{circumflex over (z)}2, . . . {circumflex over (z)}p; {circumflex over (z)}i); and
determining a final state estimation value ({circumflex over (x)}(t)) for the current state of the target system among the plurality of candidate estimation values (X(t)),
wherein the inducing of the observer states (gi) comprises a first calculation operation of generating a first observability matrix (Ai1) and a second observability matrix (G), based on a property matrix (A) of the dynamic state equation and an output matrix (C) for the plurality of sensors, a second calculation of generating a first linear transformation matrix (Mi), based on a range space (P) of a transpose matrix (GT) of the second observability matrix (G) and orthogonal bases (Q) of a null space of the second observability matrix (G), a third calculation of generating a second linear transformation matrix (MiAi1MiT) by performing a coordinate change for the first observability matrix (Ai1) through the first linear transformation matrix (Mi), a fourth calculation of generating a fourth linear transformation matrix (Ni′AiōNi′−1 by performing a coordinate change for a matrix block Aiō through a third linear transformation matrix (Ni′) making the matrix block Aiō of the second linear transformation matrix (MiAi1MiT) to be block diagonal, a fifth calculation of generating a sixth linear transformation matrix (Ti), based on a fifth linear transformation matrix (Ni) defined based on the third linear transformation matrix and, the first linear transformation matrix (Mi), a sixth calculation of generating a seventh linear transformation matrix (Ui) and an eighth linear transformation matrix (Vi), based on the sixth linear transformation matrix (Ti) and an inverse matrix (Ti−1) of the sixth linear transformation matrix (Ti), and a seventh calculation of transforming the dynamic state equation, based on the seventh linear transformation matrix (Ui) and the eighth linear transformation matrix (Vi).

### Claim 9 (depends on 8)

The method of claim 8, wherein the generator comprises a plurality of partial state UIOs, and the method further comprises designing the plurality of partial state UIOs.

### Claim 10 (depends on 9)

The method of claim 9, wherein the designing of the plurality of partial state UIOs comprises inducing observer states (gi) of the plurality of partial state UIOs from a dynamic state equation of the target system.

### Claim 11 (depends on 9)

The method of claim 9, wherein the plurality of partial state UIOs are associated with the plurality of sensors one to one, and the generating of the plurality of partial state estimation values ({circumflex over (z)}1,{circumflex over (z)}2, . . . {circumflex over (z)}p; {circumflex over (z)}i) comprises determining each partial state estimation value ({circumflex over (z)}i), based on an output value (yi) of each sensor and an observer state (gi) of the partial state UIO associated with each sensor.

### Claim 12 (depends on 8)

The method of claim 8, wherein each of the plurality of partial state estimation values ({circumflex over (z)}1,{circumflex over (z)}2, . . . {circumflex over (z)}p; {circumflex over (z)}i) and the final state estimation value ({circumflex over (x)}(t)) is indicated by a vector, and a dimension of the vector indicating each partial state estimation value ({circumflex over (z)}i) is lower than a dimension of the vector indicating the final state estimation value ({circumflex over (x)}(t)).

### Claim 13 (depends on 8)

The method of claim 8, wherein the determining of the set (Γ({circumflex over (z)}(t)) of the plurality of candidate estimation values (X(t)) comprises:
determining a malfunction sensor number threshold, based on a number of a plurality of sensors;
determining a number of cases for combinations of the plurality of partial state estimation values ({circumflex over (z)}1,{circumflex over (z)}2, . . . {circumflex over (z)}p; {circumflex over (z)}i), based on the malfunction sensor number threshold; and
selecting a partial state estimation value to be included in each of the plurality of candidate estimation values (X(t)) from among the plurality of partial state estimation values ({circumflex over (z)}1,{circumflex over (z)}2, . . . {circumflex over (z)}p; {circumflex over (z)}i) according to the number of cases.

### Claim 14 (depends on 8)

The method of claim 8, wherein the determining of the final state estimation value ({circumflex over (x)}(t)) comprises determining for every candidate estimation value X(t)), the final state estimation value ({circumflex over (x)}(t)), based on a distance (∥{circumflex over (z)}i−UiX∥2) between the partial state estimation value ({circumflex over (z)}i) included in each candidate estimation value (x(t)) and a vector obtained by multiplying a first transformation matrix (Ui) and each candidate estimation value (X(t)).

### Claim 15 (depends on 14)

The method of claim 14, wherein the first transformation matrix (Ui) corresponds to a pseudo inverse matrix for linear transformation between the partial state estimation value ({circumflex over (z)}i) and a real state value (x(t)) of the target system.
