How to add more nulling directions to Phased array pattern synthesis?

9 views (last 30 days)
Albert
Albert on 31 May 2020
Hi,
I'm trying to tune the Matlab example on steering vectors computation for array synthesis nulling on a given direction. The exampe below is from https://es.mathworks.com/help/phased/examples/array-pattern-synthesis.html
My question is, I want to consider only one look direction (thetaad = 0), but multiple interference directions (thetaan = [30 50]). This does not work in the example. Any ideas on how should this be addressed?
Thanks!
c = 3e8; % signal propagation speed
fc = 1e9; % signal carrier frequency
lambda = c/fc; % wavelength
thetaad = -30:5:30; % look directions
thetaan = 40; % interference direction
ula = phased.ULA(10,lambda/2);
ula.Element.BackBaffled = true;
% Calculate the steering vector for null directions
wn = steervec(getElementPosition(ula)/lambda,thetaan);
% Calculate the steering vectors for lookout directions
wd = steervec(getElementPosition(ula)/lambda,thetaad);
% Compute the response of desired steering at null direction
rn = wn'*wd/(wn'*wn);
% Sidelobe canceler - remove the response at null direction
w = wd-wn*rn;
% Plot the pattern
pattern(ula,fc,-180:180,0,'PropagationSpeed',c,'Type','powerdb',...
'CoordinateSystem','rectangular','Weights',w);
hold on; legend off;
plot([40 40],[-100 0],'r--','LineWidth',2)
text(40.5,-5,'\leftarrow Interference Direction','Interpreter','tex',...
'Color','r','FontSize',10)

Answers (0)

Community Treasure Hunt

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

Start Hunting!

Translated by