Re: trivial deconvolution -- possible without fourier?



Michael wrote:

Hello,

I've performed a trivial convolution on a set of one-dimensional data,
with a gaussian impluse function. I can then deconvolve the resultant
set of data with the same gaussian to get back, 100% precisely, the
original data. I'm using a simple piece of software called SPECTRUM
that does this by multiplying or dividing the fourier analysis of the
two functions.

I need to implement the deconvolution side in code of my own, but would
like to not have to bother with FFT if I don't have to. Is there any
simpler method of doing such a trivial deconvolution just using
standard linear algebra or something else? If someone could point me in
the right direction, I'd really appreciate it.

Thanks
Michael




Let x(t) be the input to your system and y(t) be the output.
Let K be the convolution kernel. Then, the convolution is

y(s) = integral[ K(t,s)*x(t) dt ]

Often, e.g., a dynamic system where K(t,s) is the impulse
response function, K(t,s) is just a function of (t-s).

Anyhow, let's suppose that x, y, and K are sampled at
discrete values of t and s. Using an underscore "_" to
denote a subscript, suppose we have t_i and s_i for
i = 1, 2, 3, ..., N. For convenience, write x(t_i) as x_i,
and write y(s_j) as y_j, and K(t_i,s_j) as K_i,j.

The "step size" for t and s is the same.

The integral convolution equation can be approximated
as:

y_j = K_i,j * x_i

where I have used the convention that the repeated subscript
"i" on the right hand side is to be summed over. There will also be
a multiplicative constant term equal to the grid spacing, y_i-y_i-1

Depending on your application, the original convolution integral
may be for -inf to +inf, or from 0 to +inf, but you will have
only a finite length of your data record, so the summation over
i will be from 1 to N.

So, to deconvolute, all you need to do is solve this linear system
to find x, given y.

Two warnings:

1. The FFT method is much faster for calculating convolutions,
and I bet it's much faster for deconvoluting as well.

2. Since the convolution kernel "K" usually has the effect of
smoothing the input x, deconvoluting is an inherently noisy
process. With real data (i.e., with noise) for y, using deconvolution
to find x amplifies the noise. Performing deconvolution from
actual data has been the subject of a lot of research. For example:

S. Twomey, Introduction to the Mathematics of Inversion in
Remote Sensing and Indirect Measurements, Dover, 2002.

Maher and Laird, "EM algorithm reconstruction of particle size
distributions from diffusion battery data," J. Aerosol Sci.,
Vol. 16, No. 6, pp. 557-570, 1985.

Olin Perry Norton

.



Relevant Pages

  • trivial deconvolution -- possible without fourier?
    ... I've performed a trivial convolution on a set of one-dimensional data, ... with a gaussian impluse function. ... I can then deconvolve the resultant ... I need to implement the deconvolution side in code of my own, ...
    (sci.math.num-analysis)
  • trivial deconvolution -- possible without fourier?
    ... I've performed a trivial convolution on a set of one-dimensional data, ... with a gaussian impluse function. ... I can then deconvolve the resultant ... I need to implement the deconvolution side in code of my own, ...
    (sci.math)
  • Re: trivial deconvolution -- possible without fourier?
    ... I've performed a trivial convolution on a set of one-dimensional data, ... with a gaussian impluse function. ... I need to implement the deconvolution side in code of my own, ... My guess is that if both convolutes are one sided (i.e. only exist for n>=0 so that the fist term of the convolution only has one term in it) then you can solve it - it will be a bit like taking the inverse of a lower triangular matrix. ...
    (sci.math)
  • Re: convolution deconvolution problem
    ... Given two functions x and y, first compute the convolution, second ... generate a filter function consisting of N1 = 10 unit samples. ... There is a divide-by-zero problem that messes up absolutely ... Deconvolution is almost a research subject on is own. ...
    (comp.soft-sys.matlab)
  • Re: convolution deconvolution problem
    ... I have got a problem with convolution and deconvolution of functions. ... My aim is to deconvolute a broaded spectrum with a gaussian. ... The reason is that at least one of the spectrum coefficients of y ...
    (comp.soft-sys.matlab)