Resample frequency of an ECG signal

7 次查看(过去 30 天)
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 个评论
Mathieu NOE
Mathieu NOE 2021-2-23
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);

请先登录,再进行评论。

回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Multirate Signal Processing 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by