基于音频识别的血透机泵状态预警系统设计

基于音频识别的血透机泵状态预警系统设计

李振界,阮祥,李开良

江苏省人民医院 临床医学工程处,江苏 南京 210009

[摘 要] 目的 设计一种基于音频识别的预警系统,用以监测血透机泵运行状态,为血透机的稳定工作提供保障。方法 首先通过麦克风采集泵在故障和正常工作状态下的音频数据;然后对其进行快速傅里叶变换,分别从时域和频域对两种状态的数据进行对比分析,找出特征差异,设计相关判断算法;最后通过实验来验证判断泵故障与否条件的准确性。结果 选取了8个血透机泵进行测试,测试结果与实际情况一致,准确地判断出3个泵处于正常状态,其余5个泵故障或存在故障风险,且该方法对同一对象不同声音样本的检测具有稳定性。结论 本文设计的预警系统,利用音频识别实现了对血透机泵状态的实时监测,便于临床工程人员管理血透设备,具有较高的推广使用价值。

[关键词] 音频识别;血透机泵;快速傅里叶变换;状态预警

引言

在经济全球化的影响下,我国国民经济和社会事业飞速发展,但与此同时各类疾病的发病率急剧上升[1]。作为几大常见慢性病之一的慢性肾功能衰竭,已经对越来越多患者的生命安全构成了威胁[2]。临床上推荐的最佳治疗方法是肾移植和透析[3],但由于目前全球可移植肾脏的稀少和手术成本的昂贵,绝大部分病人必须通过长期透析来维持生命[4]。因此,血液透析机在治疗肾病过程中有重大意义。

透析的过程较为复杂漫长,而且病人需要接受治疗的频率很高。机器过度使用会导致内部关键零件耗损严重,一旦在治疗途中设备出现紧急故障,不仅会危及病人的生命安全,还会对医务人员的工作造成极大影响。如何实现对血透机关键零件高效的预防性维修或保养,是临床工程师面临的主要难题[5]

近年来,国内外许多学者提出了利用声音信号进行系统故障诊断的方法,通过对时域和频域的检测分析,能够有效实现故障的精确诊断。实际上,基于声音信号的故障诊断技术在多个领域都有体现,但在临床工程领域涉及较少[6-10]。将此方法运用到对血透机的故障预警中,对临床工程具有重大意义。另外,鉴于血透机重要部件中各种功能性泵故障概率比较高,所以本文选取除气泵作为研究对象,拟设计一种利用音频识别进行血透机泵状态预警系统来解决这一问题。

1 系统组成

本系统主要由主控模块、音频采集模块、存储模块、电源模块和报警模块五部分组成,系统监测的对象是血透机泵。系统架构框图如图1所示。

1.1 主控模块

Arduino是一款便捷灵活、方便上手的开源电子原型平台[11],由于其体积小巧、开发简便、性价比高、稳定性强以及支持跨平台等一系列优势,能够大力节约学习成本,缩短开发周期,已经受到越来越多专业人士的青睐和普及[12-13]。本文采用基于ATmega328P的开发板Arduino Nano作为核心控制模块[14],通过音频采集模块对血透机除气泵进行录音得到时域信号,再利用FFT方法将采集到的时域信号转换为频域信号,分别分析两类图谱是否符合设定要求,判断声音正常系统继续工作,否则触发报警模块发出警示信号,同时所有采集到的信号将被保存在存储模块。

图1 系统架构框图

1.2 音频采集模块

本设计采用以MAX9814芯片为核心制作的音频放大器模块作为MIC传感器[15],用以采集声音信号,传输给主控模块进行处理。内部采用自动增益控制(Automatic Gain Control,AGC)和可变增益放大器(Variable Gain Amplifier,VGA)进行增益调节。该模块集成噪声前置放大器、麦克风偏压发生器、输出放大器以及AGC控制电路,能够很大程度降低外界干扰,动态设置缩放比和40、50、60 dB三种总增益,完美重现周围声音。MAX9814模块采用节省空间14的引脚封装,耗能低、响应快,工作在-40℃~+85℃的扩展级温度范围,即使血透机进行高温消毒也能稳定运行,充分契合本系统设计要求。

