APP下载

基于数据分发服务的语音通信系统的设计与实现

2021-07-30

测控技术 2021年7期
关键词:音频语音终端

于 涛

(沈阳飞机设计研究所,辽宁 沈阳 110035)

对于大规模的综合试验环境,其组织复杂,需要在控制端对全环境的试验人员进行指挥,提高全局控制能力。对于多任务、多团队工作并行、工作区域不固定的情况而言,需要多节点的语音通信系统,保证任何团队的任何成员在任何地点都可加入本团队的通信分组,且组间通信互不干扰。语音通信系统设计为基于数据分发服务的语音通信系统。抛开传统的音频模拟信号,通过基于订阅发布机制网络技术进行语音信号的控制和传输,增强语音信号的传输准确性,降低干扰。

近年来,孙树忠[1]完成了基于软交换的专网语音通信系统的设计与实现;钟斌等[2]完成了基于以太网的串行数字语音通信系统设计;李强等[3]完成了基于局域网的语音通信实验系统的设计与应用,实现了在局域网条件下音频的采集、编码和快速传输;罗敏顺等[4]完成了基于FPGA对DDS进行编程开发;吕品[5]完成了安全系统中加密解密功能和数据发布订阅功能的联合研究;罗鹏[6]将DDS作为网络中间件,实现多节点分布式联合仿真;黄亮[7]完成了RSA密码基本运算工具的设计与实现。

将语音通信消息转化成数字信号通过DDS网络进行传输与监控,国内尚未有研究先例及工程应用,本文着重对语音通信系统的功能模块设计进行阐述,介绍系统中的关键技术与工程实际应用。

在对DDS网络进行研究的基础上,首先对语音通信系统的信息传输与采集过程进行前瞻性研究,前期着重研究所开发的系统与DDS网络的耦合性,以及嵌入式系统运行DDS数据收发程序的稳定性和硬件的兼容性,待技术研究成熟后,深入探索语音通信系统的硬件设计方案和软件功能的实现。

本文采用DDS网络进行试验室语音传输,可极大地提高仿真网络的利用率,通过对通信网络进行配置,可实现以下设计需求。

① 通过发布订阅机制实现发送端与接收端数据解耦,可实现任意节点同时发布和接收;

② 保证通信效率,降低通信延迟;

③ 通过对发布订阅系统域进行部署,可实现同一网络上不同组通信互不干扰;

④ 通过接口管理和通信接口库技术,实现通信管理和记录;

⑤ 定制通信系统的监控和统计服务。

1 系统总体方案

1.1 方案概述

语音通信系统由通信控制台、通信终端、组网设备、公用模块和互操作协议5部分组成。系统架构如图1所示。

图1 语音通信系统系统架构

1.2 系统工作流程

语音通信系统包括以下互操作流程。

① 终端认证登录流程。用户通过输入数据ID,进行认证登录。系统对终端的合法性进行认证,对合法用户进行登录许可与在线记录,同时屏蔽非法用户。

② 终端分组流程。动态对终端进行分组。

③ 终端分组对话流程。同一组内成员可随时发起一对多的对话。

④ 终端状态监控流程。终端信息周期上报控制台,完成状态监视。控制台根据状态信息与终端预设信息的比较结果,进行容错处理。

⑤ 控制台广播流程。控制台发起对所有在线终端的广播对话。该功能对于终端为强制执行。

⑥ 控制台终端对话流程。控制台发起对单个在线终端的对话。该功能对终端强制执行。

1.3 DDS通信网络

DDS是以数据为中心的分布式的发布/订阅数字通信技术,能够应用于大型分布式仿真结点间的数据通信,具有以下特征。

① 灵活且适应性强,支持自动发现新的或过期的终端应用程序;

② 低开销;

③ 数据传输可靠;

④ 带宽利用率高;

⑤ 支持一对一、一对多、多对一、多对多的通信[8];

⑥ 可根据网络架构灵活配置底层传输特性[9]。

2 通信控制台设计

2.1 功能概述

本子系统具有如下功能。

① 对所有在线通信终端设备进行广播;

② 完成对通信终端设备节点的动态添加、删除、修改;

