Elliptical array using conformalArray function along with the reflector backing is giving error, what could be the reason?
1 回表示 (過去 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);
Thank You,
Biplob Biswas
PhD Research Scholar
0 件のコメント
採用された回答
Pranavkumar Mallela
2023 年 7 月 6 日
編集済み: 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 件のコメント
その他の回答 (0 件)
参考
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!