Convolution / Deconvolution
| restedumonde | February 18, 2010 - 08:42 | ||
|---|---|---|---|
|
Hello, On Igor, it is very easy to do a convolution product of two waves by using the command "Convolve". This is the code I use : I have a wave called "Signal" obtained from some experiment. This signal is the convolution product of an unknown wave called "Density" and a known wave called "Probe". I want to know the wave Density, from the deconvolution of the "Signal" by the "Probe". Can anyone help me? |
|||

Joined: 2007-07-19
Location: United States
You might try the user-contributed DeconvolveFunctions.zip file on our FTP site:
ftp://ftp.wavemetrics.net/IgorPro/User_Contributions/DeconvolveFunctions...
--Jim Prouty
Software Engineer, WaveMetrics, Inc.
Joined: 2009-02-12
Location: Switzerland
Hooray for pump-probe data!!!!!
There is a brief discussion of FFT-based deconvolution in IP Tutorial Help.ipf, with application to image deconvolution. You may find it useful.
I noticed that you have:
Note that this is a so-called "magic number" in Igor IFFTs. This means that the output of the IFFT will be a complex wave. You probably want real output, in which case you should choose a non-2^n number. See "Magic Number of Points and the IFFT" under "Fourier Transforms" in Analysis.ihf.
Good luck,
Nick
Joined: 2009-11-05
Location: France
The user-contributed DeconvolveFunctions.zip file is not appropriate for what I would like to do.
Actually, my signal is too noisy to get a good FFT, and therefore, a good deconvolution.
I have tried many things like filtering my FFT, but nothing worked.
So i give up unless somenone tell me the solution.
Thanks for your help.
Best regards.
Joined: 2007-08-14
Location: United States
The procedures in DeconvolveFunctions.zip file are from a far older version of Igor than I care to admit. They are in serious need of updating for Igor 6. They use a Jansson algorithm (http://www.amazon.com/reader/0123802229?_encoding=UTF8&ref_=sib_dp_pt#re...), and the approach taken in the coding likely also needs updating to newer methods.
As for your particular problem of having noisy data, excessively noisy data will not deconvolve will with the above algorithm. You would do well to smooth it first, paying of course close attention to any spectral broadening that might be introduced by the smoothing operation itself. Since you mentioned working in the FFT domain, have you tried applying a Gaussian FFT filter operation to remove the high frequency noise before doing further operations? Finally, somewhere in my archives of literature on methods I have recollection of a report on a method that combines both the FFT smoothing and deconvolution operations in one step for abstracting information such as you want from noisy data. If nothing else, this suggests that an approach to smooth the data via a Gaussian FFT filter and then deconvolve also in FFT should work.
In any event, making updates to the DeconvolveFunctions for Igor Pro 6 are on my ToDo list.
--
J. J. Weimer
Chemistry / Chemical & Materials Engineering, UAH