0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

探究PXA255的VoIP语音传输系统

电子工程师 来源:电子技术 作者: 刘华;李军红;阳武 2021-04-23 15:23 次阅读

摘要:文章研究IP语音传输系统的总体架构,实现了一个基于PXA255处理器嵌入式IP电话终端硬件平台,为该平台建立了一个优化的嵌入式Linux环境,并研究基于GSM 06.10语音编解码实现,设计了一个IP语音实时传输系统,实现了IP语音的网络实时传输功能。

VoIP是基于Internet的新型数字化传输技术,是IP网上通过TCP/IP协议实现的一种电话应用技术。这种应用包括PC对PC、PC对电话、电话对电话等连接方式,其业务主要包括语音业务、E-mail、实时电话、实时传真等多种形式。与传统电话相比,IP电话的优点主要是节省带宽、通话费用低、易于开发增值业务、体系结构开放,有利于多种通信方式的统一。

对VoIP技术的研究主要围绕改善IP电话服务质量来进行,尤其是使用先进的硬件技术、可靠的实时传输技术和能随着网络状况自适应调整速率的低速率语音编码技术等研究及工程热点。

研究与实现基于嵌入式处理器的VoIP语音传输系统,可集成嵌入式系统、网络通讯、多媒体和语音处理等应用领域内的前沿技术,将嵌入式系统的高性能、低功耗、网络通讯的低成本特性融合于一体,经过进一步完善后可以取代固定电话,并发展可视电话等信息终端,可以实现电话网、广播电视网与Internet网的整合,具有很大的经济和技术优势。

1 PXA255嵌入式处理器

本文研究与设计的嵌入式IP数字语音系统将在以太网环境中工作。与目前大多数基于PC的IP电话终端相比,选择嵌入式IP电话终端具有如下优势:

(1)嵌入式硬件平台可以进行裁减和定制,因而可以大幅降低IP电话终端成本;

(2)可以定制嵌入式软件平台,容易升级,实时性好,而基于PC机的IP电话占用资源多,操作系统复杂,容易死机;

(3)嵌入式IP电话终端功耗低,可以使用电池进行供电,因而系统具有小型化、便携的特点,这是PC所无法比拟的。

PXA255处理器是Intel公司ARM核的多媒体处理器。PXA255处理器的内部功能模块框图见图1所示。

o4YBAGCCdHuAYoC5AAC-ej-RMfI637.png

PXA255处理器具有如下特色:核心频率支持100~400MHz;多种系统存储器接口;外设资源非常丰富:有PCMCIA/Compact Flash卡控制引脚、LCD控制器、全功能UARTUSB客户端、AC97控制器、15个灵活的GPIO引脚等。

2 VoIP的嵌入式Linux环境构建

嵌入式IP吾音终端使用的嵌入式Linux平台可分为三个层次:应用软件层次、Linux内核层次和设备驱动层次。其中平台无关部分包括:Linux实时内核、文件系统、应用软件等部分;平台相关部分包括:硬件驱动的改造和启动过程改造,我们需要针对不同平台进行代码改造,

编写各种驱动。由图2可知,Linux对各种设备的操作都是以文件的形式进行的。

pIYBAGCCdI-AKuuVAAByGfzj83o160.png

基于RTP协议的语音实时网络传输软件,位于Linux网络结构的Socket应用层,如图3所示。在嵌入式Linux平台上利用Socket系统函数实现语音传输的RTP应用。在具体编程时,Linux平台上可供选用的语言有C、C++等。在这里我们也采用C语言,并采用编译器Arm-Linux-Gcc。

语音处理的音频库函数使用OSS(Open Sound System)。

pIYBAGCCdKGAGsgZAAAy5QHozg8376.png

嵌入式IP终端系统软件界面采用QT/Embed编程。利用qte的界面编程辅助工具QT Designer能很方便地实现界面规划布局。由于是可视化编程,能很好地控制界面布局、效果,操作方便。QT Designer生成的界面文件是以XML语言编写的.ui文件,通过QT附带的工具UIC,能让*.ui文件生成*.h和*.cpp的文件格式。使用QTDesigner大大降低了编程的工作量,并且能得到所见即所得的图形效果。

