next up previous print clean
Next: Damped solution Up: HOW TO DIVIDE NOISY Previous: HOW TO DIVIDE NOISY

Dividing by zero smoothly

divide by zero zero divide Think of any real numbers x, y, and f and any program containing x=y/f. How can we change the program so that it never divides by zero? A popular answer is to change x=y/f to $x=yf/(f^2+\epsilon^2)$, where $\epsilon$ is any tiny value. When $\vert f\vert \gt\gt \vert\epsilon\vert$,then x is approximately y/f as expected. But when the divisor f vanishes, the result is safely zero instead of infinity. The transition is smooth, but some criterion is needed to choose the value of $\epsilon$.This method may not be the only way or the best way to cope with zero divisionzero divide, but it is a good way, and it permeates the subject of signal analysis.

To apply this method in the Fourier domain, suppose that X, Y, and F are complex numbers. What do we do then with X=Y/F? We multiply the top and bottom by the complex conjugate $\overline{F}$,and again add $\epsilon^2$ to the denominator. Thus,  
 \begin{displaymath}
X(\omega) \eq
{ \overline{F(\omega)} \ Y(\omega) \over 
\overline{F(\omega)} F(\omega) \ +\ \epsilon^2}\end{displaymath} (1)
Now the denominator must always be a positive number greater than zero, so division is always safe. Equation (1) ranges continuously from inverse filtering, with filter ! inverse X=Y/F, to filtering with $X=\overline{F}Y$,which is called ``matched filtering.'' filter ! matched Notice that for any complex number F, the phase of 1/F equals the phase of $\overline{F}$,so the filters have the same phase.


next up previous print clean
Next: Damped solution Up: HOW TO DIVIDE NOISY Previous: HOW TO DIVIDE NOISY
Stanford Exploration Project
4/27/2004