本发明涉及声源识别领域,具体是一种基于拉普拉斯范数的快速迭代收缩阈值的声源识别方法。
背景技术:
当前基于麦克风阵列的两种主流声源识别方法分别为波束形成与声全息。其中波束形成的中远距离声源识别能力强于声全息,而声全息在低频范围内的识别性能则更优于波束形成,二者各有千秋,相辅相成。声全息技术是近年来快速发展的一种声源识别方法,基本原理是在紧靠被测声源物体表面的测量面上记录噪声数据,然后通过空间声场变换算法重构空间声场,它通过在非常靠近声源的二维或三维面上测量声压,重建出声音在三维空间传播的声学量,如声压、声强、声功率。声全息在振动、声学辐射和周边媒介中的声学能量流之间建立起直接的关联。由于其具有灵活的动态显示范围、分辨率高等优点,因此近年受到研究人员以及从业人员的广泛关注,其应用范围也从航空航海领域逐渐发展过渡到汽车领域,与此同时衍生出了各种不同的近场声全息算法,如宽带声全息、快速宽带声全息、两步迭代收缩阈值等算法,不断地拓展着其应用范围和领域。
现有技术中存在一种基于麦克风阵列的声源识别方法,公开了一种两步迭代收缩阈值算法(mtwist)。其核心思想是在靠近声源面较近的等效源平面构造一系列假想的等效源,由这些等效源来替代实际声源分布。通过声源识别理论,建立一个等效源面到麦克风阵列的声学传递方程,并通过传统的梯度下降算法求解该传递方程,从而迭代求解等效源强度,然后通过该等效源强度,基于声传播过程重构在等效源面与阵列面之间的声源分布,而且该方法在等效源求解过程中,引入一个迭代滤波过程,从而保证迭代过程的收敛效率与精准度。该算法由于引入梯度下降算法和滤波过程,能够提高传统等效源方法在中低频的分辨率,同时该算法也能够实现与其他声全息算法之间的结合或者切换,从而实现在中低频声源的重构。然而,该算法缺陷在于在低频范围(0~500hz)重建性能不稳定,存在较大误差。
技术实现要素:
本发明的目的是解决现有技术中存在的问题。
为实现本发明目的而采用的技术方案是这样的,一种基于拉普拉斯范数的快速迭代收缩阈值的声源识别方法,主要包括以下步骤:
1)搭建基于拉普拉斯范数的快速迭代收缩阈值的声源识别系统,主要包括麦克风阵列、多通道的信号采集器和数据处理器。所述麦克风阵列包括分布在声源检测空间内的m个麦克风。
2)每个麦克风分别监测k个等效声源的时域模拟声压信号,并发送至多通道的信号采集器。所述k个等效声源为随机分布于声源平面周围的等效声源。
3)所述多通道的信号采集器将接收到的时域模拟声压信号转换为数字声压信号p,并发送至数据处理器。
4)基于接收到的数字声压信号p,所述数据处理器建立声源和麦克风阵列之间的传递矩阵a。
进一步,建立声源和麦克风阵列之间的传递矩阵a的主要步骤如下:
4.1)确定第m个麦克风测量到的声压信号p(m)如下所示:
式中,m=1,2,…,m。
4.2)将公式(1)转化成向量-矩阵形式,即:
p=aq。(2)
式中,a为m×k声场传递矩阵。p为m维测量声压向量,其元素为对应传感器在单一频率f对应的频域响应。q为k维声源强度列向量,其元素成分代表声源平面中对应点处的强度分布。
5)所述数据处理器建立声场声源分布模型。
进一步,声场声源分布模型的目标函数如下所示:
式中,||·||2指的是l2范数。||·||1指的是l1范数。λ为tikhonov正则化参数。
其中,正则化参数λ如下所示:
式中,snr为信噪比。smax为声场传递矩阵a奇异值svd分解后的最大值。
声场传递矩阵a奇异值svd分解如下:
s=diag(s)。(5)
式中,diag为将向量转化成对角矩阵形式。
6)所述数据处理器利用快速迭代收缩阈值算法对声场声源分布模型进行迭代解算,得到声源识别结果x。
进一步,利用快速迭代收缩阈值算法对声场声源分布模型进行迭代解算的主要步骤如下:
6.1)计算第n次最速下降y'(n),即:
式中,l为lipschitz常数。l=2×smax2。迭代初始值y(1)=0;t(1)=1。y(n)为x(n-1)和x(n-2)的线性连接方式。n为迭代次数。梯度函数
其中,线性连接方式y(n 1)满足下式:
其中,迭代步长t满足下式:
2)设定拉普拉斯范数阈值ε。当第n次迭代的声源识别结果|y'(n)|≤ε=λ/(2*γ*l)时,输出第n次迭代的声源识别结果x(n),反之进入步骤3。
3)利用拉普拉斯范数对第n次迭代的声源识别结果x(n)进行更新,并返回步骤1。第n 1次迭代的声源识别结果x(n 1)如下所示:
式中,γ为拉普拉斯范数的阶数。
本发明的技术效果是毋庸置疑的。本发明提供了一种声源重建精度高、稳定性较好、误差较小的声源识别算法lfista。本发明首先基于声源和麦克风阵列构造传递矩阵,再将其转化为1-范数的最小化问题,最后通过快速迭代收缩阈值,结合拉普拉斯范数,构造新的声源识别算法。该算法在运用快速迭代收缩阈值的高分辨率优势的同时,能够充分利用拉普拉斯范数的性质,有效的克服了两步迭代收缩阈值算法(mtwist)在低频范围(0~500hz)的不稳定性,以及扩大了声源识别的频率范围。
附图说明
图1为声源重构示意图;
图2为理论重建图;
图3为传统tikhonov方法重建图;
图4为两步迭代收缩阈值算法mtwist方法重建图;
图5为基于拉普拉斯范数的快速迭代收缩阈值算法的声源识别方法lfista方法重建图;
图6为重建误差曲线图。
具体实施方式
下面结合实施例对本发明作进一步说明,但不应该理解为本发明上述主题范围仅限于下述实施例。在不脱离本发明上述技术思想的情况下,根据本领域普通技术知识和惯用手段,做出各种替换和变更,均应包括在本发明的保护范围内。
实施例1:
参见图1至图2,一种基于拉普拉斯范数的快速迭代收缩阈值的声源识别方法,主要包括以下步骤:
1)搭建基于拉普拉斯范数的快速迭代收缩阈值的声源识别系统,主要包括麦克风阵列、多通道的信号采集器和数据处理器。所述麦克风阵列包括分布在声源检测空间内的m个麦克风。
数据处理器为电脑。
2)每个麦克风分别监测k个等效声源的时域模拟声压信号,并发送至多通道的信号采集器。所述k个等效声源为随机分布于声源平面周围的等效声源。
3)所述多通道的信号采集器将接收到的时域模拟声压信号转换为数字声压信号p,并发送至数据处理器。
4)基于接收到的数字声压信号p,所述数据处理器建立声源和麦克风阵列之间的传递矩阵a。
进一步,建立声源和麦克风阵列之间的传递矩阵a的主要步骤如下:
4.1)确定第m个麦克风测量到的声压信号p(m)如下所示:
式中,m=1,2,…,m。
4.2)将公式(1)转化成向量-矩阵形式,即:
p=aq。(2)
式中,a为m×k声场传递矩阵。p为m维测量声压向量,其元素为对应传感器在单一频率f对应的频域响应。q为k维声源强度列向量,其元素成分代表声源平面中对应点处的强度分布。
5)所述数据处理器建立声场声源分布模型。
进一步,声场声源分布模型的目标函数如下所示:
式中,||·||2指的是l2范数。||·||1指的是l1范数。λ为tikhonov正则化参数。
其中,正则化参数λ如下所示:
式中,snr为信噪比。smax为声场传递矩阵a奇异值svd分解后的最大值。
声场传递矩阵a奇异值svd分解如下:
s=diag(s)。(5)
式中,diag为将向量转化成对角矩阵形式。s表示声场传递矩阵a奇异值svd,s为分解后的声场传递矩阵a奇异值。
6)所述数据处理器利用快速迭代收缩阈值算法对声场声源分布模型进行迭代解算,得到声源识别结果x。
进一步,利用快速迭代收缩阈值算法对声场声源分布模型进行迭代解算的主要步骤如下:
6.1)计算第n次最速下降y'(n),即:
式中,l为lipschitz常数。l=2×smax2。迭代初始值y(1)=0;t(1)=1。y(n)为x(n-1)和x(n-2)特定的线性连接方式。n为迭代次数。梯度函数
其中,x(n)和x(n-1)的线性连接方式y(n 1)满足下式:
其中,迭代步长t满足下式:
式中,t(n 1)和t(n)表示第n 1次和第n次迭代的步长。
2)设定拉普拉斯范数阈值ε。当第n次迭代的声源识别结果|y'(n)|≤ε=λ/(2*γ*l)时,输出第n次迭代的声源识别结果x(n),反之进入步骤3。
3)利用拉普拉斯范数对第n次迭代的声源识别结果x(n)进行更新,并返回步骤1。第n 1次迭代的声源识别结果x(n 1)如下所示:
式中,γ为拉普拉斯范数的阶数。
实施例2:
一种基于拉普拉斯范数的快速迭代收缩阈值的声源识别方法,主要包括以下步骤:
1)搭建基于拉普拉斯范数的快速迭代收缩阈值的声源识别系统,主要包括麦克风阵列、多通道的信号采集器和数据处理器。所述麦克风阵列包括分布在声源检测空间内的m个麦克风。
2)每个麦克风分别监测k个等效声源的时域模拟声压信号,并发送至多通道的信号采集器。所述k个等效声源为随机分布于声源平面周围的等效声源。
3)所述多通道的信号采集器将接收到的时域模拟声压信号转换为数字声压信号p,并发送至数据处理器。
4)基于接收到的数字声压信号p,所述数据处理器建立声源和麦克风阵列之间的传递矩阵a。
5)所述数据处理器建立声场声源分布模型。
6)所述数据处理器利用快速迭代收缩阈值算法对声场声源分布模型进行迭代解算,得到声源识别结果x。
实施例3:
一种基于拉普拉斯范数的快速迭代收缩阈值的声源识别方法,主要步骤见实施例2,其中,声场声源分布模型的目标函数如下所示:
式中,||·||2指的是l2范数。||·||1指的是l1范数。λ为tikhonov正则化参数。
其中,正则化参数λ如下所示:
式中,snr为信噪比。smax为声场传递矩阵a奇异值svd分解后的最大值。
声场传递矩阵a奇异值svd分解如下:
s=diag(s)。(3)
式中,diag为将向量转化成对角矩阵形式。
实施例4:
一种基于拉普拉斯范数的快速迭代收缩阈值的声源识别方法,主要步骤见实施例2,其中,利用快速迭代收缩阈值算法对声场声源分布模型进行迭代解算的主要步骤如下:
6.1)计算第n次最速下降y'(n),即:
式中,l为lipschitz常数。l=2×smax2。迭代初始值y(1)=0;t(1)=1。y(n)为x(n-1)和x(n-2)的线性连接方式。n为迭代次数。梯度函数
其中,线性连接方式y(n 1)满足下式:
其中,迭代步长t满足下式:
2)设定拉普拉斯范数阈值ε。当第n次迭代的声源识别结果|y'(n)|≤ε=λ/(2*γ*l)时,输出第n次迭代的声源识别结果x(n),反之进入步骤3。
3)利用拉普拉斯范数对第n次迭代的声源识别结果x(n)进行更新,并返回步骤1。第n 1次迭代的声源识别结果x(n 1)如下所示:
式中,γ为拉普拉斯范数的阶数。
实施例5:
一种基于拉普拉斯范数的快速迭代收缩阈值的声源识别系统,主要包括麦克风阵列、多通道的信号采集器和数据处理器。
所述麦克风阵列包括声压或者声速传感器、麦克风支架以及相关线束。在麦克风阵列中,麦克风的分布可以是规则化的或者是非规则化的一、二、三维空间分布,根据实际测量需求而选择。传感器数目的选择和传声器间距的选择则根据需要测量的频率范围而决定。
所述多通道的信号采集器用于测量时域模拟信号,并将其转化成数字信号传输给计算机进行后处理。其应该包括多通道的前置放大器以及多通道的具有高精度的模拟/数字转换器,甚至应该包括相关的滤波器,从而保证输出到计算机的数字信号足够精确。
所述计算机的主要功能主要是存储以及后处理采集到的声场信号,并能高效显示重构声场分布情况。
实施例6:
一种验证基于拉普拉斯范数的快速迭代收缩阈值的声源识别方法的实验,主要包括以下步骤:
1)参见图3至图5,设置对比方法:
m1:基于拉普拉斯范数的快速迭代收缩阈值的声源识别方法(即实施例1公开方法)
m2:两步迭代收缩阈值算法方法
m3:tikhonov方法(基于波叠加和正则化的声源识别方法)
2)分别利用m1、m2、m3方法对声源进行识别。
参见图6,当声源频段为0~500hz时,m2方法误差超过100%,而m1方法误差低于40%。故,证明m1方法比m2方法在低频效果下识别效果好。
当声源频率为500hz时,理论值显示(-0.2,0)和(0.2,0)分别有两个声源,m3方法和m2方法均无法有效识别出两个声源,而m1方法则有效的识别到两个声源。故,证明m1方法比m2方法、m3方法声源识别效果好。
1.一种基于拉普拉斯范数的快速迭代收缩阈值的声源识别方法,其特征在于,主要包括以下步骤:
1)搭建基于拉普拉斯范数的快速迭代收缩阈值的声源识别系统,主要包括麦克风阵列、多通道的信号采集器和数据处理器;所述麦克风阵列包括分布在声源检测空间内的m个麦克风。
2)每个麦克风分别监测k个等效声源的时域模拟声压信号,并发送至多通道的信号采集器;所述k个等效声源为随机分布于声源平面周围的等效声源;
3)所述多通道的信号采集器将接收到的时域模拟声压信号转换为数字声压信号p,并发送至数据处理器;
4)基于接收到的数字声压信号p,所述数据处理器建立声源和麦克风阵列之间的传递矩阵a。
5)所述数据处理器建立声场声源分布模型;
6)所述数据处理器利用快速迭代收缩阈值算法对声场声源分布模型进行迭代解算,得到声源识别结果x。
2.根据权利要求1所述的一种基于拉普拉斯范数的快速迭代收缩阈值的声源识别方法,其特征在于,建立声源和麦克风阵列之间的传递矩阵a的主要步骤如下:
1)确定第m个麦克风测量到的声压信号p(m)如下所示:
式中,m=1,2,…,m;
2)将公式(1)转化成向量-矩阵形式,即:
p=aq;(2)
式中,a为m×k声场传递矩阵;p为m维测量声压向量,其元素为对应传感器在单一频率f对应的频域响应;q为k维声源强度列向量,其元素成分代表声源平面中对应点处的强度分布。
3.根据权利要求1或2所述的一种基于拉普拉斯范数的快速迭代收缩阈值的声源识别方法,其特征在于,声场声源分布模型的目标函数如下所示:
式中,||·||2指的是l2范数;||·||1指的是l1范数;λ为tikhonov正则化参数;
其中,正则化参数λ如下所示:
式中,snr为信噪比;smax为声场传递矩阵a奇异值svd分解后的最大值。
4.根据权利要求3所述的一种基于拉普拉斯范数的快速迭代收缩阈值的声源识别方法,其特征在于,声场传递矩阵a奇异值svd分解如下:
s=diag(s);(5)
式中,diag为将向量转化成对角矩阵形式。
5.根据权利要求1所述的一种基于拉普拉斯范数的快速迭代收缩阈值的声源识别方法,其特征在于,利用快速迭代收缩阈值算法对声场声源分布模型进行迭代解算的主要步骤如下:
1)计算第n次最速下降值y'(n),即:
式中,l为lipschitz常数;l=2×smax2;迭代初始值y(1)=0;t(1)=1;y(n)为x(n-1)和x(n-2)的线性连接方式;n为迭代次数;梯度函数
其中,线性连接方式y(n 1)满足下式:
其中,迭代步长t满足下式:
2)设定拉普拉斯范数阈值ε;当第n次迭代的声源识别结果|y'(n)|≤ε=λ/(2*γ*l)时,输出第n次迭代的声源识别结果x(n),反之进入步骤3;
3)利用拉普拉斯范数对第n次迭代的声源识别结果x(n)进行更新,并返回步骤1;第n 1次迭代的声源识别结果x(n 1)如下所示:
式中,γ为拉普拉斯范数的阶数。
技术总结