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

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

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

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

% 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 dBi.

% 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'как верный, для того, чтобы распечатать итерацию числовое и оптимальное значение сходимости на командной строке.

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

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

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))

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

Смотрите также