APP下载

一种多路音频编解码系统的设计与实现

2012-08-04沈佐峰

通信技术 2012年3期
关键词:编解码模拟信号以太网

沈佐峰,陈 曦

(中国电子科技集团公司第三十研究所,四川 成都 610041)

0 引言

64 Kb/s的A律或μ律的脉冲编码调制(PCM)编码在大容量的光通信系统和数字微波系统中已经得到广泛的应用[1],但由于占用较大的传输带宽和具有复杂的成帧结构,PCM编码不适合于低带宽系统的应用[2]。连续可变斜率增量(CVSD,Continuously Variable Slope Delta)调制以其较低的应用难度、低成本和高编码速率,较好的语音质量的优势广泛应用与战术通信、卫星通信等语音传输领域[3]。

CVSD编码技术已非常成熟,可选择的商用编码转换芯片种类丰富,但大多只能进行单路编码,而专用的群路编码转换芯片寥寥无几。本文从研究CVSD的编码原理起,重点提出了一种应用于以太网,基于FPGA+编码转换芯片为架构的群路CVSD和PCM互转的系统,以满足群路编码转换的应用 需求。

1 CVSD编码原理

CVSD编码,即增量调制(ΔM)编码,是基于PCM 方式的基础上发展起来的另一种模拟信号数字传输方法。PCM编码采用多位的二进制代码去表示模拟信号的抽样值大小,产生一个非线性的8 bit二进制数据。而增量调制只需要1 bit二进制码来表示相邻抽样值的相对大小。但是普通增量调制的量阶δ在整个编码过程中是固定不变的,因此它会引起两类失真,一类是斜率过载失真;第二类为颗粒失真。CVSD就是为了解决这对矛盾提出的方法,它的量阶δ随着输入语音信号平均斜率大小而连续变化,使其适应信源信号的短时特性,从而可以很好地跟踪输入信号[4]。

CVSD工作于编码方式时,其编解码系统框图如图1所示。模拟语音信号经抽样数字化后与预测值产生器产生的预测值进行比较。在每个时钟周期内,若输入语音信号≥预测值,则编码输出为“1”,否则编码输出为“0”[5]。编码输入三连码检测模块进行三连电平的判决,通过量阶调整模块和预测值产生模块产生动态的量阶和预测值[6]。

图1 CVSD编解码器框

CVSD工作于译码方式时,其实现方式和编码过程中预测值的产生模块相同,只需要在预测值模块后端加上数字低通FIR滤波器滤除前端产生的高频分量,保证频率范围为300~3 400 Hz的语音信号能够恢复,起到降噪和平滑的效果[7]。

2 多路音频编码转换系统

2.1 系统架构设计

本文设计的多路音频编码转换系统主要应用于以太网承载的实时RTP语音业务的编码转换。系统采用FPGA+音频编码转换模块的硬件架构。优势在于:①FPGA设计灵活性高、扩展性强;②满足群路实时业务的并发处理、性能优越;③音频模块接口简单,PCB面积小,可以根据业务需求灵活配置。

FPGA采用Xilinx公司的V5系列芯片,配合外围电路组成。该芯片是 Xilinx公司较新推出的低功耗、高性能FPGA。它逻辑资源、块RAM、PLL资源丰富,有高速串行收发器可以使用。FPGA主要用于实现对外千兆以太网接口,以太网协议帧的解析和封装、和音频编解码转换模块的接口转换功能[8]。

音频编码转换模块以 4路音频编码转换芯片为核心,配合压扩芯片、放大电路及电源组成,主要用于完成4路CVSD和PCM音频码流的互转。该音频编码转换系统功架构如图2所示。

图2 音频编码转换系统架构

2.2 音频编码转换模块设计

音频编码模块主要由PCM编解码芯片、运算放大器、压扩芯片、CVSD编解码芯片组成。

音频编码转换模块的原理框图如图3所示。编码转换过程涉及到 A/D、D/A转换,数、模电源完整性设计。防止数、模信号的相互干扰,直接关系到话音质量。这里采用模拟电源单独供电、滤波电容去噪、直流耦合等方法对模拟信号进行处理,保证了编码转换后的话音质量不会损失。

音频编码转换的数据处理分为下行处理(CVSD转PCM)和上行处理(PCM转CVSD),2个处理流程基本可逆,这里分别进行介绍。

下行处理:数字CVSD串行码流送入编码转换模块后,先送入CVSD编解码芯片转换成模拟信号;之后经过第一级运放进行增益控制;接着送入压扩芯片进行语音扩张,再经过第二级运放进行增益控制;最后送入PCM编解码芯片的编码输入引脚,将模拟信号编码成数字PCM信号输出,完成CVSD数字信号到PCM数字信号的转换。

上行处理:数字PCM串行码流送入编码转换模块后,先送入PCM编解码芯片转换为模拟信号;之后经过第一级运放进行增益控制;接着送入压扩芯片进行语音压缩,再经过第二级压放进行增益控制;最后送入CVSD编解码芯片的编码输入引脚,将模拟信号编码为CVSD数字信号输出,完成PCM数字信号到CVSD数字信号的转换。

各级芯片之间都采用电容进行隔直处理。

2.3 FPGA接口模块设计

