поэтапный. 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.UCA и phased.URA. Установите это свойство на 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 вычисляет оба ответа с помощью самой близкой соседней интерполяции, и затем умножает ответы, чтобы сформировать общий ответ.

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

Представленный в R2012a

Для просмотра документации необходимо авторизоваться на сайте