一种基于超声波定位与击键声结合的键盘监听方法与流程

文档序号:15826805发布日期:2018-11-02 23:51阅读:275来源:国知局

本发明公开了一种基于超声波定位与击键声结合的键盘监听方法,主要用于在非侵入环境下的超声波键盘监听问题。本发明属于无线传感技术领域,是一种无线传感网络中信息窃取方法。

背景技术

超声波定位的主要应用是在监测方面,主要通过接受和发送数据的方式,比如对环境和环境中物体的监测,现阶段的超声波定位在近距检测中的精度可以达到厘米级别。键盘键入是一个我们现阶段重要的与远程系统进行交互验证的重要途径。

现有的键盘监听技术主要分为两个方向:

(1)基于声纹的声纹归类方法。

(2)基于tdoa(到达时间差)等的距离分类。

第一个方向主要针对的是敲击键盘时发出的敲击声音,计算其声纹进行分类。由于之前的研究我们知道一块键盘在设计完成后,每个按键都已经具有其特有的声纹。可以通过计算获得,然后通过相似算法将其分类,再结合预先保存的模型或者语言模型,概率模型等将按键声纹与具体的每个按键对应,从而窃取击键的信息。第二个方向则主要针对击键所发生的位置,利用敲击按键时发出的声音到达麦克风矩阵的时间差,将按键归类为不同的按键类。再结合声纹或者语言概率模型将其进行分类。

这些针对键盘监听的研究表明针对键盘监听的研究是存在研究价值的,而将两者的研究结合起来的,基于超声波定位与击键声结合的键盘监听方法是一个很好的思路。本发明的主要目的是利用现有的商业设备实现基于超声波定位与击键声结合的键盘监听。

在我们的发明中,当设备能够准确的测量出手指毫米级距离改变时,就可利用本发明的方法来测量手指在键盘上敲击时按动不同按键时的距离改变。在专利1(基于超声波的手势识别系统与方法)和专利2(一种无接触感知追踪方法)中提出了两种新的追踪距离的方法。在此基础上我们可以获得每个按键与麦克风矩阵的相对位置,再结合按动键盘时产生的特有的声纹特征,我们就能够归类出每个按键的具体信息,使利用超声波与可听声键盘实现键盘键入监听成为可能。



技术实现要素:

[发明目的]:利用超声波定位与按键产生的声音的声纹获取按键的具体信息,从而实现针对键盘的窃听。

[技术方案]:本发明方案主要包括以下内容:

1)超声波测距

超声波测距分为相对距离的测量与绝对距离的测量。

相对距离的测量:

通过发生超声波正弦信号,通过麦克风矩阵收到回音,这个回音中包含手的运动所产生的相位改变。通过正交化,滤波,静态向量的去除从原始信号中获取相位的改变,从而计算手移动的相对位移。

绝对距离的测量:

相对位移只能获得在运动过程中的位移变化,还需要知道起始位置的绝对距离,以及利用绝对距离进行时不时的矫正。本发明利用功率延时分布方法来测量一个较粗粒度的绝对距离。由于本发明使用n个高频正弦波叠加而成的声信号,这些高频信号的功率延时分布分别会在某个特定的距离出现最大值。通过计算这些特定高频信号的特定值出现的时间,从而获得该时刻的绝对距离。

2)声纹计算

从录取的声音中,通过低通滤波器,我们滤去我们发生的高频信号,获取敲击键盘产生的敲击声音。通过目前常用的mfcc(梅尔频率倒谱系数)计算声音特征,表示声纹。其中,某些按键的声音具有一定的特点,比如空格回车等按键,这些按键我们将其视为锚点。

3)坐标系转换

通过计算多个(两个以上)麦克风录取到的信号获得的绝对距离与相对距离的变化结合,从而获得手在空间中的变化。通过确定的锚点位置,将按键的坐标从麦克风矩阵的坐标系转换到键盘坐标系上。方便确定按键的误差范围与误差估计补偿。

4)按键归类

将键盘坐标系中,以理论按键模型(由锚点确定)上的按键为中心,1.5个按键范围内的击键动作确定为一个候选类,在从这个类中的按键音的声纹中通过k聚类算法挑选出出现频率最高的最优化的按键作为这个按键的最佳候选,给予这个候选类击键标识。

[有益效果]:实现了一个新的基于超声波定位与击键声结合的键盘监听方法。能够针对这种攻击研究响应的应对手段。

[附图说明]

图1为系统的运作流程图

图2为整个系统的运作的示意图

图3为坐标转换示意图

[具体实施方式]

以下结合附图和具体实例对本发明做具体的介绍。

本发明主要使用的是发送经过8个高频正弦波叠加的超声波,分别是:17500hz,17850hz,18200hz,18550hz,18900hz,19250hz,19600hz,19950hz,两频率之间的差距为350hz,这有利于通过cic滤波器相互区分。

如图2所示,整个系统大致分为三个部分:确定位置和确定声纹。坐标系转换与按键归类。

1.确定位置:

