Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

Eigenvalues performance

Status
Not open for further replies.

fatomy

Newbie
Joined
Jul 11, 2021
Messages
1
Helped
0
Reputation
0
Reaction score
0
Trophy points
1
Activity points
21
Hi every one,

I want to study the eigenvalue performance when I have 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
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
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 tried several way to get the results as shown in the figure, but It didn't work. Any help I really appreciate it.
matlab.jpg
 

Status
Not open for further replies.

Similar threads

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top