Basically, I am trying to remove baseline error so that I can extract features like R to R delay and other intervals.
how to improve detrending?
1 visualización (últimos 30 días)
Mostrar comentarios más antiguos
Explorer
el 19 de Feb. de 2016
Comentada: Sibi Ramachandran
el 13 de Feb. de 2019
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
Respuesta aceptada
Star Strider
el 19 de Feb. de 2016
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
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
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!
Más respuestas (0)
Ver también
Categorías
Más información sobre Multirate Signal Processing en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!