MATLAB Answers


Issue with creating custom antenna element

Sri Harsha Kondapalli さんによって質問されました 2019 年 10 月 15 日
最新アクティビティ Maadhav Akula さんによって コメントされました 2019 年 11 月 5 日
I tried to create a custom antenna element such as the one listed in the link here.
I created top and bottom metal layer by adding and subtracting metal layers and finally the top and bottom metal layers are shown as antenna.polygon objects.
But when i try to stack these metal layers with the dielectric, MATLAB throws the following error:
The following error occurred converting from dielectric to antenna.Polygon:
Expected a string scalar or character vector for the parameter name.
Please let me know if I am making any error.

  3 件のコメント

Sri Harsha Kondapalli 2019 年 10 月 15 日
Even when I create a custom micro strip antenna, I am not able to edit the layers
Error using cell
Conversion to cell from antenna.Polygon is not possible.
The following error occurred converting from antenna.Polygon to cell:
Conversion to cell from antenna.Polygon is not possible.
Maadhav Akula 2019 年 10 月 22 日
Could you please share the code which you have used to create the antenna element?
Sri Harsha Kondapalli 2019 年 10 月 23 日
Thanks for responding. Here is my code,
I solved part of the problem in constructing of the antenna.
But now I face problems in mesh grid generation. Please take a look at the following code and let me know your suggestions.
% Copyrights SriHarshaKondapalli@AIMLAB2019
%% PCB Helical Antenna simulation in MATLAB
flayer=antenna.Rectangle('Length',21e-3,'Width', 10e-3);
blayer=antenna.Rectangle('Length',21e-3,'Width', 5e-3,'Center',[0,2.5*1e-3]);
flayer=flayer-antenna.Rectangle('Length',20e-3,'Width', 5e-3,'Center',[-0.5*1e-3,-2.5*1e-3]);
d = dielectric('Air');
p = pcbStack;
p.Name = 'RF-trigger';
p.BoardShape = antenna.Rectangle('Length',22e-3,'Width',20e-3);
p.Layers = {flayer,d,blayer};
p.FeedLocations = [10e-3, -4.5e-3, 1];
p.FeedDiameter = 0.6e-3;
p.ViaLocations=[10e-3 4.5e-3 1 3];
f_coarse = linspace(0.8e9,0.95e9,20);
impedance(p, f_coarse)
Error Log:
Index exceeds the number of array elements (3).
Error in antenna.Shape/fillFeatureHoleInMesh (line 861)
holeTriangles = [holeTriangles;ia(trhole.ConnectivityList)]; %#ok<AGROW>
Error in antenna.Shape/meshGenerator (line 722)
[p,t] = fillFeatureHoleInMesh(obj,p,t);
Error in antenna.Shape/parseNewMesherInputs (line 1092)
Error in antenna.Shape/mesh (line 797)
Error in em.PCBStructures/runMeshGeneratorForEachLayer (line 44)
[~] = mesh(tempMetalLayers{i},'MaxEdgeLength',maxEdgeLength, ...
Error in pcbStack/meshGenerator (line 731)
[p_temp,t_temp,layer_heights] = runMeshGeneratorForEachLayer(obj,tempMetalLayers,gndLayers,localConnModel);
Error in em.MeshGeometry/updateMeshForPcbStack
Error in em.MeshGeometry/updateMesh
Error in em.MeshGeometry/getMesh
Error in em.EmStructures/analyze
Error in em.EmStructures/impedance (line 154)
status = analyze(obj,freq);
Error in antenna_crude (line 23)
impedance(p, f_coarse)

サインイン to comment.


1 件の回答

回答者: Maadhav Akula 2019 年 11 月 4 日

The use case that you mentioned in the code you have kept the Feed Diameter is 0.6e-3, due to which some part of the feed comes out of the metal layer and the structure cannot be solved. One solution can be to change the feed diameter to 0.5e-3(or below) ,or we can change the feed location inside the patch.

  2 件のコメント

Sri Harsha Kondapalli 2019 年 11 月 4 日
Is there a minimum clearence around he feed and around a via for matlab to generate mesh?
Also can i customize the mesh with some constraints? I couldnot see much informatio on this particular topic.
Maadhav Akula 2019 年 11 月 5 日
Yes, the feed diameter should be less than or equal to (StripLineWidth)/2 and similar limitations apply to the via also.
The following link might help you regarding Mesh :

サインイン to comment.

Translated by