Elliptical array using conformalArray function along with the reflector backing is giving error, what could be the reason?

2 次查看(过去 30 天)
Hi,
I am trying to desing an elliptical array, with dipole as array elements with reflector. The show(array) is showing me the geometry of the design, but when I plot the pattern(array,f0), then I am getting error: "Intersection detected in specified geometry."
Attaching the code for your reference.
MATLAB CODE:
%% Design Parameters
f0 = 2.4e9;
c = 3e9;
lam0 = c/f0;
N = 8;
e = 0.5;
ra = 0.05;
rat = sqrt(1-e^2);
rb = ra*rat;
l = 2;
%% Dipole Parameters
dip = dipole;
dip.Length = 0.058709;
dip.Width = 0.0012491;
%% Refelector Parameters
GndPlanelength = 200e-3;
GndPlaneWidth = 200e-3;
r = reflector;
r.Exciter = dip;
r.Spacing = lam0/4;
r.GroundPlaneLength = GndPlanelength;
r.GroundPlaneWidth = GndPlaneWidth;
%% Feed Locations
for n = 1: N
X(n) = ra*rb*cos(2*pi*(n-1)/N)/(sqrt(ra^2*(sin(2*pi*(n-1)/N))^2 + rb^2*(cos(2*pi*(n-1)/N))^2));
Y(n) = ra*rb*sin(2*pi*(n-1)/N)/(sqrt(ra^2*(sin(2*pi*(n-1)/N))^2 + rb^2*(cos(2*pi*(n-1)/N))^2));
pos(n,:) = [X(n) Y(n) lam0/4];
end
%% Feed Phase
phs_element = NaN(N,1);
for n = 1 : N
phs_element(n,:) = (2*pi*n*l/N)*(180/pi);
amp_taper(n,:) = 1;
end
%% Array Parameters
arr = conformalArray;
arr.Element = r;
arr.ElementPosition = pos;
arr.PhaseShift = phs_element;
arr.AmplitudeTaper = amp_taper;
%% Show antenna
figure
show(arr)
%% Antenna Pattern
figure
pattern(arr,f0);
Error using em.EmStructures/checkIntersection
Intersection detected in specified geometry.

Error in conformalArray/meshGenerator (line 417)
checkIntersection(obj);

Error in em.MeshGeometry/updateMesh

Error in em.MeshGeometry/getMesh

Error in em.EmStructures/analyze

Error in em.FieldAnalysisWithFeed/pattern (line 177)
analyze(obj,frequency,ElemNumber,parseobj.Results.Termination);
Thank You,
Biplob Biswas
PhD Research Scholar

采纳的回答

Pranavkumar Mallela
编辑:Pranavkumar Mallela 2023-7-27
Hi,
As per my understanding, you are trying to create an elliptical array using the 'conformalArray' function with reflector backing.
While using backing, it is preferred to set the 'Reference' property to the value 'origin' instead of the default value 'feed' in the constructor of 'conformalArray'. This will allow one to catch any intersections in the geometry.
Please find the edited part of the code below:
%% Array Parameters
arr = conformalArray('Reference', 'origin');
arr.Element = r;
arr.ElementPosition = pos;
arr.PhaseShift = phs_element;
arr.AmplitudeTaper = amp_taper;
The intersection in the geometry as follows:
Please go through the following documentation for more information regarding the 'conformalArray' function:
Thanks! Hope this helps!

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Array Catalog 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by