Пользовательский антенный элемент

Поддержка пользовательских антенных элементов

phased.CustomAntennaElement объект позволяет вам смоделировать пользовательский антенный элемент. Когда вы используете phased.CustomAntennaElement, необходимо задать эти аспекты антенны:

  • Операционный вектор частоты для антенного элемента

  • Частотная характеристика элемента на частотах в операционном векторе частоты

  • Углы азимута и углы возвышения, где пользовательский ответ оценен

  • Диаграмма направленности величины. Этот шаблон показывает пространственный ответ антенны в азимуте и углах возвышения, которые вы задаете.

    Совет

    Можно импортировать диаграмму направленности, которая использует u/v координаты или φ/θ углы вместо азимута/углов возвышения. Использовать такой шаблон с phased.CustomAntennaElement, сначала преобразуйте свой шаблон в форму азимута/вертикального изменения. Использование uv2azelpat или phitheta2azelpat сделать преобразование. Для примера смотрите Анализ Антенной решетки с Пользовательской Диаграммой направленности.

Для вашего пользовательского антенного элемента ответ антенны зависит от частотной характеристики и диаграммы направленности. А именно, частота и пространственные ответы интерполированы отдельно с помощью интерполяции ближайшего соседа и затем умножены вместе, чтобы произвести общий ответ. Чтобы избежать ошибок интерполяции, область значений углов азимута должна включать +/– 180 градусов, и область значений углов возвышения должна включать +/– 90 градусов.

Антенна с пользовательской диаграммой направленности

Создайте пользовательский объект антенного элемента. Диаграмма направленности имеет зависимость косинуса от угла возвышения, но независима от угла азимута.

az = -180:90:180;
el = -90:45:90;
elresp = cosd(el);
magpattern = mag2db(repmat(elresp',1,numel(az)));
phasepattern = zeros(size(magpattern));
antenna = phased.CustomAntennaElement('AzimuthAngles',az,...
    'ElevationAngles',el,'MagnitudePattern',magpattern, ...
    'PhasePattern',phasepattern);

Отобразите диаграмму направленности.

disp(antenna.MagnitudePattern)
      -Inf      -Inf      -Inf      -Inf      -Inf
   -3.0103   -3.0103   -3.0103   -3.0103   -3.0103
         0         0         0         0         0
   -3.0103   -3.0103   -3.0103   -3.0103   -3.0103
      -Inf      -Inf      -Inf      -Inf      -Inf

Вычислите ответ антенны в парах вертикального изменения азимута (-30,0) и (-45,0) на уровне 500 МГц.

ang = [-30 0; -45 0];
resp = antenna(500.0e6,ang);
disp(resp)
    0.7071
    1.0000

Следующий код иллюстрирует, как интерполяция ближайшего соседа используется, чтобы найти ответ напряжения антенны в этих двух направлениях. Общий ответ является продуктом углового ответа и частотной характеристики.

g = interp2(deg2rad(antenna.AzimuthAngles),...
    deg2rad(antenna.ElevationAngles),...
    db2mag(antenna.MagnitudePattern),...
    deg2rad(ang(1,:))', deg2rad(ang(2,:))','nearest',0);
h = interp1(antenna.FrequencyVector,...
    db2mag(antenna.FrequencyResponse),500e6,'nearest',0);
antresp = h.*g;

Сравните значение antresp к ответу антенны.

disp(mag2db(antresp))
   -3.0103
         0