智能手机交互式噪声自先验感知分析系统的制作方法

文档序号:30754383发布日期:2022-07-13 10:11阅读:132来源:国知局
智能手机交互式噪声自先验感知分析系统的制作方法

1.本技术涉及一种智能手机交互式噪声感知分析系统,特别涉及一种智能手机交互式噪声自先验感知分析系统,属于交互式噪声感知分析技术领域。


背景技术:

2.随着智能手机覆盖面越来越广,诞生了一种通过不同个体共同完成感知任务的感知数据采集方式—交互式感知。参与者通过智能手机端传感器采集符合感知任务要求的数据并存储,进而对所采集的数据进行处理并推送到服务器,服务器会对所有上传的数据进行整合分析得到对应结果。最后再把分析后的结果反馈给参与者使用。目前,交互式感知得到了一定的应用,如行车路线规划和环境污染监测等。
3.交互式感知可以看做是无线传感网络的延伸和拓展应用,无线传感网络的理论和技术发展相对较为成熟,但发展到广泛的城市感知应用仍有一定距离,其中包括传感网的组网成本、代价等限制了其大规模应用,此外传感网布设的传感器类型具有较强的应用相关性,因而针对不同感知类型的应用,缺乏灵活性和可重用性。
4.和无线传感网络相比,交互式感知具有以下特点:第一,交互式感知节点的部署可以是静态的,也可以是动态的,可以根据感知任务的不同灵活调整感知范围。第二,交互式感知以人为中心,参与者既是感知数据的提供者,也可以分享其他参与者分享的数据带来的成果,整个感知规模和需求随着人的需求的变化而不断变化。
5.在交互式感知过程中,对于数据的整个处理过程十分重要,对于数据的处理过程,主要分四个部分:数据采集、数据分析、数据上传和数据推送。
6.噪声污染的副作用不容小髻,不仅对听觉造成伤害,也会影响人体其他生理组织。随着城市人口数量和工业制造规模的飞速增长,噪声污染也日益引起更加广泛的关注,有效、科学的实时监测噪声污染显得更加有意义。
7.为了更准确的实时监测噪声污染情况,需要知道噪音在时间和空间的分布情况。噪声的强度是实时变化的,同一位置在不同的时间,噪音强度差别可能很大。使用噪声地图来展示噪音分布情况,它将一个地理区域的噪音分布情况在地图上描绘出来,反映出噪音随时间和空间的变化情况,建立一张实时的噪音地图,展示出在一定的范围内每个位置噪音的强弱,并实时更新,为在一个区域内噪音污染的治理提供数据和信息,也是数据化城市的重要组成部分。对城市的环境治理和区域的噪声分析具有重大意义。
8.在现有的环境数据采集系统中,大多需要预先设置传感器节点,预先在已有的标准噪声仪附近设置好传感器节点,对获取到噪声数据进行校准,系统把获取到的数据通过传感器网络传送到服务器端,最后由服务器终端绘制出噪声分布地图,供参与者使用。现有的环境数据采集系统大多面临着当监测范围变大时,需要布置大量传感器设备,这无疑增加了开销,并且实现细粒度的监测也存在很大的难度。此外,在监测的过程中,对于监测范围和监测数据类型很难存在动态性变化。
9.交互式感知作为一种新的感知方式,与之相似的概念有众包和群智感知等,他们
都是利用参与者手持移动设备主动或被动的采集周围环境的信息,以达到感知目的。交互式感知系统根据感知类型的不同和感知范围的不同分为三类,公共感知类、社交感知类、个人感知类。
10.在现有的交互式感知系统的数据采集中,主要存在以下集中数据采集类型:一部分系统直接让所有参与者上传信息,在采集、传输和存储中都有大量的冗余,不利于鼓励参与者参加,也不适用于大规模的应用。一部分系统从参与者的运动轨迹的相似性,分配感知任务的公平性角度分析,提出了在最小化系统能耗的同时最大化系统的采集效率这一角度,降低了系统的能耗,但缺乏针对在采集过程中产生数据冗余这一方面的考虑。一部分交互式感知系统考虑到了数据的冗余性,这些系统多采用同步的通信方式,将参与者的位置看成已知条件,对参与者位置和采集能力的要求高,但缺乏对参与者设备能耗的考虑,难以推广应用。
11.交互式感知系统和应用层出不穷,但离实际大规模应用还相距甚远,由于其诸多优点,可以预想在未来交互式感知系统可以得到大范围普及应用。然而,在这个领域仍存在一些需要进一步解决的技术问题,例如如何解决数据的冗余、如何保障数据的可信性、如何保护个人隐私、如何提高采集效率等问题。
12.综上所述,现有技术的噪声采集分析系统仍然存在若干问题和缺陷,本技术的难点和待解决的问题主要集中在以下方面:
13.第一,现有的噪声环境数据采集系统大多面临着当监测范围变大时,需要布置大量传感器设备,这无疑增加了开销,并且实现细粒度的监测也存在很大的难度。此外,在监测的过程中,对于监测范围和监测数据类型很难存在动态性变化,特别是噪声监测无线传感网络部署成本很高,应用开发不方便,无法动态的调节监测区域和分配监测任务,现有技术缺少一种充分利用广泛使用的智能手机进行噪声采集和分析的动态系统;
14.第二,现有技术的交互式感知系统运用到环境噪声采集分析中也存在问题:一是直接让所有参与者上传信息,在采集、传输和存储中都有大量的冗余,不利于鼓励参与者参加,也不适用于大规模的应用;二是从参与者的运动轨迹的相似性,分配感知任务的公平性角度缺少对应措施,交互式感知系统能耗大,噪声采集过程中数据冗余多、处理过程能耗大;三是对参与者位置和采集能力的要求过高,缺乏对参与者设备能耗和性能的考虑;交互式感知系统离实际大规模应用还相距甚远,无法解决数据的冗余、保障数据可信性,无法保护个人隐私、提高采集效率,难以在噪声环境采集分析领域得到推广应用;
15.第三,现有技术缺少面向环境感知的噪声分析系统,缺少基于智能手机实现噪声数据的采集、处理与压缩传输,在系统中参与者通过热力地图的形式来直观的获得自己所关心区域的噪声分布情况的技术手段,智能手机移动终端由于资源有限,降低能耗,减少整个系统中的数据传输量是关键,但现有技术又没有有效措施;针对交互式感知噪声检测系统中出现的数据冗余多、处理过程能耗大等问题,没有有效的解决方法,无法利用少量的噪声数据来重建出整个环境噪声数据信息,数据采集量很大;在采集噪声数据前,缺少对参与者在感知任务过程中的应用场景进行推测的方法,采集数据的精确度较低,交互式噪声数据采集与重建困难重重,无法推广到实际应用中;
16.第四,现有技术的噪声采集分析缺少优质的环境噪声交互式感知系统,缺少噪声采集分析系统的总体设计,缺少客户端系统设计,无法完成传感器数据获取、地图服务板块
设计、噪声地图的生成,缺少服务端系统设计;客户端缺少搭载智能操作系统的智能手机,完成噪声数据的采集和压缩,并把数据发送到服务端的方法,参与者无法在手机端查看噪声地图;服务端缺少基于rest架构的web服务方式,缺少接收从客户端发送过来的数据,并把数据进行处理和重建,实现对交互式感知数据的处理以及对参与者状态的推测,最后把重建结果反馈到客户端的方法,无法实现的对噪声数据的可视化,不利于直观观测到感知位置的噪音量和分布情况。


