Анализ Бога массивов

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

Задайте элементарную ячейку

Элементарная ячейка обращается к одному элементу в бесконечном массиве. Элемент элементарной ячейки нуждается в наземной плоскости. Антенны, которые не имеют groundplane, должны быть поддержаны отражателем. Представительным примером для каждого случая был бы диполь, поддержанный отражателем и микрополосковой антенной закрашенной фигуры. Этот пример будет использовать диполь, поддержанный отражателем, и анализировать поведение импеданса элементарной ячейки на уровне 10 ГГц. Элементарная ячейка будет иметь a λ/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)

Создайте массив Бога

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

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

Вычислите импеданс сканирования

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

% 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'])

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

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

numSummationTerms(infArray,50);

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

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

Электронная плоскость

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'])

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'])

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'])

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

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

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));

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

Используйте данные об импедансе сканирования из бесконечного анализа массивов, чтобы вывести шаблон элемента сканирования (также известный как встроенный шаблон / шаблон элемента массива в случае конечных массивов). Как обозначено в [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')

Ссылка

[1] Дж. Аллен, "Усиление и изменение импеданса отсканированных дипольных массивов", Транзакции IRE на Антеннах и Распространении, vol.10, № 5, pp.566-572, сентябрь 1962.

[2] Р. К. Хансен, поэтапные антенны массивов, глава 7 и 8, John Wiley & Sons Inc., 2-й выпуск, 1998.

[3] Р. Дж. Мэйллукс, 'Поэтапное Руководство Антенны Массивов', Дом Artech, 2-й выпуск, 2005

[4] В. Стуцмен, Г. Тиле, 'Теория антенны и проект', John Wiley & Sons Inc., 3-й выпуск, 2013.

Для просмотра документации необходимо авторизоваться на сайте