Пользовательский элемент антенны
phased.CustomAntennaElement
Система object™ моделирует элемент антенны с пользовательским пространственным шаблоном ответа. Шаблон ответа может быть задан для поляризованных или неполяризованных полей.
Создать пользовательский элемент антенны:
Создайте phased.CustomAntennaElement
объект и набор его свойства.
Вызовите объект с аргументами, как будто это была функция.
Чтобы узнать больше, как Системные объекты работают, смотрите то, Что Системные объекты? MATLAB.
создает Системный объект, antenna
= phased.CustomAntennaElementantenna
, со значениями свойств по умолчанию. Шаблон ответа по умолчанию является пространственно изотропным.
создает пользовательский объект антенны, antenna
= phased.CustomAntennaElement(Name
,Value
)antenna
, с каждым заданным набором имени свойства к заданному значению. Можно задать дополнительные аргументы пары "имя-значение" в любом порядке как (Name1
, Value1
..., NameN
, ValueN
). Например, выходной ответ объекта зависит от того, установлена ли поляризация или нет.
Чтобы создать неполяризованный шаблон ответа, установите SpecifyPolarizationPattern
свойство к false
(значение по умолчанию). Затем используйте MagnitudePattern
и PhasePattern
свойства задать шаблон ответа.
Чтобы создать поляризованный шаблон ответа, установите SpecifyPolarizationPattern
свойство к true
. Затем используйте любой из HorizontalMagnitudePattern
, HorizontalPhasePattern
, VerticalMagnitudePattern
, и VerticalPhasePattern
свойства задать шаблон ответа.
Если в противном случае не обозначено, свойства являются ненастраиваемыми, что означает, что вы не можете изменить их значения после вызова объекта. Объекты блокируют, когда вы вызываете их и release
функция разблокировала их.
Если свойство является настраиваемым, можно изменить его значение в любое время.
Для получения дополнительной информации об изменении значений свойств смотрите Разработку системы в MATLAB Используя Системные объекты (MATLAB).
FrequencyVector
— Ответ и вектор частоты шаблона[0 1e20]
(значение по умолчанию) | 1 L вектором-строкойЧастоты, на которых частотная характеристика и шаблоны антенны должны быть возвращены в виде 1 L вектором-строкой. Элементы вектора должны быть в увеличивающемся порядке. Элемент антенны не имеет никакого ответа вне частотного диапазона, заданного минимальными и максимальными элементами вектора частоты. Модули находятся в Гц.
Пример: [200:50:300]*1e6
Типы данных: double
FrequencyResponse
— Частотные характеристики элемента антенны
(значение по умолчанию) | 1 с действительным знаком L векторомЧастотные характеристики на частотах заданы в FrequencyVector
свойство в виде 1 L вектором-строкой. L равняется длине вектора, заданного в FrequencyVector
свойство. Модули находятся в дБ.
Пример: [0 6 0]
Типы данных: double
PatternCoordinateSystem
— Система координат пользовательского шаблона антенны'az-el'
(значение по умолчанию) | 'phi-theta'
Система координат пользовательского шаблона антенны, заданного 'az-el'
или 'phi-theta'
. Когда вы задаете 'az-el'
, используйте AzimuthAngles
и ElevationAngles
свойства задать систему координат шаблона. Когда вы задаете 'phi-theta'
, используйте PhiAngles
и ThetaAngles
свойства задать систему координат шаблона.
Типы данных: char
AzimuthAngles
— Углы азимута
(значение по умолчанию) | вектор длины-P с действительным знакомЗадайте углы азимута как вектор длины-P. Эти углы являются углами азимута, где пользовательская диаграмма направленности задана. P должен быть больше 2. Углы азимута должны находиться между-180 ° и 180 ° и быть в строго увеличивающемся порядке. Модули в градусах.
Пример: [30 40 50]
Чтобы включить это свойство, установите PatternCoordinateSystem
свойство к 'az-el'
.
Типы данных: double
ElevationAngles
— Углы вертикального изменения
(значение по умолчанию) | вектор длины-Q с действительным знакомЗадайте углы вертикального изменения как вектор длины-Q. Эти углы являются углами вертикального изменения, где пользовательская диаграмма направленности задана. Q должен быть больше 2. Углы вертикального изменения должны находиться между-90 ° и 90 ° и быть в строго увеличивающемся порядке. Модули в градусах.
Пример: [-30 0 +30]
Чтобы включить это свойство, установите PatternCoordinateSystem
свойство к 'az-el'
.
Типы данных: double
PhiAngles
— Углы Phi в системе координат phi-теты
(значение по умолчанию) | P с действительным знаком - вектор длиныУглы Phi в системе координат phi-теты в виде P с действительным знаком - вектор длины. Эти углы являются phi углами, где пользовательский шаблон задан. P должен быть больше 2.
Пример: [90:180]
Чтобы включить это свойство, установите PatternCoordinateSystem
свойство к 'phi-theta'
.
Типы данных: double
ThetaAngles
— Углы теты в системе координат phi-теты
(значение по умолчанию) | Q с действительным знаком - вектор длиныУглы теты в системе координат phi-теты в виде Q с действительным знаком - вектор длины. Эти углы являются углами теты, где пользовательский шаблон задан. Q должен быть больше 2.
Пример: [40:80]
Чтобы включить это свойство, установите PatternCoordinateSystem
свойство к 'phi-theta'
.
Типы данных: double
SpecifyPolarizationPattern
— Поляризованный ответ массивовfalse
(значение по умолчанию) | true
Поляризованный ответ массивов в виде false
или true
.
Когда SpecifyPolarizationPattern
свойство установлено в false
, элемент антенны передает или получает неполяризованное излучение. В этом случае используйте MagnitudePattern
свойство установить шаблон ответа антенны.
Когда SpecifyPolarizationPattern
свойство установлено в true
, элемент антенны передает или получает поляризованное излучение. В этом случае используйте HorizontalMagnitudePattern
и HorizontalPhasePattern
свойства установить горизонтальный шаблон ответа поляризации и VerticalMagnitudePattern
и VerticalPhasePattern
свойства установить вертикальный шаблон ответа поляризации.
Типы данных: логический
MagnitudePattern
— Величина объединенной диаграммы направленности антеннzeros(181,361)
(значение по умолчанию) | Q с действительным знаком-by-P матрица | Q с действительным знаком-by-P-by-L массивВеличина объединенного излучения антенны поляризации, шаблон, заданный как 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
PhasePattern
— Фаза объединенной диаграммы направленности антеннzeros(181,361)
(значение по умолчанию) | Q с действительным знаком-by-P матрица | Q с действительным знаком-by-P-by-L массивФаза объединенной диаграммы направленности антенн поляризации в виде 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
HorizontalMagnitudePattern
— Величина горизонтального компонента поляризации диаграммы направленности антеннzeros(181,361)
(значение по умолчанию) | Q с действительным знаком-by-P матрица | Q с действительным знаком-by-P-by-L массивВеличина горизонтального компонента поляризации диаграммы направленности антенн в виде 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
HorizontalPhasePattern
— Фаза горизонтального компонента поляризации диаграммы направленности антеннzeros(181,361)
(значение по умолчанию) | Q с действительным знаком-by-P матрица | Q с действительным знаком-by-P-by-L массивФаза горизонтального компонента поляризации диаграммы направленности антенн в виде 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
VerticalMagnitudePattern
— Величина вертикального компонента поляризации диаграммы направленности антеннzeros(181,361)
(значение по умолчанию) | Q с действительным знаком-by-P матрица | Q с действительным знаком-by-P-by-L массивВеличина вертикального компонента поляризации диаграммы направленности антенн, заданной как 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
VerticalPhasePattern
— Фаза вертикального компонента поляризации диаграммы направленности антеннzeros(181,361)
(значение по умолчанию) | Q с действительным знаком-by-P матрица | Q с действительным знаком-by-P-by-L массивФаза вертикального компонента поляризации диаграммы направленности антенн в виде 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
MatchArrayNormal
— Совпадайте с элементом, нормальным, чтобы выстроить нормальныйtrue
(значение по умолчанию) | false
Установите это свойство на 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
метод, чтобы разблокировать объект.
FREQ
— Рабочая частота элемента антенныРабочая частота элемента антенны в виде неотрицательного скаляра или неотрицательный, с действительным знаком, 1 L вектором-строкой. Единицы частоты находятся в Гц.
FREQ
должен лечь в области значений значений, заданных FrequencyRange
или FrequencyVector
свойство элемента. В противном случае элемент не производит ответа, и ответ возвращен как –Inf
. Большинство объектов элементов использует FrequencyRange
свойство за исключением phased.CustomAntennaElement
, который использует FrequencyVector
свойство.
Пример: [1e8 2e6]
Типы данных: double
ANG
— Азимут и углы вертикального изменения направлений ответаАзимут и углы вертикального изменения направлений ответа в виде с действительным знаком, 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
RESP
— Ответ напряжения антенныОтвет напряжения элемента антенны, возвращенного как M с комплексным знаком-by-L матрица. В этой матрице M представляет количество углов, заданных в ANG
и L представляет количество частот, заданных в FREQ
.
Типы данных: double
Чтобы использовать объектную функцию, задайте Системный объект как первый входной параметр. Например, чтобы выпустить системные ресурсы Системного объекта под названием obj
, используйте этот синтаксис:
release(obj)
directivity | Направленность антенны или элемента преобразователя |
isPolarizationCapable | Возможность поляризации элемента антенны |
pattern | Постройте антенну или направленность элемента преобразователя и шаблоны |
patternAzimuth | Постройте антенну или направленность элемента преобразователя и шаблон по сравнению с азимутом |
patternElevation | Постройте антенну или направленность элемента преобразователя и шаблон по сравнению с вертикальным изменением |
Создайте пользовательскую антенну с шаблоном косинуса. Затем постройте сокращение вертикального изменения ответа степени антенны.
Пользовательский шаблон является всенаправленным в направлении азимута и имеет шаблон косинуса в направлении вертикального изменения. Примите, что антенна действует на уровне 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')
Смоделируйте короткую дипольную антенну, ориентированную вперед - ось локальной системы координат антенны. Для этого типа антенны горизонтальными и вертикальными составляющими электрического поля дают и .
Задайте нормированную диаграмму направленности короткой дипольной антенны условия азимута, , и вертикальное изменение, , координаты. Вертикальные и горизонтальные диаграммы направленности нормированы к максимуму единицы.
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')
Объединенный ответ поляризации, показанный ниже, иллюстрирует - пустой указатель оси диполя.
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
Направленность максимальна в вертикальное изменение.
Покажите что 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
вычисляет оба ответа с помощью самой близкой соседней интерполяции, и затем умножает ответы, чтобы сформировать общий ответ.
Указания и ограничения по применению:
pattern
, patternAzimuth
, patternElevation
, и plotResponse
методы не поддержаны.
Смотрите системные объекты в Генерации кода MATLAB (MATLAB Coder).
phased.ConformalArray
| phased.CosineAntennaElement
| phased.CrossedDipoleAntennaElement
| phased.IsotropicAntennaElement
| phased.ShortDipoleAntennaElement
| phased.ULA
| phased.URA
| phitheta2azel
| phitheta2azelpat
| uv2azel
| uv2azelpat
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.