技术实现要素:

17.本技术面向环境感知提出基于智能手机的交互式自先验感知的数据采集与重建,针对交互式感知系统中出现的数据冗余多、处理过程能耗大等问题,提出把自先验感知融入交互式感知噪声检测系统,利用少量的噪声数据来重建出整个环境噪声数据信息,有效减少数据采集量,为了提高采集数据的精确度,在采集噪声数据前,提出一种粗粒度的粗粒度音频模态动态评估方法对参与者在感知任务过程中的应用场景进行推测;设计并实现了一个环境噪声交互式感知系统,客户端使用搭载智能操作系统的智能手机,负责噪声数据的采集和压缩,并把数据发送到服务端,参与者可以在手机端查看噪声地图,服务端采用基于rest架构的web服务方式,负责接收从客户端发送过来的数据,并把数据进行处理和重建,最后把重建的结果反馈到客户端,解决了噪声数据的冗余、保障了数据的可信性、保护了个人隐私、提高了采集效率,在系统中参与者通过热力地图的形式来直观的获得自己所关心区域的噪声分布情况,对于噪声监测和分析具有巨大的实际意义和广泛的应用前景;
18.为实现以上技术效果,本技术所采用的技术方案如下:
19.智能手机交互式噪声自先验感知分析系统,面向环境感知基于智能手机对噪声交互式分析,把自先验感知应用到交互式感知系统当中,通过对智能手机端和服务器端的设计开发,实现噪声数据的采集、处理与压缩传输,在系统中参与者通过热力地图的形式直观的获得自己所关心区域的噪声分布情况,实现交互式自先验感知噪声检测系统;
20.第一,交互式自先验感知的数据采集与重建,包括:一是交互式噪声数据采集,二是自适应噪声数据压缩,三是噪声自先验重建;
21.在采集噪声数据前,提出采用一种粗粒度音频模态动态评估方法对参与者在感知任务过程中的应用场景进行推测,提高采集数据的精确度;基于交互式感知系统中噪声数据冗余多、处理过程能耗大的问题,提出把自先验感知融入交互式感知噪声检测系统,利用少量的噪声数据来重建出整个环境噪声数据信息,减少数据采集量;
22.第二,设计并实现一个环境噪声交互式感知系统,一是系统总体设计,二是客户端系统设计,包括传感器数据获取、地图服务板块设计、噪声地图的生成,三是服务端系统设计;
23.客户端使用搭载智能操作系统的智能手机,完成噪声数据的采集和压缩,并把数据发送到服务端,参与者在手机端查看噪声地图;服务端采用基于rest架构的web服务方式,接收从客户端发送过来的数据,并把数据进行处理和重建,实现对交互式感知数据的处理以及对参与者状态的推测,最后把重建结果反馈到客户端。
24.智能手机交互式噪声自先验感知分析系统,进一步的,交互式噪声数据采集:对智能手机的使用场景和使用方式进行粗粒度音频模态动态评估,根据参与者的运动状态,将
参与者分为静态型和动态型,根据参与者的手机所处空间,分为封闭空间和开放空间,将手机放置于室内的抽屉内,则认定是静止状态下的封闭空间,手机采集到的噪音数据相对偏小,不能真实反映实时噪声数据,在此种状态下数据可靠性较低;当参与者处在运动状态下,手机暴露在室外,参与者如果采用高采集频率,能较好反映出时空特性的噪声数据,避免离散不间断的采集区域出现;
25.在判别手机是处于何种运动状态时,采用手机中的加速度传感器,手机加速度传感器获取手机三个移动方向的加速度数据变化,其中x轴表示左右移动方向的加速度,y轴表示前后移动方向的加速度,z轴表示垂直移动方向的加速度;当携带有智能移动终端设备的参与者处于运动状态时,三个轴的加速度都有一定变化,但变化规律不明显,并且当运动的姿态不同时每个轴的加速度变化规律都不一样,如果分析每个轴上的加速度变化势必增加算法复杂度,本技术引入一个新的加速度强度合向量cnu作为特征量:
[0026][0027]ax
,ay,az分别是三个方向上的加速度,利用cnu特征量避免分析三个轴上的加速度带来的复杂性,不管是何种运动状态,cnu的值都会有较大变化,用cnu作为运动状态判断依据;
[0028]
当参与者处在某运动状态时,cnu有一个最小值到最大值的变化过程,当参与者处于静止状态时,cnu区域平稳,其大小在一个重力加速度g之间,本技术设置1.1g为判别临界值,计算感知任务开始后3秒参与者的平均cnu判定:当cnu<1.1g时,参与者处于平稳状态;当cnu≥1.1g时,参与者处于运动状态;
[0029]
在判别手机是否处于封闭空间时,采用光脉冲近距离传感器所读取的数据判断手机所处的空间,采用values[0]获取参数,当距离小于1.6cm时,values[0]值为0,当距离大于等于1.5cm时,values[0]值为5;
[0030]
对通过加速度传感器和光脉冲近距离传感器所采集的数据进行分析,粗粒度推测参与者的使用场景,并以此为依据筛选参与者提供的噪声数据;
[0031]
噪音量的评估通过手机端完成,当启动客户端软件时,通过手机端麦克风感知周围的声音大小,并计算分贝值,同时,软件通过定位获取当前位置信息,即经纬度,并获取当前时间截,即获得了一个三元组(时间戳,经纬度,分贝值),把这个三元组存入手机,得到一条噪声数据记录,在手机端只测量周围噪声数据的大小而不录制参与者周围的声音,对录音文件不保存,保护参与者隐私;
[0032]
采集噪声信息时是基于参与者位置采集的,选取一块目标区域g,把区域g划分成有n个部分,每一个部分为一个噪声测量单位,把每一个噪声测量单位内的所获取的数据信息xi(i∈{1,2,3,

,n})转化为向量形式,表示在这个目标区域内的噪声污染情况:
[0033]
x=(x1,x2,...xn)
t
ꢀꢀꢀ
式2
[0034]
x为数据全集,根据不完整的、随意的测量数据重建出初始数据x。
[0035]
智能手机交互式噪声自先验感知分析系统,进一步的,自适应噪声数据压缩:在某一时间段t内,参与者在感知任务要求的区域内采集噪声数据,参与者采集到一串数据vs,vs仅包含部分噪声测量数据,即噪声分贝值、位置数据信息、时间截信息,首先把vs编码成m维的向量ys,ys=b
svs
,其中观测矩阵中bs的设定:bs中是一个m
×
ls的观测矩阵,只含-1,0,1三
个元素,k’≈100:
[0036][0037]
观测矩阵bs在每个参与者的手机上通过一个伪随机数生成器生成,参与者的手机端通过生成的观测矩阵实现对所采集数据的降维,只有通过降维后的向量被发送到服务端,减少传输的流量,在重建时,服务端只需要和手机端相同的伪随机数生成器,观测矩阵就能够在服务器段生成且与手机端一致;
[0038]
将所有n个参与者所获取的数据叠加起来,则有y
*
=b
*
x
*
,其中x
*
是所有vs的叠加:
[0039][0040][0041]b*
是一个p
×
q的稀疏采样矩阵,x’中有数据重合和缺失,为还原初始的x,按照x中元素的顺序对b
*
进行重建,使得:
[0042]
y=ce=bgx
ꢀꢀꢀ
式6
[0043]
其中,c是感知矩阵,e是x在离散余弦变换矩阵g上的稀疏表示。
[0044]
智能手机交互式噪声自先验感知分析系统,进一步的,噪声自先验重建具体步骤如下:
[0045]
定义:输入:观测基b,观测噪声y,稀疏度k,
[0046]
输出:x的k稀疏度重建的噪声信号s;
[0047]
初始化:观测噪声的残差余量r0=y,重建信号s0=0,索引集tn=t
n-1
∪{k},迭代次数n=0;
[0048]
第一步:计算观测噪声的残差余量和观测基b的每一列的内积gn=b
t
r n-1

