Вы находитесь на странице: 1из 35

Filtering and Identification

Lecture 6:
Subspace Identification
Step Inputs and Ambient Excitation

Michel Verhaegen and Jan-Willem van Wingerden


1/24

Delft Center for Systems and Control


Delft University of Technology
Overview
• Recap Deterministic Subspace Ide
• The case when the input is a step input
• The case when the input is an unknown white
noise input

2/24

Delft Center for Systems and Control


The Deterministic-Autonomous

Case
 x(k + 1) = Ax(k)+Bu(k) x(k) ∈ Rn
LTI System:
 y(k) = Cx(k)+Du(k)
Data equation Yi,s,N = Os Xi,N +Ts Ui,s,N
Recovery column space of extended observability  matrix Os :
 −1
Let, Π⊥ = I − U T U U T Ui,s,N , then:
Ui,s,N i,s,N i,s,N i,s,N

?
Yi,s,N Π⊥
Ui,s,N = Os X i,N Π⊥
Ui,s,N ⇒ range(Y i,s,N Π⊥
Ui,s,N ) = range(Os )

The RQ factorization provides an efficient solution ⇒:


    
U R 0 Q
 i,s,N  =  11   1  QQT = I ⇒ Yi,s,N Π⊥
Ui,s,N = R22 Q2
Yi,s,N R21 R22 Q2
| {z }
Q
3/24

Delft Center for Systems and Control


SubidPlot.m

4/24

Delft Center for Systems and Control


The Deterministic

Case
 x(k + 1) = Ax(k) + Bu(k) x(k) ∈ Rn
LTI System:
 y(k) = Cx(k) + Du(k)
Data equation Yi,s,N = Os Xi,N + Ts Ui,s,N
Recovery column space of extended observability matrix Os :

5/24

Delft Center for Systems and Control


The Deterministic

Case
 x(k + 1) = Ax(k) + Bu(k) x(k) ∈ Rn
LTI System:
 y(k) = Cx(k) + Du(k)
Data equation Yi,s,N = Os Xi,N + Ts Ui,s,N
Recovery column space of extended observability  matrix Os :
 −1
Let, Π⊥ = I − U T U U T Ui,s,N , then:
Ui,s,N i,s,N i,s,N i,s,N

?
Yi,s,N Π⊥
Ui,s,N = Os X i,N Π⊥
Ui,s,N ⇒ range(Y i,s,N Π⊥
Ui,s,N ) = range(Os )

5/24

Delft Center for Systems and Control


The Deterministic

Case
 x(k + 1) = Ax(k) + Bu(k) x(k) ∈ Rn
LTI System:
 y(k) = Cx(k) + Du(k)
Data equation Yi,s,N = Os Xi,N + Ts Ui,s,N
Recovery column space of extended observability  matrix Os :
 −1
Let, Π⊥ = I − U T U U T Ui,s,N , then:
Ui,s,N i,s,N i,s,N i,s,N

?
Yi,s,N Π⊥
Ui,s,N = Os X i,N Π⊥
Ui,s,N ⇒ range(Y i,s,N Π⊥
Ui,s,N ) = range(Os )

The RQ factorization provides an efficient solution ⇒:


    
U R 0 Q
 i,s,N  =  11   1  QQT = I ⇒ Yi,s,N Π⊥
Ui,s,N = R22 Q2
Yi,s,N R21 R22 Q2
| {z }
Q
5/24

Delft Center for Systems and Control


The 5-line matlab solution:Basic MOESP
G IVEN : The i/o data sequences {u(k), y(k)}N
k=1 and the integer s
to specify the number of block rows of the Hankel matrices
Ui,s,N , Yi,s,N (s > n?).

T HEN DO :

• Construct Hankel matrices Ui,s,N , Yi,s,N (U,Y)

• RQ factorization: r = triu(qr([U ; Y]’))’;

• Extract R22

• Range (column space) calculation + order detection:

