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

Figure contains an axes object. The axes object with title Original Radiation Pattern contains an object of type image.

Вращайте шаблон антенны 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

Figure contains an axes object. The axes object with title Rotated Radiation Pattern contains an object of type image.

Используйте вращаемый шаблон в пользовательском антенном элементе и отобразите шаблон в 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