The Subspace
Tracking Loop


Daniel R. Fuhrmann
Department of Electrical Engineering
Campus Box 1127
Washington University
St. Louis, MO 63130
tel: (314) 935-6163

Abstract matrix is proposed. Unlike previous algorithms for subspace tracking, our method is based explicitly on a dynamic model for the time-varying subspace. The subspace S(t), as a function of time, is considered as a trajectory in a Grassmann manifold, and is given a coordinate representation via the projection matrix P(t). A general dynamic model for trajectories in the space of projection matrices (of fixed size N and rank K) is given by the differential equation

P(t) = A(t)P(t) ­ P(t)A(t)

where A(t) is a skew-symmetric matrix. If A(t) is held constant, then this equation describes a constant-velocity trajectory along a geodesic, which has the closed-form expression

P(t) = e At P(0)e- At .

Our goal is to observe a sequence of data vectors x(0), x(T), x(2T), ... where x(t) lies in or near the range space of P(t), and using our dynamic model, estimate the trajectory P(t) along with the constant or slowly time varying matrix A. Specifically, one iteration of our algorithm, applied for each new data vector x, is as follows:

1) B = xx HP -- Pxx H

2) A <-- FILTER {A, B}

3) P <-- e A Pe -A .

The structure of this tracking algorithm bears some resemblance to a phase-locked loop, and in fact steps 1,2, and 3 above can be viewed as the analogues of a mixer, a loop filter and a VCO, respectively. With this analogy in mind we have termed this algorithm the subspace tracking loop (STL). Analysis of this loop can be accomplished by first linearizing steps (1) and (3) above. As with the classical PLL, the amplitude of the input signal determines the loop gain, and because this is a discrete-time control system, the unknown gain can cause stability to be an issue. Proper design of the loop filter (step 2 above) is critical for overall system performance.




Direct comments and questions to:

MIT Lincoln Laboratory. All rights reserved.