首页> 中国专利> 一种软件无线电多制式语音编解码器

一种软件无线电多制式语音编解码器

摘要

本发明提供一种软件无线电多制式语音编解码器,硬件采用嵌入式系统平台,包含编码模块与解码模块,通过主进程、音频进程和编解码算法进程组成的应用进程实现CVSD、G.729、MELP多种语音的编解码处理;所述主进程为用户提供通信端口,协调音频进程和编解码算法进程之间的工作,以及配置参数的输入;所述音频进程用于提供音量调节、MIC和线性输入通道切换以及录音接口和放音接口的处理;所述编解码算法进程提供有多种算法,实现编码和解码处理,以及配置参数的使用和获取音频进程的接口。本发明将多个语音编码算法集成在一款芯片内,适应新一代软件无线电通信电台波形体制灵活切换对语音的需求,能实现电台语音的灵活切换。

著录项

  • 公开/公告号CN112614495A

    专利类型发明专利

  • 公开/公告日2021-04-06

    原文格式PDF

  • 申请/专利权人 北京华信声远科技有限公司;

    申请/专利号CN202011452195.5

  • 申请日2020-12-10

  • 分类号G10L19/00(20130101);G10L19/18(20130101);G10L19/26(20130101);

  • 代理机构11620 北京智沃律师事务所;

  • 代理人梁晨

  • 地址 100000 北京市海淀区西四环北路160号玲珑天地A座730

  • 入库时间 2023-06-19 10:29:05

说明书

技术领域

本发明涉及涉及一种软件无线电装置,尤其是涉及一种软件无线电多制式语音编解码器。

背景技术

语言是人类进行交流的重要手段,通信系统中最常见的数据形式就是语音。语音通信是人类通信最基本、最重要的方式之一。随着社会时代的发展,人类迅速进入了信息时代,对于各种资源的利用率要求越来越高,从而推动了语音编解码技术的发展。

目前全球的军用民用通信系统,因为通信环境、通信距离、信道带宽、用户需求各不相同,导致了这些系统的语音编解码方式各不相同。目前我国各军兵种都有各自独立的通信系统,语音编解码制式不尽相同,系统内部相应的设备里采用的编解码专用芯片也不一致,从而使得不同作战系统之间不能实现互联互通,影响作战效能。新一代军用电台采用软件无线电体制的灵活架构,可以实现电台间信息(文字、图像、视频)的互联互通。而语音作为通信最基本的功能,为了在这种架构下实现互联,需要电台可以在各种编解码制式间灵活切换,这就迫切需要一款多制式语音编解码器。

发明内容

本发明提供了一种软件无线电多制式语音编解码器,解决了传统定制化电台单一的通信模式码率和算法固定,系统的灵活性较差的问题,其技术方案如下所述:

一种软件无线电多制式语音编解码器,硬件采用嵌入式系统平台,包含编码模块与解码模块,通过主进程、音频进程和编解码算法进程组成的应用进程实现CVSD、G.729、MELP多种语音的编解码处理;所述主进程为用户提供通信端口,协调音频进程和编解码算法进程之间的工作,以及配置参数的输入;所述音频进程用于提供音量调节、MIC和线性输入通道切换以及录音接口和放音接口的处理;所述编解码算法进程提供有多种算法,实现编码和解码处理,以及配置参数的使用和获取音频进程的接口。

所述本发明的编码和解码步骤相反,其中进行编码处理时包括如下步骤:

S1:主进程设置输入配置参数,形成编解码算法进程的工作参数;

S2:音频进程中的可调增益放大器接收采集的音频数据,进行放大处理后,发送给音频进程的ADC模块;

S3:音频进程的ADC模块将音频数据经模数转换后,通过环形缓冲区传输给编解码算法进程的编码模块;

S4:编解码算法进程的编码模块根据制式选择对应的算法决策进行编码处理;

S5:编解码算法进程的编码模块最后将对应的编码码流通过网口输出到其他设备。