③ 动态建立、删除、修改会话群,会话群之间通信互不干扰,每个会话群能够动态添加、删除通信终端节点;

④ 分类记录、管理通信信息,并能够将实时信息上传至综合数据管理平台,支持随时提取,播放音频信息的功能;

⑤ 对终端节点进行监视(状态管理)与控制(许可、禁用、禁言、开启和关闭等)。

2.2 功能设计

通信控制台软件由UI模块、认证服务模块、业务服务模块和数据库模块4个模块以及数据总线、音频输入输出、混音、AES加解密4个公用模块组成。

(1) UI模块。

其主要功能包括:完成画面组织、系统应用信息的画面显示与刷新;完成用户鼠标、键盘操作;系统监控,包括电源与网络监视信息的采集和控制命令的发布。

(2) 认证服务模块。

根据数据库预存内容,对终端用户提供认证服务。

(3) 业务服务模块。

根据数据库内容,向终端用户提供综合通信平台互操作协议服务。

(4) 数据库模块。

提供建立、加载SQLite数据库功能;提供数据库内数据项的增删改查服务;对数据文件进行保存、备份。

3 通信终端设计

3.1 功能概述

本子系统具有如下功能。

① 能够完成本地音频的提取、发送;

② 能够接收网络音频数据,进行混音与播放;

③ 能够随时关闭、开启设备;

④ 支持通信控制台的监视、管理与控制功能;

⑤ 能够通过组网设备与通信控制台建立连接。

3.2 硬件设计

通信终端壳体采用铝合金外壳,强度高,通过盖板加工散热凸台与屏幕微处理器贴合,并于侧面开排风口,利于散热,通信终端子系统主要由主控板、电源板、显示板、转接板和耳麦组成,系统原理框图如图2所示。

图2 通信终端原理框图

主控板采用64位四核ARM Cortex-A53微处理器,运行嵌入式操作系统,对系统执行逻辑和音频信号进行处理;供电板和主控板通过接插件直接扣接,将交换机输出的48 V电信号转成5 V直流电信号,为整个通信终端供电;显示板和主控板通过转接板和两根排线完成连接,实现触摸式操作。系统与以太网之间的数据信号通过网线直接接入主控板的RJ45网口,系统与用户之间的语音信号通过主控板的USB接口与耳麦连接,通信终端实物如图3所示。

图3 通信终端实物图

3.3 软件设计

通信终端子系统主要完成本地音频数据的采集和发送,网络音频数据的接收、混音与播放,支持会话管理服务器的监视、管理与控制功能,软件架构如图4所示。

图4 通信终端软件架构图

各模块的功能设计如下。

(1) 用户UI模块。

本模块向用户显示终端设备信息、终端用户会话信息、系统运行状态等系统信息,除此之外,还向用户提供终端设备参数设置、控制台服务请求等功能。

(2) 认证服务模块。

本模块向控制台提供用户认证信息,为用户登录/注销功能提供用户信息认证结果。认证流程如图5所示。

图5 系统认证流程

① 终端请求认证:在用户登录系统阶段,获取用户信息,向服务器发送认证请求并获取认证结果;

② 控制台命令认证:运行过程中接受服务器认证命令,认证通过系统继续运行,认证失败系统主动退出登录状态。

(3) 业务命令处理模块。

本模块负责通信终端与控制台系统之间业务方面命令/请求消息的通信,解析并处理控制台命令消息,打包发送终端系统对控制台的请求。

(4) 系统状态管理模块。

本模块对终端系统运行状态进行控制管理,终端系统运行状态分为初始状态、空闲状态、分组会话、服务会话和广播会话,本模块为终端系统各状态提供统一状态控制接口,响应服务器控制命令或界面操作请求,从而控制系统状态切换,各状态分别负责该状态的系统功能。各状态功能及实现的接口设计如下。

① 初始状态:完成系统用户界面创建,音频设备连接监测,网络连接监测,启动系统状态上报功能;

② 空闲状态:创建系统业务通信对象,启动控制台命令接收处理功能;

③ 分组会话状态:创建分组会话通信对象,进行分组会话语音交换;

④ 服务会话状态:创建服务会话通信对象,进行服务会话语音交换;

⑤ 广播会话命令:创建广播会话通信对象,进行广播会话语音交换。

(5) 系统状态上报模块。

本模块向控制台实时发送终端系统运行状态信息。

(6) 音频设备管理模块。

本模块用于管理和控制终端系统可使用的音频设备,包括USB音频设备、蓝牙音频设备。

4 组网设备设计

本子系统主要完成如下功能:提供物理位置与IP地址的一致性;PoE(Power over Ethernet,以太网供电)授电;异构子系统的数据适配;网络健康监控。

组网设备用于承载整个语音通信系统数据传输以及终端授电,硬件由PoE交换机组成,软件由域名参与者、数据发布模块、数据接收模块以及数据接收接口组成。

① 数据发布模块。提供数据发送功能,向网络发送用户数据;提供数据发送服务质量(Quality of Service,QoS)管理;提供发送数据的适配。

② 数据接收模块。提供数据接收功能,从网络接收用户数据;提供数据接收QoS管理;提供接收数据的适配。

③ 数据发送/接收接口。

④ 域参与者。提供自组网功能;提供QoS服务。

5 公用模块设计

5.1 功能概述

本子系统主要功能如下:提供动态高效加密解密功能;将多路音频信息进行软件混音,合成单路音频信息播放;采集音频信息。

5.2 加密模块

通信过程中的加密主要是采用密码的方式,在数字通信中主要利用计算机采用加密法,改变负载信息的数码结构。语音信息传输过程中的加密方式主要为RSA加密算法,RSA加密算法的来源是1978年李维斯特等提出的一种“由已知加密密钥推导出解密密钥在计算上是不可行的密码体制”,RSA密码算法的安全性是基于大整数因式分解的困难性,它的安全性同模数的长度成正比[10],在通信终端设计中将RSA算法与计算机传输的数字信号相结合,将数字信息进行加密传输,起到防止窃听通信数据的作用。RSA加密子模块算法设计如下。

① 随机选取两个不相等的质数p和q;

② 计算p和q的乘积n=p×q;

③ 计算n的欧拉函数φ(n)=φ(p×q)=φ(p)×φ(q);

④ 随机选择一个整数e,满足1

⑤ 计算e对于φ(n)的模反元素d,即使得ed≡1(modφ(n));

⑥ 将n和e封装成公钥,n和d封装成私钥,完成语音信息的发送加接收解密过程。

通信终端将音频数字信号进行加密处理,之后通过DDS网络中间件进行网络传输,数据接收端将接收到的DDS网络信息在本地进行解密处理,并最终将数字信号转换成音频信号进行播放。

5.3 混音模块

本模块将不同来源的音频数据整合成一路音频数据,参与混音的音频数据帧在数据格式、采样频率和数据帧长度上始终保持一致。

5.4 音频采集播放模块

本模块由音频采集子模块和音频播放子模块构成,提供音频数据的采集、发送、接收、播放功能。

音频采集子模块提供从音频设备采集数据和发送的功能,音频数据采集过程可暂停、恢复和停止。

音频播放子模块提供从网络接收音频数据并使用音频播放设备播放音频数据的功能,音频数据播放过程可暂停、恢复和停止。

6 互操作通信设计

6.1 功能概述

本子系统主要功能如下:支持系统工作流程中的各种操作;支持系统监控流程中的信息获取。

6.2 互操作协议

综合通信平台互操作协议分为3种模式。

(1) 命令/响应。

本模式包含以下过程。

① 重新认证过程。在通信过程中管理人员会启用/禁用用户,无论用户许可状态是在禁用到启用的变化之中或反之,均会发生重新认证过程。

② 分组过程。通信控制台修改用户分组信息,将会导致终端进入分组过程。终端收到分组命令后,根据分组命令内容,重新配置分组,包括重新生成密钥,为组内成员分配音频资源等。

③ 通信控制台开始对话过程。通信控制台开始用户对话时,进入此过程。终端收到此命令,将会创建通信控制台对话资源,进而可以与通信控制台进行对话。

