Анализ антенной решетки

В этом примере показано, как создать и анализировать антенные решетки в Antenna Toolbox™, с акцентом на концепции, такие как сканирование луча, уровень бокового лепестка, взаимная связь, шаблоны элемента и скрипучие лепестки. Исследования находятся на линейной матрице с 9 элементами полуволновых диполей

Спроектируйте Частоту и Параметры массива

Выберите частоту проекта, чтобы быть 1,8 ГГц, который, оказывается, одна из несущих частот для сотовых систем 3G/4G. Задайте размер массивов с помощью числа элементов, N и межэлементного интервала, дуплекса.

freq = 1.8e9;
c = physconst('lightspeed');
lambda = c/freq;
N = 9;
dx= 0.49*lambda;

Создайте резонирующий диполь

Отдельный элемент массива является диполем. Начальная длина этого диполя выбрана, чтобы быть$\lambda/2$. Обрежьте его длину, чтобы достигнуть резонанса $\Omega$(X~0).

dipole_L = lambda/2;
dipole_W = lambda/200;
mydipole = dipole;
mydipole.Length = dipole_L;
mydipole.Width = dipole_W;
mydipole.TiltAxis = 'Z';
mydipole.Tilt = 90;
fmin = freq - .05*freq;
fmax = freq + .05*freq;
minX = 0.0001;          % Minimum value of reactance to achieve
trim = 0.0005;          % The amount to shorten the length at each iteration
resonant_dipole = dipole_tuner(mydipole,freq,fmin,fmax,minX,trim);
Z_resonant_dipole = impedance(resonant_dipole,freq)
Z_resonant_dipole =

  71.7984 - 0.7520i

helement = figure;
show(resonant_dipole)
axis tight

Создайте линейную матрицу

Присвойте резонирующий диполь как отдельный теплоотвод линейной матрицы. В то время как изолированный диполь был настроен для резонанса на частоте проекта, это будет расстроено в среде массивов. Измените число элементов и интервал и наблюдайте геометрию массивов. Элементы расположены на ось X и пронумерованы слева направо.

dipole_array = linearArray;
dipole_array.Element = resonant_dipole;
dipole_array.NumElements = N;
dipole_array.ElementSpacing = dx;
hArray = figure;
show(dipole_array)
axis tight

Постройте 3D шаблон массивов

Визуализируйте шаблон для линейной матрицы на 3D пробеле на частоте проекта.

pattern3Dfig = figure;
pattern(dipole_array,freq)

Постройте 2D диаграмму направленности

3D шаблон массива показывает максимум луча под азимутальным углом 90 градусов. Постройте 2D диаграмму направленности в азимутальной плоскости (x-y плоскость), который соответствует нулевому углу вертикального изменения.

patternazfig1 = figure;
az_angle = 1:0.25:180;
pattern(dipole_array,freq,az_angle,0,'CoordinateSystem','rectangular')
axis([0 180 -25 15])

Массив имеет пиковую направленность 12.83 dBi, и первые боковые лепестки по обе стороны от пика составляют приблизительно 13 дБ вниз. Это вызвано тем, что массив имеет универсальное амплитудное заострение со всеми элементами, питаемыми на уровне 1 В. Уровнем бокового лепестка можно управлять при помощи различных амплитудных заострений на элементах массива, таких как Чебышев и Тейлор.

Излучите сканирование

Выбор набора сдвигов фазы позволяет нам сканировать луч к определенному углу. Эта настройка линейной матрицы позволяет сканировать в азимутальной плоскости (x-y плоскость), который соответствует нулевому углу вертикального изменения. Отсканируйте луч 30 градусов от разворота (азимутальный угол 120 градусов).

scanangle = [120 0];
ps = phaseshift(freq,dx,scanangle,N);
dipole_array.PhaseShift = ps;
patternazfig2 = figure;
pattern(dipole_array,freq,az_angle,0,'CoordinateSystem','rectangular')
axis([0 180 -25 15])

Пик основного луча теперь на расстоянии в 30 градусов от начального пика (азимут = 90 градусов). Отметьте понижение направленности приблизительно 0,9 дБ. Для бесконечных массивов это отбрасывание увеличивается с увеличением угла сканирования согласно теореме косинусов.

