bundles / scipy 1.17.1 / scipy / signal / _signaltools / deconvolve
function
scipy.signal._signaltools:deconvolve
Signature
def deconvolve ( signal , divisor ) Summary
Deconvolves divisor out of signal using inverse filtering.
Extended Summary
Returns the quotient and remainder such that signal = convolve(divisor, quotient) + remainder
Parameters
signal: (N,) array_likeSignal data, typically a recorded signal
divisor: (N,) array_likeDivisor data, typically an impulse response or filter that was applied to the original signal
Returns
quotient: ndarrayQuotient, typically the recovered original signal
remainder: ndarrayRemainder
Notes
Array API Standard Support
deconvolve has experimental support for Python Array API Standard compatible backends in addition to NumPy. Please consider testing these features by setting an environment variable SCIPY_ARRAY_API=1 and providing CuPy, PyTorch, JAX, or Dask arrays as array arguments. The following combinations of backend and device (or other capability) are supported.
==================== ==================== ==================== Library CPU GPU ==================== ==================== ==================== NumPy ✅ n/a CuPy n/a ✅ PyTorch ✅ ⛔ JAX ⛔ ⛔ Dask ⚠️ computes graph n/a ==================== ==================== ====================
See
dev-arrayapifor more information.
Examples
Deconvolve a signal that's been filtered:from scipy import signal original = [0, 1, 0, 0, 1, 1, 0, 0] impulse_response = [2, 1] recorded = signal.convolve(impulse_response, original) recorded recovered, remainder = signal.deconvolve(recorded, impulse_response)✓
recovered
✗remainder
✓See also
- numpy.polydiv
performs polynomial division (same operation, but also accepts poly1d objects)
Aliases
-
scipy.signal.deconvolve