Inverting reflectorCylindrical - to allow for curved ground plane simulations

1 vue (au cours des 30 derniers jours)
Alexander
Alexander le 19 Sep 2023
Réponse apportée : Alan le 16 Oct 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 commentaire
Alexander
Alexander le 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);

Connectez-vous pour commenter.

Réponses (1)

Alan
Alan le 16 Oct 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();

Catégories

En savoir plus sur Reflector Antennas dans Help Center et File Exchange

Produits


Version

R2023a

Community Treasure Hunt

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

Start Hunting!

Translated by