Этот пример показывает, как создать и анализировать антенные решетки в Antenna Toolbox™, с акцентом на концепции, такие как сканирование луча, уровень бокового лепестка, взаимная связь, шаблоны элемента и скрипучие лепестки. Исследования находятся на линейной матрице с 9 элементами диполей полудлины волны
Выберите частоту проекта, чтобы быть 1,8 ГГц, который, оказывается, одна из несущих частот для сотовых систем 3G/4G. Задайте размер массивов с помощью числа элементов, N и межэлементного интервала, дуплекса.
freq = 1.8e9;
c = physconst('lightspeed');
lambda = c/freq;
N = 9;
dx= 0.49*lambda;
Отдельный элемент массива является диполем. Начальная длина этого диполя выбрана, чтобы быть
. Обрежьте его длину, чтобы достигнуть резонанса
(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.9450 - 0.3063i

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 пробеле на частоте проекта.
pattern3Dfig = figure; pattern(dipole_array,freq)

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;
Чтобы наблюдать эффект взаимной связи, отличайтесь интервал между элементами массива и постройте изменение в
, взаимный импеданс между парой диполей в массиве [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')

Скрипучие лепестки являются максимумами основного луча, предсказанного теоремой умножения шаблона. Когда интервал массивов меньше чем или равен
, только основной лепесток существует на видимом пробеле без других скрипучих лепестков. Скрипучие лепестки появляются, когда интервал массивов больше, чем
. Для большого интервала скрипучий лепесток (лепестки) мог появиться на видимом пробеле даже в нулевом угле сканирования. Привлеките скрипучие лепестки по делу о линейной матрице 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')

По сравнению с
расположенным с интервалами массивом
расположенный с интервалами массив показывает 2 дополнительных одинаково сильных peaks на видимом пробеле - скрипучие лепестки.
Расположенный с интервалами массив все еще имеет один уникальный пик луча на нулевом сканировании от разворота (азимутальный угол 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')

Массив интервала с универсальным возбуждением и нулем phaseshift не имеет скрипучих лепестков на видимом пробеле. Пик основного луча происходит в развороте (азимут = 90 градусов). Однако для угла сканирования 65 градусов и ниже, и для 115 градусов и выше скрипучий лепесток вводит видимый пробел. Чтобы избежать скрипучих лепестков, выберите интервал элемента
или меньше. С меньшим интервалом взаимная связь более сильна.
Чтобы изучить эффект шаблона элемента на полном шаблоне массивов, постройте нормированный центральный шаблон элемента по сравнению с нормированной направленностью линейной матрицы 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.