# [SciPy-User] deconvolution of 1-D signals

Friedrich Romstedt friedrichromstedt@gmail....
Mon Aug 1 15:22:18 CDT 2011

```Hi Ralf,

> For a measured signal that is the convolution of a real signal with a
> response function, plus measurement noise on top, I want to recover the real
> signal. Since I know what the response function is and the noise is
> high-frequency compared to the real signal, a straightforward approach is to
> smooth the measured signal (or fit a spline to it), then remove the response
> function by deconvolution. See example code below.

I ran across this (see below) soon ago since I'm dealing with
information theory recently.  It has an deconvolution example included
in 1D, and it compares some different general methods in a kind-of
"unified framework", as far as this exists.  I found it quite
informative and helpful.  If you can't get access I can get it from
the library in 2 weeks.  The citation is:

Robert L. Fry (ed.), Bayesian Inference and Maximum Entropy Methods in
Science and Engineering: 21st International Workshop, Baltimore,
Maryland, AIP Conf. Proc. 617 (2002)
ISBN 0-7354-0063-6; ISSN 0094-243X
Tutorial "Bayesian Inference for Inverse Problems" (A.

It includes different noise models, afair, at least the structure how
to deal with this.  If I'm not mistaken the problem discussed there
was a mass-spectrometry spectrum, so should been shot noise mainly,
and of course the psf.

The tutorial covers (in short) maximum entropy as well as maximum
likelihood, and a combination of both (hence the "unification").  I
cannot help much with this since I'm new to it myself.  But I did a
reasonable literature search, and this was one of the best outcomes.
But as said, I was about information theory.

Hope this is a useful pointer,
Friedrich

> Can anyone point me towards code that does the deconvolution efficiently?
> Perhaps signal.deconvolve would do the trick, but I can't seem to make it
> work (except for directly on the output of np.convolve(y, window,
> mode='valid')).

No.  In fact, I don't think there is an automagical solution anywhere.  :-)

Good luck!
```