面向移动通信网的蓝牙加密语音同步研究

2020-07-06 13:35洪鹏程黄一才信息工程大学郑州450001
计算机工程与应用 2020年13期
关键词:码本正弦滑动

洪鹏程,黄一才,郁 滨 信息工程大学,郑州 450001

1 引言

蓝牙是一种短距离无线通信技术,现已成为智能手机的标准配置,可方便与手机连接。针对移动通信存在的窃听等安全问题[1],在蓝牙终端中实现语音实时加解密,可以保证语音在手机、无线信道和基站中安全传输。

和数据信道相比,移动通信网的语音信道具有高优先权、高覆盖率、实时性强、可用性强和可靠性强等特点[2]。但是语音信道的声码器使用有损的、有记忆的压缩编码,不允许非语音特征数据通过。文献[3]总结归纳了前人提出的在声码器上传输加密信号方法,核心思想均是将加密信息转换成类语音进行传输,其中以波形码本方案的传输性能最佳。但是大多数研究方案均在仿真环境实现,没有考虑在实际应用的同步方法[3-5]。

由于类语音信号从蓝牙终端经手机、移动通信网等信道的传输过程中经历了多次编解码,因而存在延迟、失真、丢帧等特点,使得收发两端的数据难以同步。只有对接收到的类语音数据准确同步才能解调和解密。

现有的语音同步方案中,多采用外同步方法,如添加时间戳或同步帧等同步头[6-8],这种方式可用于方便对语音帧头控制的场景,但由于同步头本身难以通过移动通信网语音信道传输,并不适合纯语音流数据的同步。文献[9]以线性调频信号为同步结构,设计了一种端到端语音加密通信的同步方案,能够实现语音端到端的同步,但该方案存在的问题不断自相关检验需要消耗大量计算资源。文献[10]指出在语音频段300~3 400 Hz的正弦波对声码器的穿透性好,且优于线性调频信号,因此,正弦波可以用作移动通信网端到端的加密语音同步头。

文献[11]为了实现语音同步,对波形、频域和倒谱检测3 种数字语音处理方法进行了分析与对比,但是3 种方案均存在计算量偏大等问题。吕丽平等[12]指出以基于声学特征的方法实现语音端点检测的实时性强且简单有效,这对同步信号检测同样具有启发意义。使用的声学特征包括时域特征,如短时过零率、平均能量以及自相关性等,和频率特征,如倒谱距离法、频带方差法和谱熵法等[13]。但文献[12]设计的端点检测误差范围是3帧,而这使得加密语音信号不能恢复。文献[14]指出使用滑动窗口逐个进行滑动匹配,虽然保证了准确性,但是带来了较大的计算开销。文献[15-17]针对低信噪比情形设计了端点检测方案,算法实时性较差。

因此,本文设计了面向语音加密传输的两级同步机制。利用正弦信号的易检测性,通过滑动窗口对过零次数、样点值和的绝对值以及样点值绝对值的和3个时域特征进行检测,用以捕捉同步头范围;利用波形符号的可透传性,通过模板匹配确定同步头精确的起始点。

2 端到端加密与同步

本章先描述相关定义,再分析同步在端到端加密中的意义。

2.1 相关定义

定义1(滑动窗口)语音检索基本单位,宽度为W,其中的语音数据记为w(k),1 ≤k≤W。

为了利用正弦信号的周期性,使W包含的采样点数正好包含频率为fsin的同步正弦信号一个周期采样点的整数倍,即设置W为fs fsin整数倍,其中fs为语音采样率,fsin为同步所使用的正弦信号的频率。

定义2(短时过零次数)指滑动窗口内过零次数,用表示。

定义3(样点值和的绝对值)指滑动窗口所有语音样点值和的绝对值,用表示。

定义4(样点值绝对值的和)指滑动窗口所有语音样点值绝对值的和,用表示。

定义5(保持态)指保持同步的状态。

定义6(捕捉态)指正在寻找同步的状态。

语音在保持态和捕捉态中转换。语音通信开始时,接收方处于捕捉态,当接收方完成初始同步后进入到保持态。为了保证语音正常传输,需要能对当前状态定期检测,当检测到失步时通过同步恢复调整,重新进入保持态,其状态转换如图1所示。

图1 同步状态转换图

定义7(波形符号)指采样点数固定为L的一组类语音片断,用Si={si0.,si1,…,si(L-1)}表示,1 ≤i≤N。

定义8(调制码本)与数据集{0,1,…,N-1} 一一对应的一组波形符号,用表示,其中N=2n。