[0049]
第二步:找出gn中的最大元素,j=argmax|gn[i]|;
[0050]
第三步:更新索引集tn=t
n-1
y[j]以及索引观测基b
t
,y[*]为索引更新函数;
[0051]
第四步:采用最小二乘法求的近似解xn=(b
tt
,b
t
)-1btt
y;
[0052]
第五步:更新观测噪声的残差余量,rn=y-gsn,其中迭代次数n=n+1,g为离散余弦变换矩阵;
[0053]
第六步:如果n>k,而且满足收敛条件,则停止迭代,sr=sn,r=rn,输出sr,sn,否则转向第一步;
[0054]
给出一个离散的k稀疏信号x,其中信号x的长度n变化,每条曲线代表不同的n值,取n=50,100,500,噪声信号x的归一化稀疏度s=k/n=0.1,过采样率c为噪声测量数量m与噪声信号稀疏度k的比值,观测矩阵采用随机高斯矩阵。
[0055]
智能手机交互式噪声自先验感知分析系统,进一步的,系统总体设计:智能手机端获取噪声分贝值、位置信息和时间信息,三者通过通信模块上传至服务器端,同时,对参与者所获取的噪声信息实时显示,在参与者发出请求后,服务器端将采集的噪声数据反馈给参与者,在客户端以噪声地图的形式显示,服务器端通过通信模块收发数据,通过数据管理模块进行数据处理;
[0056]
基于智能手机,通过内嵌的传感器获取噪声数据并完成噪声数据的可视化,服务器端作为系统的数据处理中心,其主要是进行数据接收、存储以及其它在服务器端进行的必要处理,参与者采集的数据集中在服务器端进行噪声自先验重建,服务器采用数据管理模块与mysql集群进行通信。
[0057]
智能手机交互式噪声自先验感知分析系统,进一步的,客户端系统设计:采用智能手机完成数据的采集、存储、上传,客户端主要包括:一是感知数据的采集,包括噪声信息、定位信息、加速度传感器信息、近距离传感器信息、时间戳信息;二是与服务器端通信,客户端把获取到的数据信息发送到服务器端,并接收服务器端的反馈结果;三是数据的可视化,通过热力地图的方式,将服务器端反馈到客户端的噪声数据实现可视化,使参与者直观观测周围的噪声分布情况;
[0058]
智能手机提供对设备传感器的使用支持,提供驱动程序管理传感器硬件,通过监听器方式监听传感器硬件感知到的外部环境的变化,智能传感器开发具体步骤如下:
[0059]
第1步:获取传感器服务:参与者点击“开始采集”按钮触发采集过程,应用初始化sensor manager;
[0060]
第2步:获取指定类型传感器:选定将要采用的传感器,采用sensor manager获取指定的待监听传感器并添加;
[0061]
第3步:注册监听器:获取到传感器之后,采用sensor manager为目标传感器添加注册监听器,当传感器感知到环境的变化时,监听器将传感器数值返回,同时在监听器中,设定传感器采集的频率;
[0062]
第4步:数据计算存储:得到传感器数据之后,对传感器数据进行处理,并进行持久化存储;
[0063]
客户端的噪声检测利用手机中的麦克风传感器,声音强度的单位是db,噪声强度数据获取计算式如下:
[0064][0065]
p
rms
是测量值的声压,p
ref
是参考值的声压;
[0066]
在噪声检测系统客户端获取参与者位置信息采用第三方地图api,具体经纬度信息获取流程:
[0067]
1)下载第三方地图sdk并进行xml配置相关准备工作:
[0068]
2)设置定位条件,setopengps是否打开定位、返回值的坐标类型setcoortype;
[0069]
3)注册监听器registerlocationlistener;
[0070]
4)采用stringbuffer存放获取的数据,gettime获取时间、getlatitude获取纬度、getlongitude获取经度;
[0071]
5)发出请求,监听器工作,获取时间及经纬度数据;
[0072]
采用第三方地图包含的热力地图来表示噪声分布情况,噪声信息热力图方式显示实现如下:
[0073]
1)采用setmapstatus()设置地图状态;
[0074]
2)在addheatmap()中添加热力图获取数据list《data》及热力图构造方法publicheat map.builderdata():
[0075]
3)采用list《data》getlocations()方法获取jsonarray中的数据,此方法在addheatmap()中等待被调用;
[0076]
4)手机端向服务器端发出请求;
[0077]
5)手机端显示噪声地图;
[0078]
6)删除热力图的方法:heatmap.removeheatmap()。
[0079]
智能手机交互式噪声自先验感知分析系统,进一步的,传感器数据获取:核心传感器数据采集模块是sensor data collection,近距离传感器、加速度计、采用sensor event listener监听接口实现传感器实时数据获取,采用第三方地图的location listener监听接口实现实时地理位置的信息获取,采用d bsensor类录制声音获取最大振幅;
[0080]
(1)初始化sensormanager通过get system service(context.sensor_service)获取;
[0081]
(2)通过get default sensor(scnsor.type_accelerometer)获取加速度传感器数据;
[0082]
(3)注册监听器实时获取数据,register listener(listener,sensor,sensor manager.sensor_delay_normal);
[0083]
(4)复写on sensor changed(sensor event event)方法获得传感器数据,返回的数据结构为event.values[]数组;
[0084]
(5)传感器对象使用结束后,采用stop()方法释放传感器资源,同时注销传感器监听服务,sensor manager.unregister listener(sensor event listener listener);
[0085]
获取噪声强度的代码实现过程:采用mediarecorderdemo的startrecord()方法实现噪声录制,stoprecordo方法结束噪声获取,具体流程如下:
[0086]
1)实例化mediarecorder对象;
[0087]
2)对音频进行设置:采用setaudiosource()设置音频源,采用setoutputformat()设置音频输出格式,采用setaudioencoder()设置输出编码方式,采用setoutputfile()设置输出文件的位置;
[0088]
3)prepare()准备录制;
[0089]
4)start()正式开始录制;
[0090]
5)调用updatemicstatus()进行计算具体音频强度,通过handler.sendmessage()发送数值,postdelayed()进行间断延时发送;
[0091]
流程5)中updatemicstatus()计算代码如下:db=(int)((20
×
math.log1o(ratio))
×
0.7),其中,乘0.7降低极端噪音对数据的影响,采用类型强制转换将double类
型转换成int类型;
[0092]
采用message将message.what和message.obj数据传送给handler,前者包含传送的代码标识,后者是噪声强度的具体数值,在mainactivity中采用handlemessage进行数据接收,其中,switch(msg.what)对msg.what标识进行判断,判断正确后采用settext(msg.obj.tostring())将msg.obj中的具体数值转换成string类型后显示,采用runnable()接口和handler.postdelayed()实现定时器功能,间断的运行整个updatemicstatus(),实现数据定时的更新。
[0093]
智能手机交互式噪声自先验感知分析系统,进一步的,地图服务板块设计:地图信息获取的具体流程:
[0094]
1)第三方地图使用环境搭建:首先在第三方地图开发者中注册,然后获取密钥,并下载相应采用功能的jar包,将jar包放到软件的lib文件中,在软件中执行更新导入,然后在manifest.xml中添加相应的权限和密钥即可完成开发环境搭建;
[0095]
2)建立locationservice.java设置第三方调用相关方法:其中包含registerlistener()和unregisterlistener()进行第三方地图的注册和取消注册,以及start()和stop()方法来实现定位的委托;
[0096]
3)建立locationapplication.java初始化定位并作为调用地图的初始入口;
[0097]
4)主界面噪声检测,采用setonclicklistener()对其进行监听,按下时进行地图定位,再次按下时停止定位;
[0098]
在manactivtyjava中新建bdlocationlistener,在其中采用onreceivelocation()进行定位信息的接收,接收用string类型的缓存器stringbuffer,然后采用location.gettime()获取定位时间,location.getlatude()和location.getlongtitude()获取经纬度,采用location.getaddstr()获取位置信息,获取定位时间和经纬度信息在进行本地存储后等待发送到服务器,定位时间和定位位置信息进行界面实时显示。
[0099]
智能手机交互式噪声自先验感知分析系统,进一步的,噪声地图的生成:噪声地图采用第三方地图提供的热力地图api,通过自定义热力地图的方式让噪声以热力地图的方式显示,采用heatmap.builder构造器完成自定义任务,实现噪声数据的可视化,以下为生成自定义热力地图的流程:
[0100]
1)通过list《latlng》getlocations()方法获取服务器发送过来的噪声数据,通过scanner(inputstream)获取输入数据流,将string类型的数据存入arry中,之后对array进行遍历,获取经纬度及噪声数值,然后将所获取的数据放入list中list.add(new latlng(lat,ing,noi));
[0101]
2)新建addheatmap()方法加入thread(),并采用接口run()调用getlocations()获取服务器数据,并采用热力地图构造器heatmap.builder设置需要绘制的数据,采用list《latlng》data=getlocations();
[0102]
3)在完成设置后采用build()构造热力地图并采用sendemptymessage(0)发送数值给builder中的handlemessage(messagemsg),handlemessage确认接收0后采用addheatmap(heatmap)添加热力地图,完成热力地图添加和显示。
[0103]
智能手机交互式噪声自先验感知分析系统,进一步的,服务端系统设计:服务器端作为数据处理中心,完成参与者使用场景的分析和移动终端进行数据通信,完成数据接收、
存储及需要在服务器端进行的必要处理,服务器端采用rest架构,服务器端接口采用url作为资源标识与客户端通信;
[0104]
采用mysql作为系统数据库,信息数据层由两部分构成:数据库、数据库访问层,数据库访问层进行数据存储、修改、删除操作时遵守jpa规范;
[0105]
web服务器端的业务层由服务接口、实现以及实体层构成,web层由两部分构成,第一部分是服务门户层,第二部分是web服务层,前者负责接口、后者针对移动客户端的数据请求;
[0106]
服务器端参与者使用场景推测,考虑智能手机在参与者采集行为过程中的运动状态和物理位置,采用近距离感应器、线性加速度传感器,采用加速度传感器进行参与者运动状态的判别方法和采用近距离传感器对与手机所处状态判别。
[0107]
与现有技术相比,本技术的创新点和优势在于:
[0108]
第一,本技术将广泛使用的智能手机运用到噪声监测中,提出一种通过不同个体共同完成数据采集的交互式感知,参与者通过智能手机端传感器采集符合感知任务要求的数据并存储,进而对所采集的数据进行处理并推送到服务器,服务器会对所有上传的数据进行整合分析得到对应结果。本技术感知节点的部署可以是静态,也可以是动态,可以根据感知任务的不同灵活调整感知范围;参与者既是感知数据的提供者,也可以分享其他参与者分享的数据带来的成果,整个感知规模和需求随着人的需求的变化而不断变化,准确获取噪音在时间和空间的分布情况,使用噪声地图来展示噪音分布情况,将一个地理区域的噪音分布情况在地图上描绘出来,反映出噪音随时间和空间的变化情况,建立一张实时的噪音地图,展示出在一定的范围内每个位置噪音的强弱,并实时更新,准确实时监测噪声污染情况,为在一个区域内噪音污染的治理提供数据和信息,也是数据化城市的重要组成部分;
[0109]
第二,交互式噪声自先验感知分析系统具有以下几种优势:一是在采集数据的过程中只需要采集少量噪声数据信息就可以重建出全局的数据信息,将信号采集端进行压缩,将复杂的数据还原部分交给服务端处理,可以较少消耗采集终端的能量消耗;二是自先验感知是直接对数据进行采集,采集频率比较低,这样就对于采样设备来说就可以降低能耗,并且降低对传输带宽的要求;三是具有安全性,因为自先验感知在交互式感知系统中是对参与者所采集的数据进行自先验,自先验的过程往往是通过一个随机的观测矩阵完成的,并且把自先验后的数据传送到服务器端。假如数据在传送的过程中别截取,也无法通过反向解压来得到参与者所采集到的数据,应用到智能手机噪声感知具有重要的价值;
[0110]
第三,本技术面向环境感知提出基于智能手机的交互式自先验感知的数据采集与重建,针对交互式感知系统中出现的数据冗余多、处理过程能耗大等问题,提出把自先验感知融入交互式感知噪声检测系统,利用少量的噪声数据来重建出整个环境噪声数据信息,有效减少数据采集量,为了提高采集数据的精确度,在采集噪声数据前,提出一种粗粒度的粗粒度音频模态动态评估方法对参与者在感知任务过程中的应用场景进行推测,通过仿真实验证明算法的可行且高效,实现了噪声数据的采集、处理与压缩传输,在系统中参与者通过热力地图的形式来直观的获得自己所关心区域的噪声分布情况,对于噪声监测和分析具有巨大的实际意义和广泛的应用前景;
[0111]
第四,本技术设计并实现了一个环境噪声交互式感知系统,客户端使用搭载智能
操作系统的智能手机,负责噪声数据的采集和压缩,并把数据发送到服务端,参与者可以在手机端查看噪声地图,服务端采用基于rest架构的web服务方式,负责接收从客户端发送过来的数据,并把数据进行处理和重建,最后把重建的结果反馈到客户端。解决了噪声数据的冗余、保障了数据的可信性、保护了个人隐私、提高了采集效率,通过热力地图的形式,实现的对噪声数据的可视化,使参与者可以直观的观测到感知位置的噪音量和分布情况,便于进一步分析和运用。
附图说明
[0112]
图1是智能手机使用状态的归类解析分类示意图。
[0113]
图2是osi、tsq/ip与水声通信网络体系结构分层对比图。
[0114]
图3是人体在一次运动过程中cnu的变化波形图。
[0115]
图4是自先验感知仿真与性能实验原始数据示意图。
[0116]
图5是原始图像经dct变换去绝对值做降序处理结果图。
[0117]
图6是参与者在采集过程中由位置信息生成的观测矩阵图。
[0118]
图7是参与者数量不同时所重建出的数据结果示意图。
[0119]
图8是智能手机交互式噪声自先验感知分析系统总体框图。
[0120]
图9是智能手机交互式噪声自先验感知分析系统客户端设计流程图。
[0121]
图10是自先验感知噪声信息获取、处理、显示流程图。
[0122]
图11是自先验感知噪声信息获取与终止流程图。
[0123]
图12是客户端噪声热力图生成流程图。
[0124]
图13是结合两部分进行参与者使用场景推测的流程图。
[0125]
图14是第五部分实验场景示意图。
[0126]
图15是噪声分析系统参与者手机端的app界面图。
[0127]
图16是参与者a在早上时段所采集的部分噪声数据示例图。
[0128]
图17是实验中绘制的早上时段部分噪声分布情况示例图。
[0129]
具体实施方法
[0130]
下面结合附图,对本技术提供的智能手机交互式噪声自先验感知分析系统的技术方案进行进一步的描述,使本领域的技术人员能够更好的理解本技术并能够予以实施。
[0131]
和无线传感网络相比,交互式感知系统因其部署成本低,应用开发方便,并且可以动态的调节感知区域和分配感知任务,因而备受关注,运用价值巨大。
[0132]
本技术面向环境感知提出基于智能手机的噪声交互式感知分析系统,实现噪声数据的采集、处理与压缩传输,在系统中参与者通过热力地图的形式来直观的获得自己所关心区域的噪声分布情况。
[0133]
针对交互式感知系统中出现的数据冗余多、处理过程能耗大等问题,提出把自先验感知融入交互式感知噪声检测系统,利用少量的噪声数据来重建出整个环境噪声数据信息,有效减少数据采集量,为了提高采集数据的精确度,在采集噪声数据前,提出一种粗粒度的粗粒度音频模态动态评估方法对参与者在感知任务过程中的应用场景进行推测,最后通过仿真实验来论证了算法的可行性。
[0134]
最后,设计并实现了一个环境噪声交互式感知系统。其中,客户端使用搭载智能操
作系统的智能手机,负责噪声数据的采集和压缩,并把数据发送到服务端,参与者可以在手机端查看噪声地图。服务端采用基于rest架构的web服务方式,负责接收从客户端发送过来的数据,并把数据进行处理和重建,最后把重建的结果反馈到客户端。
[0135]
一、交互式自先验感知的数据采集与重建
[0136]
交互式感知系统有很多优点,但也存在很多不足,对于智能手机移动终端,因为其资源有限,降低能耗,减少整个系统中的数据传输量是关键,初始信号可由少量线性投影精确恢复,数据重建完全交给服务器端担任,降低参与者手机端的能量消耗,也减少了数据量的传输。
[0137]
(一)交互式噪声数据采集
[0138]
基于智能手机在不同使用场景和不同使用方式会影响数据真实性、可靠性和实用性,本技术提出对智能手机的使用场景和使用方式进行粗粒度音频模态动态评估,提高所采集数据的质量,达到筛选数据的目的,手机使用状态的归类解析如图1所示:根据参与者的运动状态,将参与者分为静态型和动态型,根据参与者的手机所处空间,分为封闭空间和开放空间,例如将手机放置于室内的抽屉内,则认定是静止状态下的封闭空间,手机采集到的噪音数据相对偏小,不能真实反映实时噪声数据,因此在此种状态下数据可靠性较低;当参与者处在运动状态下,手机暴露在室外,参与者如果采用高采集频率,能较好反映出时空特性的噪声数据,避免离散不间断的采集区域出现。
[0139]
在判别手机是处于何种运动状态时,采用手机中的加速度传感器,如图2所示,手机加速度传感器获取手机三个移动方向的加速度数据变化,其中x轴表示左右移动方向的加速度,y轴表示前后移动方向的加速度,z轴表示垂直移动方向的加速度。
[0140]
当携带有智能移动终端设备的参与者处于运动状态时,三个方向的加速度发生明显变化,在运动过程中三个轴的加速度都有一定变化,但变化规律不明显,并且当运动的姿态不同时每个轴的加速度变化规律都不一样,如果分析每个轴上的加速度变化势必增加算法复杂度,因此,本技术引入一个新的加速度强度合向量cnu作为特征量。
[0141][0142]ax
,ay,az分别是三个方向上的加速度,利用cnu特征量避免分析三个轴上的加速度带来的复杂性,因为不管是何种运动状态,cnu的值都会有较大变化,用cnu作为运动状态判断依据。图3是人体在一次运动过程中cnu的变化波形图。
[0143]
当参与者处在某运动状态时,cnu有一个最小值到最大值的变化过程,当参与者处于静止状态时,cnu区域平稳,其大小在一个重力加速度g之间,本技术设置1.1g为判别临界值,计算感知任务开始后3秒参与者的平均cnu判定:当cnu<1.1g时,参与者处于平稳状态。当cnu≥1.1g时,参与者处于运动状态。
[0144]
在判别手机是否处于封闭空间时,采用智能手机光脉冲近距离传感器来进行判别,该光脉冲感应手机和人体距离,在通话过程中调用,当手机屏幕贴近参与者脸部时,自动测定手机和人体距离,当小于某一个值时,就会熄灭屏幕,不再接收参与者触摸屏事件,有效防止通话过程中误触摸事件,采用光脉冲近距离传感器所读取的数据判断手机所处的空间,采用values[0]获取参数,当距离小于1.6cm时,values[0]值为0,当距离大于等于1.5cm时,values[0]值为5。
[0145]
对通过加速度传感器和光脉冲近距离传感器所采集的数据进行分析,粗粒度推测参与者的使用场景,并以此为依据筛选参与者提供的噪声数据。
[0146]
噪音量的评估通过手机端完成,当启动客户端软件时,通过手机端麦克风感知周围的声音大小,并计算分贝值,同时,软件通过定位获取当前位置信息,即经纬度,并获取当前时间截,即获得了一个三元组(时间戳,经纬度,分贝值),把这个三元组存入手机,得到一条噪声数据记录,在手机端只测量周围噪声数据的大小而不录制参与者周围的声音,对录音文件不保存,保护参与者隐私。
[0147]
采集噪声信息时是基于参与者位置采集的,选取一块目标区域g,把区域g划分成有n个部分,每一个部分为一个噪声测量单位,把每一个噪声测量单位内的所获取的数据信息xi(i∈{1,2,3,

,n})转化为向量形式,表示在这个目标区域内的噪声污染情况:
[0148]
x=(x1,x2,...xn)
t
ꢀꢀꢀ
式2
[0149]
x为数据全集,根据不完整的、随意的测量数据重建出初始数据x。
[0150]
(二)自适应噪声数据压缩
[0151]
在某一时间段t内,参与者在感知任务要求的区域内采集噪声数据,参与者采集到一串数据vs,vs仅包含部分噪声测量数据,即噪声分贝值、位置数据信息、时间截信息,首先把vs编码成m维的向量ys,ys=b
svs
,其中观测矩阵中bs的设定:bs中是一个m
×
ls的观测矩阵,只含-1,0,1三个元素,k’≈100:
[0152][0153]
观测矩阵bs在每个参与者的手机上通过一个伪随机数生成器生成,参与者的手机端通过生成的观测矩阵实现对所采集数据的降维,只有通过降维后的向量被发送到服务端,这样可以减少传输的流量,在重建时,服务端只需要和手机端相同的伪随机数生成器,观测矩阵就能够在服务器段生成且与手机端一致。
[0154]
将所有n个参与者所获取的数据叠加起来,则有y
*
=b
*
x
*
,其中x
*
是所有vs的叠加:
[0155][0156][0157]b*
是一个p
×
q的稀疏采样矩阵,x’中有数据重合和缺失,为还原初始的x,按照x中元素的顺序对b
*
进行重建,使得:
[0158]
y=ce=bgx
ꢀꢀꢀ
式6
[0159]
其中,c是感知矩阵,e是x在离散余弦变换矩阵g上的稀疏表示。
[0160]
(三)噪声自先验重建
[0161]
噪声自先验重建具体步骤如下:
[0162]
定义:输入:观测基b,观测噪声y,稀疏度k,
[0163]
输出:x的k稀疏度重建的噪声信号s;
[0164]
初始化:观测噪声的残差余量r0=y,重建信号s0=0,索引集tn=t
n-1
∪{k},迭代次数n=0;
[0165]
第一步:计算观测噪声的残差余量和观测基b的每一列的内积gn=b
t
r n-1

