rotpat

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

Синтаксис

rpat = rotpat(pat,az,el,rotax)
rpat = rotpat(pat,az,el,rotax,expval)

Описание

пример

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

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

Совет

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

Примеры

свернуть все

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

Создайте объект антенны 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

Значение экстраполяции, заданное как скаляр. Этот скаляр является экстраполируемым значением, когда вращаемые шаблоны не заполняют целый 3-D пробел, заданный 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