phased.CustomAntennaElement

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

Описание

phased.CustomAntennaElement объектные модели элемент антенны с пользовательским шаблоном ответа. Шаблон ответа может быть задан для поляризованных или неполяризованных полей.

Вычислить ответ элемента антенны для заданных направлений:

  1. Задайте и настройте свой пользовательский элемент антенны. Смотрите Конструкцию.

  2. Вызовите step вычислить ответ антенны согласно свойствам phased.CustomAntennaElement. Поведение step характерно для каждого объекта в тулбоксе.

Примечание

Запуск в R2016b, вместо того, чтобы использовать step метод, чтобы выполнить операцию, заданную Системой object™, вызовите объект с аргументами, как будто это была функция. Например, y = step(obj,x) и y = obj(x) выполните эквивалентные операции.

Конструкция

H = phased.CustomAntennaElement создает системный объект, H, смоделировать элемент антенны с пользовательским шаблоном ответа. То, как шаблон ответа задан, зависит от того, желаема ли поляризация или нет. Шаблон по умолчанию имеет изотропный пространственный ответ.

  • Чтобы создать неполяризованный шаблон ответа, установите SpecifyPolarizationPattern свойство к false (значение по умолчанию). Затем используйте MagnitudePattern свойство установить шаблон ответа.

  • Чтобы создать поляризованный шаблон ответа, установите SpecifyPolarizationPattern свойство к true. Затем используйте любой из HorizontalMagnitudePattern, HorizontalPhasePattern, VerticalMagnitudePattern, и VerticalPhasePattern свойства установить шаблон ответа.

Выходной ответ step метод зависит от того, установлена ли поляризация или нет.

H = phased.CustomAntennaElement(Name,Value) создает пользовательский объект антенны, H, с каждым заданным набором имени свойства к заданному значению. Можно задать дополнительные аргументы пары "имя-значение" в любом порядке как (Name1, Value1..., NameN, ValueN).

Свойства

FrequencyVector

Ответ и вектор частоты шаблона

Задайте частоты (в Гц), в котором частотная характеристика и шаблоны антенны должны быть возвращены как 1 L вектором-строкой. Элементы вектора должны быть в увеличивающемся порядке. Элемент антенны не имеет никакого ответа вне частотного диапазона, заданного минимальными и максимальными элементами вектора частоты.

Значение по умолчанию: [0 1e20]

AzimuthAngles

Углы азимута

Задайте углы азимута (в градусах) как вектор длины-P. Эти значения являются углами азимута, где пользовательская диаграмма направленности должна быть задана. P должен быть больше 2. Углы азимута должны находиться между-180 ° и 180 ° и быть в строго увеличивающемся порядке.

Значение по умолчанию: [-180:180]

ElevationAngles

Углы вертикального изменения

Задайте углы вертикального изменения (в градусах) как вектор длины-Q. Эти значения являются углами вертикального изменения, где пользовательская диаграмма направленности должна быть задана. Q должен быть больше 2. Углы вертикального изменения должны находиться между-90 ° и 90 ° и быть в строго увеличивающемся порядке.

Значение по умолчанию: [-90:90]

FrequencyResponse

Частотные характеристики элемента антенны

Задайте частотные характеристики в децибелах, измеренных на частотах, заданных в FrequencyVector свойство как 1 L вектором-строкой. L равняется длине вектора, заданного в FrequencyVector свойство.

Значение по умолчанию: [0 0]

SpecifyPolarizationPattern

Поляризованный ответ массивов

  • Когда SpecifyPolarizationPattern свойство установлено в false, элемент антенны передает или получает неполяризованное излучение. В этом случае используйте MagnitudePattern свойство установить шаблон ответа антенны.

  • Когда SpecifyPolarizationPattern свойство установлено в true, элемент антенны передает или получает поляризованное излучение. В этом случае используйте HorizontalMagnitudePattern и HorizontalPhasePattern свойства установить горизонтальный шаблон ответа поляризации и VerticalMagnitudePattern и VerticalPhasePattern свойства установить вертикальный шаблон ответа поляризации.

По умолчанию: false

MagnitudePattern

Величина объединенной диаграммы направленности антенн

Величина объединенной диаграммы направленности антенн поляризации, заданной как Q-by-P матрица или Q-by-P-by-L массив. Это свойство используется только когда SpecifyPolarizationPattern свойство установлено в false. Единицы величины находятся в дБ.

  • Если значением этого свойства является Q-by-P матрица, тот же шаблон применяется ко всем частотам, заданным в FrequencyVector свойство.

  • Если значением является Q-by-P-by-L массив, каждый Q-by-P страница массива задает шаблон для соответствующей частоты, заданной в FrequencyVector свойство.

