APP下载

带纠错的类语音调制解调器研究与设计

2021-05-31鲍博武黄一才

关键词:调制解调器搜索算法误码率

鲍博武,黄一才,郁 滨

(信息工程大学 密码工程学院,河南 郑州 450001)

移动通信网语音通道中的声码器采用语音参数压缩编码,无法传输不具有语音特征的数据[1-4],而端到端语音安全通信需要在用户之间协商密钥并传输加密语音数据。为解决此问题,类语音调制解调方案被提出[5-7]。类语音调制解调通过数据与类语音信号的相互转换实现加密语音信号透传声码器,按照数据处理方式不同,其实现方法可分为参数调制和码本映射[8]。

文献[9]将数据作为语音参数索引,根据LPC线性预测分析模型合成类语音波形,低码率情况下传输效果较好;文献[10]利用共振峰模型,将数据映射为共振峰频率、相位和基音频率来生成类语音波形,编码效率较高。然而,此类基于语音参数模型实现的类语音调制解调方案的参数提取过程复杂且传输误码率较高,影响语音安全通信的通话质量。

码本映射利用数据-波形映射关系,直接将数据映射为一一对应的类语音波形,具有误码率低的特点。文献[11]利用遗传算法在一个子频域集合内搜索最优码本,码本质量较好但搜索空间较大;为减小码本搜索计算量,文献[12]设计了一种启发式算法,在声学语料库中搜索码本,但该方案以最大信道容量为目标,在传输速率较大的情况下,误码率较高;文献[13]在文献[11]基础上优化了遗传算法参数,减少了算法迭代次数但没有提升传输性能。现有的基于码本映射的类语音调制解调方案均针对码本优化问题进行研究,未考虑数据-波形映射对调制解调性能的影响。

此外,上述方案均未考虑纠错编码,加密语音数据传输质量有待进一步提高。文献[14]通过结合(2,1,7)卷积码有效降低了误码率,但方案采用脉冲参数调制计算,复杂度高且未讨论引入纠错编码对通信资源消耗的影响。

综上所述,本文设计一种基于码本映射的带纠错类语音调制解调器,其内部存储最优码本,调制解调器通过基于模拟退火的映射关系搜索算法,建立最优数据-波形映射。为进一步提高可靠性,在码本映射前采用BCH码进行纠错编码。本文设计的调制解调器,能够以较低误码率实现加密数据在语音信道中的透明传输。

1 类语音调制解调模型

为便于描述,给出所用相关符号及含义,见表1所列。

表1 符号及含义

基于码本映射的类语音调制解调过程中,语音通道的输入符号集合是调制码本CN×L,输出符号集合是解调码本C′N×L,且在一次通话中信道条件相对稳定。调制码本与解调码本通过预先离线生成存储于调制解调器内。综合上述分析,不妨作如下假设:

(1)移动通信网语音通道是离散无记忆信道(discrete memoryless channel,DMC)。

(1)

转移概率矩阵用于描述波形传输出错的概率,2个类语音波形对应数据的汉明距离越小,则传输出错后造成的错误位数越少,因而选择最优数据-波形映射关系对于降低调制解调误码率有重要意义。BCH纠错码是一类重要的循环码,具有严谨的代数结构,应用在中短码长情况下,其性能接近香农极限。相比于其他纠错编码,在极低误码率条件下,BCH码具有较高的编码增益和较低的计算复杂度。因此,为进一步提高传输可靠性,在波形映射前加入BCH纠错码,调制解调模型如图1所示。

图1 带纠错类语音调制解调模型

调制过程包括BCH编码、波形选择和码本映射。BCH编码模块根据生成矩阵G,将加密语音分组编码得到码字n=mG。波形选择模块实现一个多对多的组合优化问题,即应用模拟退火思想设计最优数据-波形映射搜索算法,寻找最优映射关系Sel,并输出索引值i=Sel(b1b2…bl)。码本映射模块根据索引值i找到对应波形符号si并送入语音通道。

2 调制解调器设计

在假设(2)条件下,调制解调器的性能主要取决于纠错码和映射关系2个方面。在实际信道条件下,综合考虑码本符号错误率与编码效率,BCH(32,21,6)码相较于其他码长的BCH码具有较高的编码增益。波形选择模块中的映射函数Sel决定每个符号错误造成的比特错误,搜索并建立最优数据-波形映射关系是设计的关键。

