exponenta event banner

развернуть

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

Описание

пример

Q = unwrap(P) разворачивает радианные фазовые углы в векторе P. Всякий раз, когда переход между последовательными углами больше или равен δ радиан, unwrap сдвигает углы, добавляя кратные ± до тех пор, пока скачок не будет меньше λ. Если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 до . Постройте график спирали.

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 функция. atan2 функция возвращает значения углов в пределах замкнутого интервала от -λ до δ.

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

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

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

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