Этот пример показывает, как создать и проанализировать СВЧ-плоские структуры Photonic Band Gap (PBG) в Antenna Toolbox™. Структуры Photonic Band Gap состоят из периодической решетки, которая обеспечивает эффективное и гибкое управление распространением Электромагнитной волны в одном или нескольких направлениях. Микроволновые планарные структуры PBG были впервые введены примерно в 2000 году проф. Итох и его группой. Эти структуры создают ограничительную полосу в определенном частотном диапазоне и легко реализуются путем резки периодических шаблонов на плоскости заземления металла.
Показанные в этом примере проекты те же, что и в [1]. 50-омная обычная микрополоска сконструирована на подложке RT/Duroid 6010 с диэлектрической постоянной толщиной 10,5 и 25 мил. Ширина полосы составляет 27 мм. Период решетки на задней стороне держится на уровне 200 мм. Общий размер платы печатной платы составляет 6 периодов на 9 периодов.
period = 200*1e-3*0.0254; % period = 200mil; boardLength = period*6; boardWidth = period*9; boardThick = 25*1e-3*0.0254; % board is 25mil thick boardPlane = antenna.Rectangle('Length',boardLength,... 'Width',boardWidth); sub = dielectric('Name','Duroid6010','EpsilonR',10.5,... 'Thickness',boardThick); stripWidth = 27*1e-3*0.0254;% 27mil; stripLength = boardWidth; strip = antenna.Rectangle('Length',stripWidth,... 'Width',stripLength,'Center',[0,0]);
В нашем первом исследовании в качестве единичной формы травления на земле используется круг с радиусом 25 мил. Решетку размера 3 на 9 вытравливают из плоскости земли. Построенная наземная плоскость показана ниже. Позже мы также изучаем эффективность микрополоски с различными кругами с большим радиусом, радиус равен 50 миль и 90 миль.
gnd = boardPlane; radius = 25*1e-3*0.0254; % hole radius = 25mil; posStart = [-period, -stripLength/2+period/2]; for i = 1:3 for j =1:9 pos = posStart+[(i-1)*period,(j-1)*period]; circle = antenna.Circle('Radius',radius,... 'Center',pos,'NumPoints',16); gnd = gnd - circle; end end figure; show(gnd); axis equal;
Здесь мы комбинируем верхнюю микрополоску, подложку и травленую плоскость земли в объект pcbStack для сетки и полного волнового анализа. Конечная построенная геометрия показана ниже:
obj = pcbStack('Name','2D Bandgap Structure'); obj.BoardShape = boardPlane; obj.BoardThickness = boardThick; obj.Layers = {strip,sub,gnd}; obj.FeedLocations = [0,-boardWidth/2,1,3;0,boardWidth/2,1,3]; obj.FeedDiameter = stripWidth/2; figure; show(obj); axis equal; title(obj.Name);
Мы вручную создадим сетку структуры с помощью режима mesh в тулбоксе, чтобы лучше управлять выходными треугольниками и тетраэдрами.
figure; mesh(obj,'MaxEdgeLength',12*stripWidth,... 'MinEdgeLength',stripWidth,'GrowthRate',0.85);
В порядок наблюдения эффекта погрешности полосы мы вычисляем S-параметры для 2-портовой системы. Эффект зазора в полосе показан в параметре S21. В анализе мы вычисляли S-параметры от 2 ГГц до 16 ГГц, и строим график S21 и S11 для трех различных радиусов окружности. Результаты для всего анализа s-параметров были предварительно вычислены и сохранены в MAT-файле.
freq= linspace(2e9,16e9,141);
sparam = sparameters(obj,freq);
figure;
rfplot(sparam,1,1,'-o');
hold on;
rfplot(sparam,2,1,'--o');
load('atx_bandgap_data.mat','sparam_25mil'); load('atx_bandgap_data.mat','sparam_50mil'); load('atx_bandgap_data.mat','sparam_90mil'); figure; subplot(3,1,1); rfplot(sparam_25mil,1,1,'-'); text(4e9,-40,'Radius = 25 mil', 'FontSize',8, 'Color', 'm') hold on; rfplot(sparam_25mil,2,1,'--'); legend off; subplot(3,1,2); rfplot(sparam_50mil,1,1,'-'); text(4e9,-40,'Radius = 50 mil', 'FontSize',8, 'Color', 'm') hold on; rfplot(sparam_50mil,2,1,'--'); legend off; subplot(3,1,3); rfplot(sparam_90mil,1,1,'-'); text(4e9,-40,'Radius= 90 mil', 'FontSize',8, 'Color', 'm') hold on; rfplot(sparam_90mil,2,1,'--');
Из вычисленных s-параметров ясно видно, что вокруг 11GHz есть стоповая полоса, которая преобразует 50-омную согласованную линию электропередачи в полосно-заграждающий фильтр. Путем изменения формы травления на грунтовой плоскости могут быть реализованы различные фильтрующие структуры, такие как нижние или верхние проходы и т.д.
Как показано ниже, создается компенсированный прямоугольный микрополосковый поворот с узорчатым заземлением. Вытравленные круги на плоскости земли следуют прямоугольному повороту.
bendboardLength = period*9; bendboardWidth = period*9; boardThick = 25*1e-3*0.0254; % board is 25mil thick bendboardPlane = antenna.Rectangle('Length',bendboardLength,'Width',bendboardWidth); bendgnd = bendboardPlane; stripLength = bendboardWidth/2; strip_1 = antenna.Rectangle('Length',stripLength,'Width',stripWidth,'Center',[stripLength/2,0]); strip_2 = antenna.Rectangle('Length',stripWidth,'Width',stripLength+stripWidth/2,'Center',[0,-stripLength/2+stripWidth/4]); bendstrip = strip_1+strip_2; radius = 50*1e-3*0.0254; % hole radius = 50mil; posStart = [-period, -stripLength+period/2]; pos = zeros(27,2); for i = 1:3 for j =1:6 pos = posStart+[(i-1)*period,(j-1)*period]; circle = antenna.Circle('Radius',radius,'Center',pos,'NumPoints',15); bendgnd = bendgnd - circle; end end posStart = [period, -period]; for i = 1:3 for j = 1:3 pos = posStart+[(i)*period,(j-1)*period]; circle = antenna.Circle('Radius',radius,'Center',pos); bendgnd = bendgnd - circle; end end figure; show(bendgnd); axis equal;
Создайте стек слоев путем организации слоев ПП, установки местоположений каналов для портов.
bendobj = pcbStack('Name','2D Bandgap Bend Structure'); bendobj.BoardShape = bendboardPlane; bendobj.BoardThickness = boardThick; bendobj.Layers = {bendstrip,sub,bendgnd}; bendobj.FeedLocations = [0,-bendboardLength/2,1,3;bendboardWidth/2,0,1,3]; bendobj.FeedDiameter = stripWidth/2; figure; show(bendobj); axis equal; title(bendobj.Name);
S-параметры для структуры вычисляются. Результаты анализа выгодно сравниваются с измеренными результатами, показанными в [1], и свойства PBG структуры получаются эффективно. Здесь отмечается, что анализ предсказывает почти идеальное отражение в стопоре полосы в то время как измеренные результаты, показанные в Fig. 3 из [1], выявляют наличие механизма потерь, который немного улучшает импеданс совпадает.
freq= linspace(2e9,16e9,141);
sparam = sparameters(obj,freq);
figure;
rfplot(sparam,1,1,'-o');
hold on;
rfplot(sparam,2,1,'--o');
load('atx_bandgap_data.mat','sparam_bend_50mil'); figure; rfplot(sparam_bend_50mil,1,1,'-'); hold on; rfplot(sparam_bend_50mil,2,1,'--');
Результат, полученный для трех проектов, хорошо совпадает с результатом, опубликованным в [1].
[1] V. Radisic, Y. Qiang, R. Coccioli, and T. Itoh, «Novel 2-D Photonic Bandgap Structure for Microstrip Lines», IEEE Microvave and Guided Wave Letters, vol. 8, no. 2, 1998;