3 语音编解码器选型

对语音信号,有许多压缩算法和标准。这些编码算法可按照编码系统码率大小、输入信号频带宽度、所采用的编码技术等方面进行分类。编码系统优劣的评价主要体现在编解码系统的性能指标上,一个编解码器系统有输出声音的质量、编码速率、复杂度、迟延和容错性

等性能指标。

(1)编码速率。编码速率指的是编码器对输入声音经过压缩后每秒的比特数,即压缩后的传码率。这是编码系统的一个十分重要的指标。降低比特率而维持较高的解码声音质量,是语音和音频信号压缩编码的主要任务和主要目标。对电话级别的语音带宽而言,通常认为比特率超过16kb/s的为高速编码,而速率在8~16kb/s范围的为中速率编码,速率在8kb/s以下的为低速率编码。

(2)输出声音的质量。输出声音的质量是指经过编码系统再经过接收方的解码后恢复出的声音质量。衡量输出声音质量主要有二个指标:客观质量和主观质量。客观质量法易测量,但往往不能精确反映语音质量。由于声音的最终接收者是人,所以主观法更能反映声音质量的真正好坏,但它测试不易,费时费力。

(3)复杂度。在传统电话应用中,很少使用压缩,是因为压缩算法的复杂度太大,算法执行时间长,算法的延迟也一起带入到通信系统中。随着技术的进步,芯片处理速度越来越快。现在工程上一般采用单片数字信号处理器DSP芯片来实时实现语音编解码。语音编解码算法的复杂度可由算法所需的计算量、存储量、硬件尺寸、消耗功率及价格来衡量。

(4)时延。时延指完成编解码算法所需的时间。对于语音编解码器来说,时延也是一个非常重要的指标,如果时延太大,听起来很不舒服。对于时延,不同的应用场合有不同规定,如对长话网不加回波抑制的单向编解码时延不得大于10ms。对可视电话则放松到不超过500ms。对VOIP语音系统的时延要求不超过300ms。

(5)容错能力或鲁棒性。容错能力指编解码系统抗误差、线路噪声等各种干扰的能力。

表1对几种编码器的比特率、主观平均意见分法(MOS)、复杂度(以G.711为基准)和时延(帧大小)做了比较。

pIYBAGCCdQaATj9XAABqbZqGGmU320.png

本系统选用GSM 06.10语音标准算法,该算法在1988年被确定为数字移动通信的语音编码标准,其编码速率为13kb/s,算法简单,运算量小,语音质量高,接近32kb/s的ADPCM(ITU-G.712)。

4 IP语音实时传输系统设计

本文采用Intel公司推出的PXA255处理器,该芯片专用于网络和多媒体。其最高工作频率可达400MHz,并带内存管理单元MMU和DSP协处理器,可方便与高清晰的彩色LCD接口,同时该芯片可扩展连接AC97音频芯片CS4201、高性能网络接口芯片LANC9196,可方便移植嵌入式Linux和图形界面等。

基于PXA255处理器的IP语音系统用方案具有如下优势:将先进的硬件技术和软件技术有机融合,充分利用PXA255和Linux的强大功能,克服了传统的基于单片机功能不足和基于PC的非实时性的缺点,具有实时性、低成本、小型化、专用化和高可靠性的优点,能让IP数字语音终端系统具有更好的可扩展性和可移植性,与ARM7或DSP的方案相比,在技术上同样具有一定优越性。

系统设计硬件框图见图4所示。

pIYBAGCCdRyAELBlAABW_Xp8WEk175.png

系统设计语音流程框图见图5。

o4YBAGCCdSaAOFXVAABbt_m0XA4239.png

5 系统测试

