замена

Класс: polarpattern

Замените полярные данные о графике на новые данные

Синтаксис

replace(p,data)
replace(p,angle,magnitude)

Описание

пример

replace(p,data) удаляет все данные из полярного графика, p и добавляет новые данные на основе действительных амплитудных значений, data.

пример

replace(p,angle,magnitude) удаляет все текущие данные и добавляет новые наборы данных угловых векторов и соответствующих матриц значения к полярному графику, p.

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

развернуть все

Полярный график, заданный как скалярный указатель.

Антенна или данные массива, заданные как одно из следующего:

  • Действительный вектор длины-M, где M содержит значения значения с углами, принятыми, чтобы быть (0:M1)M×360 степени.

  • Действительный M-by-N матрица, где M содержит значения значения и N, содержит независимые наборы данных. Каждому столбцу в матрице взяли углы из вектора (0:M1)M×360 степени. Набор каждого угла может отличаться для каждого столбца.

  • Действительный массив N-D, где N является количеством размерностей. Массивы с размерностями 2 и больше являются независимыми наборами данных.

  • Комплексный вектор или матрица, где data содержит Декартовы координаты ((x,y) каждой точки. x содержит действительную часть data, и y содержит мнимую часть data.

Когда данные находятся в логарифмической форме, такой как дБ, значения значения могут быть отрицательными. В этом случае polarpattern строит самые низкие значения значения в начале координат полярного графика и самые высокие значения значения в максимальном радиусе.

Набор углов, заданных как вектор в градусах.

Набор значений значения, заданных как вектор или матрица. Для матрицы значений значения каждый столбец является независимым набором значений значения и соответствует тому же набору углов.

Примеры

развернуть все

Шаблон косинуса графика в полярных координатах Задает шаблон антенны косинуса от 0 ° до 360 ° в азимуте при повышении на 0 °. Затем постройте шаблон антенны с помощью polarpattern.

Создайте шаблон.

az = [0:360];
a = abs(cosd(az));

Постройте полярный шаблон антенны для сокращения азимута при повышении на 0 °.

P = polarpattern(a,'TitleTopTextInterpreter','tex','TitleTop','Azimuth Cut (Elevation Angle = 0^{\circ})');

Замените этот график на вращаемый шаблон косинуса.

a = abs(cosd(az + 30.0));
replace(P,a);

Создайте ULA с 15 элементами антенн косинуса с распределенной половиной элементов длины волны независимо. Постройте направленность массива на уровне 20 ГГц.

Примечание: Этот пример запускается только в R2016b или позже. Если вы используете более ранний релиз, заменяете каждый вызов функции с эквивалентным синтаксисом step. Например, замените myObject(x) на step(myObject,x).

fc = 20.0e9;
c = physconst('Lightspeed');
lam = c/fc;
angs = [-180:1:180];
antenna = phased.CosineAntennaElement('FrequencyRange',[1.0e9,100.0e9],...
    'CosinePower',[2.5 2.5]);
array = phased.ULA('Element',antenna,'NumElements',15,'ElementSpacing',lam/2);
a = pattern(array,fc,angs,0);
P = polarpattern(angs,a);

Затем регулируйте массив к 45 ° и, с помощью метода replace, замените существующий полярный график на управляемую направленность массивов.

steervec = phased.SteeringVector('SensorArray',array,'PropagationSpeed',c,...
    'IncludeElementResponse',true);
sv = steervec(fc,[45;0]);
a1 = pattern(array,fc,angs,0,'Weights',sv);
replace(P,angs,a1);

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

| | | | | |

Введенный в R2016a