フィルターのクリア

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

1 回表示 (過去 30 日間)
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

採用された回答

Da Huang
Da Huang 2019 年 3 月 21 日
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 件のコメント
Marios Gatzianas
Marios Gatzianas 2019 年 3 月 24 日
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.

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeArray Geometries and Analysis についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by