所述编解码算法进程提供有CVSD编码算法,所述CVSD编码算法在编码时,通过不断改变量阶δ大小来跟踪信号的变化以减小颗粒噪声与斜率过载失真,量阶调整δ是基于过去的3个或4个样值输出;

1)当f(n)>g(n)时,比较器输出e(n)>0,则数字编码y(n)=1,积分器输出g(n)=g(n-1)+δ

2)当f(n)=

g(n)=g(n-1)-δ。

所述编解码算法进程提供有CVSD解码算法,所述CVSD解码算法在译码时,译码是对接收到的数字编码y(n)进行判断,每收到一个“1”码就使积分器输出上升一个值,每收到一个“0”码就使积分器输出下降一个值,连续收到“1”码就使输出一直上升,反之连续收到“0”码就使输出一直下降,从而恢复输入信号;

1)当y(n)=1时,积分器输出g(n)=g(n-1)+δ

2)当y(n)=0时,积分器输出g(n)=g(n-1)-δ。

所述编解码算法进程提供有G.729编码算法,所述G.729编码算法在编码时,输入信号先经过高通滤波预处理,每10ms帧作一次LP分析,计算LP滤波器系数,并将这些系数转换为线谱对,线谱对定义为LSP,激励信号用A-B-S方法搜索,以原始语音与合成语音的误差感觉加权最小为测度进行搜索,而感觉加权滤波器用未量化的LP系数构造而成;每个子帧确定一次激励参数,量化的和未量化的LP滤波系数用于第2子帧,而在第1子帧使用内插的LP系数,根据感觉加权语音信号每10ms帧估计一次开环基音时延;每个子帧都重复进行:①目标信号是由通过加权合成滤波器滤过的LP残差计算得到的;②计算加权合成滤波器的脉冲响应;③用目标信号和脉冲响应搜索开环基音时延附近的值作闭环基音分析;④从目标信号中减去自适应码书的贡献,新的目标信号用于固定码书搜索寻找最佳激励;⑤最后,用确定的激励信号修改滤波器。

所述编解码算法进程提供有G.729编码算法,所述G.729编码算法在解码时,先从接收码流中提取参数编号,解码这些编号得到10ms语音帧对应的编码参数,这些参数是LSP参数、两个分数基音时延、两个固定码矢量与两组自适应和固定码字增益,每子帧LSP参数被内插并转换为LPC滤波系数,然后每5ms子帧按下面步骤进行处理:①自适应码字和固定码字分别乘以各自的增益并相加构成激励;②激励LPC综合滤波器重构语音;③重构语音信号经过后置处理,包括长时后置滤波、短时综合滤波和高通滤波。

所述编解码算法进程提供有2.4kbps编码算法,数字化后的语音信号通过一个四阶切比雪夫高通滤波器,滤除直流工频干扰;然后采用多带混合激励进行清浊音判决,以准确提取基音信号;线性预测主要包括输入语音的分析和残差信号的分析;当浊音段信号的周期性不是很好时,通过非周期标志在译码端采用与之相适应的激励源激励不稳定的声带脉冲;按照感知加权失真度最小原则,采用四级码本的快速搜索矢量量化算法量化相关参数;经过纠错编码的比特流打包后发送。

所述编解码算法进程提供有1.2kbps编码算法,和2.4kbps编码算法相比,在于线性预测仅去除了帧内的相关性,降低了码率。

所述编解码算法进程提供有0.6kbps编码算法,其中编码分为参数提取和参数量化,编码器的参数提取分为基音提取、带通清浊音分析、线谱频率参数提取、增益估计四部分;解码时是首先对接收到的比特流进行解包,按照参数次序排列好,并区分开各个参数的编码比特流,然后将各个参数的编码比特流送至参数解码模块,采用反量化手段对各个参数进行解码,得到整个超级帧的线谱频率、带通清浊音判决、基音周期以及增益共四种参数;最后利用基音周期、残差谐波幅度和带通清浊音判决形成激励信号,再利用线谱频率对生成的激励信号进行谱增强处理,以及利用线谱频率和增益对输入的激励信号进行语音合成处理后得到两帧的合成语音信号并输出。