[uu,ss,vv]=svd(R22);
semilogy(diag(ss),’xr’);
• Estimate AT , CT
6/24

Delft Center for Systems and Control


subid_basic.m

7/24

Delft Center for Systems and Control


Overview
• Recap Deterministic Subspace Ide
• The case when the input is a step input
• The case when the input is an unknown white
noise input

8/24

Delft Center for Systems and Control


Step input: Problem
Problem: Given the output data
1.0
{y(k)}Nk=1 , assume that Σ is
k=0 modelled by a stable state space
u(k) y(k) model, then determine the triplet
Σ? (AT , BT , CT ) from the data Han-
kel matrix Y1,s,N −s+1 :
Consider the scalar input case  
when u(k) is given by: y(1) y(2) · · · y(N − s + 1)
 
 
 y(2) y(3) y(N − s + 2)
 u(k) = 1 k ≥ 0  
 .. .. 
 . . 
 u(k) = 0 otherwise  
y(s) y(s + 1) · · · y(N )
for x(0) = 0.

9/24

Delft Center for Systems and Control


Step 1: The data equation and removing the input part
   
C 1 1 ··· 1
   
   
 CA  h i 1 1 1
Y1,s,Ns =
 ..  x(1) x(2) · · ·
 x(Ns ) +Ts 
 .. ..


 .  . . 
   
CAs−1 1 1 ··· 1
| {z }
U1,s,Ns

for Ns = N − s + 1. What special structure does U1,s,Ns have?

10/24

Delft Center for Systems and Control


Step 1: The data equation and removing the input part
   
C 1 1 ··· 1
   
   
 CA  h i 1 1 1
Y1,s,Ns =
 ..  x(1) x(2) · · ·
 x(Ns ) +Ts 
 .. ..


 .  . . 
   
CAs−1 1 1 ··· 1
| {z }
U1,s,Ns

for Ns = N − s + 1. What special structure does U1,s,Ns have?


 
1
 
 h
 1 i
U1,s,Ns =   1 1 · · · 1 ⇒ Π⊥U1,s,Ns ?
 .. 
. | {z }
  ENs
1 10/24

Delft Center for Systems and Control


Step 1: The data equation and removing the input part
   
C 1 1 ··· 1
   
   
 CA  h i 1 1 1
Y1,s,Ns =
 ..  x(1) x(2) · · ·
 x(Ns ) +Ts 
 .. ..


 .  . . 
   
CAs−1 1 1 ··· 1
| {z }
U1,s,Ns

for Ns = N − s + 1. What special structure does U1,s,Ns have?


 
1
 
 h T
 1 i  E Ns E N

U1,s,Ns =   1 1 · · · 1 ⇒ Π⊥ ? = Π⊥
= I − s
 ..  U1,s,Ns ENs N s
Ns
. | {z }
  ENs
1 10/24

Delft Center for Systems and Control


 T 
EN E Ns
Step 2: What is Yh1,s,Ns Π⊥
ENs ? Π⊥
ENsi = IhNs −
s
Ns i
1 T
Y1,s,Ns Π⊥
EN s = Os x(1) x(2) ··· x(Ns ) − x(1) x(2) · · · x(Ns ) ENs EN
Ns
h i Ns 
1 X
= Os x(1) x(2) ··· x(Ns ) − x(k)ENs
Ns k=1
1 PNs
What is Ns k=1 x(k)?

11/24

Delft Center for Systems and Control


 T 
EN E Ns
Step 2: What is Yh1,s,Ns Π⊥
ENs ? Π⊥
ENsi = IhNs −
s
Ns i
1 T
Y1,s,Ns Π⊥
EN s = Os x(1) x(2) ··· x(Ns ) − x(1) x(2) · · · x(Ns ) ENs EN
Ns
h i Ns 
1 X
= Os x(1) x(2) ··· x(Ns ) − x(k)ENs
Ns k=1
1 PNs 1 PNs
What is Ns k=1 x(k)? limNs →∞ Ns k=1 x(k) = x ⇒