在此步骤中,主要目的是获取按键所发生的空间位置。分为基于相位变化的相对位移的测量与基于功率延时分布的绝对距离测量。

1.1相对位移测量:

本部分,采用的是基于相位改变的相位位移测量,这是一个测量连续的相位改变的距离测量方法,所以在按键时我们需要采用单手单指的点击按键模式。

首先发送由8个超声波正弦波叠加的信号(16khz~20khz),通过复数个麦克风录取获得原始信号。在得到原始信号后,我们将其进行一系列的iq变换,cic滤波,消去静态向量与多径后,得到在8个不同频率上的相位的变化。当相位改变为2π时,距离的改变为一个波长c/f,其中c为声波的速度,f为对应信道频率,我们对8个频率上相对位移求取平均,以此来测量手的移动的相对距离。

1.2绝对距离的计算

上一部分只能测量运动过程中的距离的变化,而不能获得绝对距离,所以,为了获得绝对距离,选择的是基于功率延时分布的方法,来计算了粗粒度的绝对距离。

选择用8个高频正弦波叠加而成的声信号,我们可以观察到,在不同频率的基带信号中,在给定的时间t的情况下,在相应频率上会存在一个相应的相位变化。因此,我们先将基带信号扩充到64个频率,9~64号信道上的频率全部填0,再将基带信号进行逆傅里叶变换(idft),当运动经过一个特定的距离时,特定的频率会出现一个峰尖,而这个峰尖就代表当前时刻的功率延时,每个频率的峰尖都会对应一个相应的传播距离,dn=(n-1)·c/(δf·n),其中n为信道号,c为声波速度,δf为频率差,n为扩充信道宽度。因此只需求出相应波峰所在频率,就可以求出当前信号传播的绝对距离。

2.声纹计算

在计算出手移动的距离后,我们需要计算出信号的声纹。首先我们对信号进行预处理,通过低通滤波器去除高频信号获得击键发出的声音。

然后我们需要提取出敲击按键的声音,将其按按键分片。了解到一个击键动作产生的信号共分为三个部分:触摸峰,敲击峰和释放峰。这些峰值分别对应着手指按动键盘时的触摸,按下和松开这三个瞬间。我们使用敲击峰发生时的位置为按键发生位置,即按键所在的位置。

我们可以使用滑动窗口累加幅值的平方的方法来代表声音的能量级:

其中r(t)为声信号的幅值,w为窗口长度,取w=2ms(在48khz的情况下为96个

点),当能量级a(t)超过某个阈值的时间点t0就是击键的开始时刻。一次完整的击键一般为200ms,而接触峰与敲击峰一般发生在前30ms。因此我们将[t0-5ms,t0+200ms]作为击键的声信号,其中包含触摸峰和敲击峰。

当确定开始位置后,我们可以通过上一模块的距离中获得窗口中的击键音在坐标系中的位置。

然后对分片好的信号进行mfcc计算,mfcc主要利用的是时域中信号帧的傅立叶变换的幅度来分析声信号。mfcc是组成mfc的系数,源自于声音的一种倒频谱表示(非线性的频谱),mfcc通常由如下方法得出:

●取一个窗口的信号做fft(傅里叶)变换。

●使用重叠三角窗口在梅尔刻度上画出上述变换的功率谱。

●在每个梅尔频率处取对数。

●对上述信号进行离散余弦变换。

●mfccs是所得的频谱的幅度。

3.坐标转换与按键归类

经过准确的位置计算后,我们可以很快的将按键位置与理论键盘模型相对应,从而很轻松的获得按键键入信息。

由于计算资源与当前硬件的限制,计算所获得的位置精度存在误差,为了弥补误差所引起的判断失误。我们引进了坐标转换与按键归类。

3.1坐标系转换

首先我们需要结合声纹与距离找到信号中的一些特殊点。空格与回车键。通过观察,发现这两个键的声纹较其他按键比较特别,声音较大,声纹特殊,且位置处于键盘的边缘位置。找到这两个按键作为锚点。

在已知键盘模型的情况下(即可知每个按键间距离等)。将测量到的按键动作发生的位置与麦克风矩阵的相对关系转换到按键动作发生的位置与锚点的关系,即从麦克风矩阵的坐标系转换到以锚点为参考点的坐标系。

3.2按键归类

在转换坐标系后,我们将坐标系中的理论按键为中心的1.5个按键范围内的敲击动作放入同一候选组,然后对比同一候选组中的声纹特征,将相似度最大的且频率出现次数最大的敲击动作作为该按键的敲击动作打上该理论按键的标签。为了减小因为距离误差而造成的分类误差,我们选择了k均值聚类来考量处于一个预分组中的各个击键音的mfcc特征之间的相似性。

实施案例

本发明已经利用现有的商业智能手机进行的初步的实现。利用手机的上下两个麦克风进行数据采集,录取由扬声器发出的正弦超声波信号。在击键的时候保持单指点击按键,在通过一系列滤波,计算相对位移与绝对距离,再计算声纹,进行分组后最终能够解读出敲击的信息。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1