ecg signal filtering

18 visualizaciones (últimos 30 días)
m
m el 17 de Sept. de 2011
Hello I am an undergraduate I am required to implement the following operations in MATLAB :
_First the ECGs were preprocessed (1.5–35 Hz band pass filter), then each 3.2 s segment of the ECG was Hamming windowed and its PSD was estimated as the square of the amplitude of the fast Fourier transform, zero padded to 4096 points_
the FS is 250hz
If not very hard please help me
thankU

Respuesta aceptada

Wayne King
Wayne King el 17 de Sept. de 2011
Hi, You don't give enough information to fully specify your filter, but here is a filter with 40-dB of attenuation as a start. I'm assuming in my example that sig is your signal (vector). For 3.2 seconds sampled at 250 Hz, you have 800 samples. So just to get the code to run, let's create a white noise vector that is 800 samples in length.
sig = randn(800,1);
d = fdesign.bandpass('Fst1,Fp1,Fp2,Fst2,Ast1,Ap,Ast2',0.5,1.5,35,36,40,0.5,40,250);
Hd = design(d,'butter');
sig = filter(Hd,sig);
psdest = psd(spectrum.periodogram('Hamming'),sig,'NFFT',4096,'Fs',250);
plot(psdest)
You'll want to segment your data in 800 sample increments so that you have 3.2 seconds of data.
Wayne
  1 comentario
m
m el 18 de Sept. de 2011
very thanks for your attention.
Is possible write codes step by step ?
for example:
1)First the ECGs were preprocessed (1.5–35 Hz band pass filter)
2)each 3.2 s segment of the ECG was Hamming windowed
3)its PSD was estimated as the square of the amplitude of the fast Fourier transform, zero padded to 4096 points

Iniciar sesión para comentar.

Más respuestas (0)

Community Treasure Hunt

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

Start Hunting!

Translated by