Inverting reflectorCylindrical - to allow for curved ground plane simulations

1 Ansicht (letzte 30 Tage)
Alexander
Alexander am 19 Sep. 2023
Beantwortet: Alan am 16 Okt. 2023
Hello,
As above I am trying to invert reflectorCylindrical:
i.e. I would like the dipole (or other exciter) to be above the curved surface of the reflector like so:
this requires the depth to be set to a negative value (i.e. inverting the reflector) but the reflectorCylindrical function does not permit this.
I made a new function called reflectorCylindricalInverted which does the following:
  • permits depth to be a negative number, by removing the 'positive' requirement - line 146
  • remove the positive tolerance (1e-6) value which was preventing negative numbers also - line 147
function set.Depth(obj,propVal)
%tol = 1e-6;
validateattributes(propVal,{'numeric'},...
{'nonempty','scalar','real','nonnan','finite',...
},'reflectorCylindrical', 'Depth');
if isPropertyChanged(obj,obj.Depth,propVal)
obj.Depth = propVal;
end
end
end
I am then able to successfully generate an inverted reflector:
Exciter: [1×1 dipole]
GroundPlaneLength: 0.2000
GroundPlaneWidth: 0.2000
Spacing: 0.0750
Depth: -0.0750
EnableProbeFeed: 0
Conductor: [1×1 metal]
Tilt: 0
TiltAxis: [1 0 0]
Load: [1×1 lumpedElement]
However, when I run show(ant) I get the following error:
Error using reflectorCylindricalInverted/createGeometry
The value specified for Depth should be less than or equal to 0.1.
Error in em.MeshGeometry/protectedshow
Error in em.MeshGeometryAnalysis/show (line 31)
protectedshow(obj);
Does anyone have any insight into a possible solution for this problem? If anyone is particularly familiar with the reflector functions, that would be very helpful.
  1 Kommentar
Alexander
Alexander am 19 Sep. 2023
I've managed to flip the reflector, however when running the pattern function from the antenna toolbox I get the following error:
Output argument "gr" (and possibly others) not assigned a value in the execution with "em.MeshGeometry/getNewMesherGrowthRate" function.
Error in em.MeshGeometry/getAutoMeshGrowthRate
Error in reflectorCylindricalInverted/calculateMeshParams (line 163)
growthRate = getAutoMeshGrowthRate(obj);
Error in em.MeshGeometry/getMesh
Error in em.EmStructures/analyze
Error in em.FieldAnalysisWithFeed/pattern (line 177)
analyze(obj,frequency,ElemNumber,parseobj.Results.Termination);

Melden Sie sich an, um zu kommentieren.

Antworten (1)

Alan
Alan am 16 Okt. 2023
Hi Alexander,
From what I understand, you want to create an antenna where the dipole faces the outside surface of the cylindrical reflector.
If modifying the inbuilt function is not possible, you could create an STL file containing the 3D design of the cylindrical surface and the dipole with the required orientation. Then, create a custom shaped antenna using the “customAntennaStl” function:
ant = customAntennaStl(FileName = 'design.stl');
Finally, use the createFeed” function to set the feed point on the dipole:
ant.createFeed();

Kategorien

Mehr zu Reflector Antennas finden Sie in Help Center und File Exchange

Produkte


Version

R2023a

Community Treasure Hunt

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

Start Hunting!

Translated by