How to remove the background noise from a signal?
2 次查看(过去 30 天)
显示 更早的评论
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](https://www.mathworks.com/matlabcentral/answers/uploaded_files/247800/Plot1%20-%20Copy.jpeg)
Thanks
0 个评论
采纳的回答
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 个评论
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Multirate Signal Processing 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!