How to remove the background noise from a signal?

3 Ansichten (letzte 30 Tage)
Steven
Steven am 11 Nov. 2019
Bearbeitet: Steven am 14 Nov. 2019
Hi. I have the following signal. I am mainly interested in getting the peaks of the red signal. So I want to remove the part (background noise whose data I have) within the blue box.
1. How can I do it?
2. If I want to remove the noise, can I simply subtract the original values in time domain? something like:
y = Signal (t) - Noise (t)
or I have to do it in freq domain?
Plot1 - Copy.jpg
Thanks

Akzeptierte Antwort

Daniel M
Daniel M am 11 Nov. 2019
Seems like you have determined what you want your threshold to be.
You can set those values to zero (or whatever the mean of your signal is), pretty easily:
x; % this is your data
xpeaks = x; % duplicate
thresh = 10; % or whatever it is
meanx = mean(x);
xpeaks(abs(x) <= threshold) = meanx;
% xpeaks will contain only the "peaks"
  2 Kommentare
Steven
Steven am 14 Nov. 2019
Bearbeitet: Steven am 14 Nov. 2019
Thank you.
So it is not needed to take both of them to freq domain and then subtract them?
Daniel M
Daniel M am 14 Nov. 2019
That's another approach, but it was unnecessary in this case.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Community Treasure Hunt

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

Start Hunting!

Translated by