phased.CustomAntennaElement

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

Описание

The phased.CustomAntennaElement Системный object™ моделирует антенный элемент с пользовательской диаграммой направленности пространственного отклика. Диаграмма направленности может быть задана для поляризованных или неполяризованных полей.

Чтобы создать пользовательский антенный элемент:

  1. Создайте phased.CustomAntennaElement Объекту и установите его свойства.

  2. Вызывайте объект с аргументами, как будто это функция.

Дополнительные сведения о работе системных объектов см. в разделе «Что такое системные объекты?».

Создание

Описание

antenna = phased.CustomAntennaElement создает Системный объект, antenna, со значениями свойств по умолчанию. Значение по умолчанию диаграммы направленности пространственно изотропно.

пример

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

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

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

Свойства

расширить все

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

Если свойство настраивается, можно изменить его значение в любой момент.

Для получения дополнительной информации об изменении значений свойств смотрите Разработку системы в MATLAB Использование Системных объектов.

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

Пример: [200:50:300]*1e6

Типы данных: double

Частотные характеристики на частотах, заданных в FrequencyVector свойство, заданное как вектор-строка L 1 байт. L равняется длине вектора, заданной в FrequencyVector свойство. Модули указаны в дБ.

Пример: [0 6 0]

Типы данных: double

Система координат пользовательского шаблона антенны, заданная 'az-el' или 'phi-theta'. Когда вы задаете 'az-el', используйте AzimuthAngles и ElevationAngles свойства для задания системы координат шаблона. Когда вы задаете 'phi-theta', используйте PhiAngles и ThetaAngles свойства для задания системы координат шаблона.

Типы данных: char

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

Пример: [30 40 50]

Зависимости

Чтобы включить это свойство, установите PatternCoordinateSystem свойство к 'az-el'.

Типы данных: double

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

Пример: [-30 0 +30]

Зависимости

Чтобы включить это свойство, установите PatternCoordinateSystem свойство к 'az-el'.

Типы данных: double

Углы Phi в системе координат phi-theta, заданные как действительный вектор P -length. Эти углы являются углами phi, где задан пользовательский шаблон. P должно быть больше 2.

Пример: [90:180]

Зависимости

Чтобы включить это свойство, установите PatternCoordinateSystem свойство к 'phi-theta'.

Типы данных: double

Theta в системе координат phi-theta, заданные как действительный вектор Q -length. Эти углы являются углами theta, где задан пользовательский шаблон. Q должно быть больше 2.

Пример: [40:80]

Зависимости

Чтобы включить это свойство, установите PatternCoordinateSystem свойство к 'phi-theta'.

Типы данных: double

Поляризованная характеристика массива, заданная как false или true.

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

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

Типы данных: logical

Величина комбинированного поляризационного антенного излучения, шаблон задан как Q матрица 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] степени.

Типы данных: double

Фаза комбинированной диаграммы направленности поляризации, заданная как Q матрица 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°].

Типы данных: double

Величина горизонтального компонента поляризации диаграммы направленности антенн, определенной как с реальным знаком Q P матрицей или с реальным знаком Q P L массив. Модули величины указаны в дБ.

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

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

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

Зависимости

Чтобы включить это свойство, установите SpecifyPolarizationPattern свойство к true.

Типы данных: double

Фаза горизонтальной поляризации диаграммы направленности антенного излучения, заданная как действительная матрица 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]°.

Зависимости

Чтобы включить это свойство, установите SpecifyPolarizationPattern свойство к true.

Типы данных: double

Величина вертикальной поляризации диаграммы направленности антенного излучения задается в виде Q матрицы 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]°.

Зависимости

Чтобы включить это свойство, установите SpecifyPolarizationPattern свойство к true.

Типы данных: double

Фаза вертикальной поляризации диаграммы направленности антенного излучения, заданная как Q матрица 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]°.

Зависимости

Чтобы включить это свойство, установите SpecifyPolarizationPattern свойство к true.