④ 通信控制台结束对话过程。通信控制台结束对话时,进入此过程。终端收到此命令后,将会关闭对话,并且安全释放所有对话资源。

⑤ 通信控制开始广播过程。通信控制台开始广播时,进入此过程。终端收到此命令后,将会开始接收广播,并且创建广播资源。

⑥ 通信控制台结束广播过程。通信控制台结束广播时,进入此过程。终端收到此命令后,将会关闭接收广播,并且安全释放所有资源。

(2) 请求/答复。

该模式用于以下3种场景。

① 请求认证过程。通信终端在开机登录时或收到重新认证命令时,进入此过程。通信终端在收到认证请求的答复后,根据答复结果驱动自身状态机工作。

② 请求分组信息过程。通信终端如果收到认证请求的答复后,答复内容为“成功”时进入此流程。通信终端在收到分组请求的答复后,根据答复内容驱动自身状态机工作。

③ 请求对话过程。通信终端向控制台发起对话请求时,进入此过程。通信终端在收到对话请求的答复后,根据答复内容驱动自身状态机工作。

(3) 上报。

该模式由通信终端上报自身状态信息,便于通信控制台进行监控。通信控制台收到上报信息后,根据上报状态与本地数据库保存状态进行比较,决定刷新状态或进入异常处理。

6.3 通信实例

对语音通信系统进行使用测试,测试条件及内容包含以下方面。

(1) 应用场景。

对于语音通信系统的测试采用“边使用,边测试”的方法,即在实际应用的条件下对系统开展可靠性和鲁棒性测试。由于在大型试验场所试验过程中,例如飞机全系统试验场所中,液压试验团队、航电试验团队等不同试验团队同时开展工作,互不干扰,且同一试验团队进行不同试验工作的物理位置和工作时间也不尽相同,因此具体应用场景应包括多人通话、多组通话、同一账号更换通信终端登录和长时间通话(8 h不间断)。

使用语音通信系统进行大型试验场所分组语音通信的典型流程如图6所示。

图6 语音通信系统典型使用流程

(2) 试验环境。

实际使用条件下,将100台语音通信系统通信终端按照使用需求分布于占地1500 m2的二层试验场地,在系统使用过程中,试验场地内同步开展大型数字化或半物理试验,大量强弱电设备同时运转。

(3) 试验设备。

被测设备包括通信控制台、通信终端、耳麦,参试设备为DDS网络数据采集计算机。

(4) 试验准备。

启动通信控制台并开启通信服务,根据实际使用需求建立用户,并根据使用场景进行用户分组,在需要进行语音通信的通信终端上进行用户登录。

(5) 通信实现。

系统默认使用常规通话,即组内任何一名成员进行语音输出,其他成员均能够收听到;若通过通信终端对组内成员进行呼叫,则可实现组内一对一私密通话;若通过通信终端对通信控制台进行呼叫,则可实现与通信控制台的音频通话,通信控制台此时会有弹窗提示。

(6) 试验数据与结果。

通过DDS订阅网络上经过数字转换的语音信息,对其进行监控,并统计出DDS可靠信息传输丢包率与误码率均为0。系统可根据应用需求实现组内通话、组内一对一通话和呼叫通信控制台等功能。根据使用人员主观感受得出结论,语音通信系统通话清晰、无杂音。

7 结束语

采用基于数据分发服务的语音通信系统设计,实现了通过控制台的配置,语音通信终端实时采集用户语音,将低失真率和数字语音按组、按策略实时分发并还原,使得大面积分布在各区域的试验参试人员能够灵活、及时、准确地沟通,为大型试验场所实时分组沟通提供支撑。

猜你喜欢

音频语音终端
X美术馆首届三年展:“终端〉_How Do We Begin?”
通信控制服务器(CCS)维护终端的设计与实现
魔力语音
基于MATLAB的语音信号处理
基于MQ3与MP3的价廉物美的酒驾语音提醒器
必须了解的音频基础知识 家庭影院入门攻略:音频认证与推荐标准篇
对方正在输入……
基于Daubechies(dbN)的飞行器音频特征提取
音频分析仪中低失真音频信号的发生方法
多功能北斗船载终端的开发应用