How to remove noise from the signal and identify the peaks for each cycle of the total signal

조회 수: 17 (최근 30일)
Hi everyone,
I have medical data of aorata, In which I want to remove the noise signals and identify the peaks and interference. After that I want to separate the each cycles
from starting point of peak to ending point of the peak for total signal present.
Can any one help me how to proceed on.
Thank you very much for your time.
  댓글 수: 4
Lokeswara reddy pamulapate
Lokeswara reddy pamulapate 2019년 11월 22일
편집: Image Analyst 2019년 11월 22일
Ya I tried with sgolayfit() but did not work
In the data when we zoom in we get so many peaks in the data. There are some noisey signal which i want to remove.
Image Analyst
Image Analyst 2019년 11월 22일
It's not really clear why some of the peaks got marked with red and some didn't. Can you explain in words what criteria you're using to say whether a peak is a legitimate peak instead of a noise peak?

댓글을 달려면 로그인하십시오.

채택된 답변

Daniel M
Daniel M 2019년 11월 22일
Your data has too many artifacts to allow easy processing. You would first need to visually/manually go through your data and select chunks of it that are free of artifacts. Long periods of flat noise and large spontaneous non-periodic spikes I would consider to be artifacts. Possibly the sensor was not attached properly and the impedance was too high, possibly motor stimulation or other muscular artifacts. You can't analyze this data effectively, without more advanced techniques (like independent component analysis).
If this is EKG data, the typically preprocessing is to bandpass filter from 0.5-150 Hz, depending on your sampling rate, then notch filter the line noise (typically 50 or 60 Hz plus the harmonics). You could possibly use an sgolayfilt to remove other types of noise. You may also need to do other detrending of baseline shift.
If you need help with any of this, let us know, or search MATLAB Answers. I have personally written answers to dozens of questions regarding EKG, as well as how to do bandpass and notch filters. Search with: answered_by:"Daniel M" to get answers I have contributed.
After that, to extract the peaks and epoch the data, follow the example on this page:

추가 답변 (1개)

mahyar
mahyar 2020년 2월 3일
I assume your goal is event detection. You need to apply more agressive filter to remove high frequency noise and obtain smoother signal. Then apply "findpeaks" function to your data to identify the peaks and apply again to inverted data to detect some potential onset/offset. Then you might set some thresholds to select best identified points to finaly extract the events.

카테고리

Help CenterFile Exchange에서 Descriptive Statistics에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by