Анализ бесконечных массивов

Этот пример демонстрирует использование анализа бесконечных массивов для моделирования поведения одного элемента - единичной камеры, встроенной в массив [1] - [3]. Массив принят бесконечной протяженности в двух размерностях и расположен в плоскости XY.

Задайте единичную камеру

Единичная камера относится к одному элементу в бесконечном массиве. Модуль камеры нужна наземная плоскость. Антенны, которые не имеют грунтовой плоскости, должны поддерживаться отражателем. Демонстрационным примером для каждого случая будет дипол, поддерживаемый отражателем и микрополосковой закрашенная фигура. Этот пример будет использовать диполь, поддерживаемый отражателем, и анализировать поведение импеданса единичной камеры на 10 ГГц. Единичная камера будет иметь λ/2 x λ/2 поперечное сечение.

freq = 10e9;
vp = physconst('lightspeed');
lambda = vp/freq;
ucdx = 0.5*lambda;
ucdy = 0.5*lambda;

Задайте отдельный элемент Создайте тонкий диполь длины чуть меньше λ/2 и присвойте его в качестве возбудителя отражателю размерностей λ/2 с каждой стороны.

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 = ucdx;
r.GroundPlaneWidth = ucdy;
figure
show(r)

Figure contains an axes. The axes with title reflector antenna element contains 5 objects of type patch, surface. These objects represent PEC, feed.

Создайте бесконечный массив

Создайте бесконечный массив и присвойте диполь с подкреплением отражателя в качестве элемента и просмотрите его.

infArray = infiniteArray;
infArray.Element = r;
infArrayFigure = figure;
show(infArray)

Figure contains an axes. The axes with title Unit cell of dipole over a reflector in an infinite Array contains 6 objects of type patch, surface. These objects represent PEC, feed, unit cell.

Вычисление импеданса скана

Анализ импедансного поведения бесконечного массива путем вычисления скана. Импеданс скана является изменением импеданса элемента модуля камеры на одной частоте как функции скана угла. Используйте свойства угла скана в бесконечном массиве, ScanAzimuth и ScanElevation, чтобы задать поведение скана. Здесь мы вычисляем импеданс скана в одной плоскости, заданный азимутом = 0 o и повышением от 0 до 90 o за 1 o шага.

% Scan plane definition
az = 0;            % E-plane
el = 0:1:90;       % elevation

% Calculate and plot
scanZ = nan(1,numel(el));
infArray.ScanAzimuth = az;
for i = 1:numel(el)
    infArray.ScanElevation = el(i);
    scanZ(i) = impedance(infArray,freq);
end

figure
plot(el,real(scanZ),el,imag(scanZ),'LineWidth',2);
grid on
legend('Resistance','Reactance')
xlabel('Scan Elevation(deg)')
ylabel('Impedance (\Omega)')
title(['Scan Impedance in az = ' num2str(az) ' deg plane'])

Figure contains an axes. The axes with title Scan Impedance in az = 0 deg plane contains 2 objects of type line. These objects represent Resistance, Reactance.

Улучшение поведения сходимости

Анализ бесконечных массивов зависит от периодической функции Грина, которая состоит из бесконечного двойного суммирования. Для получения дополнительной информации об этом см. страницу документации (infiniteArray). Количество членов в этом двойном суммировании имеет влияние на сходимость результатов. Увеличьте количество членов суммирования, чтобы улучшить сходимость. Выполнение команды увеличит общее количество членов до 101 (50 членов каждый для отрицательных и положительных индексов, 1 срок для 0-го срока) с значения по умолчанию 21.

numSummationTerms(infArray,50);

Результат с большим количеством членов показан в импедансе скана в 3 плоскостях, азимут = 0, 45 и 90 o соответственно. Это занимает около 100 секунд на каждую плоскость скана на машине с частотой 2,4 ГГц и памятью 32 ГБ.

az = [0 45 90];            % E,D,H-plane
load scanZData

E-плоскость

figure
plot(el,real(scanZ50terms(1,:)),el,imag(scanZ50terms(1,:)),'LineWidth',2);
grid on
legend('Resistance','Reactance')
xlabel('Scan Elevation(deg)')
ylabel('Impedance (\Omega)')
title(['Scan Impedance in az = ' num2str(az(1)) ' deg plane'])

Figure contains an axes. The axes with title Scan Impedance in az = 0 deg plane contains 2 objects of type line. These objects represent Resistance, Reactance.

D-плоскость

