- https://www.mathworks.com/help/phased/ref/phased.ula-system-object.html
- https://www.mathworks.com/help/phased/ref/phased.steeringvector-system-object.html
- https://www.mathworks.com/help/phased/ref/phased.arrayresponse-system-object.html
Draw of envelope of the antenna radiation patterns for all available beams
6 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
I am new to the matlab suite.
I have seen several examples of how to draw beams in 5G communications, with different configs.
I am interested to see how to draw the envelope of the antenna radiation patterns for all available beams.
How can I make this in matlab?
Is it possible with sensor array analyzer?
0 commentaires
Réponses (1)
AR
le 22 Avr 2025
One way to plot the envelope of the antenna radiation patterns for all available beams, is by using the Phased Array System Toolbox in MATLAB.
Here is an example to draw the envelope of radiation patterns using an 8-element Uniform Linear Array (ULA) operating at 28 GHz:
% Parameters
N = 8; % Number of elements
fc = 28e9; % Frequency (28 GHz)
c = physconst('LightSpeed');
lambda = c/fc;
d = lambda/2; % Element spacing
array = phased.ULA('NumElements', N, 'ElementSpacing', d);
beamDirs = -60:20:60; % Beam steering directions
angles = -90:0.5:90; % Angle grid for plotting
allPatterns = zeros(length(beamDirs), length(angles));
for k = 1:length(beamDirs)
% Compute steering vector for this beam direction
w = phased.SteeringVector('SensorArray', array, 'IncludeElementResponse', true);
sv = w(fc, beamDirs(k));
% Array response object
arrayResp = phased.ArrayResponse('SensorArray', array, 'WeightsInputPort', true);
resp = arrayResp(fc, angles, sv); % [1 x numAngles], magnitude response
pat = 20*log10(abs(resp)); % Convert to dB
allPatterns(k, :) = pat;
plot(angles, pat, 'DisplayName', ['Beam at ' num2str(beamDirs(k)) '°']); hold on;
end
env = max(allPatterns, [], 1); % Envelope: max gain across all beams
plot(angles, env, 'k--', 'LineWidth', 2, 'DisplayName', 'Envelope');
xlabel('Angle (degrees)');
ylabel('Gain (dB)');
legend('show');
title('Radiation Patterns and Envelope for All Beams');
grid on; hold off;
The Phased Array Toolbox provides essential system objects such as “phased.ULA”, “phased.SteeringVector”, and “phased.ArrayResponse” used to model Uniform Linear Arrays, compute direction-dependent phase shifts and simulate array’s directional response respectively.
For interactive visualization and beam steering, you can use the Sensor Array Analyzer App. While this app is great for visualizing individual beam patterns, it does not compute the envelope across multiple beams directly. To do so, export the data and use a MATLAB script to calculate and plot the envelope.
Kindly refer to the documentation links below for more information on “phased.ULA”, “phased.SteeringVector”, and “phased.ArrayResponse”:
I hope this answers your question.
7 commentaires
Voir également
Catégories
En savoir plus sur Antennas, Microphones, and Sonar Transducers dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!




