首页 > 乐器声学 专利正文
一种用于分布式多说话人的参数化噪声消除系统的制作方法

时间:2022-02-18 阅读: 作者:专利查询

一种用于分布式多说话人的参数化噪声消除系统的制作方法

1.本发明涉及噪声消除技术领域,尤其涉及一种用于分布式多说话人的参数化噪声消除系统。


背景技术:

2.随着无线传感器技术的飞速发展,无线声传感器网络(wasn)的应用越来越广泛。wasn一般由多个独立的节点组成,这些节点之间通过无线链路连接,其中每个节点配有一个麦克风或者一个麦克风阵列来收集环境中被各种噪声干扰的语音信号,且每个节点均有自己的计算中心。为了避免噪声给输出语音带来不利影响,wasn会利用每个节点收集的带噪语音信号进行噪声消除。相比于传统的单麦克风和麦克风阵列,wasn因为有多个节点,所以其优势在于说话人与麦克风相距很近的概率会很大,这将使麦克风收集到的语音信号信噪比(snr)更高,从而会更加有效地提高噪声消除性能。
3.应用于wasn的噪声消除技术分为集中式消噪和分布式消噪两种。其中集中式消噪需要将wasn中每一个节点接收到的语音信号发送给数据融合中心,所有的计算均会在数据融合中心内进行。恰恰相反,在分布式消噪中,wasn没有数据融合中心,而是将计算任务分配给了每一个节点。这样不仅可以避免给数据融合中心带来较大的能量消耗和较高的计算量,也可以避免由于数据融合中心与网络断开连接而导致的全网瘫痪。分布式消噪技术通常是将节点作为数据接收器,然后基于节点本身接收到的数据以及从其邻居节点获取到的数据对感兴趣的参数向量或者是信号进行估计完成的。
4.在现有技术中研究了一种分布式延迟求和波束形成语音噪声消除技术。该技术对通用分布式同步平均(improved general distributed synchronous averaging)方法进行了改进,其在wasn任意拓扑连接的情景下通过每个节点交换数据,可以使每个节点的输出与含有数据处理中心的效果相同。该技术虽然改进了已有的分布式算法,并且可以使分布式波束形成的最终输出结果与含有数据融合中心实现的效果相同,但是该技术假设某些实验环境已知且对噪声类型也进行了指定,同时输出效果的性能也较差。
5.在现有技术中也研究了拓扑独立的分布式自适应节点特定信号估计算法,该算法为了减少数据交换的数量,对每个节点接收到的信号进行线性压缩,并且最终也会收敛到集中式的效果。同时,该算法通过利用网络内部求和方法,同样适用于没有任何约束的拓扑结构。该技术虽然实现了拓扑独立的分布式信号估计算法,但是该技术的本质是多通道维纳滤波算法,对语音噪声消除后的噪声残留依然很严重,消噪性能体现不足。
6.另外现有技术中考虑了分布式信号估计中数据交换带来的通信负载,旨在通过优化每个交换信号的比特数,使噪声消除性能和通信带宽需求之间达到一定的平衡。虽然该技术方案在完成噪声消除的同时,对节点之间交换的数据大小进行了优化,但是噪声消除后依然存在很多的噪声残留。
7.对于没有数据融合中心的wasn,在消除一定噪声的同时,还需要减少节点之间交换数据的数量。然而现存的分布式语音噪声消除技术,有一些是偏重于减少节点之间交换
数据的数量,噪声消除的性能并不是很高,还有一些虽然提高了噪声消除的能力,但是对wasn造成了很大的通信负担。基于此,在独立于wasn拓扑约束的情况下,为了让每个节点交换的数据压缩至最少的同时,还要完成良好的噪声消除效果。于是,本发明基于参数化维纳滤波和拓扑独立的分布式自适应节点特定信号估计,给出了一种松弛同步参数化拓扑独立的分布式自适应节点特定信号估计技术方案,它是一种可以用于分布式多说话人的参数化噪声消除系统。


技术实现要素:

