Phased Array Simulation script
Show older comments
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)
Honglei Chen
2 minutes ago
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.
Categories
Find more on Antennas, Microphones, and Sonar Transducers in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!