定义9(解调码本)使用调制码本传输随机数据训练得到的一组与调制码本一一对应的波形符号,用表示,用于提高解调成功率。

波形码本包括调制码本和解调码本。

2.2 端到端加密流程

语音传输过程中,模数转换、压缩/解压、加密/解密、类语音调制/解调和同步等操作均在蓝牙终端中处理,而在手机和移动通信网中不进行任何改动,移动通信网端到端加密整体通信流程如图2所示。

在发送方,发送语音在蓝牙终端通过模数转换后,首先通过数据压缩去冗余,然后进行加密以保证数据安全,接着将加密数据进行类语音调制使其能在语音信道上传输,具体方法是将数据以n比特为一组转换为十进制i,并映射为对应波形符号Si,最后在得到的类语音波形符号插入同步头通过手机以及移动通信网传输。

图2 移动通信网端到端加密通信流程

在接收方实现一个对称过程,首先要找到并去掉语音同步头,然后进行类语音解调,具体方法是接收方将接收到的波形与解调码本中的波形符号{SO0,SO1,…,SON-1}一一求余弦距离,将余弦距离最大的波形符号对应的序号作为接收的数据,之后再进行解密及解压和数模转换操作。

由上述过程可知:(1)同步在整个传输过程中起到了一个对接作用,接收方只有准确地检测到初始同步头,才能正常进行接下来的类语音解调和解密等操作。(2)初始同步后的语音传输同样需要检测同步状态,在检测到失步时,能够使语音自行同步。(3)在实现同步方案时,需要考虑同步方案的计算量,若计算量过大,则会造成数据处理出现延时和紊乱,同样会影响后续操作进行。

3 同步设计

同步设计包括初始同步和周期同步两部分,前者用于在连接建立之初使系统同步,后者用于定期地检测系统是否同步,并在当检测到失步情况下,重新进行同步。因此分别设计初始同步头和周期同步头,如图3所示。

图3 同步头设计

两者设计异同如下。

(1)相同之处

初始同步头和周期同步头都由前导和后导组成。其中,前导使用正弦信号,便于接收方通过时域特性确定后导范围,后导使用类语音信号,用于进一步匹配确定精确的后导起始点。因为前导和后导只有具备语音特征才能穿透声码器,因此所选正弦信号的频率在300~3 400 Hz之间,后导所选的类语音信号为调制码本中的波形符号。

(2)不同之处

一是两者前导长度不同,初始同步头的正弦信号长度R1要比周期同步头的正弦信号长度R2要长。因为在初始同步时,需要保证即使在R1部分信号由于传呼建立等原因丢失的情况下,R1仍然能被接收方检测出。而周期同步头为了在正常语音中的占比小,在保证能被检测到的情况下,R2的长度要尽可能短。

二是两者后导所选择的类语音不同。初始同步头只在开始使用,只需要在调制码本中选用一个波形符号即可,如S0。而周期同步头则在后续语音传输中都会存在,当检测到失步状态时,还要用于重新同步,这就需要根据周期性同步头能判断同步到再次同步之间所丢的数据,以使接收方知道在失步期间的数据量,方便进行下一步操作。基于此,周期同步头的后导按序循环选用调制码本中的波形符号。

3.1 语音初始同步建立

语音初始同步建立包括确定后导起始点范围和确定后导起始点两个阶段,前者用于初步定位后导起始点范围,后者用于在后导起始点范围内寻找到准确的后导起始点。

3.1.1确定后导起始点范围

时域提取特征包括过零次数Z、样点值和绝对值E以及样点值绝对值和F,相比频率特征计算量少。如果提取特征均在设置范围区间则认定为检测到正弦信号。

在接收方,以宽度为W、步长为W的滑动窗口对接收到的语音数据提取特征并进行检测。当滑动窗口检测到正弦信号时,即表示接收方已经检测到初始同步头前导,由于发送的正弦信号长度R1较长,所以接下来几个窗口仍可能是正弦信号,直到检测到滑动窗口内数据为非正弦信号时,则判定当前检索窗口包含同步头后导起始点,并称之为待匹配窗口,检测时可能出现的两种情况如图4所示:

(1)后导起始点位于滑动窗口内部;

(2)后导起始点位于滑动窗口边界及附近。

为了减小第二种情况对结果的干扰,使得初始同步头后导起始点未出现在待匹配窗口内,将待匹配窗口向前增加A个采样点,因此待匹配窗口的采样点数目为W+A个。

图4 初始同步头检索示意图

