Пользовательский антенный элемент
phased.CustomAntennaElement
Система object™ моделирует антенный элемент с пользовательской диаграммой направленности пространственного отклика. Диаграмма направленности может быть задана для поляризованных или неполяризованных полей.
Создать пользовательский антенный элемент:
Создайте phased.CustomAntennaElement
объект и набор его свойства.
Вызовите объект с аргументами, как будто это была функция.
Чтобы узнать больше, как Системные объекты работают, смотрите то, Что Системные объекты?.
создает Системный объект, 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 Используя Системные объекты.
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
.
Примечание
Объект выполняет инициализацию в первый раз, когда объект выполняется. Эта инициализация блокирует ненастраиваемые свойства и входные технические требования, такие как размерности, сложность и тип данных входных данных. Если вы изменяете ненастраиваемое свойство или входную спецификацию, Системный объект выдает ошибку. Чтобы изменить ненастраиваемые свойства или входные параметры, необходимо сначала вызвать 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)
beamwidth | Вычислите и отобразите ширину луча шаблона элемента датчика |
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. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.