[Из песочницы] Моделирование меандровой инвертированной-F антенны – это просто
Приветствую, эта статья посвящена моделированию меандровой инвертированной-F антенны (англ. Meander inverted-F antenna, MIFA) в программе Ansys HFSS. Пошаговая инструкция проектирования антенны. Сделай свою MIFA!
Используется версия программы HFSS 15.0, но различий между версиями не так много, поэтому можно моделировать и в других версиях.
Оглавление:
Немного об антенне
Меандровая инвертированная-F антенна — это модификация IFA антенны, у которой основной печатный проводник в виде меандра. Данная модификация позволяет сделать антенну еще более компактной, что часто необходимо в современных мобильных устройствах. MIFA может быть интегрирована непосредственно в плату разрабатываемого устройства. Внешний вид показан на рисунке ниже.
Используется в диапазонах дециметровых, сантиметровых и миллиметровых длин волн. Допускает конструктивные решения для работы в многочастотных режимах. Диаграмма направленности (ДН) такой антенны представляет собой закрытый тороид с осью вращения вдоль входного канала и представлена на рисунке ниже.MIFA обладает вертикальной поляризацией параллельной оси вращения тороида.
Изменение геометрии антенны позволяет менять ее импеданс, что избавляет от дополнительных согласующих устройств и цепей. Проектирование MIFA для конкретного разрабатываемого устройства индивидуально, так как антенна использует весь земляной полигон на плате для излучения электромагнитных волн.
Достоинства:
- простота конструкции;
- сравнительно небольшие массогабаритные характеристики;
- стоимость производства;
- высокая повторяемость размеров.
Для начала необходимо определиться с исходной моделью. Ниже на картинке представлена модель MIFA антенны.
Структурные части антенны:
- земляной полигон платы;
- входной канал антенны (справа, ему дан размер W), к нему подключается ВЧ тракт;
- земляной канал антенны (слева);
- меандровая часть.
На рисунке даны буквенные обозначения тех или иных геометрических размеров, которые будут использоваться в программе и будут записаны как параметры:
- HP — вертикальный размер полигона;
- LP — горизонтальный размер полигона;
- H — высота антенны, также длина входного и земляного каналов;
- H2 — расстояние между меандром и земляным полигоном;
- YG — расстояние между каналами;
- W — толщина печатных проводников;
- L1, L2, …, L7 — длины горизонтальных линий меандра;
- LEnd — длина конечной линии меандра.
Размеры полигона обычно не меняются (антенна часто делается под разрабатываемую плату), т.е. остаётся оптимизировать только длины печатных проводников самой антенны.
Кстати, можете поэкспериментировать с количеством изгибов меандра, четкого ограничения нет.
Суть моделирования заключается в следующем: требуется найти такую геометрию антенны, чтобы она была согласована на определенную частоту и имела коэффициент усиления соответствующий вашей решаемой задаче (например, нужно чтобы антенна излучала больше в горизонтальной плоскости, параллельной плоскости платы, и меньше в вертикальной.
1. Создание проекта и модели платы в HFSS
Открываем HFSS, нажимаем File → New. Создается новый проект. Если он пустой, то нажимаем ПКМ по проекту в окне Project manager, далее Insert → Insert HFSS Design. Создался файл с 3D дизайном проекта, вы видите оси и сетку.
Сначала необходимо создать необходимые переменные, для этого нажимаем ПКМ по HFSSDesign, далее Design Properties. Нажимаем Add, вписываем имя, например HP, указываем тип Length, единицы измерения mm, значение Value необходимое вам значение в мм, например, 75. Нажимаем OK. Переменная создана. Теперь необходимо проделать ту же операцию со всеми остальными переменными. Для переменных L1 — L7 и LEnd поставьте значения, например, по 3 мм. YG приравняйте хотя бы к 5 мм. W приравняйте к необходимой вам ширине печатных проводников. Так как ваша плата уже имеет какие-то размеры, и под антенну выделено определенное место на плате, то в параметре H укажите следующее значение (в моем случае антенна располагается вдоль короткой стороны платы, у вас может быть и вдоль длинной): из значения длины длинной стороны платы вычитаем длину полигона и еще минус 0.5 мм (0.5 мм — это отступ от края платы до антенны). Также создайте переменную PortW и присвойте ей значение 0.2 мм (это будет ширина входного порта).
Зайдите во вкладку Modeler → New Object Type → Model. Теперь все новые объекты будут моделями.
Далее необходимо создать подложку нашей печатной платы, для этого нажимаем вверху на панели инструментов Draw → Box, кликаем ЛКМ на рабочей области и разводим прямоугольник, после кликаем ЛКМ еще раз и тянем мышку вверх, чтобы создать объемную фигуру, снова кликаем ЛКМ. Результат на картинке ниже.
Теперь зададим размеры нашей подложке, для этого кликаем ЛКМ на элемент CreateBox (на картинке выше красной стрелкой указано куда кликать). Слева в окне Properties (или ПКМ по CreateBox → Properties) указываем необходимые размеры: вписываем в поле Xsize «HP+H+0.5mm», аналогично с шириной платы: в поле Ysize впишите «LP», а в поле Zsize укажите толщину платы в мм, например, 1.5. Также заполните поле Position: через запятую »-H-0.5mm, -LP/2, -1.5mm». Центр координат теперь будет находится по середине узкой стороны полигона.
Переименуйте «Box1» в «PCB», нажав на нем ПКМ и зайдя в Properties. Там же задайте материал, например, FR4_epoxy, введя в поиске. Также выберите подходящий цвет, изменив Color. Измените прозрачность Transparent, выставив значение 0.3. Должно получиться как на картинке:
Теперь необходимо создать 2 земляных полигона. Для этого нажимаем Draw → Rectangle. И разводим небольшой прямоугольник от начала координат на плате. Изменим его размеры и позицию. Для этого в его свойствах выставьте значения в поле Xsize «HP», в Ysize — «LP», а в поле Position — »0, -LP/2, 0». Переименуйте объект «Rectangle1» в «Top» и поменяйте его цвет. Нажмите ПКМ по Top → Assign Boundary → Perfect E → OK. Так мы задали объекту свойства идеального проводника. У вас должно получиться также как на картинке ниже.
Проводящие объекты у нас будут плоскими, сильно на результат это не влияет, однако, существенно ускоряет вычисления. Если вам необходима суперточность, вы можете создать объемный объект из этого прямоугольника, нажав Modeler → Thicken Sheet и указав необходимую толщину. Также можете указать материал «cooper». Но в нашем проекте в этом нет необходимости, поэтому работаем с плоскими идеальными объектами.
Теперь необходимо создать земляной полигон с другой стороны платы. Для этого нажимаем ПКМ по Top в дереве конструирования, далее Edit → Copy. Снова ПКМ по Top, далее Edit → Paste. У нас создался точно такой же слой с названием «Top1». Переименуйте его в «Bottom» и измените его позицию, записав в поле Position »0mm, -LP/2, -1.5mm». Также придайте этому объекту свойства Perfect E. Теперь мы имеем 2 земляных полигона с двух сторон платы.
2. Создание модели антенны в HFSS
Следующий шаг заключается в создании конструкции самой антенны. Антенну будем создавать из прямоугольников.
Создайте переменную для установки расстояния от центра координат до середины входного канала на плате как в предыдущем пункте: назовите PortY, длину поставьте, например, -10 мм. Минус потому что входной канал будет смещаться влево относительно начала координат.
Создадим входной канал: рисуем небольшой прямоугольник, нажав Draw → Rectangle и разведя его на плоскости платы. Изменим его размер и позицию. Xsize приравняйте к «H-PortW», Ysize — «W», Position — »-H, PortY, 0mm». Переименуйте объект в «Feed» и задайте цвет как у полигонов. Также придайте ему свойства идеального проводника. Результат должен быть как на картинке ниже.
Теперь создадим земляной канал. Для этого нарисуем прямоугольник аналогично как и с входным каналом, проделайте те же операции, только задайте размер в поле Xsize «H», ширина та же, а в поле Position впишите »-H, PortY-YG, 0mm». Также задайте имя «Back» и придайте объекту такой же цвет и свойства идеального проводника. Теперь с помощью переменной YG можно регулировать расстояние между входным и земляным каналами. Попробуйте нажать на HFSSDesign и слева в окне Properties поменять переменную YG, у вас будет сдвигаться земляной канал относительно входного. Ниже на картинке должно получиться так. Заметьте при этом, что в дереве конструирования во вкладке Perfect E находятся все наши элементы.
Создадим перемычку между каналами. Для этого снова рисуем прямоугольник и задаем ему размер Xsize «W», Ysize — «YG-W», Position — »-H, PortY-YG+W, 0mm». Также дайте объекту имя «FeedBack», свойства идеального проводника и цвет. Результат на картинке ниже.
Отлично, осталось нарисовать меандр:
- Рисуем первый прямоугольник, называем его «LineL1» и задаем ему размер Xsize — «W», Ysize — «L1», Position — »-H, PortY+W, 0mm».
- Рисуем второй прямоугольник называем его «Ver1» и задаем ему размер Xsize — «H-H2», Ysize — «W», Position — »-H, PortY+W+L1, 0mm».
- Рисуем третий прямоугольник называем его «LineL2» и задаем ему размер Xsize — «W», Ysize — «L2», Position — »-H+H2-W, PortY+L1+2*W, 0mm».
- Рисуем четвёртый прямоугольник называем его «Ver2» и задаем ему размер Xsize — «H-H2», Ysize — «W», Position — »-H, PortY+L1+L2+2*W, 0mm».
- Рисуем пятый прямоугольник называем его «LineL3» и задаем ему размер Xsize — «W», Ysize — «L3», Position — »-H, PortY+L1+L2+3*W, 0mm».
- Рисуем шестой прямоугольник называем его «Ver3» и задаем ему размер Xsize — «H-H2», Ysize — «W», Position — »-H, PortY+L1+L2+L3+3*W, 0mm».
- Рисуем седьмой прямоугольник называем его «LineL4» и задаем ему размер Xsize — «W», Ysize — «L4», Position — »-H+H2-W, PortY+L1+L2+L3+4*W, 0mm».
- Рисуем восьмой прямоугольник называем его «Ver4» и задаем ему размер Xsize — «H-H2», Ysize — «W», Position — »-H, PortY+L1+L2+L3+L4+4*W, 0».
- Рисуем девятый прямоугольник называем его «LineL5» и задаем ему размер Xsize — «W», Ysize — «L5», Position — »-H, PortY+L1+L2+L3+L4+5*W, 0».
- Рисуем десятый прямоугольник называем его «Ver5» и задаем ему размер Xsize — «H-H2», Ysize — «W», Position — »-H, PortY+L1+L2+L3+L4+L5+5*W, 0».
- Рисуем одиннадцатый прямоугольник называем его «LineL6» и задаем ему размер Xsize — «W», Ysize — «L6», Position — »-H+H2-W, PortY+L1+L2+L3+L4+L5+6*W, 0mm».
- Рисуем двенадцатый прямоугольник называем его «Ver6» и задаем ему размер Xsize — «H-H2», Ysize — «W», Position — »-H, PortY+L1+L2+L3+L4+L5+L6+6*W, 0».
- Рисуем тринадцатый прямоугольник называем его «LineL7» и задаем ему размер Xsize — «W», Ysize — «L7», Position — »-H, PortY+L1+L2+L3+L4+L5+L6+7*W, 0».
- Рисуем четырнадцатый прямоугольник называем его «VerLEnd» и задаем ему размер Xsize — «LEnd», Ysize — «W», Position — »-H, PortY+L1+L2+L3+L4+L5+L6+L7+7*W, 0».
Не забываем проставлять цвета и свойства идеального проводника. Должно получиться как на картинке ниже.
Теперь Зажмите Ctrl и нажмите ЛКМ по «Top», а потом по другим проводникам на верхней плоскости платы. У вас выделятся все объекты. Далее кликните по «Top» ПКМ → Edit → Boolean → Unite, теперь эти объекты объединены, и, если вы кликните в рабочей области по одному из них, они выделятся все как один объект. Также посмотрите в дерево конструирования, там в объекте Top появится вкладка Unite, где отображаются все объединенные компоненты.
Теперь необходимо добавить порт. Для этого нарисуйте прямоугольник между входным каналом и земляным полигоном по размеру входного канала. Далее нажмите на этот прямоугольник ПКМ и выберите Assign Ecitation → Lumped Port. Нажмите далее, выберите Integration Line → New Line и проведите линию как показано на рисунке ниже, после нажмите далее и готово.
Теперь разверните HFSSDesign, нажав на плюсик, и во вкладке Excitations у вас появится ваш порт, а также во вкладке Sheets в дереве конструирования.
И последний шаг: нужно добавить объем в котором будут производиться расчеты, для этого создайте Box с размерами Xsize = 400 мм, Ysize = 200 мм, Zsize = 200 мм и Position »-200, -100, -100». Поставьте прозрачность 1. Также его видимость можно полностью отключить, для этого нажмите на верхней панели View → Visibility → Active View Visibility и уберите галочку с этого бокса. После нажмите ПКМ на ваш Box в дереве конструирования и выберите Assign Boundary → Radiation и нажмите ОК.
Поздравляю, готово! Ниже на картинке представлен финальный вариант модели MIFA.
3. Настраиваем проект для анализа
Для начала нужно нажать ПКМ на Analysis → Add Solution Setup. Так как антенна в данном проекте настраивается на частоту 868 МГц, вписываем частоту 0.868 ГГц. У вас будет своя частота. Тут же указываем Maximum Number of Passes = 36. Так будет расчет максимально точным. Нажимаем ОК.
Нажимаем ПКМ по Setup1 во вкладке Analysis, далее выбираем Add Frequency Sweep, тип interpolating, LinearStep и зададим диапазон от 750 МГц до 1100 МГц с шагом 1 МГц.
Далее слева в дереве проекта нажимаем ПКМ по Radiation → Insert Far Field Setup → Infinite Sphere. Можете ничего не менять, т.е. оставьте углы Phi от 0 до 360 с шагом 10 градусов и Theta от 0 до 180 с шагом 10 градусов и нажмите ОК.
На верхней панели нажимаем HFSS → Solution Type и выбираем Modal.
Готово!
4. Первоначальная оптимизация
Необходимо провести оптимизацию, с помощью которой программа сама подберет необходимые геометрические параметры.
Необходимо задать диапазоны для каждой изменяемой переменной. Нажимаем ПКМ по HFSSDesign → Design Properties, выбираем вкладку Optimization, в которой необходимо поставить галочки в графе Include напротив переменных, которые будут оптимизироваться, а также задать некоторый диапазон с помощью граф Min и Max.
Так как часто место выхода ВЧ тракта уже зафиксировано, то переменные PortY и параметры земляного полигона остаются константами и не включаются в оптимизацию. Меняться будут все геометрические параметры меандра, а также расстояние между входным и земляным каналами.
Иногда определена максимальная высота антенны габаритами разрабатываемой платы, тогда еще и параметр H следует оставлять константой.
Расположение же антенны вдоль полигона существенно на изменение импеданса или КУ не влияет.
Настройка частотной избирательности антенны в основном осуществляется изменением геометрии меандра, а настройка импеданса антенны обычно производится изменением параметра YG.
Поэтому ставим необходимые галочки и определяем изменяемый диапазон. Нажимаем ОК.
Теперь нажимаем ПКМ на Optimetrics слева в дереве проекта, далее Add → Optimization. Необходимо выбрать алгоритм оптимизации (не стоит выбирать «квазиньютоновский» алгоритм, так как этот алгоритм использует градиент изменения S параметра, и он может попасть в локальный минимум), можно выбрать, например, «генетический» алгоритм.
Далее нажмите в этом же окне Setup Calculations, выберите из колонки S параметры, справа выберите S (1,1), а еще правее дБ. Зайдите во вкладку Calculation Range и проверьте частоту.
Нажмите Add Calculation. Исправьте Condition на »<=", в Goal впишите, например, -40, в Weight впишите 1. Таким образом, оптимизация будет идти, пока не найдется такое решение, при котором коэффициент отражения S (1,1) будет меньше или равен -40 дБ. Нажмите ОК.
Нажмите ПКМ на появившемся слева OptimizationSetup1 во вкладке Optimetrics → Analyze. Начнется оптимизация. Количество итераций может доходить до нескольких тысяч. На одном ядре компьютера (если у вас нет лицензии HPC) время оптимизации может составлять часы или дни, поэтому можно поставить на ночь.
Также в процессе оптимизации можно нажать ПКМ по OptimizationSetup1 → View Analysis Result. Есть две вкладки: Plot и Table. Во вкладке Plot выводится график результатов. Чем ниже значение Cost, тем лучше. После окончания оптимизации или после остановки процесса оптимизации можно нажать на вкладку Table, отсортировать по значению Cost, нажав на соответствующую колонку, выбрать вариант с одним из самых наименьших значений и нажать Apply. У вас применится выбранная конфигурация.
Теперь можете провести анализ. Нажмите ПКМ по Setup1 во вкладке Analysis → Analyze.
После расчета необходимо вывести результаты. Для этого создадим следующие «репорты»:
ПКМ по Results в дереве проекта → Create Modal Solution Data Report →Rectangular Plot, выберем параметр S (1,1) в дБ от частоты. Нажимаем New Report. И у нас появилась вкладка в Results, а также выводится график частотной зависимости коэффициента отражения S (1,1). Ниже на картинке показан пример этого графика для решения после первоначальной оптимизации, которая длилась 1060 итераций (параметр H здесь равен 14 мм).
Как видно из графика коэффициент отражения на частоте 868 МГц равен -7.46 дБ, что довольно мало, хороший результат начинается от -20 дБ. Более того имеется второй минимум правее, который нужно уменьшить.
Создадим следующий репорт: для этого снова кликаем ПКМ по Results → Create Far Fields Report → 3D Polar Plot, выбираем gain → GainTotal в дБ по всем углам. Нажимаем New Report. Ниже показан график КУ для того же решения.
Максимальный КУ в горизонтальной плоскости равен 1.5 дБ.
Добавим графики входного активного и реактивного сопротивлений антенны: кликаем ПКМ по Results → Create Modal Solution Data Report → Rectangular Plot, выберем Z parameter → Z (1,1) → re и нажимаем New Report. Теперь в том же окне нажимаем на im и Add Trace, и на этот же график добавляется еще одна кривая. Ниже на картинке представлены графики активного и реактивного сопротивлений антенны.
Активное сопротивление антенны равно 21.59 Ом, а реактивное -11.74 Ом. Задача согласования заключается в том, чтобы активное сопротивление было равно 50 Ом, а реактивное — 0 Ом.
5. Пример изменения геометрии
Помните что было в спойлере «немного данных об антенне»? Так, например, увеличив параметр H на 2 мм, получаем уже следующие данные:
А вызвано изменение S (1,1) тем, что изменились активное и реактивное сопротивления, графики которых показаны на рисунке ниже, КУ изменилось, потому что габариты антенны увеличились.
6. Проводим параметрический анализ
Для того чтобы приблизиться к полному согласованию антенны, следует сделать параметрический анализ (начать можно с параметризации расстояния между каналами): нажмите ПКМ по Optimetrics → Add → Parametric, во вкладке Sweep Definitions справа нажмите Add, выбираем параметр YG → Linear step и вписываем диапазон, например, от 0.2 мм до 12 мм (максимальное значение выбрано такое, чтобы оставалось расстояние до края платы, допустим, 0.5 мм), во вкладке Table находятся все рассчитываемые значения (получилось 60), во вкладке Options поставьте галочку напротив Save Fields and Mesh, это нужно для того, чтобы потом на одном графике вывести множество кривых и выбрать подходящий. Нажимаем ОК. ПКМ по анализу → Analyze.
После окончания расчетов на первом графике выведите семейство кривых S (1,1) для каждой рассчитанной вариации. Для этого раскройте вкладку графика XY Plot 1 (если вы не меняли название), дважды щелкните по dB (S (1,1)) или ПКМ по XY Plot 1 → Modify Report, откройте вкладку Families, выберите нужное семейство, например, нажав кнопку в колонке Edit напротив переменной YG → поставьте галочку Use all values. Далее нажмите Apply Trace. Перед вами отобразится график, выберите наиболее подходящую кривую, наведя или нажав на нее, запомните: при каком параметре этот график построен, и измените его во всех параметрах проекта. Ниже представлен график параметрического анализа по одному из геометрических параметров.
Из графика видно, что существует фиолетовая кривая, при которой S (1,1) достигает -40 дБ. Просто выбираем значение этого параметра, изменяем на него наш параметр и оптимизируем дальше, если требуется.
Такие короткие параметрические анализы вы можете проводить по любым геометрическим параметрам.
Кстати, если требуется одновременно менять несколько геометрических параметров, то можно просто создать переменную, например, k и добавить ее ко всем этим геометрическим параметрам, а проводить параметрический анализ по переменной k. Также можно попробовать прибавлять и вычитать эту переменную из разных геометрических параметров, тогда один из них будет увеличиваться с увеличением k, а другой — уменьшаться. Не забудьте дописать «mm» после цифрового значения в поле Value геометрического параметра, иначе будет ошибка с единицами измерений. Например, нажимаем ПКМ на HFSSDesign → Design Properties → создаем параметр k и приравниваем его к 0 (Length), далее нажимаем на любой геометрический параметр → Edit и в поле Value вписываем »15mm+k». Теперь ошибок не будет.
7. Заключительная оптимизация
Когда выбрали наилучшую геометрическую конструкцию после параметризации, можно добиться максимальных результатов. Для этого проведем еще одну оптимизацию в окрестностях уже полученных значений геометрических параметров, т.е. необходимо сократить диапазон изменения параметров в HFSSDesign → Design Properties для всех изменяемых переменных.
Нажимаем ПКМ на Optimetrics слева в дереве проекта, далее Add → Optimization. Необходимо выбрать алгоритм оптимизации Pattern Search. Добавьте снова переменную S (1,1) как при первоначальной оптимизации, теперь добавьте вторую переменную, нажав Setup Calculation. И выбрав Far Fields слева в поле Report type, нажимаем на gain → GainTotal в дБ. Далее Add Calculation и вписываем в поле Condition »>=», в поле Goal »10», в поле Weight »0», чтобы по весу первая переменная была главнее, так как нам важнее согласование, нежели КУ.
Запускаем анализ. Скорее всего оптимизация пройдет быстро, и вы автоматически получите результат, т.е. ваши геометрические параметры сами изменятся на новые, так как во вкладке General оптимизационного анализа стоит галочка на обновление параметров после оптимизации.
Поздравляю, ваша MIFA готова!
Пример полностью оптимизированной антенны:
А также диаграмма Смита.
А как же антенна излучает?
Можно создать анимацию излучения: раскройте Planes → нажмите XY, далее нажмите ПКМ по рабочей области → Plot Fields → E → Mag E → Done. После раскройте вкладку Field Overlays, ПКМ по Mag_E1 → Animate.
По гифкам видно, что на конце меандра сильное излучение электромагнитного поля. Ток в этой части антенны максимален.
Заключение
Хочется добавить, что наиболее точное моделирование MIFA антенны будет, если вы создадите наиболее реалистичную модель со всеми переходными отверстиями, установленными на плату электронными компонентами и другими близлежащими объектами, проводники должны быть объемными и иметь, допустим, свойства меди.
Как показывает практика, часто достаточно и упрощенных идеализированных моделей.
Спасибо за внимание, надеюсь вам понравилась данная статья.