Elliptical array using conformalArray function along with the reflector backing is giving error, what could be the reason?
1 view (last 30 days)
Show older comments
Biplob
on 5 Jun 2023
Edited: Pranavkumar Mallela
on 27 Jul 2023
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);
Thank You,
Biplob Biswas
PhD Research Scholar
0 Comments
Accepted Answer
Pranavkumar Mallela
on 6 Jul 2023
Edited: Pranavkumar Mallela
on 27 Jul 2023
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 Comments
More Answers (0)
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!