综上所述,确定后导起始点范围流程如图5 所示,其中flag_sin0 和flag_sin1 分别表示前一个和当前滑动窗口的正弦信号检测标志,初始值为0,当检测到正弦信号时其值为1。在接收方,通过该流程,最终可以得到包含W+A个采样点的待匹配窗口。

考虑到语音信道对正弦信号传输影响,为提高检测准确性,通过在语音信道多次实际传输正弦信号后,统计得出时域特征Z、E、F的参考范围[Zmin,Zmax] 、Emax 和 [Fmin,Fmax]。

图5 初始同步头检索示意图

3.1.2确定后导起始点范围

当得到待匹配窗口后,需要进一步确定后导在待匹配窗口中的起始点,记待匹配窗口内采样值为D={d0,d1,…,d(W+A-1)}。由于待匹配窗口标记的是同步语音可能存在的起始点,而后导长度为L,还需要使用待匹配窗口后的L-1 个语音数据{d(W+A),d(W+A+1),…,d(W+A+L-1)},并将其和待匹配窗口合称为待检语音窗{d0,d1,…,d(W+A+L-1)}。

若选择调制码本中的S0作为后导,则以S0对应的SO0={so00.,so01,…,so0(L-1)}为匹配模板。因为SO0采样点数为L,所以对待检语音窗以窗口宽度为L,步长为1进行滑动窗口匹配,如图6所示。

图6 初始同步确定后导起始点示意图

具体检索过程如下。当前被检语音窗口为Di={di.,di+1,…,di+L-1},用于表示后导与Di待检索语音之间的绝对距离,j表示后导起始点在待匹配窗口中的位置。

步骤1 初始化i=0;

步骤2 计算匹配模板和当前被检语音Di之间的绝对距离

步骤3i=i+1,如果i≤W+A-1,跳入步骤2;

步骤4 计算j=arg minDIS1i,将j作为后导起始点,结束。

3.2 语音初始同步建立

语音同步检测恢复包括两个方面:一是通过周期同步头能够正常检测语音是否处于同步状态;二是当检测到失步时,能自行调整恢复到同步状态。

3.2.1同步检测

为减少周期同步头在正常语音中所占比重,同时又能在至少一个完整窗口检测到前导,将前导长度设置为检索窗口两倍,即R2=2W。

在接收方,语音完成初始同步后进入同步保持态。在该状态下只需要对周期同步头中的后导进行检测,就能确定当前传输的语音是否处于同步状态。由于后导是循环选择调制码本中的波形符号Si(0 ≤i≤N-1),若在第1次接收到周期同步头后导时,与解调码本中的波形符号SO0对比判决,则在第t次时,与SOtmodN比对判决。判决方法是求接收到的后导与波形符号的绝对距离,将第t次接收到的后导记为St',将St'和SOtmodN的绝对距离记为

当DIS2t小于阈值TH(其值实验统计得出)时,即判断成功检测到同步信号。为了保证系统的可靠性,只有当连续两次求解的绝对距离大于TH时,才认定系统不再处于同步状态,且接收方则由同步保持态转成捕捉态。

3.2.2同步恢复

假设在第t次接收到后导时能够正确验证,而在t+1 和t+2 连续两次匹配后导失败后,接收方则认定系统不再同步,接收方将以宽度为W、步长为W的滑动窗口进行检测。

(1)确定后导起始点范围

与初始同步建立不同的是,由于周期同步头的前导较短,检测正弦信号时可能出现的两种情况如图7所示。

图7 周期同步头检索示意图

由图7 可知,两种情况的共同点是,当某一滑动窗口检测到正弦信号时,下一滑动待匹配窗口包含了周期同步头后导起始点,即待匹配窗口。为防止初始同步头检测点位于滑动窗口边界附近使结果判断不准确带来的影响,将待匹配窗口向后增加A 个采样点,具体检测流程如图8所示。

图8 同步恢复确定后导起始点流程图

(2)确定后导起始点

确定后导起始点在找出后导起始点同时,还需要判断上一次成功同步到这一次同步之间发送数据的周期。因此和初始同步确定起始点相比,接收方用作匹配模板的对象不一样,前者对象是固定的,而后者为调制码本中的所有波形符号。在这里重点对如何选择解调码本中的波形符号与待检语音窗对比进行描述。

首先将解调码本中的波形符号SO(t+3)modN作为匹配模板与待检语音窗匹配找到起始点,如果该起点对应的绝对距离小于阈值TH,则判定匹配成功;否则,待检语音窗按相同方法与下一个波形符号SO(t+4)modN匹配,直到判定成功为止。

