{ } Raw JSON

bundles / scipy 1.17.1 / scipy / signal / _signaltools / deconvolve

function

scipy.signal._signaltools:deconvolve

source: /scipy/signal/_signaltools.py :2345

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_like

Signal data, typically a recorded signal

divisor : (N,) array_like

Divisor data, typically an impulse response or filter that was applied to the original signal

Returns

quotient : ndarray

Quotient, typically the recovered original signal

remainder : ndarray

Remainder

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-arrayapi for 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