一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种麦克风阵列的信号输出方法、装置、设备及存储介质与流程

2021-10-09 13:10:00 来源:中国专利 TAG:声源 阵列 麦克风 信号处理 装置


1.本发明涉及声源信号处理技术领域,特别是涉及一种麦克风阵列的信号输出方法、装置、设备及存储介质。


背景技术:

2.传统麦克风阵列信号处理方法分为声源定位和波束形成两个过程。其中,声源定位的作用是利用麦克风阵列原始输入信号计算得出声源的入射方向;波束形成的作用是根据麦克风阵列的原始输入信号以及声源定位所得出的入射方向,调整波束形成器的参数,使波束形成器指向声源方向,保证声源方向信号通过的同时,对其他方向的信号进行抑制,从而提升输出信号的信噪比。
3.但是,在现有的声源定位算法中,仅仅是定位功率最强的声源方向,而后采用波束形成器来对这个方向进行监听输出。采用这种方式,当场景中同时存在多个声源时,便会遇到信号干扰问题。例如,当麦克风阵列0度方向有人在说话,而90度方向有洗衣机不停在响时,即使人说话的音量高于洗衣机工作的音量,由于人说话字与字、句与句之间存在停顿,导致停顿期间声源就会被定位到洗衣机方向,从而给输出语音带来很大干扰。
4.为了解决上述技术问题,现有的麦克风阵列的信号输出技术采取的做法为:直接跳过声源定位的步骤,为每一个方向都设置一个对应的波束形成器来对该方向进行监听,每个方向输出一路信号。采用这种方式,需要对每一路输出信号都进行计算,需要消耗巨额的算力。


技术实现要素:

5.本发明实施例所要解决的技术问题是:提供一种麦克风阵列的信号输出方法、装置、设备及存储介质,灵活地对多个方向的声源信号进行追踪监听并输出。
6.为了解决上述技术问题,第一方面,本发明实施例提供一种麦克风阵列的信号输出方法,所述方法包括:
7.获取麦克风阵列的每一帧的输入信号,根据所述输入信号计算每个监听方向的输出功率;
8.按照预设的第一规则从第n帧所述输入信号中选取出m个第一声源;其中,n≥1,m>1;
9.按照预设的第二规则从第i帧所述输入信号中选取出q个第二声源;其中,i>n,q≥m;
10.当任意一个所述第二声源的声源方向与任意一个所述第一声源的声源方向相同时,根据所述第二声源更新对应的所述第一声源的声源信息;
11.获取声源方向与所述第一声源的声源方向不同的所述第二声源,作为第三声源;
12.根据预设的第三规则从更新后的第一声源和所述第三声源中确定所述麦克风阵列的输出信号。
13.作为一个可选方案,所述获取麦克风阵列的每一帧的输入信号,根据所述输入信号计算每个监听方向的输出功率,具体包括:
14.获取所述麦克风阵列的每一帧的输入信号;
15.基于波束形成算法计算第一帧所述输入信号的每个监听方向的输出功率p1;
16.根据如下公式计算第i帧所述输入信号的每个监听方向的输出功率p
i

17.p
i
=a*p
i0
(1

a)*p
i
‑1;
18.其中,p
i0
为基于波束形成算法计算得到的第i帧所述输入信号的任一监听方向的原始输出功率,p
i
‑1为第i

1帧所述输入信号对应监听方向的输出功率,a为平滑因子,0<a<1。
19.作为一个可选方案,所述波束形成算法为延迟求和波束形成算法、最小方差无失真响应波束形成算法、线性约束最小方差波束形成算法、广义旁瓣相消算法或者传递函数广义旁瓣对消算法。
20.作为一个可选方案,所述根据所述第二声源更新对应的所述第一声源的声源信息,具体为:
21.根据如下公式调整对应的所述第一声源的输出功率:
22.p
m

=p
m
*b p
q
*(1

b);
23.其中,p
m