8.根据现有技术存在的问题,本发明公开了一种用于分布式多说话人的参数化噪声消除系统,包括离散傅里叶变换模块,将无线声传感器网络中的j个节点的信号分别进行分帧加窗处理,对每一帧信号进行离散傅里叶变换获得离散频谱信号,将离散频谱信号定义为节点本地信号;
9.数据压缩模块,接收离散傅里叶变换模块传送的离散频谱信号,利用压缩矩阵对离散频谱信号进行压缩处理得到压缩后数据;
10.树形拓扑修剪模块,对无线声传感器网络中的节点形成的拓扑进行修剪形成树形拓扑;
11.数据驱动信号流模块,对树形拓扑沿着朝向根节点的方向、求解所有节点压缩后数据之和,将该数据沿着远离根节点方向广播给每一个节点,每一个节点对来自其余j

1个节点的压缩数据之和进行更新;
12.本地节点信号构建模块,接收数据驱动信号流模块传送的j

1个节点的压缩数据之和、结合节点本地信号对每一个节点进行信号构建获得构建后信号;
13.语音活动检测模块,接收离散傅里叶变换模块传送的离散频谱信号,对离散频谱信号进行语音活动检测、判断每一帧信号有无语音;
14.协方差矩阵估计模块,接收所述语音活动检测模块传送的检测结果,根据有无语音帧信号的离散频谱信息分别计算噪声协方差矩阵和语音协方差矩阵;
15.节点特定估计器更新模块,接收协方差矩阵估计模块传送的噪声协方差矩阵和语音协方差矩阵,对每一个节点的节点特定估计算法进行更新;
16.节点特定压缩器更新模块,接收节点特定估计器更新模块传送的节点特定估计算法,更新节点特定压缩器;
17.节点特定多说话人噪声消除模块,接收节点特定估计器更新模块传送的更新后的节点特定估计算法、再结合本地节点信号构建模块传送的构建后信号、对每一个节点进行节点特定噪声消除输出噪声消除后的离散频谱信号;
18.离散傅里叶反变换模块,接收节点特定多说话人噪声消除模块传送的噪声消除后的离散频谱信号、对该噪声消除后的离散频谱信号进行离散傅里叶反变换得到当前帧的时域输出语音信号,并将时域输出语音信号进行重叠相加得到最终的输出信号。
19.进一步的,所述节点特定估计算法采用如下方式进行更新:
20.[0021][0022][0023]
其中β是一个大于0的调节因子,其越大,噪声消除能力越大,带来的语音失真相对也会变大,是e
j
×
q维的矩阵,是q
×
q维的矩阵,是
[0024]
一个(e
j
+q)
×
q维的选择矩阵,被定义如下:
[0025][0026]
其中,e
jj
是e
j
×
q维的矩阵,它的每一列只有一个元素为1,而且为1的元素的行索引不相同,其余元素均为0,b
j
是q
×
q维的全零矩阵。
[0027]
由于采用了上述技术方案,本发明提供的一种用于分布式多说话人的参数化噪声消除系统,该系统将参数多通道维纳滤波与拓扑独立的分布式自适应节点特定信号估计进行融合,使得节点之间交换数据的数量不仅减少,而且还可以消除大量的噪声。将用于阵列的参数多通道维纳滤波算法融入到拓扑独立的分布式自适应节点特定信号估计中,提出一种可以用于分布式多说话人的参数化噪声消除系统,它是一种可以应用在任意拓扑网络连接下的分布式多说话人噪声消除技术,并且每个节点同时对估计器和压缩器进行更新,并行计算的同时保证了算法的快速收敛。本方法可以在保证节点之间交换数据的数量足够小的前提下,通过调节参数来控制噪声消除与语音失真的大小,具有一定的鲁棒性。
附图说明
[0028]
为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0029]
图1为本发明系统的结构示意图;
[0030]
图2为本发明中无线声传感器网络示意图;
[0031]
图3为本发明实施例中每种方法语音噪声消除后的snr值和sdr值;
[0032]
图4为本发明实施例中每种方法语音噪声消除后的snr值和sdr值;
[0033]
图5为本发明实施例中每种方法语音噪声消除后的snr值和sdr值。
具体实施方式
[0034]
为使本发明的技术方案和优点更加清楚,下面结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚完整的描述:
[0035]
如图1所示的一种用于分布式多说话人的参数化噪声消除系统,包括离散傅里叶变换模块、数据压缩模块、树形拓扑修剪模块、数据驱动信号流模块、本地节点信号构建模块、语音活动检测模块、协方差矩阵估计模块、节点特定估计器更新模块、节点特定压缩器更新模块、节点特定多说话人噪声消除模块、离散傅里叶反变换模块。
[0036]
其中离散傅里叶变换模块的作用是将无线声传感器网络中的j个节点的信号分别
进行分帧加窗处理,对每一帧信号进行离散傅里叶变换获得离散频谱信号,将离散频谱信号定义为节点本地信号。
[0037]
作为优选的方式,离散傅里叶变换模块的工作原理是:在wasn中,一共有j个节点,且每一个节点j有e
j
个麦克风。首先对每个节点j的各路信号y
j,e
(n)(i.e.,第j个节点的第e路信号)分别进行分帧加窗处理,然后对每一帧信号进行dft。本系统在验证时语音信号的采样频率fs是16khz,用的是汉宁窗,帧移为50%,每帧数据长度为m=320点。其中汉宁窗的表达式如下:
[0038]
ω(m)=0.5

