混沌在信号处理、通信和控制领域的应用也日渐广泛。一般认为,在通信领域,混沌信号代替传统的正弦信号作信息载体有以下优势:其一是混沌信号的宽频特性可以实现某种意义上的扩频;其二是混沌信号的类似噪声难以预测,而这一特点正好可为信息的保密传输提供保证。随着多媒体信息技术和网络技术的高速发展,数字语音压缩技术的应用领域越来越广泛,尤其在可视电话、IP网络电话、数字蜂窝移动通信、综合业务数字网、公共交换电话网和话音存储转发系统等领域中,需要在保证语音一定质量的前提下尽可能降低其编码比特率,便于在有限的传输带宽内让出更多的信道用于传送图像、文档、计算机文件和其他数据流。
1 语音信号压缩原理
μ/A律压缩解压编码是国际电报电话协会CCITT(Consultative Committee for International Telegraph and Telephone)早推出的G.711语音压缩解压编码。
A律压扩的数学解析式为:
式中:y为输出信号;x为输入信号;A为压缩系数。
由上式得知,小信号时为线性特性,大信号时近似为对数特性。A律可用13段折线逼近,便于用数字电路实现13段折线的压缩特性如图1所示。图1分段为x取正值时的情况,而x取负值时,压扩特性与x取正值成奇对称,在正8段和负8段中,正1、2段和负1、2段斜率相同,合为一段。
在进行A律压缩时,采样后的12 bit数据,默认其位为符号位,压缩时要保持位即符号位不变,原数据的后11 bit要压缩成7 bit.这7 bit码由3 bit段落码和4 bit段内码组成。压缩变换后的数据根据后11 bit数据大小决定。具体的编码表如表1所示。
2 系统硬件接口设计
本系统实现的是G.711标准A律压缩编码的语音处理过程。语音采集与输出模块采用TI公司推出的一款高性能的立体声音频Codec芯片TLC320AD50C,内置输入和输出放大器,且对输入和输出都具有可编程增益调节。
2.1 模拟接口设计
模拟信号输入电路如图2所示。语音信号放大器经过前端放大器TLC2272ACD放大、带通滤波、单输入信号转换为差分信号后,送入AD50C的A/D转换器的差分输入端(INP和INM)。A/D转换器将输入的模拟信号转换为以二进制补码表示的数字信号。
模拟信号输出电路如图3所示。经D/A转换、内部低通滤波恢复的模拟信号从AD50C的OUTP管脚输出,外部放大滤波电路选用LM356运算放大器。
2.2 数字接口的设计
TLC320AD50C就是一种具有许多优良特性的模拟接口电路芯片,该芯片可广泛用于各种电路,尤其是应用在DSP领域中。AD50芯片采用过采样 - 技术,可进行A/D和D/A的高分辨率、低速信号转换。该器件同时还包括两个串行同步转换电路,在DAC之前有一个内插滤波器,而在后面有一个抽取滤波器。AD50中的可选项和电路配置可以通过串行口进行编程, AD50配置位可进行软件编程,该器件中共有七个数据和控制寄存器可供使用。
TLC320AD50C支持与TMS320C5402无缝对接,接口电路如图4所示。将TLC320AD50C设置成主动工作模式,输入主时钟MCLK为8.192 MHz,采样频率选择为8 kHz,内部PLL使能(控制寄存器4中的N=8)[2].通过寄存器设置,将TMS320C5402的FSX、FSR、CLKR、CLKX配置为外部输人,TLC320AD50C的SCLK配置为内部产生。数据接收/发送帧同步信号、移位时钟信号均由TLC320AD50C产生,串行口的接收/发送过程受TLC320AD50C的控制。
3 系统软件接口设计
系统程序流程图如图5所示,软件设计工作主要包括以下几方面:
(1)TMS320VC5402串口的初始化。首先将DSP串口0复位,再对串口0的寄存器进行编程,使DSP串口工作在以下状态:以SPI模式运行,每帧一相,每相一个字,每字16 bit,帧同步脉冲低电平有效,并且帧同步信号和移位时钟信号由外部产生。
(2)AD50C初始化。该初始化操作过程包括通过TMS320C5402的同步串口发送2串16 bit数字信息到AD50C.串为0000 0000 0000 0001B,有效位(bits0)为1,说明下一个要传输的数据字属于次通信。第二个数据用来对AD50C的4个控制寄存器的某一个进行配置。15~11位为0,10~8位为所选寄存器地址值,7~0位为所选中寄存器的编程值。通过对4个可编程控制寄存器编程,使AD50C工作在以下状态:选择INP/INM为工作模拟输入,15+1 bit ADC和15+1 bit DAC模式,不带从机,采样频率为8 kHz,模拟信号输入和输出放大增益均为0 dB[4].4个寄存器初始化需要4个主通信和次通信。
(3)压扩算法的实现。TMS320C5402内部的缓冲串口(McBSPs)带有硬件实现的μ律和A律压缩解压,用户只需要在相应寄存器中进行设置就可以了,本系统通过软件编程来完成线性码转换成A律。在主程序中通过A/D抽样量化得到线性编码,再由编码表通过软件计算得到8 bit A律编码,其中位为符号位,第6 bit到第4 bit为段落码,低4 bit为段内码。将8 bit的压缩结果存储到系统RAM中进行缓存,根据抽样率、语音存储时间以及系统RAM的容量设置语音存储缓冲区的大小,待缓冲区存满后,将缓冲区内的数据进行解压缩,然后输出到SPEAKER接口输出。
4 系统实验结果
硬件调试成功后,使录音时间达到5 s左右。通过CCS观察数据图形,图6为压缩前的语音信号波形,图7为压缩后的语音信号波形;通过回放,试听解压后语音信号无明显失真。实验结果说明系统成功实现了语音信号的压缩存储。
本文所介绍的MS320C5402与TLC320AD50C的组成语音压缩存储系统,接口电路简单,编程方便,且程序代码已在CCS3.1开发环境上得到验证。
免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。