CN114662537A - 基于可编程片上系统的心电信号智能监测加速方法 - Google Patents
基于可编程片上系统的心电信号智能监测加速方法 Download PDFInfo
- Publication number
- CN114662537A CN114662537A CN202210274373.2A CN202210274373A CN114662537A CN 114662537 A CN114662537 A CN 114662537A CN 202210274373 A CN202210274373 A CN 202210274373A CN 114662537 A CN114662537 A CN 114662537A
- Authority
- CN
- China
- Prior art keywords
- matrix
- hardware
- calculation
- digital
- decomposition
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2218/00—Aspects of pattern recognition specially adapted for signal processing
- G06F2218/12—Classification; Matching
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B5/00—Measuring for diagnostic purposes; Identification of persons
- A61B5/24—Detecting, measuring or recording bioelectric or biomagnetic signals of the body or parts thereof
- A61B5/316—Modalities, i.e. specific diagnostic methods
- A61B5/318—Heart-related electrical modalities, e.g. electrocardiography [ECG]
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B5/00—Measuring for diagnostic purposes; Identification of persons
- A61B5/72—Signal processing specially adapted for physiological signals or for diagnostic purposes
- A61B5/7235—Details of waveform analysis
- A61B5/7264—Classification of physiological signals or data, e.g. using neural networks, statistical classifiers, expert systems or fuzzy systems
- A61B5/7267—Classification of physiological signals or data, e.g. using neural networks, statistical classifiers, expert systems or fuzzy systems involving training the classification device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2218/00—Aspects of pattern recognition specially adapted for signal processing
- G06F2218/02—Preprocessing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2218/00—Aspects of pattern recognition specially adapted for signal processing
- G06F2218/08—Feature extraction
- G06F2218/10—Feature extraction by analysing the shape of a waveform, e.g. extracting parameters relating to peaks
Landscapes
- Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Pathology (AREA)
- Veterinary Medicine (AREA)
- Public Health (AREA)
- General Health & Medical Sciences (AREA)
- Animal Behavior & Ethology (AREA)
- Signal Processing (AREA)
- Surgery (AREA)
- Molecular Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Biophysics (AREA)
- Medical Informatics (AREA)
- Biomedical Technology (AREA)
- Heart & Thoracic Surgery (AREA)
- General Physics & Mathematics (AREA)
- Psychiatry (AREA)
- Physiology (AREA)
- Mathematical Physics (AREA)
- Fuzzy Systems (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- Cardiology (AREA)
- Measurement And Recording Of Electrical Phenomena And Electrical Characteristics Of The Living Body (AREA)
Abstract
本发明公开了基于可编程片上系统的心电信号智能监测加速系统及方法,属于神经网络算法实现和硬件加速领域。所述系统包括:模数转换模块、片上系统处理器、硬件加速模块、总线结构和输出显示模块。本发明的特征提取算法和分类算法的运算通过软件的处理和硬件加速电路的特殊设计,相比现有的纯软件方案,在处理速度上得到了很大程度上的优化,在功耗相同的条件下提供更快速的处理能力,提高了可编程片上系统资源的利用率;从片上系统处理器中获取心电信号分类的结果,其它输出内容可直接由模数转换模块提供,降低了片上系统处理器的运行负荷,整体系统的性能与实时性得到了显著提高,在对性能要求较高的便携式设备领域,具有非常重要的意义。
Description
技术领域
本发明涉及基于可编程片上系统的心电信号智能监测加速方法,属于神经网络算法实现和硬件加速领域。
背景技术
心血管疾病长期以来一直危害着人们的健康,且其具有突发性和偶然性,因此需要对心电状况进行长期的实时性监测。近年来,市面上已经出现了一些基于嵌入式微控制器的心电分类设备,实现实时监测与分类诊断,但由于嵌入式微控制器在算力和功耗上的约束,导致其在识别精度、性能表现和实时性等方面仍然不满足专业需求。
随着微电子技术的进步,可编程片上系统得到了研究人员的广泛关注。一个典型的可编程片上系统内集成了微控制器、存储器、可编程逻辑器件等硬件电路,以及系统功能需要的嵌入式软件,相比于嵌入式微控制器,能够有效提高实时性、改善性能,并减小体积、提高便携性。基于此特点,市面上也出现了一些基于可编程片上系统的心电信号监测方案,但主流的设计思路是将硬件模块和软件模块分别进行研发,系统虽然能实现功能,但性能受软件运行效率的影响较大。一般地,智能监测心电设备的工作流程为:采样、滤波、特征提取、分类、输出结果。整个系统的计算量主要集中在特征提取和分类步骤中。
目前常用小波变换法对采集到的信号进行特征提取,然而现有技术需要处理器经过复杂的卷积运算,造成监测的延时;而且心电信号的分类也会涉及大量的运算,牵制系统的运行速度。此外,由于工作流程前后依靠,核心的运算步骤只有处理器在工作,其它模块均处于空闲状态,这将造成系统的低效率、高延迟和高功耗,不利于可穿戴设备的发展。
发明内容
为了解决现有的心电信号监测过程因为仅依靠处理器实现软件算法,导致的实时性差、性能较低、功耗较高、装置多而复杂的问题,本发明提供了基于可编程片上系统的心电信号智能监测加速系统及方法。
本发明的第一个目的在于提供一种基于可编程片上系统的心电信号智能监测系统,所述系统包括:模数转换模块、片上系统处理器、硬件加速模块、总线结构和输出显示模块;
所述模数转换模块用于将心电信号转化成数字信号;
所述片上系统处理器与所述模数转换模块连接,用于对数字心电信号进行处理,包括信号的特征提取和信号分类;
所述硬件加速模块通过系统总线与所述片上系统处理器连接,用于对所述片上系统处理器的数据进行硬件计算;
所述输出显示模块与所述片上系统处理器连接,用于输出并显示所述心电信号的相关数据。
可选的,所述硬件加速模块包括多个硬件计算子单元,每个硬件计算子单元包括若干个乘法器和加法器,所述若干个乘法器相互独立且并行连接,所述加法器将各个并行乘法器得到的结果进行累加。
可选的,所述片上系统处理器采用Mallat算法对所述数字心电信号进行特征提取,特征提取的过程中,所述Mallat算法对输入信号的分解过程用特征矩阵表征,并将所述特征矩阵中的重复乘加运算传输至所述硬件加速模块进行硬件计算;
采用特征矩阵来表征输入信号的分解过程包括:
用卷积运算实现Mallat算法的滤波过程为:
其中,G1(n)为输入信号向量经过第一层数字低通滤波器后的输出结果,H1(n)为输入信号向量经过第一层数字高通滤波器后的输出结果。S(n)为原输入信号向量,g(n)和h(n)分别代表数字低通与高通滤波器。
对上述卷积公式进行矩阵变换,输入信号S(n)的长度为N,数字低通滤波器g(n)和数字高通滤波器h(n)的长度都为K,且有N>K,那么上述公式的矩阵形式即为:
上述在第一层中由h(n)构成的矩阵称为高通滤波特征矩阵Fh1,同理由数字低通滤波器g(n)构成的矩阵称为低通滤波特征矩阵Fg1,对这两个(K+N-1)×N矩阵进行如下规则变换:
(1)各去除前(K/2)-1行和后(K/2)-1行,形成(N+1)×N矩阵;
(2)对剩下的N+1行,各提取其偶数行进行隔点采样;
(3)将提取完成的两个矩阵上下拼接在一起,形成N×N矩阵F1,其中矩阵F1即为特征矩阵,分解层数为1。
如下为一组心电信号序列,在经过Mallat特征矩阵第一层分解后得到的细节分量序列cD1和近似分量cA1。
针对第二层的分解,此时的输入信号为第一层分解后的近似分量cA1,第一层分解过程中所得到的高通滤波特征矩阵Fh1和低通滤波特征矩阵Fg1将重复上述步骤(1)、(2)及(3)以得到的特征矩阵F2,此时让F2与cA1执行矩阵乘法操作,即可得到第2层分解上的细节分量cD2和近似分量cA2。
用矩阵表达小波分解过程如下:
后续分解层,以上述步骤类推。
可选的,所述片上系统处理器采用BP神经网络对心电信号进行分类。
可选的,所述Mallat算法与所述BP神经网络采用两级流水线的方式连接,运算过程包括:一级流水线计算和二级流水线计算,两级流水线的计算过程均包括:
所述片上系统处理器首先执行Mallat算法,然后将数据传输至所述硬件加速模块进行硬件计算得到心电特征数据,将所述心电特征数据交由BP神经网络进行分类计算,再交由所述硬件加速模块进行硬件运算后得到最后的结果;
当一级流水线的Mallat算法完成并交由硬件加速模块运算后,二级流水线开始介入,片上系统处理器进行新一轮信号的处理。
本发明第二个目的在于提供一种基于可编程片上系统的心电信号智能监测方法,所述方法包括:
步骤1:利用模数转换模块获取原始的心电信号数据,并转化成数字心电信号;
步骤2:片上系统处理器执行特征提取算法,对所述数字心电信号进行特征提取;
步骤3:所述片上系统处理器将特征提取的运算数据通过系统总线传输至硬件加速模块,进行硬件计算,得到所述数字心电信号特征值,并缓存至存储模块中;
步骤4:所述片上系统处理器从所述存储模块中读取所述心电数据特征值,执行分类算法,根据所述心电数据特征值对心电数据进行分类;
步骤5:分类运算数据通过系统总线传输至所述硬件加速模块,进行硬件计算,得到分类结果;
步骤6:输出显示模块输出所述分类结果和心电信号波形;
其中,所述硬件加速模块用于对所述片上系统处理器执行过程进行硬件运算;
所述存储模块用于缓存所述硬件加速模块计算得到的结果,所述片上系统处理器从中读取数据。
可选的,所述硬件加速模块包括多个硬件计算子单元,每个硬件计算子单元包括若干个乘法器和加法器,所述若干个乘法器相互独立且并行连接,所述加法器将各个并行乘法器得到的结果进行累加。
可选的,所述步骤2采用Mallat算法对所述数字心电信号进行特征提取,特征提取的过程中,所述Mallat算法对输入信号的分解过程用特征矩阵表征,并将所述特征矩阵中的重复乘加运算传输至所述硬件加速模块进行硬件计算;
采用特征矩阵来表征输入信号的分解过程包括:
用卷积运算实现Mallat算法的滤波过程为:
其中,G1(n)为输入信号向量经过第一层数字低通滤波器后的输出结果,H1(n)为输入信号向量经过第一层数字高通滤波器后的输出结果。S(n)为原输入信号向量,g(n)和h(n)分别代表数字低通与高通滤波器。
对上述卷积公式进行矩阵变换,输入信号S(n)的长度为N,数字低通滤波器g(n)和数字高通滤波器h(n)的长度都为K,且有N>K,那么上述公式的矩阵形式即为:
上述在第一层中由h(n)构成的矩阵称为高通滤波特征矩阵Fh1,同理由数字低通滤波器g(n)构成的矩阵称为低通滤波特征矩阵Fg1,对这两个(K+N-1)×N矩阵进行如下规则变换:
(1)各去除前(K/2)-1行和后(K/2)-1行,形成(N+1)×N矩阵;
(2)对剩下的N+1行,各提取其偶数行进行隔点采样;
(3)将提取完成的两个矩阵上下拼接在一起,形成N×N矩阵F1,其中矩阵F1即为特征矩阵,分解层数为1。
如下为一组心电信号序列,在经过Mallat特征矩阵第一层分解后得到的细节分量序列cD1和近似分量cA1。
针对第二层的分解,此时的输入信号为第一层分解后的近似分量cA1,第一层分解过程中所得到的高通滤波特征矩阵Fh1和低通滤波特征矩阵Fg1将重复上述步骤(1)、(2)及(3)以得到的特征矩阵F2,此时让F2与cA1执行矩阵乘法操作,即可得到第2层分解上的细节分量cD2和近似分量cA2。
用矩阵表达小波分解过程如下:
后续分解层,以上述步骤类推。
可选的,所述步骤4采用BP神经网络对心电信号进行分类。
可选的,所述Mallat算法与所述BP神经网络分类算法采用两级流水线的方式连接,运算过程包括一级流水线计算和二级流水线计算,两级流水线的计算过程均包括:
所述片上系统处理器首先执行Mallat算法,然后将数据传输至所述硬件加速模块进行硬件计算得到心电特征数据,将所述心电特征数据交由BP神经网络进行分类计算,再交由所述硬件加速模块进行硬件运算后得到最后的结果;
当一级流水线的Mallat算法完成并交由硬件加速模块运算后,二级流水线开始介入,片上系统处理器进行新一轮信号的处理。
本发明有益效果是:
本发明设计的心电信号智能检测加速系统,通过利用可编程片上系统结构和软硬件协同设计,实现了监测流程中信号提取、信号处理、信号输出等功能的高度集成化,解决了现有嵌入式方案在实现类似功能时元件多、体积大、结构复杂的问题,达到了提升便携性的效果。
本发明中片上系统所使用的总线结构具有很高的数据传输能力解决了现有嵌入式方案数据带宽窄、处理性能一般的缺点,能够为心电信号处理提供更快的处理能力,从而提高实时性。
本发明的设计的心电信号输出显示模块,其主要的输出内容可直接由模数转换模块提供,且只从片上系统处理器中获取心电信号分类的结果,从而能大大降低片上系统处理器的运行负荷,提高系统的实时性。
本发明的特征提取算法和分类算法的运算通过软件的处理和硬件加速电路的特殊设计,相比现有的纯软件方案,在处理速度上得到了很大程度上的优化,在功耗相同的条件下能够提供更加快速的处理能力,提高了可编程片上系统资源的利用率,整体系统的性能与实时性得到了显著提高。这在对功耗要求较高的便携式设备领域,具有非常重要的意义。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了本发明中可编程片上系统的结构框图。
图2示出了本发明中心电信号分类算法硬件加速模块与片上系统处理器的数据通信示意图。
图3示出了本发明中Mallat算法的运行框图。
图4示出了本发明中硬件加速模块的详细结构。
图5示出了Mallat算法与BP神经网络的传统连接方式,以及本发明中使用的流水线连接方式。
图6所示出了BP神经网络框架图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
实施例一:
本实施例提供一种基于可编程片上系统的心电信号智能监测系统,如图1所示,所述系统包括:模数转换模块、片上系统处理器、硬件加速模块、总线结构和输出显示模块;模数转换模块、片上系统处理器、总线结构和输出显示模块依次连接,硬件加速模块与片上系统并行连接。
其中,模数转换模块用于得到原始的心电信号数据,转化为数字系统能够识别处理的数字信号;片上系统处理器用于处理由数模转换模块得到的心电数字信号,运行核心的心电信号特征提取与分类算法,并将计算得到的运行结果通过总线传输至输出显示模块;所述硬件加速模块与片上系统处理器通过总线连接,可以用于对特定算数进行硬件运算,加速处理器的运算。
相比现有的纯软件技术,本发明在保证便携性的同时,能够大幅提高系统处理的性能,实现对使用者心血管情况的全时段可靠监控。
所述总线结构是可编程片上系统的重要数据通路,用于将在各模块间快速传输数据;所述输出显示模块,输出一路HDMI视频信号,外部显示设备获取该信号后,可以直接显示视频与音频。具体而言,首先输出显示模块可以通过片上系统的总线结构调配,直接得到数模转换器输出的心电信号,并输出对应的波形,从而减少片上系统处理器的运行负荷。此外,输出显示模块从片上处理器得到心电信号的分类结果,并将该结果输出。最终的输出包括了心电波形、分类结果等数据,并可以在发现分类结果较为危险时,输出警告的声音信号,为使用者提供完整的显示结果、良好的操作界面与必要的提醒功能。
实施例二:
本实施例提供一种基于可编程片上系统的心电信号智能监测系统,如图1所示,所述系统包括:模数转换模块、片上系统处理器、硬件加速模块、总线结构和输出显示模块;模数转换模块、片上系统处理器、总线结构和输出显示模块依次连接,硬件加速模块与片上系统并行连接。
其中,模数转换模块用于得到原始的心电信号数据,转化为数字系统能够识别处理的数字信号;片上系统处理器用于处理由模数转换模块得到的心电数字信号,运行核心的心电信号特征提取与分类算法,并将计算得到的运行结果通过总线传输至输出显示模块;所述硬件加速模块与片上系统处理器通过总线连接,可以用于对特定算数进行硬件运算,加速处理器的运算。
本实施例采用Mallat算法作用为提取心电信号特征,运行在片上系统处理器上;采用BP神经网络作用为心电信号处理与分类,也运行在片上系统处理器上;Mallat算法与BP神经网络的连接结构如图5(b)所示。
如图2所示,硬件加速模块、存储模块、总线结构构成整体的硬件加速方法,都与片上系统处理器相连。针对心电信号特征对Mallat算法进行矩阵形式变换,利用片上系统的大量加法器、乘法器单元进行并行计算,而将BP神经网络的分类过程部署在内核上进行运算,利用片上系统的内部结构对心电智能分类系统进行二级流水线优化。
片上系统处理器运行Mallat算法,并通过总线与硬件加速模块和存储模块通信协作,实现运算的提速;
硬件加速模块如图4所示,采用HDL语言或HLS高层次综合工具对可编程逻辑门阵列进行设计,通过调用大量的加法器、乘法器等组合逻辑电路,对复杂的算法进行硬件优化;
存储模块是算法运行的重要环节,本实施例中为DDR内存,用于缓存硬件加速模块计算得到的结果,片上系统处理器也可以从中读取数据;
总线结构负责在系统各模块之间传递数据;所述BP神经网络是一种心电分类算法,根据麻省理工大学和Beth Israel医院公开的MIT_BIH数据库进行训练,用于对Mallat算法中提取到的心电信号特征值进行进一步的监测与分析。
Mallat算法通过高通滤波器和低通滤波器将信号逐层分解和重构。通过高通滤波器,能得到信号的高频部分,又称为细节分量cA;通过低通滤波器,能得到信号的低频部分,又称为近似分量cD。
如图3所示,设原输入信号S的长度为N,则经过第一层分解后:
第二层分解为:
后几层的分解为上述公式的类推。
用卷积运算实现Mallat算法的滤波过程为:
其中,G1(n)为输入信号向量经过第一层数字低通滤波器后的输出结果,H1(n)为输入信号向量经过第一层数字高通滤波器后的输出结果。S(n)为原输入信号向量,g(n)和h(n)分别代表数字低通与高通滤波器。
对上述卷积公式进行矩阵变换,输入信号S(n)的长度为N,数字低通滤波器g(n)和数字高通滤波器h(n)的长度都为K,且有N>K,那么上述公式的矩阵形式即为:
上述在第一层中由h(n)构成的矩阵称为高通滤波特征矩阵Fh1,同理由数字低通滤波器g(n)构成的矩阵称为低通滤波特征矩阵Fg1,对这两个(K+N-1)×N矩阵进行如下规则变换:
(1)各去除前(K/2)-1行和后(K/2)-1行,形成(N+1)×N矩阵;
(2)对剩下的N+1行,各提取其偶数行进行隔点采样;
(3)将提取完成的两个矩阵上下拼接在一起,形成N×N矩阵F1,其中矩阵F1即为特征矩阵,分解层数为1。
如下为一组心电信号序列,在经过Mallat特征矩阵第一层分解后得到的细节分量序列cD1和近似分量cA1。
针对第二层的分解,此时的输入信号为第一层分解后的近似分量cA1,第一层分解过程中所得到的高通滤波特征矩阵Fh1和低通滤波特征矩阵Fg1将重复上述步骤(1)、(2)及(3)以得到的特征矩阵F2,此时让F2与cA1执行矩阵乘法操作,即可得到第2层分解上的细节分量cD2和近似分量cA2。
用矩阵表达小波分解过程如下:
后续分解层,以上述步骤类推。
即表明Mallat算法对输入信号的分解过程可用特征矩阵表征,而将矩阵中的重复乘加运算部署到硬件中的加法器、乘法器单元即可完成计算。
完成对信号的分解后,根据心电信号的P、QRS、T波的幅频特征,即可在不同的分解层上找到其出现的位置,通过减法运算便可得到相应的特征值。例如:取定P-P波平均间距、T-T波平均间距、QRS波群平均存在周期等三个特征值。特征值数据临时存储在硬件的存储单元上。
接着,可以从硬件存储单元中取上述三个特征值作为输入值送入训练完成的BP神经网络中,根据结果对心电信号进行分类,判断患者的心电状况。
BP神经网络是一种按误差逆转传播算法训练的多层前馈网络,是应用最广泛的神经网络模型之一。利用MIT-BIH心电异常数据库对BP神经网络进行参数训练,将训练得到的正确权重带入网络并部署到硬件上,利用ARM内核对BP神经网络分类心电信号过程进行计算,而网络的输入值则从硬件存储单元进行提取。
本实施例为了优化系统,对Mallat算法中的卷积运算进行了矩阵形式的变换,对硬件进行了特殊架构,实现了对Mallat算法和BP神经网络矩阵运算的多粒度优化。在本实施例中,矩阵运算的优化可以分为粗细两种粒度上的优化,细粒度优化是指对矩阵中单个元素运算进行的优化。粗粒度优化是指矩阵不同元素之间运算的优化。
如图4所示,在片上系统处理器中,首先对输入的心电信号数据进行初步处理,得到矩阵化的数据,分别记为运算矩阵1和运算矩阵2。接下来,片上系统处理器控制数据通过总线传输至硬件加速模块,如图2所示。
两个运算矩阵的数据进入图4所示的硬件加速模块后,它们将分别进入由虚线框标出的子单元。每个子单元内包括若干乘法器与加法器,由于矩阵运算中的乘法运算具有很高的独立性和并行性,因此子单元内的乘法器相互独立且并行。乘法器完成矩阵运算的乘法部分后,加法器将各个并行乘法器得到的结果进行累加,得到结果矩阵的其中一个元素Mi,j,其中M表示m行n列的结果矩阵,i表示元素所处的行数,j表示元素所处的列数。通过该方法,实现了矩阵运算的细粒度优化。
由于结果矩阵包含若干个元素,而各个元素之间的运算又互相不受影响,具有很好的独立性和并行性,因此图4中各虚线框标出的子单元互相并行,能够分别独立地同时进行运算,得到结果矩阵各自对应的元素。通过这样的设计,本实施例能够在一个元素的计算周期内,同时得到结果矩阵的所有元素,完成整个结果矩阵的运算,实现了矩阵运算的粗粒度优化。
通过两个粒度上的硬件加速,整个系统能够更加高效、快速地对大量数据进行运算,这使得利用Mallat算法提取心电特征值的速度能够进一步提高。由于心电特征值的提取在本实施例所涉及的片上系统中具有核心地位,因此整个片上系统的性能和实时性也能得到很大的提高,从而能够真正有效地实现心电信号的智能监测。
实施例三:
本实施例提供一种基于可编程片上系统的心电信号智能监测方法,采用实施例二记载的心电信号智能检测系统实现,所述方法包括:
步骤1:利用模数转换模块获取原始的心电信号数据,并转化成数字心电信号;
步骤2:片上系统处理器执行特征提取算法,对所述数字心电信号进行特征提取;
步骤3:所述片上系统处理器将特征提取的运算数据通过系统总线传输至硬件加速模块,进行硬件计算,得到所述数字心电信号特征值,并缓存至存储模块中;
步骤4:所述片上系统处理器从所述存储模块中读取所述心电数据特征值,执行分类算法,根据所述心电数据特征值对心电数据进行分类;
步骤5:分类运算数据通过系统总线传输至所述硬件加速模块,进行硬件计算,得到分类结果;
步骤6:输出显示模块输出所述分类结果和心电信号波形。
如图5所示,Mallat算法与BP神经网络分类算法具有一定的依赖关系,BP神经网络分类算法需要得到Mallat算法提取得到的心电信号特征信息,才能进行后续的运算。两个算法传统的连接方式是简单的串联,即在软件程序中依次实现。
如图5(a)所示,传统方法首先执行Mallat算法,然后交由硬件计算得到心电特征数据,接着该数据交由BP神经网络进行分类,再交由硬件运算后得到最后的结果。完成上述步骤后,再次执行相同的步骤,实现心电信号的实时监测。
但是在本实施例中,硬件运算的过程可以交由片上系统处理器之外的硬件加速模块处理。若使用图5(a)所示的传统方案,则在硬件加速模块运行的过程中,片上系统处理器会处于空闲的状态。类似的,当片上系统处理器处于工作状态时,硬件加速模块也会处于空闲的状态。
在本实施例中,Mallat算法与BP神经网络分类算法的连接方式采用两级流水线的结构进行优化,从而能够实现心电信号智能监测的进一步加速。每一级流水线的操作与传统方法一致,首先执行Mallat算法,然后交由硬件计算得到心电特征数据,接着该数据交由BP神经网络进行分类,再交由硬件运算后得到最后的结果。而本实施例的加速方法,体现在两级流水线对资源的交替利用。如图5(b)所示,当第一级流水线的Mallat算法完成并交由硬件加速模块运算后,第二级流水线开始介入,片上系统处理器进行新一轮信号的处理。当某一级流水线完成后,它将重复原步骤继续运行,实现心电信号的实时监测。
在两级流水线的结构下,系统的资源利用率得到了进一步提高。图5(b)中,使用竖直的虚线表示同一个时刻。可以看到,同一时刻在两级流水线下,片上系统处理器和硬件加速模块会一直处在工作的状态,这体现了对资源的充分挖掘与利用;相比之下,在图5(a)所示的传统方案中,处理器或硬件加速模块其中之一会在工作中陷入空闲的状态,这会造成资源的浪费。而在本系统所采用的两级流水线方法中,每级流水线的功能与图5(a)所示的传统方案类似,这保证了系统运行的可靠性,并降低了开发难度。通过本实施例的实现,系统能够进一步提高运算资源的利用率,运算的速度也能够得到进一步的提高。
如图5所示,传统方案完成两个周期心电信号监测所需要的8个步骤,能够被两级流水线方法优化至5个步骤;且随着算法的循环执行,流水线的优化将会有更加显著的效果。此外,在流水线结构下,心电信号的获取操作变得更加频繁,这也意味着本发明提高了系统对心电信号监测的准确性与实时性。通过本实施例的实现,不仅两个算法的利用率得到了最大化,而且可编程片上系统的资源利用率也得到了进一步的提高,这使得系统的工作效率显著提高,从而真正有效地实现了心电信号智能监测的进一步加速。
本发明实施例中的部分步骤,可以利用软件实现,相应的软件程序可以存储在可读取的存储介质中,如光盘或硬盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种基于可编程片上系统的心电信号智能监测系统,其特征在于,所述系统包括:模数转换模块、片上系统处理器、硬件加速模块、总线结构和输出显示模块;
所述模数转换模块用于将心电信号转化成数字信号;
所述片上系统处理器与所述模数转换模块连接,用于对数字心电信号进行处理,包括信号的特征提取和信号分类;
所述硬件加速模块通过系统总线与所述片上系统处理器连接,用于对所述片上系统处理器的数据进行硬件计算;
所述输出显示模块与所述片上系统处理器连接,用于输出并显示所述心电信号的相关数据。
2.根据权利要求1所述的心电信号智能监测系统,其特征在于,所述硬件加速模块包括多个硬件计算子单元,每个硬件计算子单元包括若干个乘法器和加法器,所述若干个乘法器相互独立且并行连接,所述加法器将各个并行乘法器得到的结果进行累加。
3.根据权利要求2所述的心电信号智能监测系统,其特征在于,所述片上系统处理器采用Mallat算法对所述数字心电信号进行特征提取,特征提取的过程中,所述Mallat算法对输入信号的分解过程用特征矩阵表征,并将所述特征矩阵中的重复乘加运算传输至所述硬件加速模块进行硬件计算;
采用特征矩阵来表征输入信号的分解过程包括:
用卷积运算实现Mallat算法的滤波过程为:
其中,G1(n)为输入信号向量经过第一层数字低通滤波器后的输出结果,H1(n)为输入信号向量经过第一层数字高通滤波器后的输出结果,S(n)为原输入信号向量,g(n)和h(n)分别代表数字低通与高通滤波器;
对上述卷积公式进行矩阵变换,输入信号S(n)的长度为N,数字低通滤波器g(n)和数字高通滤波器h(n)的长度都为K,且有N>K,那么上述公式的矩阵形式即为:
上述在第一层中由h(n)构成的矩阵称为高通滤波特征矩阵Fh1,同理由数字低通滤波器g(n)构成的矩阵称为低通滤波特征矩阵Fg1,对这两个(K+N-1)×N矩阵进行如下规则变换:
(1)各去除前(K/2)-1行和后(K/2)-1行,形成(N+1)×N矩阵;
(2)对剩下的N+1行,各提取其偶数行进行隔点采样;
(3)将提取完成的两个矩阵上下拼接在一起,形成N×N矩阵F1,其中矩阵F1即为特征矩阵,分解层数为1;
如下为一组心电信号序列,在经过Mallat特征矩阵第一层分解后得到的细节分量序列cD1和近似分量cA1;
针对第二层的分解,此时的输入信号为第一层分解后的近似分量cA1,第一层分解过程中所得到的高通滤波特征矩阵Fh1和低通滤波特征矩阵Fg1将重复上述步骤(1)、(2)及(3)以得到的特征矩阵F2,此时让F2与cA1执行矩阵乘法操作,即可得到第2层分解上的细节分量cD2和近似分量cA2;
用矩阵表达小波分解过程如下:
后续分解层,以上述步骤类推。
4.根据权利要求3所述的心电信号智能监测系统,其特征在于,所述片上系统处理器采用BP神经网络对心电信号进行分类。
5.根据权利要求4所述的心电信号智能监测系统,其特征在于,所述Mallat算法与所述BP神经网络采用两级流水线的方式连接,运算过程包括:一级流水线计算和二级流水线计算,两级流水线的计算过程均包括:
所述片上系统处理器首先执行Mallat算法,然后将数据传输至所述硬件加速模块进行硬件计算得到心电特征数据,将所述心电特征数据交由BP神经网络进行分类计算,再交由所述硬件加速模块进行硬件运算后得到最后的结果;
当一级流水线的Mallat算法完成并交由硬件加速模块运算后,二级流水线开始介入,片上系统处理器进行新一轮信号的处理。
6.一种基于可编程片上系统的心电信号智能监测方法,其特征在于,所述方法包括:
步骤1:利用模数转换模块获取原始的心电信号数据,并转化成数字心电信号;
步骤2:片上系统处理器执行特征提取算法,对所述数字心电信号进行特征提取;
步骤3:所述片上系统处理器将特征提取的运算数据通过系统总线传输至硬件加速模块,进行硬件计算,得到所述数字心电信号特征值,并缓存至存储模块中;
步骤4:所述片上系统处理器从所述存储模块中读取所述心电数据特征值,执行分类算法,根据所述心电数据特征值对心电数据进行分类;
步骤5:分类运算数据通过系统总线传输至所述硬件加速模块,进行硬件计算,得到分类结果;
步骤6:输出显示模块输出所述分类结果和心电信号波形;
其中,所述硬件加速模块用于对所述片上系统处理器执行过程进行硬件运算;
所述存储模块用于缓存所述硬件加速模块计算得到的结果,所述片上系统处理器从中读取数据。
7.根据权利要求6所述的心电信号智能监测方法,其特征在于,所述硬件加速模块包括多个硬件计算子单元,每个硬件计算子单元包括若干个乘法器和加法器,所述若干个乘法器相互独立且并行连接,所述加法器将各个并行乘法器得到的结果进行累加。
8.根据权利要求7所述的心电信号智能监测方法,其特征在于,所述步骤2采用Mallat算法对所述数字心电信号进行特征提取,特征提取的过程中,所述Mallat算法对输入信号的分解过程用特征矩阵表征,并将所述特征矩阵中的重复乘加运算传输至所述硬件加速模块进行硬件计算;
采用特征矩阵来表征输入信号的分解过程包括:
用卷积运算实现Mallat算法的滤波过程为:
其中,G1(n)为输入信号向量经过第一层数字低通滤波器后的输出结果,H1(n)为输入信号向量经过第一层数字高通滤波器后的输出结果,S(n)为原输入信号向量,g(n)和h(n)分别代表数字低通与高通滤波器;
对上述卷积公式进行矩阵变换,输入信号S(n)的长度为N,数字低通滤波器g(n)和数字高通滤波器h(n)的长度都为K,且有N>K,那么上述公式的矩阵形式即为:
上述在第一层中由h(n)构成的矩阵称为高通滤波特征矩阵Fh1,同理由数字低通滤波器g(n)构成的矩阵称为低通滤波特征矩阵Fg1,对这两个(K+N-1)×N矩阵进行如下规则变换:
(1)各去除前(K/2)-1行和后(K/2)-1行,形成(N+1)×N矩阵;
(2)对剩下的N+1行,各提取其偶数行进行隔点采样;
(3)将提取完成的两个矩阵上下拼接在一起,形成N×N矩阵F1,其中矩阵F1即为特征矩阵,分解层数为1;
如下为一组心电信号序列,在经过Mallat特征矩阵第一层分解后得到的细节分量序列cD1和近似分量cA1;
针对第二层的分解,此时的输入信号为第一层分解后的近似分量cA1,第一层分解过程中所得到的高通滤波特征矩阵Fh1和低通滤波特征矩阵Fg1将重复上述步骤(1)、(2)及(3)以得到的特征矩阵F2,此时让F2与cA1执行矩阵乘法操作,即可得到第2层分解上的细节分量cD2和近似分量cA2;
用矩阵表达小波分解过程如下:
后续分解层,以上述步骤类推。
9.根据权利要求8所述的心电信号智能监测方法,其特征在于,所述步骤4采用BP神经网络对心电信号进行分类。
10.根据权利要求9所述的心电信号智能监测方法,其特征在于,所述Mallat算法与所述BP神经网络分类算法采用两级流水线的方式连接,运算过程包括一级流水线计算和二级流水线计算,两级流水线的计算过程均包括:
所述片上系统处理器首先执行Mallat算法,然后将数据传输至所述硬件加速模块进行硬件计算得到心电特征数据,将所述心电特征数据交由BP神经网络进行分类计算,再交由所述硬件加速模块进行硬件运算后得到最后的结果;
当一级流水线的Mallat算法完成并交由硬件加速模块运算后,二级流水线开始介入,片上系统处理器进行新一轮信号的处理。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210274373.2A CN114662537A (zh) | 2022-03-21 | 2022-03-21 | 基于可编程片上系统的心电信号智能监测加速方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210274373.2A CN114662537A (zh) | 2022-03-21 | 2022-03-21 | 基于可编程片上系统的心电信号智能监测加速方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114662537A true CN114662537A (zh) | 2022-06-24 |
Family
ID=82030543
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210274373.2A Pending CN114662537A (zh) | 2022-03-21 | 2022-03-21 | 基于可编程片上系统的心电信号智能监测加速方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114662537A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117648570A (zh) * | 2024-01-30 | 2024-03-05 | 吉林大学 | 一种基于人工智能的心电监测与数据分析系统 |
-
2022
- 2022-03-21 CN CN202210274373.2A patent/CN114662537A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117648570A (zh) * | 2024-01-30 | 2024-03-05 | 吉林大学 | 一种基于人工智能的心电监测与数据分析系统 |
CN117648570B (zh) * | 2024-01-30 | 2024-04-12 | 吉林大学 | 一种基于人工智能的心电监测与数据分析系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Liu et al. | 4.5 BioAIP: A reconfigurable biomedical AI processor with adaptive learning for versatile intelligent health monitoring | |
CN110807522B (zh) | 一种神经网络加速器的通用计算电路 | |
Ingolfsson et al. | ECG-TCN: Wearable cardiac arrhythmia detection with a temporal convolutional network | |
JP6583892B2 (ja) | Ecg信号の並行解析装置、方法及び移動端末 | |
WO2020228420A1 (zh) | 降噪自编码器的训练方法、心电信号的降噪方法及其装置 | |
WO2022077888A1 (zh) | 一种光体积描计信号的散点图分类方法和装置 | |
Li et al. | Enabling on-device classification of ECG with compressed learning for health IoT | |
CN114662537A (zh) | 基于可编程片上系统的心电信号智能监测加速方法 | |
Wang et al. | An FPGA-based cloud system for massive ECG data analysis | |
Wong et al. | An energy efficient ECG ventricular ectopic beat classifier using binarized CNN for edge AI devices | |
Feng et al. | Deep multi-label multi-instance classification on 12-lead ECG | |
CN110495878B (zh) | 基于ecg的疾病预测方法、装置及电子设备 | |
Wei et al. | A low-cost hardware architecture of convolutional neural network for ECG classification | |
CN111700592A (zh) | 一种癫痫脑电自动分类模型的获取方法、系统及分类系统 | |
CN109711538B (zh) | 运算方法、装置及相关产品 | |
CN113288050B (zh) | 基于图卷积网络的多维增强癫痫发作预测系统 | |
CN111382853B (zh) | 数据处理装置、方法、芯片及电子设备 | |
CN114154621A (zh) | 一种基于fpga的卷积神经网络图像处理方法及装置 | |
CN111382856B (zh) | 数据处理装置、方法、芯片及电子设备 | |
CN114947872A (zh) | 一种心电特征提取加速电路、心电监测系统及方法 | |
CN104000579A (zh) | 用于远程医疗监护的多功能心电信号处理SoC芯片 | |
CN116548980B (zh) | 基于脉冲神经网络的长时程心电分类方法及系统 | |
CN113749668B (zh) | 一种基于深度神经网络的可穿戴心电图实时诊断系统 | |
WO2019014388A1 (en) | SYSTEMS, METHODS, AND MEDIA FOR INTEGRATED, EFFICIENT, REAL-TIME PROCESSING OF PHYSIOLOGICAL SIGNALS USING S-PROCESSES | |
CN112435270B (zh) | 一种便携式烧伤深度鉴定设备及其设计方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |