语音数据传输

2024-10-01

语音数据传输(共9篇)

语音数据传输 篇1

1 前言

无线语音技术从早期的模拟无线语音到目前的数字无线语音技术, 经历了一个比较漫长的过程。随着无线通信技术的发展, 特别是无线射频收发器成本的逐年下降, 数字无线语音通信逐渐成为市场应用主流。最简单的例子莫过于对讲机, 目前仍然广泛使用的是模拟对讲机, 而高档的数字对讲机正在降低成本, 逐渐蚕食模拟对讲机的市场。

ZigBee原本定位于小数据量的通信, 但是本身250 kb/s的通信速率也是足以满足基本语音通信的, 几大射频芯片厂商都有基于ZigBee的语音通信方案, 本文将对ZigBee语音通信技术做一些探讨。

2 ZigBee语音通信分析

ZigBee传输语音数据属于数字传输, 数字通信系统在本质上有着一些巨大的优势:首先是抗干扰能力强。模拟信号在传输过程中很难与叠加的噪声分离, 噪声会随着信号被传输、放大, 严重影响通信质量。数字通信中的信息是包含在脉冲的有无之中的, 只要噪声绝对值不超过某一门限值, 接收端便可判别脉冲的有无, 以保证通信的可靠性。其次是远距离传输仍能保证质量。因为数字通信是采用再生中继方式, 能够消除噪音, 再生的数字信号和原来的数字信号一样, 可继续传输下去, 这样通信质量便不受距离的影响, 可高质量地进行远距离通信。此外, 它还具有适应各种通信业务要求 (如电话、电报、图像、数据等) , 便于实现统一的综合业务数字网, 便于采用大规模集成电路, 便于实现加密处理, 便于实现通信网的计算机管理等优点。

标准的ZigBee传输数据率为250 kb/s, 目前厂商支持的传输速率可以达到1 Mb/s, 更高的传输速率意味着更低的接收灵敏度, 也意味着更短的通信距离, 因此在话音质量要求不高的场合, 尽量使用最低可接受最差通话质量, 即最低通信流量, 以保证通话距离。

在250 kb/s的通信速率下, 理论上有25 kB/s的传输流量, 可以满足电话质量, 即ITU-TG·711标准, 8 kHz取样, 8 bit量化, 码率64 kb/s, 而AM广播采用ITU-TG·722标准, 16 kHz取样, 14 bit量化, 码率224 kb/s, 标准ZigBee 250 kb/s也是可以满足的。

无线语音通信因为传输的数据量要尽量少, 因此通常需要采用语音压缩算法先将数据进行压缩, 然后再传输, 接收方按照对应的解压算法解压后播放, 常见的三种语音编码解码算法为:μ-law、a-law、ADPCM。

μ-law算法是一种压扩算法 (companding algorithm) , 主要用于北美和日本的数字通信系统。与其他压扩算法一样, 其目的是减少音频信号的动态范围。在模拟域中, 这可以提高发送过程中的信噪比 (SNR) ;在数字域中, 则可以减少量化误差 (quantization error) (因而提高了信号-量子化噪声比 (SQNR) ) 。反过来, SNR的这些改善又可以减少带宽和等效SNR。

a-law算法也是一种标准的压扩算法, 被欧洲数字通信系统用来优化/修改数字化模拟信号的动态范围。

a-law算法以更坏的小信号比例失真 (proportional distortion) 为代价, 提供的动态范围比μ-law稍微宽一点。

自适应差值脉冲编码调制 (ADPCM) 是在差值 (或增量) 脉冲编码调制 (DPCM) 基础上发展起来的, 它主要改变了量化级数, 从而可以进一步减小某一特定信噪比所需的带宽。DPCM将PCM值编码成当前值和之前值的差。对于音频, 这种编码方法可以将每次采样的位数相对PCM减少25%左右。

3 系统构成

ZigBee语音通信系统由音频ADC芯片采集语音数据, 经由I2S总线传输到带语音处理单元的单片机 (如ZICM2410芯片) 中, 经过硬件编解码单元, 进行数据压缩, 可选μ-law、A-law和ADPCM等, 然后进入MAC层的FIFO, 最后通过PHY层调制成射频信号发射出去。接收端的结构与发射端相同。

因为采用射频数据打包的分组传输方式, 因此可以实现数字全双工通信, 这也是普通模拟对讲机不能实现的。系统数据流图如图1所示。

为保证语音数据的高速传输, 语音芯片和CPU最好使用I2S总线, I2S (Inter—IC Sound) 总线是飞利浦公司为数字音频设备之间的音频数据传输而制定的一种总线标准, 该总线专责于音频设备之间的数据传输, 广泛应用于各种多媒体系统。它采用了沿独立的导线传输时钟与数据信号的设计, 通过将数据和时钟信号分离, 避免了因时差诱发的失真, 为用户节省了购买抵抗音频抖动的专业设备的费用。CPU和音频编解码芯片的连接如图2所示。

4 ZigBee语音路由分析

点对点的通信通常距离不远, 在语音通信中更是如此, 因为数据量本身已经接近最大带宽, 又考虑到音频图像等的传输对于细节数据不太敏感, 一般不做确认重发机制, 所以通信距离甚至只能达到数据通信距离的一半。如果要增加通信距离, 则必须增加中继节点, 随之而来的是音质降低了一半。

以已经实现的一个无线语音中继系统为例, ZICM2410模块本身可以实现16 kHz采样率, 8 bit位采样 (单身道) , 也就是每秒钟可以传输16 KB的数据, 但是为满足中继需要, 只能降到8 kHz采样率, 时隙上的分析如下。

如图3所示, 16 kHz, 8 bit采样, 每4 ms发送一次64 B的语音数据, 8 kHz, 8 bit采样, 每8 ms发送一次, 增加中继之后, 源节点每8 ms发送一次 (8 kHz, 8 bit) , 而中继节点收到数据后, 会有一个存储转发的过程, 大致4 ms, 这时, 如果通过ZigBee分析仪查看, 依然会看到每4 ms一个无线数据包, 和之前16 kHz采样时的时间占用是一样的。

这样的时隙下, 即使发送机、接收机和中继器放在一起, 也是不会有影响的, 因为接收机接收时会有帧序号比对, 收到中继的重复数据包会立即丢掉, 一旦离开源节点信号覆盖范围, 接收节点就只能收到中继节点的数据了。

如果位置选择合适, 则这种中继可以延续下去;否则再加一级中继, 会打乱原先系统的时隙。

5 ZigBee语音应用

ZigBee语音传输比较合适的是导游解说系统。在同一处旅游景点, 可能有不同的导游向不同的游客介绍景观。如果使用一般的扩音系统, 往往会出现导游之间互相比嗓子, 或者抢游客的尴尬局面, 在一些文化底蕴很浓的场合, 这样闹哄哄的场面往往会破坏景点本身的意境。

使用ZigBee技术可以非常容易地解决这个问题, 如图1所示的点对点通信, 只要发送端设置为广播模式发送数据, 即可在有效通信范围内, 配置不限数目的接听节点 (因为接收节点并不发数据, 因此技术上不存在节点限制, 只有空间上的体积限制) , 而不同导游之间, 采用不同的物理频段 (标准ZigBee总共16个) , 彼此之间是不会干扰的。

6 小结

ZigBee语音通信目前还在应用的初级阶段, 在成本上还有些高, 对于价格敏感的应用, 还不太适用。较为便宜的类ZigBee通信方式 (不使用O-QPSK等编码方式) 正在较大规模地应用, 这些通信方式, 抗干扰性不强 (临道抑制比差, 抗WiFi干扰能力弱) , 将来ZigBee价格和应用难度降下来之后, 必然会取而代之。

语音数据传输 篇2

关键词:无线;语音传输;I/O接口

中图分类号:TP31文献标识码:A文章编号:1007-9599 (2011) 05-0000-02

Wireless Mesh Network Voice Transmission Technology Research

Zhang Dengke,Gao Xing

(Information Engineering,Zhengzhou University,Zhengzhou450001,China)

Abstract:In this paper,real-time voice transmission wireless IP the key technology involved in discussions,analysis of network physical layer,data link layer and network layer optimization ideas,the transport layer of the network systems and voice data compression scheme put forward a reasonable solution.Wireless network system in accordance with the requirements of voice communication terminal,the design of the hardware platform.Resolved voice acquisition,interface constraints such as voice transmission rate of the problem.

Keywords:Wireless;Voice transmission;I/O Interface

一、前言

针对一体化指挥网络中对电台通信的需求,依托“无线语音通信验证平台”项目,深入系统的研究无线网络下的语音通信技术,并在着重考虑服务质量(Quantity of Service,QoS)的基础上运用Mesh组网技术实现无线网络下的灵巧式通信电台。

二、无线通信终端平台设计

嵌入式系统的开发平台主要包括硬件平台与操作系统平台。在设计硬件平台时,需始终考虑语音通信的性能需求,合理的设计各个部分从而不会对语音传输造成瓶颈。在设计操作系统平台时,需依据系统硬件合理配置,保证在系统最为精简的情况下稳定运行。

(一)无线语音通信系统组成

本文的研究目标是设计一个基于无线Mesh网络的无线语音通信系统,该系统通过通信终端实现音频数据的实时采集、压缩、传输和播放。通信终端与网络接入适配器以自组网方式组成多跳无线网络,并能够通过网络接入适配器接入有线网络,构成了基本的Mesh混合结构。无线语音通信系统组成如图1所示。

图1 无线语音通信系统组成

如图1所示,通信终端一号和三号不在一跳通信范围之内,但可以通过二号的转发进行通信;二号与网络接入适配器不在一跳通信范围之内,但可以通过一号的转发进行通信,从而实现有线网络的接入。

(二)硬件平台设计

通信终端与有线网络接入适配器的硬件完全相同,只是内部的应用程序不同。本系统采用Intel Xscale PXA270作为系统的硬件平台。硬件结构如图2所示。

图2 通信终端(有线网络接入适配器)硬件结构

由图2可知,通信终端(有线网络接入适配器)的硬件主要由CPU、Flash ROM、SDRAM、调试接口、以太网控制器(SMSC Lan91C96I)、GPIO(General-Purpose I/O)接口、SDIO(Secure Digital Input Output)接口、AC'97 Codec、AR6001无线网卡以及WLAN功率放大器SKY65132等组成。

1.PXA270微系统

PXA270采用ARM V5TE架构的处理器,兼容ARMV5TE架构指令集,遵从ARM通用编程模型规范。其提供了43条新的SIMD指令,包含了完整的MMX指令集和一些SSE指令集中的整数指令。这项能力可以加速芯片的编码和解码速度,提高多媒体和游戏的性能。

2.存储模块

PXA270处理器的存储器接口支持各种存储器芯片,包括SDRAM,FLASH,SMROM,ROM,SRAM以及与SRAM类似的可变延迟I/O等。PXA270的总线宽度是32位的,所以对于16位的外部存储器,通过“位扩展”构成32位的存储系统。本设计使用的FLASH存储器和SDRAM存储器都采用这种方法,使系统数据总线工作在32位模式下。

在设计中,其空间范围分成不同的区域,用于不同的用途,如表1所示。

表1 Flash ROM空间分配表

开始地址大小用途

0x00000000512KByteBootloader

0x000800002MByteKernel

0x002800006MByteFile system

0x0088000023.5MByteUser

处理器启动时,从0X00000000地址开始执行代码,两片Flash ROM都是使用NCS0作为片选信号。Flash的其他控制脚由处理器内部集成的Static Memory控制器进行控制。

3.音频模块

AC'97标准是Intel公司专为计算机音频处理设计的,AC'97不只是一种数据格式,用于音频编码的内部架构规格,它还具有控制功能,与具有分离控制接口的I2S方案相比,AC'97明显减少了整体管脚数。

语音的输入输出流程为:外部模拟信号输入到CS4201芯片中,完成音频采样、A/D转换成数字信号后经由AC-Link接口传送给AC'97 Digital Controller,再通过地址和数据总线完成向内存写入;输出的音频数据由内存传送到AC'97 Digital Controller,通过AC-Link接口送到CS4201,在芯片内部完成D/A转换成模拟信号,送到输出设备播放。

4.以太网口

以太网口在本系统中主要有两项功能:(1)下载Linux内核、根文件系统和应用软件到Flash ROM的通信接口;(2)与普通计算机或同类终端相连进行信息的交换,实现由无线网络接收到的数据转发到有线网络的功能。

系统采用SMSC Lan91C96I芯片作为以太网控制器。LAN91C96I网卡控制其内部集成了6KB的RAM,用来存放数据包。内部的MMU、判决器和DMA对数据包的传输发送进行有效的管理。CSMA/CD模块负责监听网络情况和地址过滤。编解码器负责曼彻斯特(Manchester)编解码,并提供标准6脚连接单元接口(AUI),外接同轴传输接收器,应用10Base2或10Base5。传输数据时,10Base-T负责把主控制器传过来的反向不归零码数据转换为Manchester数据,并以适当的电平加以驱动;接收时负责连接完整性测试。外接的串行电可擦除只读ROM存储器EEPROM中可存储网卡的MAC地址,当OS启动加载网卡驱动时,以太网控制器就从EEPROM的固定地址中读取MAC地址并存储在相应的寄存器中。

5.SDIO接口

SDIO接口是由SD存储卡的规范发展而来,它在机械、电路、功耗、信号与软件上与SD存储卡完全兼容,但SDIO接口可扩展性更强,传输速度更快,能够为移动设备提供高速低功耗的IO数据传输解决方案。本系统的AR6001无线网卡与主控板的接口部分使用的就是SDIO接口。

PXA270集成了MMC/SD/SDIO控制器(Processor MMC/SD/SDIO Controller),该控制器采用MMC/SD/SDIO传输模式或串行通信接口SPI模式,使PXA270主处理器能够与SDIO设备进行通信。在SD/SDIO通信协议中,支持1位和4位数据传输。在1位SD/SDIO模式中,数据传输速率达19.5Mbps;对于4位SD/SDIO的数据传输速率达78Mbps[100]。本系统的设计是基于IEEE 802.11g标准,带宽最高可达54Mbps,因此必须采用4位SD/SDIO模式才不会对数据传输构成瓶颈。图3为4位SDIO的连接方式。

图3 4位模式的SDIO线路连接方式

6.无线网通信模块

本系统采用的AR6001X是Atheros公司推出的移动射频芯片(Radio-on-Chip for Mobile,ROCm)系列中的一员。AR6001X基于IEEE 802.11a/g标准设计,在芯片上整合了802.11 MAC、基频和射频,能提供54Mbps的传输速率。为提高无线语音数据的传输距离,系统采用了SKYWORKS公司推出的功率放大器SKY65132。SKY65132是一种MMIC(Microwave Monolithic Integrated Circuit)功率放大器,具有较强的输出功率和效率。SKY65132兼容IEEE802.11b/g标准,对应802.11g标准,能将要发送的信号的输出功率放大至27dBm即500mW。

7.硬件平台设计总结

在一般情况下无线网络下的语音通信至少需要经过语音数据的采样、打包、发送、接收、解包和播放等6个步骤。在硬件平台上,本系统对以上6个步骤提供了充分的支持而不会构成瓶颈,如表2所示。

表2 硬件平台对语音通信各步骤的支持

语音通信数据采样数据打包数据发送数据接收数据解包数据播放

硬件平台提供的功能可满足最高18位、48kHz的语音采样能够满足网络协议处理需求能够提供最高54Mbps的传输带宽,满足同时传输16路话音需求能够满足网络处理协议需求可满足最高20位、48kHz的语音播放

通过表2可以看出,本系统的硬件平台设计是合理的,完全可以满足语音通信的需求。

三、小结

本文主要完成了无线语音通信系统的硬件平台、操作系统平台的搭建工作,为用户应用程序的设计和实现提供了必要的开发环境支持。其中硬件平台搭建的主要包括主处理器、存储模块、音频模块、以太网口、调试接口、SDIO接口以及无线网络模块的选型及设计工作。操作系统平台搭建主要包括交叉编译环境的建立和Bootloader、系统内核及根文件系统的生成工作。

参考文献:

[1]H.Balakrishnan,V.N.Padmanabhan,R.H.Katz.Network asymmetry:the effects of asymmerry on TCP performance.Mobile Networks and Applications,1999,4:219-241

[2]鲁宏伟.基于UDP传输协议的包丢失和失序处理[J].计算机工程与应用,2001,2:48-55

[3]Reliable UDP Protocol Draf t_ietf_sigtran_reliable_udp_00.txt.T.BovaT.Krivorunchka.Cisco systems,1999:241-247

[4]王海军,刘彩霞,程东年.一种基于UDP的可靠传输协议分析与研究[J].计算机应用研究,2005,11:181-183

语音数据传输 篇3

以往设计的无线数据传输产品往往需要相当的无线电专业知识和价格高昂的专业设备, 传统的电路方案不是电路繁琐就是调试困难, 因而影响了用户的使用和新产品的开发。随着无线传输技术的发展, 由于采用了低发射功率以及高接收灵敏度的设计, 因而满足了大量无线传输的要求。这些无线数据传输系统可以广泛应用于遥控装置、工业控制、无线通信、电信终端、车辆安全、自动测试、家庭自动化、报警和安全系统等[1]。对于一些信息传输实时性要求比较高的自组织网络, 如何及时、准确地传输信息是提高系统性能的关键因素。本文即提出了一种有效解决数据传输冲突的无线语音传输系统设计方案。

