How to correct background to extract fine features of a signal containing multiple gaussian envelopes?

1 次查看(过去 30 天)
I am trying to extract fine features and plot them from a signal that consists of two distinct gaussian envelopes. I used the background correction code below https://www.mathworks.com/matlabcentral/fileexchange/27429-background-correction
Apparently, the code works only for signals with one gaussian envelope (I may be wrong?); but i could not get the desired result. I cannot simply apply gaussian filtering because it will modify the linewidths of the fine features, which are of key importance in this singal.
Any help to resolve this issue would be highly appreciated. I have attached a .mat file to give folks an idea about how the vectors look like.

采纳的回答

Image Analyst
Image Analyst 2023-3-3
What is this? What generated the signal? It already looks like a baseline-corrected signal. I'm not sure you'd want to do anything to that signal.
s = load('ct8.mat')
s = struct with fields:
x1: [1340×1 double] y1: [1340×1 double]
x = s.x1;
y = s.y1;
plot(x, y, 'b-');
grid on;
figure;
s = load('ct8.mat');
x = s.x1;
y = s.y1;
subplot(2, 1, 1);
plot(x, y, 'b-');
grid on;
smoothy = sgolayfilt(y, 2, 151);
hold on;
plot(x, smoothy, 'r-', 'LineWidth', 2)
subplot(2, 1, 2);
yDiff = y - smoothy;
plot(x, yDiff, 'b-');
grid on;
If you were to subtract out the baseline, where would you put it? Can you attach a picture of the baseline drawn in red underneath the signal? By the way, I'm attaching some demos for you to adapt.
Or maybe you could use sgolayfilt to get a smoothed version of the signal and then subtract it.
  3 个评论
Image Analyst
Image Analyst 2023-3-3
I have other baseline correction methods. If I get time this weekend I can try them on your data. I don't have time today, probably.

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Get Started with Signal Processing Toolbox 的更多信息

产品


版本

R2022a

Community Treasure Hunt

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

Start Hunting!

Translated by