cupyx.scipy.signal.deconvolve#
- cupyx.scipy.signal.deconvolve(signal, divisor)[source]#
Deconvolves
divisor
out ofsignal
using inverse filtering.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
See also
cupy.polydiv
performs polynomial division (same operation, but also accepts poly1d objects)
Examples
Deconvolve a signal that’s been filtered:
>>> from cupyx.scipy import signal >>> original = [0, 1, 0, 0, 1, 1, 0, 0] >>> impulse_response = [2, 1] >>> recorded = signal.convolve(impulse_response, original) >>> recorded array([0, 2, 1, 0, 2, 3, 1, 0, 0]) >>> recovered, remainder = signal.deconvolve(recorded, impulse_response) >>> recovered array([ 0., 1., 0., 0., 1., 1., 0., 0.])