Постройте шаблоны элемента угла и центральных элементов

В небольших массивах шаблон отдельного элемента может значительно варьироваться. Для того, чтобы установить этот факт, постройте шаблон центральных элементов и этих двух граничных элементов. Чтобы получить эти шаблоны, взволнуйте один только каждый элемент и отключите остальных в ссылочный импеданс. Элементы пронумерованы слева направо, в направлении оси X.

element_number = [1 ceil(N/2)-1 ceil(N/2) ceil(N/2)+1 N];
D_element = nan(numel(element_number),numel(az_angle));
legend_string = cell(1,numel(element_number));
for i = 1:numel(element_number)
    D_element(i,:) = pattern(dipole_array,freq,az_angle,0,              ...
                           'CoordinateSystem','rectangular',            ...
                           'ElementNumber',element_number(i),           ...
                           'Termination',real(Z_resonant_dipole));
    legend_string{i} = strcat('N = ',num2str(element_number(i)));
end
patternazfig3 = figure;
plot(az_angle,D_element,'LineWidth',1.5)
xlabel('Azimuth (deg)')
ylabel('Directivity (dBi)')
title('Element Patterns')
grid on
legend(legend_string,'Location','best')

График шаблонов элемента показывает, что, кроме центрального элемента, все другие - зеркальные отображения о центре графика, т.е. шаблон элемента 1-го элемента является зеркальным отражением об азимуте = 90 градусов шаблона элемента 9-го элемента и т.д.

Взаимная связь

Взаимная связь является явлением, посредством чего токи, разработанные на каждом элементе в массиве, не зависят только от своего собственного возбуждения, но имеют вклады от других элементов также. Чтобы изучить этот эффект, мы упростим массив до случая с 2 элементами, похожего на [1].

dipole_array.NumElements = 2;
dipole_array.AmplitudeTaper = 1;
dipole_array.PhaseShift = 0;

Чтобы наблюдать эффект взаимной связи, варьируйтесь интервал между элементами массива и постройте изменение$Z_{12}$, взаимный импеданс между парой диполей в массиве [1]. Поскольку элементы параллельны друг другу, связь сильна.

spacing = (lambda/2:0.05:2).*lambda;
Z12 = nan(1,numel(spacing));
for i = 1:numel(spacing)
    dipole_array.ElementSpacing = spacing(i);
    s = sparameters(dipole_array,freq,real(Z_resonant_dipole));
    S = s.Parameters;
    Z12(i) = 2*S(1,2)*70/((1 - S(1,1))*(1- S(2,2)) - S(1,2)*S(2,1));
end
mutualZ12fig = figure;
plot(spacing./lambda,real(Z12),spacing./lambda,imag(Z12),'LineWidth',2)
xlabel('Spacing, d/\lambda')
ylabel('Impedance (\Omega)')
grid on
title('Mutual Impedance Variation With Spacing')
legend('Resistance','Reactance')

Трение лепестков

Скрипучие лепестки являются максимумами основного луча, предсказанного теоремой умножения шаблона. Когда интервал массивов меньше чем или равен$\lambda/2$, только основной лепесток существует на видимом пробеле без других скрипучих лепестков. Скрипучие лепестки появляются, когда интервал массивов больше$\lambda/2$. Для большого интервала скрипучий лепесток (лепестки) мог появиться на видимом пробеле даже в нулевом угле сканирования. Привлеките скрипучие лепестки по делу о линейной матрице 9 диполей. Отсканируйте луч 0 градусов от разворота (азимутальный угол 90 градусов).

dipole_array.NumElements = 9;
dipole_array.ElementSpacing = lambda/2;
D_half_lambda = pattern(dipole_array,freq,az_angle,0,'CoordinateSystem','rectangular');
dipole_array.ElementSpacing = 0.75*lambda;
D_three_quarter_lambda = pattern(dipole_array,freq,az_angle,0,'CoordinateSystem','rectangular');
dipole_array.ElementSpacing = 1.5*lambda;
D_lambda = pattern(dipole_array,freq,az_angle,0,'CoordinateSystem','rectangular');
patterngrating1 = figure;
plot(az_angle,D_half_lambda,az_angle,D_three_quarter_lambda,az_angle,D_lambda,'LineWidth',1.5);
grid on
xlabel('Azimuth (deg)')
ylabel('Directivity (dBi)')
title('Array Pattern (Elevation = 0 deg)')
legend('d=\lambda/2','d=0.75\lambda','d=1.5\lambda','Location','best')

