unwrap

Сдвиньте углы фазы

Описание

пример

Q = unwrap(P) размотка углов радианской фазы в векторе P. Всякий раз, когда переход между последовательными углами больше или равен π радианам, unwrap смещает углы путем добавления множителей из ± 2 π пока перехода не станет меньше π. Если P является матрицей, unwrap действует столбцово. Если P - многомерный массив, unwrap работает с первой размерностью, размер которого больше 1.

пример

Q = unwrap(P,tol) сравнивает переход между элементами P к порогу переход tol вместо значения по умолчанию π радианы. Если вы задаете порог перехода меньше π, unwrap использует порог перехода по умолчанию π.

пример

Q = unwrap(P,[],dim) размотка вдоль размерности dim.

Q = unwrap(P,tol,dim) размотка вдоль размерности dim использование порога переход tol.

Примеры

свернуть все

Определите x- и y-координаты спирали с углом фазы от 0 до 6π. Постройте график спирали.

t = linspace(0,6*pi,201);
x = t/pi.*cos(t);
y = t/pi.*sin(t);
plot(x,y)

Figure contains an axes. The axes contains an object of type line.

Найдите угол фазы спирали из x- и y- координирует использование atan2 функция. The atan2 функция возвращает значения углов в закрытом интервале из -π кому π.

P = atan2(y,x);
plot(t,P)

Figure contains an axes. The axes contains an object of type line.

Обратите внимание, что этот график имеет разрывы. Использование unwrap устранить разрывы. unwrap добавляет кратные ±2π когда различие фаз между последовательными элементами P больше или равны порогу перехода π радианы. Сдвинутый угол фазы Q лежит в интервале от 0 до 6π.

Q = unwrap(P);
plot(t,Q)

Figure contains an axes. The axes contains an object of type line.

Сдвиньте угол фазы частотной характеристики. Кривая фаза имеет два переходов. Первый переход 3.4250 радианы между W = 3 и W = 3.4, и второй переход 6.3420 радианы между W = 5 и W = 5.4. Постройте график кривой фазы.

clear; close all;
W = [0:0.4:3, 3.4:0.4:5, 5.4:0.4:7];
P = [-1.5723
     -1.5747
     -1.5790
     -1.5852
     -1.5922
     -1.6044
     -1.6269
     -1.6998
      1.7252
      1.5989
      1.5916
      1.5708
      1.5582
     -4.7838
     -4.8143
     -4.8456
     -4.8764
     -4.9002];
plot(W,P,'bo-')

Figure contains an axes. The axes contains an object of type line.

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

plot(W,unwrap(P),'ro-')

Figure contains an axes. The axes contains an object of type line.

Теперь сдвиньте угол фазы, используя порог переход 5 радианы. Постройте график сдвинутой кривой фазы. Первый переход не сдвигается, так как он меньше порога переход 5 радианы.

plot(W,unwrap(P,5),'ro-')

Figure contains an axes. The axes contains an object of type line.

Задайте двухколоночную матрицу P который содержит углы фазы.

P = [0 7.07; 0.19 0.98; 6.67 1.18; 0.59 1.37; 0.78 1.56]
P = 5×2

         0    7.0700
    0.1900    0.9800
    6.6700    1.1800
    0.5900    1.3700
    0.7800    1.5600

Углы фазы P(1,2) = 7.07 и P(3,1) = 6.67 имеют различия фаз, которые больше, чем π по сравнению с остальными данными.

Раскройте углы фазы путем предварительного сравнения элементов в столбце. Задайте dim аргумент как 1. Используйте порог перехода по умолчанию π путем определения второго аргумента следующим [].

dim = 1;
P1 = unwrap(P,[],dim)
P1 = 5×2

         0    7.0700
    0.1900    7.2632
    0.3868    7.4632
    0.5900    7.6532
    0.7800    7.8432

Чтобы сдвинуть углы фазы на строки вместо столбцов, задайте dim как 2 вместо 1.

dim = 2;
P2 = unwrap(P1,[],dim)
P2 = 5×2

         0    0.7868
    0.1900    0.9800
    0.3868    1.1800
    0.5900    1.3700
    0.7800    1.5600

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

свернуть все

Входной массив, заданный как векторный, матричный или многомерный массив.

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

Переход для применения сдвига фазы, заданный как скаляр. Пороговое значение перехода, меньше π, имеет тот же эффект, что и пороговое π по умолчанию.

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

Размерность для работы, заданная как положительный целочисленный скаляр Если значение не задано, то по умолчанию это первое измерение массива, не равный 1.

  • unwrap(P,[],1) действует вдоль столбцов P и возвращает сдвинутый угол фазы каждого столбца.

  • unwrap(P,[],2) действует вдоль строк P и возвращает сдвинутый угол фазы каждой строки.

Если dim больше ndims(P), затем unwrap(P,[],dim) возвращает P.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

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

свернуть все

Сдвинутый угол фазы, возвращенный в виде вектора, матрицы или многомерного массива. Размер выхода Q всегда совпадает с размером входа P.

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

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

.

См. также

| | |

Представлено до R2006a