Wiener-Hopf kernel es/ma/on NEU 466M Instructor: Professor Ila R. - - PowerPoint PPT Presentation

wiener hopf kernel es ma on
SMART_READER_LITE
LIVE PREVIEW

Wiener-Hopf kernel es/ma/on NEU 466M Instructor: Professor Ila R. - - PowerPoint PPT Presentation

Wiener-Hopf kernel es/ma/on NEU 466M Instructor: Professor Ila R. Fiete Spring 2016 Problem setup /me-varying signal (s/mulus) { x t 1 , x t , x t +1 } sampled at discrete intervals { y t 1 , y t , y t +1


slide-1
SLIDE 1

Wiener-Hopf kernel es/ma/on

NEU 466M Instructor: Professor Ila R. Fiete Spring 2016

slide-2
SLIDE 2

Problem setup

/me-varying signal (s/mulus) sampled at discrete intervals

unknown kernel. If M1=0: causal.

{· · · xt−1, xt, xt+1 · · · }

{hM1, · · · , hM2}

y(n) =

M2

X

m=M1

x(n − m)h(m) + ✏(n)

{· · · yt−1, yt, yt+1 · · · }

/me-varying signal (response)

Assume y derived from x, through convolu/on with unknown kernel h and small noise term ε:

slide-3
SLIDE 3

Ques/on

What is the best possible es/mate of h, given x, y?

y(n) =

M2

X

m=M1

x(n − m)h(m) + ✏(n)

slide-4
SLIDE 4

Minimiza/on problem

Find h that minimizes the squared error between measured y and values predicted from x by the model.

E = 1 2

X

n=−∞

yn −

M2

X

m=M1

xn−mhm !2

ˆ hM1 · · · ˆ hM2 = arg min

hM1···hM2

E

slide-5
SLIDE 5

Minimiza/on problem

E = 1 2

X

n=−∞

yn −

M2

X

m=M1

xn−mhm !2

ˆ hM1 · · · ˆ hM2 = arg min

hM1···hM2

E Compare: (very similar) linear regression framework.

slide-6
SLIDE 6

Solve: minimiza/on problem

0 = ∂E ∂hi = − X

n

yn −

M2

X

m=M1

xn−mhm ! xn−i = − X

n

ynxn−i + X

m

(hm X

n

xn−mxn−i) = Cxy

i

M2

X

m=M1

hmCxx

i−m

slide-7
SLIDE 7

Wiener-Hopf equa/ons

Cxy

i

=

M2

X

m=M1

hmCxx

i−m

  • This is the least-squares op/mal solu/on for the unknown kernel h.
  • It depends on the cross-correla/on of the input and the response (STA).
  • But it also depends on the auto-correla/on of the input, unlike the STA.

input auto-correla/on cross-correla/on/STA unknown kernel

slide-8
SLIDE 8

Linear regression as special case of Wiener-Hopf

Cxy

i

=

M2

X

m=M1

hmCxx

i−m

M1 = M2 = 0

No /me-lags in auto- and cross-correla/on since x,y sta/onary samples not /me series (so i=0). Only one term h (the slope between x, y), no convolu/on, so

Cxy = Cxxh0

h0 = Cxy Cxx

Op/mal least-squares es/mate of slope in linear regression (look back at notes)

slide-9
SLIDE 9

Wiener-Hopf equa/ons: solu/on?

Cxy

i

=

M2

X

m=M1

hmCxx

i−m

M2-M1+1 unknowns hm. M2-M1+1 equa/ons: ith equa/on obtained by differen/a/ng w.r.t. hi. Thus, generically, a solu/on exists. Easy way to solve?

input auto-correla/on (M2-M1+1) x 1 cross-correla/on/STA unknown kernel: (M2-M1+1) x 1

slide-10
SLIDE 10

MATRIX-VECTOR ALGEBRA

Brief algebra detour before we solve Wiener-Hopf equa/ons

slide-11
SLIDE 11

Matrix-vector algebra

size (n x m) matrix

A =     a11 a12 · · · a1m a21 a22 · · · a2m · · · · · · · · · · · · an1 an2 · · · anm    

v =      v1 v2 . . . vm     

size (m x 1) column vector

slide-12
SLIDE 12

Nota/on

  • Matrices: upper-case
  • Vector: bold, (usually) lower-case

(handwri/ng: )

  • Elements of matrix, vector: lower-case
  • Scalar numbers: lower-case, no indices

A, B, U, W x, y, v, w aij, bi, vj, ukl

x → x

a, b, c, γ, α

slide-13
SLIDE 13

Matrix-vector algebra

(n x m) (m x 1)

    a11 a12 · · · a1m a21 a22 · · · a2m · · · · · · · · · · · · an1 an2 · · · anm    

     v1 v2 . . . vm     

Av =

     a11v1 + a12v2 + · · · + a1mvm a21v1 + a22v2 + · · · + a2mvm . . . an1v1 + an2v2 + · · · + anmvm     

(n x 1)

=

(1) (2) (1) (2)

(Av)i =

m

X

j=1

Aijvj

i any index in {1,…,n}

slide-14
SLIDE 14

    b11 b12 · · · b1l b21 b22 · · · b2l · · · · · · · · · · · · bm1 bm2 · · · bml    

Matrix-matrix product

(n x m) (m x l)

    a11 a12 · · · a1m a21 a22 · · · a2m · · · · · · · · · · · · an1 an2 · · · anm    

(n x l)

=

    (a11b11 + · · · + a1mbm1) · · · (a11b1l + · · · + a1mbml) (a21b11 + · · · + a2mbm1) · · · (a21b1l + · · · + a2mbml) · · · · · · · · · (an1b11 + · · · + anmbm1) · · · (an1b1l + · · · + anmbml)    

AB =

slide-15
SLIDE 15

    b11 b12 · · · b1l b21 b22 · · · b2l · · · · · · · · · · · · bm1 bm2 · · · bml    

Matrix-matrix product

(n x m) (m x l)

    a11 a12 · · · a1m a21 a22 · · · a2m · · · · · · · · · · · · an1 an2 · · · anm    

=

    (a11b11 + · · · + a1mbm1) · · · (a11b1l + · · · + a1mbml) (a21b11 + · · · + a2mbm1) · · · (a21b1l + · · · + a2mbml) · · · · · · · · · (an1b11 + · · · + anmbm1) · · · (an1b1l + · · · + anmbml)    

AB =

slide-16
SLIDE 16

    b11 b12 · · · b1l b21 b22 · · · b2l · · · · · · · · · · · · bm1 bm2 · · · bml    

Matrix-matrix product

(n x m) (m x l)

    a11 a12 · · · a1m a21 a22 · · · a2m · · · · · · · · · · · · an1 an2 · · · anm    

=

    (a11b11 + · · · + a1mbm1) · · · (a11b1l + · · · + a1mbml) (a21b11 + · · · + a2mbm1) · · · (a21b1l + · · · + a2mbml) · · · · · · · · · (an1b11 + · · · + anmbm1) · · · (an1b1l + · · · + anmbml)    

AB =

slide-17
SLIDE 17

    b11 b12 · · · b1l b21 b22 · · · b2l · · · · · · · · · · · · bm1 bm2 · · · bml    

Matrix-matrix product

(n x m) (m x l)

    a11 a12 · · · a1m a21 a22 · · · a2m · · · · · · · · · · · · an1 an2 · · · anm    

=

    (a11b11 + · · · + a1mbm1) · · · (a11b1l + · · · + a1mbml) (a21b11 + · · · + a2mbm1) · · · (a21b1l + · · · + a2mbml) · · · · · · · · · (an1b11 + · · · + anmbm1) · · · (an1b1l + · · · + anmbml)    

AB =

slide-18
SLIDE 18

    b11 b12 · · · b1l b21 b22 · · · b2l · · · · · · · · · · · · bm1 bm2 · · · bml    

Matrix-matrix product

(n x m) (m x l)

    a11 a12 · · · a1m a21 a22 · · · a2m · · · · · · · · · · · · an1 an2 · · · anm    

=

    (a11b11 + · · · + a1mbm1) · · · (a11b1l + · · · + a1mbml) (a21b11 + · · · + a2mbm1) · · · (a21b1l + · · · + a2mbml) · · · · · · · · · (an1b11 + · · · + anmbm1) · · · (an1b1l + · · · + anmbml)    

AB =

slide-19
SLIDE 19

    b11 b12 · · · b1l b21 b22 · · · b2l · · · · · · · · · · · · bm1 bm2 · · · bml    

Matrix-matrix product

(n x m) (m x l)

    a11 a12 · · · a1m a21 a22 · · · a2m · · · · · · · · · · · · an1 an2 · · · anm    

=

    (a11b11 + · · · + a1mbm1) · · · (a11b1l + · · · + a1mbml) (a21b11 + · · · + a2mbm1) · · · (a21b1l + · · · + a2mbml) · · · · · · · · · (an1b11 + · · · + anmbm1) · · · (an1b1l + · · · + anmbml)    

AB =

slide-20
SLIDE 20

    b11 b12 · · · b1l b21 b22 · · · b2l · · · · · · · · · · · · bm1 bm2 · · · bml    

Matrix-matrix product

(n x m) (m x l)

    a11 a12 · · · a1m a21 a22 · · · a2m · · · · · · · · · · · · an1 an2 · · · anm    

=

    (a11b11 + · · · + a1mbm1) · · · (a11b1l + · · · + a1mbml) (a21b11 + · · · + a2mbm1) · · · (a21b1l + · · · + a2mbml) · · · · · · · · · (an1b11 + · · · + anmbm1) · · · (an1b1l + · · · + anmbml)    

AB =

slide-21
SLIDE 21

    b11 b12 · · · b1l b21 b22 · · · b2l · · · · · · · · · · · · bm1 bm2 · · · bml    

Matrix-matrix product

(n x m) (m x l)

    a11 a12 · · · a1m a21 a22 · · · a2m · · · · · · · · · · · · an1 an2 · · · anm    

=

    (a11b11 + · · · + a1mbm1) · · · (a11b1l + · · · + a1mbml) (a21b11 + · · · + a2mbm1) · · · (a21b1l + · · · + a2mbml) · · · · · · · · · (an1b11 + · · · + anmbm1) · · · (an1b1l + · · · + anmbml)    

AB =

slide-22
SLIDE 22

Matrix-matrix product

(n x m) (m x l)

=

AB =

(n x l)

slide-23
SLIDE 23

Matrix-matrix product =

AB =

(n x m) (m x l) (n x l)

slide-24
SLIDE 24

System of equa/ons

a11v1 + · · · + a1mvm = b1 a21v1 + · · · + a2mvm = b2 · · · · · · · · · an1v1 + · · · + anmvm = bn

n equa/ons in m unknowns (v1,…vm):

slide-25
SLIDE 25

System of equa/ons

(n x m) (m x 1) (n x 1)

a11v1 + · · · + a1mvm = b1 a21v1 + · · · + a2mvm = b2 · · · · · · · · · an1v1 + · · · + anmvm = bn

n equa/ons in m unknowns (v1,…vm):

    a11 a12 · · · a1m a21 a22 · · · a2m · · · · · · · · · · · · an1 an2 · · · anm    

     v1 v2 . . . vm           b1 b2 . . . bn     

=

slide-26
SLIDE 26

System of equa/ons

(n x m) (m x 1) (n x 1)

a11v1 + · · · + a1mvm = b1 a21v1 + · · · + a2mvm = b2 · · · · · · · · · an1v1 + · · · + anmvm = bn

n equa/ons in m unknowns (v1,…vm):

Av = b

    a11 a12 · · · a1m a21 a22 · · · a2m · · · · · · · · · · · · an1 an2 · · · anm    

     v1 v2 . . . vm           b1 b2 . . . bn     

=

slide-27
SLIDE 27

System of equa/ons: when does unique solu/on exist?

(n x m) (m x 1) (n x 1)

n equa/ons in m unknowns: generically, a unique solu/on exists when n=m, or A is square

Av = b

    a11 a12 · · · a1m a21 a22 · · · a2m · · · · · · · · · · · · an1 an2 · · · anm    

     v1 v2 . . . vm           b1 b2 . . . bn     

=

(n x m) (m x 1) (n x 1)

=

n n

slide-28
SLIDE 28

System of equa/ons: when does unique solu/on exist?

n equa/ons in m unknowns: generically, a unique solu/on exists when n=m, or A is square

Av = b

(n x n) (n x 1) (n x 1)

When soluDon exists, it is given by:

v = A−1b A−1A = AA−1 = I

Where A-1 is the inverse of the matrix A, and is defined as:

Iden/ty matrix

(n x n) (n x 1) (n x 1)

slide-29
SLIDE 29

Iden/ty matrix

Square matrix with 1’s on the diagonal, 0’s everywhere else:

I =      1 · · · 1 · · · ... · · · 1     

BI = B IB = B

(n x m) (m x m) (n x m) (n x n) (n x m) (n x m)

slide-30
SLIDE 30

SOLUTION OF WIENER-HOPF EQUATIONS

Return to

slide-31
SLIDE 31

Wiener-Hopf equa/ons: matrix form

Cxy

i

=

M2

X

m=M1

hmCxx

i−m

)i = (Cxxh)i

