Covariance of Noise?

12 views (last 30 days)
zayed
zayed on 19 Dec 2011
Hi,
If I have zk a noise signal (5000*1),which is complex gaussian noise .How can I find the covariance matrix ,so that I need the next step- to success such that inner matrix multiplication to be correct- also I have zm radar_received signal (5000*1),Also the multiplication is (p')*(inverse of covariance matrix)*(zm).I need the result to be 1*1,where p is target steering vector =exp(2j*pi*f*n),n is # of samples.I need to do whitening matched filter detection!!!!!!!!!!!

Accepted Answer

Walter Roberson
Walter Roberson on 19 Dec 2011
The covariance of zk with regards to what?
If you are looking for the covariance of zk with itself, then as long as zk is a scalar you are going to get out only a single value (or a 2x2 array of the same value.)
If zk were an M x N matrix with N > 1, then cov(zk) would be N x N -- and thus cov(zk.') would be M x M; perhaps that is what you want. But it would require zk to be an array rather than a vector.
  4 Comments
zayed
zayed on 19 Dec 2011
zmis (5000*1) as zk ,do i have to divide them into blocks.then i alter the size of p to be suitable to the multiplication ,how?
Walter Roberson
Walter Roberson on 20 Dec 2011
If zm is 5000*1 then inv(M) must be 5000 in its second dimension, and in order for the inv(M) to be non-singular [because if it wasn't non-singular then inv(inv(M)) -> M would not exist) then M must be square and so must be 5000 x 5000. Then since p' is such that p' * inv(M) is 1 x 1, p' would have to be 1 x 5000 and so p itself would have to be 5000 x 1.
So we have deduced that inv(M) must be 5000 x 5000, which occurs when M itself is 5000 x 5000. But in order for a covariance matrix M to come out 5000 x 5000 then the array whose covariance was taken would itself would have to be S x 5000 for some S > 1, and so would have 5000*S elements in it. Your zk matrix only has 5000 elements in it, so unless more data could be added, we would calculate S as being 1 in order to match (5000) elements = (5000*S) elements, in contradiction of the requirement that S > 1 in order for the cov() call to succeed.
At this time, I do not seem to find any kind of correlation function that will accept a vector of length N and will return an N x N array of correlations of some kind. I looked through the standard tools such as corrcoef and xcov but the output array sizes would not appear to be what you want.

Sign in to comment.

More Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!