Типы данных: double

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

Типы данных: logical

Использование

Синтаксис

Описание

пример

RESP = antenna(FREQ,ANG) возвращает ответ антенны на напряжение RESP на рабочих частотах, указанных в FREQ и направления, указанные в ANG. Форма RESP зависит от того, поддерживает ли антенный элемент поляризацию, определяемую SpecifyPolarizationPattern свойство. Если SpecifyPolarizationPattern установлено в false, RESP - матрица M -by L, содержащая ответ антенны под углами M, указанными в ANG и на L частотах, указанных в FREQ. Если SpecifyPolarizationPattern установлено в true, RESP является MATLAB® struct содержащие два поля, RESP.H и RESP.V, представляющий ответ антенны в горизонтальной и вертикальной поляризации, соответственно. Каждое поле является M -by - L матрицей, содержащей ответ антенны при M углах, заданных в ANG и на L частотах, указанных в FREQ.

Примечание

Объект выполняет инициализацию при первом выполнении объекта. Эта инициализация блокирует нетронутые свойства и входные спецификации, такие как размерности, сложность и тип данных входных данных. Если вы изменяете свойство nontunable или спецификацию входа, системный объект выдает ошибку. Чтобы изменить нетронутые свойства или входы, необходимо сначала вызвать release метод для разблокировки объекта.

Входные параметры

расширить все

Рабочая частота антенного элемента, заданная как неотрицательный скалярный или неотрицательный, действительный, 1-байт- L вектор-строка. Частотные модули указаны в Гц.

FREQ должно находиться в области значений значений, заданных FrequencyRange или FrequencyVector свойство элемента. В противном случае элемент не выдает отклика, и ответ возвращается следующим –Inf. Большинство элементов объектов используют FrequencyRange свойство кроме phased.CustomAntennaElement, который использует FrequencyVector свойство.

Пример: [1e8 2e6]

Типы данных: double

Азимут и углы возвышения направлений отклика, заданные как действительный, 1-байтовый M вектор-строка или как действительная, 2-байтовая M матрица, где M - количество угловых направлений. Угловые модули находятся в степенях. Угол азимута должен лежать в области значений от -180 ° до 180 ° включительно. Угол возвышения должен лежать в области значений от -90 ° до 90 ° включительно.

  • Если ANG является вектором с M 1 байт, каждый элемент задает азимутальный угол направления. В этом случае соответствующий угол возвышения принимается равным нулю.

  • Если ANG является 2-бай- M матрицей, каждый столбец матрицы задает направление в форме [азимут; повышение].

Угол азимута является углом между осью x и проекцией вектора направления на плоскость xy. Этот угол положителен при измерении от оси x к оси y. Угол возвышения является углом между вектором направления и xy-плоскостью. Этот угол положителен при измерении к оси z. См. определение азимута и углов возвышения.

Пример: [110 125; 15 10]

Типы данных: double

Выходные аргументы

расширить все

Реакция напряжения антенного элемента, возвращаемая как комплексно- M L матрица. В этой матрице M представляет количество углов, заданных в ANG а L представляет количество частот, заданное в FREQ.

Типы данных: double

Функции объекта

Чтобы использовать функцию объекта, задайте системный объект в качестве первого входного параметра. Например, чтобы освободить системные ресурсы системного объекта с именем obj, используйте следующий синтаксис:

release(obj)

расширить все

beamwidthВычислите и отобразите ширину луча шаблона элемента датчика
directivityНаправление антенны или элемента преобразователя
isPolarizationCapableПоляризационная способность антенного элемента
patternПостройте диаграмму направленности и шаблонов антенны или элемента преобразователя
patternAzimuthПостройте график направленности антенны или элемента преобразователя и шаблона от азимута
patternElevationПостройте график направленности антенны или элемента преобразователя и шаблона от повышения
stepЗапуск алгоритма системного объекта
releaseОтпустите ресурсы и допустите изменения в значениях свойств системного объекта и входных характеристиках
resetСброс внутренних состояний Системного объекта

