类语音调制解调器的设计与实现
2009-07-14
作者:杨典兵, 罗兴国, 许明艳
摘 要: 针对端对端保密通信中语音信号因加密随机化而不能被声码器正确解码的问题,提出了一种类语音调制解调算法,将加密语音数据调制成类语音信号后进行传送。介绍了算法中增益、基音周期和声道相关参数的码本设计方法以及参数的提取、量化和搜索的方法,并利用VC进行仿真,通过对数据进行比对实现增益、基音及声道参数的有效还原。
关键词: 类语音调制解调;增益;基音;声道参数
目前的第二代和第三代移动通信系统中采取的安全措施能在一定程度上保护用户身份的隐私性和空中接口中传输信息的机密性。然而,这种通信机密性仅仅保障无线接入信道,语音信号在核心电路交换网中完全以PCM或者ADPCM语音的形式“裸露”传送,存在被窃听的风险。为了降低这种风险,进一步保证端对端通信的安全性,有必要在语音信号进入现有通信系统之前对其进行加密[1-2]。
语音进入通信系统后,终端和网络中的声码器会对语音信号进行压缩/解压缩处理,以便有效地利用语音信道带宽。声码器的工作基于人类语音的特征,语音信号在加密处理后的随机化特性,将不满足语音编解码所需的语音特征,从而不被声码器准确转换[1-3]。
本文提出一种类语音调制解调方法,该方法能将加密处理后的语音数据比特流或者其他数据调制成类语音波形,使波形具有声码器转换所需的语音特征。这样,类语音波形就能够通过声码器的压缩/解压缩处理过程且具有较小误比特率。加密后的数据可以在语音通道上进行传输,尽管此时传输的是加密过的信号,但给第三方的感觉是一种未加密的语音数据,从而避免引起第三方的关注,实现身份掩护功能,有效地实现终端用户信息的安全传输。
1 系统描述
图1描述的是一个端对端保密移动通信路径。语音信号通过低速语音压缩编码后进行加密,加密后的语音数据输入类语音调制器,调制器将其转换成一种类语音波形后通过终端上的声码器进行压缩,得到的比特流被发送到通信信道。接收终端上的解码器接收比特流后将其转换回一个类语音波形。类语音解调器应能够有效识别由于通信网络中的转换而在解码器与发射端调制器之间产生的波形误差,提取出原始的加密数据,然后进行解密和解码,得到原始的语音。
类语音调制解调器,其功能是实现码流与类语音信号的转换,而类语音信号要具有语音信号的特性,其算法原理与声码器算法类似,因此类语音调制解调算法的研究基于对声码器算法的研究。重点通过研究现有的10阶线性预测声码器LPC-10算法和混合激励线性预测声码器MELP算法,实现类语音调制解调算法。
2 调制器设计
从本质上讲调制器是一个语音合成器,输入比特流通过语音合成模块转换为类语音波形。这个类语音波形与输入原始语音波形不同,但两者之间具有重要的关系,即类语音波形能从加密后的输入语音数据比特流唯一地产生。
调制器使用的语音产生模型参数和相应的波形具有两个重要的特点:
(1)尽管网络引入失真,但接收到相应波形时,解调器能准确识别相应于输入数据的初始描述参数,这些所选参数能够表示人类语音信号的重要特性。典型的语音参数包括基音周期、频谱特性及语音信号的能量等[4]。
(2)每一组与其他组之间必须有较大的不同,即在一个有效参数组内,没有一个选定的波形与其他波形类似。为了达到这个目的,输入语音信号首先使用一种低速声码器进行压缩[5],这样可以极大地降低比特速率。这就允许接收端语音解码器解码产生的各个有效类语音波形之间存在一定数量的冗余(随着输入比特速率的降低,用来生成每个类语音波形的比特数量也随之减少,同时减少了有效组内的波形总数[6])。
图2、图3对应于一个20 ms帧的调制过程,其中10 bit用于LSF参数,5 bit基音周期,5 bit增益,总共1 kb/s。这个映射过程将数据比特映射成类语音参数,然后通过类语音合成器合成为类语音信号。
2.1 基音周期码本的设计
在解调端利用AMDF(短时平均幅度差函数)来提取基音周期,信号间的相关性越强,越利于准确提取基音周期。反之,基音周期的大小反应了信号延迟时间的长短,延迟时间越长,信号间的相关性越小,计算出现误差的可能性就越大。较小的基音值可以得到较好的类语音波形,同时可以简化解调端的设计。
为了保证解调器的性能,选用低延时的32个周期值作为类语音信号的基音周期,5 bit编码。图4、图5分别显示了基音值在20~76之间和基音值在20~156之间合成的类语音波形。
由图4、图5可知,基音值较小时可以合成较好的类语音波形,以便于后端的处理。
表1是基音范围为20~156之间调制(合成)时的基音值和解调(编码)时的基音值。
由上表可知:基音值较小时有利于解调端的准确提取,通过简单的基音提取算法简化解调端。测试结果表明基音值最佳取值区间为20~76。
2.2 声道参数选择与码本设计
语音参数编码算法的声道参数包括预测系数PC(Prediction Coefficient)、反射系数RC(Reflection Coefficient)和线谱频率LSF(Line Spectrum Frequency)等几种不同的描述方法。其中线谱频率是频域参数,具有有序性、有界性的特点,误差相对独立,某个频率点上的LSF偏差只对该频率附近的语音频谱产生影响,而对其他LSF频率上的语音频谱影响不大,从而具有更好的量化特性。此外,用LSF构成合成滤波器能保证稳定性,可满足调制器性能要求,因此,选用线谱频率LSF作为声道参数。
本文采用自相关法计算预测系数并转换成线谱频率LSF。综合考虑量化效率、码本存储量、计算量及复杂度,采用分裂矢量量化[7]的方法,把10维的LSF矢量分成(5,5)两个矢量,每矢量5 bit编码,分别量化。
采用欧氏失真作为失真测度:
其中,d2(x,y)的下标2表示平方误差,xi和yi分别表示矢量x和y的分量。
对每个矢量分别采用LBG算法[8]设计码本,从大量的随机对话句子中选取10 000帧浊音作为训练序列。码本尺寸为32。
2.3 增益码本的设计
LPC-10增益码表中不仅有0幅值元素,而且低幅值元素的量化间距很小。为了更好地承载信息并增加抗误码性能,需要对增益码本进行优化改进,设置最小增益值(如10),增大相邻元素间的量化距离,避免了因幅度过小而无法还原信息的情况。码本尺寸32,5 bit编码。
2.4 类语音合成
根据语音参数分别构造激励信号和声道滤波器后,以基音周期为基本单位进行语音合成。合成滤波器传递函数如下:
其中ai为预测系数,由LSF转换得到。
LPC-10算法对语音的合成以基音周期为基本单位,根据基音周期的不同,每帧合成的类语音样点数可能等于180点,也可能小于180点。当合成样点数小于180点时,不足的差值样点数补充到下一个合成帧,使得待合成的语音帧帧长动态变化。
为了保证解调器端的有效同步,在以基音周期为基本单位合成类语音的基础上,当每帧合成的样点数小于180点时,用最后一个基音合成单元的样点数补齐,保证每帧输出180个样点。
类语音合成器的激励采用固定的一串随机序列作为激励,有利于简化调制算法,也便于参数的提取。考虑到合成的类语音仅仅是作为待调制信息的载体,不需要以自然度、可懂度等语音性能评价指标来衡量,因此为了保证解调器的解调性能,在类语音合成输出时不进行三帧平滑、滤波和延迟处理。
3 解调器设计
解调器对接收到的类语音信号分帧,以帧为处理单元,采用现有的信号处理技术从类语音波形中提取上述参数。这些提取出来的参数与码本相比较,其中最匹配的向量可以用来恢复原始数据。这个过程如图6所示。
3.1 基音周期的提取
语音信号经过逆滤波器得到残差,将残差进行三电平削波,不进行4:1的抽取,直接计算AMDF。计算AMDF的公式为[3]:
其中,τ的取值可以为20,21,22,…40,42,44,…76。
LPC-10算法的基音搜索过程比较复杂,涉及到嗓音起始时间计算、清/浊音检测、浊音窗设定、基音及清/浊标志校正等多个处理过程。本算法在调制端合成类语音时,将所有的语音参数帧均合成为浊音信号。因此,在解调端不需要进行嗓音起始时间的判断和清/浊检测及校正,直接进行基音周期的提取,降低了计算复杂度。
根据AMDF的最小值确定基音周期。为了防止出现实际基音周期的整数倍值,还需要进行基音周期的跟踪搜索。
3.2 线谱频率的提取和量化
LPC-10算法采用了协方差法计算预测系数,无法保证求解参数的稳定性。在进行调制解调器设计时,改用自相关法,加哈明窗改进算法性能,并对预测系数进行15 Hz频带扩展(扩展因子r=0.994),保证了提取参数的稳定性。
将频带扩展后的10个预测系数转换成10个线谱频率LSF,对LSF进行升序排列,以保证LSF的单调性和有序性;对LSF进行最小间隔检测,以保证LSF的最小间隔大于50 Hz。对10维LSF进行(5,5)分裂矢量量化,获取2组量化索引号。码本尺寸32,索引号5 bit编码,共计10 bit。
3.3 增益的提取与量化
取当前帧基音周期的整数倍计算增益RMS,计算公式为:
式中, Si为经过预加重的数字语音,M是分析帧的长度。对计算所得的RMS值进行量化,获得增益索引,5 bit编码。
表2显示了调制端、解调端的增益所对应的量化增益值,由表中可得增益G较为稳定,可以采用这种方法提取和还原增益参数G。
软件仿真的结果表明,本文设计的类语音调制解调器能实现类语音信号的调制和解调且具有较低的误码率。但本文的工作仅限理想环境下的实现,如果考虑信道误码、丢包等因素,还有待进一步研究。
参考文献
[1] KATUGAMPALA N N, VILLETTE S, KONDOZ A M.Secure voice over GSM and other low bit rate system.Secure Gsm and Beyond:End to End Security for Mob,11,Feb,2003.
[2] KATUGAMPALA N N, AL-NAIMI K T, VILLETE S, et al.Real time data transmission over GSM voice channel for secure voice & data applications. Secure Mobile Communications Forum, 23, Sept, 2004.
[3] LO C, CHEN Y. Secure communication mechanisms for GSM networks. IEEE Transactions on Consumer Electronics,1999,45(4):1074-1079.
[4] 李军林,杜松,崔慧娟,等. 0.8 kb/s高质量声码器算法.清华大学学报(自然科学版), 2003,43(1).
[5] STEFANOVIC M, CHO Y D, VILLETTE S, et al. A 2.4/1.2 kb/s speech coder with noise pre-processor.proceedings EUSIPCO 2000, Tampere, Finland: 4-8.
[6] KONDOZ A. Digital speech:coding for low bit rate communication systems. J.Wiley, New York. 1994.
[7] 王炳锡.语音编码.西安:西安电子科技大学出版社,2002.
[8] 吴家安.语音编码技术及应用.北京:机械工业出版社,2005.