Deconvolution of experimental peaks
Show older comments
Hi everybody,
I am trying to deconvolute peak from experimental data.
I have a power (mW) as a function of the temperature and I have two peaks overlapping (examples attached). I woul like to deconvolute them but I am not able to find a ay to do so.
Any suggestions?
Thanks in advance.
7 Comments
Daniele Sonaglioni
on 23 Nov 2022
Moved: Star Strider
on 23 Nov 2022
Star Strider
on 23 Nov 2022
I am not certain that is even possible.
Bjorn Gustavsson
on 23 Nov 2022
@Daniele Sonaglioni, yes. Use the suggestion I made in my answer. The mathematics of 1-D and 2-D deconvolution are similar enough that you can use the deconvblind function to do this. The problems are also similar enough that my concerns about noise amplification and Gibbs-ringing are the same.
HTH
Mathieu NOE
on 23 Nov 2022
hello @Daniele Sonaglioni
I posted a first answer , then deleted it thinking I was completely off topic according to the others answers... but finally maybe I could still be part of the game
so my question is , do we simply want to remove the baseline (red line) and fit the remaining green curve with a two peaks function ? (nb the last action remains to be coded )

data = readmatrix('trial_ageing_deconv.txt');
% data = readmatrix('trial_bis_ageing_deconv.txt');
x = data(:,1);
y = data(:,2);
% first (main) peak
[pks,idx] = max(y);
ix = (x>x(idx)-20 & x<x(idx)+10);
x = x(ix);
y = y(ix);
[mpk,idx] = max(y); % redo it
[Base, yy]=baseline(y); % FEX : https://fr.mathworks.com/matlabcentral/fileexchange/69649-raman-spectrum-baseline-removal/
figure(1)
plot(x,y,'b-',x,Base,'r--',x,yy,'g-.');
Bjorn Gustavsson
on 23 Nov 2022
@Mathieu NOE, as far aas I understand that type of background/base-line removal might very much help deconvolution. But the if the "true" signal is convolved with an instrument impulse-response and all linear and shift-invariance conditions are in place one should be able to use deconvlucy (is the pont-spread-function is reasonably known) or deconvblind (which by mathemagic estimates the psf as well) to do deconvolution. If on the other hand the shape of the two peaks are known as 2 different parametrized functions it might be better to fit for those parameters and the background (as a straight-line perhaps) to the measurements.
Mathieu NOE
on 24 Nov 2022
hello @Bjorn Gustavsson
I wonder if "deconvolution" is really what we are looking for here. Somewhere I interpret the request to separate that curve into two single peak curves. A simple fit should do the job, now the question is what type of function is the most appropriate
Bjorn Gustavsson
on 24 Nov 2022
For the case of fitting 2 parameterized peak-functions and a background to the observations one might also have to model the point-spread of the instrument with a convolution-operation anyways. So in some sense it will still have elements of deconvolution in the solution.
Answers (1)
Bjorn Gustavsson
on 22 Nov 2022
0 votes
Have a look at the help and documentation of deconvblind. If you make sure that the curve you want to deconvolve and the point-spread function both are column-arrays of row-arrays it should work. But deconvolution is a tricky operation where noise-amplification and ringing (Gibbs) rapidly put a limit of how far one can get.
HTH
Categories
Find more on Correlation and Convolution in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!