基于小波变换的ECG信号压缩及其FPGA实现
医生在判断心脏方面的疾病时,心电图ECG(Electrocardiogram)通常是一个最直接且最有效的判断依据。心电图是利用一维波形来描述心脏搏动时的电位变化。因此,ECG信号在心血管疾病的诊断和研究中具有重要的参考价值。医生希望能够将病人的心电数据全部保存下来,以便对病人不同时期的心电图进行比较和科学研究之用。但是心电数据的备份和存储将占用非常巨大的资源,尤其是在便携式医疗监护系统中,将直接影响到系统的成本。为此,如何有效地对ECG信号进行压缩和解压缩,以最大程度地保留原有的信号特征,并达到尽可能大的压缩效率是目前研究的重点。本文重点研究了基于小波变换的ECG信号压缩算法及其FPGA实现方法,为ECG信号的实时压缩和处理提供一种解决方案。
1 小波变换及其提升模式
自1988年起离散小波变换DWT逐渐成为信号处理中极为重要且强大的工具,原因是其具有以下几个显著的特性:
空间-频率的位置相似性;能量集中;子频带间的相对数值相似性;易于设计反变换。
在数据压缩领域中,DWT已经大量且成功的被应用在一维信号、视频压缩中,而且在近几年被采纳为JPEG2000及MPEG4等视频的世界压缩标准。
DWT在应用上主要是利用以卷积(Convolution)为基础的FIR滤波器实现,包括以一对高通与低通FIR滤波器所构成的小波分解及合成。以FIR滤波器所建构的DWT通常被称为传统小波转换,为了让DWT运算更有效率,仍有许多文献着重于改良其架构,其中由Sweldens在1996年提出的上提式小波转换是至今较优异的一个。Sweldens已经证明了在提升的基础上可以进行整数集到整数集的小波变换, 这是提升小波实现无损压缩的理论基础。小波提升算法的基本思想是通过由基本小波逐步构建出一个具有更加良好性质的新小波。该方法视DWT为一个预测-失真的系统,并分别利用分解、预测及更新三个部分来完成:将数据分为偶数序列和奇数序列两部分;用分解的偶数序列预测奇数序列,得到的预测误差为变换的高频分量;由预测误差来更新偶数序列,得到变换的低频分量。提升方案如图1所示。
相较于传统的DWT,它具有较低的运算复杂度,因此更有利于硬件实现。
本文采用的是(5,3)提升小波变换,其算法为:
2 小波变换应用于ECG数据压缩原理
小波变换的一个非常吸引人的特征是由粗到精的多分辨分析,即可将信号按不同的分辨率进行分解后,再分别进行分析处理。将小波变换运用于压缩,是基于小波多分辨分析技术的。在压缩时,ECG在不同的尺度下被分解成不同的信号,然后对这些信号分别进行压缩编码;恢复时将这些编码结果进行解码,进行反变换后形成恢复信号。编码方式有很多种,本文选择的是基于码本的编码方式,通过从输入的数据中建立码书来对信号进行编码,为提高压缩比率,在建立码书的过程中会引入量化。本文采取的ECG小波变换压缩原理如图2所示。
3 FPGA实现
基于诊断上的特殊需求,一个好的ECG压缩演算法不仅需具有高压缩率的特性,且必须尽量在被压缩后的信号中保存有医生用来判别病症的诊断资讯。此外,为了广泛的应用需求,所发展出来的ECG压缩演算法应具有即时压缩的特性。因此,本设计研究了该压缩算法的FPGA实现,以使ECG信号能够得到实时的压缩和处理。
本文研究了提升小波的硬件实现方法,根据FPGA器件具有快速逻辑处理能力的特点,采用流水线的加法及数据移位操作等,设计了一种适合FPGA实现的快速小波变换硬件结构。采用基于Matlab的设计工具DSP Builder,在Altera CYCLONE器件EP2C35F672C6上实现5/3小波变换及逆变换的功能,并在Quartus软件下进行综合、仿真及下载。
Altera DSP Builder是一套完整的基于FPGA的DSP开发工具,在Simulink中作为一个独立的Blockse工具箱,包含数学运算(arithmetic)、存储单元(storage)及MATLAB文件(mdl)/VHDL文件转换模块等功能库。利用这些功能单元及Simulink中的其他工具箱可以进行FPGA的设计、仿真及生成VHDL代码。
由于原始数据在进行了一次运算产生新数据之后不再参与进一步的运算,因而新数据可以覆盖原始数据,不必另开存储单元,节省了资源。该提升算法不需要额外的数据延拓,由于采用的是对称镜像延拓,在处理边界问题时,只要在适当的位置进行两次操作以保持数据就可以了。从算式可知,提升算法的正变换的每一个高频分量都是将其前后连续的数据加权求和得到的,可以通过流水线式操作实现,这不仅有利于提升小波变换的速度,更简化和节约了硬件资源的使用。这也是本文采用的小波变换算法的硬件实现原理。图3为基于DSP Builder的一维小波变换核的FPGA算法实现
- 一种长序列小波变换快速算法的DSP实现(08-11)
- 快速小波变换的定点DSP实现(03-02)
- DWT域数字水印算法的FPGA实现(06-05)
- 基于小波变换和角度域分析的发动机气门机构异响排查(12-19)
- 小波变换和motion信号处理:第二篇(05-22)
- 小波变换和motion信号处理:第一篇(05-22)