152***479

库初始化信息
Gh3x2xDemoInit : Democode Version : GH(M)3X2X_DEMO_v1.5_AC_v0.4(build:Oct 13 2023_17:46:32)
Gh3x2xDemoInit : DrvLib Version : v4.1.0.0 (build:Nov 1 2022_09:44:25)
Gh3x2xDemoInit : Config Version : Gh3x2x_Virtual_Reg_v3.4
[gh3x2x_algo]: version = GX_HARDADT_SOFTCHECK_v0.1
Gh3x2xDemoInit : Algo Version : GX_HARDADT_SOFTCHECK_v0.1
[gh3x2x_algo]: version = GX_HBA_2.2.0.0(Delta)_S_CONF_nc_goodix_dsp_v1.0.3.2
Gh3x2xDemoInit : Algo Version : GX_HBA_2.2.0.0(Delta)_S_CONF_nc_goodix_dsp_v1.0.3.2
[gh3x2x_algo]: version = GX_SPO2_PV_v2.0.1(cardiffA_v2.23_0ae2fc)_nc_goodix_dsp_v1.0.3.2
Gh3x2xDemoInit : Algo Version : GX_SPO2_PV_v2.0.1(cardiffA_v2.23_0ae2fc)_nc_goodix_dsp_v1.0.3.2
[GH3x2xSlotTimeInfo]:CfgIndex[0]:Slot time = 290
[GH3x2xSlotTimeInfo]:CfgIndex[1]:Slot time = 290
[GH3x2xSlotTimeInfo]:CfgIndex[2]:Slot time = 762
[GH3x2xSlotTimeInfo]:CfgIndex[3]:Slot time = 762
[GH3x2xSlotTimeInfo]:CfgIndex[4]:Slot time = 152
[GH3x2xSlotTimeInfo]:CfgIndex[5]:Slot time = 26
[GH3x2xSlotTimeInfo]:CfgIndex[6]:Slot time = 152
Gh3x2xGetConfigVersion : Config Version : 2ca7411d
Gh3x2xDemoInit:init success
[app_hr_adt_enable]cmd:hr adt anble,err_code:0
[Gh3x2xDemoStartSampling] unFuncMode = 0x1
[Gh3x2xSampleRateUpdate]FunctionId = 0x1, slot bit = 0x40,usSampleRateUser = 5
[Gh3x2xSampleRateUpdate]Down sample: FunctionID = 0x1,: SlowestSlotSR = 5, Factor = 0
Current uchSlotEn= 0x40
Current g_unDemoFuncMode= 0x1
[Non-Sync Gsensor]usRefFucntion = 0x1.
[Non-Sync Gsensor]g_fGh3x2xNonSyncGsensorStep = 5.000.
[Non-Sync Gsensor]usRefFucntion = 0x1,usSampleRateMax = 5.
[Non-Sync Gsensor]non-sync gsensor init.
设备佩戴时,驱动库打印的log
[Gh3x2xDemoStartSampling] unFuncMode = 0x43
[Gh3x2xSampleRateUpdate]FunctionId = 0x1, slot bit = 0x40,usSampleRateUser = 5
[Gh3x2xSampleRateUpdate]FunctionId = 0x2, slot bit = 0x2,usSampleRateUser = 25
[Gh3x2xSampleRateUpdate]FunctionId = 0x40, slot bit = 0xC,usSampleRateUser = 25
[Gh3x2xSampleRateUpdate]Down sample: FunctionID = 0x1,: SlowestSlotSR = 5, Factor = 0
[Gh3x2xSampleRateUpdate]Down sample: FunctionID = 0x2,: SlowestSlotSR = 25, Factor = 0
[Gh3x2xSampleRateUpdate]Down sample: FunctionID = 0x40,: SlowestSlotSR = 25, Factor = 0
Current uchSlotEn= 0x4e
Current g_unDemoFuncMode= 0x43
[Non-Sync Gsensor]usRefFucntion = 0x2.
[Non-Sync Gsensor]g_fGh3x2xNonSyncGsensorStep = 1.000.
[Non-Sync Gsensor]usRefFucntion = 0x2,usSampleRateMax = 25.
[Non-Sync Gsensor]non-sync gsensor init.
[gh3x2x_algo]: [goodix_hba_init_func]:params = 0,0,25,4,0,0,0,
[gh3x2x_algo]: [goodix_spo2_init_func]:params = 1,25,-162708,-30749,1035320,1,0,30,15,4,3,0,0,
血氧容易被睡眠期间的翻身动作干扰导致血氧值失真。
问题似乎出在翻身动作影响了原始的(红光、红外光)光信号,见下面分析。
以下是一台设备在晚上睡眠期间血氧、3轴加速度、心率的曲线图,红框部分为血氧异常时段,如下图所示:

对于上图,可以看看右边红框时段的血氧频谱图以及心率ppg频谱图。

在上图中,ppg[4]是红光通道,ppg[5]是红外通道,频谱图中绿色曲线为心率值,紫色曲线为血氧值。在产生动作后,原始信号相比正常时段较为微弱。直到相邻的第二动作发生,红光、红外光信号得到恢复,血氧值也开始正常。再看这个时段的心率ppg原始(4通道)信号频谱图。

观察心率ppg[0]通道,在第一个动作产生后,这个通道的反射光几乎没有了,在等到第二个较大幅度的动作产生后,这个通道的反射光就正常了,这与血氧频4)的结果是一致的。
结合心率ppg以及血氧的原始信号来看,血氧异常时段,是翻身动作导致影响了原始反射光信号,进而导致血氧值异常。
1. 更换心率配置文件,新的配置文件由供应商提供,结果表明与之前配置无异或者看不出显著区别。
2. 将4PD合并到一个数据通道。结果通道输出的数据完全是杂波,无法使用,得出的血氧值是错误的,下面是心率配置图。

1、是否能提供血氧置信度?我们的供应商说是提供不了,但我们想找原厂确认。
2、血氧是否能使用4PD+4数据通道?供应商的说法是客户的血氧应用都是单通道,目前没有人尝试使用4通道计算血氧,不知道事实是否如此?
3、4PD+1数据通道接收血氧反射光这种方案是否一定不可行?
4、其他可尝试方案???还是说这种现象是无法避免的?还请原厂给与解答。
158***837

1、是否能提供血氧置信度?我们的供应商说是提供不了,但我们想找原厂确认。
---是不带置信度的。
2、血氧是否能使用4PD+4数据通道?供应商的说法是客户的血氧应用都是单通道,目前没有人尝试使用4通道计算血氧,不知道事实是否如此?
---当前血氧算法是单通道的, 因为血氧是需要校准的,不同的通道得到的校准曲线是有差异的。
当前比较好的做法是将4路数据采集出来,选择最好的一路数据进行使用。
3、4PD+1数据通道接收血氧反射光这种方案是否一定不可行?
---按你的配置方法相当于将4PD并联成一个PD,相当于一个面积更大的PD,这种方式不一定是最好的;血氧是由红灯、红外数据进行计算的,当有其他位置的PD信号差时,并联方式采集的数据也会受到影响,建议选择一路PD即可。
4、其他可尝试方案???还是说这种现象是无法避免的?还请原厂给与解答。
---因为血氧是需要校准的,建议可以进行一次校准;
---其次也会存在信号很好的伪低氧情况,这跟R值的离散性有更大关系,数据选择上可以选择一路R值离散性较好的PD。
打开微信,使用“扫一扫”即可关注