unwrap

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

Описание

пример

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

пример

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

пример

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 object. The axes object contains an object of type line.

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

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

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

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

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

Figure contains an axes object. The axes object 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 object. The axes object contains an object of type line.

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

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

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

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

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

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

Задайте матрицу 2D столбца 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
Для просмотра документации необходимо авторизоваться на сайте