0.5cos(2πm/m), m=0,1,...,m
‑1ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1)
[0039]
根据汉宁窗表达式可以得到加窗后的信号为:
[0040]
y'
j,e
(m)=y
j,e
(n)ω(m)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(2)
[0041]
然后对各路信号加窗后的每一帧信号进行dft,变换后可得离散频谱为:
[0042][0043]
其中,k表示频点索引,l表示帧索引。
[0044]
将每个节点的各路信号y
j,e
(k,l)进行堆叠,堆叠后的向量形式表示如下:
[0045][0046]
其中为了方便,将索引k和l省略。另外,y
j
=x
j
+v
j
,其中x
j
是语音部分,v
j
是噪声部分。
[0047]
进一步的,数据压缩模块的作用是接收离散傅里叶变换模块传送的离散频谱信号,利用压缩矩阵对其进行压缩处理得到压缩后数据。
[0048]
作为优选的方式,数据压缩模块的工作原理是利用q维(q是说话人的个数)的压缩矩阵p
ji
对离散傅里叶变换模块输出的数据y
j
进行压缩:
[0049][0050]
其中(
·
)
h
表示向量或矩阵的共轭转置。另外,压缩矩阵需要进行初始化设置,本系统在验证时将该压缩矩阵元素初始化为在单位区间服从均匀分布的随机数。这里需要着重说明的是,所有出现的角标i是迭代索引,第i次迭代的数据也可以认为是第i帧的数据,本系统在验证时将迭代索引初次设为1,即从第1帧数据开始。
[0051]
树形拓扑修剪模块的作用是:对无线传感器网络中的节点形成的拓扑进行修剪形成树形拓扑。
[0052]
作为优选的方式:对节点形成的拓扑进行修剪,首先,我们指定两个节点的坐标分别为(x1,y1)和(x2,y2),然后两个节点的欧式距离d可以表示如下:
[0053][0054]
按照上述操作,每两个点之间的欧式距离均可得到。接下来需要在网络中任意挑选一个节点放入节点集合s(该集合初始时为空集)中。紧接着选取与集合s中的点相连且未被选取过的点,将这些点中与集合中点的欧式距离最小的点放入集合s中,并重复这一步骤直到所有点都被选取。
[0055]
数据驱动信号流模块的作用是在树形拓扑修剪模块形成树形拓扑后,沿着朝向根
节点的方向,所有节点压缩后数据之和被求出,将该数据沿着远离根节点方向广播给每一个节点,每一个节点然后对来自其余j

