基于FPGA软核的佩带式心电信号处理系统的设计

2010-10-09 08:23刘成刘娅琴
中国医疗设备 2010年3期
关键词:电信号滤波器分布式

刘成,刘娅琴

(南方医科大学 生物医学工程学院,广东 广州 510515)

基于FPGA软核的佩带式心电信号处理系统的设计

刘成,刘娅琴

(南方医科大学 生物医学工程学院,广东 广州 510515)

心电信号分析结果是评价生理状态的重要依据,但是心电信号幅度小,极易受到外界干扰,提取和处理过程不易在佩带式家庭健康监护设备上完成。本文提出了一种基于FPGA软核的佩带式低功耗实时心电信号预处理系统,利用Actel Fusion FPGA内嵌的80c51软核作为主控制器,采用DA和CSD优化算法减少FIR数字滤波器硬件占用量,从而不但有效地对心电信号进行实时处理,而且减少了系统的体积和耗电量。经测试,该系统可以很好地满足设计要求,并且该系统的设计方法适合用于开发各种便携式实时生理状态监护设备。

家庭监护仪;心电信号; FPGA

Abstract:The analysis result of ECG is an important evaluation indication for physiological status. Due to the weak amplitude, ECG is easily interfered during acquisition. This paper focuses on the development of a wearable, low power ECG processing prototype capable of extensive real-time ECG processing. The distinguishing feature is that there is a soft core Core80c51 embedded in a low-power flash-based FPGA as the main controller. Specially, the potential of Distributed Algorithm (DA) and Canonic Signed Digit (CSD) code has been demonstrated in FIR filter applications to minimize the amount of used hardware. After the testing and tryout, the prototype could meet the design requirements, and the methodologies developed in this case study can enable adaptations to a wide range of pervasive healthcare applications.

Key words:family monitor; electrocardiosignal; FPGA

心电信号(Electrocardiogram, ECG)中包含了人体心脏的丰富信息,记录了心脏细胞的除极和复极过程,在一定程度上客观反映了心脏各部位的生理状况,因而在临床医学中有重要意义。但人体心电信号随着检测状态及时间的变化具有明显的非平稳性,同时也会包含许多来自人体及外界的干扰信号。为实现心电信号的分析、识别和诊断,必须对采样的心电信号进行有效滤波。不同干扰源产生了不同频率的干扰,其中主要的干扰是基线漂移和工频干扰。基线漂移主要是受呼吸影响及电极与皮肤接触不良而产生,主要由较低频率的信号组成,频率小于0.5Hz,约为0.15Hz~0.3Hz。工频干扰是由公共电网及各种电设备引起的,是心电信号检测与处理过程中必须考虑的一种干扰,由50Hz及其谐波成分构成。心电信号测量过程中存在着很大的肌电干扰(几百Hz以上),临床上还存在高频电刀的干扰,所以对高频信号的滤除是十分必要的[1]。

我们的设计是基于Fusion FPGA(Field-Programmable Gate Array,即现场可编程门阵列)芯片嵌入Core8051软核的单芯片系统,其大部分功能在芯片内实现,外围电路仅有心电信号的采集模块,高效地利用了片上资源,成功地形成了片上系统。本系统利用Actel Fusion AFS600 FPGA作为主处理器并设计一个简单的外围电路来实现。采用精密集成运放对电极采集的微弱心电信号进行放大和初步滤波,使信号的频率范围在0.05Hz~100Hz,同时不失真地放大至2V左右;运用窗函数法设计50Hz FIR陷波器和0.7Hz高通滤波器,并在MatLab环境得到仿真结果;通过FPGA内嵌的Core8051软核,运用分布式算法原理和CSD编码实现数字滤波器。由于模拟滤波器的过渡带较宽,我们在数字滤波部分再次设计了100Hz低通滤波器以提高滤波效果。

1 系统设计思路

1.1 前置放大及滤波电路

心电信号的微弱性、易受外界干扰性等因素给心电信号的放大处理以及初步滤波提出了较高的要求,而对心电信号的放大处理和对干扰的初步滤除主要由前置放大电路完成。前置放大模块中需要实现的功能为:

(1)心电信号放大;

(2)抑制共模干扰信号;

(3)抑制直流成分;

(4)初步滤除高频干扰信号;

(5)抬高输出电平。

1.2 FPGA模块

软件设计是整个电路设计的核心,将前置放大输入信号通过A/D转换得到数字信号,利用分布式查表算法实现滤波处理。其要实现的具体功能为:

(1)编程实现A/D转换功能,得到数字信号;

(2)利用分布式算法编程实现数字滤波器;

