- 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 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
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 Commenti
Risposte (1)
AR
il 22 Apr 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 Commenti
Vedere anche
Categorie
Scopri di più su Antennas, Microphones, and Sonar Transducers in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!