figure
plot(el,real(scanZ50terms(2,:)),el,imag(scanZ50terms(2,:)),'LineWidth',2);
grid on
legend('Resistance','Reactance')
xlabel('Scan Elevation(deg)')
ylabel('Impedance (\Omega)')
title(['Scan Impedance in az = ' num2str(az(2)) ' deg plane'])

Figure contains an axes. The axes with title Scan Impedance in az = 45 deg plane contains 2 objects of type line. These objects represent Resistance, Reactance.

H-плоскость

figure
plot(el,real(scanZ50terms(3,:)),el,imag(scanZ50terms(3,:)),'LineWidth',2);
grid on
legend('Resistance','Reactance')
xlabel('Scan Elevation(deg)')
ylabel('Impedance (\Omega)')
title(['Scan Impedance in az = ' num2str(az(3)) ' deg plane'])

Figure contains an axes. The axes with title Scan Impedance in az = 90 deg plane contains 2 objects of type line. These objects represent Resistance, Reactance.

Бесконечное изменение импеданса массива с частотой

Зафиксировать угол скана до определенного значения и сдвинуть частоту, чтобы наблюдать импедансное поведение этого модуля камеры элемента.

az_scan = 0;
el_scan = 45;
percent_bw = .15;
bw = percent_bw*freq;
fmin = freq - bw/2;
fmax = freq + bw/2;
infArray.ScanAzimuth = az_scan;
infArray.ScanElevation = el_scan;
figure
impedance(infArray,linspace(fmin,fmax,51));

Figure contains an axes. The axes with title Impedance contains 2 objects of type line. These objects represent Resistance, Reactance.

Вычисление шаблона изолированного элемента и импеданса

Используйте скан данные импеданса из анализа бесконечных массивов, чтобы вывести шаблон скана элемента (также известный как встроенный/ элемент массива шаблон в случае конечных массивов). Как указано в [1] - [4], используйте изолированный шаблон элемента и импеданс, чтобы вычислить его. Сделайте это, проанализировав дипол, поддерживаемый бесконечным отражателем, и вычислив его диаграмму направленности мощности и импеданс на 10 ГГц.

r.GroundPlaneLength = inf;
r.GroundPlaneWidth = inf;
giso = nan(numel(az),numel(el));
gisodB = nan(numel(az),numel(el));
for i = 1:numel(az)
    giso(i,:) = pattern(r,freq,az(i),el,'Type','power');
    gisodB(i,:) = 10*log10(giso(i,:));
    gisodB(i,:) = gisodB(i,:) - max(gisodB(i,:));
end
Ziso = impedance(r,freq);

Вычислите и постройте график шаблона элемента скана

Вычисление шаблона элемента скана требует, чтобы мы определили импеданс генератора. Здесь мы выбираем его как сопротивление широкополосному скану.

Rg = 185;             
Xg = 0;
Zg = Rg + 1i*Xg;
gs = nan(numel(az),numel(el));
gsdB = nan(numel(az),numel(el));
for i = 1:numel(az)    
    gs(i,:) = 4*Rg*real(Ziso).*giso(i,:)./(abs(scanZ50terms(i,:) + Zg)).^2;
    gsdB(i,:)= 10*log10(gs(i,:));
    gsdB(i,:)= gsdB(i,:) - max(gsdB(i,:));
end

figure;
plot(el,gsdB(1,:),el,gsdB(2,:),el,gsdB(3,:),'LineWidth',2.0)
grid on
axis([0 90 -20 0])
xlabel('Scan Elevation (deg.)')
ylabel('Power pattern(dB)')
title(strcat('E-Plane (az = 0 deg.) Power Pattern'))
legend('az = 0 deg','az = 45 deg','az = 90 deg','Location','best')

Figure contains an axes. The axes with title E-Plane (az = 0 deg.) Power Pattern contains 3 objects of type line. These objects represent az = 0 deg, az = 45 deg, az = 90 deg.

Ссылка

[1] J. Allen, «Gain and impedance variation in scanned dipole arrays», IRE Transactions on Antennas and Propagation, vol.10, no.5, pp.566-572, September 1962.

[2] R. C. Hansen, Фазированная Решетка Antennas, главы 7 и 8, John Wiley & Sons Inc.,2nd Издание, 1998.

[3] R. J. Mailloux, 'Фазированная Решетка Antenna Handbook', Artech House,2nd edition, 2005

[4] W. Stutzman, G. Thiele, 'Antenna Theory and Design', John Wiley & Sons Inc., 3-е издание, 2013.

См. также