rotpat

Вращайте диаграмму направленности

Описание

пример

rpat = rotpat(pat,az,el,rotax) вращает диаграмму направленности, pat, в новый шаблон, rpat, чье опорное направление выравнивается с x - ось новой системы локальной координаты, заданной rotax. az и el задайте азимут и углы возвышения, в которых производится исходный шаблон.

rpat = rotpat(pat,az,el,rotax,expval) также задает экстраполируемое значение, которое будет использоваться когда az и el не покрывайте целое трехмерное пространство.

Совет

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

Примеры

свернуть все

Используйте антенну короткого диполя, чтобы создать поляризованную диаграмму направленности. Вращайте шаблон и используйте вращаемый шаблон в качестве диаграммы направленности пользовательской антенны.

Создайте phased.ShortDipoleAntennaElement объект антенны со свойствами по умолчанию. Антенна короткого диполя излучает поляризованное излучение. Получите и отобразите излучение для всех направлений.

antenna1 = phased.ShortDipoleAntennaElement;
el = -90:90;
az = -180:180;
pat_h = zeros(numel(el),numel(az),'like',1+1i);
pat_v = pat_h;
fc = 3e8;
for m = 1:numel(el)
    temp = antenna1(fc,[az;el(m)*ones(1,numel(az))]);
    pat_h(m,:) = temp.H;
    pat_v(m,:) = temp.V;
end
pattern(antenna1,fc,'Type','Power')

Вращайте шаблон антенны вокруг оси Y 135 градусами, сопровождаемыми вращением вокруг оси X 65 градусами.

newax = rotx(65)*roty(135);
pat2_h = rotpat(pat_h,az,el,newax);
pat2_v = rotpat(pat_v,az,el,newax);

Вставьте вращаемый шаблон в phased.CustomAntennaElement объект. Установите свойства поляризации антенны так, чтобы элемент излучил горизонталь и вертикальные поляризованные поля. Затем отобразите вращаемый шаблон в трех измерениях.

antenna2 = phased.CustomAntennaElement( ...
    'SpecifyPolarizationPattern',true, ...
    'HorizontalMagnitudePattern',mag2db(abs(pat2_h)), ...
    'HorizontalPhasePattern',rad2deg(angle(pat2_h)), ...
    'VerticalMagnitudePattern',mag2db(abs(pat2_v)), ...
    'VerticalPhasePattern',rad2deg(angle(pat2_v)));
pattern(antenna2,fc,'Type','Power')

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

Сначала получите диаграмму направленности для phased.CosineAntennaElement возразите по ограниченному диапазону направлений. Поле не поляризовано.

antenna1 = phased.CosineAntennaElement('CosinePower',[5,5]);
az = -60:65;
el = -60:60;
pat = zeros(numel(el),numel(az),'like',1);
fc = 300e6;
for m = 1:numel(el)
    temp = antenna1(fc,[az;el(m)*ones(1,numel(az))]);
    pat(m,:) = temp;
end

Отобразите исходный шаблон.

imagesc(az,el,abs(pat))
axis xy
axis equal
axis tight
xlabel('Azimuth (deg)')
ylabel('Elevation (deg)')
title('Original Radiation Pattern')
colorbar

Вращайте шаблон антенны 20 градусами вокруг оси z и 50 градусами вокруг оси X. Затем отобразите вращаемый шаблон.

newax = rotx(50)*rotz(20);
rpat = rotpat(pat,az,el,newax);
imagesc(az,el,abs(rpat))
axis xy
axis equal
axis tight
xlabel('Azimuth (deg)')
ylabel('Elevation (deg)')
title('Rotated Radiation Pattern')
colorbar

Используйте вращаемый шаблон в пользовательском антенном элементе и отобразите шаблон в 3-D.

antenna2 = phased.CustomAntennaElement( ...
    'AzimuthAngles',az,'ElevationAngles',el,'SpecifyPolarizationPattern',false, ...
    'MagnitudePattern',mag2db(abs(rpat)), ...
    'PhasePattern',zeros(size(rpat)));
pattern(antenna2,fc,'Type','Power')

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

свернуть все

Диаграмма направленности в виде N с комплексным знаком-by-M матричный или N с комплексным знаком-by-M-by-L массив. N является длиной el вектор и M являются длиной az вектор. Каждый столбец соответствует одному из углов азимута, заданных в az аргумент. Каждая строка соответствует одному из углов возвышения, заданных в el аргумент. Можно задать несколько диаграмм направленности с помощью страниц L. Например, можно использовать страницы, чтобы задать диаграммы направленности на различных частотах. Основной лепесток каждого шаблона принят, чтобы указать вдоль x - ось. Модули находятся в в квадрате метрами.

Типы данных: double
Поддержка комплексного числа: Да

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

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

Пример: -45:2:45

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

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

Угол возвышения является углом между вектором направления и xy - плоскость. Угол возвышения положителен, когда измерено к z - ось.

Пример: -75:1:70

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

Матрица вращения в виде ортонормированной 3х3 матрицы с действительным знаком или 3 с действительным знаком 3 P массивом. Столбцы представляют x, y и направления z вращаемой системы координат относительно системы исходной координаты. Страницы P задают различные матрицы вращения.

Эта таблица описывает как размерности выходного шаблона rpat зависьте от размерностей pat и rotax аргументы.

Размерности rpat

Dimensions of patDimensions of rotax
 3-by-33-by-3-by-P
M-by-NВращайте один шаблон одной матрицей вращения. Выведите размерности rpat M-by-N.Вращайте один шаблон P различные матрицы вращения. Выведите размерности rpat M-by-N-by-P.
M-by-N-by-LВращайте шаблоны L той же матрицей вращения. Выведите размерности rpat M-by-N-by-L.В этом случае P должен равняться L, и функция вращает каждый шаблон соответствующей матрицей вращения. Выведите размерности rpat M-by-N-by-L.

Пример: rotx(45)*roty(30)

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

Значение экстраполяции в виде скаляра. Этот скаляр является экстраполируемым значением, когда вращаемые шаблоны не заполняют целое трехмерное пространство, заданное az и el. В общем случае рассмотрите установку expval к 0, если шаблон задан в линейной шкале или -inf если шаблон задан в шкале дБ.

Пример: -inf

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

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

свернуть все

Вращаемая диаграмма направленности, возвращенная как N с комплексным знаком-by-M матричный или N с комплексным знаком-by-M-by-P массив. N является длиной el вектор. M является длиной az вектор. Размерность pat и rotax определите значение P, как обсуждено в rotax входной параметр. Модули находятся в в квадрате метрами.

Типы данных: double
Поддержка комплексного числа: Да

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

Генерация кода C/C++
Генерация кода C и C++ с помощью MATLAB® Coder™.

Смотрите также

| |

Введенный в R2019a