Offset paraboloid reflector design
조회 수: 8 (최근 30일)
이전 댓글 표시
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)
댓글 수: 0
답변 (1개)
Umeshraja
2024년 9월 23일
편집: Umeshraja
2024년 9월 23일
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);
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
댓글 수: 0
참고 항목
카테고리
Help Center 및 File Exchange에서 Installed Antenna and Large Structures에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!