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!