Максимизация импедансной полосы пропускания треугольной закрашенная фигура

Этот пример показов, как оптимизировать треугольную микрополоску закрашенной фигуры антенну, чтобы максимизировать ее полосу пропускания так, чтобы ее усиление оставалось постоянным.

Задайте геометрию антенны

Задайте начальную геометрию антенны.

% Define Antenna
ant = patchMicrostripTriangular;

% Center frequency and frequency range 
fc = 10e9;
% For BW ~20%
minFreq = fc * 0.8;
maxFreq = fc * 1.2;
freqRange = linspace(minFreq, maxFreq, 35);

% Initial point
ant = design(ant, fc)
ant = 
  patchMicrostripTriangular with properties:

                 Side: 0.0210
               Height: 0.0012
            Substrate: [1×1 dielectric]
    GroundPlaneLength: 0.0300
     GroundPlaneWidth: 0.0300
    PatchCenterOffset: [0 0]
           FeedOffset: [0 0.0029]
         FeedDiameter: 3.7474e-04
            Conductor: [1×1 metal]
                 Tilt: 0
             TiltAxis: [1 0 0]
                 Load: [1×1 lumpedElement]

Использование show функция для просмотра антенны.

show(ant) 

Первоначальный анализ

Анализируйте усиление антенны. Запишите максимальное усиление антенны перед оптимизацией.

pattern(ant, fc);

Анализ импедансной полосы пропускания антенны с помощью S-параметров.

rfplot(sparameters(ant, freqRange));

Настройка задачи оптимизации

Для задачи оптимизации вам понадобятся следующие входы:

1. Целевая функция: Выберите 'maximizeBandwidth'как целевая функция. Основной целью этого примера является максимизация полосы пропускания антенны.

2. Переменные проекты: Выберите длину стороны, высоту треугольной антенны закрашенной фигуры и смещение подачи как переменные управления для целевой функции. Боковая длина треугольной закрашенной фигуры будет влиять на усиление передней лопасти. Высота и расположение питания улучшат входную полосу антенны и помогут улучшить ее соответствие.

3. Ограничения: Ограничительная функция - коэффициент усиления более 8,5 дБи.

% Design Variables
% Property Names
propNames = {'Side', 'Height', 'FeedOffset'};

% Bounds for the properties {lower bounds; upper bounds}          
bounds = {0.017 0.001 [0 0.0017]; ... % Specify the FeedOffset vector to move the feed along [x, y]
    0.023 0.004 [0.0002 0.0034]};

Оптимизационная функция

Чтобы оптимизировать антенну, используйте optimize функция.

figure; % Figure to display the convergence trend
% Optimize
optAnt = optimize(ant, fc, 'maximizeBandwidth', ...
    propNames, bounds, ...
    'Constraints', {'Gain > 8.5'}, ...
    'FrequencyRange', freqRange, ...
    'UseParallel', true);
Starting parallel pool (parpool) using the 'local' profile ...
Connected to the parallel pool (number of workers: 6).

Установите 'EnableLog'as true, чтобы напечатать число итерации и лучшее значение сходимости в командной строке.

Результат оптимизации

Сравните параметры анализа антенны до и после оптимизации.

optAnt
optAnt = 
  patchMicrostripTriangular with properties:

                 Side: 0.0190
               Height: 0.0029
            Substrate: [1×1 dielectric]
    GroundPlaneLength: 0.0300
     GroundPlaneWidth: 0.0300
    PatchCenterOffset: [0 0]
           FeedOffset: [2.4368e-05 0.0033]
         FeedDiameter: 3.7474e-04
            Conductor: [1×1 metal]
                 Tilt: 0
             TiltAxis: [1 0 0]
                 Load: [1×1 lumpedElement]

show(optAnt) 

pattern(optAnt, fc)

rfplot(sparameters(optAnt, freqRange))

Наблюдайте пропускную способность антенны после оптимизации.

См. также