引言
现今使用的普通电话机无论是传统的脉冲、音频兼容电话机,还是ISDN数字电话机或基于VOIP技术的IP电话,在其通信线路上传播的都是明码的模拟信号或数字信号。非法窃听者只需把与电气性能相匹配的通信终端设备接入到合法的通信线路上,就能完整地截获通信信息。而数字加密电话与普通电话相比,在信号的传输环节又增加了一些功能单元(如A/D转换器、数据压缩单元、加密算法单元、调制解调器、解密算法单元、数据减压单元、D/A转换器等),通过这些功能单元可将模拟形式的语音信息转化成数字形式的语音信息,经过数据压缩和数据加密后,再通过调制解调器加载到电话线上。由于加密算法具有扰乱和扩散功能,它能使被传输的语音信息转变成表面上看起来无规则、无意义的乱码信息,因此,让窃听者无法监听,从而实现信息安全和保密功能。
1 MBE算法和AMBE-2000TM简介
1.1 MBE算法介绍
一般语音编码算法可分为三类:波形编码、参数编码和混合编码。其中波形编码包括脉冲编码调制(PCM)、自适应差分编码(ADPCM)、增量调制编码等;参数编码包括线性预测编码(LPC);而混合编码则包括码本激励线性预测编码(CELP)、时频插值编码(TFI)和多带激励编码(MBE)等。
MBE(Multiband Excitation Coding)算法是80年代由美国麻省理工学院(MIT—Massachusetts Institute of Technology)的D.W.Griffin博士提出的。MBE编码方案首先将一帧语音的频谱按基音各谐波频率分成若干个谐波段。再以若干个谐波段为一组进行分段,并分别对各段进行清/浊音(U/V)判决。因此,总的激励信号是由各带激励信号相加而构成的。对于浊音段而言。可用以基音P为周期的脉冲序列来作为激励信号:而对于清音段,则以白噪声作为激励信号。之后再用该激励信号激励声道滤波器,最终合成出具有较高自然度的语音。
MBE模型能够使合成语音谱与原语音谱在细致结构上很好地拟合,因此,在低比特率的情况下,其合成语音的音质依然能够保持较高的自然度。
1.2 AMBE-2000TM简介
在MIT开发了MBE编码器以后,美国数字语音系统公司DVSI(Digital Voice System Inc)继续对这个技术进行了开发,并在改进的多带激励(IMBE——Improved MBE)和先进的多带激励(AMBE——Advanced MBE)编码器商业化的过程中取得了很大的成功。1997年,由DVSI公司开发的3.6 kbps AMBE编码器的性能已与全速率(8kbps)VSELP北美数字蜂窝标准(IS-54)的性能相当。1998年。由DVSI公司开发的4 kbps AMBE编码器,其性能与ITU—T8 kbps CS—CELP标准的性能相当。
DVSI开发的AMBE-2000TM是一种高性能的多速率语音压缩编解码芯片,它采用MBE (AMBE)算法,其语音编解码速率可在2000~9600 bps之间以50 Bits的间隔设置。在芯片内部有相互独立的语音编码和解码通道。由于其编解码可同步进行,所以可完全支持全双工通信方式,并且所有的编解码操作都可在芯片内部完成.而不需要外扩的存储器。此外,它还具有FEC(前向纠错)、VAD(语音活动监视)和DTMF信号检测功能。AMBE-2000TM的这些特性使得它非常适合于数字语音通信、加密语音通信以及其它需要对语音进行数字处理的场合。
2 接口设计
2.1 声码器和语音编解码器的接口设计
语音接口一般是采用外置的A/D—D/A芯片,流入和流出的语音数据流格式应该匹配。也就是说,它们必须具有统一的格式(16位线性,8位A 律,8位U律)。在笔者做设计的时候,首先考虑的是A/D—D/A芯片的选择、通道接口的选择以及语音和FEC速率等。其中。A/D—D/A芯片的选择对于设计出具有优良语音质量的系统是非常关键的。
从AMBE-2000TM的用户手册上可以看出,可以作为其外部A/D—D/A部分器件的。除了通用的16位线性器件、8位A律或U律编码器件外。还有一种特别的器件,那就是AD (美国模拟器件)公司的AD73311AR。AD73311AR芯片内部集成有16位A/D和D/A转换以及编解码功能,并具有3V和5V两种工作电压。 AD73311AR采用全双工串行工作方式,且内置5个控制寄存器,可通过串口对其输入/输出增益、串口时钟速率、帧速率、参考电平等进行控制。另外,如果选用AD73311AR,则AMBE-2000TM对它的命令字发送是自动进行的。AMBE-2000与AD73311AR的连接方式如图1所示。
使用时,AD73311的SE(即串口使能)端必须接高电平,否则AD73311将没有SCLK串口时钟输出。复位后。AMBE-2000TM 对AD73311的初始化是自动进行的。AMBE-2000TM依次发送Ox8113、Ox82f19、Ox8300及Ox8001。前面3个控制字用于设置AD73311的以下工作状态:
DMCLK(设备内部主时钟)-MCLK(外部主时钟)/2=8.046 MHz;
SCLK(串口时钟)=MCLK/16=1.024MHz;
Sample rate(采样频率)=MCLK/512=32 kHz。
2.2 声码器和主机DSP的接口设计
AMBE-2000TM与主机的接口主要有两种选择模式:主动模式和被动模式。在主动模式下。数据选通信号是由AMBE-2000TM声码器芯片内部产生的;而在被动模式下,数据选通信号则由外部来提供。
主机芯片可采用Texas Instruments (美国德州仪器公司)生产的TMS320F2812,这是一种带有flash ROM的32位定点数字信号处理器芯片。AMBE-2000TM声码器在用户手册的硬件信息部分指出:AMBE-2000TM声码器芯片的核心使用的就是一个数字信号处理器芯片。其型号是TM320LC541B-66。AMBE-2000TM声码器的对外输出为16位全双工串行口。这与数字信号处理器芯片的缓冲串行口(BSP)一致。所以,与主机TMS320F2812连接时,可以十分方便地使用TMS320F28x系列芯片所具有的多通道缓冲串行口 (McBSP)来进行操作。AMBE-2000声码器与TMS320F2812数字信号处理器的连接方式如图2所示。
声码器与主机接口的数据格式分为两种:一种是有格式,另一种是无格式。在有格式情况下,AMBE-2000TM大约每20 ms生成一个压缩数据包(也就是一帧),每帧24个双字,每个双字16位。同时AMBE-2000TM会从主机接口收到一帧。其中,每帧前12个双字是 ID状态和控制信息,且第一个双字固定为Ox13EC;第13至第24个双字是压缩语音的数据信息。根据数据率的不同,其数据位数也不相同。数据位数和压缩数据率的关系如下:
位数=压缩数据率(bps)/50(bps)
例如,在最低压缩率为2 Kbps时,数据位数为2000/50即40位。
AMBE-2000TM与TMS320F2812的通信可采用中断方式。每一次中断执行一次数据的发送和接收。也可采用查询方式。AMBE- 2000TM每产生一个数据包后,其EPR管脚会输出一个短的负脉冲指示。当EPR输出由高到低的脉冲时,系统将检测CHAN_TX_STB引脚,并读取 CHAN_TX_DATA引脚上的数据。如果头字不是Ox13EC,则丢弃。当得到的是Ox13EC后。再读取这一帧余下的数据。
3 工作流程
本设计的系统工作流程如图3所示。电话听筒传入的语音信号经由滤波电路2处理后,将由第一A/D、D/A转换器3转换成数字信号,再由数字语音编解码单元4将码率大幅度降低。接着由数字信号处理器进行DSP压缩、加密算法处理,以将数据中的冗余降到最低并加密成密文,同时加上纠错码,最后由调制解调器10将数据发送出去。当对方话机的调制解调器将数据接收下来后,再由数字信号处理器DSP对接收到的数据进行解密、解压缩,最后由数字语音编解码单元4、第二A/D、D/A转换器5转换并放大还原成声音。
4 结束语
本文所设计的数字加密电话系统,在较低的数据码率(2.0 Kbps)传输时,输出的语音仍然非常清晰,几乎与普通模拟语音电话一致。因此,与普通电话相比,有着巨大优势。这种用AMBE2000TM与 AD73311AR相结合的设计方法,已经采用参数编码降低了数码率。此外,在主机内还使用了统计学算法,更进一步地降低了数码率。这样不但可以节约存储资源,而且能够减小对日益紧张的通信带宽的需求。此外,主机内还可根据需求对语音数据进行处理,灵活性较大。因此,AMBE-2000TM语音压缩编解码芯片将会有十分广阔的应用前景。