Inverting reflectorCylindrical - to allow for curved ground plane simulations

3 次查看(过去 30 天)
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 个评论
Alexander
Alexander 2023-9-19
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);

请先登录,再进行评论。

回答(1 个)

Alan
Alan 2023-10-16
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();

类别

Help CenterFile Exchange 中查找有关 Reflector Antennas 的更多信息

产品


版本

R2023a

Community Treasure Hunt

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

Start Hunting!

Translated by