Если шаблон содержит NaN в любом азимуте и направлении вертикального изменения, это преобразовано в -Inf, указание на нулевой ответ в том направлении. Пользовательская антенна возражает интерполяции использования, чтобы оценить ответ антенны в данном направлении. Чтобы избежать ошибок интерполяции, пользовательский шаблон ответа должен содержать углы азимута в области значений [–180,180] степени. Установите область значений углов вертикального изменения к [–90,90] степени.

Значение по умолчанию: 181 361 матрица со всеми элементами равняются 0 дБ

PhasePattern

Фаза объединенной диаграммы направленности антенн

Фаза объединенной диаграммы направленности антенн поляризации, заданной как Q-by-P матрица или Q-by-P-by-L массив. Это свойство используется только когда SpecifyPolarizationPattern свойство установлено в false. Модули фазы в градусах.

  • Если значением этого свойства является Q-by-P матрица, тот же шаблон применяется ко всем частотам, заданным в FrequencyVector свойство.

  • Если значением является Q-by-P-by-L массив, каждый Q-by-P страница массива задает шаблон для соответствующей частоты, заданной в FrequencyVector свойство.

Пользовательская антенна возражает интерполяции использования, чтобы оценить ответ антенны в данном направлении. Чтобы избежать ошибок интерполяции, пользовательский шаблон ответа должен содержать углы азимута в области значений [–180°,180°]. Установите область значений углов вертикального изменения к [–90°,90°].

Значение по умолчанию: 181 361 матрица со всеми элементами равняются 0

HorizontalMagnitudePattern

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

Величина горизонтального компонента поляризации диаграммы направленности антенн, заданной как Q-by-P матрица или Q-by-P-by-L массив. Это свойство используется только когда SpecifyPolarizationPattern свойство установлено в true. Единицы величины находятся в дБ.

  • Если значением этого свойства является Q-by-P матрица, тот же шаблон применяется ко всем частотам, заданным в FrequencyVector свойство.

  • Если значением является Q-by-P-by-L массив, каждый Q-by-P страница массива задает шаблон для соответствующей частоты, заданной в FrequencyVector свойство.

Если шаблон величины содержит NaN в любом азимуте и направлении вертикального изменения, это преобразовано в -Inf, указание на нулевой ответ в том направлении. Пользовательская антенна возражает интерполяции использования, чтобы оценить ответ антенны в данном направлении. Чтобы избежать ошибок интерполяции, пользовательский шаблон ответа должен содержать углы азимута в области значений [–180,180]° и углы вертикального изменения в области значений [–90,90]°.

Значение по умолчанию: 181 361 матрица со всеми элементами равняются 0 дБ

HorizontalPhasePattern

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

Фаза горизонтального компонента поляризации диаграммы направленности антенн, заданной как Q-by-P матрица или Q-by-P-by-L массив. Это свойство используется только когда SpecifyPolarizationPattern свойство установлено в true. Модули фазы в градусах.

  • Если значением этого свойства является Q-by-P матрица, тот же шаблон применяется ко всем частотам, заданным в FrequencyVector свойство.

  • Если значением является Q-by-P-by-L массив, каждый Q-by-P страница массива задает шаблон для соответствующей частоты, заданной в FrequencyVector свойство.

Пользовательская антенна возражает интерполяции использования, чтобы оценить ответ антенны в данном направлении. Чтобы избежать ошибок интерполяции, пользовательский шаблон ответа должен содержать углы азимута в области значений [–180,180]° и углы вертикального изменения в области значений [–90,90]°.

Значение по умолчанию: 181 361 матрица со всеми элементами равняются 0 °

VerticalMagnitudePattern

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

Величина вертикального компонента поляризации диаграммы направленности антенн, заданной как Q-by-P матрица или Q-by-P-by-L массив. Это свойство используется только когда SpecifyPolarizationPattern свойство установлено в true. Единицы величины находятся в дБ.

  • Если значением этого свойства является Q-by-P матрица, тот же шаблон применяется ко всем частотам, заданным в FrequencyVector свойство.

  • Если значением является Q-by-P-by-L массив, каждый Q-by-P страница массива задает шаблон для соответствующей частоты, заданной в FrequencyVector свойство.

Если шаблон содержит NaN в любом азимуте и направлении вертикального изменения, это преобразовано в -Inf, указание на нулевой ответ в том направлении. Пользовательская антенна возражает интерполяции использования, чтобы оценить ответ антенны в данном направлении. Чтобы избежать ошибок интерполяции, пользовательский шаблон ответа должен содержать углы азимута в range[–180,180]° и углы вертикального изменения в области значений [–90,90]°.

Значение по умолчанию: 181 361 матрица со всеми элементами равняются 0 дБ

VerticalPhasePattern

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

