exponenta event banner

живой

Класс: полярпаттерн

Замена существующих данных новыми данными для анимации

Описание

пример

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

пример

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

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

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

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

Данные антенны или решетки, указанные как одно из следующих значений:

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

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

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

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

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

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

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

Примеры

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

Создайте косинусную антенну и постройте график от 0 ° до 360 °.

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

Постройте график полярного узора.

P = polarpattern(p1);

Создайте вторую косинусную антенну, повернутую на 60 °. Анимация массива путем добавления этого массива.

p2 = abs(cosd(az - 50));
animate(P,p2);

Создайте 15-элементную ULA косинусных антенн с элементами, разнесенными на половину длины волны. Постройте график направленности массива на частоте 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 ° и, используя animate заменить существующий полярный график направленностью управляемого массива.

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

Представлен в R2016a