Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!swrinde!zaphod.mps.ohio-state.edu!rpi!masscomp!peora!tarpit!bilver!alex From: alex@bilver.uucp (Alex Matulich) Newsgroups: comp.dsp Subject: Why Don't My FFT Deconvolutions Work!! Message-ID: <1991Feb9.034956.7993@bilver.uucp> Date: 9 Feb 91 03:49:56 GMT Distribution: na Organization: W. J. Vermillion - Winter Park, FL Lines: 41 I am doing a project that involves "sharpening up" a two-dimensional radar scan of an object. This, of course, requires a convolution. I know that this is normally done for visual images by operating a 3x3 kernel over each pixel in the image, such as -1 0 -1 0 5 0 -1 0 -1 however, my response function is more than 3 pixels wide. (In fact, it is a _different size_ in the x and y dimensions because the waveguide used to scan the object is rectangular and has different beamwidths in each direction). I don't have the faintest idea how to make an arbitrary-sized sharpening kernel, and furthermore I am unclear on how to re-scale things after I'm done. I'm more comfortable with FFT's, anyway, and I can precisely define my response function too. You will recall that the deconvolution of a function f with a response function g is F(f decon g) = F(f) / F(g) where F() is the Fourier transform. See the problem? You have to DIVIDE by the Fourier transform of g. In all my experiments, for any response function I try, F(g) is zero somewhere (or near zero) which completely messes up the result. As a simple experiment I tried convolving some arbitrary 1-D signal with a response function and then deconvolving it to see if I got back what I started with. The convolution always works perfectly. The deconvolution is junk. TELL ME! HOW IS THIS DONE, REALLY? What can I do to make it work? Thanks in advance -- email replies and I'll summarize. -- _ |__ Alex Matulich (alex@bilver.UUCP) /(+__> Unicorn Research Corp, 4621 N Landmark Dr, Orlando, FL 32817 //| \ UUCP: ...uunet!tarpit!bilver!alex ///__) bitnet: IN%"bilver!alex@uunet.uu.net"