Input-to-state filter and state covariance

The first step to explain the high resolution spectral analysis tools is to consider the input-to-state filter below and the corresponding the state statistics. The process {y_k} is the input and x_k is the state.

 

Then the filter transfer function is

 G(z)=(I-z^{-1}A)^{-1}B.

A positive semi-definite matrix R is the state covariance of the above filter, i.e. R:=E(x_kx_k^*) for some stationary input process {y_t}, if and only if it satisfies the following equation

 R-ARA^*=BH+H^*B^*,

for some row-vector H. Starting from a finite number of samples, we denote

 hat{R}=frac{1}{N} sum_{k=1}^N x_k x_k^*

the sample state covariance matrix.

If the matrix A is the companion matrix

 A = left[           begin{array}{ccccc}             0 & 0 & ldots & 0 & 0              1 & 0 & ldots & 0 & 0              vdots & vdots &  & vdots& vdots              0 & 0 & ldots & 1 & 0            end{array}         right],  ~~ B= left[           begin{array}{c}             1               0              vdots              0             end{array}         right], hspace*{3cm} (1)

the filter is a tapped delay line:

 

The corresponding state covariance R is Toeplitz matrix. Thus the state-covariance formalism subsumes the theory of Toeplitz matrices.

The input-to-state filter works as a “magnifying glass” or, as type of bandpass filter, amplifying the harmonics in a particular frequency interval. Shaping of the filter is accomplished via selection of the eigenvalues of A. In the above example, we set n=5 eigenvalues of A at 0.88e^{1.325i}, and the phase angle 1.325 is the middle of the interval [theta_1,;theta_2] where resolution is desirable. Then we build the pair A, B using routine cjordan.m, (and rjordan.m for real valued problem). The pair is normalized to satisfy

 AA^*+BB^*=I.

The routine dlsim_complex.m generate the state covariance matrix (dlsim_real.m for real valued problem). The following figure plots |G(e^{itheta})| versus theta. The gain |G(e^{itheta})| at theta equal 1.2 and 1.45 is approximately 3dB below peak value. The window is marked in the following figure. The figure to the right shows the detail within the window of interest.

code2
% setting up filter parameters and the svd of the input-to-state response
thetamid=1.325;
[A,B]=cjordan(5,0.88*exp(thetamid*1i));
% obtaining state statistics
R=dlsim_complex(A,B,y');
sv=Rsigma(A,B,th);
plot(th(:),sv(:));