所述软件无线电多制式语音编解码器适应新一代软件无线电通信电台波形体制灵活切换对语音的需求,实现电台语音的灵活切换,替代传统定制化电台依靠单一芯片只能实现单一通话的通信模式。本编解码器采用微系统集成技术,将多个语音编码算法集成在一款芯片内,包含CVSD、G.729、MELP多种语音编解码方式,适应新一代软件无线电通信电台波形体制灵活切换对语音的需求,能实现电台语音的灵活切换。解决各作战通信系统之间不能互联互通的问题,提高作战效能。在海、陆、空各个通信系统中发挥重要的作用。

附图说明

图1是所述软件无线电多制式语音编解码器的多进程设计示意图;

图2是本发明的用户空间和内核空间的关系示意图;

图3是本发明的编码流程处理示意图;

图4是CVSD语音编解码算法中增量调制波形和对应数字编码图;

图5是CVSD的编码工作示意图;

图6是CVSD的译码工作示意图;

图7是G.729语音编解码算法进行编码的示意图;

图8是G.729语音编解码算法进行解码的示意图;

图9是2.4kbps语音编解码算法进行编码的示意图;

图10是2.4kbps语音编解码算法进行解码的示意图;

图11是1.2kbps语音编解码算法进行编码的示意图;

图12是1.2kbps语音编解码算法进行解码的示意图;

图13是0.6kbps语音编解码算法进行编码的示意图;

图14是0.6kbps语音编解码算法进行解码的示意图。

具体实施方式

一、本发明的软硬件平台介绍

本发明将多制式语音编解码的软件加载至嵌入式系统平台上,使得芯片具有CVSD、G.729、MELP等多种语音编解码方式,并且具有优质的语音质量,满足各种速率、各种编解码模式的要求,芯片具备全双工语音编解码能力。所述多制式语音编码解码速率可以在600bps~32000bps之间变化。即使在600bps的时候,仍能保持自然的声音质量和语音可懂度。

所述软件无线电多制式语音编解码器包含硬件与软件两部分,硬件采用嵌入式系统,主要为软件提供平台,软件包含设备驱动程序和应用程序。软件将多个语音编解码算法进行结合,能够根据客户需求进行灵活的切换以满足客户需求。

所述软件无线电多制式语音编解码器包含编码模块与解码模块,工作方式分为编码与解码,可以只编码、只解码或者编解码。

编码:首先将麦克风采集的音频数据经模数(A/D)转换后,传输给编码模块;然后根据制式选择对应的编码算法进行编码处理,最后将对应的编码码流通过网口输出到其他设备;

解码:首先将网口的码流数据,传输给解码模块;然后根据制式选择对应的解码算法进行解码处理,最后将解码数据经数模(D/A)转换后输出到扬声器。

如图1所示,所述软件无线电多制式语音编解码器采用多进程设计,其功能拆分为:主进程、音频进程、编解码算法进程(编码算法进程、解码算法进程),这些进程的关系如下所述:

(1)主进程:为用户提供通信端口,完成数据解析,协调音频进程和编码算法进程、解码算法进程之间的工作;

(2)音频进程:提供音量调节,MIC和线性输入通道切换、输入增益控制,以及录音接口和放音接口的处理;

(3)编解码算法进程:提供有算法1~算法n,为编码算法进程、解码算法进程提供算法支持,以及提供进程参数配置和获取音频进程的接口处理。

所述图1的多进程设计,是本发明在软件方面和硬件方面共同实现的,如图2所示,所述软件方面可以看成用户空间,其最顶层是应用进程,所述应用进程依托于模块化应用程序实现,所述模块化应用程序利用库语言做出,所述硬件方面可以看成是内核空间,其通过设备驱动层实现。

所述应用进程包括图1中的主进程、音频进程、编码算法进程、解码算法进程;所述模块化应用程序包括语音算法、状态管理、命令交互、数据交互、协议处理、日志管理、CORBA服务、环形缓冲区;所述库语言包括系统C语言库以及其他第三方库;所述设备驱动层包括SPI驱动、UART驱动、网络驱动、GPIO驱动、音频驱动和Flash驱动等硬件驱动程序。

