File: deconvolute.htm

package info (click to toggle)
extrema 4.3.6-1
  • links: PTS
  • area: main
  • in suites: lenny
  • size: 19,212 kB
  • ctags: 6,452
  • sloc: cpp: 86,428; sh: 8,229; makefile: 814
file content (57 lines) | stat: -rw-r--r-- 2,859 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
<HTML>
<HEAD>
<TITLE>DECONVOLUTE function</TITLE>
</HEAD>
<BODY bgcolor="#FFFFFF" fgcolor="#000000">

<P><font size="+3" color="green"><B>DECONVOLUTE function</B></font></P>
<P>
<TABLE border="1" cols="2" frame="box" rules="all" width="572">
<TR>
<TD width="15%" valign="top"><B>Syntax</B>:</TD>
<TD width="85%"><CODE>
yd = DECONVOLUTE(y,b)</CODE>
</TD></TR>
</table></p>
<p>
 The <CODE>DECONVOLUTE</CODE> function accepts two vector
 arguments. It deconvolutes the first argument vector, <CODE>y</CODE>,
 with the specified blurring vector, <CODE>b</CODE>. The result is a
 vector the same length as <CODE>y</CODE>. 
 The blurring vector <CODE>b</CODE>, the second argument,
 must contain an even number of points. The preferred lengths are powers of <code>2</code>.
 The deconvolution is done using fast Fourier transforms. The following restrictions apply:</p>
<p>
<ul>
<li><CODE>y</CODE> must be padded at its lower end with a number
    of zeros equal to the number of non-zero elements in <CODE>b</CODE>.
    For example, if both vectors have <code>128</code> elements, and 
    <CODE>b</CODE> is non-zero in the range <code>1 - 29</code>, then
    <CODE>y</CODE> must contain zeros in locations <code>1 - 29</code></li>
<li><CODE>y</CODE> and <CODE>b</CODE>
    must have the same number of elements</li>
<li>the end points of <CODE>b</CODE> must not be equal.  A difference
    of less than <code>0.0001</code> produces oscillations in the deconvoluted result. The
    usual way to correct for this is to shift <CODE>b</CODE> to the
    left so that the first point has a non-zero value.  Together with the first restriction,
    this ensures that the right most point has the value zero, leaving the ends unequal.</li>
</ul></p>
<p>
 Noise in <CODE>b</CODE> 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 <CODE>b</CODE> has. This
 occurs because each noisy point becomes a greater percentage of the total number in the 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
 <a href="../../../FilterCommand/nonrecursive.htm">smoothing filters</a> on the measured data before
 deconvolution.
<p>
 The <CODE><a href="../Convolute/convolute.htm">CONVOLUTE</a></CODE> function calculates the convolution.</p>
<p>
 <a href="../Dawson/dawson.htm"><img align="top" border="0" src="../../../shadow_left.gif">&nbsp;
 <font size="+1" color="olive">Dawson's integral</font></a><br />
 <a href="../Deriv/deriv.htm"><img align="top" border="0" src="../../../shadow_right.gif">&nbsp;
 <font size="+1" color="olive">Derivative</font></a>
</P>
</BODY>
</HTML>