为第m个第一声源调整后的输出功率,1≤m≤m,p
q
为第q个第二声源的输出功率,1≤q≤q,b为调整因子,0<b<1。
24.作为一个可选方案,所述按照预设的第一规则从第n帧所述输入信号中选取出m个第一声源,具体为:
25.从第n帧所述输入信号中选取出m个输出功率最大的声源作为所述第一声源;
26.或者,
27.在预先划分的监听方向中,从每一个监听方向中选取出一个输出功率最大的第四声源,从所述第四声源选取出m个输出功率最大的声源作为所述第一声源。
28.作为一个可选方案,所述根据预设的第三规则从更新后的第一声源和第三声源中确定麦克风阵列的输出信号,具体为:
29.将更新后的第一声源与所述第三声源组合成第五声源;
30.从所述第五声源中选取出m个输出功率最大的第六声源;
31.根据所述第六声源中的声源方向确定所述麦克风阵列的输出信号。
32.作为一个可选方案,在所述获取麦克风阵列的每一帧的输入信号之前,所述方法还包括:
33.将监听方向均匀划分为若干份。
34.为了解决上述技术问题,第二方面,本发明实施例提供一种麦克风阵列的信号输出装置,所述装置包括:输入信号获取模块,获取麦克风阵列的每一帧的输入信号,根据所述输入信号计算每个监听方向的输出功率;
35.第一声源选取模块,用于按照预设的第一规则从第n帧所述输入信号中选取出m个第一声源;其中,n≥1,m>1;
36.第二声源选取模块,用于按照预设的第二规则从第i帧所述输入信号中选取出q个第二声源;其中,i>n,q≥m;
37.第一声源更新模块,用于当任意一个所述第二声源的声源方向与任意一个所述第一声源的声源方向相同时,根据所述第二声源更新对应的所述第一声源的声源信息;
38.第三声源选取模块,用于获取声源方向与所述第一声源的声源方向不同的所述第二声源,作为第三声源;
39.信号输出模块,用于根据预设的第三规则从更新后的第一声源和所述第三声源中确定所述麦克风阵列的输出信号。
40.为了解决上述技术问题,第三方面,本发明实施例提供一种麦克风阵列的信号输出设备,所述设备包括存储器、处理器以及存储在所述存储器中且被配置为由所述处理器执行的计算机程序,所述计算机程序由所述处理器执行时实现如第一方面任一项所述的麦克风阵列的信号输出方法。
41.为了解决上述技术问题,第四方面,本发明实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序被执行时实现如第一方面任一项所述的麦克风阵列的信号输出方法。
42.与现有技术相比,本发明实施例提供的一种麦克风阵列的信号输出方法、装置、设备及存储介质,其有益效果在于:能够自动地动态选择声源的入射方向,并对多个入射方向的声源信号进行追踪监听并输出,不仅避免了仅监听单个方向所存在的漏监听问题,而且避免了对每一路信号均进行计算的高算力消耗。
附图说明
43.为了更清楚地说明本发明实施例的技术特征,下面将对本发明实施例中所需要使用的附图做简单地介绍,显而易见地,下面所描述的附图仅仅是本发明的一些实施例,对于本领域技术人员来说,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
44.图1是本发明提供的一种麦克风阵列的信号输出方法的一个可选实施例的流程示意图;
45.图2是本发明提供的一种麦克风阵列的信号输出装置的一个可选实施例的结构示意图;
46.图3是本发明提供的一种麦克风阵列的信号输出设备的一个可选实施例的结构示意图。
具体实施方式
47.为了对本发明的技术特征、目的、效果有更加清楚的理解,下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例仅用于说明本发明,但是不用来限制本发明的保护范围。基于本发明的实施例,本领域技术人员在没有付出创造性劳动的前提下所获得的其他实施例,都应属于本发明的保护范围。
48.在本发明的描述中,应当理解的是,本文中的编号本身,例如“第一”、“第二”等,仅用于区分所描述的对象,不具有顺序或者技术含义,不能理解为规定或者暗示所描述的对象的重要性。
49.图1所示为本发明提供的一种麦克风阵列的信号输出方法的一个优选实施例的流
程示意图。
50.如图1所示,所述方法包括:
51.s11:获取麦克风阵列的每一帧的输入信号,根据所述输入信号计算每个监听方向的输出功率;
52.s12:按照预设的第一规则从第n帧所述输入信号中选取出m个第一声源;其中,n≥1,m>1;
53.s13:按照预设的第二规则从第i帧所述输入信号中选取出q个第二声源;其中,i>n,q≥m;
54.s14:当任意一个所述第二声源的声源方向与任意一个所述第一声源的声源方向相同时,根据所述第二声源更新对应的所述第一声源的声源信息;
55.s15:获取声源方向与所述第一声源的声源方向不同的所述第二声源,作为第三声源;
56.s16:根据预设的第三规则从更新后的第一声源和所述第三声源中确定所述麦克风阵列的输出信号。
57.其中,本发明实施例中输入信号的声源方向是基于最小方差谱估计算法计算得到的。
58.具体而言,首先获取麦克风线阵列的每一帧的输入信号,采用任意一种基于波束扫描方位谱估计的声源定位算法,计算每个监听方向的输出功率,并使用px表示第x个监听方向的输出功率,0<x<x(监听方向的总数)。其次,将需要同时追踪的声源最大数量定位m(智能音箱通常情况下为2或者3),并用tm表示第m个被追踪的声源的声源信息,其中,tm=(dm,pm),dm表示当前声源的声源方向,pm表示当前声源的输出功率。然后,对于第1(为了便于描述,此时n取1)帧输入信号,按照预设的第一规则从中选取出m个第一声源,并记为tm=(dm,pm);对于第i帧输入信号,按照预设的第二规则从中选取出q个第二声源,并记为tq=(dq,pq)表示第q个第二声源的声源信息。紧接着,对于每q个第二声源,若判断得到该第二声源中的dq已被追踪,即已经有一个dm=dq,则需要根据该第二声源得到输出功率更新声源方向相同的第一声源的输出功率;若判断得到该第二声源中的dq没有被追踪,则将没有被追踪的k个声源作为第三声源,并记为tk=(dk,pk)表示第k个第三声源的声源信息。最后,在根据预设的第三规则从更新后的第一声源和第三声源中确定麦克风阵列的输出信号。
59.本发明实施例提供的麦克风阵列的信号输出方法,能够自动地动态选择声源的入射方向,并对多个入射方向的声源信号进行追踪监听并输出,不仅避免了仅监听单个方向所存在的漏监听问题,而且避免了对每一路信号均进行计算的高算力消耗。
60.在一个可选实施例中,在所述获取麦克风阵列的每一帧的输入信号之前,所述方法还包括:
61.s10:将监听方向均匀划分为若干份。
62.具体而言,以xoy平面作为举例,xoy平面一共是360
°
,则根据扫描间隔将其均匀划分为x份。例如,扫描间隔为10
°
,则将xoy平面划分为了36份;扫描间隔为30
°
,则将xoy平面划分为了12份。
63.本实施例将监听方向均匀划分,便于对信号进行监听,能够快速获取信号所在的
监听方向。
64.在一个可选实施例中,所述获取麦克风阵列的每一帧的输入信号,根据所述输入信号计算每个监听方向的输出功率,具体包括:
65.获取所述麦克风阵列的每一帧的输入信号;
66.基于波束形成算法计算第一帧所述输入信号的每个监听方向的输出功率p1;其中,所述波束形成算法为延迟求和波束形成算法、最小方差无失真响应波束形成算法、线性约束最小方差波束形成算法、广义旁瓣相消算法或者传递函数广义旁瓣对消算法;
67.根据如下公式计算第i帧所述输入信号的每个监听方向的输出功率p
i