以下是部分主要内容的功能描述:

(1)主进程

负责整个软件的调度,决策当前软件工作的流程和使用的参数。

(2)音频进程

依赖alsa-lib库为系统提供录音、放音、音频参数设置服务。和其他进程之间采用socket通信方式。

(3)编解码进程

依赖编解码算法,提供各种制式的编解码算法服务。和其他进程之间采用socket方式通信。

(4)语音算法

实现CVSD、G729、MELP等语音编解码算法接口、配置接口,各种制式相互独立设计为独立的进程。

(5)状态管理

实现系统工作的状态机,同时在GPIO上输出各个状态。GPIO上做异常状态指示。

(6)数据交互

采用TCP连接管理,作为通信层中间件接口,为上层应用屏蔽具体的通信硬件端口,实现数据收发、通信超时等。服务端为并发设计,提供多个客户端接入。

(7)协议处理

实现CORBA协议层、实现自定义TCP协议封装解析。

(8)命令交互

在程序内部实现人机交互,用于测试阶段排查问题,该模块属于独立模块可以操作任何一个其他模块。

(9)日志管理

日志写入、读出,每条日志增加时间戳,根据参数决定是立即输出打印、只写入日志文件、打印+写入文件。

二、本发明对于编解码的处理步骤描述

如图3所示,基于上述软硬件提供的平台,本发明的编码处理,包括如下流程:

S1:主进程设置输入配置参数,形成工作参数;

S2:可调增益放大器接收采集的音频数据,进行放大处理后,发送给ADC模块;

S3:ADC模块将音频数据经模数(A/D)转换后,通过环形缓冲区传输给编码模块;

S4:编码模块根据制式选择对应的算法决策进行编码处理;算法的选择过程是通过数据帧实现的,制式选择时,目前接收和发送通过发送数据帧来选择算法类型,发送端发送的数据帧中包含算法类型的信息,接收端根据信息决定。

S5:编码模块最后将对应的编码码流通过网口输出到其他设备。

对应的,本发明的解码处理,在于将上述编码处理进行逆向处理。

三、本发明中的各种算法描述

所述编解码算法进程主要实现语音的编解码功能,具有CVSD(16k/32K)、G.729(8K)、MELP(2.4K/1.2K/0.6K)等多种语音编解码方式,具有优质的语音质量,能够满足各种速率、各种编解码模式、全双工通话系统的要求。

其包括CVSD语音编解码算法、G.729语音编解码算法、2.4kbps语音算法、1.2kbps语音算法、0.6kbps语音算法,各种算法如下所述:

1、CVSD语音编解码算法

在众多的语音编译码调制中,连续可变斜率增量调制(CVSD)作为许多增量调制中的一种属于差分波形量化技术,只需编一位码,在发送端与接收端之间不需要码型同步,量阶△的大小能自动地跟踪信号变化,因而具有强抗误码能力。

目前市场上有CVSD的专用编码器,但专用编码器的通用性、灵活性和可扩展性受到了很大的限制,并且产品的开发周期长,开发成本也较高。专用CVSD编码器只能实现一路编译码,在需要多路CVSD编译码时则需要很多专用编码器,具有局限性,本发明开发的这款多制式语音编解码编码器正好可以规避其缺点。

CVSD是一种量阶δ随着输入语音信号平均斜率大小而连续变化的增量调制方式,如图4所示。它的工作原理是:用多个连续可变斜率的线段来逼近语音信号,当线段斜率为正时,对应的数字编码为1;当线段斜率为负时,对应的数字编码为0。

当CVSD工作于编码方式时,其流程如图5所示。CVSD通过不断改变量阶δ大小来跟踪信号的变化以减小颗粒噪声与斜率过载失真,量阶调整δ是基于过去的3个或4个样值输出。

1)当f(n)>g(n)时,比较器输出e(n)>0,则数字编码y(n)=1,积分器输出

g(n)=g(n-1)+δ

2)当f(n)=

g(n)=g(n-1)-δ

