基于MMA7260的人员脚步声采集系统设计
2013-05-14孙宏志周文军韩亮亮
徐 彭,孙宏志,周文军,韩亮亮
(中国矿业大学 机电学院 计算机系,北京 100083)
在人独特的生理特征和行为特征中,人员的脚步声作为一种新兴的生物识别技术正受到越来越多的研究者的关注。较之人脸、指纹、虹膜等其他的生物特征[1],人员的脚步声具有在非接触或者隐蔽的状态下进行人身份鉴别等优点。由于人的生理特征比较稳定,不易被窃取,因此在生物识别中具有更大的优势及准确性。现今生物识别技术已经逐渐成为一种公认的应用较为广泛的身份认证技术[2]。
而生物识别技术是在大量的原始数据的基础上进行的,因此本文就人员的脚步声的采集系统进行了设计。设计中采用MMA7260三轴加速度传感器采集人员的脚步声信号,经过 STM32101C8T6微控制器(MCU)的处理将数据传送到上位机显示。该采集系统外形小巧,易于安装,能够准确地采集到人员的脚步声信号,为后续的脚步声的特征提取及多人脚步声信号分离提供大量的原始数据。
1 人员脚步声采集系统方案设计
人员脚步声信号采集系统由硬件系统和软件系统两部分组成。在硬件系统设计中,通过MMA7260三轴加速度传感器同时采集人员脚步声3个方向的加速度信号,将采集到的数据通过STM32的A/D转换器进行转换、存储。在与上位机的通信过程中,STM32将转换后的数据通过无线发射模块或者串口发送到上位机上,供上位机处理。硬件系统总体框图如图1所示。
图1 硬件系统框图
在软件系统设计中,由微控制器软件系统和上位机软件系统两部分组成。单片机软件系统包括驱动程序和应用程序两部分,如图2所示。在驱动程序中,首先需要配置好信号采集过程中用到的A/D驱动、DMA驱动和存储驱动等。在应用程序中,主要是编写A/D采集程序及与上位机通信程序。在上位机软件设计中,将采集到的脚步声信号转换成模拟信号,并将模拟信号波形显示出来。
图2 软件系统框图
2 脚步声采集系统硬件设计
2.1 STM32101C8T6与MMA7260
STM32F101C8T6基于ARM 32 bit的Cortex-M3内核,其具有丰富的外设:2个 SPI接口,3个 USART接口,10通道的A/D,并且具有DMA、定时器等,可以满足本系统的需求。因此选取STM32F101C8T6 MCU作为主控制芯片。
MMA7260Q[3]是一种低成本、单芯片、三轴向、高灵敏度的加速度传感器,基于表面微机械结构,集成信号调理电路、单极点低通滤波器和温度补偿部分,并且具有4种不同的灵敏度选择模式。本设计采用MMA7260来测量人走路时三维的加速度信号[4]。MMA7260的功能如图3所示[5],X、Y、Z 3个相互垂直方向上的加速度由G-Cell传感单元感知,经过容压变换器、增益放大、滤波器和温度补偿后,以电压信号输出。
图3 MMA7260功能框图
2.2 硬件系统总体设计
人员脚步声采集系统以STM32101C8T6 MCU为核心,STM32 的工作电压(VDD)为 2.2~3.6 V,MMA7260 的正常工作电压范围也是2.2~3.6 V,因此选择3节1.2 V电池进行供电,能够满足系统要求。
MMA7260的3个加速度输出管脚分别与STM32的A/D转换器中的3个通道相连。由于MMA7260内部使用开关电容作为滤波器,为降低时钟带来的噪声,在输出通道上采用RC滤波,在输出通道上使用1 kΩ的电阻和0.1 μF的电容构成RC滤波器。为了更加准确地采集到人员脚步声加速度信号,在硬件电路实现时,还应保证MMA7260与STM32的物理连接距离最短,在板卡元器件布局过程中,将MMA7260放在板卡的背面,STM32放在板卡的正面,两者正对放置,保证了硬件连线最短。这样既减少了寄生电阻、寄生电容的产生,同时也防止了加速度信号的衰减和噪声的干扰。
为了能让采集系统和上位机通信,在设计过程中利用MCU的USART外设外接MAX3232芯片进行电平转换,引出RS-232接口通过串口线与上位机进行通信。同时,预留了 SPI接口,可以外接 UTC1212SE无线发射模块,方便地与上位机进行无线数据传输。
硬件电路的设计首先应该按照硬件板卡所要实现的功能及总体功耗来选取适当的器件进行设计。为了达到硬件板卡的小型化及低功耗的目的,在选择元器件时都选用贴片形式,而整个板卡34 mm×26 mm的尺寸也是比较小巧的,方便了硬件板卡的安装及放置。在选择芯片时都选用了带有休眠功能的芯片,在没有脚步声信号到来时,芯片都处于低功耗状态;脚步声信号到来时自动唤醒芯片,进行脚步声信号的采集,有效地降低了系统功耗。
3 脚步声采集系统软件设计
3.1 单片机软件系统设计
在软件系统设计中,首先根据硬件电路图配置相应的I/O端口:配置USART引脚;设置g-Select1和g-Select2为 0、1; 将 MMA7260的测量范围调整到 4 g,精度调整到 300 mV/g;X轴、Y轴和 Z轴 3个方向上分别配置成与STM32101C8T6的第7个、第8个和第9个模数转换通道等。
当MMA7260采集到人员脚步声3个方向的加速度信号时,STM32101C8T6内置的模数转换器开始采样,经过A/D转换后,将转换后的数据通过DMA传输存储于内存中。
图4 单片机软件流程图
本系统采用了1 000 Hz的采样频率。在实验中, X轴、Y轴和Z轴3个方向上均记录5 000个数据, 每个数据占用2 B,3个方向的数据总共需要30 KB的存储空间。为了保证采集信号时间的准确性,在软件设计中选用了STM32101C8T6的TIMER1来产生定时器中断。每1 ms产生一次定时器中断,在中断程序中开始采集脚步声信号,并将其存储到存储区。其流程图如图4所示。
3.2 上位机软件设计
在上位机软件设计中,当上位机接收到数据以后,首先判断协议头数据是否正确,若正确,则连续接收后面的数据。数据全部接收完成以后,将3个方向的加速度数字信号分别转换成相应的模拟信号。转换完成后分别将3个方向上的模拟量绘图显示出来,整个程序流程图如图5所示。
图5 上位机软件流程图
4 实验结果与分析
为了采集到准确的脚步声信号,在实验中采集了大量的原始脚步声信号。实验环境在噪声比较小的封闭教室内进行,将硬件板卡的背面(即有MMA7260那面)与地面紧密接触。测试对象分为单人和多人几组进行,在单人测试过程中测试对象以T=0.5 s左右的步频行走5 s;多人测试过程中所有的人也都以T=0.5 s左右的步频行走5 s,但每个人的开始行走的起始点不同。
单人脚步声测试以Y轴方向的加速度信号为例,测得的加速度信号如图6所示。图6中纵坐标代表加速度信号的强度,横坐标代表行走时间。测试实验结果表明,脚步声信号具有一定的周期性,每隔0.5 s左右能够检测到一次脚步声信号;脚步声信号的持续时间与人员的行走方式有一定的关系;人员离传感器距离越来越远时,脚步声信号的强度逐渐降低。
图6 单人脚步声信号
多人脚步声测试Y轴方向的加速度信号为例,测得的加速度信号如图7所示。图中纵坐标代表加速度信号的强度,横坐标代表行走时间。测试结果表明:多人的脚步声信号混杂在一起,在噪声比较小的环境中能够明显看出多人脚步声信号的整体轮廓;在脚步声比较密集时,混杂在一起的脚步声信号波形也比较密集,在脚步声比较稀疏时,混杂在一起的脚步声信号波形也比较的稀疏;每个人的脚步声信号强度也有些差异。采集到的大量的原始数据,为后续的多人脚步声信号的分离提供了准确的数据。
图7 多人脚步声信号
本文设计的人员脚步声采集系统板卡小巧,易于放置,系统整体功耗低,能够不间断地长时间工作。实验结果表明,此采集系统能够准确地采集到人员的脚步声信号。采集得到的大量的原始信号为后续的单人脚步声的特征提取及多人脚步声的信号分离都提供了准确的数据。在下一步的工作中,将利用采集到的原始信号分离出单一的脚步声信号。
[1]薛召军.步态识别研究现状与进展[J].生物医学工程学杂志,2008,25(5):1217-1221.
[2]田捷,杨鑫.生物特征识别技术理论与应用[M].北京:电子工业出版社,2005.
[3] Freescale.MMA7260Q data sheet[EB/OL].http://www.freeseale.com/webapp/sps/prod-sunmaary.jsp?code=MMA7260Q&srch=1,2006-03-02.
[4] 李爽,罗志增,孟明.基于加速度传感器的下肢运动信息获取方法[J].机电工程,2009,26(1):5-7,16.
[5] 侯向锋,刘蓉.加速度传感器 MMA7260在步态特征提取中的应用[J].传感技术学报,2007,20(3):508-509.