По сравнению с$\lambda/2$ расположенным с интервалами массивом$1.5 \lambda$ расположенный с интервалами массив показывает 2 дополнительных одинаково сильных peaks на видимом пробеле - скрипучие лепестки.$0.75 \lambda$ Расположенный с интервалами массив все еще имеет один уникальный пик луча на нулевом сканировании от разворота (азимутальный угол 90 градусов). Отсканируйте этот массив от разворота, чтобы наблюдать внешний вид скрипучих лепестков.

dipole_array.ElementSpacing = 0.75*lambda;
azscan = 45:10:135;
scanangle = [azscan ;zeros(1,numel(azscan))];
D_scan = nan(numel(azscan),numel(az_angle));
legend_string1 = cell(1,numel(azscan));
for i = 1:numel(azscan)
    ps = phaseshift(freq,dx,scanangle(:,i),N);
    dipole_array.PhaseShift = ps;
    D_scan(i,:) = pattern(dipole_array,freq,az_angle,0,'CoordinateSystem','rectangular');
    legend_string1{i} = strcat('scan = ',num2str(azscan(i)),' deg');
end
patterngrating2 = figure;
plot(az_angle,D_scan,'LineWidth',1)
xlabel('Azimuth (deg)')
ylabel('Directivity (dBi)')
title('Scan Pattern for 0.75\lambda Spacing Array ((Elevation = 0 deg)')
grid on
legend(legend_string1,'Location','best')

$0.75\lambda$Массив интервала с универсальным возбуждением и нулем phaseshift не имеет скрипучих лепестков на видимом пробеле. Пик основного луча происходит в развороте (азимут = 90 градусов). Однако для угла сканирования 65 градусов и ниже, и для 115 градусов и выше скрипучий лепесток вводит видимый пробел. Чтобы избежать скрипучих лепестков, выберите интервал элемента$\lambda/2$ или меньше. С меньшим интервалом взаимная связь более сильна.

Эффект шаблона элемента на шаблоне массивов

Чтобы изучить эффект шаблона элемента на полном шаблоне массивов, постройте нормированный центральный шаблон элемента по сравнению с нормированной направленностью линейной матрицы 9 диполей в развороте.

dipole_array.ElementSpacing = 0.49*lambda;
dipole_array.PhaseShift = 0;
Dmax = pattern(dipole_array,freq,90,0);
D_scan = nan(numel(azscan),numel(az_angle));       % Pre-allocate
legend_string2 = cell(1,numel(azscan)+1);
legend_string2{1} = 'Center element';
for i = 1:numel(azscan)
    ps = phaseshift(freq,dx,scanangle(:,i),N);
    dipole_array.PhaseShift = ps;
    D_scan(i,:) = pattern(dipole_array,freq,az_angle,0,'CoordinateSystem','rectangular');
    D_scan(i,:) = D_scan(i,:) - Dmax;
    legend_string2{i+1} = strcat('scan = ',num2str(azscan(i)));
end
patternArrayVsElement = figure;
plot(az_angle,D_element(3,:) - max(D_element(3,:)),'LineWidth',3)
hold on
plot(az_angle,D_scan,'LineWidth',1)
axis([min(az_angle) max(az_angle) -20 0])
xlabel('Azimuth (deg)')
ylabel('Directivity (dBi)')
title('Scan Pattern for 0.49\lambda Spacing Array')
grid on
legend(legend_string2,'Location','southeast')
hold off

Обратите внимание, что полная форма нормированного шаблона массивов приблизительно следует за нормированным центральным шаблоном элемента близко к развороту. Шаблон массивов в целом является продуктом шаблона элемента и фактора массивов (AF).

Ссылка

[1] В. Л. Стуцмен, Г. А. Тиле, Теория Антенны и Проект, p. 307, Вайли, 3-й Выпуск, 2013.