Deconvolution of experimental peaks
Mostrar comentarios más antiguos
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 comentarios
Daniele Sonaglioni
el 23 de Nov. de 2022
Movida: Star Strider
el 23 de Nov. de 2022
Star Strider
el 23 de Nov. de 2022
I am not certain that is even possible.
Bjorn Gustavsson
el 23 de Nov. de 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
el 23 de Nov. de 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
el 23 de Nov. de 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
el 24 de Nov. de 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
el 24 de Nov. de 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.
Respuestas (1)
Bjorn Gustavsson
el 22 de Nov. de 2022
0 votos
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
Categorías
Más información sobre Correlation and Convolution en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!