1.3 存储模块

存储模块用于存储采集到的音频信号,主控芯片读取后进行处理分析,同时将结果一并保存为WAV格式便于以后巡检血透机时回顾和检查。本设计采用4 GB大容量SD卡作为存储元件,具有体积小巧、数据传输速率快、可热拔插等优良性能[16]。前置电平转换电路,输出3.3 V进行二次稳压,从而确保为SD卡提供稳定输入。

1.4 报警模块

报警模块采用无源蜂鸣器进行报警提示。无源蜂鸣器性价比高、频率可控,直接输入直流电无法正常工作[17],需要特定方波信号触发。本文采用Arduino自带库函数tone进行驱动,内部参数分别对应输出引脚、声音频率和持续时间,通过设置不同数值即可按照自身需求控制蜂鸣器报警。电路图如图2所示。

1.5 血透机泵

一个性能良好的除气泵在额定电压状态下工作,转动声音顺畅且较轻[18-19],当其长时间使用时,会产生内部轴承卡顿、转子损耗、碳刷磨损等现象,转动时容易发出异响。为了减少损失,临床工程师需要注意及时进行泵检查。本设计通过音频识别对血透机泵进行工作状态的监测,从而实现预警功能。选取我国医疗机构中使用率较高的费森尤斯4008系列血液透析机作为研究对象,对其除气泵进行实验。实物如图3所示。

图2 蜂鸣器报警电路

图3 除气泵实物图

2 软件设计

本系统软件设计主要包含声音采集、快速傅里叶变换(Fast Fourier Transform,FFT)、特征判定算法三个部分,工作流程如图4所示。

图4 蜂鸣器报警电路

血透机运行,系统开始工作。首先麦克风对除气泵发出的声音进行录音,采集到的音频信号存入SD卡中;然后MCU读取数据,判断信号时序图是否满足平稳状态的条件,不符合则会立刻触发蜂鸣器报警,提醒工程师注意及时检查除气泵;最后当时域信号无异常时,对其进行FFT处理,判断频域信号与标准信号是否存在明显差异,如果处于正常状态则继续检测音频数据,否则进行报警处理。

图5 声音采集程序流程图

2.1 声音采集

费森尤斯4008系列血液透析机在运行14000 h后,水路原件会逐渐老化,导致除气泵灵敏度降低[18]。除气泵由泵头和电机组成,主要故障集中在电机上,而电机最容易磨损的原件为碳刷。碳刷首次使用时间超过15000 h或更换后再次使用时间超过10000 h的除气泵容易发生故障。泵头故障时,会有明显异响[19]。因此,试验组正常信号选择全新除气泵为采集对象,故障信号选择因泵头损坏或电机磨损导致机器Flow Alarm报警或多次自检、消毒不能通过的除气泵(首次使用时间均超过14000 h)为采集对象,每个对象都采集10组样本。

本文在声音采集过程中,设定采集条件为固定MIC距离除气泵5 cm处,统一提供24 V电压。每5 min录制一次音频(时间间隔可自行设定),每次录制30 s用于后续处理。具体程序流程图如图5所示。主控芯片运行后,首先利用SPI.h库函数和SD.h库函数完成SPI程序和SD卡程序初始化,然后对各类引脚进行设置,包括MAX9814模块以及SD卡存储模块,确保数据完好的输入和输出,随后开启定时器中断,并设置以38.64 kHz的采样频率进行录音,采集到的音频信号自动生成一个WAV文件保存至SD卡中,便于MCU进行读取和处理。

2.2 FFT

FFT是一种用于高速并且有效计算离散傅里叶变换的常用方法之一,能够将一个信号从时域转换成频域。对频域进行分析,是故障诊断中信号处理最重要和最常用的分析方法。当系统发生故障时,观察频域特征能够有效确保诊断分析的精度和可能性[20]

