试议对讲机中语音编码
时间:2022-12-12 11:34:13
导语:试议对讲机中语音编码一文来源于网友上传,不代表本站观点,若需要原创文章可咨询客服老师,欢迎参考。
一、数字对讲机系统的语音处理模块
根据数字对讲机的特点,它的设计系统由四部分组成,其中最重要的是语音处理模块的设计。它的设计原理是采用微处理器ARM单片机接收数据和编码、解码等工作,语音编码数据由DVSIAMBE+2DSP芯片进行处理,微处理器ARM在处理数据时,采用TDD帧方式封装和控制数据,使输入和输出处接口设置定时器,可以接收与发送模式转换进行控制。
1.语音处理模块的设计思路语音处理模块将模拟信号转化为PCM数字信号,数字信号由DSP芯片进行语音压缩编码,使输入的数字信号转化为语音,便于在一定的信道内传输更多的信息,既能节约无线信道宽带,还能提高系统的抗干扰能力,使无线传输距离更强。语音编码的算法采用电信推出的DPMR的语音压缩编码方式进行。该算法在波形编码和参数编码的基础上,结合预测编码,采用矢量量化和合成分析的技术方法,对源代码进行了优化,使语音处理控制在100ms以下,能够满足无线语音通信的功能。在8kbps传输码率下,提高了话音质量,具有较短的时延性。和以往的编码方式相比,编码更简单,是目前无线通信方式中最理想的语音压缩编码方式。下面介绍一下源代码优化的具体方法。
(1)改进了自适应码的搜索方法。改变语音数据帧中的原来80个采样点为40个偶数点,优化了开环基音搜索算法。
(2)改进了固定码的搜索方法。优化了码书搜索,使原来的8个循环优化为3个多层循环搜索法。
(3)对程序设计进行优化。对没有必要的溢出保护去除掉,大量的基本运算用宏进行定义,这样可以提高程序的执行效率。在完成以上三步的优化后,再用CCS的优化器进行优化,大大提升了编译后的代码容量,速度也加快,语音处理的延时速度更快,降低到10ms以下。
2.DSP芯片介绍以及编、解码的算法在选择DSP芯片时,选用的是CMX618处理芯片,它是最新改进的芯片,它的最大特点是具有两个算数乘法器,四个累加器,两个算术逻辑部件,算数乘法器采用的是17bit×17bit的,算术逻辑部件采用的是40位和16位的各一个,它的运算速度可高达400MPS,大大增强了芯片的运算能力。这种芯片的DMA接口具有6个通道,它具有USB全速接口和I2C接口,还具有一个64KBytes的DRAM控制器和一个192KBytes的SDRAM;它具有多通道缓冲串口,能够提供3个McBSP串口,使芯片之间的数据交换效率提高了几倍。它的外部存储器具有更佳高效的接口,便于与外部设备的连接,使连接更紧密,同时还能够扩大DSP的外部存储器空间,大大满足了系统的要求。通过阐述以上各种芯片的优点,使TDD数字对讲机实现了语音压缩编码的功能。SDRAM扩展了容量,改进为128K×16bit,FLASH的存储空间也扩展为512K×16bit的片外存储器,使得语音缓存数据不再占有更多的内存储空间,上电复位后,便于程序的加载,使外部存储器和C5509A的连接更佳紧密无缝。CMX618的编码速率高达8kb/s,它的编码算法是共轭结构的代数码激励线性预测。
当它工作时,CMX618芯片的编码算法采用如下的办法:A/D首先转换为PCM码,PCM码是16位的,它再通过McBSP0口发送至双缓冲区,发送的方式采用DMA的方式,接收缓冲区每接收一个PCM码就会发生一次DMA操作。当接收到80个PCM码时,已经发生了80次DMA操作,最终导致CPU中断,这80个PCM码被称为一帧,当传至G729A时,主程序被压缩进行编码,编完码后数据自动存入McSSP1口,继续发送至缓冲区,McBSP0继续采集新的数据。就这样反复的采集数据,触发CPU中断,采集到的数据再被发送出去。解码的过程正好和编码的过程相反,首先通过McBSP1口接收比特流,接收的方式和发送的方式一样都以DMA的方式,由CMX618主程序进行解码,然后输出采集数据,发送至McBSP0口的发送缓冲区,最终发送至A/D口,最后转换成语音模拟信号。
二、结束语
通过以ARMDSP芯片为基础讲解了对讲机是如何进行编、解码的过程,该对讲机具有强大的逻辑运算功能,能够进行语音的压缩和编解码功能。本对讲机功耗低,具有可扩展性和高信噪比,应用于短距离无线语音传输的领域,成本低,好控制,在工业生产和商业活动中起着重要作用。
作者:张翎影单位:东南大学