Resample frequency of an ECG signal

13 views (last 30 days)
sania urooj
sania urooj on 23 Feb 2021
Commented: sania urooj on 25 Feb 2021
Hey! I need to upsample ECG signals from 250hz to 1000hz. I used the given code but it's dividing my 10 sec signal to 2.5 sec (1 signal to 4 rows) retaining the same sample i.e 2500. I want to keep the duration of ECG signal 10 sec.
originalFs = 250;
desiredFs = 1000;
[p,q] = rat(desiredFs / originalFs)
y = load('chf01m.mat')
y = resample(y.val,p,q);
t= 1:length(y)
Ty = t./desiredFs
plot(Ty,y(1,:));
kindly tell me what I am missing here.
  2 Comments
Mathieu NOE
Mathieu NOE on 23 Feb 2021
hello
As the two sampling frequency are related with factor 4 , I would simply use interpolation instead of resampling
so if x = original time vector , create new time vector xx with 4 times smaller time increments and do
yy = interp1(x,y,xx);

Sign in to comment.

Answers (0)

Community Treasure Hunt

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

Start Hunting!