基于TMS320C5416的G.729语音编解码算法的优化和实现
[10-10 20:36:41] 来源:http://www.88dzw.com 电子制作 阅读:8869次
文章摘要: L_32=hi_word<<16+lo_word<<1 Hi_word=L_32>>16 Lo_word=L_32-hi_word>>1 当累加器中的数值超过一定范围时将会产生溢出。在G.729算法标准中, 累加器的值被限定在80000000~7FFFFFFF之内——即最小负数和最大正数。不过在TMS320C5416中,如果将PMST寄存器中的OVM置位,则溢出会得到自动处理。2.3 内联指令的应用和C程序中嵌入汇编语句 由于语音编码的特点,编解码函数都是由一些基本的加减乘除简单函数组织而成,这些函数定义在BASI
基于TMS320C5416的G.729语音编解码算法的优化和实现,标签:电子小制作,http://www.88dzw.comL_32=hi_word<<16+lo_word<<1
Hi_word=L_32>>16
Lo_word=L_32-hi_word>>1
当累加器中的数值超过一定范围时将会产生溢出。在G.729算法标准中, 累加器的值被限定在80000000~7FFFFFFF之内——即最小负数和最大正数。不过在TMS320C5416中,如果将PMST寄存器中的OVM置位,则溢出会得到自动处理。
2.3 内联指令的应用和C程序中嵌入汇编语句
由于语音编码的特点,编解码函数都是由一些基本的加减乘除简单函数组织而成,这些函数定义在BASIC OP.C和OPER_32B.C两个文件中,如果能够对这些简单函数进行内联指令(intrinsic)的优化,就能达到事半功倍的效果。内联指令是汇编指令的直接映射,具有很高的效率。例如:
#define muh_ r(varl,var2) _mpylir(varl,var2)
#define L_ add(L_var1,L_var2) _sadd(L_var1,L_var2)
#define L_ muh(var1,var2) _smpy(var1,var2)
在C程序中嵌入汇编语句的方法比较简单,只需在汇编语句的左右加上一个引号,然后用小括弧将汇编语句括住,并在括弧前加上ASM标识符,例如ASM(“汇编语句”)。采用这种方法一方面可以在C程序中实现用C语言无法实现的一些硬件控制功能,如修改中断控制寄存器、中断使能或屏蔽、读取状态寄存器和中断标志寄存器等;另一方面,也可以用这种方法在C程序中的关键部分用汇编语句代替C语言以优化程序。而采用这种方法的缺点是比较容易破坏C环境,因为C编译器在编译嵌入了汇编语句的C程序时并不检查或分析所嵌入的汇编语句。采用这种方法需要注意以下几点:
(1)不要破坏C环境,因为C编译器并不检查和分析嵌入的汇编语句。
(2)汇编语句不要改变C程序中变量的值,不要在汇编语句中加入汇编器而改变汇编环境。
在简化算法的基础上,使用CCS提供的C优化器进行C语言优化,同时还使用内联函数和汇编优化。
3 G.729在TMS320C5416上的实现
3.1 TMS320C5416的体系结构和应用
TMS320C5416(以下简称C5416)是TI公司最近推出的一款高性价比的通用l6位定点DSP芯片,它的内核CPU基本组成与TMS320C54X系列一样。C5416的单指令周期为6.25 RS,每秒执行的指令数为160×106,指令系统丰富并具有很多多功能指令,使用了6级指令流水线结构,这些都很适合实现低时延的G.729声码器。采用一个40bit ALU、128K×16bit片内RAM(包括64KB的片内DARAM和64KB的片内SARAM)、3个独立的l6bit数据内存总线、1个程序内存总线、3个MCBSP、6信道DMA控制器、1个8/l6位并行增强主机端口接口及2个l6bit计时器。
在TMS320C5416中通过PCM3002进行语音信号的A/D和D/A转换,PCM3002使用两个串行通道,一个用于控制内部寄存器,另外一个用于数据传输。在系统板TMS320C5416中默认的语音信号的抽样率是48kHz,通过修改PCM3002的内部控制寄存器,设定PCM3002信号的抽样率。为了满足G.729编码的要求,PCM3002信号的抽样率为8 000Hz。为了充分利用DSP进行信号处理,通过使用MCBSP和DMA把抽样的数据送入DMA的缓冲区中,当缓冲区满时产生一次中断,DSP把DMA的缓冲区中的数据读入DSP中进行处理,然后把处理过的数据送入DMA发送缓冲区。
3.2 G.729在TMS320C5416的实现
G.729的处理过程中采用块处理技术如图3所示。按照G.729标准,每块(帧)由80个样本组成,最初80个样本被存起来,处理过程中有两个操作是同时进行的。在处理块L中数据的同时,存储L+1块的数据。
Tag:电子制作,电子小制作,维修教程知识 - 电子制作
- 上一篇:基于锁相环技术的高灵敏车辆探测
《基于TMS320C5416的G.729语音编解码算法的优化和实现》相关文章
- › 基于TMS320LF2407A DSP的PFC级电路的原理与设计
- › 基于TMS320F2812变频电源的交流采样系统设计
- › 基于TMS320DM642的电视跟踪系统设计
- › 基于TMS320VC5402的音频信号采集与处理系统
- › 基于TMS320C5416的G.729语音编解码算法的优化和实现
- › 基于TMS320DM270平台的数码摄像机的设计与实现
- 在百度中搜索相关文章:基于TMS320C5416的G.729语音编解码算法的优化和实现
- 在谷歌中搜索相关文章:基于TMS320C5416的G.729语音编解码算法的优化和实现
- 在soso中搜索相关文章:基于TMS320C5416的G.729语音编解码算法的优化和实现
- 在搜狗中搜索相关文章:基于TMS320C5416的G.729语音编解码算法的优化和实现
编辑推荐
最新更新
热门排行