functions:CONVOL
The blurrimg vector must contain an odd number of points. Suppose
that N is the length of y and m is the length of x. The convolution
of x with y is:
xout[i] = x[i-n/2]*y[n] + x[i-n/2+1]*y[n-1] + ... +
x[i+n/2-1]*y[2] + x[i+n/2]*y[1]
for i = 1,2,3,...,m. Note that references to subscripts out of
range of x are not summed. The blurring vector is normalized to 1 to
insure that the integrals of the output and x are identical. This
normalization is internal, y is returned unchanged. To ensure proper
convolution, x should be padded at it's upper and lower ends with zeros
so it's length is at least the minimum of:
1) the non-zero length of y
2) one-half the length of y
Note that the lengths of y and x can differ. To avoid centroid shifts
in the output, centre y properly. For example, suppose that y has 2*N-1
elements containing a gaussian, then it's peak should be at N.
Convolute vector x with vector y. The blurring vector, y, should contain
an even number of points. The preferred lengths are powers of 2. The
convolution is done using Fast Fourier Transforms. The following
restrictions apply:
1) x must be padded at it's lower end with zeros with the number of
elements which are non-zero in y, for example, if x and y are of
length 128, and y is zero in the range 30-128, then x must contain
zeros in locations 1-29
2) x and y must have the same length
3) the end points of y must not be equal. A difference of less than
0.0001 produces oscillations in the deconvoluted result. The usual
way is to shift y to the left so that the first point has a non-zero
value. Together with 1), this ensures that the right point has
the value zero, leaving the ends unequal.
Noise in y produces a change in the output, which, due to averaging, has
a small effect. Noise effects depend on the shape of the deconvoluted
peak. The narrower this peak, the more effect the noise in y has. This
occurs because each noisy point becomes a greater percentage of the total
number in the convoluting or deconvoluting function, thus reducing the
average effect. In many applications, the noise in the measured data is
statistical in nature and so, to reduce the sensitivity to this noise on
the deconvolution, apply smoothing filters on the measured data before
deconvolution.
Deconvolute vector x with vector y. The blurring vector, y, should
contain an even number of points. The preferred lengths are powers
of 2. The deconvolution is done using Fast Fourier Transforms. The
following restrictions apply:
1) x must be padded at it's lower end with zeros with the number
of elements which are non-zero in y, for example, if x and y are
of length 128, and y is zero in the range 30-128, then x must
contain zeros in locations 1-29
2) x and y must have the same length
3) the end points of y must not be equal. A difference of less than
0.0001 produces oscillations in the deconvoluted result. The usual
way is to shift y to the left so that the first point has a non-zero
value. Together with 1), this ensures that the right point
has the value zero, leaving the ends unequal.
Noise in y produces a change in the output, which, due to averaging, has
a small effect. Noise effects depend on the shape of the deconvoluted
peak. The narrower this peak, the more effect the noise in y has.
This occurs because each noisy point becomes a greater percentage of
the total number in the convoluting or deconvoluting function, thus
reducing the average effect. In many applications, the noise in the
measured data is statistical in nature and so, to reduce the
sensitivity to this noise on the deconvolution, apply smoothing
filters on the measured data before deconvolution.