Phased Array Simulation script

Hi I saw this phased array video by matlab
https://youtu.be/9WxWun0E-PM?si=GPxVMjpNA7bPBBz2
At 15:55, it simulated the different steering angles of antennas from -90 degrees to +90 degrees. However it doesn't show on the video how he did it.
Additionally, not only do I want to know how to do a script on steering angles, I also want to know how the pattern changes as each element(antenna) is being displaced on the x,y,z plane. Not just static like the video.

Answers (1)

Here is a script to reproduce the animation
%% Parameters
fc = 300e6;
c = 3e8;
lambda = c / fc;
d = lambda / 2;
%% Create ULA
antenna = phased.IsotropicAntennaElement('FrequencyRange', [200e6 400e6],...
'BackBaffled',true);
ura = phased.URA('Element', antenna, ...
'Size', [8 8], ...
'ElementSpacing', [d d]);
%% Steering Vector Object
sv = phased.SteeringVector('SensorArray', ura, 'PropagationSpeed', c);
%% Sweep Angles
sweepAngles = -60:2:60;
%% Animated 3D Pattern
figure('Position', [100 100 900 700]);
for idx = 1:length(sweepAngles)
steerAz = sweepAngles(idx);
w = sv(fc, [steerAz; 0]);
clf;
pattern(ura, fc, -180:1:180, -90:1:90, ...
'PropagationSpeed', c, ...
'Type', 'Powerdb', ...
'Weights', w);
title(sprintf('8x8 URA | Steering Angle = %+d°', steerAz));
drawnow;
pause(0.1);
end
If you want to adjust the element positions, depending on how much you want to do, you can either do a conformal array, or use perturbation analysis to see the effect of small position errors have on the array pattern.

Asked:

on 26 May 2026 at 4:47

Answered:

about 7 hours ago

Community Treasure Hunt

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

Start Hunting!