2.1 纠错编码

考虑加密语音传输实时性和传输质量的要求,码本规模确定为16×40,一个波形符号对应4 bit数据。BCH(32,21,6)码由BCH(31,21,5)码增加一位校验位构成,每一个32 bit码字,调制后对应8个波形符号,每个码字最多可纠正t=(5-1)/2=2个错码。为减小译码计算复杂度,提高调制解调器性能,利用BCH(31,21,5)码中伴随式S1、S3与错码位置的关系直接求解,实现快速译码。

BCH(31,21,5)码的校验矩阵为:

(2)

错码位置多项式的系数指示错码位置,且满足方程组(3),即

(3)

根据错码位置多项式与方程组(2)可知,错码位置i∈{0,1,…,30}满足方程组(3)。因此,译码过程由迭代求解简化为求解方程组(4),从而实现快速译码。

(4)

2.2 调制解调误码率

若波形si(1≤i≤N)对应的比特数据为di,即i=Sel(di),二进制数di与dj间的汉明距离记为H(di⨁dj)=hij,则数据的汉明距离矩阵为:

(5)

由于引入纠错机制,对于汉明距离不超过纠错能力的解调错误,可通过译码进行纠正。假设纠错码的纠错能力为t,记符号函数为:

(6)

则引入纠错码后调制解调的平均误码率为:

(7)

2.3 数据波形映射搜索算法

为保证波形选择器能建立最优映射关系,以(7)式为目标函数设计一种基于模拟退火的搜索算法,在N!个可行解中寻找最优解,其算法流程如图2所示。

图2 波形数据映射关系搜索算法流程

输入:调制码本CN×L={s1,s2,…,sN},解调码本C′N×L={s1′,s2′,…,sN′}和汉明矩阵Ham。

输出:最优波形-数据映射关系x。

(1)重复发送数据,统计得到移动通信网语音信道下该码本的转移概率矩阵P,明确算法目标函数f(x)。

(2)设置算法控制参数,令初始解x0=(1,2,3,…,16),此时最优解x=x0,t=0。

(3)随机产生一组扰动参数D={s,p,l},首先将x循环左移s个元素,然后交换xp和x(p+l)mod16,得到新解x′。

(4)计算新解的目标函数值f(x′)。

(5)根据Mertropolis准则判定是否接受新解。① 若f(x)≥f(x′),则接受新解x′,此时令n=0,则最优解x=x′;② 若f(x)

(6)若n≥N,则满足迭代终止条件,算法结束并输出最优解x,转至步骤(8);否则转至步骤(5)。

(7)令t=t+1,若t≤L,则转至步骤(2);否则结束迭代并输出最优解x。

(8)建立最优映射。

控制参数的选取直接影响算法优化结果。初始温度T0越小迭代周期越短,相应地,搜索结果越容易陷入局部最优;降温系数a决定搜索的收敛速度;马氏长度L越长、迭代终止条件N越大,搜索结果越易收敛于最优解,但增加了算法计算复杂度。扰动参数D通过循环移位和置换操作产生新解,增加了新解与最优解之间的差异度,进而加快了在搜索空间寻找最优解的速度。Mertroplis准则避免了搜索结果陷入局部最优,它依概率接收非最优的新解。此概率随着迭代次数增加而减小,进而使结果收敛。

3 实验及结果分析

利用Matlab平台仿真类语音调制解调器,应用simulink库模块和自定义模块分别实现BCH编解码模块、波形选择与译码模块和调制解调码本。通过增加高斯白噪声,模拟数据在移动通信网语音通道的传输过程,测试此调制解调器的误码率和计算开销并分析了其编码效率和存储开销。

3.1 实验设置

在数据-波形映射搜索算法中,初始温度T0、马氏长度L、降温系数a和迭代终止条件N直接影响码本优化效果。由于初始码本的目标函数值y=0.061 8,为使搜索结果不陷入局部最优且简化搜索过程,设置T0=4×10-3,a=0.999 8。在此条件下研究马氏长度和迭代终止条件对算法优化结果的影响。

