Deconvolution of a combination of Gaussians signal

53 views (last 30 days)
Hi all,
First of all, thanks for the support in the forum, I`ve learned a lot through the years reading here.
I'm currently trying to deconvolute a signal with three peaks (which are assumed to be gaussian functions with exponential decay). I'm basically trying to do the opposite to the following file Exchange function: https://es.mathworks.com/matlabcentral/fileexchange/74408-fit-multiple-gaussians, by Image Analyst.
The main objective is to find the 'original' signal taking into account the contribution of all peaks. ¿Is there any function in MATLAB, or toolbox, or file-exchange code, dealing with this? I'm trying to do my own code, using the function fit, with gauss3, etc, but I'm still not able to do it, since the fit only retains the first two peaks (maybe due to the start points, etc, that I give to fit.) My data looks something like this:
I'm afraid I cannot provide an exact figure, since it is part of a work still not published.
Any help is appreciated!
Thanks in advance.
  1 Comment
Bjorn Gustavsson
Bjorn Gustavsson on 6 May 2021
If you understand your problem well enough you can mock up a similar enough data-set (similar original data convolved with some PSF possibly with an additional noise with similar statistical properties of your secret signal) without revealing your secret data-set.

Sign in to comment.

Accepted Answer

Bjorn Gustavsson
Bjorn Gustavsson on 6 May 2021
If you have a signal that is smeared or convolved with some point-spread-function you can to some extent undo that by using either of the deconvolution-functions in matlab: deconvwnr, deconvreg, deconvlucy. Deconvolution-work is a bit fiddly in the sense that the improvement in resolution is not infinite (noise (either measurement or numerical) will be amplified, and when the PSF/convolving kernel has zeroes in its Fourier-transform those components will be lost.) so both care with respect to estimates of the PSF to deconvolve has to be made and tempered expectations of the deconvolution-result has to be accepted. Have a look at the help and documentation of the above mentioned functions, that should get you started. They are designed for deconvolution on images, but should work also for 1-D signals.
HTH
  1 Comment
VD
VD on 9 Jun 2021
Sorry for the late response, I didn't see the notification of the answer. Thanks for your comments. I managed to try something by myself, but I'll take a look at those functions again.
Thanks again,

Sign in to comment.

More Answers (0)

Categories

Find more on Signal Processing Toolbox in Help Center and File Exchange

Products


Release

R2020b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!