1、实时心率计算方法假设心电图机的采样频率为 1000,即每秒采样 1000 个数据,我们采样 4 秒钟的心电数据即 4000 个数据,瞬时性非常好。假设我们要求的心律是 x,那么心率计算的数学公式如下(R 波指的是大小为 4000 的缓冲区里面,心跳波动的波峰数):x / (60*1000) = (R 波个数 - 1) / (最后一个 R 波位置 - 第一个 R 波位置)求出 xx = (60*1000) * (R 波个数 - 1) / (最后一个 R 波位置 - 第一个 R 波位置)这个数学公式中 (最后一个 R 波位置-第一个 R 波位置) 得到的是最后一个 R 波和第一个 R 波之间隔了多
2、少个数据,采样率 1000 的话,这个值其实就是隔了多少个毫秒。(R 波个数 - 1) 得到的是在这么多个毫秒内,经历多少个心跳周期。先进先出队列的实现比较简单,我用的是最多为 4000 个 WORD 型数据的一个队列,如果数据达到 4000,在添加数据的时候,就要把最早的一个数据挤出去了。但是 R 波检测算法却并不完美,有时候会漏检,比如缓冲区里有 5 个 R 波,却只检出4 个,这个时侯算出来的心律就偏低,不准确了。我想到解决这个问题的方法,就是叫做“双线竞争法” ,因为心电图机共 15 条导联线,通常的做法是用其中信号最强的一条胸导来计算心率。为了解决 R 波漏检导致的心律有误的问题,可以用两个缓冲区,分别取两条胸导的数据,各自计算心律,然后采用两个心律值中较大的一个。信号最强的导联-胸导