移动通信网采用了FR、EFR、HR和AMR等多种声码器,不同声码器的数据调制速率不同。采用C语言实现声码器并在Matlab中予以调用。实验以EFR声码器为例,比较本文与文献[11]、文献[14]方案的性能,选取一组规模为16×40的最优码本。此时,波形符号通过各类声码器的符号错误率见表2所列。在码本映射前加入BCH编码模块并设置不同参数,仿真不同参数下的编码增益。

表2 16×40码本规模下各类声码器的符号错误率

将16个类语音波形循环重复2 000次并生成wav音频。将音频通过声码器进行编解码处理,并在编码后引入加性高斯白噪声,用于模拟移动通信网语音通道。解调处理后,波形选择与波形译码模块统计得到此码本的转移概率矩阵。应用数据-波形映射关系搜索算法,搜索得到最优解,并建立最优数据-波形映射关系。

在simulink中构建仿真模型,数据源调用伯努利二进制生成器,BCH编解码直接调用库内模块BCH Encoder和BCH Decoder。波形选择和波形译码通过创建S-Function自定义模块,模块调用数据-波形搜索算法建立最优映射关系。码本通过自定义的波形映射模块调用。自定义语音信道模块调用了声码器并加入高斯噪声。最后,将发送端和接收端接入误码率计算器用于统计整体误码率。参数设置见表3所列。

表3 参数设置

3.2 结果分析

在初始温度和降温系数确定的情况,优化结果由马尔可夫链长度L和终止条件N决定。马尔可夫链长度L和终止条件N对系统纠错率的影响如图3所示。

图3 参数选取对优化结果的影响

当N=10时,搜索算法容易满足终止条件,陷入局部最优,优化效果不明显;当N=30时,随着马尔可夫链长度增加,系统误码率逐渐降低,但当L>400时,误码率变化不明显且未收敛;当N=100时,随着L增加,系统误码率最终收敛于0.076%。在本文参数设置下,马尔可夫链长度L设为1 200,终止条件N设为100时,算法优化结果收敛。

不同参数设置下,基于码本映射方法的调制解调误码率如图4所示。

图4 不同参数设置下的编码增益

在此码本下,一个波形对应4 bit数据,由实验结果知,在信噪比为5 dB的条件下,BCH(31,21)码具有较高的编码增益,同时编码效率最高。

文献[12]方案采用码本映射方法,码本质量较高但未加入纠错编码。文献[14]方案采用3阶脉冲调制和(2,1,7)卷积码的方法,但不针对数据-波形关系进行优化。在码本规模为16×40,信道数据速率为3 kb/s的条件下,其性能见表4所列。

表4 性能对比

由于引入BCH(32,21,5)码,本文所设计的调制解调器的编码效率略有降低。相比文献[12]方案,设计的调制解调器还需额外存储生成矩阵与校验矩阵,与直接增加BCH码的方案相当。由于本文针对数据-波形映射关系进行优化,提高了纠错率,进而使整体计算时间相比引入BCH码的文献[12]方案略有增加。相比其他方案,设计的调制解调器在满足语音安全通信编码效率和资源消耗要求下,大幅降低了误码率。

综上所述,本文方法相比同类码本映射方案,在增加部分数据冗余和少量资源开销的情况下,误码率下降超过87.7%;相比于脉冲调制方案,在计算复杂度和误码率方面均有明显优势。

4 结 论

本文针对现有类语音调制解调方案误码率较高的问题,设计了一种带纠错的类语音调制解调器。此调制解调器采用提出的基于模拟退火的映射关系搜索算法,针对数据-波形映射进行优化,有效降低了误码率。此外,通过引入BCH纠错码进一步提升了调制解调器的可靠性。实验结果表明,设计的调制解调器在增加少量存储和计算资源的情况下,相比其他同类方案在传输可靠性上具有明显优势,可有效提高语音安全通信的质量。

猜你喜欢

调制解调器搜索算法误码率
改进和声搜索算法的船舶航行路线设计
面向通信系统的误码率计算方法
改进的非结构化对等网络动态搜索算法
改进的和声搜索算法求解凸二次规划及线性规划
基于莱维飞行的乌鸦搜索算法
失效网络中节点可通信性能评估方法研究
D—BLAST基带系统的FPGA实现研究
线性调频扩频技术的研究与分析