陈 咪
(中国电子科技集团公司第七研究所,广东 广州 510220)
在无线通信系统中,语音通信业务是最基本的业务保障。由于无线信道具有不稳定性,无线传输存在带宽的限制和距离的要求,必须对语音数据信息进行压缩。高效率、低速率的语音编解码方案既能保证无线语音通信的质量,又能降低对无线通信传输速率的要求。本文介绍一种基于语音处理芯片TLV320AIC29及WT3080的语音编解码设计方案,通过ZYNQ7015的软件,能够获得低至2.4 kb/s的语音声码话数据。
语音信号编解码系统实现的功能包括语音信号模数/数模转换、语音信号压缩编码及语音信号采集。为了使系统具有扩展性,本设计方案选择独立的语音处理芯片分别完成模数转换及编码压缩功能。语音编解码系统设计如图1所示。
图1 系统设计示意图
为了支持全双工通信,系统设计分为发送处理和接收处理两部分。发送部分将模拟话音采样,进行压缩编码,之后送至无线通信协议栈发送。接收处理部分从无线通信协议栈接收话音数据,先将压缩的话音数据进行解码,之后将解码后的数据转换为模拟话音。
TLV320AIC29的功耗和采样率为线性正比例关系,配置TLV320AIC29的采样率为8 kb/s,既能满足WT3080压缩编码所需的采样数据,又能兼顾芯片的功耗[1]。国际电信联盟(International Telecommunication Union,ITU)将话音质量等级分为5级,为了满足话音质量3级的要求,语音信号压缩编码后的速率为2.4 kb/s。系统设计参数如表1所示。
表1 系统设计参数
硬件连接关系如图2所示。由于ZYNQ7015的可编程逻辑(Programmable Logic,PL)侧IO数目较多且可以使用软件配置,因此TLV320AIC29以及WT3080均连接在ZYNQ7015的PL端,通过片内总线与可编程系统(Programming System,PS)进行通信。TLV320AIC29的工作时钟由ZYNQ7015的PL经过MRCC端口输出提供,便于软件配置。根据芯片手册,WT3080的工作时钟采用的固定的16.384 MHz,由外部晶振提供。
图2 硬件连接图
可编程逻辑与TLV320AIC29的接口包括电源、复位、配置SPI接口及数据SPI接口。其中,配置SPI接口用于设置TLV320AIC29的工作参数,数据SPI接口用于完成采样数据的收发。TLV320AIC29的工作主时钟由ZYNQ7015的PL提供,时钟频率为16.384 MHz。
语音编解码系统软件架构设计如图3所示。PS的软件分为应用层和驱动层,其中应用层根据系统功能完成语音处理芯片参数设置及语音数据读写,驱动层完成接口时序及PL的中断响应[2]。PL的软件分为接口时序模块和数据缓存模块,其中接口时序模块完成串口及SPI接口的时序信号产生,数据缓存模块以FIFO的形式完成芯片与PS间的数据速率匹配[3]。
图3 软件架构设计
数据的读写由PS发起,数据读写软件的运行状态分为发送状态和接收状态[4]。其中,发送状态是指从MIC获取话音数据进行压缩编码,经由无线信道传输,接收状态则与发送状态相反,从无线信道获取数据进行话音数据解码。解码后的数据进行数模转换,转换后的模拟信号经过放大,通过听筒进行播放[5]。以系统处于发送状态为例,数据处理流程如图4所示。
图4 发送状态数据处理流程
采集语音数据时,TLV320AIC29芯片首先完成语音数据的模数转换,以8 kS/s的采样率采集16 bit位宽的话音数据。PL接收SPI的数据至缓存FIFO。FIFO设计为宽度16 bit,深度为512,FIFO满时产生中断信号至PS。PS中断响应函数通过AXI总线进行FIFO数据的读取[6]。PS读取完毕512深度的数据后,进行一次压缩编码,之后将读取的话音数据经过AXI总线发送至PL的WT3080数据缓存FIFO。PL通过串口将话音数据发送至WT3080,WT3080完成压缩编码后将2.4 kb/s的声码话数据发送至PL。PL将接收的数据存储至FIFO。FIFO满时产生中断信号,PS响应中断信号,读取压缩编码的数据,将数据发送至无线空口[7,8]。
系统处于接收状态时,数据处理流程与发送状态相反。
采用频率1 kHz的单音信号进行测试。测试信号由标准音频信号源产生。将软件采集的数据导出,通过MATLAB进行频域分析。实际采集数据的频域曲线如图5所示。由图5可以看出,本设计方案采集的数据的信噪比符合设计要求。
图5 1 kHz单音信号的频域
本文给出了一种适合窄带无线通信的语音数据编解码的设计方案。该设计方案采用低功耗专用芯片配合软件编程实现了低速率语音数据采集及编解码,从信源侧降低了对无线通信传输能力的要求。未来通过软件编程,可进一步配置编解码系统的工作参数,满足不同窄带无线通信系统对语音业务的要求。