Covariance matrix for MUSIC

Started by krish_dsp August 1, 2008
hi guys..
I am in the process of doing a project on implementation of MUSIC
algorithm for beamforming. 
I want to know as to how to create a covariance matrix.
For example if we have 3 antennas and we are taking 5 snapshots of the
incident signal, then how do we get the covariance matrix of the input
data.
I know the formula to find covariance of two signals.
My confusion is for two sequences of length M, the covariance/correlation
has values for 0 lag, 1st lag, 2nd lag......up M-1 lag.
In the example above, we have 3 antennas each with a length of 5 values.
Does the covariance matrix needs to be calculated for 0 lag....4th lag.
I mean do we have 5 covariance matrices??

I am kinda stuck here and I am not able to get any sources to clear this
doubt. If anyone can give me an explanation, it will be very helpful.Even a
simple 3x3 matrix example will help me a long way in clearing this doubt.

Thank you.


On Aug 1, 3:34 pm, "krish_dsp" <nmkr...@gmail.com> wrote:
> hi guys.. > I am in the process of doing a project on implementation of MUSIC > algorithm for beamforming. > I want to know as to how to create a covariance matrix. > For example if we have 3 antennas and we are taking 5 snapshots of the > incident signal, then how do we get the covariance matrix of the input > data. > I know the formula to find covariance of two signals. > My confusion is for two sequences of length M, the covariance/correlation > has values for 0 lag, 1st lag, 2nd lag......up M-1 lag. > In the example above, we have 3 antennas each with a length of 5 values. > Does the covariance matrix needs to be calculated for 0 lag....4th lag. > I mean do we have 5 covariance matrices?? > > I am kinda stuck here and I am not able to get any sources to clear this > doubt. If anyone can give me an explanation, it will be very helpful.Even a > simple 3x3 matrix example will help me a long way in clearing this doubt. > > Thank you.
You could do this for covariance matrix R R(k+1)=beta*R(k)+(1-beta)*XX' where X is the vector of readings from each sensor. (' is transpose and beta is a forgetting factor near unity...0.98 say) Or there are other methods for stationary data R(k+1)=R(k)+(1/(k+1){R(k)-XX'} something like that anyway. K.
On 1 Aug, 05:34, "krish_dsp" <nmkr...@gmail.com> wrote:
> hi guys.. > I am in the process of doing a project on implementation of MUSIC > algorithm for beamforming. > I want to know as to how to create a covariance matrix. > For example if we have 3 antennas and we are taking 5 snapshots of the > incident signal, then how do we get the covariance matrix of the input > data. > I know the formula to find covariance of two signals. > My confusion is for two sequences of length M, the covariance/correlation > has values for 0 lag, 1st lag, 2nd lag......up M-1 lag. > In the example above, we have 3 antennas each with a length of 5 values. > Does the covariance matrix needs to be calculated for 0 lag....4th lag.
Yes.
> I mean do we have 5 covariance matrices??
Yes.
> I am kinda stuck here and I am not able to get any sources to clear this > doubt. If anyone can give me an explanation, it will be very helpful.Even a > simple 3x3 matrix example will help me a long way in clearing this doubt.
You are confusing time domain and spatial domain. The MUSIC DoA estimator uses the spatial covariance matrix, while you probably have read a recipe for the temporal MUSIC algorithm. Your data will be organized as x[n,m] = [x_1[n], x_2[n],...,x_M[n]] where x_m[n] is the time series from the m'th sensor (I am used to use n as the temporal index and m as the spatial index). The trick is to fix n and compute the *spatial* covariance Rxx[k]=Rxx[m,m+k] for each lag n. Rune
Thank you rune, I got it, As u said I was confusing the formula for
temporal covariance with spatial covariance.
>On 1 Aug, 05:34, "krish_dsp" <nmkr...@gmail.com> wrote: >> hi guys.. >> I am in the process of doing a project on implementation of MUSIC >> algorithm for beamforming. >> I want to know as to how to create a covariance matrix. >> For example if we have 3 antennas and we are taking 5 snapshots of the >> incident signal, then how do we get the covariance matrix of the input >> data. >> I know the formula to find covariance of two signals. >> My confusion is for two sequences of length M, the
covariance/correlation
>> has values for 0 lag, 1st lag, 2nd lag......up M-1 lag. >> In the example above, we have 3 antennas each with a length of 5
values.
>> Does the covariance matrix needs to be calculated for 0 lag....4th
lag.
> >Yes. > >> I mean do we have 5 covariance matrices?? > >Yes. > >> I am kinda stuck here and I am not able to get any sources to clear
this
>> doubt. If anyone can give me an explanation, it will be very
helpful.Even a
>> simple 3x3 matrix example will help me a long way in clearing this
doubt.
> >You are confusing time domain and spatial domain. The MUSIC DoA >estimator >uses the spatial covariance matrix, while you probably have read a >recipe >for the temporal MUSIC algorithm. > >Your data will be organized as > >x[n,m] = [x_1[n], x_2[n],...,x_M[n]] > >where x_m[n] is the time series from the m'th sensor (I am used to >use n as the temporal index and m as the spatial index). The trick >is to fix n and compute the *spatial* covariance > >Rxx[k]=Rxx[m,m+k] > >for each lag n. > >Rune >