2 无线语音传输系统体系结构

本文设计的无线语音传输系统采用三层结构:中央服务器层、工作站层和呼叫器层。无线数据传输主要在一台主机 (工作站) 和多台分机 (呼叫器) 之间, 通过射频收发模块完成。呼叫器层主要实现各种呼叫信息和数据的采集, 并通过工作站和后台中央服务器连接。后台中央服务器由普通PC机组成, 其功能是响应和处理各类呼叫信息。中央服务器和工作站之间采用通用以太网连接, 呼叫和处理的信息可以以电子文档形式存储在后台服务器中。

无线语音传输系统结构如图1所示。

本文主要对工作站和呼叫器层之间通信过程所涉及的数据传输问题做出讨论。

图2给出了无线呼叫系统工作站和呼叫器部分的硬件结构框图。系统的工作站与呼叫器的控制功能由微控制器实现, 射频收发模块主要由射频集成芯片构成。微控制器主要用来控制射频集成芯片的收发, 数据的识别和提取, 进行反碰撞处理。射频集成芯片选用Nordic公司的nRF401。该芯片集成了高频发射、高频接收、PLL合成、FSK调制、FSK解调、双频道切换等功能。nRF401接收机采用具有较强抗干扰能力的FSK频移键 (Frequency-Shift-Keying) 调制方式, 改善了噪声环境下的系统性能;采用DSS+PLL频率合成技术, 工作频率稳定可靠。与ASK幅移键控 (Amplitude-Shift-Keying) 和OOK开关键控 (On-Off Keying) 方式相比, 这种方式的通信范围更广, 特别是在附近有类似设备工作的场合。

3 数据传输防碰撞技术研究

3.1 防碰撞问题的提出

无线语音传输系统在遥控装置、工业控制、无线通信、电信终端、车辆安全、自动测试、家庭自动化、报警和安全系统等都有广泛应用。以服务行业的营业场所中较为常见的呼叫系统为例。顾客需要服务人员能够提供准确、及时的服务, 要求所设计的系统要有较好的实时性和可靠性。一方面, 顾客提出的申请能够很快地得到响应, 使顾客感觉不到时间的浪费;另一方面, 中央服务器不能由于接收到的是错误信息, 使服务员打扰并未提出服务申请的顾客。针对系统的要求, 可以得出导致服务中出现错误的原因有二:一是由于无线信道的复杂性, 信息在无线信道的传输过程极易受到干扰而产生错误, 接收方无法接收到正确的信息;其二是由于多个呼叫器同时竞争通信信道向中央服务器发出呼叫, 各个呼叫器发出的数据相互干扰, 使中央服务器不能正确地辨别出是哪一台呼叫器发出的申请。这两种错误可能使没有发出呼叫申请的顾客得到了不需要的服务, 而有服务要求的顾客又得不到满足, 反而降低了服务的效率和准确度, 起不到服务行业中需要的无线呼叫系统的作用[2]。对于前一种情况可以采用适当的校验和纠错方式, 降低中央服务器向服务员提供错误呼叫信息的概率, 无需本文详细讨论。而对后一种情况, 需要找到一种合适的反碰撞方法, 这正是本文要解决的问题。

在分机请求发送数据的同时, 另一台分机请求发送数据, 或一台分机在发送数据的过程中, 另一台分机请求发送数据, 都会造成通讯冲突。为了防止因通讯冲突而造成的数据传输错误, 本系统参考CSMA/CD (Carrier Sense Multiple Access /Collision Detect) 技术。CSMA/CD即载波监听多路访问/冲突检测[3], 它的工作原理可用8个字来表示:“先听后说, 边听边说”。呼叫分机在发送数据前, 先检测信道是否空闲, 若空闲, 则发送数据。在发送数据的同时, 仍继续监听信道, 以检测是否存在冲突。一旦检测到冲突, 就立即停止发送, 并向总线上发一串阻塞信号, 通知总线上其他各有关站点停止数据传输。这样, 通道容量就不致因白白传送已受损的帧而浪费[4]。

本次设计的语音传输系统对于信息传输的实时性及抗干扰性要求较高。要解决这个问题, 必须尽可能避免重复冲突现象的发生。即要求如果发生多台通讯冲突现象, 各分机的“等待时间”应不同。延时等待算法和冲突等待算法有“错时等待”的特点, 能有效地解决重复冲突问题。

3.2 监听信道忙延时等待

系统采用“先听后说”的工作方式, 分机在发送呼叫信息前, 先监听信道状态。如果信道忙, 说明有其他分机正在占用信道传输数据。根据前述数据帧格式, 一帧数据共128位, 一台分机传输数据所需的时间为:T=128 bit/波特率。

因此, 本次数据传输还需占用0到T的信道时间。为了避免同时监听到信道空闲而发生的冲突现象, 各分机采用下列延时等待公式决定延时监听时间:

undefined

上式中, ti为第i台分机的延时时间, n是分机的总台数, E是应急呼叫设置位 (若为应急呼叫, 则设置E为1) 。如果某些分机相对其他所有分机优先级别较高可由系统呼叫主机设定设置为应急状态。

分机i以ti的间隔时间监听信道, 当监听到信道处于空闲状态时, 即可进行到工作流程的下一步。

3.3 通讯冲突延时等待

尽管系统采用“先听后说”的工作方式, 但也可能发生两个站点因同时监听到信道空闲而同时发送数据的现象, 即发生通讯冲突。检测通讯冲突的方法是:发送数据的呼叫分机将接收到的信息与原来发送的信息逐个比特位进行比较, 如果两者一致, 说明没有冲突;如果两者不一致, 则说明发生了冲突。

造成这种通讯冲突的原因与信号在信道上的传播时延有关。传播时延是信号由信道上的一个站点传播到另一个站点的时间, 信息传播时延可由式 (2) 计算:

undefined

设A、B是系统中的两台呼叫分机, 它们之间的传播时延是tpab。分机A检测到信道空闲后, 就发送数据;分机B在分机A开始发送数据的 (0, tpab) 的时间内检测信道, 由于信号还没有传播到分机B, 因此分机B检测到信道状态仍处于空闲状态, 分机B也发送数据, 造成通讯冲突。分机检测到通讯冲突后, 立即停止发送, 并向总线上发一串阻塞信号, 用以通知总线上其他各有关站点等待。冲突等待时延采用式 (3) 计算:

tj=tpmax (j+1-E*j) (3)

上式中, tj为第j台分机时延检测时间, tpmax为任意两个站之间的最大传播时延, 由公式 (2) 计算得到。E的含义同式 (1) 。

无论是 (1) 式还是 (3) 式, i (j) 值小的分机先检测信道, 在数据传输比较繁忙的时段, i (j) 值大的分机总是要持续一个较长的时延才能检测信道, 这就会造成系统中各分机竞争不均衡的现象。为了避免这种现象, 我们将i (j) 设置为分机检测总线的优先级别, 并把系统设置成优先级循环的工作方式。初始状态, i (j) 的值为分机编号, 优先级分别为1、2、……、n。当优先级为k的分机传输数据后, 系统主机将原来优先级为k+1至n的分机的优先级分别设置为1至n-k, 将原优先级为1至k的分机的优先级设置为n-k+1至n。

基于防碰撞技术的数据传输系统的软件流程图如图3所示。

4 小结

参考CSMA/CD构建载波监听多路访问/冲突检测工作原理, 设计基于“错时等待”策略的监听信道忙延时等待算法和通讯冲突延时等待算法, 有效地降低信道争用的冲突问题。特别是处理信道争用二次冲突方面, 与一般的CSMA/CD退避算法[5]比较, 有着明显的优势, 从而大大提高了信息传输的实时性。

参考文献

[1]陈红梅, 陈健.一种无线语音传输系统设计方案[J].西安电子科技大学通信工程学院 (710071)

[2]防数据碰撞的无线呼叫系统设计[J].单片机嵌入式系统应用, 2004 (2) .

[3]黎琼, 徐海峰.智能家居中红外控制系统通讯协议分析[J].微计算机信息 (测控自动化) , 2007 (1) :28-30.

[4]林雪明.医院护理呼叫通讯系统设计及防冲突算法研究[J].电子技术应用2009 (6) .

语音数据传输 篇4

导读:就爱阅读网友为您分享以下“英语语音语调教学教案”资讯,希望对您有所帮助,感谢您对92to.com的支持!英语语音语调教学教案