1个节点的压缩数据之和进行更新。
[0056]
作为优选的方式,由于形成树形拓扑时可以在每一次迭代重新生成,所以在节点的表示上也加上了迭代索引i。对形成的树形拓扑中进行数据驱动信号流时分为以下几个步骤:
[0057]
第一步、需要先指定任意一个节点为根节点r
i
,;
[0058]
第二步、将任意一个只有一个邻居节点的非根节点o
i
的压缩后数据z
i
(数据压缩模块的输出)发送给它的邻居节点(朝向根节点的方向),然后拥有不止一个邻居节点的非根节点p
i
将所有邻居节点(不包括指向根节点的某一个邻居节点f
i
)发送来的压缩数据进行求和并发送给邻居节点f
i
,发送的求和数据表示如下:
[0059][0060]
其中,n
ji
指的是第i次迭代节点j的邻居集合;
[0061]
第三步、重复第二步,直到数据达到根节点;
[0062]
第四步、根节点将自身节点的压缩数据和邻居节点发送的数据进行求和:
[0063][0064]
其中η
i
是所有节点压缩数据之和;
[0065]
第五步、根节点将η
i
沿着远离根节点的方向广播给每一个节点;
[0066]
第六步、每一个节点j更新来自其余j

1个节点的压缩数据之和:
[0067][0068]
本地节点信号构建模块的作用是利用数据驱动信号流模块传送的j

1个节点的压缩数据之和、结合节点本地信号对每一个节点进行信号构建获得构建后信号。
[0069]
作为优选的方式:在每个节点上进行本地节点信号构建,获得构建后信号如下:
[0070][0071]
其中该信号是(e
j
+q)维的列向量。同时,该信号也可以表示为:
[0072][0073]
语音活动检测模块的作用是接收离散傅里叶变换模块传送的离散频谱信号,对离散频谱信号进行语音活动检测,判断每一帧信号有无语音。
[0074]
作为优选的方式:语音活动检测模块进行语音活动检测时:同样利用语音第一秒大部分是无语音段的特点,并结合分帧加窗的处理过程,语音信号最初始的无语音帧的数量为nis帧,其中nis=fs/(50%
×
m)

1=99。那么,利用这nis帧估计的噪声平均频谱为:
[0075][0076]
式(12)表示每一帧信号的对应频点先求和再取平均。进一步,噪声帧的对数频谱
估计有如下表示:
[0077][0078]
其中|
·
|是取模运算。然后,计算每帧信号的对数频谱:
[0079][0080]
由公式(13)和公式(14)可以得出每帧信号与噪声信号的对数频谱距离,对数频谱距离公式如下:
[0081][0082]
综上,可以得出语音活动检测的判断方法:首先,设置一个无语音段计数器,该计数器初始值可以设置为100,同时设置一个对数谱距离阈值为3。然后计算每一帧信号与噪声帧的对数谱距离d
spec
,判断d
spec
是否小于该对数谱距离阈值,如果是,则该帧是无语音帧,无语音段计数器加1,如果不是,则该帧是有语音帧,且无语音段计数器不论是多少,必须归零。最后还需要注意的是如果无语音段计数器在归零之前的值小于最小无语音长度,则认为无语音段计数器上一次归零后到这一次归零前是无语段的帧均为有语音帧。这里令最小无语音长度为10。
[0083]
本系统在验证时为了减少语音的失真,当每一路信号的语音活动检测结果都是噪声帧时,才会认为是噪声帧,否则,均会认为是语音帧。
[0084]
协方差矩阵估计模块的作用是接收所述语音活动检测模块传送的检测结果,根据有无语音帧信号的离散频谱信息分别计算噪声协方差矩阵和语音协方差矩阵。
[0085]
作为优选的方式,在每一个节点j上对噪声协方差矩阵和语音协方差矩阵进行估计,且噪声协方差矩阵仅在无语音帧进行更新,其余帧则对语音协方差矩阵进行更新。每个节点当前第l帧的噪声协方差矩阵更新公式如下:
[0086][0087]
其中,α=0.997,l