在进行FFT变换之前,首先需要对声音的模拟信号进行ADC处理。Arduino内置模数转换器,可以将输入信号转换成数字样本。通过ADC预分频器配置为32分频,将ADC采样时钟频率设置为38.64 kHz。除气泵工作时声音的大致频率范围在0~7 kHz之间,根据奈奎斯特定理,采样频率为38.64 kHz代表输入频率可以高达19.32 kHz,因此非常适合音频信号的采样。Arduino拥有ArduinoFFT库函数,它是将模拟信号转换为频谱的核心代码,操作简便,且输出精确[21-22]

2.3 特征判定算法

特征判定算法包含对时序图和频谱图的判断,通过实验分别找出除气泵在故障和正常工作状态下两类图谱明显差异,然后基于此方法设计特征算法,判定输入的音频信号是否满足正常信号的条件,最终实现本设计系统对血透机泵进行状态预警的功能。

2.3.1 时序图判断算法

通过对时序图的判断,我们可以去除一部分明显处于损坏严重或者是出现故障的音频信号。具体方法如下:

(1)截取信号,展示时序图。随机选取实验组两种状态下某一段音频信号。在本设计中每一次选取4096个点进行展现(图6)。对比发现,正常工作状态下除气泵音频信号的时序图波形平稳,幅值基本小于0.6 V,且不会出现突变情况。

图6 故障与正常时序图

(2)设计时域中的判断算法。峭度是故障信号时域分析中常用的无量纲特征参数,与轴承转速无关,对脉冲冲击成分敏感,对元件破损类故障容易检测出来,非常适合系统故障的初步诊断[23]。计算公式如式(1)所示。

其中xi为信号值,为信号均值,σi为信号的标准差。当系统正常工作时,参数值维持在3左右,而当系统发生故障时,峭度值会升高至4~8及以上[23]

首先根据公式(1)计算出实验组中所有样本的峭度参数如表1所示。泵头故障因有明显异响可直接识别,因此设定峭度值4为时域信号阈值,参数超过阈值便会触发蜂鸣器报警。电机故障需进一步进行判断。

表1 峭度参数对比

正常 泵头故障 电机故障3.105 7.422 3.922 3.198 6.923 3.738 2.827 8.493 3.886 3.201 4.771 4.251 3.284 5.329 3.963 3.361 5.631 3.717 3.156 7.252 5.239 2.986 8.933 3.875 3.117 6.874 6.931 3.073 7.545 3.814

2.3.2 频谱图判断算法

时域判断完成后,通过对频谱图的分析来进一步辅助判断泵是否存在故障。频谱图先由单片机处理得到,然后利用MATLAB软件对其进行测试分析,包括特征提取和设计判定算法,当测试完成,利用单片机按照测试方法进行编程,最后实现分析功能。 声音采集的过程为每5 min录制一次音频,每次录制30 s用于后续处理,作频域分析时,选取样本中间时段进行分析。具体操作如下:

(1)FFT运算。首先,对正常信号样本和2.3.1节未筛选出来的电机故障信号样本随机选取一种分别进行FFT处理,得到相对应的频谱图。在进行频谱分析时,设定采样频率为38.64 kHz,信号长度为4096个点,频谱分辨率公式如式(2)所示。

其中,fs为采样频率,N为采样点数。根据公式(2)可得频谱分辨率为9.4 Hz。

(2)频谱图包络。将每段信号的频谱图以16个点为一组分成256组(一共选取4096个点),选取每一组中振幅最大值作为该组数据的特征值,依次用曲线连接,得到整个频谱图的外形包络图如图7所示。

图7 正常与故障样本频域包络图

(3)观察、总结判定条件。通过观察频谱包络图,发现正常状态下频谱信号在2000~3000 Hz之间存在一个急速上升然后缓慢下降的波形,对比两者图像可以得出,正常信号区间内包络线与频率轴组成的面积大于存在故障的信号。计算所有正常信号和电机故障信号在该区间面积,分析结果发现,正常信号对应参数均高于400 Hz.V,而故障信号对应参数低于400 Hz.V,故设定400 Hz.V为频域特征阈值。因此,频域判定方法为:计算样本2000~3000 Hz区间内包络线与频率轴组成的面积,参数小于400 Hz.V,则判断为故障信号。