[0166]
第二步:找出gn中的最大元素,j=argmax|gn[i]|;
[0167]
第三步:更新索引集tn=t
n-1
y[j]以及索引观测基b
t
,y[*]为索引更新函数;
[0168]
第四步:采用最小二乘法求的近似解xn=(b
tt
,b
t
)-1btt
y;
[0169]
第五步:更新观测噪声的残差余量,rn=y-gsn,其中迭代次数n=n+1,g为离散余弦变换矩阵;
[0170]
第六步:如果n>k,而且满足收敛条件,则停止迭代,sr=sn,r=rn,输出sr,sn,否则转向第一步;
[0171]
给出一个离散的k稀疏信号x,其中信号x的长度n变化,每条曲线代表不同的n值,取n=50,100,500,噪声信号x的归一化稀疏度s=k/n=0.1,过采样率c为噪声测量数量m与噪声信号稀疏度k的比值,观测矩阵采用随机高斯矩阵。
[0172]
(四)自先验感知仿真与性能分析
[0173]
仿真场景和参数设置:在一个区域内,选取600个测量单元,,如图4所示:设置成在一个3km
×
2km的矩形区域内,有600个100
×
100m的区域,每个区域内有一个高度值,总共600个高度值。
[0174]
设置参与者的数量从50人到500人,采用随机游走模型在需要采集的目标区域内随机采集数据,行走速度设置在0.2至2m/s,每一次的行走时间为10至60min,每个参与者所暂停的时间是0至15min,持续采集数据时间是24h,每当参与者暂停时,就开始采集数据。
[0175]
在进行仿真实验前,首先对初始数据进行稀疏变换,求得初始数据的稀疏度,确定此数据是否可以稀疏表示,采用dct的方式对初始数据进行稀疏表示。
[0176]
对所显示的去掉第一个值后的结果再进行去绝对值降序处理,得到如图5所示的结果。从图5可以看出,初始数据的数值稀疏大多为0,也就证明该初始数据是稀疏的,为进一步获取初始数据的稀疏度,直接把经过稀疏变换后的数值小于500的数据置0,然后再做反变换,,经过反变换后,数据在序号为50时数值最大,估算初始信号的稀疏度k≈50。
[0177]
性能分析:参与者在边游走的过程中采集数据,并在暂停点进行数据采集,在待检测区域内参与者在运动的同时记录其活动轨迹,并在采集的过程中对区域内的观测值生成投影,即在采集过程中,当参与者采集到一个数据的同时,也记录下所采集点的位置信息,并对在该位置上所采集的数据乘以由伪随机数生成器生成的伪随机数,在采集到下一个位置数据时,重复上述操作,并和上次所采集的数据叠加,一直执行此过程,直到采集数据结束,实现在采集端对数据的自先验,参与者发送到服务端的数据只包括位置信息和自先验后的数据信息,减少数据冗余。参与者在采集过程中由位置信息生成的观测矩阵如图6所
示,每一个有伪随机数生成器生成伪随机数的位置也就是参与者采集数据的位置,由观测矩阵对每个参与者所采集到的数据进行自先验后,经观测矩阵自先验后实现对数据由高维度到低维度的投影,减少了数据传输过程中的冗余度。
[0178]
噪声自先验重建结果如图7所示,分别给出了50至500个参与者参与到其中时的重建结果,先为了直观的观测重建后的结果和初始数据对比情况,把重建后的结果也绘制成类地形图。图7显示了在参与者数量不同时所重建出的数据结果,当参与者的数量在250人左右时,重建出的结果大体上和原使数据集类似。
[0179]
图7只是大概从直观上对比重建数据和初始数据,以下引入误差分析,采用相对误差定义恢复出的数据全集x^和使用的初始数据全集x的差值:相对误差越大则证明重建信号质量越差,反正,则证明重建信号质量好,其中相对误差的表达式为:
[0180][0181]
需要250个参与者时,相对误差ε<0.025,即在允许的误差范围内,只需要250个参与者每个参与者提供一个数据就可以重建整个噪声测量区域内的整体数据。
[0182]
以上仿真结果验证了交互式自先验感知的数据采集与重建系统中应用时通过少量的参与者,在没有获得每一个测量单元的信息的情况下可以通过重建算法重建出整个所需的噪声数据,并且误差也可以控制在允许的范围内,精确度较高。
[0183]
二、系统总体设计
[0184]
智能手机端获取噪声分贝值、位置信息和时间信息,三者通过通信模块上传至服务器端。同时,对参与者所获取的噪声信息实时显示,在参与者发出请求后,服务器端将采集的噪声数据反馈给参与者,在客户端以噪声地图的形式显示,服务器端通过通信模块收发数据,通过数据管理模块进行数据处理。
[0185]
基于智能手机,通过内嵌的传感器获取噪声数据并完成噪声数据的可视化。服务器端作为系统的数据处理中心,其主要是进行数据接收、存储以及其它在服务器端进行的必要处理,参与者采集的数据集中在服务器端进行噪声自先验重建,服务器采用数据管理模块与mysql集群进行通信,整个系统如图8所示。
[0186]
三、客户端系统设计
[0187]
采用智能手机完成数据的采集、存储、上传,客户端主要包括:一是感知数据的采集,包括噪声信息、定位信息、加速度传感器信息、近距离传感器信息、时间戳信息;二是与服务器端通信,客户端把获取到的数据信息发送到服务器端,并接收服务器端的反馈结果;三是数据的可视化,通过热力地图的方式,将服务器端反馈到客户端的噪声数据实现可视化,使参与者直观观测周围的噪声分布情况。整个客户端设计的流程图如图9所示。
[0188]
智能手机提供对设备传感器的使用支持,提供驱动程序管理传感器硬件,通过监听器方式监听传感器硬件感知到的外部环境的变化。智能传感器开发具体步骤如下:
[0189]
第1步:获取传感器服务:参与者点击“开始采集”按钮触发采集过程,应用初始化sensor manager(传感器管理器);
[0190]
第2步:获取指定类型传感器:选定将要采用的传感器,采用sensor manager获取指定的待监听传感器并添加;
[0191]
第3步:注册监听器:获取到传感器之后,采用sensor manager为目标传感器添加注册监听器,当传感器感知到环境的变化时,监听器将传感器数值返回,同时在监听器中,设定传感器采集的频率;
[0192]
第4步:数据计算存储:得到传感器数据之后,对传感器数据进行处理,并进行持久化存储;
[0193]
客户端的噪声检测利用手机中的麦克风传感器,声音强度的单位是db,噪声强度数据获取计算式如下:
[0194][0195]
p
rms
是测量值的声压,p
ref
是参考值的声压(20微帕),噪声数据开始采集和终止的步骤分别如图10和图11所示。
[0196]
在噪声检测系统客户端获取参与者位置信息采用第三方地图api,具体经纬度信息获取流程:
[0197]
1)下载第三方地图sdk并进行xml配置相关准备工作:
[0198]
2)设置定位条件,setopengps是否打开定位、返回值的坐标类型setcoortype;
[0199]
3)注册监听器registerlocationlistener;
[0200]
4)采用stringbuffer存放获取的数据,gettime获取时间、getlatitude获取纬度、getlongitude获取经度;
[0201]
5)发出请求,监听器工作,获取时间及经纬度数据;
[0202]
为方便参与者直观的查看噪声分布情况,采用第三方地图包含的热力地图来表示噪声分布情况,噪声信息热力图方式显示实现如下:
[0203]
1)采用setmapstatus()设置地图状态;
[0204]
2)在addheatmap()中添加热力图获取数据list《data》及热力图构造方法publicheat map.builderdata():
[0205]
3)采用list《data》getlocations()方法获取jsonarray中的数据,此方法在addheatmap()中等待被调用;
[0206]
4)手机端向服务器端发出请求;
[0207]
5)手机端显示噪声地图;
[0208]
6)删除热力图的方法:heatmap.removeheatmap();
[0209]
噪声热力图生成过程如图12所示。
[0210]
(一)传感器数据获取
[0211]
sensor data collection是核心传感器数据采集模块,近距离传感器、加速度计、采用sensor event listener监听接口实现传感器实时数据获取,采用第三方地图的location listener监听接口实现实时地理位置的信息获取,采用d bsensor类录制声音获取最大振幅;
[0212]
(1)初始化sensormanager通过get system service(context.sensor_service)获取;
[0213]
(2)通过get default sensor(scnsor.type_accelerometer)获取加速度传感器数据;
[0214]
(3)注册监听器实时获取数据,register listener(listener,sensor,sensor manager.sensor_delay_normal);
[0215]
(4)复写on sensor changed(sensor event event)方法获得传感器数据,返回的数据结构为event.values[]数组;
[0216]
(5)传感器对象使用结束后,采用stop()方法释放传感器资源,同时注销传感器监听服务,sensor manager.unregister listener(sensor event listener listener)。
[0217]
获取噪声强度的代码实现过程:采用mediarecorderdemo的startrecord()方法实现噪声录制,stoprecordo方法结束噪声获取,具体流程如下:
[0218]
1)实例化mediarecorder对象;
[0219]
2)对音频进行设置:采用setaudiosource()设置音频源,采用setoutputformat()设置音频输出格式,采用setaudioencoder()设置输出编码方式,采用setoutputfile()设置输出文件的位置;
[0220]
3)prepare()准备录制;
[0221]
4)start()正式开始录制;
[0222]
5)调用updatemicstatus()进行计算具体音频强度,通过handler.sendmessage()发送数值,postdelayed()进行间断延时发送。
[0223]
流程5)中updatemicstatus()计算代码如下:db=(int)((20
×
math.log1o(ratio))
×
0.7),其中,乘0.7降低极端噪音对数据的影响,同时,这里不需要那么高的精确度,采用类型强制转换将double类型转换成int类型。
[0224]
采用message将message.what和message.obj数据传送给handler,前者包含传送的代码标识,后者是噪声强度的具体数值,在mainactivity中采用handlemessage进行数据接收,其中,switch(msg.what)对msg.what标识进行判断,判断正确后采用settext(msg.obj.tostring())将msg.obj中的具体数值转换成string类型后显示,采用runnable()接口和handler.postdelayed()实现定时器功能,间断的运行整个updatemicstatus(),实现数据定时的更新。
[0225]
(二)地图服务板块设计
[0226]
地图信息获取的具体流程:
[0227]
1)第三方地图使用环境搭建:首先在第三方地图开发者中注册,然后获取密钥,并下载相应采用功能的jar包,将jar包放到软件的lib文件中,在软件中执行更新导入,然后在manifest.xml中添加相应的权限和密钥即可完成开发环境搭建;
[0228]
2)建立locationservice.java设置第三方调用相关方法:其中包含registerlistener()和unregisterlistener()进行第三方地图的注册和取消注册,以及start()和stop()方法来实现定位的委托;
[0229]
3)建立locationapplication.java初始化定位并作为调用地图的初始入口;
[0230]
4)主界面噪声检测,采用setonclicklistener()对其进行监听,按下时进行地图定位,再次按下时停止定位。
[0231]
在manactivtyjava中新建bdlocationlistener,在其中采用onreceivelocation()进行定位信息的接收,接收用string类型的缓存器stringbuffer,然后采用location.gettime()获取定位时间,location.getlatude()和location.getlongtitude
()获取经纬度,采用location.getaddstr()获取位置信息,获取定位时间和经纬度信息在进行本地存储后等待发送到服务器,定位时间和定位位置信息进行界面实时显示。
[0232]
(三)噪声地图的生成
[0233]
噪声地图采用第三方地图提供的热力地图api,通过自定义热力地图的方式让噪声以热力地图的方式显示,采用heatmap.builder构造器完成自定义任务,实现噪声数据的可视化,以下为生成自定义热力地图的流程:
[0234]
1)通过list《latlng》getlocations()方法获取服务器发送过来的噪声数据,通过scanner(inputstream)获取输入数据流,将string类型的数据存入arry中,之后对array进行遍历,获取经纬度及噪声数值,然后将所获取的数据放入list中list.add(new latlng(lat,ing,noi))。
[0235]
2)新建addheatmap()方法加入thread(),并采用接口run()调用getlocations()获取服务器数据,并采用热力地图构造器heatmap.builder设置需要绘制的数据,采用list《latlng》data=getlocations();
[0236]
3)在完成设置后采用build()构造热力地图并采用sendemptymessage(0)发送数值给builder中的handlemessage(messagemsg),handlemessage确认接收0后采用addheatmap(heatmap)添加热力地图,完成热力地图添加和显示。
[0237]
四、服务端系统设计
[0238]
服务器端作为数据处理中心,完成参与者使用场景的分析和移动终端进行数据通信,完成数据接收、存储及需要在服务器端进行的必要处理,服务器端采用rest架构,服务器端接口采用url作为资源标识与客户端通信。
[0239]
采用mysql作为系统数据库,信息数据层由两部分构成:数据库、数据库访问层,数据库访问层进行数据存储、修改、删除操作时遵守jpa规范。
[0240]
web服务器端的业务层由服务接口、实现以及实体层构成,web层由两部分构成,第一部分是服务门户层,第二部分是web服务层,前者负责接口、后者针对移动客户端的数据请求。
[0241]
服务器端参与者使用场景推测,考虑智能手机在参与者采集行为过程中的运动状态和物理位置,采用近距离感应器、线性加速度传感器,采用加速度传感器进行参与者运动状态的判别方法和采用近距离传感器对与手机所处状态判别,图13表示的是结合两部分进行参与者使用场景推测的流程图。
[0242]
五、系统实验及结果分析
[0243]
(一)实验方式
[0244]
选取的实验地点为某高校某学院门口到桂圆餐厅这一路段,如图14所示,这段路长度约为275m,宽度约为9m,则面积大约是1980m2。选取5名参与者,为保证采集到的数据的精确度相同,参与者所持的手机都为华为p40pro,分为3个时间段采集数据,分别是早上08:15-08:20,上午10:20-10:25,下午17:30-17:35,参与者每3秒采集记录一次数据,并把采集后的数据进行自先验处理后发送到服务器端。
[0245]
(二)系统展示
[0246]
如图15所示的是参与者手机端的app界面,当参与者点击开始检测按钮时,手机app会先自动向参与者提醒是否允许该程序访问麦克风和获取位置信息,参与者同意后,开
始获取参与者周围的声音数据和定位信息,并且为保证数据的准确性,要求参与者把手机暴露在室外,并且参与者可实时的查看周围的噪音量。
[0247]
客户端将采集到的数据压缩后发送到服务器端,在服务器端将web service部署到tomcat服务器上之后,查询工程的wadl描述文件。
[0248]
(三)实验结果分析
[0249]
参与者在手机终端接收到由服务器端重建的噪声数据信息后,在客户端构造热力地图,热力地图的构造主要分为以下几个过程:
[0250]
(1)对第三方热力地图进行初始化,建立基础底图,设置参与者开始进行数据采集的定位位置,设置第三方地图的缩放级别为20;
[0251]
(2)设置渐变颜色colors和渐变颜色的起始值startpoints,采用的参数为5个颜色梯度,颜色分贝为[0,0,255],[0,255,255],[0,255,0],[255,255,0],[255,0,0],渐变颜色的起始值为startpoint={0.45f,0.55f,0.65f,0.95f,1};
[0252]
(3)根据具体的地理位置传入具体的噪声数据,然后针对传入的数据大小,通过weighteddata方法构造热力地图所需渲染的数据;
[0253]
(4)添加并显示热力地图,实例化heatmap图层,采用heatmap.builder()构造图层。
[0254]
如图16和图17所展示的是参与者a在早上08:15-08:20这一时段所采集的部分噪声示例和根据所有参与者采集到的噪声数据所构造的噪声热力地图,参与者所采集到的数据有时间信息,经纬度和噪声数据的大小,从参与者a所采集到的数据可以看出,检测区域在该时段内的噪声分贝值大多超过50分贝,可以得知检测区域在该时段内的车流量较多,噪声较大,从热力地图上可以看出,该时段内检测区域的颜色较深,能够和检测到的具体数值相对应,可以得知该区域这一时段为早高峰时期。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1