基于STM32的血细胞信号识别算法
2021-12-16马圣杰陈炜钢刘郑
马圣杰 陈炜钢 刘郑
摘要:该文针对三分类的血细胞分析仪,采用STM32F103C8T6微处理器作为主控芯片,运用状态分析法对血细胞进行识别,设计了一套血细胞识别与记数系统。整套系统包括电源输入电路、Coulter传感器、AD采集电路、滤波电路、MCU控制电路、按键输入电路、液晶显示电路。血液中的血细胞经过Coulter传感器产生电信号再经放大滤波最终被单片机采集,单片机再根据状态分析法对电信号进行进一步分析,达到血细胞的精准识别与记数的目的。最后使用MDK5编写MCU程序并制作工程样机,通过大量的实验测试,运用状态分析法的血细胞分析仪检测结果高于相应的国家标准。
关键词:STM32;血细胞;血细胞分析仪
血细胞分析仪,是一个已被普遍采用的临床医学检验器械,实质上是指对一定体积内血细胞总量和异质进行分析的仪器设备。其原型是只能对红细胞(RBC)和白细胞(WBC)进行计数的血细胞计数仪(Cell Counter)。本文使用状态分析法会根依据血细胞信号的特点,寻找不同信号之间的特殊差异并对其进行进一步的区分。血细胞信号的时域特点主要有脉冲宽度、脉冲高度、脉冲积分等,频域特点主要包含频域的能量特点。本文需要解决特征信号快速精准识别的难题。
本文通过对血细胞信号识别技术和状态分析法的深入研究,提出一种基于单片机的低成本血细胞分类计数算法。提供更加准确、更加快速的血细胞分析方案。通过工程样机的测试,验证了该方案的稳定性与可行性,使传统血细胞分析仪的速度更快、精度更高。
1血细胞识别原理
库尔特原理的基本内容可以理解为:当一小粒子在经过小孔时,将会形成与其体积大小的对应电流变化,而电流脉冲大小讲会和小粒子体积成正比。血细胞经过 Coulter 传感器之后产生了一系列血细胞脉冲信号,如图1所示
2 血细胞状态分析法
血细胞信号的实验图如图 2 所示,该电信号采用 YOKOGAWA 公司 DL750 数据记录仪采集。
从信号的脉冲宽度看,单峰的脉冲宽度在20us,单个细胞与细胞之间间隔时间不定最小时会出现双峰信号,这给单片机计数带来了非常大的困难。
本文提出通过状态分析法来进行血细胞信号的识别。状态分析法的思路是根据变化趋势把血细胞信号分解成若干个不同的状态。拿一个单峰信号举例,如图 3 所示,一个单峰信号有:
S0:信号初始态;
S1:信号上升,未达到峰值;
S2:信号达到峰值;
S3:信号下降,未达到结束;
S4:信号结束点;
以及在这些状态的过渡状态:S0-1:S1-2、S2-3、S3-4。
一个双峰信号可以划分为图4的几种状态,图中除了包含了单峰信号所拥有的S0、S1、S2、S3、S4、S0-1、S1-2、S2-3 状态之外还新加入了:
S5:信号峰谷;
S6:信号上升,第二次未达到峰值;
S7:信号达到第二个峰值;
S8:信号下降,未达到终点;
以及在这些之间的过渡状态:S3-5、S5-6、S6-7、S7-8、S8-4。
图 4 当中的宽度 D0 记录了一个单峰信号的等效宽度,图 4 中的 D1 记录了双峰信号第一峰的一半宽度、D2 记录双峰信号的第二峰的一半宽度。D0、D1、D2的宽度值将用来判断信号过窄还是过宽,可以来区分干扰信号和正常信号。
血细胞计数算法分成如下几个状态:过渡态、峰值判断状态、宽度判断状态、峰值保持状态。
1)过渡态:使用信号的斜率来判断信号当前是处在上升态、下降态或是持平态。
2)峰值判断状态:通过幅度来确定电信号是否上升到最大值或者下降到某个小值。
3)宽度判断状态:信号的宽度信息可以用来确定信号是否正常,有没有过宽或过窄的信号。出现过宽或者过窄的信号都将算作干扰信号不对该信号进行统计。
4)峰值保持状态:识别到一个有效信号后,统计电路对有用信号进行计数,将识别到的有效信号的峰值(对于溜边信号则是谷值)作为地址对单片机RAM中的变量进行累加。峰值保持模块就是将信号峰值记录,传给统计电路。
3 系统硬件设计
在该血细胞识别系统中,硬件电路包括降压整流电路、库尔特传感器采集电路、小信号放大电路、滤波抬升电路和单片机采集电路等电路。硬件电路系统框图如图5所示。
其中,降压整流电路采用 24 V 直流可调稳压电源代替。由于血细胞信号过于微小无法直接被单片机采集,故需要对血细胞信号进行放大。
经放大后的电信号中,依旧存在着一系列的干扰信号,由此我们设计了滤波抬升电路,使得前端信号更纯粹。
所有的血细胞电信号最终交由MCU微处理器进行算法识别与计数。在本设计中采用3块STM32F103系列单片机进行血细胞的识别,构成了3核的控制系统。分别针对中性粒细胞(大细胞)、淋巴细胞(小细胞)和其他白细胞(中间细胞)进行识别,通过MCU的ADC外设对各类细胞的电信号进行捕捉,运用状态分析法对电信号进行解读,最终完成血细胞识别与计数的过程。
4 样机实验测试
血细胞分析仪实机测试如表1所示。
表二为JJG 714-2012 血细胞分析仪检定规程中的血细胞标准物质技术指标,经过我们的实验,实验数据满足血细胞分析仪国家标准。
5 结论
本文通过采用状态分析法进行血细胞的识别,设计了一套基于STM32的血细胞识别系统,替换了传统FPGA识别计数的方案。实验结果表明,该系统在空白值、重复性和误差等参数上均能满足血细胞分析仪的国标JJG 714-2012。针对目前市面上基于单片机的血细胞分析仪识别精度不高、识别速度慢的问题,通过本方案证明了通过状态分析法进行识别的有效性和可靠性。
参考文献:
[1]姜穗.血细胞分析仪的工作原理及其近期发展[J].医疗设备信息,2004,19(4):36-39
[2]施金良,李宏.基于FPGA的血细胞分析装置设计[J].现代科学仪器,2012,2(1):82-86
[3]施金良. 血球仪数字化关键技术研究[D].宁波:宁波大学,2011.
[4]Melinda E. Fernyhough,Deri L. Helterline,Janet L. Vi-erck1 et al. Coulter Counter use in the enumeration ofmuscle and fat stem cells[J].Methods in Cell Science 2004,25:221-225.
[5]Zheng Zhanga,Jiang Zhea,Santanu Chandra et al. Anelectronic pollen detection method using Coulter countingprinciple[J].Atmospheric Environment,2005,39:5446-5453.
[6]黄民双,张春光 . 基于 Coulter 原理的微细颗粒探测新方法 [J],仪器仪表学报,2001,2(5):483 ~ 485
浙江省大学生科技创新活动计划暨新苗人才计划资助项目(No.2020R424001)
作者简介:马圣杰(1999—),男,浙江宁波人,工程师。研究方向:单片机及嵌入式應用。
通讯作者:陈炜钢(1988—),男,浙江绍兴人,讲师。研究方向:精密医疗器械技术。