1.什么是语音, What is phonetics? Phonetics: deals with speech sounds.The study of the phonetic medium of language 2.英语语音教程的范畴, 1)掌握英语44个音素的发音.Phone/phoneme: The smallest meaning-distinctive sound unit 用以区别意义的最小发音单位.元音20个(单元音12+双元音8)+辅音音素24个,共计44.2)了解英语的音节结构.掌握不同音素组合的发音.Syllable 3)正确地把握词与词之间过渡,使同一意群的词连贯和流畅地连接在一起;1 4)掌握每个多音节词的重音模式;(stress pattern)5)熟悉并使用单词的强读式和弱读式.(Strong Form & Weak Form)6)正确的掌握句子重音;(stress)7)掌握正确的话语节奏;(rhythm)8)正确。得体地使用语调;(intonation)9)最重要的是,通过正确的语音语调来达到交际的目的。3学习语音的重要意义,Why do we learn this course? 1)有利于正确地从声音方面表达思想,对听说技能的获得是必须的。2)有助于语法和词汇的学习。

(全面的牢固的掌握一门外语。必须有声地掌握该们语音即首先掌握语音。)4学习语音应注意什么, 1)多听、多模仿、多练习。2)以听促读、说。3)掌握每个音是怎么发音的。(发音器官)英语语调的意义