Фаза вертикального компонента поляризации диаграммы направленности антенн, заданной как Q-by-P матрица или Q-by-P-by-L массив. Это свойство используется только когда SpecifyPolarizationPattern свойство установлено в true. Модули фазы в градусах.

  • Если значением этого свойства является Q-by-P матрица, тот же шаблон применяется ко всем частотам, заданным в FrequencyVector свойство.

  • Если значением является Q-by-P-by-L массив, каждый Q-by-P страница массива задает шаблон для соответствующей частоты, заданной в FrequencyVector свойство.

Пользовательская антенна возражает интерполяции использования, чтобы оценить ответ антенны в данном направлении. Чтобы избежать ошибок интерполяции, пользовательский шаблон ответа должен содержать углы азимута в области значений [–180,180]° и углы вертикального изменения в области значений [–90,90]°.

Значение по умолчанию: 181 361 матрица со всеми элементами равняются 0 °

MatchArrayNormal

Совпадайте с элементом, нормальным, чтобы выстроить нормальный

Установите это свойство на true выровнять элемент антенны к нормальному массиву. Шаблон антенны вращается так, чтобы x - ось системы координат элемента указала вдоль нормального массива. Это свойство используется только, когда элемент антенны принадлежит массиву. Используйте свойство в сочетании с ArrayNormal свойство phased.URA и phased.UCA Системные объекты. Установите это свойство на false использовать шаблон элемента без вращения. Значением по умолчанию является true.

Методы

направленностьНаправленность пользовательского элемента антенны
isPolarizationCapableВозможность поляризации
шаблонПостройте пользовательскую направленность элемента антенны и шаблоны
patternAzimuthПостройте пользовательскую направленность элемента антенны или шаблон по сравнению с азимутом
patternElevationПостройте пользовательскую направленность элемента антенны или шаблон по сравнению с вертикальным изменением
plotResponseПостройте шаблон ответа антенны
шагВыведите ответ элемента антенны
Характерный для всех системных объектов
release

Позвольте изменения значения свойства Системного объекта

Примеры

развернуть все

Создайте пользовательскую антенну с шаблоном косинуса. Затем постройте сокращение вертикального изменения ответа степени антенны.

Пользовательский шаблон является всенаправленным в направлении азимута и имеет шаблон косинуса в направлении вертикального изменения. Примите, что антенна действует на уровне 1 ГГц. Получите ответ в азимуте на 20 ° и вертикальное изменение на 30 °.

