Polarplot, how to delete outmost circle (axis) and message
3 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Dingodongo
el 26 de Dic. de 2023
Comentada: Star Strider
el 26 de Dic. de 2023
Hi,
I am trying to make a polarpattern of a phased array antenna, how can I get rid of the outmost circle in the plot, see the picture below. So I just want to see the circles at the magnitudes I set in the code (P.MagnitudeTick=[0.2 0.4 0.6 0.8 1]), the last circle should be the one with "1", no circle after that should be seen.
Also, is there a way to hide the message "Right click to interact with the plot", because it also appears in the svg-exports that I make, if I do not click it away beforehand (and I have hundrets of plots to make, it is very annoying to click all of them away).

Thank you very much!!
0 comentarios
Respuesta aceptada
Star Strider
el 26 de Dic. de 2023
The extra circle outside the magnitude 1 circle is the result of specifying this:
P.MagnitudeLim=[0 1.05];
If you remove that (or comment it out as I did here, or set it equal to 1 rather than 1.05), the extra circle disappears.
Try this —
clear all
%close all
clc
%╭────────────────────────────╮
steeringangle= 30 *-1;
firstplot=0;
%╰────────────────────────────╯
if (firstplot)
figure
else
hold on
end
% %%
% Create a Uniform Linear Array Object
Array = phased.ULA('NumElements',8,...
'ArrayAxis','y');
% The multiplication factor for lambda units to meter conversion
Array.ElementSpacing = 0.4999*1;
Array.Taper = ones(1,8).';
% Create an short dipole antenna element
Elem = phased.ShortDipoleAntennaElement;
Elem.FrequencyRange = [0 300000000];
Elem.AxisDirection = 'z';
Array.Element = Elem;
% Assign Frequencies and Propagation Speed
Frequency = 300000000;
PropagationSpeed = 300000000;
% Assign Steering Angles
SteeringAngles = [steeringangle;0];
% Assign Phase shift quantization bits
PhaseShiftBits = 0;
% Calculate Steering Weights
Freq3D = 300000000;
% Find the weights
w = zeros(getNumElements(Array), length(Frequency));
SteerVector = phased.SteeringVector('SensorArray', Array,...
'PropagationSpeed', PropagationSpeed, 'NumPhaseShifterBits', PhaseShiftBits(1));
for idx = 1:length(Frequency)
w(:, idx) = step(SteerVector, Frequency(idx), SteeringAngles(:, idx));
end
% % ╭────────────────────────╮
% %% │ 2D Polar Pattern │
% % ╰────────────────────────╯
format = 'polar';
cutAngle = 0;
plotType = 'Directivity';
plotStyle = 'Overlay';
p=1.03*pattern(Array, Frequency, -180:180, cutAngle, 'PropagationSpeed', PropagationSpeed,...
'CoordinateSystem', format ,'weights', w, ...
'Type', plotType, 'PlotStyle', plotStyle);
p_mag=normalize(db2mag(p),"range");
figure
P = polarpattern(0:1:360,p_mag);
P.LineWidth = 2;
P.AngleResolution= 45;
P.FontSizeMode= 'manual';
P.FontSize= 18;
P.FontName='Times';
P.AngleLim= [0 360];
P.AngleTickLabel = string(P.AngleTickLabel) + char(176) +' ';
P.MagnitudeFontSizeMultiplier=1;
P.MagnitudeAxisAngle= 315;
P.MagnitudeTick=[0.2 0.4 0.6 0.8 1];
% P.MagnitudeLim=[0 1.05]; % <— CHANGED
%Hintergrund auf weiß
P.GridBackgroundColor=[ 1 1 1];
print('Antenna','-dpng')
imshow(imread('Antenna.png'))
.
2 comentarios
Star Strider
el 26 de Dic. de 2023
My pleasure!
The message only appears in the GUI. It does not appear in the actual plot, or the plot image.
Más respuestas (0)
Ver también
Categorías
Más información sobre Array Geometries and Analysis en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!