将两个语音终端连接到局域网,分别设置其IP地址为192.168.0.100、192.168.0.101。整个软件的运行过程:在语音传输之前,首先由网络连接(通话双方的呼叫连接)模块进行呼叫连接,呼叫连接建立后,双方就可以进行接下来的语音通话,实现语音传输。

在送话方即发起会话的一方:语音首先通过麦克风进入系统,在语音录入与播放功能模块内进行录音,然后进入语音数据压缩、解压模块进行压缩,压缩后的语音数据打包后,以语音数据包的方式发送。

在受话方即接收会话的一方:通过网络传输过来的语音数据拆包后,首先进入语音数据缓存模块进行缓存,这种缓存方式可以保证语音回放连续和不失真,然后进入语音数据压缩与解压模块对其进行解压。经过语音解压缩过程以后,语音数据送入语音录入与播放功能模块内,通过扬声器进行播放,最终还原成语音。

测试过程中,我们使用RTP工具集rtptools-1.18中的rtpplay、rtpdump、rtpsend等命令截取语音实时传输模块在网络中的语音包,观察其RTP和RTCP报文,分析网络的当前状况等。网络的当前状况与语音传输延迟有很强的正相关性。网络状况好,传输延迟小,网络状况不好,传输延迟增大。

语音延时测试方法:因为语音传输的延迟时间在1s以内,用秒表或其他外设来测量,误差大、精度不高,所以我们基于软件的方式测量。通过在RTP工具集中设置一个计时器,计算时间差,记录端到端的语音延时。最后求平均值,延时数据见表2。测试分8组,每组10到40个延迟数据不等,表中数据为每组的延迟平均值。

pIYBAGCCdTeAUSj-AAAz-kKei3c741.png

8组的所有测试数据有210个,所有测试数据的平均延时计算过程:

(283*10+258*10+269*20+266*20+257*30+275*30+268*40+286*50)/210=271.86ms。

由计算可知,平均延时约为272ms。满足本文第三节中VoIP语音时延的上限300ms的要求。

6 小结

论文研究了IP语音传输系统的总体架构,实现了一个基于PXA255处理器的嵌入式IP电话终端硬件平台,为该平台建立了一个优化的嵌入式Linux环境,并研究基于GSM 06.10的语音编解码实现,设计了一个IP语音实时传输系统,实现了IP语音的网络实时传输功能,通过系统测试,语音时延符合工程要求,具有较好的实时性。

编辑:jq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 编码器
    +关注

    关注

    45

    文章

    3643

    浏览量

    134551
  • RTP
    RTP
    +关注

    关注

    0

    文章

    28

    浏览量

    11883
  • 压缩算法
    +关注

    关注

    1

    文章

    21

    浏览量

    10514
