covariance matrix estimation in MVDR beamforming

2 views (last 30 days)
Iam working on Minimum Variance Distortionless beamforming in frequency domain.
I have 8 microphones in a spiral shape with different heights(3D array). I have simulated signals(sinusoids) as jammers from 2 directions at -100° and -50° azimuth and my look direction is +100° azimuth. Now, I need to estimate the covariance matrix in frequency domain to place nulls in each jammer direction given by Cxx=1/N(X*X'). Here, X is the fft of entire signal or is it bin by bin as in Cxx=1/N[X(w1)*X(w1)'] where w1=first frequency bin and so on.?
Please help.

Answers (1)

Honglei Chen
Honglei Chen on 26 May 2012
That depends on whether you want to process your signal as narrow band or wide band. If you want narrow band, then you can treat everything as one frequency bin. If you want wideband, then you need to estimate for each frequency bin.
  4 Comments
zozo
zozo on 29 May 2012
I have divided my received signal (8x1000) into 8 segments of 125samples each. Now, FFT each segment, and compute the covariance matrix by selecting corresponding bin(8x1) from each of the segments and averaging them over segments to get the covariance matrix for 1st bin. Repeat the same for all the 125 bins to get 125 covariance matrices (8x8).
Now I compute the steering vector 'a' and the MVDR weights as:
N=125;
t_L; %8x1 vector of time delays from look direction at 100° on each of 8 microphones
omega = fs*[(0:N/2) (-N/2+1:-1)]/N; %frequency bins of impulse response
for v=1:N
Cxx=8x8 matrix computed as stated in above for each bin
a=exp(1i*t_L*2*pi*omega(v)); %8x125 steering vector towards look direction 100°
H_w=Cxx\a; % 8x125 filter coefficients for MVDR
end
Doing this, I get undistorted look direction but NO notches at jammer directions as shown below:
http://i47.tinypic.com/33le2hk.jpg
(Note: my source and 2 jammers are sinusoids of 900Hz,950Hz,1000Hz respectively
Honglei Chen
Honglei Chen on 30 May 2012
Not obvious what is wrong, but two things I noticed: (1) you should have 1 response curve for each bin, why is it only one line in the figure? (2) You are using 8 samples to estimate an 8x8 covariance matrix, there's not enough samples

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!