В этом примере показано, как создать и проанализировать антенные решетки в Antenna Toolbox™ с акцентом на такие концепции, как сканирование луча, уровень бокового контакта, взаимная связь, шаблоны элементов и лепестки решетки. Анализы находятся на 9-элементном линейном массиве полуволновых диполей
Выберите частоту проекта, которая должна быть 1,8 ГГц, что является одной из несущих частот для 3G/4G сотовых систем. Задайте размер массива, используя количество элементов, N и межэлементный интервал, dx.
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.8205 - 0.7236i
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)
0
На 3D шаблон массива показан максимум луча при азимутальном угле 90 o. Постройте график 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 дБи, и первые боковые элементы с каждой стороны пика примерно на 13 дБ вниз. Это связано с тем, что массив имеет равномерное сужение амплитуд со всеми элементами, подаваемыми на 1V. Уровнем бокового колеса можно управлять, используя различные амплитудные сужения на элементах массива, таких как Чебышев и Тейлор.
Выбор набора сдвигов фазы позволяет нам сканировать луч на определенный угол. Это линейное строение массива позволяет сканировать в азимутальной плоскости (плоскости x-y), что соответствует нулю угла возвышения. Отсканировать пучок на 30 o от широкополосной оси (азимутальный угол 120 o).
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 o шаблона элемента 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 o от широкополосного (азимутальный угол 90 o).
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 o). Сканируйте этот массив с широкой стороны, чтобы наблюдать внешний вид лепестков решетки.
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')
Интервал массива с равномерным возбуждением и нулем фазировкой не имеет лепестков решетки в видимом пространстве. Пик основного луча приходится на широкую сторону (азимут = 90 o). Однако для угла скана 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] W. L. Stutzman, G. A. Thiele, Antenna Theory and Design, p. 307, Wiley, 3rd Edition, 2013.
Проект и анализ с использованием приложения Antenna Array Designer