How to correct background to extract fine features of a signal containing multiple gaussian envelopes?
4 views (last 30 days)
Show older comments
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.
0 Comments
Accepted Answer
Image Analyst
on 3 Mar 2023
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')
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.
3 Comments
Image Analyst
on 3 Mar 2023
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.
More Answers (0)
See Also
Categories
Find more on Spectral Estimation 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!