Cxy = Cxxh

define matrix Cxx such that (Cxx)i,m ≡ Cxx

i−m

vector h such that (h)i ≡ hi vector Cxy such that (Cxy)i ≡ Cxy

i

(Cxy)i =

M2

X

m=M1

(Cxx)i,mhm

size (M2-M1+1) x (M2-M1+1) size (M2-M1+1) x 1 size (M2-M1+1) x 1

Wiener-Hopf equa/ons in matrix-vector form

slide-32
SLIDE 32

Solu/on of the Wiener-Hopf equa/ons

Cxy = Cxxh

(M2-M1+1) x (M2-M1+1) inverse auto-correla/on matrix STA: (M2-M1+1) x 1 unknown kernel: (M2-M1+1) x 1

h = (Cxx)−1Cxy

Matlab: toeplitz for autocorrelation matrix, A\b for A−1b

slide-33
SLIDE 33

The autocorrela/on matrix

K=M2-M1+1 Symmetric Toeplitz

Cxx =         Cxx Cxx

1

Cxx

2

· · · Cxx

K

Cxx

1

Cxx Cxx

1

. . . ... ... ... Cxx

K−1

... Cxx Cxx

1

Cxx

K

Cxx

K−1

Cxx

1

Cxx        

slide-34
SLIDE 34