语调(intonation),即说话的腔调,就是一句话里声调(pitch)高低抑扬轻重的配制和变化。世界上没有一种语言是用单一的声调说出的,以英语为例,英语有五种基本语调:升调(?)、的降调(?)、的升降调(?)、的降升调(?)以及平调(?)。一句话除了词汇意义(lexical meaning)还有语调意义(intonation meaning)。所谓词汇意义就是话中 所用词的意义,而语调意义就是说话人用语调所表示的态度或口气。一句话的词汇意义加上语调意义才算是完全的意义。同样的句子,语调不同,意思就会不同,有时甚至会相差千里。请看下例: 1)A:Jean,can you bring me the newspaper, B:Sorry,(?)Jean用升调说“Sorry”,其意思是“I didn’t hear you(Could you say that again,please,”

我们再看下句: 2)A:Jean,can you bring me the newspaper, B:Sorry((?)在对话2)中,Jean用降调说“Sorry”,显然其意思是拒绝帮助或无能为力。美国著名语言学家Kenneth L(Pike认为: 一个音节的绝对调高是不重要的,而一个音节与另外一个的相对高度才是非常重要的。英语有四级能区别意义的调高: 1)特高调(extra high),即比正常的声调高两级,常在感情特别激动或惊讶时使用。2)高调(high),即比正常的声调高一级,一般用于语句中关键性的重读词。3)中调(mid),即说话人声音的正常高度。3 4)低调(low),即比正常的声调低一级,一般是降调的最低点。应该按照说话人的态度来分语调模式,而不能按照句子的语法结构来分。没有所谓“疑问句的语调”或“陈述句的语调”。因为疑问句和陈述句都可以用各种语调模式来说。因此,对于我们中国的英语学习者来说,通过了解某种调型所表示的某种态度或口气也就颇为重要。事实上,无论是在现实生活中还是在考试中,我们的学生常会因为对这些知识缺乏了解而无法确定说话人的态度、的感情、的口吻和意图等。然而这又是一个比较复杂的问题。本文将通过具体的例子从两方面来说明这个问题: I(一句话中绝对调高及音调的相对高度所包含的意义

众所周知,人们在兴奋、的惊讶或感情激动时说话的语调就高,而在相反的情况下,语调则低。因此,在同一个场合中,如果一个人的语调明显高于另一个,或明显低于另一个,以此就可以推断出该说话人的意思及态度。

这里我们要着重谈谈一句话中语调的相对高度的不同所包含的意义。一句话中的语调波峰一般都是句重音所在。通过一句话中的语调波峰所在,我们就可以了解说话人的意思。如人们读“I live in the city(”这句话时,由于强调的对象不同,语调也就随之发生了变化。现不妨比较如下: I(?)live in the city((隐含着在场的其他人不住在城里 4 的意思)I live(?)in the city((表示“我”只是“住在”城里,其隐含的意思是“我不在城里工作”或其他意思)I live in(?)the city((表示“我住在城里边”,其隐含的意思是“我不住在城外”)因此,对下面的对话所提问的问题进行选择时,就不难回答了。3)M:Linda looked very tired these days(W:She looked OK to me(?)(Q:What does the woman think of Linda,(D),A,She saw Linda and me(,B,Linda said she was fine(,C,She looked up the word for me(,D,She considered Linda was all right(这句话里的句重音碰巧落在句子的最后一个单词“me”上。因为女士用升调重读“me”,这表示了女士有意与男士的看法形成对比,意思是:在你的眼里,她显得疲惫,可在我看来,她没什么问题。这表示了她那种无所谓的态度。

II(某些句型由于句尾语调的改变而引起意义改变的现象

1(使用疑问词who,which,what,how,when,where,why的特殊疑问句可以用降调也可以用升调,但含义是不同的。如: 5 4)A:Mr(Smith thinks we ought to get the money in hand first(B:Who,(?)A:Mr(Smith(B用升调说“Who”,表示听不清对方谈话中的某一部分,要求对方再重复那一部分。5)A:We’d like to have someone to say a word at the beginning to welcome the group(B:Who,(?)A:We thought that you or Dr(Johnson might do it(B用降调说“Who”,其意思是问,对方想让谁在开场时致欢迎词。

2(附加疑问句可以读升调也可以读降调,意思是不相同的。降调表示发问者相信陈述句的内容,只等对方证实。升调表示发问者对陈述句内容的真实性没有把握,希望对方作出自己的判断。如: 6)A:You willfinish the work,won’t you,(?)B:Yes,I will(A用降调提问,意思是:I know you will finish the work,but I want you to confirm it(7)A:You willfinish the work,won’tyou,(?)B:Yes,I will((或No,I won’t()6 A用升调提问,表示A心中没有把握,因此,得到的回答既可能是肯定的,也可能是否定的。因此,如果听到下面的对话并就所提问题进行选择时,哪个选项正确也就不言而喻了。8)W:Mary says she likes playing tennis(M:But she doesn’t play tennis often,does she,(?)Q:Whatdoesthe man imply about Mary,(B),A,She plays a lot of other sports(,B,She doesn’t really like tennis(,C,She only likes watching tennis(,D,She has a lot of things to do(3(语调可以反应谈话人的互动性。如: 9)A:Are you Mr(Blake, B:Yes((?)A:Room twenty-six(在这个例子中,B用降调说“Yes”,表示B的认可,这是一个封闭式的回答,这表明如果A没有新的问题要问或新的信息要告知,也许他们的对话就可以结束了。

10)A:Are you Mr(Blake, B:Yes,(?)A:Ah,the secretary would like a word with you(在这个例子中,B用升调回答“Yes”,表示这是一个开放式 7 的回答,相当于:“Yes(But why do you ask,”或是“Yes(But who want to know,”之意。这也就是说,B在回答A的问题的同时又向A提出了一个新问题,并要求A予以回答。

掌握了这一点之后,对于下面的对话所提问的问题,就不难回答了。11)M:How long shall we stay at the Grand Canyon, W:A day,(?)Q:What does the woman mean,(B),A,We shall stay at the Grand Canyon for one day(,B,Shall we stay at the Grand Canyon for one day, ,C,To stay at the Grand Canyon for one day is too short(,D,To stay at the Grand Canyon for one day is enough(4(陈述句式一般读降调,用以陈述事实。若读升调,往往表示对所说事情的怀疑。如: She lent him her car((?)(用以陈述事

实)She lent him her car,(?)(表示惊奇、的怀疑,含有“Did she really lend her car to him ,”之意。)再请看下面的试题: 12)M:I started driving at 8:00yesterday and arrived here at 5:30 this morning(W:You drove all night,(?)Q:What does the woman mean, 8 ,A,Night driving can be dangerous(,B,You shouldn’t have driven during the night(,C,Why don’t you drive all night, ,D,Did you really drive all night, 答案为D。

语音数据传输 篇5

GMR-1(Geostationary Earth Orbit Mobile Radio interface) 3G系统是欧洲电信标准委员会ETSI制定的可与地面3G核心网互联的地球同步卫星移动通信标准,由全球移动通信系统GSM标准衍化而来,提供基于同步卫星的移动通信业务,具有覆盖范围广、频率利用率高、不受地理条件限制和运营成本影响的特点,是地面蜂窝系统的必要扩展,在人烟稀少地区以及地面蜂窝系统受到严重破坏时,发挥着重要的作用。特别是今年来,随着移动互联网的发展,人们对网络的依赖度逐渐增高,对信息随时随地可以获取的需求逐渐增强,使得与互联网结合的宽带卫星通信系统不断发展,成为目前通信领域研究的一大热点。但是与地面通信相比,卫星通信因环境复杂存在数据传输延迟大,信道链路复杂,受外界环境影响大,易造成数据包的抖动,本文采用RTP(实时传输)协议,设计并实现一种缓存传输数据,通过绝对时钟对数据进行调度,降低数据抖动,实现语音数据的稳定传输。

2 GMR-1 3G系统介绍及协议结构

2.1 GMR-1 3G系统元素介绍

GMR-1 3G系统由GEO卫星、地球移动站MES(mobile earth station)、关口站(gateway station)、卫星操作中心(satellite operation center)、核心网C N(core network)、网管站OAM(operation administration and maintenance center)等模块组成,如图1所示。其中关口站的核心设备是基站收发台和基站控制器。一般来说,基站控制器可以控制若干基站收发台,其主要功能是进行无线信道管理、实施呼叫和通信链路的建立和拆除,并为本控制区内移动台的过区切换进行控制等。GMR-13G支持电路域话音、传真业务及支持分组域业务,其与核心网之间的Iu口其最高速率可达592kbit/s,极大的提高数据的传输速率。

2.2 GMR-1 3G协议结构介绍

本系统定义两个协议接口,分别为终端与关口站的uu口,关口站与核心网之间的lu口,终端到GEO卫星的上下行链路使用L波段其协议由下而上可分为物理层、数据链路层与层三,层三的作用在于无线资源管理、移动性管理和连续管理。GEO卫星到关口站的上下行链路使用ku或c波段,关口站分为信令处理单元与业务处理单元,语音数据处理单元为关口站业务处理单元模块主要由IUUP协议及RTP协议构成,用于实现与MES、CN的语音数据传输,如图2 所示。

其中Fp协议在于实现逻辑信道与物理信道的映射,IUUP协议是lu接口的无线网络层用户面协议,通常用来传输与RAB(Radio Access Bearers)相关的用户数据,一个IUUP实体对应一个RAB,IUUP实体与对应的RAB一起建立、删除和重配;IUUP通常有两种模式:透传模式与支持模式。透明模式下lu接口与其对等实例不进行任何IUUP协议信息交换,即不发送IUUP帧,其数据主要负载在RTP协议上,利用RTP协议缓存语音数据,根据特定的时间中断实现语音数据的低抖动传输,本文主要目标放在RTP协议及其实现上,并在下一节详细介绍RTP协议及其实现。

3 语音数据传输设计与实现

RTP(Realtime Transmission protocol)在协议层中的位置如图3 所示,下层采用UDP协议,能很好地保证传输的实时性,一般用于音频、视频方针数据等实时媒体应用中。

3.1 RTP数据包格式

RTP数据包格式主要分为RTP头,RTP负载如图4所示是RFC3550 中规定的RTP协议头格式。

版本号(V);2 bits,用来标志RTP的版本号。

填充位(P):1 bits,0 代表无填充字节,1,代表RTP包的尾部包含附加的填充字节。

扩展位(X):1 bits,0 代表无扩展头,1, 代表RTP包的尾部包含一个扩展头。

CSRC计数器(CC):4 bits,含有固定头部后面跟着的CSRC的数目。

标志位(M):1 bits,不同的有效载荷含义不同,对于视频标记为一帧的结束,对于音频标记为回话的开始。

载荷类型(PT): 7 bits,有效负载类型,用于说明RTP报文中有效载荷的类型。

序列号(Sequence number): 16 bits,用于标示发送者发送的RTP报文的序列号,每发送一个RTP报文,序列号加1,该字段用于当网络状况不好时,统计丢包数;

时间戳(Timestamp):32 bits时间戳反映了该RTP报文的第一个八位组的采样时刻,接收者使用时间戳来计算延迟和延迟抖动,并进行同步控制。

同步信源(SSRC):32 bits,用于标识同步信源,该标示符采用随机数随机产生,同一视频会议的两个同步源不同;

贡献源列表(CSRC list):每个CSRC标识符占32 bits, 可以有0~15 个,每个CSRC标识包含在该RTP报文有效载荷中的贡献源。

语音数据传输设计:话音数据传输中的低时延对用户体验非常重要,所以在话音数据传输过程中,通信双方采用socket网络数据报通信如图5 所示;

通信双方首先加载套接字库,创建本地socket,调用bind函数与本地IP及端口号绑定;

通信双方通过sendto(),recvfrom() 函数实现数据的发送及接收;

当通信结束调用closesocket关闭套接字回收资源。

4 话音数据传输流程及设计实现(如图6所示)

语音数据通过终端采集编解码之后发向基站,基站处将语音数据分为两个线程,接收线程与发送线程。其中接收线程根据数据来源区分上下行数据,下行则接RTP包,判断版本号及负载类型是否正确,序列号是否比最后一次收到的序列号大,大则放入下行发送数据缓存区,否则丢弃,上行则加入必要的RTP头信息,放入到上行发送缓冲区,接收线程继续判断是否收到新数据。发送线程主要是根据时间戳判断当前时间与发送时间之间的时间差,利用select()精确延时判断发送时刻,将上下行数据低抖动发送到对应的接收端。

4.1 语音数据发送时间延时测量

为精确统计发送数据包的时刻且不影响发送线程,我们采用网口数据捕获工具wireshark,该软件早期称为ethereal,使用Win PCAP接口直接与网卡进行数据报文交换,使用显示过滤器筛选数据源发送端口过滤出必要信息通过统计时间判断时延抖动,如图7 所示。

4.2 结果分析

本设计中发送线程首先根据上行TM数据的RTP实体中保存的时间戳计算出发送时间,在利用Linux系统函数gettimeofday() 函数获取当前时间,两者相减获取时间偏移量,利用select()函数提供的延时功能消减数据包的抖动,此设计可动态调整发送时间;在测试结果中可以看出最大偏移40ms时间间隔为39.86s且在数据统计中出现次数较少,其余数据包间隔基本在40ms左右,总体标准偏差为0.06,利用数学方差公式:

计算统计标准偏差方差为0.00389,且方差用于统计数据抖动的大小,从而可以看出我们所设计传输方案可保证语音数据的低抖动传输;

5 总结

GMR-1 3G系统支持话音域,分组域及传真业务,卫星通信中复杂的传输环境给话音传输低抖动提出非常大的挑战,话音业务的能否稳定传输严重影响用户的通话体验;本文通过设计多线程将语音接收与发送分离,利用RTP实时传输协议实现了一种低抖动话音数据传输,通过结果数据统计分析,数据传输抖动小,很好地保证了话音质量。

参考文献

[1] Douglas E.Comer.Internet working with TCP/IP,Volume Prineiples,Protoeols,and Arehiteeture(Fifth Edition)[M].Beijing:The People's Posts and Telecommunications Press,2009(7):65-69

[2] 3GPPTS 29.007 V4.14.0[S

[3] GEO-Mobile Radio Interface Specifications;Part 4:Radio interface protocol specification;Sub-part 8:Mobile Radio Interface Layer 3 Specification;GMR-1 04.008[S

[4] GEO-Mobile Radio Interface Specification:Part3 network specification;sub-part18:terminal-to-terminal call(TtT);GMR-1 03.296[S]

[5] GEO-Mobile Radio Interface Specification:Part3 network specification;sub-part 20:Technical realization of HighPenetration Alerting;GMR-1 03.298[S]

[6] GEO-Mobile Radio Interface Specification;part 4:Radio interface protocol specification;sub-part 6:Mobile earth station-Gateway Station Interface Data Link Layer specification;GMR-1 04.006[S]

局域网内实时语音传输实现 篇6

在局域网内对音频信号进行采集, 并在网内实时传输, 每个用户可以收到对方的话音信号, 并将自己的话音信号实时发送到需要接收的客户端。

对音频这类多媒体传输业务而言, 为了满足传输实时性的要求, 常常采用一种应用层分帧 (ALF) 的策略:由上层应用完成对数据流的分割, 得到应用数据单元 (ADU) , 传输层将ADU作为整体处理。另外, 为了克服传统分层体系串行处理在效率方面的不足, 尽量将对数据的串行操作转换为并行操作, 从而充分发挥并行处理器、多任务操作系统的能力, 提高协议的效率。

1 路由选择

在网络上传输封装了音频数据的IP数据报 (Datagram) 。发送端从传输层接收数据段 (Segment) , 为之加上IP报头, 封装成数据报;然后将数据报送往数据链路层。中间站点为数据报寻径, 并且当网络的MTU减小时, 将数据报分片。接收点将分片重新组合, 经过差错检查后, 去掉数据报的IP头, 将数据段提交给与发送端对应的传输层协议[1]。

1.1 基本概念

站在IP层的角度, 网络传输音频数据报主要有3种方式:单播 (Unicast) 、组播 (Multicast) 和广播 (Broadcast) 。

单播是Internet上最常见的通信方式, 它在2个特定的IP地址间进行数据通信;全网广播在子网内部向所有IP地址发送数据包, 所有在子网内部的IP站点都能够收到数据包;组播介于单播和广播之间, 它对一组特定IP地址传送数据。

1.2 最佳方式

对音频数据的传输而言, 由于数据量庞大, 需要占用很大的网络带宽, 如果采用单播模式, 那么有多少个接收端就得传输多少份数据, 所需的网络带宽与接收端的数目成正比;如果采用广播或组播方式, 那么源端只需要传输一份数据, 组内或同一网段上的所有接收端均可以收到, 因此广播和组播对提高网络带宽的利用效率是很有意义的。

2 传输协议

2.1 基本概念

从TCP/IP概念模型来看, 传输协议为传输层的范畴。传输层主要解决2个方面的问题:传输层提供标准的传输服务;对下面的网络层而言, 由于网络层提供的分组传输是不可靠的, 有必要在传输层增强网络层提供的服务质量。传输层在数据传输中的地位和作用如图1所示[2]。

2.2 传输低层协议

2.2.1 TCP

TCP是面向连接的传输控制协议。TCP利用网络层IP协议提供的不可靠的分组传输服务, 为应用进程提供可靠的、端到端的、面向连接的字节流通信。Internet许多著名的服务, 如Telnet, FTP, HTTP等, 都采用TCP作为其传输协议。

TCP传输控制协议一般不直接用来传送音、视频数据本身, 但是, 对于音、视频传输中的控制信息而言, TCP是最合适的。

2.2.2 UDP

UDP是无连接的用户数据报传输协议。与TCP相比, UDP的报头要简单得多。对音、视频数据的传输而言, UDP比TCP更为适用。TCP的大量确认应答使音、视频数据不得不因为等待应答而放弃, 造成不必要的延迟和更大范围的数据丢失。相比较而言, UDP只要网络流量足够, 音、视频数据就可以源源不断的到达接收者。因此, 在IP网络上传送音视频数据, 往往采用UDP协议, 而不是TCP协议。

3 编程原理

Window Socket支持数据报 (SOCK_DGRAM) 和流式 (SOCK_STREAM) 两种类型的套接字[3]。前者采用UDP协议传输, 而后者采用TCP协议传输。编程实现流式数据传输方式的主要过程如表1, 表2所示。其中表1表示连接建立的过程, 而表2表示数据传输的过程。括号中表示的是完成相应操作的Window Socket函数[4]。

4 Windows Socket控件通信原理

Windows Socket程序接口, 是以BSD UNIX中流行的Socket接口为原则, 定义了一套可使网络程序开发人员在Microsoft Windows环境下开发标准TCP/IP网络程序[5]。

WinSock控件支持TCP协议和UDP协议。由于TCP是一种面向连接的通信技术, 它要求每一个通信必须先建立一个连接, 故不适合基于组播技术的数据传输。在局域网上对数据包进行组播传输需采用UDP协议, 数据传输率高, 适合IP组播的数据传输。

5 DirectSound对象

在Windows系列操作系统中, Microsoft提供了强大的DirectX工具。其中的DirectSound技术可以实现对声音的实时捕捉和播放。

5.1 播放功能概述

DirectSound缓冲区对象表示一个包含声音数据的缓冲区, 这些数据以PCM格式被存储。该对象不仅可以用于开始、停止或暂停声音的播放, 还能够设置声音数据中诸如频率和格式等属性。

5.2 音频捕获

DirectSoundCapture对象可以查询音频捕获设备的性能, 并为从输入源捕获音频而创建缓冲区, 它还能够捕获压缩格式的音频。DirectSoundCaptureBuffer对象表示一个用于捕获音频的缓冲区, 它可以循环利用。

5.3 播放声音的过程

(1) 锁定 (IdirectSoundBuffer::Lock) 从缓冲区的一部分;

(2) 写数据:将捕捉到的声音数据写入将要发送的数据包中;

(3) 解锁 (IdirectSoundBuffer::Unlock) :对 (1) 的锁定部分进行解锁;

(4) 将声音传送给主缓冲区, 并从哪里输出 (IdirectSoundBuffer::Play) 。

6 应用实例的设计及实现

基于以上技术, 在此开发了局域网上的音频组播系统, 以实现服务器端和客户端之间的音频通信。

6.1 设计思想

系统的应用平台是Windows操作系统, 使用的是Winsock2规范, 系统的开发工具是Microsoft Visual C++6.0[4]。此次设计的软件, 对组播组的成员, 分为Server和Client 2种。进行通信之前, Server和Client都必须先加入一个组播组。

(1) Server:

可以随时发言, 实时接听, 不受他人限制。对来自Client的发言申请作出响应, 然后将该信息拷贝到发送缓冲区发送出去。图2为Server端数据流程图。

(2) Client:

可以实时接听, 每次发言前必须发出申请信息。当申请信息发送出去后, 组播组内的所有成员都可以收到。当Server发送出对申请信息的响应信息后, 各个Client将根据自己的本地地址与信息中包含的地址信息做比较, 如果发现申请信息中的地址信息与本机地址一致, 则说明是自己的发言申请的响应, 于是处理;如果信息中的地址信息与本机地址不一致, 那么不处理。图3是Client端数据流程图。

6.2 实现步骤

6.2.1 Server端的实现

在应用程序的头文件中定义如下数据结构[6]:

(1) 为了实现组播数据传输, 首先要加入组播组。

IP组播数据包的包头中包含一个TTL字段, 用于控制一个IP组播数据包的传播范围[7]。

若TTL值为0, 则组播数据包只能在本地主机的多个线程间传播;

若TTL值为1, 则组播数据不允许传出本地网络之外;

当TTL大于1时, 路由器传送这个数据包到组成员所属的其它网络。

以下函数用于实现组播组加入:

(2) 定义一个CdirectSound类, 实现声音的捕捉和播放。主要成员变量和函数如下[7]:

(3) 定义play函数实现音频数据的实时播放[7]:

(4) 定义Capture函数实现音频数据的实时捕捉[3]:

6.2.2 Client端的实现

Client端的编程过程与Server端很相似。添加一个Application按纽, 给它添加处理“单击”事件的成员函数OnApplication () 。另外一点就是主对话框的receive () 成员函数对收到的数据包的处理[8]。

7 结 语

本文通过基于局域网的实时语音组播的研究, 探讨了在Visual C++6.0环境中实现对局域网声音的实时捕捉和组播传送的关键技术和方法。从基本概念、路由选择、传输协议等角度, 层层深入, 循序渐进, 通过分析比较TCP、UDP等实现数据传输的过程[9], 提出了实现语音传输的最佳方式:即利用COM组件对象模型提供的2个声音信号的采集接口类IDirectSoundCapture8, IdirectSoundCapture Buffer8和播放接口类IDirectSoundBuffer8, 采用UDP数据传输协议, 从Server和Client2个角度, 提出了具体的设计实现的设计思想及编程代码, 有很大的研究价值及现实意义。

摘要:多媒体和网络技术的迅速发展为基于网络的视、音频通信提供了可能, 在很多的网络通信中, 都需要将某一发送端的话音实时的传输给接收端。实时语音组播系统为这些应用需求提供了一个不错的解决方案, 实时语音组播系统可以分成发送端、接收端和网络传输3个子系统。在此从TCP/IP通信的原理, 包括路由选择、传输协议、编程实现等角度, 给出了比较完善的解决方案, 从而实现了在局域网内语音信号的实时传输, 有很好的参考和借鉴意义。

关键词:局域网,实时语音,TCP/IP,单播,组播,音频捕捉

参考文献

[1]陈坚, 陈伟.Visual C++网络高级编程[M].北京:人民邮电出版社, 2001.

[2]曹衍龙, 刘海英.Visual C++网络通信编程实用案例精选[M].北京:人民邮电出版社, 2006.

[3]曹章元, 刘加明.Visual C++6.0类库大全[M].北京:电子工业出版社, 1999.

[4]求是科技.Visual C++音视频编解码技术及实践[M].北京:人民邮电出版社, 2006.

[5]Microsoft.Microsoft MSDN library[EB/OL].[2007-08-13].http://www.microsoft.com.

[6][美]JAMSA Kris.C/C++/C#程序员实用大全[M].北京:中国水利水电出版社, 2002.

[7][美]KRUGLINSKI David J.Visual C++技术内幕[M].4版.北京:清华大学出版社, 2001.

[8]王华, 叶爱亮.Visual C++6.0编程实例与技巧[M].北京:机械工业出版社, 1999.

[9]陈坚.实用Visual C++编程大全[M].西安:西安电子科技大学出版社, 2000.

语音数据传输 篇7

现代家用电器被人们设计的越来越人性化, 越来越便于使用, 由于生活的高节奏, 人们对解放双手的需求也越来越迫切, 传统的手动遥控家电控制的方式已经不能满足这方面的要求, 单片机技术和语音识别技术的出现, 使人们找到了一种可以替代按键的操作方式。本文利用具有语音处理功能的低成本SPCE061A单片机作为无线语音控制器的核心器件, 通过对语音资料的压缩和解压缩, 采用信息容量较少的低频段数据传输, 软件系统采用了特定发音人语音识别的策略, 能以较高的识别率实现对照明系统、空调和电视机等家用电器的语音控制, 根据初始训练的语音命令来控制家电, 具有友好智能的人机交互方式。

二、系统功能设计

(一) 硬件平台。分析家用电器的工作特点, 我们要完成语音控制家电需要两个工作终端, 一个我们称为发送端, 即为实现语音控制的终端;另一个我们称为接收端, 主要完成接收来自控制端的语音指令并执行的终端。这两个终端均由以SPCE061A为核心的开发板和一个n RF2401模块组成, 硬件结构是相同的, 发送端接的喇叭用在语音训练时使用, 接收端接有喇叭用对语音输出。发送端利用SPCE061A自带的ADC, 通过其MIC通道将语音转换为数字量, 按照一定的格式编码通过n RF2401无线模块将数据发送出去;接收端通过n RF2401无线模块接收到来自发射端的编码数据, 并对之解码, 然后执行相应的操作。在初期试验中, 我们设计了一个发送端 (控制端) 和两个接收端 (模拟家用电视机和空调) 。

(二) 系统软件设计。系统运行后, 当发送端训练成功则一直处于等待状态, 在等待状态下判断是否有语音输入。如果检测到有语音输入, 进行录音判断并发送相应的数据;另一端在接收到数据后进行指令的判断, 进而执行相应的动作。如发送端没有发送, 接收端就一直处在等待状态。

两个接收端的硬件组成和软件的主要部分是一样的, 它们只是里面的语音资源不一样, 一个里面放的关于电视的语音资源, 另一个放的是关于空调的语音资源, 因此这两个发送端可以归并成一个, 即可称为发送端。下面将详细介绍这两大部分 (接收端和发送端) 的实现。

1.发送端程序设计思想。SPCE061A训练模式启动后, 系统播放语音提示, 提示用户语音训练己启动, 接下来用户可按照系统提示依次对各条命令进行训练, 在训练过程中, 如训练成功则有语音提示进行下一条命令进行训练, 如出现训练失败, 也会提示用户继续训练此条语音, 直到全部命令训练完毕后系统将准备进行语音识别。当人向控制器发出语音命令时, 声波通过Mic输入, 将相应的信号传递到SPCE061A处理芯片, 经编解码电路和数字信号处理后, 在芯片中通过相关程序与预先植入的语音库中的命令进行比较识别, 根据识别的结果进行判断, 转换为能被系统识别的信号, 从而对被监控的家用电器进行控制。

2.语音训练程序设计思想。该程序主要包括两个部分, 即语音训练部分和语音识别部分。通过语音训练可以使系统适应特定人的发音。语音识别部分则实现对特定人发出的语音命令与系统存储的语音命令的比较, 并根据比较结果产生相应的控制信号。程序执行步骤如下:程序开始运行, 首先将Flash (闪存) 中的语音模式擦除, 为下面语音训练的存储做准备。然后将播放训练提示音“一一”开始训练, 训练人听到提示音后开始训练, 此后开始第一条命令的训练。训练前先要训练触发名称像“电视”, 而后逐条命令进行训练。本系统设置了十五条语音命令, 分别为“遥控器”、“电视”、“空调”、“电灯”, “关机”等, 每五条指令为一组, 共分三组。每一条语音命令需要训练两次, 这两次训练系统会自动做出比较判断。当训练人两次发出的语音命令在误差允许的范围内, 系统则认为训练人发出的语音命令与系统存储的语音命令相同, 并判断为训练成功, 同时将训练人的发音特征存储到系统中。当训练人两次发出的语音命令不在误差允许的范围内时, 程序返回上一层对该条语音命令再次进行训练, 直到训练成功。像这样继续对余下的几条语音命令进行训练, 直到十五条语音命令完全训练成功。语音训练成功后, 程序进入语音识别阶段。首先初始化语音识别器, 播放提示音, 此时训练人可以对控制系统发出语音命令。然后, 系统将采集的语音进行处理, 并与存储器中训练人的语音样本进行比较。如果采集的语音是训练人的语音, 系统则将该语音与存储的语音命令比较, 根据比较结果产生相应的控制信号, 否则不产生控制信号。语音识别过程循环进行, 完成一条语音命令的控制任务后系统将等待训练人再次发出语音命令。如果训练人不再发出语音命令, 系统将一直处于等待状态。

3.接收端程序设计思想。接收端就是和家电相连接的控制器, 当收到指令时, 由控制器进行判断, 然后对相应的家电进行控制, 以达到语音通过无线传输来控制家电。接收端不需要进行语音的训练, 它主要的作用就是对收到的数据做出正确的判断。发送端在不发数据的情况下, 接收端处于空闲状态, 也就是一直处于等待的状态, 不断的进行检测, 看是否有数据的到来。

三、系统的实现说明

利用凌阳科技的集成开发环境IDE2.0进行设计, 程序编制完成后下载装入, 运行。分别把发送端和接收端的程序相应的装入单片机, 这个装入顺序不分先后, 当把发送端的程序装入并运行时, 作为发送端的单片机会出现提示音, 这是就开始训练了。训练完并成功时会有稍微长的提示音, 这时若接收端没有打开电源, 把电源打开, 就可以无线语音遥控。若是脱机运行即程序已经下载到单片机里面, 这时分别打开接收端和发送端的电源, 对接收端进行训练, 训练成功后可以无线语音遥控。

按以下的顺序对发送端进行训练:遥控器, 电视, 空调, 电灯, 关机, 电视, 开机, 河北卫视, 频道加, 频道搜索, 空调, 开机, 自动模式, 制冷模式, 制热模式。训练成功后, 无线语音遥控器就可以使用, 但每次触发一个命令时, 必须先触发“遥控器”这个名称, 然后在执行相应的指令。

以SPCE061A单片机为核心器件设计的无线语音接收、无线发送模块共同组成了无线语音单向通话系统。在程序的编制过程中, 由于要用到许多函数, 不仅要用到C语言的, 还需要用到汇编语言的一些指令, 所以为了简化程序的编制流程, 在设计时, 定义了许多模块, 便于程序中的调用。

四、结语

本文所述基于凌阳SPCE061A单片机的语音控制系统, 经过多次试验证明其控制效果较好。在训练过程中也发现训练人语气的强弱、声音的大小、背景噪音都会影响系统的灵敏性, 因此为使系统具有更强的适应能力, 还需要深人研究和改进。该语音控制系统有一个显著特点, 这就是只有经过训练的特定训练人发出的语音命令系统才会做出响应, 因而在安全保密系统中将具有一定的应用前景。由于该系统体积小, 可靠性好, 性价比高, 可用于设备的语音智能控制, 应用前景看好, 如加以完善可以实现非特定说话人的语音识别。

参考文献

[1].黄军辉, 董晓倩, 李建波.单片机原理与应用-凌阳SPCE061A[M].北京:人民邮电出版社

语音数据传输 篇8

笔者在日常教学工作中常常需要仔细校对各种庞大的Excel表格数据,校对的时候,多会选择一人朗读,另一人详细核对数据。或者自己看一段,再对一段。其实这样比较麻烦。我们完全可以利用Excel自带的“文本到语音”功能,让软件通过发声自动给你校对,不仅减轻了工作量,还不容易出错。

在Excel 2003中,我们可以通过“视图”-“工具栏”,选中“文本到语音”复选框来使用朗读单元格功能。由于这个功能在安装Excel时不是默认的,所以在第一次使用时会提示插入Office安装光盘来安装这个功能。

使用的时候打开“文本到语音”工具栏,数据文件中用鼠标选择要朗读的第一个数据,接着根据数据的排列情况来选择是“按行”还是“按列”来进行朗读,设置完成后点击“朗读单元格”按钮就可以了。

如果选择“按回车开始朗读”按钮,还可以一边输入数据一边来进行语音校对,这样在完成一个单元格的输入后按回车,Excel就会自动来朗读这个单元格中的内容。

Excel 2007中也有这个功能,但是不太好找,需要用户自定义设置。下面重点讲解在Excel 2007中如何实现语音朗读功能。

鼠标右键单击Excel 2007左上角的圆形“Office按钮”,从右键菜单中选择“自定义快速访问工具栏”。

在“自定义快速访问工具栏”选项卡中,在“从下列位置选择命令”下拉菜单中选择“不在功能区中的命令”。

在这个下菜单中我们可以看到“按Enter开始朗读单元格”,双击这个命令,把它加到右边的快速访问工具栏中,最后单击“确定”按钮完成操作。

相同方法添加完“朗读单元格”、“朗读单元格-停止朗读单元格”、“按行朗读单元格”、“按列朗读单元格”等朗读功能的命令。

现在我们再回到Excel2007主窗口中,快速启动工具栏已经多出了五个按钮。

保证声卡和音箱或者耳机工作正常的情况下,现在我们选择表格中的某个单元格区域如A2:F8区域,选择“按行朗读单元格”,再点击“朗读单元格”按钮就开始逐行朗读单元格内容了。怎么样,有了Excel语音校对功能,繁琐枯燥的核对教学计划工作立马变得轻松许多了。

如果想对朗读的声音做设置,可以打开“控制面板”的“语音”,在“文字-语音转换”对话框下可以选择朗读的声音和速度。

有了这个语音朗读的小工具,我们就可以在Excel表格大量数据输入和检查的时候轻松一点,眼睛和耳朵一起帮忙,轻松完成数据的校对工作。当然,Excel语音校对功能远不局限于教学数据校对工作,还可运用于财务的语音对账中。总之,涉及文字校对工作的它都可以胜任。

摘要:Excel表格数据校对工作想必很多人都经历过,尤其是学校的教学管理、财务处、资产处等部门。这些数据校对工作主要是通过人工完成的,笔者基于校对教学计划数据的个人工作经验,介绍一种计算机Excel语音校对功能,可以极大的提高工作效率。

语音数据传输 篇9

目前, 语音压缩编解码技术在多个领域都得到了广泛应用。虽然高压缩率是与高语音质量是科技工作者的努力目标, 但鉴于实际应用中二者之间往往存在难以调和的矛盾, 中低速率语音编解码技术和单片多路编解码技术在现代数字语音处理中仍然有着十分重要的作用。

基于AMBE-3000语音编解码芯片, 研究利用单片AMBE-3000来实现多路语音数据记录技术, 其中主控芯片采用TI公司的28X系列DSP, 采用分时段处理方式来控制多片缓存FLASH与AMBE-3000进行语音数据传输。

1 系统设计

本系统采用分时处理技术, 通过DSP控制两片FIFO, 完成四路语音采集数据与AMBE-3000之间的协同稳定处理, 经过处理的数据将参照数据帧标头分段存储, 以备调取时识别。系统平台框图如图1所示。

2 AMBE-3000

AMBE-3000芯片采用多带激励语音压缩算法, 编码速率为2.0kbits~9.6kbits, 纠错方式可选, 功耗低。该芯片无需外部存储器;引脚配置可以直接由硬件实现, 也可通过单片机等控制芯片编程实现;部分功能可以通过软控制字改变;还具有一些特殊功能, 例如回声抵消、语音激活检测和舒适噪声输入、双音多频检测与发生等。

3 用户接口及数据处理电路

3.1 用户接口电路

采用CSP1027语音CODEC芯片完成语音处理首要目标:将语音模拟信号转换成数字信号。四片CSP1027同时将四路不同环境语音采集并存储在缓存器中, 等待处理并传送。用户接口端为了使声码器输出能够不受电磁干扰影响, 采用由运放集成芯片JRC4558及外围电路构成的去耦合滤波电路, 对音频信号进行低通滤波并且放大, 以达到滤去因布线电磁耦合干扰而产生的冲激。 数据帧信道中传递过程如图2所示。

3.2 语音数据处理

系统中CODEC芯片采用的高性能立体音频编解码器为TI公司TLV320AIC14 (简称C14) , 该芯片同时高度集成了模拟电路功能。

数据在通道中以帧的形式进行传输, 每帧有34字节数据, 其中帧头10字节, 语音数据24字节。在20ms周期内, 若24字节数据全部被填满, 则其传输速率为9.6kb/s。本设计传输速率为2.4kb/s, 则24字节语音数据格式中只有6字节语音数据, 其余被0填充。用这6字节数据作为一帧, 再加上帧头 (包括同步码、地址吗、类型吗、校验码等) , 便可以帧的形式完整稳定的存储起来, 等待被调用。

4 接口设计

系统主控芯片为TI公司的TMS320F2812, 内含128K×16位的片内FLASH存储器, 4KB的引导ROM, 有外部存储器接口;32位运算精度、系统处理能力达到150MIPS;128位的密码保护机制, 可有效保护知识产权;两个时间管理模块为系统变换控制提供控制功能;16通道高性能12位ADC单元提供了两个采样保持电路, 可以实现双通道信号同步采样。

系统主控的功能是将语音数据写入FIFO, 由EPM7128数字芯片控制FIFO将数据读出, 同时控制四个缓存器中数据的读出, 它们之间的接口方式如图3所示。

两个FIFO的32位的数据总线同时占用主控数据总线的D0~D31位, 地址总线A2~A21位和WE, RE, CEX, OE, BEX接入EPM7128进行逻辑译码。因FIFO没有片选输入信号, 需要利用控制写信号AWR、片选信号CEO、高位地址数据线的第A21~A20位、由EPLD进行译码形成的WCLK1, WCLK2写信号和第二个WEN写使能信号替代片选信号 (WCLK=CE+AWE、WEN=CE+AWE) , 分别控制两片FIFO的写信号WRE, 该控制信号负责FIFO的I/O缓冲寄存器的数据更替, 这样就实现了把数据写到不同的FIFO芯片的目的, 同时由于FIFO的容量有限, 必然存在满和空的情况, 所以可将FIFO的状态信号EF/FF等信号接入中断源EXT_INTX。同时EPM7128产生的FIFO的读时钟、读使能、输出使能, RCLK, REN, OE分别接入FIFO的相应控制端, 来控制FIFO数据的读出。DSP控制EPLD产生两片FIFO需要的触发信号RESET。两片FIFO和四片缓存器的数据更新时钟均由EPM7128提供, 保证了系统时钟同步。

4.1 数据地址总线信号

主控的数据和地址总线需要与两片FIFO、缓存芯片和EPLD相连, 为了增强信号线的驱动带载能力, 系统中主控输出总线通过TI公司的SN74LVTH162245器件进行驱动。同时, 由于两片FIFO和其他器件对DSP数据和地址总线的时分复用导致电路反射现象较严重, 要采用合理的PCB布线拓扑结构才能改善反射现象, 而PCB布线方案中菊涟法是较合适的布线法, 基本上没有分支旁路, 非常适合地址线和数据线以及并联终端的布线。信号中最易受影响的是WR, 由于系统中两个FIFO及其它元件对其的时分复用, 必然导致PCB布线时产生分叉带来的阻抗不匹配, 进而引起信号不完整性。为了增加驱动能力并保证其信号质量, 将WR信号先驱动SN74LVTH162245上四个输入引脚, 从其四个输出端得到相互隔离后的四路相同信号, 然后加上匹配电阻, 对每路信号进行匹配后接到各自的终端。

4.2 控制时序

给所有元器件上电后, EPLD发送RESET信号触发两片FIFO, 保持至少20个参考时钟高电平, 进而清空两片FIFO;DSP在EPM7128的配合下依次给每个FIFO写入新语音数据, WEN位低时、WCLK信号的上升沿将语音数据写入FIFO, EPM7128的输出使能信号OE为低时, REN有效, 在每个RCLK的上升沿将数据读出;同时EPM7128也控制缓存芯片的CLOCK, 当FIFO输出数据稳定后, 在CLOCK的上升沿更新DAC输出, 控制四片缓存器分时段将各自的数据写给数据处理单元。

5 PCB信号完整性及EMC检测

图4为应用Hyper Lynx软件对所绘制的硬件PCB进行的信号完整性检测, 其中虚线为输入、实线为输出。可以看出, 经过完整系统后, 输入仿真软件对PCB进行的EMC检测 (如图5所示) , 很明显, 对于FCC的A类标准 (下实虚线组) 和B类标准 (上实虚线组) , 从0~1G工作频段内都能完全符合标准要求。

6 结束语

本设计主要采用DSP和EPLD控制两片FIFO的读写从而实现控制四片缓存器来向单片AMBE-3000与TLV320AIC14组成的语音处理单元传送相关语音数据, 最终实现了基于AMBE算法的多路输入单路输出的语音存储器的设计。该设计方案可应用范围广泛, 节省设计成本, 提高芯片利用率, 具有较大的发展空间。

参考文献

[1]AMBE-3000 DataSheet[DB].Digital Voice Systems Inc, 2009.

[2]TMS320F2812 DataSheet[DB].The Texas Instruments Inc, 2001.

[3]TLV320AIC14 DataSheet[DB].The Texas Instruments Inc, 1999.

[4]高光天.数模转换器应用技术[M].北京:科学出版社, 2009.

[5]张雄伟, 曹铁勇.DSP芯片的原理与开发应用[M].4版.北京:电子工业出版社, 2009.

[6]邵小桃.电磁兼容与PCB设计[M].北京:清华大学出版社, 2009.

上一篇:幼儿图案画的教学下一篇:现代汽车的节能与环保