Gatzianas asked . 2021-12-28
Antenna toolbox: Radiation pattern for linear array yields
Antenna toolbox: Radiation pattern for linear array yields different results when same array is modeled as conformal
I have a simple 6 element array of z-oriented dipoles, where the array is aligned along the x axis. I modeled this array as either a linearArray or a conformalArray. Yet, when I compute the radiation pattern for the phi=90 plane (i.e. the y-z plane that cuts perpendicularly the array axis), I get vastly different results depending on whether I use linearArray or conformalArray. The unexpected result appears in Fig. 5 of the attached M file.
The strange thing is that intuition and running other functions (i.e. patternMultiply, arrayFactor) suggests that the pattern should be very low everywhere, due to the symmetry of the array. I even plotted the excitation currents on both arrays and they are practically identical (relative error < 1e-9) for linearArray vs conformalArray, so how can the radiation patterns be different? Is there some internal Matlab magic going on, is it a bug or is my understanding of arrays wrong?
I am using Antenna Toolbox 3.0 with R2017b
antenna toolbox , radiation pattern , lineararray , conformalarray
Prashant Kumar answered . 2024-12-21 00:31:15
By going through your code, I notice that you call the pattern function through: [F5,azi5,elv5]= pattern(la1,fd,90,-180:179);
However, antnena toolbox is in az/el system, not phi/theta. In order to correctly compute the pattern at phi = 90, theta = -180:180. you need to call pattern with the az/el value. [F5,azi5,elv5]= pattern(la1,fd,0,-180:179);
you can run the following updated code in your script, then you will get identical far field pattern result for the phi = 90 cut slice.
[F5,azi5,elv5]= pattern(la1,fd,-180:180,0);
[F6,azi6,elv6]= pattern(ca1,fd,-180:180,0);
figure; plot(azi5,F5); hold on; plot(azi6,F6,'r');
title('Elevation plot for phi=90'); legend('centered array','offset array');
set(gcf,'name','Coupling considered');axis tight;
In your orignial code, the cut slice is centered at origin, and not in main lobe, but close to one of the nulls. Also due to the offset of the two arrays, this cut is not the same place/element in the array, which lead to the difference in your code. if you plot the 3D full pattern of the array, you will find them are identical.
Also, the pattern result from arrayFactor and patternMultiplier are different from pattern function, since both of them are more direct analytical calculation based on the location of the elements, and element phase information. coupling between elements are not included in analysis. Thus, the comparison are perfectly the same. However, pattern function provide a full em simulation which does consider mutual coupling. small variations in the location, could result some small difference in the far field pattern value, especially in the nulls.
Not satisfied with the answer ?? ASK NOW