Why does deconv.m produce inconsistent performance?
3 次查看(过去 30 天)
显示 更早的评论
My ultimate goal is to deconvolve two probability density functions (or histograms). I am testing the process by making a convolved file Y=conv(A,B) and then deconvolving it, [Adecond,R]=deconv(Y,B). I have tested this with short vectors of integers and it works perfectly i.e. Adecond=A and R=0. It has also worked well for B = an actual 93-element histogram and A= 601-element normal distribution. But when I change B to a 93-element normal distribution, Adecond is erroneous with many small values over most of the range of the distribution and about 20-30 large varying values at the end of the vector. R is zero except for the last 20-30 elements in the vector. Why is deconv succeeding with one vector B and failing miserably with another very similar B?
Thanks, Jamie
2 个评论
Image Analyst
2014-1-25
If you want people to answer, you should attach your data file and your m-file.
回答(1 个)
Matt J
2014-1-25
编辑:Matt J
2014-1-25
I imagine because deconvolution by a Gaussian/normal distribution is ill-posed. A Gaussian filter's Fourier spectrum falls off very fast at high frequencies, making it's inverse filter very unstable. You might try deconvreg, if you have the Image Processing Toolbox, or some other regularized deconvolution scheme.
0 个评论
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!