APP下载

一种心电信号发生器的研制

2020-05-06梁振士魏红霞王茜韩晓鹏

医疗装备 2020年7期
关键词:声卡数据文件模拟信号

梁振士,魏红霞,王茜,韩晓鹏

北京市医疗器械检验所 (北京 101111)

心电图在临床上占有重要地位,且随着计算机、电子等相关技术的发展,越来越多的心电图机具有心电图自动分析及诊断功能[1]。心电数据库是评价心电图机自动分析功能准确性的重要依据。MIT-BIH 心电数据库是国际标准和行业标准指定的用于测试心电设备自动分析功能的心电数据库,具有广泛的国际影响。北京市医疗器械检验所参照MIT-BIH 心律失常心电数据库建立了适用于中国人的心律失常心电数据库,数据存储格式与MIT-BIH 数据库完全一致。为了将心电数据库中的数据导入被测心电设备中,一般采用两种途径:(1)在心电设备的分析软件上设计专门的导入功能,通过该功能将心电数据文件导入分析软件;(2)通过专门的模拟信号发生器将心电数据库中的数据转换成模拟信号,然后将模拟信号输入到被测设备。对于没有预留文件导入接口的设备,只能采用第2种方式进行验证。

市场上目前的心电模拟器为多参数信号模拟器,如美国FLUKE 的MPS 系列、ProSim 系列模拟器,可以为心电监护和诊断设备提供较为通用的试验信号,但对于心律失常数据只提供了几个固化在机器内部的波形,几乎无法实现导入新的波形数据,因此,研制MIT-BIH 心电数据库信号发生器既可以解决MIT-BIH 心电数据库的模拟信号输出问题,也可以将其用于输出中国人心律失常心电数据库等以MIT-BIH 格式存储的数据的模拟信号,从而推动这一类心电数据库的广泛使用,满足实际测试验证的需要。

本研究的主要内容是在Windows 操作系统平台上,采用Visual C++进行开发,解析MIT-BIH 心电数据库文件,提取文件数据,通过还原处理文件数据,按照声卡输出格式的要求重新编码,利用操作系统声卡控制接口函数,实现将双通道心电信号数据转换为双通道模拟信号,最终通过声卡输出。

1 系统的整体架构

本系统的目的是完成一套心电信号发生器,方便用于心电类设备的检验和科研开发,通过软件解析MIT-BIH 数据文件,并将心电数据转换输出为心电设备可以读取分析的模拟信号,将心电设备相关标准中的通用测试项目电路集成于硬件内,方便操作。其整体架构见图1。

图1 系统的整体架构

1.1 MIT-BIH 数据格式

MIT-BIH 心电数据库中每一组记录包括3个文件,即头文件(.hea)、数据文件(.dat)、注释文件(.atr),其中头文件主要对数据文件进行格式说明,注释文件为心电专家的诊断信息,数据文件为具体的心电信号的ADC 转换值[2]。

MIT-BIH 的数据文件采用ASCII 码将两道导联的数据交替存储,这些数据被压缩存放在3个字节中,每个数据占12位,第一道导联12位数据中低8位存在第一字节中,高4位存在第二字节的前4位;第二道导联12位数据中低8位存在第三字节中,高4位存在第二字节的后4位(高4位包含符号位)。在输出前,我们需要对此格式的数据进行解压缩,即将两个导联的数据分别提取出来进行重组,由DAC 输出。

2 Windows 平台声卡输出接口

笔记本电脑和PC 机中的声卡是一块集成在主板上用于产生音频信号的专用芯片。随着电脑芯片的不断发展,声卡的D/A 转换质量越来越高,可以用来产生所需要的信号。

PC 机声卡现在均满足Audio Codec'97规范,在25 ℃环境下,大多能达到输出频率8~192 kHz,电压的输出在2.25~2.75 V,ADC 信噪比>85 dB,可满足常用信号的要求[3-4]。

在Windows 操作系统平台上,提供了一系列的接口函数以实现通过声卡输出模拟信号,其中最重要的两个函数是打开声音输出设备和输出模拟信号的接口。

在使用声卡输出模拟波形时,首先需要借助waveOutOpen 打开和初始化设备,设定输出数据的采样率、每个数据的比特数及输出通道数、数据格式等;通过waveOutWrite 将准备输出的数据写入声卡缓存器中,除非装置被waveOutPause 函数暂停,否则在第一个数据块被发送到声卡装置时模拟信号随即开始输出;当输完缓存器中的数据时,WAVEHDR 结构的dwFlags 成员就会被设定为DHDR_DONE。

3 软件架构及实现

在Windows 平台上,采用Visual C++开发软件实现了心电数据模拟信号的输出功能;主要功能为将数字化存储的心电数据波形转换为模拟信号输入给硬件部分,软件同步显示2通道波形,软件构架见图2。

图2 软件架构

用户通过界面上的菜单选择打开MIT-BIH 格式的数据文件,然后将数据提取到分配好的内存中;数据解析模块通过对内存中的数据按MIT-BIH 格式进行格式转化解析,提取出2通道的心电数据,并以队列的形式存储波形各点的幅度值;同时,将头文件和注释文件中有关数据、患者基本信息和诊断信息提取出来予以保存;显示模块实现双通道心电波形、数据和患者基本信息以及诊断信息的显示;模拟信号输出模块后,通过接口函数打开并初始化声卡,按照声卡双通道输出时数据格式要求,将双通道的心电数据转换成声卡双通道输出的格式,通过Windows 接口函数由声卡输出模拟心电信号,MIT-BIH 数据解析流程见图3。

图3 MIT-BIH 数据解析流程

4 小结

本研究介绍了MIT-BIH 心电数据库的数据文件格式和Windows 操作系统平台上利用声卡进行模拟信号输出的技术,给出了通过计算机声卡将MIT-BIH 心电数据库格式的心电数据输出为模拟心电信号的方法,并通过Visual C++开发出相应软件实现了这一功能,软件功能实现界面见图4。信号发生器将MIT-BIH 心电数据库中100.dat 文件输出为模拟信号后在示波器上显示的波形,通道1显示的是Ⅱ导联波形,通道2显示的是V5导联波形,见图5。该信号发生器既可解决MIT-BIH 心电数据库的模拟信号输出问题,也可输出包括由我所建立的中国人心电数据库等以MIT-BIH 格式存储的数据库的模拟信号,有助于实现这一类心电数据库的使用和推广,满足实际测试验证的需要。

图4 心电数据解析软件输出界面

图5 信号发生器输出的100.dat 文件的模拟波形

猜你喜欢

声卡数据文件模拟信号
基于CAN总线的车身控制模拟信号采集程序设计
一种基于ADG426多路模拟开关的模拟信号输入接口设计
基于表空间和数据文件探讨MIS中数据库架构设计
数据文件安全管控技术的研究与实现
模拟信号的三种调制方法比较研究
基于数字电路对模拟信号的转化研究
气象数据文件异机备份程序浅析
提升笔记本电脑音质
聊天室背景放音乐 为啥我的本本就不行?
风雨二十五载PC声卡春秋录