On this page
numpy.unwrap
- numpy.unwrap(p, discont=None, axis=- 1, *, period=6.283185307179586)[source]
-
Unwrap by taking the complement of large deltas with respect to the period.
This unwraps a signal
p
by changing elements which have an absolute difference from their predecessor of more thanmax(discont, period/2)
to theirperiod
-complementary values.For the default case where
period
is \(2\pi\) anddiscont
is \(\pi\), this unwraps a radian phasep
such that adjacent differences are never greater than \(\pi\) by adding \(2k\pi\) for some integer \(k\).- Parameters
-
- parray_like
-
Input array.
- discontfloat, optional
-
Maximum discontinuity between values, default is
period/2
. Values belowperiod/2
are treated as if they wereperiod/2
. To have an effect different from the default,discont
should be larger thanperiod/2
. - axisint, optional
-
Axis along which unwrap will operate, default is the last axis.
- periodfloat, optional
-
Size of the range over which the input wraps. By default, it is
2 pi
.New in version 1.21.0.
- Returns
-
- outndarray
-
Output array.
Notes
If the discontinuity in
p
is smaller thanperiod/2
, but larger thandiscont
, no unwrapping is done because taking the complement would only make the discontinuity larger.Examples
>>> phase = np.linspace(0, np.pi, num=5) >>> phase[3:] += np.pi >>> phase array([ 0. , 0.78539816, 1.57079633, 5.49778714, 6.28318531]) # may vary >>> np.unwrap(phase) array([ 0. , 0.78539816, 1.57079633, -0.78539816, 0. ]) # may vary >>> np.unwrap([0, 1, 2, -1, 0], period=4) array([0, 1, 2, 3, 4]) >>> np.unwrap([ 1, 2, 3, 4, 5, 6, 1, 2, 3], period=6) array([1, 2, 3, 4, 5, 6, 7, 8, 9]) >>> np.unwrap([2, 3, 4, 5, 2, 3, 4, 5], period=4) array([2, 3, 4, 5, 6, 7, 8, 9]) >>> phase_deg = np.mod(np.linspace(0 ,720, 19), 360) - 180 >>> np.unwrap(phase_deg, period=360) array([-180., -140., -100., -60., -20., 20., 60., 100., 140., 180., 220., 260., 300., 340., 380., 420., 460., 500., 540.])
© 2005–2022 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/1.23/reference/generated/numpy.unwrap.html