3 结果

本文选择8个具有不同老化程度的除气泵进行验证测试,分别为:① 首次使用5000 h;② 首次使用10000 h;③ 首次使用16000 h;④ 更换碳刷后使用8000 h;⑤ 更换碳刷后使用12000 h;⑥ 泵头损坏;⑦ 首次使用15000 h;⑧ 更换碳刷后使用10000 h。时间可由血透机自身运行时长装置获得,其中①、②和④泵功能完好,装机后可正常工作;③、⑤和⑥泵为拆机后检测为故障状态;⑦和⑧泵为偶尔自检或消毒不能通过,多次尝试后通过血透机可正常工作,根据经验为内部碳粉过多,继续长时间使用有故障风险,拆机后需要更换碳刷或保养转子等部件。

对测试组8个具有不同老化程度的泵进行声音的采集,随机截取其中三段信号,按照2.3节所示步骤分别进行时域和频域的分析,结果如表2所示。通过测试数据可以看出,对样本进行时域和频域参数的对比分析,能准确地判断除气泵处于正常、故障状态或存在故障风险(样本两个参数需同时符合判定为正常信号的条件,才能最终确定属于正常状态,否则诊断为故障状态或存在故障风险),且对同一对象不同声音样本的检测具有稳定性。

4 讨论

利用本系统完成了血透机除气泵故障判断算法验证,对除气泵音频信号分别进行时域和频域分析,当其时域特征参数峭度值大于4,或频域特征参数小于400 Hz.V可以判定除气泵处于故障状态或存在故障风险,发出报警信息,由此本系统可以实现状态监测和预警功能。

随着技术的不断发展,本系统可以进一步提升。利用物联网技术将报警信息通过无线传至云端,再由云端传输到手机终端,方便工程师及时了解血透机泵状态从而快速响应,缩短维修和预防性保养时间。通过对时域和频域判断算法的改进,提升整体运行速率,使系统性能得到改善。

表2 测试结果对比图

测试对象 时域参数 频域参数/Hz.V 3.097 461①3.170 458 3.102 445 3.514 431②3.509 443 3.497 449 4.059 381③3.969 395 4.073 384 3.034 439④2.989 426 3.107 437 3.155 350⑤3.191 339 3.102 335 6.908 412⑥7.133 425 6.950 409 3.103 398⑦3.219 391 3.112 389 3.203 395⑧3.171 394 3.086 398

5 结论

本文设计的预警系统,利用音频识别实现了对血透机泵状态的实时监测,筛选出破损或存在故障风险的泵,从而提醒医工人员进行维修和预防性保养。该系统可以减少血透机故障次数,降低不良事件发生率,提高科室人员工作效率,一定程度为病人人身安全提供了坚实保障。本系统具有较好的实用性,可在血透中心推广使用。

[参考文献]

[1] 汪垟.费森尤斯4008B血透机流量故障维修两例探讨[J].中小企业管理与科技旬刊,2016,16(1):274.

[2] 郭文锋.费森尤斯4008S血透机维修实例[J].中国医疗器械信息,2018,24(1):158-159.

[3] 董艳姣.血液透析滤过治疗慢性肾功能衰竭患者的效果分析[J].全科口腔医学杂志(电子版),2019,(6):129.

[4] 杨平.血液透析患者深静脉置管感染的预防及护理[J].基层医学论坛,2011,(20):92.

[5] 冯虎田,殷爱华,韩军.故障设备最优预防性更换方法应用研究[J].南京理工大学学报(自然科学版),2003,(3):57-60.

[6] 孙建,刘文杰.基于声信号的汽车底盘故障诊断方法研究[J].汽车维修,2015,(6):16-18.

[7] 吴胜强,姜万录,赵利颇.基于声音信号的核主元故障诊断法[J].机床与液压,2016,44(1):192-195.

