В этом примере показано, как создать и анализировать антенные решетки в 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.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 пробеле на частоте проекта.
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')
График шаблонов элемента показывает, что, кроме центрального элемента, все другие - зеркальные отображения о центре графика, i.e. шаблон элемента 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.