68.p
i
=a*p
i0
(1

a)*p
i
‑1;
69.其中,p
i0
为基于波束形成算法计算得到的第i帧所述输入信号的任一监听方向的原始输出功率,p
i
‑1为第i

1帧所述输入信号对应监听方向的输出功率,a为平滑因子,0<a<1。
70.进一步的,平滑因子a的值是根据p
i0
和p
i
‑1的值而改变的(可设置映射表):当p
i0
与p
i
‑1的差值的绝对值较大时,a的值较小;当p
i0
与p
i
‑1的差值的绝对值较小时,a的值较大。平滑因子a的变化能够使得语音信号变得更加平滑,降低了噪声干扰的程度。
71.具体而言,首先算出第一帧输入信号在每个监听方向的输出功率p1,然后,为了抑制噪声,对后续帧的p
i
做时间轴上的平滑,通过平滑因子来控制是否利用历史数据以及利用历史数据的比例程度。
72.在一个可选实施例中,所述根据所述第二声源更新对应的所述第一声源的声源信息,具体为:
73.根据如下公式调整对应的所述第一声源的输出功率:
74.p
m

=p
m
*b p
q
*(1

b);
75.其中,p
m

为第m个第一声源调整后的输出功率,1≤m≤m,p
q
为第q个第二声源的输出功率,1≤q≤q,b为调整因子,0<b<1。
76.进一步的,调整因子b的值是根据p
m
和p
q
的值而改变的(可设置映射表):当p
m
与p
q
的差值的绝对值较大时,b的值较小;当p
m
与p
q
的差值的绝对值较小时,b的值较大。调整因子b的变化能够使得语音信号变得更加平滑,降低了噪声干扰的程度。
77.具体而言,当第二声源的声源方向与第一声源的声源方向相同时,由于声源信息中的声源方向是相同的,故不需要进行更新。对于输出功率,则需要根据相应的规则进行更新,其中,更新规则的种类可以有很多种,本实施例采取了根据时间及能量的平滑算法。
78.在一个可选实施例中,所述按照预设的第一规则从第n帧所述输入信号中选取出m个第一声源,具体为:
79.从第n帧所述输入信号中选取出m个输出功率最大的声源作为所述第一声源;
80.或者,
81.在预先划分的监听方向中,从每一个监听方向中选取出一个输出功率最大的第四声源,从所述第四声源选取出m个输出功率最大的声源作为所述第一声源。
82.具体而言,第一种选取方式为全局最大选取,即对于第n帧输入信号,不论其声源方向是否接近,仅将输出功率最大的m个声源作为第一声源;第二中选取方式为局部最大选取,即对于第n帧输入信号,考虑声源所在监听方向,每一个监听方向仅选取出一个输出功
率最大的第四声源(若监听方向有x个,则相应有x个第四声源),再从其中选取出m个输出功率最大的声源作为第一声源,能够保证每一个监听方向上只有一个输出信号。
83.在一个可选实施例中,所述根据预设的第三规则从更新后的第一声源和第三声源中确定麦克风阵列的输出信号,具体为:
84.将更新后的第一声源与所述第三声源组合成第五声源;
85.从所述第五声源中选取出m个输出功率最大的第六声源;
86.根据所述第六声源中的声源方向确定所述麦克风阵列的输出信号。
87.具体而言,更新后的第一声源中的第m个声源的声源信息为tm=(dm,p
m

),第三声源中的第k个声源的声源信息为tk=(dk,pk),对该m个更新后的第一声源以及该k个第三声源按照输出功率由大到小进行重排组合成第五声源,并再从该第五声源中选取出m个输出功率最大的声源作为第六声源。然后再对第六声源中的每个输出方向,通过一个波束形成器来形成一路输出信号,实现多信号输出。
88.综合上述,本发明实施例提供的一种麦克风阵列的信号输出方法,通过计算输入信号在时间轴上的输出功率,并对比前后时间上的声源信息对声源进行动态追踪监听,能够自动地动态选择声源的入射方向,并对多个入射方向的声源信号进行追踪监听并输出,不仅避免了仅监听单个方向所存在的漏监听问题,而且避免了对每一路信号均进行计算的高算力消耗。
89.应当理解,本发明实现上述麦克风阵列的信号输出方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述麦克风阵列的信号输出方法的步骤。其中,计算机程序包括计算机程序代码,计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read

