This is a pre-release version (2.0.0.dev0+git20260907.41eeb59).Go to latest (1.18.0)
{ } Raw JSON

bundles / scipy 2.0.0.dev0+git20260907.41eeb59 / scipy / signal / _signaltools / deconvolve

function

scipy.signal._signaltools:deconvolve

source: build-install/usr/lib/python3.14/site-packages/scipy/signal/_signaltools.py:2409

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

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
✗
array([0., 1., 0., 0., 1., 1., 0., 0.])
remainder
✓
array([0., 0., 0., 0., 0., 0., 0., 0., 0.])

See also

numpy.polydiv

performs polynomial division (same operation, but also accepts poly1d objects)

Aliases

  • scipy.signal.deconvolve