Code:
d=load('CU_Ventricular_Tacharrhythmia\cu01m.mat');
noisyECG_withTrend=d.val(1,:);
subplot(2,1,1), plot(noisyECG_withTrend), grid on,
nnoisyECG_withTrend = noisyECG_withTrend';
t = 1:length(noisyECG_withTrend);
[p,s,mu] = polyfit((1:numel(noisyECG_withTrend))',nnoisyECG_withTrend,6)
f_y = polyval(p,(1:numel(noisyECG_withTrend))',[],mu);
ECG_data = nnoisyECG_withTrend - f_y; % Detrend data
subplot(2,1,2), plot(t,ECG_data); grid on
%ax = axis;
%axis([ax(1:2) -1.2 1.2])
title('Detrended ECG Signal')
xlabel('Samples'); ylabel('Voltage(mV)')
legend('Detrended ECG Signal')

1 comentario

Explorer
Explorer el 19 de Feb. de 2016
Editada: Explorer el 19 de Feb. de 2016
Basically, I am trying to remove baseline error so that I can extract features like R to R delay and other intervals.

Iniciar sesión para comentar.

 Respuesta aceptada

Star Strider
Star Strider el 19 de Feb. de 2016

0 votos

See if this filter does what you want (assuming Fs=256):
Fs = 256;
Fn = Fs/2;
Wp = [1 90]/Fn;
Ws = Wp.*[0.5 1.25];
Rp = 1;
Rs = 20;
[n,Wn] = buttord(Wp,Ws,Rp,Rs);
[b,a] = butter(n,Wn);
[sos,g] = tf2sos(b,a);
figure(1)
freqz(sos, 2048, Fs);

5 comentarios

Explorer
Explorer el 23 de Feb. de 2016
Yes, it works in removing baseline errors.
Star Strider
Star Strider el 23 de Feb. de 2016
I was quite definitely hoping it would.
Evenor
Evenor el 16 de Oct. de 2018
Can you please comment-in and explain how this filter works? Some of the functions used in it, like 'buttord', do not appear in my MATLAB2014a documentation, so can you elaborate on them (in what toolbox/version they are available and what they do)? Thanks.
Star Strider
Star Strider el 16 de Oct. de 2018
@Evenor —
My code uses functions from the Signal Processing Toolbox. You need to have it installed in order to run my code. You should be able to run it in R2014a.
Sibi Ramachandran
Sibi Ramachandran el 13 de Feb. de 2019
@Star Strider Good morning sir I saw your comments and it helped me to understand the use of these filters. I recently posted a question and I was wondering if you would be able to help me also? Thank you so much!

Iniciar sesión para comentar.

Más respuestas (0)

Preguntada:

el 19 de Feb. de 2016

Comentada:

el 13 de Feb. de 2019

Community Treasure Hunt

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

Start Hunting!

Translated by