phased.CustomAntennaElement

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

Описание

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

Частоты, на которых частотная характеристика и шаблоны антенны должны быть возвращены в виде 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.

Примечание

Объект выполняет инициализацию в первый раз, когда объект выполняется. Эта инициализация блокирует ненастраиваемые свойства и входные технические требования, такие как размерности, сложность и тип данных входных данных. Если вы изменяете ненастраиваемое свойство или входную спецификацию, Системный объект выдает ошибку. Чтобы изменить ненастраиваемые свойства или входные параметры, необходимо сначала вызвать 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)

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

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

Отобразите ответ антенны как линейный график в координатах 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