基于安卓系统的轨道车辆ISO2631舒适度测量仪
2020-02-22常顺华王卉捷任利惠
常顺华,王卉捷,任利惠
(同济大学 铁道与城市轨道交通研究院,上海 201804)
车辆运行时使乘客处于机械振动之下,这种振动影响他们的舒适感,甚至会影响健康和安全。因此,为了降低振动产生的不适感,满足人们出行舒适健康的需求,有必要对客车进行振动舒适度的测量[1]。
车辆振动舒适度评价标准主要有ISO2631标准、EN12299标准、Sperling指标等。在车辆振动舒适度测量仪器研发方面,国内研究学者已经取得了一定的成就:朱亮等人发明了一种基于ISO2631标准的RCM-0201型乘坐舒适性测量仪[2],任利惠等人设计了基于Sperling指标的虚拟仪器平稳性测量仪[3],陈海波等人开发出基于UIC513评价标准的舒适性测量系统[4],彭波提出了铁道客车振动舒适性虚拟试验系统构架[5],杨志等人研制了一种基于DSP的噪声舒适性测量装置[6]。这些仪器尽管能够实现车辆舒适度的测量,但都存在采集设备携带不方便,后期数据处理繁琐,推广程度不高的问题。随着移动终端设备的普及,安卓智能手机已经成为人们日常生活的必需品,其内置各类加速度传感器、全球定位系统(GPS),以及CPU,为列车舒适度测量仪的开发提供了良好的平台,魏丽丽等人设计了能在安卓智能终端查看测试数据的便携式AF904数字轨道测试仪[7],王卉捷等人基于安卓手机开发了Sperling平稳性测量仪[8]。基于上述的研究,为了实现轨道车辆ISO2631标准测量设备的便携化、通用化,本文通过双线性z变换和差分方程设计了ISO2631数字滤波器算法,借助高度模块化程序,设计开发了基于安卓系统的轨道车辆舒适度测量仪应用软件。
1 ISO2631频率计权数字滤波器设计
1.1 ISO2631标准
ISO2631给出了1 Hz~80 Hz的低频振动环境中人体舒适度的评价方法,该标准指出:振动频谱包含多个振动分量或是一个宽频带的振动时,使用加权加速度有效值方法更合适[9]。正交坐标系下振动所决定的计权均方根加速度的振动总量 (简称:ISO振动总量)按式(1)计算:
式中,kx、ky、kz分别为对应于正交坐标轴x、y、z的方向因数。awx、awy、awz为对应于3个方向的频率计权均方根加速度,由窄带数据或1/3倍频程带数据的计权求和确定,按式(2)计算。
式中,wi是1/3倍频程中第i个频带的计权因数,可在文献[9]中查找;ai是相应的第i个频带的均方根加速度。文献[9]和文献[10]分别给出了水平方向(x,y)和垂直方向(z)用于振动对固定导轨运输系统中人员舒适度影响的预测频率计权因数,为Wd、Wb,对应的站立状态下的方向因数为kx=ky=kz=1,传递函数如式(3)和式(4)所示:
式中,Hd是水平频率计权传递函数,由频域下的高通滤波、低通滤波、加速度–速度转换、高阶传递函数组成;Hb是垂向频率计权传递函数,由带通滤波器、权重滤波器的传递函数组成。
1.2 IIR数字滤波器设计
数字滤波器是完成频率选择或频率分辨任务的线性时不变系统,它实际上是一种数据流的运算过程,具有高精度、高准确度、高鲁棒性、高可靠性、低功耗和低成本的特点[11]。如果一个线性时不变系统的冲击响应具有无限长度,则称其为IIR数字滤波器。本文设计的滤波器因为对线性相位没有要求,所以选择比FIR滤波器设计阶数低、计算简单、占用内存少、价格低廉的IIR滤波器。
IIR数字滤波器典型传递函数是z的有理函数,其表达式如式(5)所示:
式中,bm和an为分子和分母系数,多数情况下M≤N。
假设IIR滤波器的采样信号X(z),输出信号Y(z),那么可得:
对式(6)进行z的逆变换,在时域,输入信号x(t),滤波后的输出信号为y(t),两者满足差分方程,如式(7)[11]。
数字滤波器间接设计的方法之一是通过模拟滤波器转换而成,即需要找到模拟滤波器和数字滤波器的映射关系。常见的映射办法有冲激响应不变法和双线性z变换法,由于后者具有不存在频率特性混叠失真、变换方法简单等特点,本文采用双线性z变换方法进行数字滤波器的设计。其变换关系如式(8):
式中T是采样周期,满足T=1/fs,fs是采样频率。
Matlab中的bilinear函数基本原理是双线性z变换法,借助函数式(3)和式(4)的分子分母系数和采样频率,即可得到数字水平计权因数传递函数Wd(z)的分子分母系数,如表1所示,对应的表达式为式(9),垂向计权因数传递函数Wb(z)的分子分母系数,如表2所示,对应的表达式为式(10)。
表1 数字水平计权因数传递函数Wd(z)的系数
表2 数字垂向计权因数传递函数Wb(z)的系数
2 ISO2631测量仪应用软件设计
2.1 软件目标功能与结构
ISO2631舒适度测量仪的主要功能分为3部分:数据采集与处理,数据实时显示,数据选择性存储。
(1)数据采集与处理:利用安卓内置的加速度传感器采集坐标轴x、y、z三向加速度,当采集的数据达到一定数量时,对数据进行降噪和滤波处理,再根据式(1)计算ISO振动总量。同时利用GPS获取时间、经纬度和速度信息。
(2)数据实时显示:用户界面实时显示获取的速度、经纬度、ISO振动总量信息;可供用户选择是否存储数据的功能按钮;三向加速度动态显示曲线。
(3)数据选择性存储:用户根据需要选择性存储所需数据,包含可记录时间、速度、经纬度、ISO振动总量的文本文件;能记录三向加速度和时间的轻量数据库文件。
根据上述的目标功能设计程序模块及其接口,如图1所示。数据采集与处理模块通过传感器、GPS获取的信息为另外两个模块提供了数据。数据实时显示模块是用户交互界面,可将采集信息打印在屏幕上,用户根据需要控制数据是否存储。数据选择性存储模块在前两个模块的基础上记录相关信息,记录加速度的轻量库为ISO振动总量的计算提供控制条件,文本文件则便于用户后期导出查看。
2.2 算法设计
2.2.1 数据采集与处理算法
2.2.1.1 数据采集算法
安卓系统提供了GPS开发接口,在on Location Changed方法中,通过Location Listener进行监听,得到设备的经纬度、速度信息。速度单位是m/s,程序里换算为km/h。在on Status Changed方法中,通过Gps Status Listener监听,得到设备时间信息,时间格式为:年_月_日时:分:秒。
图1 程序运行流程图
安卓手机内置有加速度传感器Sensor.TYPE_ACCELEROMETER,重力传感器Sensor.TYPE.GRAVITY。在onSensorChanged方法中,通过switch-case方式,分别调用加速度传感器和重力传感器,SensorListener进行监听,SensorEvent返回传感器数值,并在每次传感器数据更新时获取三向加速度,单位m/s2。安卓坐标系统中,当手机屏幕正面朝上时,坐标原点位于屏幕左下角,x轴正方向水平向右,y轴正方向水平指向顶部,z轴正方向垂直屏幕向下。由于轨道车辆车体振动频率在40 Hz以内,设置程序采样频率为100 Hz,满足采样定理。
2.2.1.2 降噪处理算法
该算法目的是引入降噪系数alpha,降低重力对采集数据的影响。通过式(11)对初始的加速度进行处理。式中,alpha=0.8[8],gravity[i]为重力传感器采集的加速度值,sensorEvent.values[i]为加速度传感器采集的加速度值。i={0,1,2}对应坐标轴x、y、z3个方向。
gravity[i]=alpha*gravity[i]+(1-alpha)*sensorEvent.values[i];
2.2.1.3 IIR滤波和ISO振动总量计算算法
通过式(9)、式(10)和差分方程式(7),实现对降噪后加速度的滤波,此时得到的振动加速度值即为影响舒适度的值。再由式(1)计算得到ISO振动总量,从而实现对人体乘坐列车舒适度的评价。
2.2.2 数据实时显示算法
如图2所示,ISO2631测量仪用户界面从上至下依次为:速度、经纬度、振动总量数据显示区;用户根据所需记录相应时段数据的操作按钮;将三向加速度值以动态曲线形式实时展现的图表区。
图2 用户界面
其中,动态曲线的绘制方案为,建立固定长度的数组,将数据不断从头至尾添加进去,每添加一条数据,所有数据前移一位,同时更新图表,即可实现动态曲线的效果。具体步骤如下:
(1)建立数据集用于存放绘制表格用的三向加速度数据;
(2)设置图表、曲线的各项属性;
(3)在on Sensor Changed方法中添加up date Chart()和up date Chart1()函数,实时更新图表中三向加速度数据信息;
(4)在主线程中添加句柄和延时函数完成定时更新图表的功能。
2.2.3 数据记录算法
2.2.3.1 加速度记录算法
安卓系统提供了轻量型数据库SQLite和其相应的接口供开发者使用。获取写入手机内存权限和SQLite数据库读写权限后,通过addDB函数将获取的加速度值其写入命名为note的数据库中。该数据库除了三向加速度列和一个时间列外,还包含一个识别码列。当采集的数据量达到一个时间段,识别码为1,这部分数据用于计算ISO振动总量。每次执行完一次完成计数段,将之前所有数据的识别码置0。
2.2.3.2 控制按钮算法
该算法的目标功能是用户通过用户界面的“开始记录”和“停止记录”按钮选择性记录数据。设置与按钮控件相关联的按钮变量和监听器,当监听器监听到按钮动作时,触发相应函数。数据记录函数插入在延时函数中,实现“开始记录”按钮按下时,记录数据。“停止记录”按钮通过改变一个布尔量的值停止记录。
2.2.3.3 ISO2631振动总量、速度、经纬度记录
当存储函数第一次触发时,创建以时间命名的txt文件,此后,每隔7 s进行一次函数写入操作,连续写入4组数据,每组数据相隔1 s,依次记录时间、经纬度、速度、ISO振动总量信息,同时增加图表刷新功能,防止数据覆盖。当停止按钮变量值变化后,停止记录。
2.3 使用说明
(1)该软件需要在Android4.2.2及以上版本中运行;
(2)软件运行时需打开手机GPS,允许GPS定位,否则无法获得速度和经纬度信息;
(3)测试时,手机屏幕朝上,左下角为坐标原点,向右为x轴方向,即列车的前进方向。手机放置地板上测试站立时舒适度,手机放置座位上测试坐着的舒适度;
(4)数据库文件和txt文件存在手机根目录下,开启root权限后,可在data/com.sh.iso2631目录下找到相应文件。
3 软件测试
根据上述算法设计完成的ISO2631舒适度指标测量仪应用软件能否使用,还需对其性能做进一步测试。
3.1 测试设备
舒适度指标测试方法有2种:(1)通过加速度传感器采集数据,采用Labview软件分析数据,后续文中称该方法为参考标准法;(2)采用装有ISO2631舒适度测量仪的安卓手机。本次试验所需的测试设备,如表3所示。
表3 测试设备
3.2 测试方法
对上海张江Translohr胶轮有轨电车张东金秋路—张江地铁站进行舒适度测试,按照GB/T4970–2009《汽车平顺性试验方法》进行测点布置如图3所示。为不影响车辆正常运营,选择图3中的3个测点,人体姿态站立。测试的车速为20 km/h、30 km/h、40 km/h、50 km/h。
图3 车体测点布置示意图
3.3 测试结果
从手机的根目录中导出txt文件,选择每4 s数据中最后一组数据进行分析,图4给出了测点3的7 min内共60组数据时间历程图,可以看出加减速时,ISO振动总量增大,这是因为x方向加速度突然增大造成的。图5给出了ISO振动总量与车速的关系,车速越高,振动总量越大,人体感觉越不舒适。
对比参考标准法的结果,如表4所示,可知ISO舒适度测量仪的结果比参考标准法偏大,基本在15%以内。当车速达到50 km/h时,差值达到20%左右。差值随着车速的增高有增大的趋势。图6给出了3个测点分别采用两种测试方法的结果对比,可以看出,同一车速下,头车的舒适度最差,尾车的舒适度最好。
图4 测点3时间历程图
图5 ISO振动总量与速度关系
表4 测试对比结果
4 结束语
本文参考国际舒适度评价标准,借助了安卓手机内置的各类传感器以及CPU计算功能,通过高度模块化的程序设计,利用Java语言编写了ISO2631舒适度测试仪应用软件。与通过传统的加速度传感器测试结果比较,差值基本在15%以内,足以保证该软件可用于轨道车辆舒适度的简单评估,并且具有通用便携的特点。
图6 结果对比图