11/24

Delft Center for Systems and Control


 T 
EN E Ns
Step 2: What is Yh1,s,Ns Π⊥
ENs ? Π⊥
ENsi = IhNs −
s
Ns i
1 T
Y1,s,Ns Π⊥
EN s = Os x(1) x(2) ··· x(Ns ) − x(1) x(2) · · · x(Ns ) ENs EN
Ns
h i Ns 
1 X
= Os x(1) x(2) ··· x(Ns ) − x(k)ENs
Ns k=1
1 PNs 1 PNs
What is Ns k=1 x(k)? limNs →∞ Ns k=1 x(k) = x ⇒
x = Ax + B ⇒ x = (I − A)−1 B
What is x(k) − x. What is x(k)?

11/24

Delft Center for Systems and Control


 T 
EN E Ns
Step 2: What is Yh1,s,Ns Π⊥
ENs ? Π⊥
ENsi = IhNs −
s
Ns i
1 T
Y1,s,Ns Π⊥
EN s = Os x(1) x(2) ··· x(Ns ) − x(1) x(2) · · · x(Ns ) ENs EN
Ns
h i Ns 
1 X
= Os x(1) x(2) ··· x(Ns ) − x(k)ENs
Ns k=1
1 PNs 1 PNs
What is Ns k=1 x(k)? limNs →∞ Ns k=1 x(k) = x ⇒
x = Ax + B ⇒ x = (I − A)−1 B
What is x(k) − x. What is x(k)?

k−1
X
x(k) = Aj B = (I − Ak )(I − A)−1 B
j=0

Therefore x(k) − x equals

11/24

Delft Center for Systems and Control


 T 
EN E Ns
Step 2: What is Yh1,s,Ns Π⊥
ENs ? Π⊥
ENsi = IhNs −
s
Ns i
1 T
Y1,s,Ns Π⊥
EN s = Os x(1) x(2) ··· x(Ns ) − x(1) x(2) · · · x(Ns ) ENs EN
Ns
h i Ns 
1 X
= Os x(1) x(2) ··· x(Ns ) − x(k)ENs
Ns k=1
1 PNs 1 PNs
What is Ns k=1 x(k)? limNs →∞ Ns k=1 x(k) = x ⇒
x = Ax + B ⇒ x = (I − A)−1 B
What is x(k) − x. What is x(k)?

k−1
X
x(k) = Aj B = (I − Ak )(I − A)−1 B
j=0

Therefore x(k) − x equals


 
x(k) − x = (I − A ) − I (I − A)−1 B = −Ak (I − A)−1 B = −(I − A)−1 Ak B
k

And we conclude that, (in the limit limNs →∞ )

11/24

Delft Center for Systems and Control


 T 
EN E Ns
Step 2: What is Yh1,s,Ns Π⊥
ENs ? Π⊥
ENsi = IhNs − Ns
s
i
1 T
Y1,s,Ns Π⊥
EN s = Os x(1) x(2) ··· x(Ns ) − x(1) x(2) · · · x(Ns ) ENs EN
Ns
h i Ns 
1 X
= Os x(1) x(2) ··· x(Ns ) − x(k)ENs
Ns k=1
1 PNs 1 PNs
What is Ns k=1 x(k)? limNs →∞ Ns k=1 x(k) = x ⇒
x = Ax + B ⇒ x = (I − A)−1 B
What is x(k) − x. What is x(k)?

k−1
X
x(k) = Aj B = (I − Ak )(I − A)−1 B
j=0

Therefore x(k) − x equals


 
x(k) − x = (I − A ) − I (I − A)−1 B = −Ak (I − A)−1 B = −(I − A)−1 Ak B
k

And we conclude that, (in the limit limNs →∞ ) h i


