# How to optimize the antenna weight of a two-dimensional array to generate null in a specific direction

9 ビュー (過去 30 日間)
2024 年 5 月 15 日

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)")

サインインしてコメントする。

### 回答 (1 件)

Honglei Chen 2024 年 6 月 19 日
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);

サインインしてコメントする。

### カテゴリ

Help Center および File ExchangeArray Geometries and Analysis についてさらに検索

R2024a

### Community Treasure Hunt

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

Start Hunting!

Translated by