optimize

Оптимизируйте антенну или массив с помощью оптимизатора SADEA

Описание

optimizedelement = optimize(element,frequency,objectivefunction,propertynames,bounds) оптимизирует антенну или массив на заданной частоте с помощью заданной целевой функции и свойств антенны или массива и их границ.

пример

optimizedelement = optimize(___,Name,Value) оптимизирует антенну или массив, используя дополнительные пары значений имен.

Примеры

свернуть все

Создайте и просмотрите дипольную антенну по умолчанию.

ant = dipole;
show(ant)

Figure contains an axes. The axes with title dipole antenna element contains 3 objects of type patch, surface. These objects represent PEC, feed.

Максимизируйте коэффициент усиления антенны путем изменения длины антенны с 3 м до 7 м и ширины с 0,11 м до 0,13 м.

Оптимизируйте антенну на частоте 75 МГц.

optAnt = optimize(ant, 75e6, 'maximizeGain', ...
                {'Length', 'Width'}, {3 0.11; 7 0.13})

Figure contains 2 axes. Axes 1 with title Population Diversity contains an object of type line. Axes 2 with title Convergence Trend contains an object of type line.

optAnt = 
  dipole with properties:

        Length: 4.7585
         Width: 0.1129
    FeedOffset: 0
     Conductor: [1x1 metal]
          Tilt: 0
      TiltAxis: [1 0 0]
          Load: [1x1 lumpedElement]

show(optAnt)            

Figure contains an axes. The axes with title dipole antenna element contains 3 objects of type patch, surface. These objects represent PEC, feed.

Входные параметры

свернуть все

Антенна или элементы массива, заданные как объект антенны из каталога антенны или массива объекта из каталога Массива.

Частота анализа антенны или массива во время оптимизации, заданная в виде неотрицательного скаляра в герце.

Типы данных: double

Цель оптимизации антенны или массива, заданная как одно из следующего:

  • 'maximizeGain' - Максимизируйте коэффициент усиления заданной антенны или элемента массива

  • 'fronttoBackRatio' - Увеличение отношения передних лепестков к задним лепесткам элемента антенны или решетки

  • 'maximizeBandwidth' - Максимизируйте рабочую полосу пропускания антенны или элемента массива. Используйте эту целевую функцию для оптимизации антенн или массивов для широкополосных приложений.

  • 'minimizeBandwidth' - Минимизируйте рабочую полосу пропускания антенны или элемента массива. Используйте эту целевую функцию для оптимизации антенн или массивов для узкополосных приложений.

  • 'maximizeSLL' - Максимизируйте отношение между передним лепестком и первыми боковыми лепестками диаграммы шаблона антенны или решетки.

  • 'minimizeArea' - Минимизирует максимальную площадь, занимаемую антенной или элементом массива. Если размерность элемента в массиве меньше, чем апертура, целевая функция минимизирует апертуру массива.

Типы данных: string | char

Свойства оптимизации антенны или решётки, заданные как массив ячеек из векторов символов. Эти имена свойства выбираются в качестве проекта переменных в оптимизации.

Типы данных: cell

Нижняя и верхняя границы переменных проектов, заданные как массив ячеек с двумя строками.

Типы данных: double

Аргументы в виде пар имя-значение

Задайте необязательные разделенные разделенными запятой парами Name,Value аргументы. Name - имя аргумента и Value - соответствующее значение. Name должны находиться внутри кавычек. Можно задать несколько аргументов в виде пар имен и значений в любом порядке Name1,Value1,...,NameN,ValueN.

Пример: optAnt = optimize(ant, 75e6, 'maximizeGain',{'Length', 'Width'}, {3 0.11; 7 0.13})

Ограничения оптимизации антенны или массива, заданные как разделенная разделенными запятой парами, состоящая из 'Constraints' и массив ячеек из строк или векторов символов. Каждый вектор или строка символов должна иметь вид: (функция анализа) (знак неравенства) (значение). Можно задать любую из следующих функций анализа:

  • 'Area' в метровом квадрате

  • 'Volume' в кубе счетчика

  • 'S11' в дБ

  • 'Gain' в дБи

  • 'F/B' в дБи

  • 'SLL' в дБи

Неравенство знаменует '<' или '>' и значения задают пределы функции анализа. Для примера, Area < 0.03 указывает, что площадь оптимизирующей антенны должна быть меньше 0,03 квадратного метра.

Пример: 'Constraints',{Area<0.03}

Типы данных: char | string

Вес или штраф каждой функции ограничения, заданные как разделенная разделенными запятой парами, состоящая из 'Weights' и вектор положительных целых чисел в области значений (1100). Если штраф установлен на высокое, более высокий приоритет отдается ограничительной функции в случае оптимизации нескольких ограничений. Все функции ограничений по умолчанию взвешиваются одинаково.

Пример: 'Weights',8

Типы данных: double

Область значений частот для векторного частотного анализа, такого как S-параметры, задаётся как разделенная разделенными запятой парами, состоящая из 'FrequencyRange' и вектор неотрицательных чисел с каждым модулем в герце.

Частотная область значений по умолчанию получается из центральной частоты с учетом полосы пропускания менее 10 процентов.

Пример: 'FrequencyRange',linspace(1e9,2e9,10)

Типы данных: double

Эталонный импеданс оптимизируемой антенны или массива, заданный как разделенная разделенными запятой парами, состоящая из 'ReferenceImpedance' и скаляр в омах

Пример: 'ReferenceImpedance',50

Типы данных: double

Азимут и повышение главного лепестка оптимизируемой антенны или массивы, заданные как разделенная разделенными запятой парами, состоящая из 'MainLobeDirection' и двухэлементный вектор с каждым модулем в степенях. Первый элемент представляет азимут, а второй элемент - вертикальный.

Пример: 'MainLobeDirection',[20 30]

Типы данных: double

Количество итераций для запуска оптимизатора после создания модели, заданное как разделенная разделенными запятой парами, состоящая из 'Iterations' и положительная скалярная величина.

Пример: 'Iterations',40

Типы данных: double

Используйте Parallel Computing Toolbox во время оптимизации, заданной как разделенная разделенными запятой парами, состоящая из 'UseParallel' и true или false.

Пример: 'UseParallel',true

Типы данных: logical

Включите взаимное связывание элементов в массиве во время оптимизации, заданное как разделенная разделенными запятой парами, состоящая из 'EnableCoupling' и true или false.

Пример: 'EnableCoupling',false

Типы данных: logical

Включите печать номера итерации и значения сходимости в командной строке, заданные как разделенная разделенными запятой парами, состоящая из 'EnableLog' и true или false.

Пример: 'EnableLog',true

Типы данных: logical

Выходные аргументы

свернуть все

Оптимизированная антенна или элемент массива, возвращаемый как объект антенны или массива.

Введенный в R2020b