虚拟仪器平台下生物医学信号自适应滤波实验教学系统的设计及应用
2017-05-03于璐杨叶欣刘静沙宪政
于璐,杨叶欣,刘静,沙宪政
中国医科大学 公共基础学院 生物医学工程系,辽宁 沈阳 110122
虚拟仪器平台下生物医学信号自适应滤波实验教学系统的设计及应用
于璐,杨叶欣,刘静,沙宪政
中国医科大学 公共基础学院 生物医学工程系,辽宁 沈阳 110122
针对自适应滤波相关的教学过程中其原理枯燥、内容抽象、难于形象理解的现状,本文提出了一种基于虚拟仪器技术的生物医学信号自适应滤波实验教学系统,该系统可以用形象直观的方式对生物医学信号进行自适应滤波处理并在前面板显示,在背面板可实现相应算法的开发及修改。该系统不但可用于相关实验课程的开设,还可用于相关信号处理算法的研究。
虚拟仪器;自适应滤波;实验教学;心电;呼吸音
引言
近些年来,自适应滤波理论与技术一直在发展,其应用及其广泛,凡是在信号的统计特性未知或信号是随时间变化的非平稳过程的场合,都有自适应滤波器的用武之地,因此其在生物医学工程领域也有着广泛的应用。目前越来越多的生物医学工程专业的本科生及研究生培养体系中,都引入了生物医学信号自适应滤波的教学内容。但此方面课程的理论性强,涉及到的数学理论和公式推导换算较多,课程内容既有基础理论,又有理论的应用,学生学习起来容易感到原理枯燥、内容抽象、难于形象理解,在一定程度上影响了学生学习的积极性和学习质量。因此,该课程的实践教学就显得更为重要。如果能通过实验教学帮助学生理解、掌握所学的理论并直观地对一些常见的生物医学信号进行处理,将激发学生的学习兴趣、提高学生利用所学理论解决实际问题的能力,并能促进学生创新意识和创新思维的建立与培养。
以LabVIEW为代表的虚拟仪器技术可以通过软件的形式定义自己专用的仪器系统,并且功能灵活,容易构建,由于其界面开发便捷、信号处理方式形象直观、开发周期短、成本低、维护方便、易于应用等特点,已经被应用于许多课程的教学实践中[1-3]。但在对各种算法的支持方面,LabVIEW的工具箱却非常有限,因此在进行较为复杂的数据分析处理时就显得有些力不从心,而LabVIEW和MATLAB混合编程技术可以发挥MATLAB在信号处理领域无可比拟的优势[4],并弥补LabVIEW的短板。目前两者的混合编程技术已经在很多方面都有应用[5-7]。本文主要探讨使用LabVIEW和MATLAB混合编程技术构建生物医学信号自适应滤波教学实验系统,使得该系统无论在操作界面还是自适应滤波性能方面都表现良好,从而提高教学质量与效果。
1 自适应滤波基本原理
所谓自适应滤波,就是利用前一时刻所获得的滤波器参数的结果,自动调节当前时刻的滤波器参数,以适应信号和未知的噪声随时间变化的统计特性,从而实现最优滤波。自适应滤波器可根据环境的改变使用自适应算法来改变滤波器的参数和结构,能够在未知环境中有效工作,并能够跟踪输入信号的时变特征,而不依赖先验知识。自适应滤波实质上自适应滤波实质上就是对一个主输入信号d(k)产生估值信号y(k),两者之间的误差信号e(k)按照某种算法修正自适应滤波器参数以逐步逼近主输入参数,其原理框图,见图1。
图1 自适应滤波原理图
以最小均方误差(Least Mean Square,LMS)为例,其迭代公式为:y(k) = xT(k)w(k);e(k) = d(k)-y(k);w(k+1) = w(k)+2μe(k)x(k),其中μ为自适应滤波器的收敛因子,w(k)为滤波器系数的当前估计值,w(k+1)代表了滤波器系数的当前估计的调整量。因此当其调整使得输出y(k)成为n0的最佳估计,误差e(k)即为对有用信号的最佳估计,干扰就得到了一定程度的抵消。
2 系统平台的设计与构建
该系统平台的构建包括前面板设计和背面板分析处理程序框图的实现两部分。其总体设计思路是用LabVIEW设计前面板中的用户图形界面并负责数据的采集、获取、导入及显示等功能,由MATLAB在后台提供算法供LabVIEW调用,从而使该平台在良好的相互式系统界面的基础上,具有更强大、更完备的自适应滤波处理能力。
前面板的设计主要是使用LabVIEW来完成。LabVIEW最大的优点除了易于编程就是其良好的交互界面,前面板的参数可以通过输入控件传递给后面板,后面板的部分数值运算结果也可以通过指示器传递给前面板进行显示。在LabVIEW前面板上首先有列表选项供平台使用者选择所需处理的生物医学信号的类型,然后使用者可以选择原始纯净信号、含噪信号及参考噪声信号的文件位置,程序运行结束后,平台前面板用于显示滤波前后的含噪信号及原始纯净信号的时域及频域波形。
背面板分析处理程序框图的设计过程中涉及的核心自适应滤波功能的实现,则主要依靠LabVIEW和MATLAB的混合编程技术。利用该技术可将MATLAB下实现的自适应滤波算法移植到该教学实验平台下,使得本系统的扩展性大大增强,理论上可以完成MATLAB能够实现的全部算法。在LabVIEW中实现MATLAB调用的方式有多种[8]:包括利用动态数据交换技术、利用动态链接库技术、利用ActiveX的自动化技术和利用MATLAB script节点技术。其中利用MATLAB script节点技术的方法最为快捷方便,只需要直接在LabVIEW中调用节点,将M语言写入脚本,再通过对MATLAB script节点添加输入输出端子就可以实现LabVIEW与MATLAB之间数据的交互,两者的数据传递及调用关系,见图2。该技术实际上是通过ActiveX控件与MATLAB server进行的通信,调用MATLAB函数或命令实质是将MATLAB当做一个ActiveX服务器并建立ActiveX通道,然后将这个函数或命令通过该通道发送给MATLAB,由MATLAB在后台执行。LabVIEW提供的MATLAB script节点具有多输入、多输出的特点,一次处理的信息量可以很大。使用此方式实现混合编程既简单又实用,当需要使用时可将其模块化,采用主程序动态加载,用户容易掌握,也是LabVIEW推荐使用的方式,本文采用的就是调用MATLAB script节点方法。
图2 LabVIEW与MATLAB的调用关系
3 生物医学信号自适应滤波实例
本系统集成了两种生物医学信号的自适应滤波处理,分别是人体的心电信号和呼吸音信号。在常用的自适应滤波算法中,LMS算法以最小均方误差为准则,具有计算量小、稳定性好、易于实现等优点被广泛使用。归一化LMS(Normalized Least Mean Square,NLMS)是一种改进的LMS算法,即步长归一化的最小均方算法,它使得算法在输入信号较大的情况下避免稳态失调噪声过大的干扰,因而具有更好的收敛性能。本系统中针对这两种生物医学信号都采用了NLMS算法进行自适应滤波。
由于心电信号的微弱性使其极易受外界其他信号的干扰,其采集过程中人体自身的呼吸运动往往会导致采集到的心电信号出现基线漂移。从简单及易于实现的角度出发,可使用自适应滤波技术对心电信号中的呼吸干扰进行抑制。我们将MIT-BIH心电数据库中呼吸暂停状况下的ECG心电信号视为无噪声干扰的纯净ECG信号,再用一个周期为3 s的正弦信号来模拟人体呼吸时的对ECG产生的波动,并将其与纯净ECG信号进行叠加以模拟产生基线漂移的ECG信号,对该信号使用NLMS方法进行自适应滤波,同时用周期为3 s的正弦信号作为自适应滤波时所需的参考信号。用这种叠加方式生成含噪信号的时候,由于原始纯净信号是可以获取的,这就使得我们能够在自适应滤波后对滤波效果进行定量方式的评价,因此这种含噪信号构建方式在自适应滤波的相关研究中经常使用[9-13]。在对呼吸音进行自适应滤波时,我们也采用了类似的信号构建方法。
系统前面板,见图3。我们可以选择拟处理信号的类型,并选择含噪信号与参考信号的路径,同时还可以选择原始纯净信号的路径用于与滤波后含噪信号进行比对及定量评价。
对基线漂移的ECG信号进行自适应滤波后的结果,见图4。从图中我们可以直观地看出,叠加了基线漂移的ECG信号经过滤波后,基线漂移基本被消除,与原始纯净信号基本一致,两者的频谱分析结果也很接近。
心电信号自适应滤波对应的部分程序框图,见图5。从图中我们看到MATLAB中的自适应滤波代码在LabVIEW的MATLAB script节点中予以实现,这样设计大大简化了系统的设计流程,并极大增强了系统数据分析处理的性能,使得LabVIEW和MATLAB两种工具取长补短、完美结合,更使得本系统功能的扩展变得更加便捷高效。
呼吸音是人体呼吸时气流进出气道引起气道组织振动而发出的声音,可使用内部集成麦克风的拾音头对其进行采集,并用于呼吸状况的监测[14]。但由于呼吸音信号通常较为微弱,使其采集过程易受环境噪声的干扰,从而影响监测效果。如果使用自适应滤波技术,可以借助拾音端外部采集到的环境噪声,对传入拾音端内部的噪音进行消除以确保呼吸音不被淹没,从而改善其噪声环境下应用的准确性与可行性。本文中,我们首先在无呼吸的状况下同步录制了15 s的拾音端外部噪音及传入拾音端内部的噪音,又录制了一段40 s纯净无噪声干扰的呼吸音,之后将纯净的呼吸音与拾音端内的噪声进行线性叠加以模拟被噪音淹没干扰后的呼吸音,对该信号使用NLMS方法进行自适应滤波,同时用拾音端外的噪音信号作为自适应滤波时所需的参考信号。
图3 生物医学信号自适应滤波教学实验系统前面板
图4 心电信号自适应滤波前面板
图5 心电信号自适应滤波部分程序框图
含噪呼吸音经自适应滤波后的结果,见图6。我们看到,未滤波的40 s呼吸音中,前15 s时呼吸音被噪声完全淹没,而经过滤波后的呼吸音中噪音干扰基本被抑制,与初始的纯净呼吸音较为接近,此外,两者在频域上的分布也基本一致。
呼吸音信号自适应滤波功能在背面板对应的部分程序框图,见图7。在程序框图中我们仍然使用了MATLAB script节点,两种自适应滤波对应的两个MATLAB script节点在程序框图中依靠case structure进行切换,并与前面板中处理信号类型的选项相对应。如果该系统中需要引入其他信号的自适应滤波,则可以根据信号的特点进行前面板选项的添加以及背面板case结构的扩充。
我们把该系统部分引入到了生物医学工程专业本科的以问题/项目为基础(Problem/Project Based Learing,PBL)的教学实践中[15],起到了非常明显的效果。在项目进展的过程中学生不但很好的理解并掌握了的相关理论,还按照自己的思路进行了一些实验设计,并根据自己的兴趣进一步开展了相关的拓展实验,对项目最终的完成起到了很好的促进作用。
4 讨论与结论
本文应用虚拟仪器技术构建了一套生物医学信号自适应滤波实验教学系统,在该系统中实现了对心电信号和呼吸音信号的自适应滤波处理,并可以在时域和频域两个角度对滤波效果进行比对与分析,能够很好的支持相关的教学工作。
在已有系统的基础上,我们还可以对系统的功能进行多方面的扩展,如加入其它生物医学信号的自适应滤波处理功能,在前面板选择自适应滤波算法的功能,甚至可以通过前面板设置对应算法中的各项参数(如滤波器阶数、收敛因子、迭代次数和遗忘因子等)。此外,该系统还可以利用LabVIEW配套的DAQ数据采集卡和软件构建多通道生理信号采集系统实现多路含噪生物医学信号和参考噪声信号的同步采集[16],并可以在LabVIEW平台下直接对采集到的信号进行自适应滤波处理,从而进一步帮助学生扎实掌握所学知识,并激发学生探索自适应滤波技术的深层次应用。因此我们有理由相信,随着系统平台功能的不断完善,利用此种方式构建的教学平台的必将拥有更为广阔的应用范围。
虚拟仪器具有传统仪器没有的性能高、扩展性强、开发时间短、开发成本低等优点,具有很强的灵活开放性,很多教育工作者都借助虚拟仪器来解决教学中遇到的实际问题。本文提出的基于虚拟仪器技术的生物医学信号自适应滤波实验教学方法可以解决生物医学信号自适应滤波教学中直观性不足的问题,提升教学效率,帮助学生进一步理解课程中的理论问题,并能够更好的激发学生的学习兴趣,从而提升实践创新能力,为以后的实践工作打下良好的基础。该平台不但可用于相关实验课程的开设,促进我们的教学取得更加良好的效果,也可用于相关信号处理算法的研究与仿真,为相关方向的研究生培养也提供了有效的途径。
图6 呼吸音信号自适应滤波前面板
图7 呼吸音信号自适应滤波部分程序框图
[1] 刘海陵,徐志国,陈正宇.虚拟仪器技术在电子与通信专业教学中的应用[J].教育教学论坛,2016,(1):218-219.
[2] 秦鑫,高凤梅,龙云玲.虚拟仪器技术在生物医学工程专业教学中的应用[J].中国医疗设备,2012,27(4):108-110.
[3] 徐明,李红兵,肖士者,等.基于虚拟仪器的工程结构设计原理实验教学演示系统设计[J].高等建筑教育,2015,24(6):141-145.
[4] 王伟.MATLAB/Simulink助力下一代信号处理系统设计[J].电子技术应用,2010,36(12):6.
[5] 庄源昌,高罗卿,郑湃,等.基于Labview和Matlab的模糊PID温度控制系统研发[J].计算机测量与控制,2014,22(8):2485-2487.
[6] 王建斌,杜云朋,刘兵,等.基于LabVIEW和Matlab混合编程的时反超声导波激励和采集系统设计[J].计算机测量与控制,2014,22(3):97.
[7] 何利平,宋树祥,蒋贤明,等.基于LabVIEW和Matlab混合编程的竹片检测系统设计[J].测控技术,2014,33(1):122-125.
[8] 柴敬安,廖克俭,潘德辉,等.Labview和Matlab混合编程方法的研究与实现[J].计算机测量与控制,2008,16(5):737-739.
[9] Lu G,Brittain JS,Holland P,et al.Removing ECG noise from surface EMG signals using adaptive filtering[J].Neurosci Lett,2009,462(1):14-19.
[10] Navarro X,Poree F,Beuchee A,et al.Denoising preterm EEG by signal decomposition and adaptive fi ltering: A comparative study[J].Med Eng Phys,2015,37(3):315-320.
[11] Peng F,Zhang Z,Gou X,et al.Motion artifact removal from photoplethysmographic signal by combing temporally constrained independent component analysis and adaptive fi lter[J].Biom Eng Onlin,2014,13(1):694.
[12] Dos Santos L,Barroso JJ,Macau EE,et al.Application of an automatic adaptive fi lter for Heart Rate Variability analysis[J]. Med Eng Phys,2013,35(12):1778-1785.
[13] Wu S,Shen Y,Zhou Z,et al.Research of fetal ECG extraction using wavelet analysis and adaptive filtering[J].Comput Biol Med,2013,43(10):1622-1627.
[14] 于璐,刘阳,黄德生.基于呼吸音的呼吸监测方法初探[J].中国医疗器械杂志,2015,39(1):21-24.
[15] 苏娟,于璐,尹勇,等.在生物医学工程专业开展基于项目的学习教学改革的探讨[J].中国医疗设备,2013,28(5):120-122.
[16] 于璐,索永宽,沙宪政.基于虚拟仪器的生理信号采集分析系统[J].生物医学工程与临床,2011,15(3):218-222.
本文编辑 袁隽玲
Design and Application of Biomedical Signal Adaptive Filter Experimental Teaching System Based on Virtual Instruments
YU Lu, YANG Ye-xin, LIU Jing, SHA Xian-zheng
Department of Biomedical Engineering, School of Fundamental Sciences, China Medical University, Shenyang Liaoning 110122, China
It is known that during the teaching process of adaptive fi ltering, the principle of adaptive fi ltering is boring, the content is abstract and the image is diff i cult to understand. In this paper, a novel biomedical signal adaptive fi ltering experimental teaching system based on virtual instrument technology was proposed. The system can be used to the biomedical signal adaptive fi lter processing in an intuitive way and display in the front panel, the corresponding algorithms can be developed and modif i ed in the back panel. The system can be used not only for the establishment of relevant experimental courses, but also for the study of related signal processing algorithms.
virtual instrument; adaptive fi lter; experimental teaching; electrocatdiogram; breath sounds
G434
A
10.3969/j.issn.1674-1633.2017.04.010
1674-1633(2017)04-0033-05
2016-12-22
2017-01-18
国家自然科学基金项目资助(No.81401485)。
沙宪政,教授,主要研究方向为生物医学信号检测与处理。
通讯作者邮箱:xzsha@cmu.edu.cn