[8] 王新杰.机车牵引电机声音检测与故障诊断系统应用研究[J].计算机应用与软件,2016,33(10):104-107.

[9] 曾荣,曾锐利,梅检民,等.基于声信号和BP神经网络的柴油发动机故障诊断[J].军事交通学院学报,2017,(12):26-31.

[10] 郝洪涛,倪凡凡,丁文捷.基于声音信号的托辊故障诊断方法[J].噪声与振动控制,2019,39(3):187-192.

[11] 刘须悦,王豆,沈照远.基于Arduino控制的智能浇花系统的研制[J].黄河科技学院学报,2019,21(5):85-87.

[12] 王臻,李建军,康辉,等.基于Arduino的电驱精密播种控制系统[J].中国科技信息,2019,18(33):82-83.

[13] 房圣,张晶,曾旭,等.基于Arduino的智能安防报警系统开发与设计[J].价值工程,2016,35(26):144-148.

[14] Zakaria MF,Soon TJ,Rohani MM.Bus driving assistance system for town area by using ATmega328P microcontroller[A].Advances in Electrical & Electronic Engineering: from Theory to Applications: International Conference on Electrical &Electronic Engineering[C].Xiamen:ECAE,2017.

[15] 徐日,胡晓.基于FPGA的FM无线语音收发器设计[J].信息通信,2018,(1):136-137.

[16] 苏海洋,谢军,徐凯琳.基于51单片机外置存储器字库系统的设计[J].电子世界,2017,(2):72-73.

[17] 付瑞玲,王宁,杜志强.基于多传感器信息融合的火灾报警器设计[J].计算机测量与控制,2018,26(1):206-208.

[18] 景晓川.费森尤斯4008系列血液透析机除气泵维修保养探讨[J].中国卫生产业,2018,(8):159-161.

[19] 丁页佳,徐安平.费森尤斯4008血液透析机除气泵的相关故障及检修[J].医疗装备2016,29(9):75-76.

[20] 赵宣铭.机械故障诊断的信号处理方法:频域分析[J].时代农机,2017,(10):96.

[21] 胡丽莹,肖蓬.快速傅里叶变换在频谱分析中的应用[J].福建师范大学学报(自然科学版),2011,(4):33-36.

[22] Lian KY,Hsiao SJ,Sung WT.Mobile monitoring and embedded control system for factory environment[J].Sensors,2013,13(12):17379-17413.

[23] 穆峰.基于声音信号的故障诊断研究及应用[D].济南:山东大学,2016.

Design of Early Warning System for Hemodialysis Pump State Based on Audio Recognition

LI Zhenjie, RUAN Xiang, LI Kailiang
Department of Clinical Medicine Engineering, Jiangsu Province Hospital, Nanjing Jiangsu 210009, China

Abstract: Objective An early warning system based on audio recognition is designed to monitor the running state of the hemodialysis pump, so as to ensure the stable operation of the hemodialysis machine. Methods Firstly, the microphone was used to collect the audio data of the pump under fault and normal working conditions. Then, the fast Fourier transform was carried out to compare and analyze the data of the two states from the time domain and the frequency domain respectively, in order to find out the characteristic diff erences and design the relevant judgment algorithm. Finally, the accuracy of the condition to judge whether the pump failure was verified by experiments. Results Eight hemodialysis machine pumps were selected for testing, and the test results were consistent with the actual situation. It was accurately judged that three pumps were in normal state, and the remaining five pumps were in failure or risk of failure, and the method was stable for the detection of diff erent sound samples of the same object.Conclusion The early warning system designed in this paper realizes the real-time monitoring of the status of hemodialysis pump by using audio recognition, which is convenient for clinical engineers to manage hemodialysis equipment, and has high practical value.Key words: audio recognition; hemodialysis machine pump; fast Fourier transform; state early warning

收稿日期:2020-03-04

作者邮箱:513156813@qq.com

[中图分类号]R197.39;TK323

[文献标识码]A

doi:10.3969/j.issn.1674-1633.2021.01.011

[文章编号]1674-1633(2021)01-0057-05

本文编辑 崔丽君