How can I apply median filter with sliding window for the ECG signal?

조회 수: 19 (최근 30일)
Dhiyaa Al-Shammari
Dhiyaa Al-Shammari 2019년 11월 25일
댓글: Daniel M 2019년 11월 25일
How can I apply median filter with sliding window n=200 ms and n=600 ms in Matlab fo a signalat sample rate 360 Hz?
load 100m.mat
figure(1);
plot(val)
x=medfilt1(val,200);
figure(2);
plot(x)
y=medfilt1(val,600);
figure(3);
plot(y)

답변 (1개)

Daniel M
Daniel M 2019년 11월 25일
편집: Daniel M 2019년 11월 25일
The second input of the function medfilt1 determines the window size.
% Y = MEDFILT1(X,N) specifies the order, N, of the median filter.
% For N odd, Y(k) is the median of X( k-(N-1)/2 : k+(N-1)/2 ).
% For N even, Y(k) is the median of X( k-N/2 : k+N/2-1 ).
In your case, the order will be however many samples it takes to 200 ms at 360 Hz. E.g. 0.600*fs = 216. Otherwise, it will be length(t)-1.
load 100m.mat
fs = 360; % Hz
t200 = 0:1/fs:0.2;
t600 = 0:1/fs:0.6;
figure(1);
plot(val)
x=medfilt1(val,length(t200)-1);
figure(2);
plot(x)
y=medfilt1(val,length(t600)-1);
figure(3);
plot(y)
  댓글 수: 2
Dhiyaa Al-Shammari
Dhiyaa Al-Shammari 2019년 11월 25일
Thanks alot dear brother
I think also the result of the x will be an input to the second medfilt1 as follow instead of putting val ine second filter I have put the variable x. Is that right ?
x=medfilt1(val,length(t200)-1);
y=medfilt1(x,length(t600)-1);
Daniel M
Daniel M 2019년 11월 25일
x is already a median filtered version of val. If you want to filter it again, then use x as an input to medfilt1.

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

카테고리

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

Community Treasure Hunt

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

Start Hunting!

Translated by