필터 지우기
필터 지우기

baseline correction using media filter

조회 수: 9 (최근 30일)
sarmad m
sarmad m 2017년 5월 12일
댓글: Star Strider 2017년 5월 17일
Hi
I have used median filter (medifilt1)to correct the baseline , is this method is correct ? or there is other methods that can give better results ?
close all
% plot default annotated peaks
subplot(2,1,1);
order =4 ;
framelen =13;
lx = 20;
% generate sinal
x = 1:1:1274;
y = (AV)';
y = sgolayfilt(y,order,framelen);
% get derivatives
dy = diff(y);
findpeaks(y -medfilt1(y,50) ,x,'Annotate','extents','MinPeakProminence',0.008);
[pks,locs,peakWidth1,p] = findpeaks(y -medfilt1(y,50),x,'MinPeakProminence',0.008);
subplot(212);
plot(x,y);
hold on
plot(locs,pks,'*m')
Thanks

답변 (1개)

Star Strider
Star Strider 2017년 5월 12일
Your medfilt approach seems to be giving appropriate results, but is not the approach I would use.
For initial EKG signal processing, I usually use a Chebyshev Type II filter with a low-frequency cutoff of 1 Hz and a high-frequency of 100 Hz, since that eliminates the low-frequency baseline variations and d-c (constant) offset, and high-frequency noise. (Even abnormal EKGs — for example atrial flutter and fibrillation — have a bandwidth of 0+ to 100 Hz. Everything greater than 100 Hz is noise.)
Your original EKG appears to have atrial fibrillation, possibly contaminated with EMG noise. I would be reluctant to use a Savitzky-Golay filter on an EKG, since it has the tendency to obscure potentially clinically-relevant details.
  댓글 수: 8
sarmad m
sarmad m 2017년 5월 17일
My data is from video file with 30 FPS and each video file generates different data . These peaks represents eye blinks .So , for each video file there is different number of peaks (blinks ). I used SG filter with median filter to correct baseline then findpeaks which gave me good baseline correction .
is Chebyshev filter is applicable in my case ?
Star Strider
Star Strider 2017년 5월 17일
The Chebyshev filter would still be applicable. Do a fft (link) on your signal to determine the signal frequencies and the noise frequencies. Then, design the filter passband to include the signal and eliminate as much of the noise as possible, as well as eliminate baseline variation.
Experiment with both approaches to see what the best and most efficient is.
The plot looks like an EKG with atrial flutter. EKG signal processing questions are frequent here.

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

카테고리

Help CenterFile Exchange에서 Digital Filtering에 대해 자세히 알아보기

태그

Community Treasure Hunt

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

Start Hunting!

Translated by