fc = 1e9;
azang = -180:180;
elang = -90:90;
magpattern = mag2db(repmat(cosd(elang)',1,numel(azang)));
phasepattern = zeros(size(magpattern));
antenna = phased.CustomAntennaElement('AzimuthAngles',azang, ...
    'ElevationAngles',elang,'MagnitudePattern',magpattern, ...
    'PhasePattern',phasepattern);
resp = antenna(fc,[20;30])
resp = 0.8660

Постройте сокращение вертикального изменения ответа степени.

pattern(antenna,fc,20,-90:90,'CoordinateSystem','polar','Type','powerdb')

Постройте сокращение вертикального изменения направленности.

pattern(antenna,fc,20,-90:90,'CoordinateSystem','polar','Type','directivity')

Задайте пользовательскую антенну на u-v пробеле. Затем вычислите и постройте ответ.

Задайте диаграмму направленности (в дБ) антенны в терминах u и координат v в модульном кругу.

u = -1:0.01:1;
v = -1:0.01:1;
[u_grid,v_grid] = meshgrid(u,v);
pat_uv = sqrt(1 - u_grid.^2 - v_grid.^2);
pat_uv(hypot(u_grid,v_grid) >= 1) = 0;

Создайте антенну с этой диаграммой направленности. Преобразуйте координаты u-v в координаты вертикального изменения и азимуту.

[pat_azel,az,el] = uv2azelpat(pat_uv,u,v);
array = phased.CustomAntennaElement('AzimuthAngles',az,'ElevationAngles',el, ...
    'MagnitudePattern',mag2db(pat_azel),'PhasePattern',45*ones(size(pat_azel)));

Вычислите ответ в направлении u = 0.5, v = 0. Примите, что антенна действует на уровне 1 ГГц. Выход метода шага находится в линейных модулях.

dir_uv = [0.5;0];
dir_azel = uv2azel(dir_uv);
fc = 1e9;
resp = array(fc,dir_azel)
resp = 0.6124 + 0.6124i

Постройте 3D ответ в координатах u-v.

pattern(array,fc,[-1:.01:1],[-1:.01:1],'CoordinateSystem','uv','Type','powerdb')

Отобразите ответ антенны как линейный график в координатах u-v.

pattern(array,fc,[-1:.01:1],0,'CoordinateSystem','uv','Type','powerdb')

Смоделируйте короткую дипольную антенну, ориентированную вперед x- ось локальной системы координат антенны. Для этого типа антенны горизонтальными и вертикальными составляющими электрического поля дают EH=jωμIL4πrsin(az) и EV=-jωμIL4πrsin(el)потому что(az).

Задайте нормированную диаграмму направленности короткой дипольной антенны условия азимута, az, и вертикальное изменение, el, координаты. Вертикальные и горизонтальные диаграммы направленности нормированы к максимуму единицы.

az = [-180:180];
el = [-90:90];
[az_grid,el_grid] = meshgrid(az,el);
horz_pat_azel = ...
    mag2db(abs(sind(az_grid)));
vert_pat_azel = ...
    mag2db(abs(sind(el_grid).*cosd(az_grid)));

Настройте антенну. Задайте SpecifyPolarizationPattern свойство произвести поляризованное излучение. Кроме того, используйте HorizontalMagnitudePattern и VerticalMagnitudePattern свойства задать значения величины шаблона. HorizontalPhasePattern и VerticalPhasePattern свойства берут значения по умолчанию нуля.

sCust = phased.CustomAntennaElement(...
    'AzimuthAngles',az,'ElevationAngles',el,...
    'SpecifyPolarizationPattern',true,...
    'HorizontalMagnitudePattern',horz_pat_azel,...
    'VerticalMagnitudePattern',vert_pat_azel);

Примите, что антенна действует на уровне 1 ГГц.

fc = 1e9;

Отобразите вертикальный шаблон ответа.

pattern(sCust,fc,[-180:180],[-90:90],...
    'CoordinateSystem','polar',...
    'Type','powerdb',...
    'Polarization','V')

Отобразите горизонтальный шаблон ответа.

pattern(sCust,fc,[-180:180],[-90:90],...
    'CoordinateSystem','polar',...
    'Type','powerdb',...
    'Polarization','H')

Объединенный ответ поляризации, показанный ниже, иллюстрирует x- пустой указатель оси диполя.

pattern(sCust,fc,[-180:180],[-90:90],...
    'CoordinateSystem','polar',...
    'Type','powerdb',...
    'Polarization','combined')

Задайте пользовательскую антенну на u-v пробеле. Покажите, как шаблон ответа массивов затронут выбором MatchArrayNormal свойство phased.CustomAntennaElement.

Задайте шаблон ответа (в дБ) антенны как функция u и координат v в модульном кругу. Антенна действует на уровне 1 ГГц.

fc = 1e9;
c = physconst('LightSpeed');
u = -1:0.01:1;
v = -1:0.01:1;
[u_grid,v_grid] = meshgrid(u,v);
pat_uv = sqrt(1 - u_grid.^2 - v_grid.^2);
pat_uv(hypot(u_grid,v_grid) >= 1) = 0;

Создайте пользовательскую антенну с этим шаблоном. Преобразуйте координаты u-v в координаты вертикального изменения и азимуту. Установите MatchArrayNormal к false.

[pat_azel,az,el] = uv2azelpat(pat_uv,u,v);
element = phased.CustomAntennaElement('AzimuthAngles',az,'ElevationAngles',el, ...
    'MagnitudePattern',mag2db(pat_azel),'PhasePattern',45*ones(size(pat_azel)), ...
    "MatchArrayNormal",false);

Создайте 3х3 URA с этим элементом и отобразите шаблон антенны в 3-D полярных координатах. Интервал элемента является половиной длины волны. Массив нормальные точки вдоль оси Y.

lam = c/fc;
array = phased.URA('Element',element,'Size',[3 3],'ElementSpacing', ...
    [lam/2 lam/2],'ArrayNormal','y');
pattern(array,fc,-180:180,-90:90,'PropagationSpeed',c, ...
    'CoordinateSystem','polar','Type','powerdb','Normalize',true)

Шаблон показывает взаимодействие между шаблоном элемента, указывающим вдоль оси X и шаблоном массивов, указывающим вдоль оси Y.

Создайте другую пользовательскую антенну с той же диаграммой направленности. Установите MatchArrayNormal к истине. Затем создайте другой массив с этим элементом.

element2 = phased.CustomAntennaElement('AzimuthAngles',az,'ElevationAngles',el, ...
    'MagnitudePattern',mag2db(pat_azel),'PhasePattern',45*ones(size(pat_azel)), ...
    "MatchArrayNormal",true);
array2 = phased.URA('Element',element2,'Size',[3 3],'ElementSpacing', ...
    [lam/2 lam/2],'ArrayNormal','y');
pattern(array2,fc,-180:180,-90:90,'PropagationSpeed',c, ...
    'CoordinateSystem','polar','Type','powerdb','Normalize',true)

Этот шаблон показывает выровненный элемент и шаблоны массивов, указывающие вдоль оси Y.

Алгоритмы

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

Расширенные возможности

Введенный в R2011a