Offset paraboloid reflector design

8 visualizaciones (últimos 30 días)
Albert Zurita
Albert Zurita el 13 de Jun. de 2024
Editada: Umeshraja el 23 de Sept. de 2024
I'm playing with the Antenna Toolbox, but I can't generate an offset reflector where the paraboloid is not symmetric (e.g., I would like only to have a section of the parabola, defining focal length, diameter, clearance...). Any attempt of using the propertires of the reflectorParabolic just moves the feed, reflector size, tilt...but always symmetric parabola.
ant = reflectorParabolic;
ant.Exciter = design(hornConical,18e9);
ant.Tilt = 40;
ant.Radius = 0.5;
ant.FocalLength = 1;
ant.FeedOffset = [0 0 0];
ant.Exciter.Tilt = 90;
show(ant)

Respuestas (1)

Umeshraja
Umeshraja el 23 de Sept. de 2024
Editada: Umeshraja el 23 de Sept. de 2024
I understand you're trying to create an offset paraboloid reflector design using MATLAB's Antenna Toolbox, but you are having trouble generating an asymmetric section of the parabola. To achieve this, you can isolate the mesh for the reflector and extract only the desired portion of the parabola. You can then create an STL file from the reflector surface and use it as the platform for an installed antenna analysis.
Here's a demonstration which considered reflector with a dipole exciter, focusing on a specific section of the parabola within the specified range
close all;
% Define frequency and dimensions
f = 3.5e9; % Frequency in Hz
D = 1.2; % Diameter of the reflector
F_by_D = 0.3; % Focal length to diameter ratio
% Design the parabolic reflector
p = design(reflectorParabolic, f);
p.Radius = D/2; % Set the radius of the reflector
p.FocalLength = F_by_D * D; % Set the focal length
p.Tilt = 90; % Tilt the reflector
p.TiltAxis = [0 1 0]; % Define the tilt axis
feedLoc = p.FeedLocation; % Get the feed location
% Display the designed reflector
figure;
show(p);
% Display the radiation pattern
figure;
Dmax = pattern(p, f, 0, 0);
pattern(p, f);
%% Isolate and export the desired section of the parabolic reflector
p.FeedOffset = [0, 0, 0]; % Reset feed offset
[Pt, t] = exportMesh(p); % Export the mesh points and connectivity list
% Identify the indices of points to be removed, keeping only the range -0.3 to 0.3
idrad = find(Pt(:,1) >= p.FocalLength | Pt(:,3) >= 0.3 | Pt(:,3) <= -0.3);
% Initialize array to store triangles to be removed
removeTri = [];
for i = 1:size(t,1)
if (any(t(i,1)==idrad)|| any(t(i,2)==idrad)||any(t(i,3)==idrad))
removeTri = [removeTri, i];
end
end
% Remove identified triangles
tref = t;
tref(removeTri,:) = [];
% Create a triangulation object and export to STL
TR = triangulation(tref(:,1:3), Pt);
Warning: Some input points are not referenced by the triangulation.
stlwrite(TR, 'UpdatedAnt.stl');
% Set up the installed antenna with the custom platform
pn = installedAntenna;
pl = platform;
exciter = p.Exciter;
exciter.Tilt = 0;
exciter.TiltAxis = [1 0 0];
pl.FileName = 'UpdatedAnt.stl';
pl.Units = 'm';
pn.Platform = pl;
pn.Element = exciter; % Excitation element is the same as before
pn.ElementPosition = [p.FeedLocation(1), 0, 0];
% Display the installed antenna
figure;
show(pn);
% Display the pattern of the installed antenna
figure;
pattern(pn, f);
We can also create custom antenna using 'shape.custom3D'
To know more, please refer to the following MATLAB R2023b documentation

Categorías

Más información sobre Installed Antenna and Large Structures en Help Center y File Exchange.

Productos


Versión

R2023b

Community Treasure Hunt

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

Start Hunting!

Translated by