Я обсуждаю с кем-то из Mathworks re: функцию unwrap
, в которой есть "ошибка" для допусков перехода, отличных от & pi; и хотелось бы получить некоторые другие перспективы :
Описание
Q = unwrap(P)
исправляет радиальные углы фазы в векторе P, добавляя кратные значения & plusmn; 2 & pi; когда абсолютные скачки между последовательными элементами P больше или равны допустимому отклонению по умолчанию & pi; радиан. Если P - матрица, развертка работает по столбцам. Если P - многомерный массив, развертывание действует в первом неинглетонном измерении.
Q = unwrap(P,tol)
использует толщину перехода вместо значения по умолчанию & pi;.
Существует две возможные интерпретации документации:
Q = unwrap(P,tol)
исправляет радиальные фазовые углы в векторе P, добавляя кратные значения & plusmn; 2 & pi; когда абсолютные скачки между последовательными элементами P больше или равны толь радианам. Если P - матрица, развертка работает по столбцам. Если P - многомерный массив, развертка работает с первым неинглетонным измерением.
Пример: * * тысяча двадцать-пять
>> x = mod(0:20:200,100); unwrap(x, 50)
ans =
0 20.0000 40.0000 60.0000 80.0000 81.6814 101.6814 121.6814 141.6814 161.6814 163.3628
Q = unwrap(P,tol)
исправляет элементы в векторе P, добавляя кратные значения & plusmn; 2 * tol, когда абсолютные скачки между последовательными элементами P больше или равны tol. Если P - матрица, развертка работает по столбцам. Если P - многомерный массив, развертывание действует в первом неинглетонном измерении.
* +1032 * Пример: * 1 033 *
>> x = mod(0:20:200,100); unwrap(x, 50)
ans =
0 20 40 60 80 100 120 140 160 180 200
Фактическое поведение unwrap()
в MATLAB (по крайней мере, до R2010a) - № 1. Моя интерпретация unwrap()
состоит в том, что это должно быть # 2, и, следовательно, есть ошибка в поведении. Если поведение unwrap()
соответствует # 2, то развертка может использоваться в качестве инверсии для мода для медленно меняющихся входных данных, то есть unwrap(mod(x,T),T/2) = x
для векторов x, где последовательные элементы изменяются менее чем на tol = T / 2.
Обратите внимание, что эта 2-я интерпретация является более общей, чем углы, и может разворачивать что угодно с периодом обтекания T. (по умолчанию T = 2 & pi; для радиан, 360 для градусов, 256 для 8-битных чисел, 65536 для 16 и др.)
Итак, мой вопрос:
Возможны ли варианты поведения №1? Какая интерпретация имеет больше смысла?