Elliptical array using conformalArray function along with the reflector backing is giving error, what could be the reason?
1 visualizzazione (ultimi 30 giorni)
Mostra commenti meno recenti
Biplob
il 5 Giu 2023
Modificato: Pranavkumar Mallela
il 27 Lug 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 Commenti
Risposta accettata
Pranavkumar Mallela
il 6 Lug 2023
Modificato: Pranavkumar Mallela
il 27 Lug 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 Commenti
Più risposte (0)
Vedere anche
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!