假设经过k次匹配,即待检语音窗与SO(t+k+2)modN匹配成功,则认定上一次同步成功距离本次匹配成功之间共丢失了(k+2)T的数据(T为同期同步头插入正常语音的周期)。同时,为了保证系统可靠性,若下一个同期同步头的后导与SO(t+k+3)modN匹配成功才进入保持态,否则保持捕捉态,且重新确定待匹配窗口。

在该过程中,因为待检语音窗与解调码本中的波形符号按序循环匹配,如果回到第一次匹配的波形符号仍不成功,则同步失败,即方案可接受的发送数据丢包时长要小于NT。但一般情况,T大于1 s,N一般大于16,所以方案实际可允许丢包时间是在可接受范围内的。

4 实验与分析

仿真环境为MATLAB,其中移动通信网的声码器采用ETSI标准的AMR声码器(编码速率为12.2 Kb/s),蓝牙语音编解码器采用SIG 规定的CVSD 编码。通过仿真实验模拟语音信道对方案进行评估,检测其能否实现语音初始自同步,以及在发生丢帧情况下,接收方是否能够检测到当前同步状态,并自适应恢复同步。

4.1 实验设置

设置两组实验,研究波形符号采样点数L和滑动窗口宽度W对本文方案的影响。

针对同步建立方案,事先生成发送数据并在数据前加入随机长度语音信号,用于模拟通话接通前的等待时间。针对同步检测恢复方案,在一段正常语音中间截断随机长度的语音,用于检测方案同步检测和同步恢复成功恢复率。

实验中的共同参数设置如下:实验次数1 000次,前导选择的正弦波频率fsin=1 000 Hz,R1=480,R2=2W,A=8(通过验证当A>8 时,对实验结果不再有影响),波形码本的波形符号数量为32个。

(1)初始同步建立实验

对波形符号采样点数L=40,36,30,20 进行测试。其他参数设置,记,取x=7 ,即W=56 ,[Zmin,Zmax]=[13,14],Emax=0.2,[Fmin,Fmax]=[13.2,14.5],阈值TH分别为3、2.8、2.5、2.2。

(2)同步检测恢复实验

取x=7,6,5,4,即W分别为56,48,40,32 进行测试。[Zmin,Zmax]、Emax和[Fmin,Fmax]设置如表1;其他参数设置,波形符号采样点数L=40,阈值TH=3。

表1 参数设置

4.2 实验结果

(1)初始同步建立实验

实验结果如图9所示,只有当确定后导起始点精确到采样点时才算同步成功。

图9 初始同步建立实验结果

当波形符号采样点数L减小时,两类同步成功率均会降低。当波形符号采样点数达到40 时,其初始同步和周期同步成功率均能达到99%以上。实验发现,未初始同步成功的情况与实际结果偏差较小,仍可通过周期同步实现真同步。

(2)同步检测恢复实验

实验结果如图10 所示。当滑动窗口宽度W值减小时,两类同步成功率均会降低。当W为56 时,两类同步成功率均能达到99%以上。

图10 同步检测恢复实验结果

4.3 方案对比

当参数设置为W=56,N=32,L=40,A=8,R1=600时,将本文方案和文献[9]对比,结果如表2所示。

表2 结果对比

相比文献[9],本文方案的计算量具有较大优势,在确定后导起始点范围时一般只需要计算检索窗口的过零次数,需要计算55次加法,在确定后导起始点时计算量最大,但也仅为2 560次加法。此外,本文方案还能同步状态检测和恢复同步状态,更适合用于移动通信网中无同步帧情形下的语音同步。

5 结束语

针对蓝牙加密语音同步问题,利用正弦信号和波形符号,设计了初始同步头和周期同步头,提出了语音初始同步建立方案和语音同步检测恢复方案,在实现同步的提前下,还具有较小计算量。本文工作也为下一步通过蓝牙设备实现移动通信网语音加解密提供了技术支持。

猜你喜欢
码本正弦滑动
免调度NOMA系统中扩频码优化设计
正弦、余弦定理的应用
基于有限域上仿射空间构造新码本
基于Zadoff-Chu 矩阵的最优码本构造方法
一种新型滑动叉拉花键夹具
“美”在二倍角正弦公式中的应用
Big Little lies: No One Is Perfect
大规模MIMO预编码码本的优化设计与分析*
利用正弦定理解决拓展问题
正弦、余弦定理在三角形中的应用