Inverting reflectorCylindrical - to allow for curved ground plane simulations
Afficher commentaires plus anciens
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
le 19 Sep 2023
Réponses (1)
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 Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!