(3)选用串口通信方式将心电信号输入到计算机。

2 系统原理及其实现

2.1 前置放大及滤波电路

系统的总体结构框图如图1所示。其包括前置放大及滤波电路→FPGA实现A/D转换→数字滤波→D/A转换及平滑滤波电路。其中,前置放大及滤波电路分为缓冲级、右腿驱动级、仪器放大、高通滤波、低通滤波、运算放大、电平抬高电路。

图 1 硬件电路总体结构框图

2.2 FPGA模块

2.2.1 A/D转换模块

Fusion系列FPGA在数字FPGA上集成了模拟外设,所以可直接将模拟信号输入至FPGA中进行处理。

Fusion模拟系统的核心是一个可编程的逐次逼近型(SAR)模数转换器ADC。其内部主要由采样保持电路、比较器、逐次逼近寄存器和DAC等模块组成。具体设置方法请参看《Actel FPGA 实验教程》。

2.2.2 FIR数字滤波器的算法及实现

在FPGA上实现FIR滤波的首要条件是得到FIR滤波器的传递函数。本文利用滤波器辅助设计软件,确定滤波器的阶数、通带最大衰减以及阻带最小衰减。这样直接输入通带截止频率和阻带截止频率即可观察其幅度响应曲线[2]。经过反复的试验,最终确定参数见表1。

FPGA实现FIR滤波器的方法是通过利用Libero 8.5内嵌的IP核来实现的,其主要方法是分布式算法(Distributed Algorithm, DA)。

DA算法的主要优点是巧妙地利用ROM查找表将固定系数的MAC运算转化为查表操作,其运算速度不随系数和输入数据位数的增加而降低,而且相对直接实现乘法器而言在硬件规模上得到了极大的改善[3]。至于分布式算法的数学物理原理,已经在许多资料里提到,而且很成熟,在本文中不再多叙述。但是,分布式算法也有其缺点。其系数是传统二进制码,造成了很大的冗余(对于用逐位相加法实现的乘法器,当系数有一位为零时不用相加,零位越多,冗余越大),而且查找表的大小随着滤波器阶数的增加呈指数增加,虽然可以采用将大查找表分解为小查找表,但是无法从根本上解决这一问题,这些都是DA方法的缺点。后面将对FIR滤波器系数实现给出新的编码方法,CSD码优化方法,进一步降低逻辑资源的消耗[4、5]。

2.2.3 CSD码优化方法

有符号数表示( Canonic Signed Digit, CSD)是一种三元数值系统 ,即将系数用 (-1, 0, 1)来表示,其中-1常写为1。从最低有效位开始,用10…01取代所有大于或等于2的1序列,即可得到CSD表示。CSD表示的任意两个数位之间至少有一0,可以证明CSD表示对给定数是唯一的,并且有最少的非零位。因为CSD表示可以减少非零元素的数量,在乘法运算中减少部分积的乘积项,从而减少所用加法器或减法器的数量,大大降低了逻辑资源的占用[6、7]。DA和CSD适配前后,在Libero v8.5 IDE环境下的本FIR滤波器最小硬件单元占用情况对比如表2所示。

表 2 DA和CSD适配前后对比结果

这一小节从结构和抽头系数两方面对固定系数FIR滤波器进行了优化设计。在结构上采用分布式算法来进行优化,显著提高了FIR实现的频率。从抽头系数出发,采用CSD编码大大减少了FIR实现的资源消耗。文中所举验证实例均采用 Verilog语言编程适配到 FPGA中进行,验证实现环境为Actel公司的Fusion StartKit开发板。

2.2.4 软核设置方法

本文中嵌入8051 IP软核利用的是电压监控《Actel FPGA实验教程》中的设置方法,图2所示为80c51软核的结构框图。

图 2 软核结构框图

3 数字滤波器仿真

用Matlab仿真生成正常的心电信号,并分别加入了不同的干扰信号,将这些带有噪声的心电信号通过所设计的滤波器,以此对滤波器进行验证。将通过滤波器滤除工频干扰、基线漂移和高频信号后得到的心电信号,与正常的心电信号对比,可以判断在信号不失真的前提下,系统能否能够有效滤除干扰。图3以FIR陷波器为例说明MATLAB仿真结果:

图 3 50Hz陷波器测试

4 测试结果及分析

测试仪器包括:直流电源、低频信号发生器、数字示波器、Fusion StartKit开发板、VGA屏。

4.1 滤波结果分析

