scipy.signal.

deconvolve#

scipy.signal.deconvolve(signal, divisor)[Quelle]#

Dekonvolviert divisor aus signal mittels inverser Filterung.

Gibt Quotient und Rest zurück, sodass signal = convolve(divisor, quotient) + remainder gilt.

Parameter:
signal(N,) array_like

Signal-Daten, typischerweise ein aufgezeichnetes Signal

divisor(N,) array_like

Divisor-Daten, typischerweise eine Impulsantwort oder ein Filter, der auf das ursprüngliche Signal angewendet wurde

Rückgabe:
quotientndarray

Quotient, typischerweise das wiederhergestellte ursprüngliche Signal

remainderndarray

Rest

Siehe auch

numpy.polydiv

führt Polynomdivision durch (gleiche Operation, akzeptiert aber auch poly1d-Objekte)

Beispiele

Dekonvolviere ein gefiltertes Signal

>>> from 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.])