位置:51电子网 » 技术资料 » 集成电路

语音信号的μ/A律压缩

发布时间:2008/12/17 0:00:00 访问次数:2040

  语音信号的编码方式一般为脉冲调制编码(pcm,pulse code modulation)。采用dsp可以直接对pcm编码后的语音信号进行μ律和a律压缩。

  pcm编码即脉冲编码调制,也就是将模拟信号转换数码,然后再转换成二进制数字信号的方法。几种常用的二进制编码格式如表1所示。

  表1 几种常用的二进制编码格式

  μ/a律压缩解压编码是国际电报电话协会(ccitt,consultative committee forinternational telegraph and telephone)最早推出的g.711语音压缩解压编码的一种格式的主要内容。其中欧洲和中国等国家采用a律压缩解压编码,美国和日本等国家采用μ律压缩解压编码。由于中国采用a律,本实例着重介绍a律压缩解压算法。图1是dsp硬件实现数据压缩解压的简单流程,dsp将传输来的压缩后的数据进行解压成16位或者32位,然后对解压后的数据进行分析、处理,最后将处理后的数据按照要求压缩成8位的数据格式输出到相应设备,供其他设备读取。

  图1 数据压缩解压流程

  图2是dsp将数据解压的值,dsp将压缩的8位数据解压成16位的dsp通用数据格式,其中高13位为解压后的数据,低3位补0。这是因为6.711的a律压缩只能对13位数据操作。dsp将解压后的数据放在缓冲串口的发送寄存器中,只要运行发送指令,缓冲串口就会将数据发送出去。缓冲串口对接收数据的解压过程和压缩过程完全相反。图3是μ律数据解压的示意图。

  图2 a律数据解压

  图3 μ律数据解压

  dsp内部的缓冲串口(mcbsps)带有硬件实现的μ律/a律压缩解压,用户只需要在相应寄存器中进行设置就可以了。

  在进行a律压缩时,采样后的12位数据,默认其最高位为符号位,压缩时要保持最高位即符号位不变,原数据的后11位要压缩成7位。这7位码由3位段落码和4位段内码组成。具体的压缩变换后的数据根据后11位数据大小决定。具体的编译码表如表2所示。

  表2 a律数据压缩表

  压缩后数据的最高位(第7位)表示符号,量阶分别为1、1、2、4、8、16、32、64,由压缩后数据的第6位到第4位决定,第3位到第0位是段内码。压缩后的数据有一定的失真。有些数据不能表示出,只能取最接近该数据的压缩值。例如,数据125,压缩后的值为00111111,意义如下。

  最终结果为64+4×15=124

  也可以使用缓冲串口实现对内部数据的压缩和解压,通过缓冲串口的自发自收功能,可以实现:

  (1)将线性数据转换为相应的u律或者a律格式;

  (2)将u律或者a律格式的数据转换为线性数据;

  (3)通过线性数据的传输以及对这些数据的压缩和解压,评估压缩和解压过程中量化效应对数据的影响;

  图4是利用缓冲串口对片内数据进行压缩和解压的两种实现方法,分别由dlb和non-dlb两条路径表示。

  图4 dsp内部数据的压缩和解压

  (1)dlb路径。缓冲串口设置为数字反馈环路,在rcompand和xcompand位中设定相应的压缩和解压方式。此时dsp仍然可以利用发送(xint)和接收(rint)中断或者是dma的发送(xevt)和接收(revt)同步事件进行数据输入输出的同步控制。在这种方式下,压缩和解压的速度取决于设置的串行波特率。

  (2)non-dlb路径。当缓冲串口的发送和接收端均对复位后,drr和dxr只通过压缩和解压模块相连,数据不再经过rbr、xsr、rsr以及dr和dx引脚。数据按照rcompand和xcompand位中设定的方式进行压缩和解压,但此时不能产生dsp所需要的中断信号,也不能产生dma需要的同步事件。但这种方法直接从dxr到drr,压缩和解压的速度非常快。

  语音信号的p/a律压缩程序如下:

  语音信号的编码方式一般为脉冲调制编码(pcm,pulse code modulation)。采用dsp可以直接对pcm编码后的语音信号进行μ律和a律压缩。

  pcm编码即脉冲编码调制,也就是将模拟信号转换数码,然后再转换成二进制数字信号的方法。几种常用的二进制编码格式如表1所示。

  表1 几种常用的二进制编码格式

  μ/a律压缩解压编码是国际电报电话协会(ccitt,consultative committee forinternational telegraph and telephone)最早推出的g.711语音压缩解压编码的一种格式的主要内容。其中欧洲和中国等国家采用a律压缩解压编码,美国和日本等国家采用μ律压缩解压编码。由于中国采用a律,本实例着重介绍a律压缩解压算法。图1是dsp硬件实现数据压缩解压的简单流程,dsp将传输来的压缩后的数据进行解压成16位或者32位,然后对解压后的数据进行分析、处理,最后将处理后的数据按照要求压缩成8位的数据格式输出到相应设备,供其他设备读取。

  图1 数据压缩解压流程

  图2是dsp将数据解压的值,dsp将压缩的8位数据解压成16位的dsp通用数据格式,其中高13位为解压后的数据,低3位补0。这是因为6.711的a律压缩只能对13位数据操作。dsp将解压后的数据放在缓冲串口的发送寄存器中,只要运行发送指令,缓冲串口就会将数据发送出去。缓冲串口对接收数据的解压过程和压缩过程完全相反。图3是μ律数据解压的示意图。

  图2 a律数据解压

  图3 μ律数据解压

  dsp内部的缓冲串口(mcbsps)带有硬件实现的μ律/a律压缩解压,用户只需要在相应寄存器中进行设置就可以了。

  在进行a律压缩时,采样后的12位数据,默认其最高位为符号位,压缩时要保持最高位即符号位不变,原数据的后11位要压缩成7位。这7位码由3位段落码和4位段内码组成。具体的压缩变换后的数据根据后11位数据大小决定。具体的编译码表如表2所示。

  表2 a律数据压缩表

  压缩后数据的最高位(第7位)表示符号,量阶分别为1、1、2、4、8、16、32、64,由压缩后数据的第6位到第4位决定,第3位到第0位是段内码。压缩后的数据有一定的失真。有些数据不能表示出,只能取最接近该数据的压缩值。例如,数据125,压缩后的值为00111111,意义如下。

  最终结果为64+4×15=124

  也可以使用缓冲串口实现对内部数据的压缩和解压,通过缓冲串口的自发自收功能,可以实现:

  (1)将线性数据转换为相应的u律或者a律格式;

  (2)将u律或者a律格式的数据转换为线性数据;

  (3)通过线性数据的传输以及对这些数据的压缩和解压,评估压缩和解压过程中量化效应对数据的影响;

  图4是利用缓冲串口对片内数据进行压缩和解压的两种实现方法,分别由dlb和non-dlb两条路径表示。

  图4 dsp内部数据的压缩和解压

  (1)dlb路径。缓冲串口设置为数字反馈环路,在rcompand和xcompand位中设定相应的压缩和解压方式。此时dsp仍然可以利用发送(xint)和接收(rint)中断或者是dma的发送(xevt)和接收(revt)同步事件进行数据输入输出的同步控制。在这种方式下,压缩和解压的速度取决于设置的串行波特率。

  (2)non-dlb路径。当缓冲串口的发送和接收端均对复位后,drr和dxr只通过压缩和解压模块相连,数据不再经过rbr、xsr、rsr以及dr和dx引脚。数据按照rcompand和xcompand位中设定的方式进行压缩和解压,但此时不能产生dsp所需要的中断信号,也不能产生dma需要的同步事件。但这种方法直接从dxr到drr,压缩和解压的速度非常快。

  语音信号的p/a律压缩程序如下:

相关IC型号
版权所有:51dzw.COM
深圳服务热线:13751165337  13692101218
粤ICP备09112631号-6(miitbeian.gov.cn)
公网安备44030402000607
深圳市碧威特网络技术有限公司
付款方式


 复制成功!