Этот пример будет моделировать и анализировать vivaldi антенну с внутренней схемой соответствия. vivaldi также известен как экспоненциально клиновидную антенну слота. Антенна обладает широкополосными характеристиками, поляризацией прострела и очень направляющим шаблоном. Проект будет реализован на подложке диэлектрика единственного слоя с 2 слоями металла; один для расширяющейся строки слота и строки канала с соответствующей схемой на другом слое. Подложка выбрана в качестве недорогого материала FR4 толщины 0,8 мм. Проект предназначается для операции по диапазону частот 3.1 - 10.6 GHz [1].
vivaldi антенна разработана, чтобы действовать между 3 - 11 ГГц с размерностями 45 40 мм. На самой высокой частоте операции структура приблизительно. Задайте параметры проекта антенны как предусмотрено.
Lgnd = 45e-3; Wgnd = 40e-3; Ls = 5e-3; Ltaper = 28.5e-3; Wtaper = 39.96e-3; s = 0.4e-3; d = 5e-3; Ka = (1/Ltaper)*(log(Wtaper/s)/log(exp(1)));
Этот проект состоит из трех слоев; верхний слой является экспоненциально клиновидной формой слота. Это - та же форма как vivaldi в каталоге Antenna Toolbox. Нижний слой состоит из канала и соответствующей схемы. Средний слой является подложкой FR4. Функция pcbStack (муравей) преобразовывает любого 2D или 2.5D антенна из каталога в pcb антенну для дальнейшего моделирования и анализа. Создайте vivaldi антенну из каталога и визуализируйте его. После этого переместите канал и преобразуйте его в представление стека и получите доступ к геометрии слоя для дальнейших модификаций.
vivaldiant = vivaldi('TaperLength',Ltaper, 'ApertureWidth', Wtaper, ... 'OpeningRate', Ka,'SlotLineWidth', s, ... 'CavityDiameter',d,'CavityToTaperSpacing',Ls, ... 'GroundPlaneLength', Lgnd, 'GroundPlaneWidth', Wgnd,... 'FeedOffset',-10e-3); figure show(vivaldiant); vivaldiant.FeedOffset = -14e-3; ewant = pcbStack(vivaldiant); topLayer = ewant.Layers{1}; figure show(topLayer)
Удалите Полосу Канала из Структуры Vivaldi, значение по умолчанию vivaldi структура антенны в каталоге имеет внутренний канал и связанную полосу канала, заданную в центре антенны. В этом примере мы используем модель канала ребра. Удалите полосу из vivaldi структуры.
cutout = antenna.Rectangle('Length',1e-3,'Width',4e-3,'Center',[-0.014,0]); topLayer = topLayer-cutout; figure; show(topLayer);
Ступенчатая микрополосковая строка используется в качестве соответствующей схемы с 90 изгибами степени, останавливающимися в радиальный тупик галстука-бабочки. Используйте прямоугольную фигуру, примитивную в Antenna Toolbox™, чтобы создать ступенчатую микрополосковую строку. Операция логического сложения используется среди примитивов фигур с этой целью.
L1 = 8e-3; L2 = 4.1e-3; L3 = 9.1e-3; W1 = 1.5e-3; W2 = 1e-3; W3 = 0.75e-3; H = 0.8e-3; fp = 11.2e-3; th = 90; patch1 = antenna.Rectangle('Length',L1,'Width',W1,... 'Center',[-(Lgnd/2 - L1/2), -(Wgnd/2 - fp - W1/2)],... 'NumPoints', [10,2,10,2]); patch2 = antenna.Rectangle('Length',L2,'Width',W2,... 'Center',[-(Lgnd/2 - L1 - L2/2), -(Wgnd/2 - fp - W1/2)],... 'NumPoints', [5,2,5,2]); patch3 = antenna.Rectangle('Length',W3,'Width',L3,... 'Center',[-(Lgnd/2 - L1 - L2 - W3/2), -(Wgnd/2 - fp - W1/2 + W2/2- L3/2)],... 'NumPoints', [2,10,2,10]);
Создайте Радиальную схему Соответствия Тупика, Чтобы создать радиальную схему соответствия тупика, мы используем функцию makebowtie. Это обеспечивает входные параметры для радиуса, ширины шеи, угла вспышки, центра, формы галстука-бабочки и наконец числа точек, чтобы создать форму для галстука-бабочки.
Bowtie = em.internal.makebowtie(8.55e-3, W3, th, [0 0 0],'rounded',20); rotatedBowtie = em.internal.rotateshape(Bowtie,[0 0 1],[0 0 0],90); p = antenna.Polygon('Vertices', rotatedBowtie'); radialStub = translate(p, [-(Lgnd/2 - L1 - L2 - W3/2) -(Wgnd/2 - fp - W1/2 + W2/2- L3) 0]); bottomLayer = patch1+patch2+patch3+radialStub; figure; show(bottomLayer);
Создайте форму платы для антенны. Плата в этом случае является прямоугольной и 45 мм x 40 мм в размере.
boardShape = antenna.Rectangle('Length',Lgnd,'Width',Wgnd); figure; hold on; plot(topLayer) plot(bottomLayer) grid on
Задайте Диэлектрическую Подложку, vivaldi антенна создается с помощью подложки FR4 с относительной проницаемостью 4,4 и высота 0,8 мм.
substrate = dielectric('Name','FR4','EpsilonR', 4.4, 'Thickness', H);
Присвойте Слои и Задайте Присвоение Канала слои, начинающие с верхнего слоя, в этом случае vivaldi структура, сопровождаемая диэлектрической подложкой FR4 и наконец нижним слоем, который является соответствующей схемой. Канал ребра задан между vivaldi и соответствующей схемой на нижнем слое. Наличие строки канала с соответствующей схемой на нижнем слое уменьшает любое побочное излучение. Задайте местоположение канала и диаметр канала также.
vivaldi_Notch = pcbStack;
vivaldi_Notch.Name = 'vivaldiNotch';
vivaldi_Notch.BoardThickness = H;
vivaldi_Notch.BoardShape = boardShape;
vivaldi_Notch.Layers = {topLayer,substrate,bottomLayer};
vivaldi_Notch.FeedLocations = [-(Lgnd/2), -(Wgnd/2 - fp - W1/2), 1, 3];
vivaldi_Notch.FeedDiameter = W1/2;
figure;
show(vivaldi_Notch);
Вычислите импеданс антенны в области значений от 2,5 ГГц до 11 ГГц. В целях выполнения этого примера анализ импеданса был предварительно вычислен и сохраняет в MAT-файле. Анализ выполнялся с генерацией mesh в автоматическом режиме. Выполните информационный метод на антенне, чтобы получить информацию о запутывающем состоянии / состоянии решения, аналитических частотах и оценке памяти, требуемой для анализа.
freq = linspace(2.5e9, 11e9,41); bandfreqs = [3.1e9, 10.6e9]; freqIndx = nan.*(ones(1,numel(bandfreqs))); for i = 1:numel(bandfreqs) df = abs(freq-bandfreqs(i)); freqIndx(i) = find(df==min(df)); end load vivaldi_Notch_auto_mesh vivaldiInfo = info(vivaldi_Notch) figure; impedance(vivaldi_Notch, freq);
vivaldiInfo = struct with fields: IsSolved: "true" IsMeshed: "true" MeshingMode: "auto" HasSubstrate: "true" HasLoad: "false" PortFrequency: [1×41 double] FieldFrequency: [] MemoryEstimate: "2.2 GB"
Совершенствуйте mesh, чтобы проверять на сходимость с изменением импеданса по полосе. Автоматически сгенерированная mesh имеет максимальную длину ребра приблизительно 2 см и минимальную длину ребра 3 мм. Самая высокая частота в аналитической области значений составляет 11 ГГц, который соответствует длине волны в свободном пространстве 27,3 мм. Рассмотрение 10 элементов на длину волны дало бы нам длину ребра приблизительно 2,7 мм, которая ниже, чем и максимум и минимальная длина ребра, выбранная автоматическим mesher. После нескольких попыток с помощью максимума edgelength 5 мм и минимальной длины ребра 0,8 мм привел к хорошему решению.
figure mesh(vivaldi_Notch, 'MaxEdgeLength',5e-3,'MinEdgeLength',0.8e-3); view(0,90)
Из-за размера mesh, количество неизвестных увеличивается, чтобы получить точное решение. Как, прежде чем решенная структура была сохранена в MAT-файл и загружается здесь для последующего анализа.
load vivaldi_Notch_manual_mesh.mat
figure;
impedance(vivaldi_Notch, freq);
Вычислите отражательный коэффициент во входе относительно ссылочного импеданса на 50 Ом. Отражательный коэффициент ниже-10 дБ для частотного диапазона от 3,1 ГГц до 11 ГГц. Сохраните отражательный коэффициент для использования позже для вычисления реализованного усиления.
figure; s = sparameters(vivaldi_Notch, freq); rfplot(s); gamma = rfparam(s,1,1);
Антенна поняла, что усиление включает потери в диэлектрик и из-за любого несоответствия импеданса. Постройте изменение в реализованном усилении с частотой в опорном направлении антенны в (азимут, el) = (0,0) градус.
G = zeros(1,numel(freq)); az = 0; el = 0; for i = 1:numel(freq) G(i) = pattern(vivaldi_Notch,freq(i),az,el); end g = figure; plot(freq./1e9,G,'-*','LineWidth',2); xlabel('Frequency (GHz)'); ylabel('Magnitude (dBi)'); grid on; title('Gain Variation With Frequency');
Вычислите Несоответствие и вычислите Реализованное Усиление
mismatchFactor = 10*log10(1 - abs(gamma).^2); Gr = mismatchFactor.' + G; figure(g); hold on plot(freq./1e9,Gr,'r-.'); legend('Gain','Realized Gain','Location','best') title('Variation of Gain and Realized Gain with Frequency') hold off
Широкая пропускная способность импеданса не обязательно переводит в широкую пропускную способность усиления/шаблона. Самое высокое усиление достигается по 7 - область значений на 10,4 ГГц в опорном направлении приблизительно 9,5 dBi. Постройте 3D шаблон посреди этого поддиапазона, чтобы понять полные характеристики излучения.
dfsub = abs(freq - (10.4e9+7e9)/2); subfreqIndx = find(dfsub==min(dfsub)); figure; pattern(vivaldi_Notch, freq(subfreqIndx));
Центр фазы антенны является локальным центром искривления передней стороны фазы далекого поля [2]. Это может меняться в зависимости от частоты и угла наблюдения. Анализ изменения центра фазы очень важен для систем позиционирования. Это вызвано тем, что изменения в центре фазы непосредственно переводят в изменения в задержке, которая может повлиять на оценки области значений между передатчиком и получателем. Чтобы понять это, вычислите максимальное возможное изменение в задержке из-за гармонического сигнала в f_min и другого в f_max по набору углов наблюдения в далеком поле. Предпочтите углы более чем 2 ортогональных плоскости; первое, заданное при повышении = 0 градусов, т.е. xy-плоскость и другой в азимуте = 0 градусов, т.е. xz плоскость. В xy-плоскости мы будем использовать компонент электрического поля для анализа, в то время как в xz-плоскости мы будем использовать компонент электрического поля.
Точки формирования данных в Далеком Поле и Вычисляют, Электрическое поле Задают радиус сферы далекого поля и набор углов наблюдения в азимуте и повышении. Выберите две гармонических частоты сигнала, чтобы быть на уровне 3 и 11 ГГц соответственно.
az = -180:5:180;
el = -90:5:90;
fmin = freq(freqIndx(1));
fmax = freq(freqIndx(2));
R = 100*299792458/fmin;
coord = 'sph';
phi = 0;
theta = 90 - el;
[Points, ~, ~] = em.internal.calcpointsinspace( phi, theta, R,coord);
Вычислите Локальное Изменение Фазы электронного поля Находят электрическое поле на этих двух частотах и преобразовывают в сферический компонент. Поскольку мы интересуемся максимальным изменением с временной задержкой, мы сначала вычисляем максимальное изменение фазы между этими двумя частотами по набору точек в XZ-плоскости.
E_at_fmin = EHfields(vivaldi_Notch,fmin,Points); E_at_fmax = EHfields(vivaldi_Notch,fmax,Points); Eth_at_fmin = helperFieldInSphericalCoordinates(E_at_fmin,phi,theta); Eth_at_fmax = helperFieldInSphericalCoordinates(E_at_fmax,phi,theta); phase_at_fmin = angle(Eth_at_fmin); phase_at_fmax = angle(Eth_at_fmax);
Вычислите изменение с временной задержкой между двумя гармоническими сигналами
delta_phase = max(phase_at_fmin-phase_at_fmax) - min(phase_at_fmin-phase_at_fmax); delta_omega = 2*pi*(fmax-fmin); delta_time = pi*delta_phase/180/delta_omega; delta_timeXZ = delta_time*1e12; sprintf("The time delay variation in the XZ-plane is: %2.2f %s",delta_timeXZ,'ps')
ans = "The time delay variation in the XZ-plane is: 2.18 ps"
Повторите процесс для точек на XY-плоскости и вычислите изменение с временной задержкой из-за изменения.
phi = az; theta = 0; delta_omega = 2*pi*(fmax-fmin); [Points, ~, ~] = em.internal.calcpointsinspace( phi, theta, R,coord); E_at_fmin = EHfields(vivaldi_Notch,fmin,Points); E_at_fmax = EHfields(vivaldi_Notch,fmax,Points); [~,Ephi_at_fmin] = helperFieldInSphericalCoordinates(E_at_fmin,phi,theta); [~,Ephi_at_fmax] = helperFieldInSphericalCoordinates(E_at_fmax,phi,theta); phase_at_fmin = angle(Ephi_at_fmin); phase_at_fmax = angle(Ephi_at_fmax); delta_phase = max(phase_at_fmin-phase_at_fmax) - min(phase_at_fmin-phase_at_fmax); delta_time = pi*delta_phase/180/delta_omega; delta_timeXY = delta_time*1e12; sprintf("The time delay variation in the XY-plane is: %2.2f %s",delta_timeXY,'ps')
ans = "The time delay variation in the XY-plane is: 2.71 ps"
Наблюдение изменение с временной задержкой в двух плоскостях, которые делят пополам опорное направление антенны, покажите, что центр фазы относительно стабилен. Среднее изменение с временной задержкой приблизительно 2 пикосекунд переводит в максимальную ошибку области значений меньше чем 1 мм.
vivaldi антенна может быть произведена при помощи gerber возможности генерации файла в тулбоксе. Для этого примера и коннектора Ребра SMA от Амфенола [3] был выбран, и Усовершенствованные Схемы [4] использовался в качестве производственного сервиса. Кроме того, на объекте PCBWriter, мы приняли решение не включить слой маски припоя. Произведенная антенна, показан ниже.
Произведенная антенна была протестирована с помощью настольного сетевого анализатора. Поскольку верхний предел анализатора составлял 6,5 ГГц, мы сравниваем результаты антенны с анализом из модели.
fLim = 6.5e9; findx = find(freq>fLim); freq2 = freq(1:findx(1)-1); s_model = sparameters(vivaldi_Notch, freq2); rfplot(s_model); s_proto = sparameters('UWB2.s1p'); hold on rfplot(s_proto) legend('Model','Measured','Location','best')
Предложенная антенна покрывает Федеральную комиссию по связи, задал спектр UWB и имеет больше, чем 3.5:1 пропускная способность импеданса (от 3 ГГц больше чем до 11 ГГц). Антенна поняла, что усиление, достигнутое по полосе 3-10 ГГц в опорном направлении, очень близко к результату усиления. Сравнение отражательного коэффициента в области значений на 3 - 6 ГГц произведенного прототипа и модели показывает приемлемую производительность. Отражательный коэффициент между 4-4.75 ГГц действительно ухудшается приблизительно к-8 дБ.
[1]. Высоко получите антенну Vivaldi для радара и микроволны, отображающей международный журнал приложений системного издания 3 обработки сигналов, № 1, июнь 2015 Г. К. Пэнди, Х. С. Сингх, П. К. Барти, А. Пэнди и М. К. Месхрам.
[2]. Вишванат Ийер, Эндрю Кэвэног, Сергей Макаров, Р. Дж. Дакворт, 'Независимая Коаксиальная Антенна с Интегрированным Симметрирующим трансформатором и Линейной матрицей Этого', Продолжения Симпозиума Приложения Антенны, Парка Аллертона, Монтичелло, IL, pp.282-284, 21-23-го сентября 2010.
[3]. https://www.mouser.com/datasheet/2/18/2985-6037.PDD_0-918701.pdf