MATLAB Answers

Eigenvalues performance for uncorrelated signals

2 views (last 30 days)
fatoma Saml
fatoma Saml on 11 Jul 2021
Commented: fatoma Saml on 12 Jul 2021
Hi everyone,
I want to study the eigenvalues performance for two source signals, one of the signals have theta=0, while the other one have theta that change from -45 to 45. I implemented the following code
N_sig=2;
Theta1=[0]/180*pi; %%% first Source angle
Theta2=[-45:1:45]/180*pi; %% second Source angle
doa=[Theta1 Theta2]/180*pi; %Direction of arrival
P=[0:9]; %% number of antennas
lambda = 1; %% wavelength
d=lambda/2;%Element spacing
snr=10;%SNR
sigma2 = 0.01; % Noise variance
s_var= [10]; %% signal variance
center_freq=10^6;
Snap=100; %% number of snapshots
% % generating noise
noise=(1/sqrt(2))*(randn(length(P),Snap)+j*randn(length(P),Snap));
noise_std=10^(-snr/20);
n=noise_std*noise;
% generated signal
F=randn(N_sig,Snap)*pi;
Signal=sqrt(s_var).*exp(j*2*F);
% generate Data matrix
A=zeros(N_sig,length(P)); %To create a matrix with N_sign row and P column
for kk=1:N_sig
A(kk,:)=exp(j*2*pi*d*P'*sin(doa(kk))/lambda); % steering matrix
end
A=A';
x=A*Signal+n; % received signal
% % Data covariance matrix
R=x*x';
[V, D] = eig(R);
eigs_sorted = sort(diag(D),'descend');
DD=10*log10(eigs_sorted);
I have tried several ways, but I don't get the same result as in the figure shown below.
Any help I realy apperciate it.
  2 Comments
fatoma Saml
fatoma Saml on 12 Jul 2021
I define it in the code, but it was in captial letter, now I edit it.

Sign in to comment.

Answers (0)

Community Treasure Hunt

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

Start Hunting!

Translated by