Antenna toolbox: Radiation pattern for linear array yields different results when same array is modeled as conformal

4 Ansichten (letzte 30 Tage)
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

Akzeptierte Antwort

Da Huang
Da Huang am 21 Mär. 2019
Hi Marios,
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.
  1 Kommentar
Marios Gatzianas
Marios Gatzianas am 24 Mär. 2019
Thank you very much for the answer, especially the remarks after the code regarding the different slices between the two arrays. I think the conformal array position offset is the culprit; by shifting the positions of the conformal array elements so that they are centered around 0 (exactly the same as the linear array), I was able to get a perfect match between the two results for the elevation pattern.
P.S. Regarding the angle notation, phi is azimuth and theta= 90 - elevation, correct? Therefore, your suggested code actually plots an azimuth pattern on the equator (elevation angle=0) instead of an elevation plane for phi=90. Please correct me if am wrong.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Produkte

Community Treasure Hunt

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

Start Hunting!

Translated by