资源描述
DSP应用技术课程报告
题目:基于DSP的医学信号采集技术综述
学 号:
专业方向:
姓 名:
日 期:
摘要:生物医学信号的采集处理是生物医学工程学中的重要分支,它为生物医学基础研究和临床诊断、分析提供必要的数据。为实现生物医学信号实时数据采集与处理,设计了以DSP为核心的、基于USB2.0的信号采集与处理系统。该系统利用DSP的高性能数据处理能力,使得从微弱信号中提取生物信号并保证较高的精度成为可能,并利用其USB2.0高速接口 ,实现了与PC之间即插即用和高速、可靠的通信。MATLAB表现出来的独特的优越性,无疑将对人体所表现出来的生物医学信号的研究和有用信息的提取产生积极而广泛的影响。
关键词:生物医学信号;数据采集;数字信号处理器;通用串行总线;MATLAB
Abstract
The acquisition and processing of biomedical signals is an important branch of the biomedical engineering, it provides the essential data for biomedical research、clinical diagnosis and analysis. In order to realize the biomedical signal real-time data acquisition and processing, a data acquisition and processing system is designed with DSP as the core, based on the signal USB2.0.The system can extract biomedical signals from weak signals and then analyze them.The new standard of USB2. 0 allows high-speed and robust data transfer between such a DSP peripheral and a host PC. The result shows that unique superiority that MATLAB holds will produce active and wide effects on study and useful information extraction of biomedical signals that human body presents.
Keywords: biomedical signals ; data acquisition ; DSP ; USB;MATLAB
一.医学信号采集的概述
目前在临床医学上最常用的心电图机、脑电图机、肌电图机、监护仪、诱发电位图仪、以及各类超声诊断设备设计制造的核心部分就是信号的采集。而人体电生理信号的幅度却只有几微伏到几毫伏的范围,且信号比较微弱很容易受外界干扰,但是这些信号却直接反映了人体的生命信息,在临床上具有非常重要的意义。为了实现对人体电信号的采集,通常需要加多级放大,将信号放大到比较大的幅度并进行模拟滤波再利用ADC进行采样,即传统的模拟信号采集处理方法;本文所要介绍的数字信号采集方法:在输入端只采用阻抗变换模块,将信号进行差分后直接接高精度ADC模块,然后利用DSP的数字信号处理能力设计数字滤波器的方法对数据进行滤波处理,实现对微弱信号的采集,并通过蓝牙模块实现与PC机的无线通讯。由于数字医学信号采集方法具有诸多传统模拟采集方法所不具备的优点,因此其必将成为以后技术发展的主流。
医学信号采集、分析和处理在医学研究、临床诊断与治疗上具有重要意义。近年来,随着计算机的普及,数字信号处理理论及处理芯片(DSP)的发展,给现代生物医学信号的研究提供了更先进的手段和处理方法。在医学临床和科学研究中,需
要采集各种生物电信号、识别信号的主要特征,并判断其规律,特别是对于生物体发出的非周期、随机的生理电信号,需要应用数字滤波、模式识别算法等对信号进行处理。生物医学信号包括各种生理参数,如:脑电、心电、肌电、神经元放电信号等生理电信号;此外还有非生理电信号,如:血压、呼吸、血流量、心音等。生物电信号多属于强噪声背景下的低频(小于200Hz)的弱信号。由于人体多种生物电信号和各种噪声的交织,以及测量系统本身的影响,使得人体生物电信号的测量成了难度较高的技术。特别是笔者在研究生物体大脑皮层的神经元群放电信时,由微电极放大器输出的信号幅度小于10mV,并淹没在噪声中,这些信号对于采集系统有着很高的精度要求,同时对于后继的实时处理系统也需要严格的技术要求和数学计算处理方法。本文主要介绍一种采用USB2.0接口和以高性能DSP的高速数据采集处理系统,与传统使用的医学测量仪器的功能相结合,将采集到的生物电信号进行数字化处理,实时完成信号的处理、分析、显示、存储、打印等各种功能综合系统。
二.医学信号的特点及分类
1.生物医学信号的特点
生物医学信号由于受到人体诸多因素的影响,因而有着一般信号所没有的特点。(1)信号弱。例如从母体腹部取到的胎儿心电信号10~50μV,脑干听觉诱发响应信号小于1μV。(2)噪声强。由于人体自身信号弱,加之人体又是一个复杂的整体,因此信号易受噪声的干扰。如胎儿心电混有很强噪声,它一方面来自肌电、工频等干扰;另一方面,在胎儿心电中不可避免地含有母亲心电,母亲心电相对我们要提取的胎儿心电则变成了噪声。(3)频率范围一般较低。除心音信号频谱成份稍高外,其他电生理信号频谱一般较低。(4)随机性强。生物医学信号不但是随机的,而且是非平稳的。正是因为生物医学信号的这些特点,使得生物医学信号处理成为当代信号处理技术最可发挥其威力的一个重要领域。
2.生物医学信号的分类
生物信号如从电的性质来讲,可以分成电信号和非电信号。如心电、肌电、脑电等属于电信号;其它如体温、血压、呼吸、血流量、脉搏、心音等属于非电信号,非电信号又可分为:(1)机械量,如振动(心音、脉搏、心冲击、血管音等)、压力(血压、气压和消化道内压等)、力(心肌张力等);(2)热学量,如体温;(3)光学量,如光透射性(光电脉波、血氧饱和度等);(4)化学量,如血液的pH值、呼吸气体等。如从处理的维数来看,可以分成一维信号和二维信号,如体温、血压、呼吸、血流量、脉搏、心音等属于一维信号;而脑电图、心电图、肌电图、X光片、超声图片、CT图片、核磁共振(MRI)图像等则属于二维信号。
三.系统基本原理
1.系统总体结构概述:
系统总体分为四个部分:刺激系统;医学信号提取系统;信号采集、数字化与处理子系统和PC机。系统框图如下:
医学信号采集与处理系统框图
(1) 刺激系统:为了获得某些生理参数,需要对被测生物体外加各种不同形式的刺激信号,这包括声、光以及不同幅度、不同频率、不同波形的电信号刺激。刺激系统可由各种类型的刺激设备构成,刺激系统的工作由系统控制。
(2) 医学信号提取系统:该系统负责利用各种不同的传感器提取生物体发出的电生理信号和非电参数的生理信号,同时将非电参数的生理信号转换为电信号,送至信号采集、数字化与处理子系统。该系统可由专门的医学测量仪器组成,例如笔者所研究的生物体大脑皮层的神经元群的放电信号,使用的是EZ-8201型微电极放大器提取的放电信号。一般该系统输出的电信号均为非数字信号。
(3) 信号采集、数字化与处理子系统:为了能够实现对弱电信号得到高精度采样、传输以及对信号实时的算法处理,我们采用了高性能数字信号处理器(DSP)和高速总线技术的框架结构。DSP用于完成计算量巨大的实时处理算法(FFT、相关分析、功率谱分析等),由高速总线技术完成处理结果或者采样数据流的快速传输。
2.信号采集系统的结构
要实现对微弱信号的高精度、实时采样并上传到PC机,整个采集部分要合理的分工。系统框图如下:
数据采集模块框图
首先对信号输入通道进行信号放大,相应的高、低通滤波,AD转换的精度要求足够高。
3.信号模数转换通道
信号输入通道,采用了2片AD9042模数转换功能片,它具有高速度、高性能、低功耗的特点,只需+5V电源即能工作,并以12B、41MHz的采样速率提供数据的输出,特别是对于多通道的要求AD9042设计保证在20MHz带宽上,具有80dB的无失真动态范围,典型的信噪比为68dB。连接4K的双口RAM空间分为2个BLOCK,每采完2B数据即产生一个EXT_INT7中断,DSP将数据取走,DSP取数不影响A/D采样,A/D采样的下2B数据写入另一个BLOCK,2个BLOCK轮流工作。
4.DSP处理器
AD转换后的数据信号送DSP处理器进行运算处理。DSP作为采集系统的核心器件,对数据进行低通滤波、FFT和相关分析等数字信号处理运算的同时,还要与USB之间进行数据传输控制,选择DSP芯片时,需要考虑运算速度、总线宽度、性价比以及功耗等因素。本设计采用了TMS320C6201数据处理器,该芯片是一种高性能的定点数字信号处理器,当工作频率达到200MHz时,每个指令周期为5ns,运算速度可达到1600MIPS。1套256位的程序总线,2套32位的程序总线和1套32位的DMA专用总线。采用了先进的超长指令字(VLIW)体系结构,在单指令周期内8条32位指令可并行执行,指令获取、分配、执行和数据存储需要多级流水线完成。VLIW还具有类似RISC结构,具有良好的编译性能。外部存储器接口(EMIF)支持与各种外部存储器件的无缝连接,包括同步动态存储器(SDRAM)、同步突发静态存储器(SBSRAM),以及与直接异步存储器接口,包括静态存储器、SRAM、EPROM等。此外,C6201内部的模块中还包括有2个相互独立的可编程的DMA处理器,还有16B的主机接口的辅助通道(HBI),DMA可对CPU进行分频处理,即可独立于CPU进行工作,且按CPU时钟速率进行数据吞吐。
5.USB接口
USB接口是一种通用的高速串行接口。为了满足实时数据采集、传输、处理,USB2.0可以达到480Mbps,它可以很好地解决大数据量的数据在嵌入式系统与PC机之间的互传问题,同时支持热插拔,并且最多同时支持127个外设,非常适合嵌入式系统的应用。本系统采集处理的数据要上传至 PC机进行进一步的信号分析,才能为医学研究所用。高速、实时采集必然导致大量的数据,所以与上位PC之间要实现高速、实时通信。本设计采用的 USB接口芯片为 Cypress公司的 CY68013。
CY68013的 FIFO与外部设备的接口有两种方式。一种是 CY68013作为主控芯片 ,由 GPIF单元产生各种控制信号 ,外部器件作为从片 ,这种方式适合于外部无控制器的情况;另一种是 GPIF单元设置成从片状态 ,为 FIFO提供相应的时序信号 ,由外部设备的控制器对 FIFO进行读写控制。在本系统中 ,使用了高性能的 DSP作为主控器件 , FIFO工作在从 FIFO状态 , GPIF单元产生时序信号、握手信号 (如: FIFO空、满 ,编程状态指示 )连接如下图所示。
图为 CY7C68013与 C6201连接框图
四.系统软件设计
软件分为DSP部分和USB部分,主程序大部分采用C语言设计,便于管理与维护,在时间要求严格的地方,如DSP中断子程序,采用汇编语言,以提高执行速度,达到实时性的要求。DSP主要负责对各通道所采集的数据进行数字滤波等算法处理。生物医学信号是低频微弱信号,因此,采用低通和带通滤波。其中, 50 Hz的工频干扰最为严重,需要将其滤除。整个算法部分采用汇编语言编写,达到高效的目的,DSP主要流程如下图所示。
图为DSP主程序流程
FX2主程序流程如下图所示:
图为FX2主程序流程图
USB的软件设计:
该软件包括固件设计,USB固件驱动程序和应用程序设计。固件程序是运行在CY7C68013上的程序,我们采用了C++语言设计。主要设计思路:
(1)CY7C68013工作于异步从FIFO (Slave FIFO)模式,相应寄存器操作为:IFCONFIC=0xCB。
(2)由外部逻辑或外部DSP直接接到FX2的端点FIFO。将4KB的FIFO对应EndPoint2和EndPoint6两个端点,相应寄存器操作Ep2Cfc=0xAO;EP6CFC=0xF2,存放USB需要上传与接收的数据。
(3)将FIFO的EndPoint2和EndPoint6设置为自动方式,即自动数据传输。相应的寄存器操作为:Ep2FIFOCFG=0x11,Ep6FIFOCFG=0xOD。该软件的主要功能是响应各种来自系统的USB标准要求(包扩USB设备的枚举,驱动程序的选择加载等),完成设备与主机之间的连接。可由主机将该部分固件程序下载到CY68013的片内RAM内。
USB的驱动程序我们采用了在CY7c68013开发包中提供的一个通用驱动程序,将编译后直接使用。主机应用程序我们使用C++语言编制,主要功能是将经DSP处理后的数据流,根据所需处理功能的要求,来完成给予Window程序的处理(分析、处理、显示)。
五.课程总结
大二时学习了MATLAB的一些基本操作,这学期学习的数字信号处理教程是MATLAB释义与实现,我以为跟以前的MATLAB语句差不多,但是学习后才知道,本课程的知识更难理解,更难掌握,要学的东西更多。本课程系统地讲解了数字信号处理的基本理论和方法,注重物理概念的阐述,尽量把MATLAB的多媒体功能用于图形、动画和声音等形象的演示,是一本自始至终使用MATLAB来阐述问题和进行结算的数字信号处理教材。本课程采用了一些其他教材中未采用的术语和方法来阐述数字信号处理中的重要概念,如,离散时间傅立叶变换、采样序列的等价序列、在无穷远邻域的收敛性等。
本课程有很多的例题可以加深我们对知识的理解,同时对我们的编程有很大的帮助。我相信本课程会在我以后的工作中发挥很大的作用。
六.参考文献
[1]曾义芳编著.DSP基础知识及系列芯片[M]. 北京航空航天大学出版社,2006
[2]胡广书编.数字信号处理-理论、算法与实现(第二版)[M]. 北京:清华大学出版社,1997
[3]陈怀琛,王朝英,高西全译.数字年信号处理及其MATLAB实现. 北京:电子工业出版社,1998
[4]马兴义,杨立群,林敏.MATLAB6应用开发指南[M]. 北京:机械工业出版社,2002
[5]Tompkins W J.生物医学数字信号处理[M]. 武汉:华中科技大学出版社,2001
展开阅读全文