Introduction to Subspace Tracking IEEE AES Dallas Chapter Meeting Richardson, TX Feb 28, 2006 Scott Baker L-3 Communications Greenville, TX [email protected].
Download ReportTranscript Introduction to Subspace Tracking IEEE AES Dallas Chapter Meeting Richardson, TX Feb 28, 2006 Scott Baker L-3 Communications Greenville, TX [email protected].
Introduction to Subspace Tracking IEEE AES Dallas Chapter Meeting Richardson, TX Feb 28, 2006 Scott Baker L-3 Communications Greenville, TX [email protected] Outline Introduction Time Series Data Model Subspaces & the Subspace Tracking Idea Subspace Tracking Categories A Secular Equation Subspace Tracker A Plane Rotation Subspace Tracker Simulations Data Model The time-series model for a sum of complex sinusoids in noise may be written Q j q n x ( n ) sq e e(n) q 1 This time series may be placed in the vector form Type? Singular? Type? x (1) x(2) A (ω )s e ( n ) x(n) x ( n ) j (1) 1 e A (ω ) e j1 ( n ) And in a matrix form X x N M 1, x N M , , x N e e j 2 (1) j 2 ( n ) Size? Looks like? j Q (1) j Q ( n ) e e Data Model Two Typical Goals in Time Series Estimation 1)Parameter estimation Number of signals Q The frequencies themselves The signal amplitudes 2)Noise reduction Find a cleaner version of x(n) Typical assumptions Signal model is stationary over a block Noise is pre-whitened as needed N >= M (more snapshots than sensors) Data Model The data matrix is often place in form of a correlation matrix Data matrix forms lead to an SVD Correlation matrix forms lead to an EVD X U ΣV H R X where UU VV H X V ΛV H What is U? H H UU H VV H IN IM What is V? Data Model The singular value decomposition can be seen in more detail as X U ΣV H u1 u2 1 uN 2 0 M v H 1 v2H v H M NxN NxM ui are unitary left singular vectors vi are unitary right singular vectors i are singular values MxM Data Model The eigenvalue decomposition can be seen in more detail as R V ΛV H v 1 v2 l1 v M l2 l M v H 1 v2H H v M MxM vi are unitary right eigenvectors li are eigenvalues MxM MxM How is the SVD and EVD related? How are the singular values and eigenvalues related? How are the singular vectors and eigenvectors related? How can we interpret an eigenvalue and an eigenvector? Data Model Box 1 M = 40; x = sin(2*pi*1 * [1:100]/22); % 1 Hz sinewave, figure; plot(x) X = datamtrx(x, M); R = X'*X; [V, L] = svd(R); figure; plot(V(:,1));hold on; plot(V(:,2)) Period = 22 samples N=61 Box 2 >> disp(L(1:3,1:3)) 693.4222 0 0 0 531.3492 0 0 0 0.0000 Why not one? Figure 1 - x Figure 2 – V (1st two) 1 Figure 3 – V (last 38) 0.25 0.8 0.2 0.6 0.15 0.4 0.1 0.2 0.05 0.5 0 0 0 -0.2 -0.05 -0.4 -0.1 -0.6 -0.15 -0.8 -0.2 -1 -0.25 0 10 20 30 40 50 60 70 80 90 100 -0.5 0 5 10 15 20 25 30 35 40 -1 0 5 10 15 20 25 30 35 40 Subspaces & Tracking From this example, consider a partition of the EVD R V ΛV H V S Signal Eigenvectors Span? VS and A ? Λ S VN ΛN V H S V N H Signal Eigenvalues Noise Eigenvectors “large” Noise Eigenvalues “small” Subspaces & Tracking Extend our previous example, by adding noise Box 1 M = 40; x = sin(2*pi*1 * [1:100]/22); % 1 Hz sinewave, x = x + randn(1,100); figure; plot(x) X = datamtrx(x, M); R = X'*X; [V, L] = svd(R); figure; plot(V(:,1));hold on; plot(V(:,2)) Only one change Effect? Meaning? Figure 2 – V (1st two) Figure 1 - x 3 2 Figure 3 – Eigenvalues 0.3 700 0.2 600 0.1 500 0 400 -0.1 300 -0.2 200 -0.3 100 1 0 -1 -2 -3 0 10 20 30 40 50 60 70 80 90 100 -0.4 0 5 10 15 20 25 30 35 40 0 0 5 10 15 20 25 30 35 40 Subspaces & Tracking Knowledge of the signal eigenvectors VS gives us knowledge of the frequency matrix A Knowing the span of VS is equivalent to knowing the span of VN One can show that VS VSH + VNVNH = I MUSIC The MUSIC algorithm uses VN to estimate the frequencies It is possible to show VNH A = 0 Which the same as VNH [a1,a2,…,aQ] = 0 Subspaces & Tracking Recall that the frequency matrix had the form j (1) 1 e A (ω ) e j1 ( n ) e e j 2 (1) j 2 ( n ) j Q (1) j Q ( n ) e e So, we know the structure of a column and if we had the qth frequency, we could construct the qth column We do know that VNH aq = 0 and we know VN from the decomposition of the data To find q, what can we do? Subspaces & Tracking Yup, good guess! We only need to build a sweep vector a() for from DC to ½ the sample frequency We can plot the inverse instead so that peaks are at the Q frequencies S() = 1 / || VNH a()|| S() is then the frequency spectrum with peaks at the Q frequencies Way cool! Subspaces & Tracking So how do we do this again? Step 1: Build a data matrix X x N M 1, x N M , , x N Step 2: Build a correlation matrix and find its EVD H H R X X V ΛV Step 3: Sort the eigenvalues largest to smallest and partition the EVD into signal portion & noise portion V V S VN Step 4: Compute the MUSIC spectrum & locate Q peaks S() = 1 / || VNH a()|| Subspaces & Tracking randn('state',1); n=[0:99]; x=exp(i*pi/2*n)+2*exp(i*pi/4*n)+exp(i*pi/3*n)+randn(1,100); R=corrmtx(x,12,'mod'); (type ‘help pmusic’) pmusic(R,3,'whole') MUSIC Spectrum Ps eudos pec trum Es timate via MUSIC 60 50 40 Power (dB) 30 S() 20 10 0 -10 -20 -30 0 0.2 0.4 0.6 0.8 1 Normaliz ed Frequenc y 1.2 1.4 ( rad/s ample) 1.6 1.8 Subspaces & Tracking So are we done yet? In stationary cases, yes In non-stationary cases, no The Q frequencies are often time-varying Hopping sigals Chirping signals Any kind of frequency modulated signal It is too expensive to compute an EVD at every instant of time Instead, use a subspace tracker to track the changes in VS (or equivalently VN) as new data comes in Subspaces & Tracking Let’s slightly modify our data model so that it is recursive What type of update is this called? ~ H R R 1 xx The factor is called a fading factor and is slightly less than unity The effective window size is B = 1 / (1-) The update assumes that we know the old EVD R VS Λ S VN ΛN V H S V N H And we wish to know the new EVD ~ ~ R VS ~ Λ ~ VN S ~ V H S ~ ~ Λ N V N H Do we need the whole EVD? Subspace Tracking Categories There are about 250 published papers on subspace tracking It sky-rocketed after the invention of the MUSIC algorithm There are several broad categories Secular equation (e.g., Bunch) Plane rotation (e.g., Businger) Optimization Lanczos Perturbation Power Method & Subspace Iteration Eigenvector computation with a priori eigenvalues Analog or Continuous Time Hybrid Techniques The Secular Equation Subspace Tracker Golub discovered the secular equation in 1971 Can be considered the first eigen- based subspace tracker (Businger wrote the first overall ST in 1970) Reveals a nice relation between original and updated eigenvalues Seven years later, Bunch, Nielsen and Sorensen introduced the classic secular equation subspace tracker A keen observation is that the eigenvalues of the new correlation are larger assuming the data has non-zero energy ~ ~ ~ l1 l1 l 2 l 2 l M l M original eigenvalue, largest updated eigenvalue, largest Gene Golub (Stanford) The Secular Equation Subspace Tracker This observation is important because it was noted that the rank-1 modification of the correlation can be written as the rank-1 modification of a diagonal matrix ~ H R R 1 xx Stick in the EVD ~ H H R V Λ V 1 xx ~ H H H R V [ Λ 1 V xx V ] V ~ H H R V [ Λ 1 zz ] V Because V is? And z is? What is left in the brackets then? Recall the monotonicity relation The Secular Equation Subspace Tracker Note we have the form D Λ 1 zz ~ H where R VDV Note that we can form the EVD D QΒQ H Is D a diagonal matrix? H And so the resultant EVD of the updated correlation is ~ R VQ Β Q ~ ~ V Λ H V H Remember the EVD… ~ ~ ~ ~H R V ΛV ~ So how are the eigenvalue s of D and R related? The Secular Equation Subspace Tracker Answer: They are equal Hence, to find the updated eigenvalues, we can find the eigenvalue of D. D Λ 1 zz H Recall from basic linear algebra, we can write Db b These two expressions can be used to find a formula for the updated eigenvalues det( Db b ) 0 Combining these three equations leads to the secular equation The Secular Equation Subspace Tracker The secular equation has zeros & poles at the eigenvalue locations 1 VD i z ~ vi 1 Di z 2 ~ D i D li I 2 M zi ( ) 1 (1 ) i 1 (l i ) Eigenvector Computation (i.i. not needed) Original eigenvalue (p) Efficient to curve fit here between poles Updated eigenvalue (z) 5 4 3 2 ( ) 1 0 -1 -2 -3 -4 -5 1 1.5 2 2.5 3 3.5 4 4.5 5 5.5 6 A Plane Rot. Subspace Tracker The first subspace tracker developed in 1970 P. Businger of Bell Labs Used plane rotations Impetus was updating a least squares problem SVD based solution Businger acknowledged the problem was posed by G. Dahlquist and related by G. Golub A Plane Rot. Subspace Tracker How might we proceed to update an SVD? X U ΣV H Adding a row X ~ X H (1 ) x U Σ V H H (1 ) x Similar trick to what? What structure does this factor have? U 0 0 Σ H H V I (1 ) x V U 0 0 Σ H H H QQ H ZZ V I (1 ) x V U 0 0 ~ H H Q Z V I What is Q? Z? Is this in SVD form? A Plane Rot. Subspace Tracker The Q and Z matrices are called plane rotation matrices The specific type of plane rotation used here is called a Given’s rotation c s s * a r c b 0 | r | | a | | b | 2 2 Real Given’s Rotation A p p ly 2 G iv en's b sa cb 0 a c a 2 c s 2 2 1 2 b 2 s b a a c B efor e R ota tio n r A fter R ota tio n A Plane Rot. Subspace Tracker So how do we use Given’s rotations to diagonalize the matrix? We have to be careful Eliminating one element in a column / row may perturb another column / row Need to apply Given’s rotations to both rows and columns Q Given’s Matrix a b 0 * * * Original Matrix = r 0 x x x x Transformed Matrix A Plane Rot. Subspace Tracker * Q1 Left (Row) Given’s Rotations First * * * * *** * * * Q3 0 0 = 0 * * * ** = x * * * ** * What is the resultant form? x * x * x * 0 0 0 0 A Plane Rot. Subspace Tracker The bidiagonal form is reduced to a diagonal form The process is iterative Start with column rotations (right) Then a set of row rotations (left) Repeat until the energy is minimal off the main diagonal A Plane Rot. Subspace Tracker So, going back to our SVD update U ~ X 0 0 ~ H H Q Z V I Q and Z are series of Given’s rotation matrices Q1Q2...QL Z1Z2….ZP And so our final result then is in the proper SVD form ~ ~ ~ ~H X U ΣV Example Simulation Single signal 8 1.62 SNR is 15 dB 1.6 1.58 Sample Rate = 640MHz 1.56 Linear FM signal 1.54 frequency 140 to 160 MHz 20MHz / 1000 samples 12.8 GHz / second = 0.975 (80 samples) TQR + root-MUSIC Spline Interpolation Polynomial = feature Freq Track w/ MTH=5, SNR=15, EBS = 40 x 10 1.52 1.5 1.48 1.46 1.44 1.42 500 1000 1500 2000 2500 3000 3500 4000 4500 5000 time sample 8 x 10 1.6 1.58 1.56 This is a spline fit to the first ramp. 1.54 1.52 1.5 1.48 1.46 1.44 1.42 100 200 300 400 500 600 700 800 900 Other Examples x 8 Freq Trac k 10 w/ MTH=5, SNR=15, EBS = 40 1.6 frequency 1.55 1.5 1.45 1.4 0 x 100 8 200 300 Freq Trac k 10 400 500 600 time s ample w/ MTH=5, SNR=15, 700 EBS 800 = 900 1000 40 1.6 1.5 frequency 1.4 1.3 1.2 1.1 1 0 200 400 600 800 1000 1200 time s ample 1400 1600 1800 2000