实时信号心电图处理

时间:2019-01-07 09:16:38

标签: matlab real-time

我正在尝试实时检测心电信号的r个峰值。我应该逐个样本地工作。因此,我使用了for循环,该循环遍历了已加载的ecg信号的样本。但是这种方法无法正常工作,因为我用来过滤样本的过滤器是window过滤器,而另一个过滤器是filtfilt,需要大于6个样本的数据才能运行。

我尝试了以下代码:

for i=1:length(ecg)

但是它不起作用。可以采用以下替代方法吗?

for i=1:length(ecg(1:i))

这种方式仍会实时处理吗?

1 个答案:

答案 0 :(得分:0)

你不能写

for i=1:length(ecg(1:i))

因为尚未声明i中的ecg(1:i)

您的问题尚不完全清楚,但是如果要获取数组的样本直到每个索引 i i 个位置,您可以执行以下操作:如下:

for i=1:length(ecg)
    pastSamples = ecg(1:i);
    ...
end

通过这种方式,对于每个循环,您都将处理所有样本,直到 -th 索引。