Deconvolution of experimental peaks
이전 댓글 표시
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
Daniele Sonaglioni
2022년 11월 23일
이동: Star Strider
2022년 11월 23일
Star Strider
2022년 11월 23일
I am not certain that is even possible.
Bjorn Gustavsson
2022년 11월 23일
@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
2022년 11월 23일
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
2022년 11월 23일
@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
2022년 11월 24일
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
2022년 11월 24일
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.
답변 (1개)
Bjorn Gustavsson
2022년 11월 22일
0 개 추천
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
카테고리
도움말 센터 및 File Exchange에서 Correlation and Convolution에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!