How to remove the background noise from a signal?

5 ビュー (過去 30 日間)
Steven
Steven 2019 年 11 月 11 日
編集済み: Steven 2019 年 11 月 14 日
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

採用された回答

Daniel M
Daniel M 2019 年 11 月 11 日
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 件のコメント
Steven
Steven 2019 年 11 月 14 日
編集済み: Steven 2019 年 11 月 14 日
Thank you.
So it is not needed to take both of them to freq domain and then subtract them?
Daniel M
Daniel M 2019 年 11 月 14 日
That's another approach, but it was unnecessary in this case.

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeTime-Frequency Analysis についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by