only memory)、随机存取存储器(ram,random access memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
90.图2所示为本发明提供的一种麦克风阵列的信号输出装置的一个优选实施例的结构示意图,所述装置能够实现上述任一实施例所述的麦克风阵列的信号输出方法的全部流程。
91.如图2所示,所述装置包括:
92.输入信号获取模块21,获取麦克风阵列的每一帧的输入信号,根据所述输入信号计算每个监听方向的输出功率;
93.第一声源选取模块22,用于按照预设的第一规则从第n帧所述输入信号中选取出m个第一声源;其中,n≥1,m>1;
94.第二声源选取模块23,用于按照预设的第二规则从第i帧所述输入信号中选取出q个第二声源;其中,i>n,q≥m;
95.第一声源更新模块24,用于当任意一个所述第二声源的声源方向与任意一个所述第一声源的声源方向相同时,根据所述第二声源更新对应的所述第一声源的声源信息;
96.第三声源选取模块25,用于获取声源方向与所述第一声源的声源方向不同的所述第二声源,作为第三声源;
97.信号输出模块26,用于根据预设的第三规则从更新后的第一声源和所述第三声源中确定所述麦克风阵列的输出信号。
98.本发明实施例提供的一种麦克风阵列的信号输出装置,能够自动地动态选择声源的入射方向,并对多个入射方向的声源信号进行追踪监听并输出,不仅避免了仅监听单个方向所存在的漏监听问题,而且避免了对每一路信号均进行计算的高算力消耗。
99.可选的,所述装置还包括:
100.监听方向划分模块,用于将监听方向均匀划分为若干份。
101.可选的,所述输入信号获取模块21具体包括:
102.输入信号获取单元,用于获取所述麦克风阵列的每一帧的输入信号;
103.输出功率计算单元,用于基于波束形成算法计算第一帧所述输入信号的每个监听方向的输出功率p1;其中,所述波束形成算法为延迟求和波束形成算法、最小方差无失真响应波束形成算法、线性约束最小方差波束形成算法、广义旁瓣相消算法或者传递函数广义旁瓣对消算法;
104.所述输出功率计算单元还用于根据如下公式计算第i帧所述输入信号的每个监听方向的输出功率p
i

105.p
i
=a*p
i0
(1

a)*p
i
‑1;
106.其中,p
i0
为基于波束形成算法计算得到的第i帧所述输入信号的任一监听方向的原始输出功率,p
i
‑1为第i

1帧所述输入信号对应监听方向的输出功率,a为平滑因子,0<a<1。
107.进一步的,平滑因子a的值是根据p
i0
和p
i
‑1的值而改变的(可设置映射表):当p
i0
与p
i
‑1的差值的绝对值较大时,a的值较小;当p
i0
与p
i
‑1的差值的绝对值较小时,a的值较大。平滑因子a的变化能够使得语音信号变得更加平滑,降低了噪声干扰的程度。
108.可选的,所述第一声源更新模块24具体根据如下公式调整对应的所述第一声源的输出功率:
109.p
m

=p
m
*b p
q
*(1

b);
110.其中,p
m

为第m个第一声源调整后的输出功率,1≤m≤m,p
q
为第q个第二声源的输出功率,1≤q≤q,b为调整因子,0<b<1。
111.进一步的,调整因子b的值是根据p
m
和p
q
的值而改变的(可设置映射表):当p
m
与p
q
的差值的绝对值较大时,b的值较小;当p
m
与p
q
的差值的绝对值较小时,b的值较大。调整因子b的变化能够使得语音信号变得更加平滑,降低了噪声干扰的程度。
112.可选的,所述第一声源选取模块22具体用于:
113.从第n帧所述输入信号中选取出m个输出功率最大的声源作为所述第一声源;
114.或者,
115.在预先划分的监听方向中,从每一个监听方向中选取出一个输出功率最大的第四声源,从所述第四声源选取出m个输出功率最大的声源作为所述第一声源。
116.可选的,所述信号输出模块26具体包括:
117.第五声源组合单元,用于将更新后的第一声源与所述第三声源组合成第五声源;
118.第六声源选取单元,用于从所述第五声源中选取出m个输出功率最大的第六声源;
119.信号输出单元,用于根据所述第六声源中的声源方向确定所述麦克风阵列的输出信号。
120.图3所示为本发明提供的一种麦克风阵列的信号输出设备的一个可选实施例的结构示意图,所述设备能够实现上述任一实施例所述的麦克风阵列的信号输出方法的全部流程。
121.如图3所示,所述设备包括存储器31、处理器32;其中,所述存储器31中存储有计算机程序,所述计算机程序被配置为由所述处理器32执行,且被所述处理器32执行时实现如上述任一实施例所述的麦克风阵列的信号输出方法。
122.本发明实施例提供的麦克风阵列的信号输出设备,能够自动地动态选择声源的入射方向,并对多个入射方向的声源信号进行追踪监听并输出,不仅避免了仅监听单个方向所存在的漏监听问题,而且避免了对每一路信号均进行计算的高算力消耗。
123.示例性的,所述计算机程序可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器31中,并由所述处理器32执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序在所述麦克风阵列的信号输出设备中的执行过程。
124.所称处理器32可以是中央处理单元(central processing unit,cpu),还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field

programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
125.所述存储器31可用于存储所述计算机程序和/或模块,所述处理器32通过运行或执行存储在所述存储器31内的计算机程序和/或模块,以及调用存储在存储器31内的数据,实现所述麦克风阵列的信号输出设备的各种功能。所述存储器31可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,所述存储器31可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
126.需要说明的是,上述麦克风阵列的信号输出设备包括,但不仅限于,处理器、存储器,本领域技术人员可以理解,图3结构示意图仅仅是上述麦克风阵列的信号输出设备的示例,并不构成对麦克风阵列的信号输出设备的限定,可以包括比图示更多部件,或者组合某些部件,或者不同的部件。
127.以上所述,仅是本发明的可能实施方式,但本发明的保护范围并不局限于此,应当指出,对于本领域技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干等效的明显变型方式和/或等同替换方式,这些明显变型方式和/或等同替换方式也应视为本发明的保护范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文章

  • 日榜
  • 周榜
  • 月榜