How to optimize the antenna weight of a two-dimensional array to generate null in a specific direction
8 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
I have read the” Array Pattern Synthesis Part II: Optimization“,the optimization example is for one-dimensional array(ULA), and there are problems in my process of weight optimization for two-dimensional array(URA),Please give me some guidance,thanks!
N = 8;
M=8;
URA1 = phased.URA('Size',[N,M],'ArrayNormal','z');
pos = getElementPosition(URA1);
% position of elements
ang_i = [-70 -40 -20;0 0 0]; % interference angles
ang_d = [0;0]; % desired angle
Rn = sensorcov(pos,ang_i,db2pow(-40)); % Noise covariance matrix
sv_c = steervec(pos,[ang_d ang_i]); % Linear constraints
r_c = [1 zeros(size(ang_i))]'; % Desired response
w_lcmv = lcmvweights(sv_c,r_c,Rn); % LCMV weights
ang_plot = -90:0.1:90;
sv_plot = steervec(pos,ang_plot);
plcmv = plot(ang_plot,mag2db(abs(w_lcmv'*sv_plot)));
xline(ang_i,"--")
ylim([-100 0])
grid on
legend(plcmv,"LCMV - Analytic")
xlabel("Azimuth Angle (deg)")
ylabel("Beam Pattern (dB)")
0 Kommentare
Antworten (1)
Honglei Chen
am 19 Jun. 2024
Your script is pretty close, you just need to set up the desired response properly. However, you could take advantage of the pattern plot to plot the pattern for a planar array.
Hope this helps,
N = 8;
M = 8;
URA1 = phased.URA('Size',[N,M],'ArrayNormal','z');
pos = getElementPosition(URA1);
% position of elements
ang_i = [-40 -20 10;10 20 -10]; % interference angles
ang_d = [0;0]; % desired angle
Rn = sensorcov(pos,ang_i,db2pow(-40)); % Noise covariance matrix
sv_c = steervec(pos,[ang_d ang_i]); % Linear constraints
r_c = [1 zeros(1,size(ang_i,2))]'; % Desired response
w_lcmv = lcmvweights(sv_c,r_c,Rn); % LCMV weights
pattern(URA1,3e8,-90:90,-90:90,'CoordinateSyste','Rectangular',...
'Type','powerdb','Weights',w_lcmv);
view(0,90);
0 Kommentare
Siehe auch
Kategorien
Mehr zu Array Geometries and Analysis finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!