Y1,s,Ns Π⊥
EN s = −O s (I − A) −1
A B AB A2 B ···

11/24

Delft Center for Systems and Control


StepTst.m, subid_basic.m and
StepTst2.m

12/24

Delft Center for Systems and Control


Overview
• Recap Deterministic Subspace Ide
• The case when the input is a step input
• The case when the input is an unknown
white noise input

13/24

Delft Center for Systems and Control


Laboratory Demo 2: Adaptive Optics

14/24

Delft Center for Systems and Control


Structural Dynamics Examples
Three types of acceleration signals on a seat/bridges
Measured time records on different testtracks
10
highway
5

-5

-10
0 200 400 600 800 1000 1200 1400 1600 1800 2000

10
Pothole
5

-5

-10
0 200 400 600 800 1000 1200 1400 1600 1800 2000

10
cobblestone
5

-5

-10
0 200 400 600 800 1000 1200 1400 1600 1800 2000

15/24

Delft Center for Systems and Control


The Stochastic Realization Problem
A zero-mean WSS stochastic process y(k) has a
D EFINITION :
rational spectral density if it can be represented by filtering white
noise as,
x(k + 1) = Ax(k) + Bw(k) w(k) ∼ (0, I)
y(k) = Cx(k) + Dw(k)

Let S(z) denote C(zI − A)−1 B + D, then the spectrum is given as, Φ(z) = S(z)S T (z −1 )

16/24

Delft Center for Systems and Control


The Stochastic Realization Problem
A zero-mean WSS stochastic process y(k) has a
D EFINITION :
rational spectral density if it can be represented by filtering white
noise as,
x(k + 1) = Ax(k) + Bw(k) w(k) ∼ (0, I)
y(k) = Cx(k) + Dw(k)

Let S(z) denote C(zI − A)−1 B + D, then the spectrum is given as, Φ(z) = S(z)S T (z −1 )

S TOCHASTIC R EALIZATION 
P ROBLEM
: Given,   
{y(k)}N  ÂT , ĈT , BT D−1
 k=1 ′  ′ =⇒  | {z } | {z } 
{Φ ej(2πk/2N ) }N
k=0

structural vibration analysis
Kalman f iltering

Quantities of Interest are


S TRUCTURAL V IBRATION A NALYSIS :
eigenfrequencies (λ(A), Cφ(A)) with Aφ = λφ.
K ALMAN FILTERING : Prediction of the output.
16/24

Delft Center for Systems and Control


The Data Equation
Like in the deterministic input case (see Lecture 5), the data
equation reads:

Yj,s,N = Os Xj,N + Ts Wj,s,N

with Wj,s,N containing samples of the ZMWN w(k).


How to remove the influence of Wj,s,N ?

17/24

Delft Center for Systems and Control


The Data Equation
Like in the deterministic input case (see Lecture 5), the data
equation reads:

Yj,s,N = Os Xj,N + Ts Wj,s,N

with Wj,s,N containing samples of the ZMWN w(k).


How to remove the influence of Wj,s,N ? Use the principle of
Instrumental Variables (ZN ).
Properties:
1 T
1 lim Wj,s,N ZN =0
N →∞ N
 1 
T
2 rank lim Xj,N ZN =n
N →∞ N

17/24

Delft Center for Systems and Control


Selecting Instrumental Variables
E XERCISE 1: Consider the signal generation model (SGM),

x(k + 1) = Ax(k) + Bw(k) k ≥ 0, w(k) ∼ (0, I)


y(k) = Cx(k) + Dw(k) E[x(0)w(ℓ)T ] = 0 ∀ℓ

then show that, E[x(k)w(ℓ)T ] = 0 ℓ ≥ k


E XERCISE 2: Consider the SGM of Exercise 1, then show that,

 CP C T + DDT ℓ = 0
E[y(k + ℓ)y(k)T ] =
 CAℓ−1 G ℓ≥1

