信息速览
胎儿心电这件事,难点从来不在"能不能测到",而在"测到的是谁的心电"。孕妇腹壁上贴几个电极,记录到的是三样东西的叠加:母体心电、胎儿心电、以及各种噪声。母体心电的幅度通常是胎儿心电的几倍到几十倍——母体的心脏离电极一厘米,胎儿的心脏离电极隔着腹壁、子宫壁、羊水,隔着十几厘米。要从这堆信号里把胎儿那一小份抠出来,是过去三十年生物医学信号处理里最顽固的问题之一。
临床上现在的主流做法是超声多普勒测胎心率,简单可靠。但它只能给出心率这个单一数字,测不出波形形态,也测不出心律的细微不规则。要判断胎儿心律不齐到底是良性的房性早搏、还是需要宫内治疗的室性心动过速,需要看到心搏的时序结构——而这正是胎儿心电才能提供的信息。
NIFEA DB 就是为这个问题准备的:十二例确诊的胎儿心律失常,加十四例正常心律对照,每条记录都保留四到五个原始腹部导联和一路母体胸导联,不做任何分离。也就是说,它把最难的那一步留给了使用者。§4.2 会讲清楚这意味着什么,§9 会给出三条技术路线的取舍。
§1 它是什么:二十六条未分离的腹部记录
1.1 一句话定义与四条边界
NIFEA DB 是一份非侵入式胎儿心电数据集:26 条记录,其中 12 条来自确诊胎儿心律失常的妊娠,14 条来自正常心律的妊娠。每条记录含 4 到 5 个腹部导联和 1 个母体胸导联,采样率 500 Hz 或 1000 Hz,以 WFDB 格式存储,总量 177.7 MB。
四条边界先摆出来。
第一,只有 26 条。 这是最硬的一条限制。12 例心律失常做研究,任何关于"检测准确率"的结论都带着极宽的置信区间。这份数据能支撑的是方法可行性验证,不是性能标定。
第二,心律失常的具体类型不在数据里。 条目页明确说:detailed diagnosis information as well as gestational age of each fetus can be found in the publication。诊断类型与孕龄都在论文里,数据文件里只有 ARR 与 NR 两类标签。这意味着光看数据你只知道"这条是心律失常",不知道是哪种——而临床上房性早搏与室性心动过速的处理方式天差地别。
第三,不给分离后的胎儿心电。 目录里全是原始腹部导联。没有任何预分离的胎儿心电通道,没有胎心搏动的标注时刻,没有母体心搏的标注。参考标准要么自己建,要么从论文里找。
第四,采样率与通道数不统一。 我逐条核对了 26 个头文件:22 条是 1000 Hz,4 条是 500 Hz;25 条是 6 通道,1 条是 5 通道。这个不统一不是瑕疵,而是真实的采集历史——不同时期、不同设备。但它意味着任何批处理脚本都必须先读头文件分派(§2.3)。
1.2 非侵入式胎儿心电:为什么难
要理解这份数据的价值,得先理解这条技术路线的难处。
难处一:幅度比。 母体心电在腹壁上的幅度通常在几十到几百微伏,胎儿心电在腹壁上的幅度通常在几到几十微伏。信噪比是数量级的差距。
难处二:时频重叠。 母体心率一般在每分钟六十到一百次,胎儿心率在一百一到一百六十次。两者有重叠区间——母体心率快的时候(比如运动后、紧张时)能到一百二,胎儿心率慢的时候能到一百一。重叠时,简单的频域滤波分不开。
难处三:传导路径复杂。 胎儿心电从胎儿心脏出发,穿过羊水、子宫壁、腹壁脂肪、皮肤,才到电极。这条路径对不同频率成分的衰减不同,对不同的腹部位置衰减也不同。同一份胎儿心电,在五个腹部导联上的形态各不相同。
难处四:没有金标准。 要验证分离效果,需要知道真实的胎儿心电。但真实值从哪来?有创的胎儿头皮电极只在分娩时能用,不能作为常规参考。所以这个领域长期依赖"间接验证"——分离出的胎儿心电算出的心率,与超声多普勒测的胎心率是否一致。
四条难处叠在一起,解释了为什么这个领域研究了三十年还没有一个通用解法,也解释了为什么公开数据这么少。
1.3 心律失常的定义与临床意义
条目页的 Introduction 给了定义:胎儿心律失常是指任何不规则胎儿心律,或心率超出每分钟一百到两百次参考范围的心律。
接下来三个数字,条目页写得很清楚:
百分之一。 约百分之一的胎儿会被发现心律失常。
十分之一。 这些里面约十分之一是潜在致病源——也就是说,真正需要担心的比例是万分之一左右。
百分之一里的那一例。 条目页的表述是 up to 1 fetus in 100 need their arrhythmias to be closely monitored and if indicated treated in-utero using antiarrhythmic therapy。这句话读起来有点绕:前面说 1% 的胎儿有心律失常,这里说"最多百分之一的胎儿需要密切监测"——按上下文,应该是指"心律失常者中的一部分需要监测",但字面写成了"百分之一的胎儿"。
无论怎么读,临床要点是清楚的:绝大多数胎儿心律失常是良性的,少数会导致胎儿水肿甚至胎死宫内,而这类少数需要抗心律失常药物的宫内治疗。分清楚哪些是良性、哪些需要干预,就是诊断的核心任务。
1.4 为什么是"心律失常"这个切法
公开的胎儿心电数据不多,但也不是没有。非心律失常的、以母胎分离算法为目标的数据库(比如 ADFECGDB)确实存在。NIFEA DB 的区别在于它专门挑了心律失常这个临床切面。
这个切法带来两个后果。
好处是临床相关性强。 心律失常正是胎心监护最难的部分。正常心律的胎儿心电提取已经解决得不错了,真正卡住的是不规则心律——因为不规则意味着不能用"心率恒定"这个先验假设去做周期性的模板减除。
代价是样本极难收集。 心律失常的胎儿本来就少(1% 里的一小部分),能录到、能确诊、能同意数据公开的更少。十二年积累下来只有 12 例,这个数字反映的是现实困难,不是作者不努力。
1.5 它不适合回答什么
不适合做诊断算法的性能标定。 12 例心律失常,报出来的敏感度特异性没有统计意义。
不适合做胎儿心电分离算法的通用评测基准。 因为它只包含心律失常与正常心律两类,没有覆盖运动伪迹、母体肥胖、多胎妊娠等常见困难场景。
不适合研究孕龄的影响。 孕龄信息在论文里,不在数据里;而且 26 条记录覆盖的孕龄范围即使查了论文也必然很窄。
不适合做实时系统的验证。 离线数据,无实时约束。
不适合直接用于临床。 这不用多说,但值得写明:任何基于这份数据训练的东西都不能用于诊断。
1.6 与相邻数据的定位
与 ADFECGDB:那是一个腹部与直接胎儿心电数据库,包含分娩时采集的头皮电极信号作为参考。NIFEA DB 没有直接参考。
与非侵入式胎儿心电挑战赛数据:2013 年的 PhysioNet 挑战赛做过胎儿心电提取,那个数据集规模更大(几十条记录),但不是专门针对心律失常。
与超声多普勒胎心监护数据:那是完全不同模态。多普勒给的是胎心率的时序,不给波形;胎儿心电给波形,但提取困难。两者互补,不能替代。
NIFEA DB 在生态里的位置很清楚:它是"专门针对心律失常的小样本参考集",不是通用评测集。
1.7 版本与许可
版本 1.0.0,发布于 2019 年 2 月 19 日。全部文件的日期是 2019 年 4 月 17 日(略有出入,可能是重新打包的时间)。
只有一个版本,没有后续修订。这意味着如果发现数据问题,没有官方修正版。
许可是 Open Data Commons Attribution License v1.0,要求署名。PhysioNet 归在 Open Access 一栏,下载不需要审批。
访问统计:当前版本 298 次浏览,全部版本 298 次——说明只有这一个版本,而且访问量不大。
§2 数据构成:二十六条平铺记录
2.1 目录里到底有什么
目录是平铺的,没有子目录。26 组记录,每组一对 dat 与 hea,另有两个说明文件。
ARR_01 到 ARR_12 是心律失常组,12 条。NR_01 到 NR_14 是正常心律组,14 条。
RECORDS 是 WFDB 索引,168 字节——这个大小本身就说明记录很少,26 行文件名,每行不到 7 字节。
HEADER.shtml 是 2.4 KB 的说明页。
dat 文件的大小从 3.5 MB 到 11.0 MB 不等。这个差异来自采样率与记录时长的双重影响。
2.2 我逐条核对了全部 26 个头文件
这是本页最实在的一部分。我把 26 个 .hea 文件全下载下来解析了一遍,结果如下。
| 记录 | 通道 | 采样率 | 采样点 | 时长(秒) | 腹部导联 |
|---|---|---|---|---|---|
| ARR_01 | 6 | 1000 | 600,052 | 600.1 | 5 |
| ARR_02 | 6 | 1000 | 604,024 | 604.0 | 5 |
| ARR_03 | 6 | 1000 | 757,897 | 757.9 | 5 |
| ARR_04 | 6 | 1000 | 605,207 | 605.2 | 5 |
| ARR_05 | 6 | 1000 | 481,689 | 481.7 | 5 |
| ARR_06 | 6 | 500 | 961,521 | 1923.0 | 5 |
| ARR_07 | 6 | 500 | 309,423 | 618.8 | 5 |
| ARR_08 | 6 | 500 | 660,803 | 1321.6 | 5 |
| ARR_09 | 6 | 500 | 332,900 | 665.8 | 5 |
| ARR_10 | 5 | 1000 | 607,118 | 607.1 | 4 |
| ARR_11 | 6 | 1000 | 605,178 | 605.2 | 5 |
| ARR_12 | 6 | 1000 | 605,152 | 605.2 | 5 |
| NR_01 | 6 | 1000 | 605,904 | 605.9 | 5 |
| NR_02 | 6 | 1000 | 605,026 | 605.0 | 5 |
| NR_03 | 6 | 1000 | 607,793 | 607.8 | 5 |
| NR_04 | 6 | 1000 | 620,008 | 620.0 | 5 |
| NR_05 | 6 | 1000 | 605,152 | 605.2 | 5 |
| NR_06 | 6 | 1000 | 627,730 | 627.7 | 5 |
| NR_07 | 6 | 1000 | 610,036 | 610.0 | 5 |
| NR_08 | 6 | 1000 | 600,172 | 600.2 | 5 |
| NR_09 | 6 | 1000 | 754,648 | 754.6 | 5 |
| NR_10 | 6 | 1000 | 599,999 | 600.0 | 5 |
| NR_11 | 6 | 1000 | 602,541 | 602.5 | 5 |
| NR_12 | 6 | 1000 | 440,851 | 440.9 | 5 |
| NR_13 | 6 | 1000 | 604,024 | 604.0 | 5 |
| NR_14 | 6 | 1000 | 610,036 | 610.0 | 5 |
从这张表能读出几件事。
十分之一是六百秒。 19 条记录的时长在六百秒上下(五百九十九到六百二十八秒),这说明采集协议的目标长度就是十分钟。剩下 7 条明显不同:ARR_06 是 1923 秒(约三十二分钟),ARR_08 是 1321.6 秒,ARR_03 是 757.9 秒,ARR_05 是 481.7 秒,ARR_07 是 618.8 秒,ARR_09 是 665.8 秒,NR_12 是 440.9 秒。这些偏离要么是采集被中断,要么是刻意延长以捕捉事件。
采样率 4 比 22。 4 条用 500 Hz,全部在心律失常组(ARR_06、ARR_07、ARR_08、ARR_09)。22 条用 1000 Hz。这不是随机分布——四条 500 Hz 的记录正好是连续编号的,提示这是一个采集批次。
一条只有 5 通道。 ARR_10 是 5 通道 4 腹部导联,其余 25 条都是 6 通道 5 腹部导联。条目页说"四到五个腹部导联",这条就是那个"四"。
平均 688 秒。 26 条记录的总时长平均约 11.5 分钟。
2.3 头文件里的物理量信息
.hea 的第二行起,每个通道一行,格式是:文件名、格式(16 位)、增益与基线、单位、ADC 分辨率、ADC 零点、初始值、校验和、块大小、通道名。
举一个实际例子(ARR_01 的胸导联):
ARR_01.dat 16 26599.2897(-14247)/mV 16 0 -15331 6038 0 ECG
读法:增益 26599.2897,基线负一万四千二百四十七,单位毫伏。也就是说,物理值(毫伏)等于(整数值减去基线)除以增益。
这里有个值得注意的地方:增益高达两万六千多。这意味着满量程只有正负约 1.2 毫伏。这个设计是针对胎儿心电的——胎儿成分幅度很小,把量程压窄能提高分辨率。代价是母体心电成分容易饱和。
通道名全部是 ECG(胸导联)与 Abdomen_1 到 Abdomen_5(腹部)两种。
单位全部是毫伏,这一点很重要。有些 PhysioNet 数据集用微伏作单位,如果按毫伏的量级去解读微伏数据,会差一千倍。
2.4 标签是怎么构成的
标签只有两层,全在文件名里。
第一层:ARR 表示心律失常,NR 表示正常心律。这是二分类。
第二层:_01 到 _12 或 _14 是序号。
没有第三层。诊断类型、严重程度、孕龄、母体年龄、采集设备、采集机构,全都不在文件名里,也不在头文件里。
条目页说这些信息 “can be found in the publication”——在关联论文(Behar 等,Prenatal Diagnosis 2019,DOI 10.1002/pd.5412)里。
这就造成一个使用上的实际困难:想按心律失常类型分层分析,必须先拿到论文、把 12 条记录与论文里的病例表对照起来。而条目页没有给出这张对照表。§11.2 会把它列为第一个可验证的疑问。
2.5 缺少什么:三处关键缺口
对照一份理想的胎儿心电数据集,这份数据缺三样东西。
缺口一:胎心搏动的参考时刻。 没有标注哪一刻是胎儿的 R 波。这意味着任何分离算法都无法直接算准确率,只能间接验证(比如算出的心率与论文报告的心率比较)。
缺口二:母体心搏的标注。 母体心电幅度大、相对好检测,理论上可以自己用 R 波检测算法标出来。但没有官方标注,不同算法的结果会有差异,导致不同研究之间不可比。
缺口三:信号质量标记。 哪些片段是可用的、哪些是运动伪迹,没有标记。26 条记录里必然有质量差的段,但数据里看不出来。
这三个缺口共同决定了这份数据的使用方式:它适合做"方法能不能跑通"的验证,不适合做"方法有多准"的评测。
2.6 我核对了哪些、没核对哪些
核对过的:目录下 26 组 dat 与 hea 文件的存在与命名;26 个头文件的通道数、采样率、采样点数、通道名、增益、单位、基线;RECORDS 的字节数;HEADER.shtml 的存在;每个 dat 文件的大小(从目录列表读取,未下载)。
没核对的:dat 文件的实际内容。177.7 MB 全部下载不现实,我只读了头文件。所以本页的所有时长、采样率、通道数都来自头文件声明,未经信号核对。
无法核对的:心律失常的具体类型。条目页指向论文,论文不在公开访问范围内(Prenatal Diagnosis 是订阅期刊)。
这一点必须在正文里说清楚:本页给出的时长表是头文件声明值,不是从信号里数出来的。
§3 访问:ODC-By,177.7 MB
3.1 许可与门槛
Open Data Commons Attribution License v1.0。要求署名,允许商用与派生。PhysioNet 归在 Open Access,下载无需审批。
3.2 引用
条目页的引用写法比较特别:它直接给的是"请引用原始出版物"(cite the original publication),而不是数据集本身。
Behar JA, Bonnemains L, Shulgin V, Oster J, Ostras O, Lakhno I. Noninvasive fetal electrocardiography for the detection of fetal arrhythmias. Prenatal diagnosis. 2019 Jan 2. DOI 10.1002/pd.5412。
这意味着这份数据没有独立的"数据集引用格式"。写作时应当同时给出论文与 PhysioNet 页面(含 DOI 10.13026/C2CT0S 与版本 1.0.0),否则读者找不到数据。
3.3 下载
177.7 MB,比同期的影像数据集小得多。三种方式都可以:网页 ZIP、wget 递归、AWS 匿名同步。
因为体量小,建议全下。26 条记录全部下载也就一分钟左右(视带宽)。
下载后可以跑一遍 SHA256SUMS——但这里要提醒:目录列表里没有 SHA256SUMS.txt。只有 RECORDS 与 HEADER.shtml。所以这份数据没有官方校验清单,只能靠 RECORDS 核对文件数。
这是一个小但实际的不便。§4.7 会把它记进数据质量清单。
3.4 到手的实际形态
解压后是一个平铺目录,52 个数据文件加 2 个说明文件。
第一件事建议先读 HEADER.shtml。2.4 KB,可能包含条目页没有的补充说明。
第二件事核对 RECORDS 与实际文件列表。RECORDS 168 字节,应该是 26 行文件名。
第三件事用 WFDB 库读一条记录,确认通道数与采样率与头文件一致。
3.5 一个实际的操作建议
因为采样率不统一,读数据时不要硬编码 1000。
正确做法:用 WFDB 库读头文件,从头文件里取 fs 字段,再据此做后续处理。如果要做统一的频域分析,需要先重采样到同一频率——而重采样本身会引入失真,尤其是 500 Hz 上采到 1000 Hz 时,高频部分是补零还是插值,会影响结果。
我的建议:分析时按采样率分组。1000 Hz 的 22 条一起做,500 Hz 的 4 条单独处理。不要为了"统一"而重采样,除非你的方法必须要求统一采样率。
§4 局限:十二例,没有金标准
4.1 样本量的真实含义
26 条记录,12 例心律失常。
如果要做二分类(心律失常 vs 正常),12 比 14,看起来还算平衡。但绝对数量只有 26。
按记录算独立样本是 26。但要注意:如果同一个胎儿录了多段,那这些段不是独立的。条目页没说 26 条记录对应多少个胎儿——有可能是 26 个不同的胎儿,也有可能某些胎儿录了多次。这个信息缺失,影响独立样本数的判断。
假设是 26 个独立胎儿(最乐观的情况),做 5 折交叉验证,每折训练约 21 条、测试约 5 条。测试集 5 条里有 2 到 3 条是心律失常。在这种规模上,任何一次误判都会让准确率跳变 20 个百分点。
如果要按心律失常类型分层(房早、室早、室上速、房扑……),每类的样本数会是个位数。个位数不能做任何统计。
4.2 没有金标准是根本限制
这是这份数据最深的一层限制,值得单独说。
任何信号分离算法的评测,都需要"真实值"。胎儿心电分离的真实值,理论上只有两种来源:一是有创的胎儿头皮电极(只在分娩时),二是某种被广泛接受的"半金标准"(比如用超声多普勒测的胎心率作为间接验证)。
这份数据两者都没有。
后果是什么?
后果一:无法算逐拍准确率。 你不知道第 12345 个采样点上的胎儿心电应该是多少微伏,所以算不出均方误差。
后果二:只能算间接指标。 常见做法是:分离出胎儿心电,检测 R 波,算出瞬时心率序列,与论文报告的胎心率比较。但这个比较很粗——只要平均心率对得上,逐拍的错误就看不出来。
后果三:不同研究之间不可比。 因为没有统一的参考,每个研究用自己的间接指标,结果没有可比性。
条目页对此没有任何说明。它只提供了原始数据,没有提供参考。这是一个诚实的做法(不伪造参考),但对使用者来说是个必须自己解决的问题。
4.3 诊断信息在论文里,不在数据里
这一条的影响比看起来大。
心律失常不是一个类别,它是一组疾病。房性早搏、室性早搏、室上性心动过速、心房扑动、房室传导阻滞、窦性心动过缓——每一种的临床意义、处理方式、心电图表现都不同。
数据里只有 “ARR” 一个标签。这意味着:
- 你不能研究"不同类型心律失常的检出难度差异"——除非去查论文。
- 你不能做多分类——除非去查论文。
- 你不能判断这 12 例里有多少是真正危险的——除非去查论文。
而论文在 Prenatal Diagnosis,订阅期刊。获取论文本身就要成本。
这是这份数据在"可用性"上的一个实质门槛。它把最关键的一层元数据放在了数据之外。
4.4 采集协议的不统一
采样率两种、通道数两种、时长从 440 秒到 1923 秒。
这个不统一反映的是真实的临床采集条件:不同时期、不同设备、不同的临床需求。它本身不是错误。
但它带来三个实际麻烦。
麻烦一:批处理要分支。 每个脚本都要先读头文件,再按 fs 与通道数分派。
麻烦二:时长差异影响统计。 1923 秒的记录里可能包含多个事件,440 秒的很可能只有一个。按记录数做统计,等于给长记录与短记录同样的权重。
麻烦三:采样率差异影响频域分析。 500 Hz 的奈奎斯特频率是 250 Hz,1000 Hz 是 500 Hz。胎儿心电的主要能量在 1 到 40 Hz,理论上 500 Hz 足够。但母体心电的 QRS 波高频成分能到 100 Hz 以上,如果要靠高频成分做母胎分离,500 Hz 的记录就吃亏。
4.5 母体心电的干扰强度未知
条目页没有给出任何关于信噪比的信息。
从物理原理推:母体心电在腹壁上的幅度通常是胎儿心电的 5 到 50 倍(依电极位置、孕龄、母体体型差异很大)。但这只是一个泛泛的范围,不是这份数据的具体情况。
实际使用时会发现:有的记录里母体成分强到几乎淹没胎儿成分,有的记录里两者相当。哪个是哪个,事先不知道。
这意味着算法的鲁棒性测试是不完整的——如果 26 条里恰好有 20 条质量很好,那么一个在好数据上表现不错的算法,可能会被误认为"通用"。
4.6 单中心与来源不明
条目页列了六位作者,分属以色列理工、法国南特大学医院、以及乌克兰与俄罗斯的机构(Shulgin、Ostras、Lakhno 的机构条目页未给出)。数据在哪几个中心采集、用的是什么设备,条目页一个字都没提。
这意味着:
- 无法判断设备特性(电极类型、放大器带宽、共模抑制比)。
- 无法判断采集流程(电极位置、孕妇体位、采集时长如何决定)。
- 无法判断人群特征(孕龄分布、母体 BMI、单胎还是多胎)。
这些信息的缺失让"为什么这 26 条记录长这样"变得不可解释。想要复制这个采集条件,做不到。
4.7 数据质量清单(DAIMS)
按数据与人工智能就绪度评估的二十四个常见维度,挑关键项过一遍。
完整性:26 组记录齐备,RECORDS 索引存在。但没有 SHA256SUMS.txt,无法做完整性校验(§3.3)。
一致性:命名规则一致(ARR_/NR_ 加两位序号)。但采样率与通道数不统一(§4.4)。
可追溯:有 DOI(10.13026/C2CT0S)、有版本(1.0.0)、有关联论文(DOI 10.1002/pd.5412)。追溯链完整,但论文是订阅的。
许可清晰度:ODC-By 明文给出。清晰。
文档充分度:条目页很短——只有一个 Introduction 段、一个 Data Description 段、一个 Contributors 段。目录结构、文件格式、通道命名都说了,但一个字都没提记录数量、采样率分布、总时长、每个文件的时长。本页 §2.2 那张表是逐条读头文件才得到的,条目页没有。
参考标准:完全没有(§4.2)。这是最大的缺口。
标签充分度:只有二分类(§4.3)。
预处理透明度:无预处理,全是原始信号。透明度是满分——因为没有处理。
可复现性:数据可下载,格式是标准 WFDB,任何语言的 WFDB 库都能读。可复现性好。
代表性:12 例心律失常覆盖的类型未知,孕龄未知,人群未知。无法判断代表性。
其余维度(隐私、伦理、偏见)条目页没有对应信息,不做判断。
4.8 与相邻数据的定位
与 ADFECGDB:那个数据库含直接胎儿心电参考(分娩时头皮电极),可用于评估分离算法。NIFEA 没有。所以做算法验证,ADFECGDB 更合适;做心律失常相关研究,NIFEA 更合适。
与 2013 年 PhysioNet 挑战赛数据:那个数据集规模大(数十条),但没有心律失常标签。NIFEA 的增量是临床标签。
与超声多普勒数据:不同模态。多普勒给心率,胎儿心电给波形。研究"波形形态与心律失常类型的关系",只能用后者。
§5 它能用来做什么
5.1 验证胎儿心电分离算法在心律失常情形下的表现
这是这份数据最正当的用法。
大多数分离算法依赖一个先验:母体心搏的周期相对稳定,可以用模板减除;或者胎儿心率与母体心率差异足够大,可以用频域分离。
心律失常打破的就是这个先验。胎儿心跳不规则,意味着基于周期性的方法会失效。
所以这份数据能回答一个具体问题:当胎儿心律不齐时,你的分离算法还能不能工作?
做法:拿一个在正常心律数据上表现良好的算法,在这 12 条心律失常记录上跑,看性能掉多少。掉得多,说明算法过度依赖周期性先验。
这是方法学研究里很标准的一种压力测试设计。26 条记录够用——因为你要的不是统计显著性,而是"会不会崩"这个定性判断。
5.2 研究心律失常的胎心时序特征
12 条心律失常记录,即使不知道具体类型,也能做一件事:看胎心率的时序结构。
正常胎儿的瞬时心率有一定波动(心率变异性),但不会出现突然的长间歇或提前搏动。心律失常会。
做法:用某种方法提取胎儿心搏时刻,算瞬时心率序列,看这些序列的统计特征——标准差、极差、有没有双峰分布(提示有早搏)、有没有长间歇。
这类研究不需要金标准,只需要自己提取的心搏序列在内部自洽。
限制是:如果分离算法本身在心律失常上失效,提取的序列就不可信。所以这类研究必须与 5.1 结合做——先证明分离是可靠的,再谈时序特征。
5.3 做母胎心电分离的方法学对比
26 条记录,每条 4 到 5 个腹部导联加 1 个胸导联。这个配置正好适合做"多导联融合"的方法研究。
具体问题:用几个腹部导联最好?5 个比 3 个能提升多少?胸导联作为参考,是必须的还是可选的?
这些问题的答案在不同记录上可能不同(依胎儿位置、电极位置)。26 条记录能给出一个初步的分布。
这类研究的价值在于给工程实践提供选型依据。做便携式胎儿心电设备时,电极越少越好——但少到什么程度还能用,需要数据说话。
5.4 作为教学材料
26 条记录,177.7 MB,格式标准,标签清楚。这是一个很合适的教学数据集。
学生可以用它学:WFDB 格式怎么读、多导联信号怎么可视化、母体心电怎么检测、模板减除怎么做、胎儿心电怎么提取、提取失败了怎么判断。
比用大得多的数据集入门要好——26 条记录,学生能在一次实验课里全部跑一遍,看到全部结果。
5.5 做信号质量评估的方法研究
胎儿心电的采集质量差异极大。有的记录信号干净,有的几乎全是噪声。
26 条记录提供了一个小的质量谱。可以研究:能不能自动判断一段记录"能不能用"?
这类研究不需要金标准——只需要人工标注(或者用间接指标,比如分离后心率的稳定性)。26 条够做初步验证。
5.6 它不能用来做什么
不能做诊断性能标定(§4.1)。
不能做胎儿心电分离的通用基准(§4.2,无金标准)。
不能研究不同心律失常类型的差异(§4.3,类型不在数据里)。
不能做多胎妊娠研究(没有多胎记录说明)。
不能外推到其他人群(人群特征未知)。
不能用于临床诊断。
5.7 用之前必须先做的三件事
第一,读关联论文,建立记录与诊断的对照表。这是使用这份数据的第一道门槛。没有这张表,12 条记录对你来说就是 12 个黑盒。
第二,逐条读头文件,建立采样率与通道数的分派表。这张表本页 §2.2 已经给出,可以直接用,但要自己核对一遍(因为你的用法可能与我的统计口径不同)。
第三,先在一两条记录上把整个流程跑通。建议选 NR_01(1000 Hz,6 通道,605.9 秒,典型配置)入門,再选 ARR_10(5 通道,唯一一条)试试边界情况。
§6 常见误读
6.1 误读一:把 26 条当成 26 个独立胎儿
这条看起来是细节,实际影响很大。
如果某些胎儿录了多段(比如同一次妊娠的不同孕周,或者同一次采集的多段),那么这 26 条记录对应的独立个体少于 26。
条目页没说。文件名也看不出来(ARR_01 到 ARR_12 只是序号)。
后果:如果实际是 20 个胎儿录了 26 段,那么按 26 做交叉验证会低估方差,高估可靠性。
正确的读法:在没有确认之前,把这 26 条当作"至多 26 个独立个体"。做统计时保守一点。
6.2 误读二:把 ARR 标签当成"心律失常亚型"
ARR 只是"心律失常"这个大类。这 12 条里可能包含房性早搏、室性早搏、室上速、房扑、传导阻滞等等。
把这些混在一起做二分类,得到的是"能不能区分正常与异常"这个粗粒度的答案。想要细粒度,必须回论文。
更危险的一种误读:看到某条算法在 ARR 上表现好,就认为"能检测心律失常"。实际上可能只是能检测其中最常见的那一类。
6.3 误读三:以为采样率都是 1000 Hz
条目页的 Data Description 说:The sampling frequency was 500 Hz or 1 kHz and is indicated in the header of each file。
这句话读起来像是"有些是 500,有些是 1000,看头文件"。但很多人会漏掉后半句,直接按 1000 写代码。
后果:处理那 4 条 500 Hz 记录时,所有基于时间单位的计算全部错一倍——心率算成两倍、滤波截止频率错位、窗口长度错位。而且错误不明显:信号看起来还是信号,只是所有时间量纲都偏了。
正确的做法:每次都从头文件读 fs,不要硬编码。
6.4 陷阱一:忽略增益与基线
.dat 里存的是 16 位整数,不是毫伏。要还原成物理量,必须用头文件里的增益与基线。
ARR_01 的胸导联增益是 26599.2897,基线是 -14247。如果直接把整数当毫伏用,数值会是几万——明显不对,容易发现。
但如果只是忘了减基线(只除增益),数值会偏几十微伏。这个偏离不明显,可能被当成"信号有直流偏置"而忽略过去。
正确的做法:用 WFDB 库的 rdrecord 读,它默认会做物理量转换。如果自己解析,必须同时减基线、除增益。
6.5 陷阱二:用母体心电的 R 波当作胎儿 R 波
腹部导联上最明显的峰往往是母体心电的 R 波——因为幅度大。
如果用简单的峰值检测去数 R 波,数出来的是母体的,不是胎儿的。算出的"胎心率"实际上是母体心率。
这个错误很隐蔽,因为母体心率(60 到 100)与胎儿心率(110 到 160)都在合理范围内。如果不去核对,看不出来。
核对方法:与胸导联(纯母体心电)同步比较。如果腹部导联检出的峰与胸导联的 R 波一一对应,那检出的就是母体心搏。
6.6 陷阱三:把记录时长当成"有效数据时长"
26 条记录的时长从 440 秒到 1923 秒。但这个时长是记录文件的长度,不是"可用的胎儿心电时长"。
实际可用的部分取决于信号质量。一段 1923 秒的记录里,可能只有 600 秒是干净的;一段 440 秒的记录里,可能全部可用。
按记录时长做加权统计,会系统性地偏向那些"录得长但质量差"的记录。
正确的做法:先做质量评估,按有效时长加权,或者只用质量合格的片段。
6.7 陷阱四:忽略 4 条 500 Hz 记录在频域上的劣势
如果算法用了高频成分(比如 QRS 的高频斜率),500 Hz 采样的记录会吃亏——因为奈奎斯特频率只有 250 Hz,QRS 的快速成分被截掉了。
这会导致这 4 条记录上的性能系统性偏低,而偏低的原因不是胎儿本身的问题,是采样率的问题。
如果把 26 条一起统计,这个偏差会被平均掉,看不出来。
正确的做法:按采样率分组报告,或者在方法上避开对高频成分的依赖。
6.8 陷阱五:把"能分离"当成"能诊断"
分离出胎儿心电,是一个信号处理任务。诊断心律失常,是一个临床任务。
从分离到诊断,中间隔着:心搏检测的准确性、节律分析的规则、以及最重要的——临床验证。
一份 12 例的数据,即使在分离上做到完美,也完全不能支撑任何诊断主张。
§7 与相邻数据的定位
7.1 与直接胎儿心电数据的分工
直接胎儿心电(分娩时经头皮或经腹壁穿刺)是金标准,但只能在分娩过程中短暂获取。
非侵入式是常规手段,但缺金标准。
这两类数据不能互相替代,只能互补。直接数据用于验证分离算法,非侵入数据用于研究实际问题。NIFEA 属于后者,但因为它专门针对心律失常,所以它的问题更贴近临床。
7.2 与非侵入式胎儿心电挑战赛数据的分工
2013 年的 PhysioNet 挑战赛数据集(adfecgdb)有几十条记录,是那批研究的常用基准。
区别:挑战赛数据的目标是"分离算法",标签是"参考心搏时刻"(部分记录有);NIFEA 的目标是"心律失常",标签是"心律失常/正常"。
一个偏工程,一个偏临床。
7.3 规模在整个生态里处于什么位置
按记录数:26 条,属于最小的一档。
按数据量:177.7 MB,最小的一档。
按标签的临床价值:心律失常这个标签,在同规模数据里罕见。
这是一个"小而专"的数据集。它的价值不在规模,在切面。
7.4 与研究线的接续
非侵入式胎儿心电的研究线,从上世纪九十年代开始,经历了几个阶段:早期的模板减除、中期的盲源分离、近期的深度学习方法。
NIFEA 出现在 2019 年,正好是深度学习开始进入这个领域的时期。它的作用大概是提供一个"困难案例集"——让那些在正常心律上表现良好的深度模型,面对心律失常时暴露短板。
7.5 适合谁用
适合:做胎儿心电信号处理的;做母胎分离方法学的;做生理信号教学的;做小样本方法验证的。
不太适合:需要统计效力的;需要金标准的;需要多模态的;需要大样本训练的。
§8 怎么用:分析方案
8.1 最小可用基线
在做任何分离算法之前,先做一件事:用胸导联做母体 R 波检测,把检测到的时刻在腹部导联上标出来,看母体成分长什么样。
这一步不产生任何结果,但能让你理解数据。你会看到:母体 R 波在腹部导联上的幅度、形态、以及与胸导联的延迟。这些直观认识,比任何算法参数都重要。
做完这一步,再考虑分离。
8.2 划分策略
26 条记录,划分要非常小心。
必须按记录划分,不能按片段划分。同一段记录切成的两个片段,不是独立样本。
如果做交叉验证,5 折意味着每折只有 5 条左右。这个规模下,折的划分方式对结果影响极大。建议做留一记录交叉验证(26 折),虽然慢,但每次测试只有 1 条,结果更容易解释。
不要做分层,因为分层需要知道亚型,而亚型不在数据里。
8.3 指标怎么选
因为没有金标准,标准的分类指标(准确率、AUC)用不上。
可用的间接指标有三类。
心率一致性:分离出的胎儿心电算出平均心率,与论文报告的胎心率比较。差多少算好,没有公认标准。
节律合理性:分离出的心搏序列,瞬时心率的变异是否在生理范围内(正常胎儿的瞬时心率变异大约在每分钟五到二十五次之间)。
分离信噪比:分离后的信号里,胎儿成分与残余母体成分的功率比。这个需要人工判读(看频谱图里母体成分被压制了多少)。
三类都不完美。建议至少报两类,并在方法部分说清指标的定义。
8.4 基线与它的意义
要报一个"不做分离"的基线:直接把腹部导联当作胎儿心电,算心率。
这个基线会很差(算出来的是母体心率),但它确立了下限。任何分离算法都必须明显好于它。
第二个基线:用最简单的模板减除(检测母体 R 波,取平均模板,逐搏减除),看剩余信号里能不能找到胎儿心搏。
这个基线代表"不用深度学习能做到什么"。有了它,复杂方法的增量才可衡量。
8.5 过拟合的典型表现
26 条记录上,过拟合几乎是必然的。
表现一:在训练记录上完美分离,在新记录上完全失败。这是最常见的。深度模型尤其容易这样。
表现二:只在 1000 Hz 的记录上work,在 500 Hz 上崩。这说明模型学到了采样率相关的特征。
表现三:只在正常心律上work,在心律失常上崩。这正是这份数据要暴露的问题。
表现四:参数微调导致结果剧变。26 条记录的样本量下,任何参数都可能是"对某几条特别好、对其他几条特别差"。稳定性差说明模型没有抓住本质。
8.6 具体的数据处理建议
先按采样率分组(§3.5)。
先做带通滤波。胎儿心电的主要能量在 1 到 40 Hz。0.5 Hz 高通去基线漂移,40 Hz 低通去肌电噪声。但注意:如果要靠 QRS 的高频成分做检测,低通截止要放宽。
做归一化前先想清楚。按通道归一化会抹掉通道间的幅度差异——而幅度差异本身是胎儿位置的信息。按记录归一化会抹掉记录间的差异——而记录间差异可能是真实的临床差异。建议不归一化,或者只在方法内部归一化。
不要随意重采样(§3.5)。
用胸导联。它是最直接的母体心电参考,不用它等于放弃了一个强先验。
8.7 五条失败模式
一,采样率硬编码(§6.3)。4 条记录全部错。
二,忘减基线(§6.4)。数值偏几十微伏,不明显。
三,把母体 R 波当胎儿 R 波(§6.5)。算出的是母体心率。
四,按记录时长加权(§6.6)。系统性偏向长而差的记录。
五,把 26 条当 26 个独立个体(§6.1)。方差被低估。
8.8 结果该怎么读
拿到一个分离结果,可以写什么?
可以写:在 26 条记录上(12 例心律失常、14 例正常),方法 X 分离出的胎儿心电,平均心率与文献报告的胎心率偏差在某范围内;在心律失常组上,偏差比正常组大某值。
不可以写:方法 X 的分离准确率达到某百分比。(没有金标准,算不出准确率。)
不可以写:方法 X 可用于胎儿心律失常筛查。(12 例不能支撑筛查主张。)
不可以写:方法 X 优于文献中的方法 Y。(除非用完全相同的记录、相同的指标、相同的评价流程。)
8.9 与人工判读的比较
胎儿心电没有"人工判读"这个环节——临床上判读的是多普勒胎心监护图,不是胎儿心电波形。
所以这份数据上不存在"人类专家水平"这个参照。
有一件事可以做:请有经验的产科医生看分离出的胎儿心电波形,判断"像不像"。这是定性评估,不能量化,但对判断分离质量有帮助。
8.10 先错误分析再调模型
26 条记录,每一条都值得单独看。
建议做法:把 26 条记录的结果逐条列出来,标出哪些成功、哪些失败,然后看失败的那几条有什么共同点——是采样率?是时长?是母体成分特别强?还是心律失常特别严重?
这个分析比任何总体指标都有信息量。26 条记录的好处正在于此:你能一条一条看。
§9 三条技术路线
9.1 模板减除
最经典的方法,也是最容易实现的。
思路:用胸导联检测母体 R 波时刻,在腹部导联上以这些时刻为锚点截取片段,取平均得到母体心电模板,然后逐搏减除。剩下的信号里,胎儿心电就凸显出来了。
优点:简单、可解释、计算量小、不需要训练。
缺点:依赖母体心搏的形态稳定。如果母体心率变化大、或者母体心电在腹壁上的投影随呼吸漂移,模板就不准。剩余残差会掩盖胎儿成分。
在心律失常数据上的表现:母体心电部分不受影响(母体心律是正常的),所以模板减除本身不受心律失常干扰。这一点是它的优势——胎儿心律不齐不影响母体模板的构建。
9.2 盲源分离
思路:把 4 到 5 个腹部导联加 1 个胸导联看作多个源的线性混合,用独立成分分析或主成分分析分离出各个源,再识别哪一个是胎儿心电。
优点:能同时利用多导联的空间信息;不需要事先知道母体心搏时刻。
缺点:源的数量难以确定;分离出的成分顺序不固定,需要后处理识别;胎儿心电的独立性假设未必成立(它与母体心电通过共同的生理状态相关)。
在心律失常数据上的表现:盲源分离不依赖周期性,所以理论上对心律失常更鲁棒。但实际上,心律失常时胎儿心电的统计特性变化,可能影响分离的稳定性。
9.3 深度学习方法
思路:训练一个网络,输入腹部导联(可能加胸导联),输出胎儿心电。
优点:理论上能学到复杂的非线性映射。
缺点:需要大量标注数据,而这份数据只有 26 条且无金标准。
现实的走法:在别的数据集上(有金标准的,比如 ADFECGDB)训练,在 NIFEA 上测试泛化。这样用法是合理的——NIFEA 充当"域外测试集"。
在心律失常数据上的表现:这正是这份数据能暴露的问题。在正常心律上训练的模型,遇到心律失常会怎样?答案很可能不好看,但这个"不好看"本身是有价值的发现。
9.4 一个被忽略的中间路线
在模板减除与盲源分离之间,有一条路线:自适应滤波。
思路:把胸导联作为参考输入,用自适应滤波器(LMS 或 RLS)估计腹部导联中的母体成分,然后减除。
优点:不需要假设母体心搏形态稳定(滤波器系数随时更新);计算量小;只需要一路参考。
缺点:自适应滤波的收敛速度与步长参数敏感;如果母体与胎儿心电在频谱上重叠严重,滤波器可能连胎儿成分一起减掉。
在心律失常数据上的特殊价值:自适应滤波不依赖任何周期性假设,所以胎儿心律不齐完全不影响它的工作。它只看母体成分。这一点让它在这份数据上特别合适。
9.5 选择建议
想快速得到可用的结果,用 9.1(模板减除)。
想研究多导联的空间信息,用 9.2(盲源分离)。
想做方法学对比、需要"域外测试",用 9.3(深度学习)。
想在鲁棒性与简单性之间平衡,用 9.4(自适应滤波)。
我的建议:以 9.1 或 9.4 作为基线,9.2 作为对照,9.3 作为"上限探索"。四条路都跑一遍,在 26 条记录上并不费时——这正是小数据集的优势。
§10 术语
非侵入式胎儿心电(NI-FECG):在孕妇腹壁放置电极,从体表记录包含胎儿心电的混合信号。区别于分娩时经头皮或经腹壁穿刺的直接记录。
腹部导联:贴在孕妇腹壁上的电极,记录的是母体心电、胎儿心电与噪声的混合。
胸导联:贴在母体胸部的电极,记录相对纯净的母体心电,用作分离的参考。
母胎分离:从腹部导联的混合信号中提取胎儿心电成分的信号处理过程。
模板减除:以母体 R 波为锚点,平均得到母体心电模板,再逐搏从混合信号中减去的方法。
盲源分离:在不知道源信号与混合方式的情况下,仅凭观测信号估计各源的方法。独立成分分析是其中一种。
自适应滤波:滤波器系数随输入信号统计特性自动调整的滤波方法。常用于以参考信号估计干扰成分并减除。
胎儿心律失常:任何不规则胎儿心律,或心率超出每分钟一百到两百次参考范围的心律。
胎心率:胎儿心脏每分钟跳动的次数。正常范围通常说一百一十到一百六十次。
R 波:心电图 QRS 波群中幅度最大的正向波,是心搏检测最常用的锚点。
胎儿水肿:胎儿体内异常积液的状态,是严重心律失常的并发症之一,可导致胎死宫内。
宫内抗心律失常治疗:通过母体给药,使药物经胎盘到达胎儿,治疗胎儿心律失常的方法。
WFDB:Waveform Database,PhysioNet 的生理信号存储格式,由 dat 与 hea 文件成对构成。
增益与基线:头文件中记录的两个参数,用于把 dat 里的整数还原为物理量。
ODC-By:Open Data Commons Attribution License,要求署名的开放数据许可。
DAIMS:Data and AI Readiness 评估框架。
§11 事实清单
11.1 核心事实
| 项目 | 值 |
|---|---|
| 数据集全名 | Non-Invasive Fetal ECG Arrhythmia Database |
| 简称 | NIFEA DB |
| DOI | 10.13026/C2CT0S |
| 关联论文 DOI | 10.1002/pd.5412(Prenatal Diagnosis, 2019) |
| 版本 | 1.0.0 |
| 发布日期 | 2019-02-19 |
| 作者 | Joachim A. Behar、Laurent Bonnemains、Vyacheslav Shulgin、Julien Oster、Oleksii Ostras、Igor Lakhno |
| 通讯机构 | 以色列理工学院(Technion) |
| 许可 | Open Data Commons Attribution License v1.0 |
| 记录总数 | 26 |
| 心律失常组 | 12 条(ARR_01 至 ARR_12) |
| 正常心律组 | 14 条(NR_01 至 NR_14) |
| 腹部导联数 | 25 条为 5 个,1 条为 4 个 |
| 总通道数 | 25 条为 6,1 条为 5 |
| 采样率 | 22 条为 1000 Hz,4 条为 500 Hz |
| 记录时长范围 | 440.9 秒至 1923.0 秒 |
| 平均记录时长 | 约 688 秒 |
| 未压缩总量 | 177.7 MB |
| 格式 | WFDB(dat 配 hea) |
| 通道命名 | ECG(胸导联)、Abdomen_1 至 Abdomen_5 |
| 单位 | 毫伏 |
| 校验清单 | 无 SHA256SUMS.txt |
| 访问统计 | 当前版本 298 次浏览 |
| 胎儿心律失常发生率 | 约百分之一的胎儿 |
| 其中潜在致病比例 | 约十分之一 |
11.2 六个可立即验证的疑问
一,26 条记录对应多少个胎儿?有没有同一个胎儿录多次的情况? 需查关联论文的病例表,或联系通讯作者。这个数字决定了独立样本数。
二,12 例心律失常分别是什么类型? 条目页说在论文里。拿到论文(Prenatal Diagnosis,DOI 10.1002/pd.5412)即可确认。
三,每条记录的孕龄是多少? 同上,在论文里。
四,数据在哪些中心采集、用什么设备? 条目页完全没提。需查论文的 Methods。
五,为什么 ARR_06 到 ARR_09 这四条用 500 Hz? 四条连续编号且采样率一致,提示是同一批次采集。查论文可知是否换了设备。
六,ARR_10 为什么只有 4 个腹部导联? 是采集时少放了一个电极,还是后期剔除了一路?查论文或联系作者。
11.3 一条记录的读取流程
骨架如下,不含完整实现。
第一步,用 WFDB 库(Python、Matlab、C 都有)读记录。传入记录名(不带扩展名),库会自动找配对的 dat 与 hea。
第二步,取头信息。重点看三样:采样率 fs、通道数 n_sig、以及每个通道的增益与基线。不要假设采样率是 1000。
第三步,读信号。返回的通常是二维数组,形状是采样点数乘通道数,已做物理量转换(单位毫伏)。
第四步,取胸导联。按通道名找 ECG 那一列,它是母体心电参考。
第五步,取腹部导联。其余列对应 Abdomen_1 到 Abdomen_N。
第六步,画图确认。至少画一次:胸导联与腹部导联的同步波形,前 10 秒。看母体 R 波在各导联上的幅度与形态。
11.4 附录 A:一次模板减除的骨架
思路如下,不写具体代码。
第一步,检测母体 R 波。 用胸导联(纯母体心电),做带通滤波(比如 5 到 15 Hz),求平方,滑动积分,找峰。参数可以先用经典 Pan-Tompkins 的设置。
第二步,在腹部导联上截取片段。 以每个母体 R 波时刻为锚点,向前后各取固定长度的窗口(比如 -0.2 秒到 +0.4 秒)。注意窗口长度要覆盖完整的母体心电复合波,包括 P 波与 T 波。
第三步,取平均得到模板。 把这若干片段逐点平均。样本越多模板越稳,但要注意:如果母体心电的投影随呼吸漂移,平均会把漂移抹平,模板变模糊。可以考虑按呼吸相位分组。
第四步,逐搏减除。 用模板在每个 R 波时刻对齐后从腹部导联减掉。
第五步,看剩余信号。 剩余信号里应该能看到胎儿心电。用频谱分析或自相关找胎心率。
第六步,验证。 把剩余信号的能量谱与原始信号比较,看母体成分的谐波(在母体心率整数倍处)被压制了多少。
注意:这个流程在心律失常数据上完全不受影响,因为母体心律是正常的,模板照常建立。这也是模板减除法在这份数据上的优势(§9.1)。
11.5 附录 B:证据链
按章节交代信息来自哪里。
§1:数据集定义、12 例与 14 例、四到五个腹部导联、500 Hz 或 1 kHz、诊断与孕龄在论文里,全部来自条目页 Introduction 与 Data Description。心律失常的定义(不规则或心率超出一百到两百)与两个百分数,来自条目页 Introduction 原文。四条件的讨论属编辑整理。
§2:目录平铺结构、文件命名、dat 大小,来自条目页的 Files 列表。26 条记录的采样率、通道数、采样点数、时长、通道名、增益、基线、单位,是我逐个下载 .hea 文件解析得到的,条目页完全没有这些数据。RECORDS 与 HEADER.shtml 的字节数来自目录列表。§2.5 讲的三个缺口(无胎心搏动标注、无母体心搏标注、无质量标记)是编辑基于实际文件列表的分析。
§3:许可、引用格式、下载方式、总量,来自条目页 Access 部分。无 SHA256SUMS.txt 这一条,是我核对目录列表得到的。
§4:样本量分析、缺金标准、标签粒度、采集不统一、母体干扰强度未知、单中心,前三条基于条目页的信息缺口,后三条含编辑推断。§4.4 的"四条 500 Hz 记录连续编号"是我从 §2.2 的表里观察到的,属编辑发现。
§5:条目页没有 Usage Notes 段。§5 的五条用法全部是编辑基于数据特性提出的,非条目页内容。
§6:全部为编辑基于数据结构与信号处理常识的分析。采样率硬编码这一条,是我在解析头文件时发现采样率确实不统一的直接后果。
§7:与 ADFECGDB、2013 挑战赛数据的对比基于公开常识。条目页没有做任何数据集间比较。
§8:全部为编辑的方法学建议。
§9:四条路线的划分属编辑整理。模板减除、盲源分离、自适应滤波均为该领域的经典方法,非条目页内容。§9.1 关于"心律失常不影响母体模板"的判断是编辑推断。
§10:术语为通用定义。
§11.1:数据侧的数值(记录数、通道数、采样率分布、时长范围、总量)全部来自条目页或我对头文件的解析;临床侧的数值(百分之一、十分之一)来自条目页 Introduction。访问统计来自条目页 Projects Views。
§11.2:六个疑问全部是条目页的信息缺口或我在核对中产生的疑问。
未验证的部分:本页未下载 dat 文件,所有时长与采样率均为头文件声明值,未经信号核对。未获取关联论文,因此 12 例的具体诊断类型、孕龄、采集机构均未知。
编辑说明
本页依据 PhysioNet 条目页(https://physionet.org/content/nifeadb/1.0.0/)公开表述撰写,并逐个下载解析了 26 个头文件,以获得条目页未给出的采样率、通道数、记录时长。
需要说明的几处判断:
一是关于 §2.2 那张逐条对照表。这张表的全部数据来自头文件的第 1 行(记录名、通道数、采样率、采样点数)与后续各行的通道名。时长为采样点数除以采样率的计算结果。条目页只笼统说 500 Hz 或 1 kHz、四到五个腹部导联,未给出逐条分布。
二是关于记录时长。表中的时长是头文件声明的采样点数换算而来,未下载 dat 核对实际长度。若有 dat 文件被截断,实际可用长度会短于表中值。
三是关于"四条 500 Hz 连续编号"的观察。ARR_06 到 ARR_09 恰好都是 500 Hz,这是事实;但"同一批次采集"是推断,条目页未说明。已在 §4.4 与 §11.2 标明。
四是关于"26 条对应多少个胎儿"。条目页只说 n=12 与 n=14,未说胎儿数。本页在 §4.1 与 §6.1 两处提醒了这个不确定性,未做任何假设。
五是关于心律失常的具体类型。条目页明确说在论文里。本页未获取论文,因此全篇不涉及任何亚型分析。§4.3 与 §6.2 的讨论都是围绕"类型未知"这一事实展开的,不对 12 例的构成做猜测。
六是关于"缺金标准"这一判断。条目页确实没有提供任何参考标注(胎心搏动时刻、母体心搏时刻、质量标记),这是核对文件列表后的事实。§4.2 对其含义的展开属编辑分析。
七是关于 §9.1 的判断"心律失常不影响模板减除"。这是基于方法原理的推断:模板减除用的是母体心电模板(由胸导联锚定),胎儿心律不齐不改变母体心搏。条目页未讨论,属编辑推断。
资助与利益冲突:条目页未提供资助信息与利益冲突声明,本页不做补充。
相关数据集导航
以下为站内 AI-Ready 数据集百科中与本词条共享多个主题标签的相关数据集,按相关度降序排列:
- cinc-2013 — 共享标签:生理信号 / 心电信号 / 儿科 / 评测基准
- leipzig-heart-center-ecg — 共享标签:生理信号 / 心电信号 / 儿科 / 评测基准
- vtac — 共享标签:生理信号 / 心电信号 / 评测基准
- propofol-anesthesia-dynamics — 共享标签:生理信号 / 心电信号 / 评测基准
- actes-cycloergometer-exercise — 共享标签:生理信号 / 心电信号 / 评测基准
- circor-heart-sound — 共享标签:生理信号 / 儿科 / 评测基准
- pics — 共享标签:生理信号 / 心电信号 / 儿科
- sprsound — 共享标签:生理信号 / 儿科 / 评测基准
- babycry-ujm-axa — 共享标签:生理信号 / 儿科 / 评测基准
- qt-database — 共享标签:生理信号 / 心电信号 / 评测基准
导航说明:本章节由全站统一标签体系自动计算生成(标签重合度算法),双向可达;点击链接可跳转至对应数据集词条。