当CVSD工作于译码方式时,其流程如图6所示,译码是对接收到的数字编码y(n)进行判断,每收到一个“1”码就使积分器输出上升一个值,每收到一个“0”码就使积分器输出下降一个值,连续收到“1”码(或“0”码)就使输出一直上升(或下降),这样就可以近似地恢复输入信号。

1)当y(n)=1时,积分器输出g(n)=g(n-1)+δ。

2)当y(n)=0时,积分器输出g(n)=g(n-1)-δ。

2、G.729语音编解码算法

ITU-T在1996年3月公布了G.729建议的8kbps用共扼结构代数码激励线性预测(Conjugate-Structure Algebraic Code Excited Linear Prediction,简称CS-ACELP)语音编码方案。这个方案的特点是分析窗采用混窗;LSP(LinearSpectral Pair)参数采用二级矢量量化;以子帧为单位的码本搜索分为自适应码本搜索和代数码本搜索;基音分析采用开环基音分析和自适应码本搜索相结合,降低了运算量,减少了基音的量化比特数,并提高了基音预测的准确度,代数码本算法简单,不需要存储码本,恢复音质清晰。

G.729算法的编码工作流程如图7所示,输入信号先经过高通滤波预处理,每10ms帧作一次LP分析,计算LP滤波器系数,并将这些系数转换为线谱对(LSP)。激励信号用A-B-S方法搜索,以原始语音与合成语音的误差感觉加权最小为测度进行搜索,而感觉加权滤波器用未量化的LP系数构造而成。

每个子帧(5ms,40个样点)确定一次激励参数(固定码书和自适应码书参数)。量化的和未量化的LP滤波系数用于第2子帧,而在第1子帧使用内插(Interpolated)的LP系数。根据感觉加权语音信号每10ms帧估计一次开环基音时延。下面的操作每个子帧都重复进行:①目标信号是由通过加权合成滤波器滤过的LP残差计算得到的。②计算加权合成滤波器的脉冲响应。③用目标信号和脉冲响应搜索开环基音时延附近的值作闭环基音分析(即寻找自适应码书时延和增益)。④从目标信号中减去自适应码书的贡献,新的目标信号用于固定码书搜索寻找最佳激励。⑤最后,用确定的激励信号修改滤波器。

G.729算法的解码工作流程如图8所示:先从接收码流中提取参数编号,解码这些编号得到10ms语音帧对应的编码参数。这些参数是LSP参数、两个分数基音时延、两个固定码矢量与两组自适应和固定码字增益。每子帧LSP参数被内插并转换为LPC滤波系数,然后每5ms子帧按下面步骤进行处理:①自适应码字和固定码字分别乘以各自的增益并相加构成激励;②激励LPC综合滤波器重构语音;③重构语音信号经过后置处理,包括长时后置滤波、短时综合滤波和高通滤波。

3、2.4kbps语音算法

MELP算法的编码如图9所示,整个算法可以分为参数提取和参数量化两个部分。MELP编码器的参数提取分为基音提取、带通清浊音分析、线谱对(LSF)参数提取、增益估计和傅立叶谱幅度提取等几个部分,这些部分是相互关联的,某一个部分在计算中可能要用到另外一些部分的结果。MELP编码器的参数量化部分比较有特色的是使用了多级矢量量化,这种量化的性能优良,有效的降低了LSF参数量化的比特数,并具有比较低的运算复杂度。

MELP的编码大致过程为:数字化后的语音信号通过一个四阶切比雪夫(Chebyshev)高通滤波器,滤除直流工频干扰;然后采用多带混合激励进行清浊音判决,以准确提取基音信号;线性预测主要包括输入语音的分析和残差信号的分析;当浊音段信号的周期性不是很好时,通过非周期标志在译码端采用与之相适应的激励源激励不稳定的声带脉冲;按照感知加权失真度最小原则,采用四级码本的快速搜索矢量量化算法量化相关参数;经过纠错编码的比特流打包后发送。

MELP算法的解码如图10所示。MELP采用了一种更符合人的发音机制的语音生成模型来合成语音,并利用自适应谱增强技术以及脉冲散布滤波技术对合成语音进行后处理,提高合成语音与分析语音的匹配度,从而得到比较高的重构语音质量。

