phased.CustomAntennaElement

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

Описание

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

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

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

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

Чтобы узнать больше, как Системные объекты работают, смотрите то, Что Системные объекты? MATLAB.

Создание

Описание

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 Используя Системные объекты (MATLAB).

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

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

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

Частотные характеристики на частотах заданы в FrequencyVector свойство в виде 1 L вектором-строкой. 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-теты в виде P с действительным знаком - вектор длины. Эти углы являются phi углами, где пользовательский шаблон задан. P должен быть больше 2.

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

Зависимости

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

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

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

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

Зависимости

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

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

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

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

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

Типы данных: логический

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

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

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

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

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

Зависимости

Чтобы включить это свойство, установите 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

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

Типы данных: логический

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

Синтаксис

Описание

пример

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.

Примечание

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

release(obj)

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

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

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

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

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

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

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

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

Создайте 3х3 URA с этим элементом и отобразите шаблон антенны в 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 к истине. Затем создайте другой массив с этим элементом.

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

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

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

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

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