经过测试,50Hz工频干扰信号基本衰减至零,0.7Hz基线漂移信号被有效抑制,110Hz高频信号衰减到可接受的水平。与MatLab仿真结果基本一致。其中高频信号的衰减尤为显著。本系统达到了预期的目标,成功地对心电信号进行了预处理。心电信号的滤波结果如图4所示。

图 4 心电信号

4.2 放大器放大倍数与理论值偏差分析

前置放大及初步滤波电路在放大中出现了理论放大倍数与实际放大倍数偏差的结果,其主要原因如下两点:

(1) 第三级、第五级的放大电路中,所连接的电阻较小。造成精度差;

(2) 经万用表测试应用器件本身误差经过检测最高达10%。

4.3 输出信号幅度与只经ADC后信号幅度偏差分析

输出信号幅度与只经ADC后信号幅度相差较大,其主要原因分析在数字滤波器中,如果没有精度的限制,卷积后最终得到的数据是非常庞大的,其位宽也非常大;若输入数据较小,则卷积后的结果会集中在低位部分,如果仅取高位,就会最终不能得到理想的结果(例如二进制数0011乘以0011所得结果为00001001,仅取高4位这样就会造成较大的误差)。由ADC转换后的幅度是比较高的,而经过数字滤波器后得到了幅度较小的信号,其中的原因是结果仅取了高8位[7-9]。

5 结论

本文研究的核心是以Actel Fusion AFS600 FPGA嵌入Core8051软核方式实现CSD编码分布式FIR滤波器的方法。其显著特点是在FPGA内部嵌入软核。经过测试,本系统能够有效滤除工频干扰、基线漂移及高频干扰信号,便于后期对心电信号更准确的分析处理。

FPGA在家庭健康监护仪上的应用现在还处于一个起步阶段。在今后的发展过程当中仍需做出更多的努力。其主要方面有:

(1)片上系统(SOC)设计将会成为电路设计的一个重要发展趋势。在Fusion系列FPGA上已实现了ADC模块、Core8051软核以及ARM软核的集成,使得片上系统这一概念在实践中变成可能。

(2)进一步增加信号处理速度。数字信号实时处理能力的需求越来越高,所以短时间内实现信号处理在实际应用中是有价值的。

[1] 余学飞,吴建刚,邱力军,等.现代医学电子仪器原理与设计[M].广州:华南理工大学出版社,2007.

[2] 程佩青.数字信号处理教程[M].北京:清华大学出版社,2007.

[3] 夏宇闻.Verilog数字系统设计教程[M].北京:北京航空航天大学出版社,2003.

[4] Uwe Meyer-Baese.数字信号处理FPGA的实现[M].北京:清华大学出版社,2006.

[5] He Shou sheng, Torkleson M.FPGA implementation of FIR filters using pipelined bit-serial Canonical Signed Digit multipliers[R]. IEEE Custom Integrated Circuits Conference,1994.

[6] Lim Y C, Evans J B, Liu B. Decomposition of binary integers into signed power of two terms [J].IEEE Trans. Circuits Syst, 1991, 6 (38):667-672.

[7] Kang Hyeong-Ju. FIR Filter Synthesis Algorithms for Minimizing the Delay and the Number of Adders [J].IEEE TRANSACTI ONS AND SYSTEMS-II: ANALOG AND DIGITAL SIGNAL PROCESSING, 2001,48(8):770-777.

[8] Sudhakar Kalluri, Arce G R.Fast algorithm s for weighted myriad computation by fixed point search [J].IEEE Trans. on Signal processing, 2000, 48(1): 159- 171

[9] Goodman D J, Carey M J.Nine digital filters for decimation and interpolation[R].IEEE Trans1on Acoustics, Speech and Signal Processing,1977.

Design of Wearable ECG Processing Prototype Based on FPGA Soft Core

LIU Cheng,LIU Ya-qin
(Biomedical Engineering School, Southern Medical University, Guangzhou Guangdong 510515, China)

TH772+.2

A

10.3969/j.issn.1674-1633.2010.03.011

1674-1633(2010)03-0037-04

2009-07-29

2009-08-20

刘娅琴,副教授。

作者邮箱:cheng20liu@hotmail.com

猜你喜欢
电信号滤波器分布式
基于联合聚类分析的单通道腹部心电信号的胎心率提取
从滤波器理解卷积
基于Code Composer Studio3.3完成对心电信号的去噪
开关电源EMI滤波器的应用方法探讨
一种微带交指滤波器的仿真
分布式光伏热钱汹涌
基于随机森林的航天器电信号多分类识别方法
分布式光伏:爆发还是徘徊
基于TMS320C6678的SAR方位向预滤波器的并行实现
基于DDS的分布式三维协同仿真研究