Этот пример использует бесконечный анализ массивов, чтобы смоделировать большие конечные массивы. Бесконечный анализ массивов элементарной ячейки показывает поведение импеданса сканирования на особой частоте. Эта информация используется со знанием изолированного шаблона элемента и импеданса, чтобы вычислить шаблон элемента сканирования. Большой конечный массив затем моделируется с помощью предположения, что каждый элемент в массиве обладает тем же шаблоном элемента сканирования. Действительный массив конечного размера может анализироваться с помощью встроенного шаблона элемента в качестве следующего шага. Этот подход представлен в Моделировании Взаимной Связи в Больших массивах Используя Встроенный Шаблон Элемента.
Этот пример требует следующего продукта:
Phased Array System Toolbox
Для этого примера мы выбираем центр X-полосы как наша частота проекта.
freq = 10e9;
vp = physconst('lightspeed');
lambda = vp/freq;
ucdx = 0.5*lambda;
ucdy = 0.5*lambda;
Создайте тонкий диполь длины немного меньше, чем и присвойте ее как возбудитель к бесконечно большому отражателю.
d = dipole; d.Length = 0.495*lambda; d.Width = lambda/160; d.Tilt = 90; d.TiltAxis = [0 1 0]; r = reflector; r.Exciter = d; r.Spacing = lambda/4; r.GroundPlaneLength = inf; r.GroundPlaneWidth = inf; figure; show(r);
Вычислите изолированный шаблон элемента и импеданс вышеупомянутой антенны. Эти результаты будут использоваться, чтобы вычислить Шаблон элемента сканирования (SEP). Этот термин также известен как Шаблон элемента массива (AEP) или Встроенный шаблон элемента (EEP).
%Define az and el vectors az = 0:2:360; el = 90:-2:-90; % Calculate power pattern giso = pattern(r,freq,az,el,'Type','power'); % el x az % Calculated impedance Ziso = impedance(r,freq);
Элементарная ячейка В бесконечном анализе массивов термин элементарная ячейка обращается к одному элементу в бесконечном массиве. Элемент элементарной ячейки нуждается в наземной плоскости. Антенны, которые не имеют groundplane, должны быть поддержаны отражателем. Представительным примером для каждого случая был бы диполь, поддержанный отражателем и микрополосковой антенной закрашенной фигуры. Этот пример будет использовать диполь, поддержанный отражателем, и анализировать поведение импеданса на уровне 10 ГГц как функция угла сканирования. Элементарная ячейка будет иметь x поперечное сечение.
r.GroundPlaneLength = ucdx; r.GroundPlaneWidth = ucdy; infArray = infiniteArray; infArray.Element = r; infArray.ScanAzimuth = 30; infArray.ScanElevation = 45; figure; show(infArray);
Отсканируйте импеданс, который показывают импеданс сканирования на одной частоте и одном угле сканирования.
scanZ = impedance(infArray,freq)
scanZ = 1.0704e+02 + 2.9189e+01i
В данном примере импеданс сканирования для полного объема сканирования вычисляется, используя 50 терминов в двойном суммировании для периодической функции Зеленых, чтобы улучшить поведение сходимости. Для получения дополнительной информации обратитесь к следующему примеру: Анализ Бога Массивов.
Отсканируйте Шаблон Элемента / Шаблон Элемента массива / Встроенный Шаблон Элемента, шаблон элемента сканирования (SEP) вычисляется от бесконечного импеданса сканирования массивов, изолированного шаблона элемента и изолированного импеданса элемента. Используемое выражение показывают здесь [1], [2]:
load InfArrayScanZData scanZ = scanZ.'; Rg = 185; Xg = 0; Zg = Rg + 1i*Xg; gs = nan(numel(el),numel(az)); for i = 1:numel(el) for j = 1:numel(az) gs(i,j) = 4*Rg*real(Ziso).*giso(i,j)./(abs(scanZ(i,j) + Zg)).^2; end end
Создайте Пользовательский Элемент Антенны шаблон элемента сканирования, который был получен двухполупериодным анализом, теперь готово использоваться в анализе уровня системы, обеспеченном Phased Array System Toolbox™. Первый шаг должен создать пользовательский элемент антенны.
fieldpattern = sqrt(gs); bandwidth = 500e6; customAntInf = buildCustomAntenna(fieldpattern,freq,bandwidth,az,el); figure; pattern(customAntInf,freq);
Создайте универсальный прямоугольный массив (URA) с пользовательским элементом антенны, который имеет шаблон элемента сканирования. Предположение, неявное на этом шаге, - то, что каждый элемент этого массива имеет тот же шаблон элемента.
N = 441; Nrow = sqrt(N); Ncol = sqrt(N); drow = ucdx; dcol = ucdy; myURA1 = phased.URA; myURA1.Element = customAntInf; myURA1.Size = [Nrow Ncol]; myURA1.ElementSpacing = [drow dcol];
Вычислите шаблон в плоскости вертикального изменения (заданный азимутом = 0 градусов, и также вызвал электронную плоскость) и плоскость азимута (заданный вертикальным изменением = 0 градусов, и вызвал H-плоскость) для массива, созданного с помощью бесконечного анализа массивов.
azang_plot = -90:0.5:90; elang_plot = -90:0.5:90; % E-plane Darray1_E = pattern(myURA1,freq,0,elang_plot); Darray1_Enormlz = Darray1_E - max(Darray1_E); % H-plane Darray1_H = pattern(myURA1,freq,azang_plot,0); Darray1_Hnormlz = Darray1_H - max(Darray1_H); % Scan element pattern in both planes DSEP1_E = pattern(customAntInf,freq,0,elang_plot); DSEP1_Enormlz = DSEP1_E - max(DSEP1_E); DSEP1_H = pattern(customAntInf,freq,azang_plot,0); DSEP1_Hnormlz = DSEP1_H - max(DSEP1_H);
figure subplot(211) plot(elang_plot,Darray1_Enormlz,elang_plot,DSEP1_Enormlz,'LineWidth',2) grid on axis([min(azang_plot) max(azang_plot) -40 0]); legend('Array Pattern, az = 0 deg','Element Pattern') xlabel('Elevation (deg)') ylabel('Directivity (dB)') title('Normalized Directivity') subplot(212) plot(azang_plot,Darray1_Hnormlz,azang_plot,DSEP1_Hnormlz,'LineWidth',2) grid on axis([min(azang_plot) max(azang_plot) -40 0]); legend('Array Pattern, el = 0 deg','Element Pattern') xlabel('Azimuth (deg)') ylabel('Directivity (dB)')
Чтобы изучить эффект конечного размера массива, мы выполняем полный анализ волны 21 X 21 дипольный массив, поддержанный бесконечным отражателем. Полные срезы шаблона массивов волны в E и плоскостях H, а также встроенном шаблоне элемента центрального элемента также вычисляются. Эти данные загружаются из файла MAT. Этот анализ занял приблизительно 630 секунд на машине на 2,4 ГГц с памятью на 32 Гбайт.
Загрузите Полные Данные Волны и Сборку Пользовательская Загрузка Антенны конечные аналитические данные массивов, и используйте встроенный шаблон элемента, чтобы создать пользовательский элемент антенны. Обратите внимание на то, что шаблон от двухполупериодного анализа должен вращаться 90 градусами так, чтобы это выстроилось в линию с моделью URA, основывался на плоскости YZ.
load dipolerefarray
elemfieldpatternfinite = sqrt(FiniteArrayPatData.ElemPat);
arraypatternfinite = FiniteArrayPatData.ArrayPat;
bandwidth = 500e6;
customAntFinite = buildCustomAntenna(elemfieldpatternfinite,freq,bandwidth,az,el);
figure
pattern(customAntFinite,freq)
Создайте Универсальный Прямоугольный Массив со Встроенным Шаблоном Элемента, Как сделано прежде, создайте универсальный прямоугольный массив с пользовательским элементом антенны.
myURA2 = phased.URA; myURA2.Element = customAntFinite; myURA2.Size = [Nrow Ncol]; myURA2.ElementSpacing = [drow dcol];
E и Плоский Срез H - Массив Со Встроенным Шаблоном Элемента Вычисляет, шаблон разрезает ортогональные плоскости пополам - E и H для массива со встроенным шаблоном элемента и самим встроенным шаблоном элемента. Кроме того, поскольку полные данные волны для шаблона массивов являются также доступным использованием это, чтобы сравнить результаты. Электронная плоскость
Darray2_E = pattern(myURA2,freq,0,elang_plot);
Darray2_Enormlz = Darray2_E - max(Darray2_E);
% H-plane
Darray2_H = pattern(myURA2,freq,azang_plot,0);
Darray2_Hnormlz = Darray2_H - max(Darray2_H);
E и плоский срез H - встроенный шаблон элемента от конечного массива
DSEP2_E = pattern(customAntFinite,freq,0,elang_plot); DSEP2_Enormlz = DSEP2_E - max(DSEP2_E); DSEP2_H = pattern(customAntFinite,freq,azang_plot,0); DSEP2_Hnormlz = DSEP2_H - max(DSEP2_H);
E и плоский срез H - полный анализ волны конечного массива
azang_plot1 = -90:2:90; elang_plot1 = -90:2:90; Darray3_E = FiniteArrayPatData.EPlane; Darray3_Enormlz = Darray3_E - max(Darray3_E); Darray3_H = FiniteArrayPatData.HPlane; Darray3_Hnormlz = Darray3_H - max(Darray3_H);
Сравнение Шаблонов Массивов шаблоны массивов в двух ортогональных плоскостях построено здесь.
figure subplot(211) plot(elang_plot,Darray1_Enormlz,elang_plot,Darray2_Enormlz,elang_plot1,Darray3_Enormlz,'LineWidth',2) grid on axis([min(elang_plot) max(elang_plot) -40 0]); legend('Infinite','Finite','Finite Full wave','location','best') xlabel('Elevation (deg)') ylabel('Directivity (dB)') title('E-plane (az=0 deg) Normalized Array Directivity') subplot(212) plot(azang_plot,Darray1_Hnormlz,azang_plot,Darray2_Hnormlz,azang_plot1,Darray3_Hnormlz,'LineWidth',2) grid on axis([min(azang_plot) max(azang_plot) -40 0]); legend('Infinite','Finite','Finite Full wave','location','best') xlabel('Azimuth (deg)') ylabel('Directivity (dB)') title('H-Plane (el = 0 deg) Normalized Array Directivity')
Графики шаблона в этих двух плоскостях показывают, что все три аналитических подхода предлагают подобное поведение +/-40 степень опорного направления. Вне этой области значений кажется, что использование шаблона элемента сканирования для всех элементов в URA (т.е. принцип умножения шаблона) недооценивает уровень бокового лепестка по сравнению с полным анализом волны конечного массива. Одна возможная причина для этого могла быть краевым эффектом от конечного массива размера.
Сравнение Элемента Копирует шаблоны элемента от бесконечного анализа массивов, и конечный анализ массивов сравнены здесь.
figure subplot(211) plot(elang_plot,DSEP1_Enormlz,elang_plot,DSEP2_Enormlz,'LineWidth',2) grid on axis([min(azang_plot) max(azang_plot) -40 0]); legend('Infinite','Finite','location','best') xlabel('Elevation (deg)') ylabel('Directivity (dB)') title('E-plane (az=0 deg) Normalized Element Directivity') subplot(212) plot(azang_plot,DSEP1_Hnormlz,azang_plot,DSEP2_Hnormlz,'LineWidth',2) grid on axis([min(azang_plot) max(azang_plot) -40 0]); legend('Infinite','Finite','location','best') xlabel('Azimuth (deg)') ylabel('Directivity (dB)') title('H-Plane (el = 0 deg) Normalized Element Directivity')
Графики шаблона предполагают, что поведение к +/-40 степень опорного направления является приблизительно тем же самым. За пределами этой области значений существует большее отбрасывание прочь в шаблоне H-плоскости от бесконечного анализа массивов по сравнению с конечным массивом.
Отсканируйте массив на основе бесконечного шаблона элемента сканирования массивов в плоскости вертикального изменения, заданной азимутом = 0 градусов, и постройте нормированную направленность. Кроме того, наложите нормированный шаблон элемента сканирования.
scanURA(myURA1,freq,azang_plot,elang_plot,DSEP1_Enormlz,DSEP1_Hnormlz);
Обратите внимание, что полная форма нормированного шаблона массивов приблизительно следует за нормированным шаблоном элемента сканирования. Это также предсказано принципом умножения шаблона.
Анализ Бога массивов является одним из инструментов, развернутых, чтобы анализировать и спроектировать большие конечные массивы. Анализ принимает, что все элементы идентичны, имеют универсальную амплитуду возбуждения и что краевые эффекты могут быть проигнорированы. Изолированный шаблон элемента заменяется шаблоном элемента сканирования, который включает эффект взаимной связи.
[1] Дж. Аллен, "Усиление и изменение импеданса отсканированных дипольных массивов", Транзакции IRE на Антеннах и Распространении, vol.10, № 5, pp.566-572, сентябрь 1962.
[2] Р. К. Хансен, поэтапные антенны массивов, глава 7 и 8, John Wiley & Sons Inc., 2-й выпуск, 1998.