exponenta event banner

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

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

Определение геометрии антенны

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

% 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'как 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))

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

См. также