Re: trivial deconvolution -- possible without fourier?
- From: Olin Perry Norton <norton@xxxxxxxxxxxxxxxxxxxx>
- Date: Wed, 12 Apr 2006 15:44:24 -0500
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
.
- Follow-Ups:
- Re: trivial deconvolution -- possible without fourier?
- From: Michael
- Re: trivial deconvolution -- possible without fourier?
- References:
- trivial deconvolution -- possible without fourier?
- From: Michael
- trivial deconvolution -- possible without fourier?
- Prev by Date: Re: questions on line-search stagnation for newton-raphson method
- Next by Date: Re: Prime sum
- Previous by thread: trivial deconvolution -- possible without fourier?
- Next by thread: Re: trivial deconvolution -- possible without fourier?
- Index(es):
Relevant Pages
|