解码器首先对接收到的码流比特进行解包,按照参数次序排列好;然后进行解码,整个解码过程包括数据解包、生成混合激励信号,再对混合激励信号采用一系列方法进行处理以提高合成语音质量;最后得到合成语音。

4、1.2kbps语音算法

如图11和图12所示,1.2kbps语音编码算法是在2.4kbps MELP的基础上进行的。线性预测仅去除了帧内的相关性,降低了码率,但帧间仍有很强的相关性,为了进一步降低码率,采用多帧联合编码技术,即采用三个连续帧形成一个超帧进行编码,超帧中的每个帧称之为子帧。子帧的帧长为22.5ms(或180样点),每超帧为67.5ms,根据三个子帧的清/浊(U/V)属性不同,将超帧分成不同的状态,每种状态采用不同的比特分配方案。超帧中的每个子帧的参数的计算方法同2.4kbps算法,为了提高质量,1.2kbps算法在参数估计时,增加了基音平滑和带通浊音强度的平滑两个算法模块。

5、0.6kbps语音算法

关于600bps语音编码的参数提取方法,因为该算法是在MELP的基础上做的改进,故提取方式一致,只是为了降低语音编码速率,仅保留了对语音可懂度比较重要的四个参数:线谱频率、清浊音判决、基音周期和增益。将三个连续帧形成一个超帧进行编码,超帧中的每个帧称之为子帧。子帧的帧长为25ms(或200样点),每超帧为75ms,使用45bit进行量化。接下来是对以上四个参数的编码,具体的编码过程如下。

0.6kbps语音算法的编码如图13所示。整个算法可以分为参数提取和参数量化两个部分。编码器的参数提取分为基音提取、带通清浊音分析、线谱频率(LSF)参数提取、增益估计四个部分。

编码过程为:数字化后的语音信号通过一个四阶切比雪夫(Chebyshev)高通滤波器,滤除直流工频干扰;接着将经过预处理的语音信号分别送至线性预测分析、带通浊音强度分析、基音检测和增益分析四个模块。

经过这四个模块后,就可以得到超级帧的参数矢量,选择合适的量化方式进行量化编码。最后将得到的45比特的语音编码数据帧输出到编码信道。解码器采用了一种更符合人的发音机制的语音生成模型来合成语音,并利用自适应谱增强技术以及脉冲散布滤波技术对合成语音进行后处理,提高合成语音与分析语音的匹配度,从而得到比较高的重构语音质量。

解码如图14所示,解码端收到从信道传过来的比特流之后,首先对接收到的比特流进行解包,按照参数次序排列好,并区分开各个参数的编码比特流。接着,将各个参数的编码比特流送至参数解码模块,采用合适的反量化手段,对各个参数进行解码,得到整个超级帧的线谱频率、带通清浊音判决、基音周期以及增益共四种参数。然后,利用基音周期、残差谐波幅度和带通清浊音判决形成激励信号,再利用线谱频率对生成的激励信号进行谱增强处理。最后,利用线谱频率和增益对输入的激励信号进行语音合成处理后得到两帧的合成语音信号并输出。

本发明具有以下特点:1、语音编码解码速率可以在600bps~32000bps之间变化。2、多种语言算法在基于标准的基础上进行了优化。3、使用数字化的方式将多种语音编解码方式在嵌入式系统中实现,并能自由切换。

本发明提供的软件无线电多制式语音编解码器具有以下物理特性:

(1)外形尺寸:35X35X5(宽X深X高mm)(+0.01mm),工业级不大于50g。

(2)环境温度要求:

工作温度:-40℃~+85℃。

贮存温度:-55℃~+125℃。

(3)工作电压以及频率:

工作电压3.3V,工作频率600MHz。

(4)应用环境要求:内、外场环境适用。

本发明利用的微系统SIP封装技术:该技术将体积较小的元器件进行二次封装使得产品的体积较小,这种微系统SIP封装技术需要较高的工艺要求和技术水平。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号