Примеры

свернуть все

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

Пользовательский шаблон является всенаправленным в азимутальном направлении и имеет косинусоидальный шаблон в повышение направлении. Предположим, что антенна работает на 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')

Figure contains an axes. The axes with title 3D Response Pattern in u-v space contains an object of type surface.

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

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

Figure contains an axes. The axes with title Response in U Space contains an object of type line. This object represents 1 GHz.

Моделируйте короткую дипольную антенну, ориентированную вдоль x- ось локальной системы координат антенны. Для этого типа антенны горизонтальные и вертикальные компоненты электрического поля заданы как EH=jωμIL4πrsin(az) и EV=-jωμIL4πrsin(el)cos(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 свойства для задания значений величины шаблона. The HorizontalPhasePattern и VerticalPhasePattern свойства берут значения , равные нулю.

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

Предположим, что антенна работает на 1 ГГц.

fc = 1e9;

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

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

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

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

Комбинированная поляризационная характеристика, показанная ниже, иллюстрирует x-axis null для диполя.

pattern(antenna,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);
antenna = phased.CustomAntennaElement('AzimuthAngles',az,'ElevationAngles',el, ...
    'MagnitudePattern',mag2db(pat_azel),'PhasePattern',45*ones(size(pat_azel)), ...
    "MatchArrayNormal",false);

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

lam = c/fc;
array = phased.URA('Element',antenna,'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 к true. Затем создайте другой массив с этим элементом.

antenna2 = phased.CustomAntennaElement('AzimuthAngles',az,'ElevationAngles',el, ...
    'MagnitudePattern',mag2db(pat_azel),'PhasePattern',45*ones(size(pat_azel)), ...
    "MatchArrayNormal",true);
array2 = phased.URA('Element',antenna2,'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.

Создайте пользовательскую антенну с всенаправленной характеристикой по азимуту и косинусоидным шаблоном по повышению. Антенна работает на 1 ГГц. Постройте график диаграммы направленности. Затем найдите ответ антенны на 30 °.

antenna = phased.CustomAntennaElement;
antenna.AzimuthAngles = -180:180;
antenna.ElevationAngles = -90:90;
antenna.MagnitudePattern = mag2db(repmat(cosd(antenna.ElevationAngles)',...
    1,numel(antenna.AzimuthAngles)));

Найдите ответ на повышении 30 ° для рабочей частоты 1 ГГц.

fc = 1.0e9;
resp = antenna(fc,[0;30])
resp = 0.8660

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

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

Вычислите направленность пользовательского антенного элемента.

Задайте шаблон антенны для пользовательского антенного элемента в пространстве азимута и высоты. Этот шаблон является всенаправленным в азимутальном направлении и имеет шаблон косинуса в повышение направлении. Предположим, что антенна работает на 1 ГГц. Получите ответ в нулевых степенях азимута и от -30 до 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);

Вычислите директивы как функцию изменения повышения для угла азимута 0 °.

angs = [0,0,0,0,0,0,0;-30,-20,-10,0,10,20,30];
freq = 1e9;
d = directivity(antenna,freq,angs)
d = 7×1

    0.5115
    1.2206
    1.6279
    1.7609
    1.6279
    1.2206
    0.5115

Направленность является максимальной 0 повышение.

Покажите, что CustomAntennaElement антенный элемент поддерживает поляризацию, когда SpecifyPolarizationPattern для свойства задано значение true.

antenna = phased.CustomAntennaElement('SpecifyPolarizationPattern',true);
isPolarizationCapable(antenna)
ans = logical
   1

Возвращенное значение 1 показывает, что этот антенный элемент поддерживает поляризацию.

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

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

fc = 1e9;
antenna = phased.CustomAntennaElement;
antenna.AzimuthAngles = -180:180;
antenna.ElevationAngles = -90:90;
antenna.MagnitudePattern = mag2db(repmat(cosd(antenna.ElevationAngles)', ...
    1,numel(antenna.AzimuthAngles)));
resp = antenna(fc,[0;0])
resp = 1

Постройте график повышения выреза величины отклика как линейный график.

pattern(antenna,fc,0,[-90:90],'CoordinateSystem','rectangular', ...
    'Type','efield')

Figure contains an axes. The axes with title Elevation Cut (azimuth angle = 0.0°) contains an object of type line. This object represents 1 GHz.

Постройте график вертикального разреза направленности как линейный график, показывающий, что максимальная направленность составляет приблизительно 2 дБ.

pattern(antenna,fc,0,[-90:90],'CoordinateSystem','rectangular', ...
    'Type','directivity')

Figure contains an axes. The axes with title Elevation Cut (azimuth angle = 0.0°) contains an object of type line. This object represents 1 GHz.

Создайте пользовательский Системный объект антенны. Пользовательский шаблон является всенаправленным в азимутальном направлении и имеет косинусоидальный шаблон в повышение направлении. Предположим, что антенна работает на частоте 1 ГГц. Сначала покажите ответ в boresight. Отобразите шаблон 3-D для диапазона 60 градусов азимута и углов подъёма с шагом 0,1 градуса по центру от 0 градусов азимута и 0 градусов.

fc = 1e9;
azang = -180:180;
elang = -90:90;
magpattern = mag2db(repmat(cosd(elang)',1,numel(azang)));
antenna = phased.CustomAntennaElement('AzimuthAngles',azang, ...
    'ElevationAngles',elang,'MagnitudePattern',magpattern);
resp = antenna(fc,[0;0])
resp = 1

Постройте график диаграммы направленности мощности для области значений углов.

pattern(antenna,fc,[-30:0.1:30],[-30:0.1:30],'CoordinateSystem','polar', ...
    'Type','power')

Создайте антенну с пользовательским откликом. Пользовательский шаблон имеет синусоидальный шаблон в азимутальном направлении и косинусоидальный шаблон в повышение направлении. Предположим, что антенна работает на частоте 500 МГц. Постройте график азимутального разреза диаграммы направленности мощности пользовательского антенного элемента на повышении 0 и 30 степеней. Предположим, что рабочая частота составляет 500 МГц.

Создайте антенный элемент.

fc = 500e6;
antenna = phased.CustomAntennaElement;
antenna.AzimuthAngles = -180:180;
antenna.ElevationAngles = -90:90;
antenna.MagnitudePattern = mag2db(abs(cosd(antenna.ElevationAngles)'*sind(antenna.AzimuthAngles)));
patternAzimuth(antenna,fc,[0 30],'Type','powerdb')

Постройте график уменьшенной области значений углов азимута с помощью Azimuth параметр.

patternAzimuth(antenna,fc,[0 30],'Azimuth',[-45:45],'Type','powerdb')

Создайте антенну с пользовательским откликом. Пользовательский шаблон имеет синусоидальный шаблон в азимутальном направлении и косинусоидальный шаблон в повышение направлении. Предположим, что антенна работает на частоте 500 МГц. Постройте график повышения выреза степени пользовательского антенного элемента в 0 и 30 степени повышения. Предположим, что рабочая частота составляет 500 МГц.

Создайте антенный элемент.

fc = 500e6;
antenna = phased.CustomAntennaElement;
antenna.AzimuthAngles = -180:180;
antenna.ElevationAngles = -90:90;
antenna.MagnitudePattern = mag2db(abs(cosd(antenna.ElevationAngles)'*sind(antenna.AzimuthAngles)));
patternElevation(antenna,fc,[0 30],'Type','powerdb')

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

patternElevation(antenna,fc,[0 30],'Elevation',[-45:45],'Type','powerdb')

Алгоритмы

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

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

.
Введенный в R2011a