收藏 人收藏

    评论

    相关推荐

    基于语音识别的智能会议系统具备哪些交互功能

    标贝科技专注智能语音交互领域多年,在语音识别和语音合成领域有着多项大型企业合作案例,标贝与多个智能会议系统厂商合作,成功将语音识别技术在智能
    的头像 发表于 12-20 10:35 101次阅读

    TK8620 无线语音传输模组

    产品概述:TK8620 无线语音传输模组 TKM-121 / 122是道生物联推出的基于 TurMass™ 技术的语音传输模组,具有功耗低、传输
    发表于 11-20 14:52 0次下载

    艾体宝干货 如何使用 IOTA 解决网络电话(VoIP)质量问题

    本文探讨了VoIP语音通信)质量问题的常见原因,并提供了详细的故障排除指南。文章首先解释了VoIP质量问题可能涉及的网络性能、设备配置、数据包丢失等多个方面。接着,文章使用一个示例使用IOTA
    的头像 发表于 10-29 09:18 195次阅读
    艾体宝干货 如何使用 IOTA 解决网络电话(<b class='flag-5'>VoIP</b>)质量问题

    音频传输系统原理,音频传输系统有哪些功能和作用

    音频传输系统的原理涉及多个方面,包括声音的采集、数字化、编码、传输以及接收和还原等过程。以下是对音频传输系统原理的详细阐述:
    的头像 发表于 10-01 11:45 819次阅读

    物联网系统智能控制产品的语音识别方案_离线语音识别芯片分析

    01 物联网系统中为什么要使用离线语音识别芯片 物联网系统中使用离线语音识别芯片的原因主要基于以下几个方面: 1、实时性与可靠性 实时性好:离线语音
    的头像 发表于 09-26 17:56 617次阅读
    物联网<b class='flag-5'>系统</b>智能控制产品的<b class='flag-5'>语音</b>识别方案_离线<b class='flag-5'>语音</b>识别芯片分析

    ESP32的VOIP例程如何从WIFI移植到ETH有线网口?

    您好,我现在有个项目,需要在ESP32 的有线网口上面,实现VOIP语音通信,MQTT的通信;现在您的例程是通过WIFI 无线传输实现的。VOIP的例程中,怎么没有看到wifi接收的
    发表于 06-28 07:59

    请问wwe和voip输入音频流是否可以合并到一起?

    我希望将wwe和voip融合到一起。通过wwe唤醒并且语音呼叫voip进行拨打电话。我看到wwe和voip采用了不同的音频处理代码。我不知道是否可以将两个代码融合到一起。采用统一个套代
    发表于 06-28 07:57

    ESP32-S3-Korvo-2 voip使用的是哪一个microphone?

    我使用的是ESP32-S3-Korvo-2开发板,当我进行voip进行通话的时候显示 `Initial ONE-MIC auido front-end `,这应该说明voip只是使用了一个microphone?如果只使用一个microphone的话,使用的是哪一个?
    发表于 06-28 07:30

    车载语音识别系统语音数据采集标注案例

    车载语音识别系统是指利用机器学习算法实现的一种自然语言处理技术,载语音识别系统通过辨别声音的语调、语速和音量,将所听到的语音转化成可读取的语
    的头像 发表于 06-19 15:52 363次阅读
    车载<b class='flag-5'>语音</b>识别<b class='flag-5'>系统</b><b class='flag-5'>语音</b>数据采集标注案例

    车载语音识别系统语音数据采集标注案例

    车载语音识别系统是指利用机器学习算法实现的一种自然语言处理技术,载语音识别系统通过辨别声音的语调、语速和音量,将所听到的语音转化成可读取的语
    的头像 发表于 06-19 15:49 516次阅读

    语音控制模块_雷龙发展

      1,串口   uart串口控制模式,即异步传送收发器,通过其完成语音控制。 []()   图中,GND表示单片机系统电源的参考地,TXD是串行发送引脚,RXD是串行接收引脚。发送uart将来
    发表于 06-14 17:18

    SECO赛柯解决新型广播VoIP分析仪的难题

    客户是一家在广播和电信行业内处于领先位置的公司,他们目前正在开发新型广播VoIP分析仪,但在研发的过程中遇到了一个难题,他们急需一款能够支持高质量数字媒体服务交付的开发平台。客户的要求十分明确且具有
    发表于 04-02 11:30

    精密可调限流配电开关TPS255xx、TPS255x-1数据表

    电子发烧友网站提供《精密可调限流配电开关TPS255xx、TPS255x-1数据表.pdf》资料免费下载
    发表于 03-14 13:56 0次下载
    精密可调限流配电开关TPS<b class='flag-5'>255</b>xx、TPS<b class='flag-5'>255</b>x-1数据表

    1W 远距离全双工数据语音传输 无线音频模块 SA618F30 #全双工

    语音传输音频模块
    思为无线
    发布于 :2024年01月22日 17:54:42

    如何用XR806实现语音紧急呼叫系统的设计呢?

    在该语音主动告警系统中,需要语音时别模块和网络告警模块。
    的头像 发表于 01-12 17:34 1317次阅读
    如何用XR806实现<b class='flag-5'>语音</b>紧急呼叫<b class='flag-5'>系统</b>的设计呢?