How to remove the background noise from a signal?

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

 Respuesta aceptada

Daniel M
Daniel M el 11 de Nov. de 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 comentarios

Steven
Steven el 14 de Nov. de 2019
Editada: Steven el 14 de Nov. de 2019
Thank you.
So it is not needed to take both of them to freq domain and then subtract them?
Daniel M
Daniel M el 14 de Nov. de 2019
That's another approach, but it was unnecessary in this case.

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Preguntada:

el 11 de Nov. de 2019

Editada:

el 14 de Nov. de 2019

Community Treasure Hunt

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

Start Hunting!

Translated by