语音加密通信中类语音调制解调算法研究*
2019-06-10李晓峰
范 超,袁 琼,孙 莹,李晓峰
(1.北京电子科技学院,北京 100070;2.中安网脉(北京)技术股份有限公司,北京 100070)
0 引 言
随着公共交换网络(Public Switched Telephone Network,PSTN)网IP化和三网融合工程的推进,传统的电话通信网已经逐步由原有的电路交换向IP包交换网络转变,导致原有的一些通信保密技术逐渐无法适应当前的通信网络,尤其对电话加密技术提出了重大挑战。
现有的电话加密设备,大多采用基带编码加密结合高频调制方式传输加密信号,即必须通过调制解调器建立载波通信后,方可传输加密信息。这种方式不符合IP包交换网络设备的电气特性和通信特性,因此通信失败率极高。由于IP包交换网络不再像电路交换那样为通信双方建立电路连接,而是采用解析封装和转发方式,因此信号的连续性被大大降低,且异构网络的数据封装格式也各有所异,单一的载波信号很难通过异构网络正常通信,因此传统的加密方式在异构网络中部署,必须在网络边界部署编码转换设备,这无疑增加了部署的难度和成本,使得电话加密通信更加困难。
针对上述问题,国内一直研究利用非加密语音业务通道传输信息的方法,其主要问题是如何保证经过声码器编解码后能基本还原语音数据[1]。但是,其核心技术如具有加密功能的类语音调制解调算法研究还不成熟,具有很大的研究空间。
本文通过研究声码器信道模型幅频特性,分析抗声码器传输调制解调特性,提出基于正交频分复 用(Orthogonal Frequency Division Multiplexing,OFDM)技术的类语音调制解调方法。该方法将加密后的语音数据调制成具有语音特征的类语音信号,使其通过声码器压缩/解压处理过程,得到较小的误码率,并在接收端解调回加密数据,实现数据还原。
1 系统描述
声码器的工作是基于人的声音特征的,经过加密处理后的数据具有随机性,不满足语音编解所需要的语音特征,易被声码器中的语音活动检测(Voice Activity Detection,VAD)机制认为是噪音而被过滤掉[2]。所以加密处理后的具有随机化的数据想要在语音信道中进行传输,必须将其调制成具有语音功能的类语音信号,同时,接收端要将接收到的数据解调回加密数据,这就要求必须采用调制解调技术。
调制解调技术是将数字信号变换成另一种形式,以适应信道传输。一般是改变正弦波信号,用载波的典型特征(包括振幅、频率和相位)承载数字数据。语音编解码的主要目的是减少表示语音所需的比特,同时保持合格的语音质量[3]。这种方法在得到类似输入语音的合成语音的同时,抽样波形却可能明显不同,这使得调制解调器输出的承载数据的特征发生畸变。因此,大部分调制解调器不能直接在使用语音编解码的信道上工作,需要重新设计一种调制解调方案。
图1是基于OFDM的类语音调制解调传输原理框图,输入数据经过基于OFDM的类语音调制技术调制到类语音载波上,形成可以在语音信道中传输的类语音信号,然后通过声码器进行传输;接收端将类语音信号进行解调,还原得到原始数据;由于声码器多为压缩编解码,类语音信号通过声码器后会出现误码情况,故通过卷积纠错减少输出数据的误码情况,实现更好的抗声码器压缩传输效果。
图1 基于OFDM的类语音调制解调传输原理框图
2 参数配置
设计使用基于OFDM的类语音调制解调技术进行加密语音数据传输时,需要考虑多种因素,首先是调制后的语音帧格式。因为经过调制后的语音信号经过信道并在接收端进行重新对齐和解调,因此帧结构的设计至关重要重要。其次,需要考虑单个子载波调制方式的选择,OFDM对于各路子载波的调制参数主要包括幅度和相位,不同的参数调节会影响到生成信号的信号以及解调的准确性。本文中采用了QPSK的方法进行实验,并对通过全球移动通信系统(Global System For Mobile Communications,GSM)全速率声码器的信号进行了解调、映射。最后是载波数量和位置的选择,载波数量及位置会影响生成信号的频率范围,通过对GSM全速率声码器进行频谱特性分析得知,GSM全速率声码器可以等效为一个带通滤波器,其通过的频率范围为0.1~1.5 kHz,超过该频率范围的信号经过声码器后畸变严重。
由于GSM全速率声码器采用的编码方式为RPE-LTP,其对语音信号的处理是8K采样,分帧处理,每20 ms为一帧,因此,本文中生成的语音帧长度也以20 ms为单位,子载波间隔为50 Hz。由于信号可以通过的频率范围为0.1~1.5 kHz,即子载波的最高频率为1.5 kHz,并且每个正交相移键控(Quadrature Phase Shift Keying,QPSK)子载波能承载2 bit的信息,因此我们可以得到最高调制速率(即子载波频率上限)在3 000 bit左右。子载波数量乘以子载波的间隔即为子载波的最高上限,因此,在最高调制速率3 000 bit下,子载波数量最多 为30。
上述分析只是限制了最高子载波数和最高调制速率的大致范围,本文使用的子载波数量为24,这些子载波成为有效子载波,为了能使用快速傅里叶变换(Fast Fourier Transformation,FFT),对映射后的数据,还需要通过补零的方式将其扩展成2的次幂数量,补零的子载波称之为虚拟子载波[4]。具体的参数设计和载波分配方式如表1和图2所示。
表1 参数选择
图2 QPSK方式下子载波选择和分配
分配时,根据快速傅里叶逆变换(Inverse Fast Fourier Transform,IFFT)的性质,为了得到实信号方便进行传输,在完成比特的映射之后还需在后面填补其共轭对称部分,从而使经过IFFT生成的信号为实信号。在实际传输语音帧是需要在数据前加入循环前缀和帧头,循环前缀是将数据的最后一部分添加到数据前段,从而使接收端即使存在延时的情况下[5],仍然可以取得完整的周期数据。在有效数据前添加帧头的目的是为了为符号同步留下足够的空间。在8 kHz的采样率下,20 ms长的一帧数据点数为160,本文使用的帧结构如图3所示。
图3 QPSK调制下的帧结构
3 实验结果分析
为了方便考虑,本次仿真实验省略了导频的插入,此外,在输入端使用随机二进制数(加密后的数据具有随机性)作为传输数据。调制后得到的语音波形和频谱图如图4和图5所示。从图5中可以看出,该信号的频率范围在0.1~1.5 kHz之间,基本满足通过GSM声码器的频谱要求。
图4 类语音调制得到的语音信号波形
图5 类语音调制得到的语音信号频谱图
将调制信号经过声码器信道进行传输,得到的接收端信号如图6所示。
图6 接收端语音信号波形
首先通过对调制语音信号和接收端语音信号的时域波形进行直接观察,可以发现总体上波形具有很高的相似性,可见信号在传输后保持了完整性,没有被VAD机制所过滤,保证数据不被丢失。将得到的数据经过判决映射表示成比特的形式得到比特流,与原始的随机二进制数进行对比并计算得到误码率。经计算,QPSK下的平均误码率为0.5%,之后采用卷积码进行纠错,误码率为0。
通过不断测试,得到不同调制速率下的误码率情况,统计得到图7所示的误码率波形图。
图7 不同调制速率下误码率
从图7可以看到,随着调制速率的提高,误码率也在提高。调制速率低于2 700 bit时,可以通过卷积码进行纠正,最终得到误码率为0。这由于调制速率的提高是通过增加有效子载波的个数来实现,而子载波个数增加后,会占用更多的频带资源,当最高频率超出GSM声码器的最高频率时,误码率会急剧上升。因此不能同时得到高调制速率和低误码率。
4 结 语
实验结果表明,本文提出的类语音调制解调算法具有很好的抗声码器压缩性能,能保证调制语音信号通过声码器后保持较高的调制速率和低误码率。但是本实验是在理想环境下进行的仿真,在实际信道中情况会更加复杂,有待进一步研究。