1表示第j个节点上一帧的噪声协方差矩阵估计值。噪声协方差矩阵对应到每个频点都会有一个估计值,且如果当前帧是噪声帧,该值就会被上式更新。当非噪声帧出现时,则对带噪语音协方差矩阵更新如下:
[0088][0089]
由公式(16)和公式(17)可以得到语音协方差矩阵:
[0090][0091]
节点特定估计器更新模块的作用是接收协方差矩阵估计模块传送的噪声协方差矩阵和语音协方差矩阵,对每一个节点的节点特定估计算法进行更新。
[0092]
作为优选的方式:对每一个节点的节点特定估计算法进行更新,该估计算法的表达式为:
[0093][0094][0095][0096]
其中β是一个大于0的调节因子,其越大,噪声消除能力越大,带来的语音失真相对也会变大,是e
j
×
q维的矩阵,是q
×
q维的矩阵,是一个(e
j
+q)
×
q维的选择矩阵,被定义如下:
[0097][0098]
其中,e
jj
是e
j
×
q维的矩阵,它的每一列只有一个元素为1,而且为1的元素的行索引不相同,其余元素均为0,b
j
是q
×
q维的全零矩阵。上述提到的节点特定是由该选择矩阵决定的,即每一个节点的选择矩阵可以不一致,所以称之为节点特定。
[0099]
节点特定压缩器更新模块的作用是接收节点特定估计器更新模块传送的节点特定估计算法,更新节点特定压缩器。
[0100]
作为优选的方式,利用节点特定估计算法对节点特定压缩器进行更新:
[0101][0102]
其中压缩器是一个e
j
×
q维的矩阵。
[0103]
节点特定多说话人噪声消除模块的作用是接收节点特定估计器更新模块传送的更新后的节点特定估计算法、再结合本地节点信号构建模块传送的构建后信号、对每一个节点进行节点特定噪声消除输出噪声消除后的离散频谱信号。
[0104]
作为优选的方式:直接对每一个节点进行节点特定噪声消除,得到噪声消除后的离散频谱信号为:
[0105][0106]
离散傅里叶反变换模块的作用是接收节点特定多说话人噪声消除模块传送的噪声消除后的离散频谱信号、对该噪声消除后的离散频谱信号进行离散傅里叶反变换得到当前帧的时域输出语音信号,并将时域输出语音信号进行重叠相加得到最终的输出信号。作为优选的方式:对每一路信号分别进行idft得到时域当前帧输出的消噪语音信号。idft公式如下:
[0107][0108]
其中i与l表示的是同一个含义,即第i次迭代等同于第l帧,所以下面当它俩同时出现时,将迭代索引i省去。
[0109]
因为本系统离散傅里叶变换模块对各路信号进行了分帧加窗处理,且帧移是50%,所以从得到第一帧输出语音信号时,就要与第二帧输出语音信号进行重叠相加运算,
重叠部分占50%,具体公式如下:
[0110][0111]
其中[
·
]是取整运算,[a]表示不超过数a的最大整数。
[0112]
本发明公开的一种用于分布式多说话人的参数化噪声消除系统,为验证本发明方法的有效性,本系统通过imgae模型模拟了一个10
×
10
×
3的封闭式房间,混响时间为300ms。在房间中随机分布15个节点,每个节点是包含有5个麦克风的线性阵列(间距为8cm),3个说话人随机分布在不同的位置,节点与声源的高度均设置为1米。仿真模拟的二维wasn如图2所示,实线代表对原有拓扑(虚线表示)进行修剪后得到的树形拓扑。噪声选取白噪声、车内噪声以及babble噪声分别与语音信号结合。
[0113]
语音是从timit数据库[https://download.csdn.net/download/sdhyfxh/4086482]中随机选取的3个纯净语音信号,采样频率是16khz,将生成的带噪语音信号统一为7秒,信噪比设定为0db。
[0114]
此时,采用本系统所提出的rspti

danse(其中β=5),对每个节点接收的信号进行降噪,同时采用文献[2]中的方法对该实验也进行了语音噪声消除。实验结果表明,两种方法在独立于wasn拓扑约束的情况下,且每个节点交换的数据压缩维数相同,都完成了良好的噪声消除效果。图3、图4和图5给出了三种背景噪声下不同方法的性能比较。其中图3表示的是白噪声下,语音消除后信噪比(snr)和信号失真比(sdr)的性能比较,图4表示的是车内噪声下,语音消除后snr和sdr的性能比较,图5表示的是babble噪声下,语音消除后snr和sdr的性能比较。可以看出不论是在哪种背景噪声下,本系统所提方法在snr和sdr性能方面更稳定且snr更高。
[0115]
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,根据本发明的技术方案及其发明构思加以等同替换或改变,都应涵盖在本发明的保护范围之内。