The autocorrela/on matrix

K=M2-M1+1 Symmetric Toeplitz

Cxx =         Cxx Cxx

1

Cxx

2

· · · Cxx

K

Cxx

1

Cxx Cxx

1

. . . ... ... ... Cxx

K−1

... Cxx Cxx

1

Cxx

K

Cxx

K−1

Cxx

1

Cxx        

When s/mulus x is white noise then autocorrela/on zero everywhere except at 0-lag. Thus, Cxx

ij = 0 except along main diagonal à Cxx i j= I (idenDty matrix).

slide-35
SLIDE 35

Wiener-Hopf solu/on when s/mulus is white

h = (Cxx)−1Cxy Cxx, (Cxx)−1 = I

for white noise s/mulus

h = Cxy = STA

The Wiener-Hopf es/mate of the kernel is the STA when the s/mulus is uncorrelated.

slide-36
SLIDE 36

Summary

  • Wiener-Hopf equa/ons give the (least-squared error) op/mal value
  • f an unknown kernel between input x and response y.
  • Linear regression is special case of Wiener-Hopf filtering for

sta/onary data.

  • STA is a special case of the Wiener-Hopf kernel if the s/mulus is
  • white. Thus, STA is the best (minimum squared error) kernel

es/mate for uncorrelated s/mulus.

  • For correlated s/mulus, STA kernel es/mate is always wider than

the true kernel. Wiener-Hopf solu/on: normalize kernel by inverse

  • f s/mulus correla/on matrix (it accounts for the s/mulus-induced

response correla/on).