FPGA对外采用标准的千兆以太网SGMII接口,由千兆以太网承载IP,IP承载UDP,UDP承载标准的RTP业务包。FPGA逻辑主要用于实现千兆以太网接入,对上下行以太网数据帧头的解析,以及对需要进行编码转换的业务数据进行分组包至比特流、比特流至分组包的转换。完整的RTP业务包帧格式如所图4示。

FPGA逻辑主要由6个功能模块组成,分别是:千兆以太网MAC、以太网帧解析模块、话音业务通道分离模块、编码转换接口模块、轮询合路模块和以太网帧封装模块,其中千兆以太网 MAC采用Xilinx公司提供软核实现,可以实现从物理层到链路层功能。

简单介绍FPGA处理流程:SGMII接口输入的数据经过千兆以太网 IP Core恢复成标准的以太网MAC帧;接着数据包送入以太网帧解析模块通过判断MAC和VLAN组合,对业务数据类型进行判读,从中提取属于RTP业务的数据包;RTP业务数据包送入通道分离模块,根据通道编号将数据包分离到多个通道,分别送入对应的编码转换接口模块。编码转换接口模块负责完成和音频编码转换模块的接口,分组到比特流及比特流到分组的转换,数据包的缓存功能。每个经编码转换后的数据合并到1路后送入以太网帧封装模块封装成以太网帧后经过千兆以太网 IP Core送出。FPGA程序逻辑框图如图5所示。

图3 音频编解码模块原理框

图4 以太网承载RTP业务帧格式

图5 FPGA程序逻辑框

3 仿真和实验

FPGA工程使用 Xilinx公司最新的开发平台ISE12.1进行开发,使用ModelSim 6.4进行了程序功能时序仿真,采用Verilog HDL语言进行编程[9]。本设计难点,编码转换接口模块的仿真。在仿真程序设计时,考虑各个可能出现的情况,遍历所有分支,进行最大容量的数据测试仿真。

为了充分验证设备编码转换功能和性能,这里搭建了专门的测试平台。测试平台采用计算机从话筒实时采集实时话音数据转化成数字PCM信号,经千兆以太网承载,通过光电转换模块,送入话音编码转换系统进行PCM至CVSD的编码转换,转换后的数据送到CVSD音频播放板放音。设计同时支持通过CVSD音频播放板采集实时话音数据并转换成数字 CVSD信号,送入话音编码转换系统进行CVSD至 PCM 的编码转换,最后送到计算机播放PCM语音。测试系统框图如6所示。

为了测试语音信号通过设备编码转换后的音质,

采用Digital Speech Level Analyser II设备进行音质Mosfer测试,测试结果,PCM 4.3分,CVSD 3.8分(总分5分)。以上测试结果显示,语音经过本设备编解码转换后音质理想,设备功能完备、性能优良,设计可行。

图6 编码转换测试系统

4 结语

CVSD和PCM都是目前常用的2种模拟语音数字化编码技术,各自都有广泛的应用领域,应用中常需要进行编码方式的互相转换。本文基于常用的编码转换芯片,设计出一种基于FPGA+编码转换模块架构的群路PCM和CVSD编码转换系统。经测试表明,本文设计的系统性能优良、应用灵活,可以广泛的应用于无线、有线语音通信系统,具有广阔的应用前景。

[1] 潘佳懿,李茜,胡爱群.A律压扩特性对大信号叠加小信号的影响[J].信息安全与通信保密,2009(08):67-69.

[2] 王可,袁东风. 用ADSP2105实现ADPCM-PCM编码转换[J].通信技术,2001(06):51-53.

[3] 薛红荣,王雪芳. FPGA完成CVSD与PCM编码转换[J]. 计算机与网络,2008(16):43-45.

[4] CHONG K U, HWANG S L. A Study of the Comparative Performance of Adaptive Delta Modulation Systems[J]. IEEE Transactions On Communications,1980, 28(01):96-102.

[5] 黄富贵,朱志国,孙波. 语音编码调制的CVSD算法及实现[J]. 声学与电子工程,2005(04):19-22.

[6] 陈普跃,潘克修. 基于FPGA的32Kbit/s CVSD语音编解码器的实现[J]. 器件与电路,2005(09):30-32.

[7] 候灿靖,达新宇.地空数话电台语音单元的设计及实现[J]. 通信技术,2006(增刊):203-205.

[8] 钱敏,曹云鹏,章敏,等. 基于FPGA/HDL的红外遥控接收信号解码器设计[J]. 通信技术,2009,42(08):219-221.

[9] 徐欣. 基于FPGA的嵌入式系统设计[M]. 北京:机械工业出版社,2004.

猜你喜欢

编解码模拟信号以太网
基于CAN总线的车身控制模拟信号采集程序设计
基于1500以太网养猪场的智能饲喂控制系统的设计与实现
ASN.1 的PER 分层运行库系统的设计和实现
1553B总线控制器编解码设计
为多重编解码世界做好准备
大型民机试飞遥测视频编解码方法研究
一种基于ADG426多路模拟开关的模拟信号输入接口设计
谈实时以太网EtherCAT技术在变电站自动化中的应用
模拟信号的三种调制方法比较研究
浅谈EPON与工业以太网在贵遵高速公路中的应用