with G = AP C T + BDT and P = E[x(k)x(k)T ] satisfying P =


AP AT + BB T .

18/24

Delft Center for Systems and Control


1. Removal Wj,s,N in the data equation
Let us consider the data equation for j = s,
   
y(s) w(s)
   
   
 y(s + 1)   w(s + 1) 
Ys,s,N = Os Xs,N +Ts Ws,s,N ⇔ 

..  = Os x(s)+Ts 
 
..


 .   . 
   
y(2s − 1) w(2s − 1)

and for j = 0,    
y(0) w(0)
   
   
 y(1)   w(1) 
Y0,s,N = Os X0,N +Ts W0,s,N ⇔
 ..
 = Os x(0)+Ts 
  ..


 .   . 
   
y(s − 1) w(s − 1)

19/24

Delft Center for Systems and Control


1. Removal Wj,s,N in the data equation
Then using the solution of E XERCISE 1 shows that,

   T
w(s) w(0)
   
 w(s + 1)  
h    w(1)  i
1 T T T
  T
lim Ys,s,N Y0,s,N = E Os x(s) + Ts 
..  x(0) Os + 
 
..  Ts

N →∞ N | {z } 
 . 


 . 

T
ZN
w(2s − 1) w(s − 1)
 T
w(0)
 
h   w(1)  i
T T
  T
= E Os x(s) x(0) Os +  
..  Ts


 . 

w(s − 1)
1 T
= lim Os Xs,N Y0,S,N
N →∞ N

1 T
⇒ range(limN →∞ N Y s,s,N Y 0,s,N ) ⊆ range(Os )

20/24

Delft Center for Systems and Control


1. Removal Wj,s,N in the data equation
Then using the solution of E XERCISE 1 shows that,

   T
w(s) w(0)
   
 w(s + 1)  
h    w(1)  i
1 T T T
  T
lim Ys,s,N Y0,s,N = E Os x(s) + Ts 
..  x(0) Os + 
 
..  Ts

N →∞ N | {z } 
 . 


 . 

T
ZN
w(2s − 1) w(s − 1)
 T
w(0)
 
h   w(1)  i
T T
  T
= E Os x(s) x(0) Os +  
..  Ts


 . 

w(s − 1)
1 T
= lim Os Xs,N Y0,S,N
N →∞ N

1 T
⇒ range(limN →∞ N Y s,s,N Y 0,s,N ) ⊆ range(Os )

21/24

Delft Center for Systems and Control


 
1 T
2. rank limN →∞ N
X j,N Z N = n
Then using the solution of E XERCISE 2 shows that,
  T
y(s) y(0)
  
1 h  y(s + 1)   y(1) 
  
 i
T
lim Ys,s,N Y0,s,N = E 
..



..


N →∞ N | {z } 
 . 
  . 

ZNT
y(2s − 1) y(s − 1)

   
CAs−1 G CAs−2 G ··· CG C
   

 CAs G CAs−1 G   CA  h
   i
= =  As−1 G As−2 G ··· G
 .. ..   .. 

 . .  
  . 

CA2(s−1) G CAs−1 G CAs−1
 
Provided (A, C) is observable and (A, G) (A, B) controllable (S(z) is a

minimum-phase spectral factor) and s ≥ n,


1 T
⇒ range(limN →∞ N Y s,s,N Y 0,s,N ) = range(Os )

22/24

Delft Center for Systems and Control


StochReal.m

23/24

Delft Center for Systems and Control


Preparation and next lecture
Preparation:
Study Chapter 9 (Exercise 9.3 plus section 9.3)
Download Matlab Session 2

Next lectures and Exercise/Matlab Classes:


Lecture 7: Stochastic Subspace and Instrumental Variables
Keep your eyes focussed on “Guide-
lines/Rules/Schedule sc4040: 2016-2017” for the
correct deadlines!

24/24

Delft Center for Systems and Control

Вам также может понравиться