一种噪声盲源信号分离方法、终端设备及存储介质与流程
本发明涉及噪声信号分离领域,尤其涉及一种噪声盲源信号分离方法、终端设备及存储介质。
背景技术:
随着经济的发展,越来越多的大功率机械出现,使得噪声污染变得日益的严重。噪声污染对人体的伤害具有不可逆性,长期处于噪声下会对人的听力噪声损害以及诱发心血管疾病等。近年来,人们对于噪声污染的重视逐渐的加强,采取了很多控制噪声的措施。针对于这些大功率机械及动力设备的噪声控制,最有效的手段就是从噪声源入手。如何准确的识别噪声源以及确定噪声源的主次,是最关键的一个步骤。经研究发现,对于大功率机械及动力设备的噪声源,由于其结构复杂,激励源众多且不可预测,是属于典型的盲源信号。所以,识别噪声源的前提是将盲源信号进行分离。
独立分量分析(independentcomponentanalysis,ica)算法是近几十年来在盲源分离方面运用最为广泛而且有效的方法。这个算法最早是由juttenc,heraultj在1986年提出来的,被广泛的应用语音信号处理,信号特征处理等领域。1997年hyvarinen基于ica算法的基础,研究并提出一种新的ica方法,即快速独立分量分析(fastindependentcomponentanalysis,fastica)。该算法相比于ica而言,收敛速度更快。但是,独立分量分析在信号分析当中存在一些不足的地方。就是经由该算法进行分离的信号在幅值,相位以及排序等方面存在不确定性。由于噪声的贡献度与能量大小有着密切的关系,所以对分离后的独立分量进行不确定性校正对噪声源的识别以及确定噪声源的主次有着重大的意义。
技术实现要素:
为了解决上述问题,本发明提出了一种噪声盲源信号分离方法、终端设备及存储介质。
具体方案如下:
一种噪声盲源信号分离方法,包括以下步骤:
s1:将由多个信号源发出的包含噪声的观测信号通过fastica算法得到解混矩阵和分离后的独立分量;
s2:对独立分量做多次相位调整,并根据相位调整前后对应的观测信号之间的总相关系数的大小确定最佳调整相位;
s3:查找权值调整函数的最佳寻优区间,从最佳寻优区间内查找最佳权值调整函数,使得通过最佳权值调整函数加权得到的混合矩阵计算得到的观测信号与通过fastica算法处理前的观测信号的总相关系数小于阈值;
s4:将独立分量通过步骤s2得到的最佳调整相位和步骤s3得到的最佳权值调整函数进行相位和幅值的调整得到调整独立分量,将调整独立分量和观测信号均进行傅里叶变换得到对应的频谱,计算每个调整独立分量频谱和其对应的观测信号频谱的总相关系数,按照总相关系数的大小将所有调整独立分量进行排序,得到最终分离后的信号源。
进一步的,步骤s2具体包括以下步骤:
s21:对分离出来的独立分量做多次相位调整;
其中,yj(m)为第j个独立分量在第m次相位调整后的值,j为独立分量的序号,yj(0)为通过fastica算法得到的第j个独立分量的值,εm为第m次相位调整函数;
s22:根据相位调整后的独立分量,计算相位调整后对应的观测信号:
其中,xi(m)为第i个观测信号在第m次相位调整后的值,i为观测信号的序号,m为独立分量的总数,aij(0)为的初始混合矩阵中第i行第j列的值,初始混合矩阵为通过fastica算法得到的解混矩阵求逆后得到的矩阵;
s23:针对每次相位调整函数εm,计算相位调整后对应的观测信号xi(m)与相位调整前对应的观测信号xi之间的总相关系数acεm(xi,xi(m)):
其中,xcor(·)为自相关系数,n为观测信号的总数;
s24:根据最大相似准则,将总相关系数的最大值所对应相位调整函数作为最佳调整相位。
进一步的,权值调整函数的最佳寻优区间的查找方法为:
s31:初始设定参数k=1,设定权值调整函数的第k个寻优区间;
s32:将混合矩阵乘以第k个寻优区间的最大值和最小值得到对应的最大混合矩阵和最小混合矩阵;
s33:根据最大混合矩阵、最小混合矩阵和独立分量,计算第k个最大混合矩阵对应的最大观测信号与观测信号的总相关系数和最小混合矩阵对应的最小观测信号与观测信号的总相关系数的差值;判断第k个差值的符号与第k-1个差值的符号是否相同,如果是,进入s34;否则,进入s38;
s34:判断第k个差值的符号与第k个寻优区间的最大值与最小值的差值的符号是否相同,如果是,进入s35;否则,进入s36;
s35:设定第k+1个寻优区间,且令第k+1个寻优区间的最小值为第k个寻优区间的最大值,进入s37;
s36:设定第k+1个寻优区间,且令第k+1个寻优区间的最大值为第k个寻优区间的最小值,进入s37;
s37:令k=k+1,返回s32;
s38:将第k-1个和第k个寻优区间组成最佳寻优区间。
进一步的,从最佳寻优区间内查找最佳权值调整函数的方法为在最佳寻优区间内采用黄金分割算法进行逐级查找。
一种噪声盲源信号分离终端设备,包括处理器、存储器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现本发明实施例上述的方法的步骤。
一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现本发明实施例上述的方法的步骤。
本发明采用如上技术方案,实现将混合的波形信号分离出源信号波形,同时将波形的不确定性进行消除,以达到较为完美的分离结果。
附图说明
图1所示为本发明实施例一的流程图。
图2所示为该实施例中信号混合与ica分离过程示意图。
图3所示为该实施例中不确定性校正过程的流程图。
图4所示为该实施例中四个典型的源信号波形图。
图5所示为该实施例中混合后的观测信号波形图。
图6所示为该实施例中通过fastica算法处理得到的信号波形图。
图7所示为该实施例中经过不确定性校正后得到的信号波形图。
图8所示为该实施例中语音信号的源信号波形图。
图9所示为该实施例中语音信号的观测信号波形图。
图10所示为该实施例中语音信号的分离信号波形图。
图11所示为该实施例中语音信号经过不确定性校正后的信号波形图。
具体实施方式
为进一步说明各实施例,本发明提供有附图。这些附图为本发明揭露内容的一部分,其主要用以说明实施例,并可配合说明书的相关描述来解释实施例的运作原理。配合参考这些内容,本领域普通技术人员应能理解其他可能的实施方式以及本发明的优点。
现结合附图和具体实施方式对本发明进一步说明。
实施例一:
本发明实施例提供了一种噪声盲源信号分离方法,如图1所示,所述方法包括以下步骤:
s1:将由多个信号源发出的包含噪声的观测信号通过fastica算法得到解混矩阵和去除噪声后的独立分量。
1.ica原理与不确定性
对于独立分量分析的描述,最经典的就是“鸡尾酒宴会”问题。假设宴会中装有n个声音收录器,宴会中的人数记为m个且他们同时说话。那么在宴会结束之后,n个声音收录器里面收集了一组数据,这组数据记为观测信号x,x=[x1(t),x2(t),x3(t),...,xn(t)]t;t=(1,...,m)。独立分量分析的作用就是分辨出m维数组的源,也就是每个人发出的声音源。
其中m个信号源都是独立的,对应的有n个传感器。这里不考虑环境中的其他噪音影响,传感器所检测到的观测信号与源信号通过线性混合,则有如下的公式:
式中,s(t)=[s1(t),s2(t),...,sm(t)]t为源信号,源信号无法直接识别。该源信号是由m个互相独立的源信号构成。aij∈a是n×m维的混合矩阵。其中需要满足n>m这个条件。式中有a,s(t)均是未知的,仅有x(t)为已知的信号。独立分量分析就是需要找到一个解混矩阵w(w=a-1)使得解混后得到一个最接近源信号s(t)的矩阵y(t),于是可以得到下式:
y(t)=was(t)=a-1as(t)(2)
式中,y(t)为分离出的独立分量,其信号特征接近于源信号。图2所示为解混的过程。仅有当w为a的逆矩阵的时候才能实现源信号的分离。
ica模型在应用的时候存在有几点问题。
首先,因为源信号所经历的混合过程无法进行预测,要直接进行信号的分离是一件比较困难的事情。所以在应用ica模型求分离的唯一解时候,需要有以下三个基本前提条件:
(1)每个源信号必须的互相统计独立的信号,即其中一个源信号出现的概率不受其它源信号的影响;
(2)最多只能存在一个源信号服从高斯分布。因为高斯信号在线性叠加的结果不会改变其高斯性,源信号若有两个以上服从高斯分布,那么将无法使用ica模型进行分离。
(3)传感器的数量n不能够小于源信号的数量m。在实际应用当中,噪声源的数量无法确定,所以通常做出二者相等的假设情况。
其次就是ica的不确定性。虽然分离结果能够保证唯一的,但结果仍存在一些不确定性。比如幅值和相位会出现偏差,这是由于a与s均为未知的。如式(3)所示,当变换过程当中出现s增大g倍,则相应的a只需要除以g倍,得出的结果不被影响,但是估计的源信号却发生了变化。
估计的源信号分量在分离之后有出现排序方面的问题。这是由于分离过程当中会插入一个置换矩阵p,使得x=app-1s(t),排序会随之发生改变。
2.fastica算法
fastica算法,也被称为基于固定点(fixed-point)的算法。该算法包含基于负熵最大、基于最大似然和基于峭度等三种不同的形式。该实施例中采用的是基于负熵最大的fastica算法作为基础。其负熵的近似值函数表达式如下:
式中,ki为常量,e[·]为计算数学期望,yi和vi为两个高斯随机变量,两个变量的协方差值是相等的,在使用变量之前,需要先进行归一化处理。g为非二次函数,选择合适的g,得到的估计量会相对稳定。该实施例中设定g(y)为:
式中,a1的取值一般是[1,2]之间,该实施例中取值为1,a2取1。其中,函数g1适合应用在超高斯信号与亚高斯信号都存在的情形,g2适用于超高斯信号源,g3适用于亚高斯信号源。因为有y=witx是一个独立分量,其中wi是解混矩阵w中的一个n维向量。由k-t条件可知,要让式(4)的负熵达到最大化,仅有当e{(witx)2}=||wi||2=1时,才能达到最优值满足:
式中,g(·)是g(·)的一阶导,系数β为拉格朗日乘子,这里假设左侧为函数f,则可以得到雅克比(jacobi)矩阵:
jf(wi)=e[x·xtg'(witx)]-βi(7)
式(7)的右边第一项近似为:
e[x·xtg'(witx)]≈e[x·xt]e[g'(witx)]=e[g'(witx)]i(8)
由上式的近似结果,可以使得雅可比矩阵转化为对角阵,从而能更容易的求得相应的逆矩阵。由此可以易得牛顿迭代式:
式(9)两边同时乘以β=e[xg(wt(i)x)]-e[xg'(wt(i)x)]w(i),经过化简之后能够得到相应的fastica算法的迭代公式如下式所示:
w(i+1)=e[xg(wt(i)x)]-e[xg'(wt(i)x)]w(i)(10)
通过式(11)的迭代式可以得到fastica的算法过程如下;
1)对观测信号x计算期望,并减去相应的期望值,此步也叫中心化处理;
2)对x做白化处理,做正交变换使得e[xtx]=i;
3)选取待估计的数量m,并设定迭代次数i;
4)任取一个初始向量wi,该向量必须存在单位范数;
5)令w(i+1)=e[xg(wt(i)x)]-e[xg'(wt(i)x)]w(i),其中,g(·)原函数选取参见式(5);
6)wi标准化;
7)迭代后判断wi是否收敛,若出现不收敛的情况则返回步骤5),若收敛则继续执行接下去的程序;
8)令i=i+1,当i≤m时,跳回第4)步,否则结束算法程序。
由于经过fastica算法所分离出的独立分量yi存在幅值,相位和排序等方面的不确定性问题,特别是幅值和相位的问题,将会对噪声源的识别产生直接的影响,因此下面步骤中为对其结果进行处理,达到校正的目的,如图3所示。
s2:对独立分量做多次相位调整,并根据相位调整前后对应的观测信号之间的总相关系数的大小确定最佳调整相位。
步骤s2具体包括以下步骤:
s21:对分离出来的独立分量做多次相位调整;
其中,yj(m)为第j个独立分量在第m次相位调整后的值,j为独立分量的序号,yj(0)为通过fastica算法得到的第j个独立分量的值,εm为第m次相位调整函数。
s22:根据相位调整后的独立分量,计算相位调整后对应的观测信号:
其中,xi(m)为第i个观测信号在第m次相位调整后的值,i为观测信号的序号,m为独立分量的总数,aij(0)为的初始混合矩阵中第i行第j列的值,初始混合矩阵为通过fastica算法得到的解混矩阵求逆后得到的矩阵;
s23:针对每次相位调整函数εm,计算相位调整后对应的观测信号xi(m)与相位调整前对应的观测信号xi之间的总相关系数
其中,xcor(·)为自相关系数,n为观测信号的总数;
s24:根据最大相似准则,将总相关系数的最大值所对应相位调整函数作为最佳调整相位。
当总相关系数最大时,认为此时的相位调整至正常。
s3:查找权值调整函数的最佳寻优区间,从最佳寻优区间内查找最佳权值调整函数,使得通过最佳权值调整函数加权得到的混合矩阵计算得到的观测信号与通过fastica算法处理前的观测信号的总相关系数小于阈值。
该实施例中从最佳寻优区间内查找最佳权值调整函数的方法优选采用在最佳寻优区间内采用黄金分割算法进行逐级查找。
经由fastica算法的白化过程,使得分离后的独立分量在幅值上呈现的不确定性包含放大和缩小两种可能。故需要对混合矩阵乘以一个最佳权值调整函数进行调整。为了加快权值调整函数的查找速度,该实施例中采用以下步骤查找权值调整函数的最佳寻优区间。
s31:初始设定参数k=1,设定权值调整函数的第k个寻优区间。
s32:将混合矩阵乘以第k个寻优区间的最大值和最小值得到对应的最大混合矩阵和最小混合矩阵。
s33:根据最大混合矩阵、最小混合矩阵和独立分量,计算第k个最大混合矩阵对应的最大观测信号与观测信号的总相关系数和最小混合矩阵对应的最小观测信号与观测信号的总相关系数的差值;判断第k个差值的符号与第k-1个差值的符号是否相同,如果是,进入s34;否则,进入s38。
两个观测信号之间的总相关系数的计算公式为:
其中,xi,x′i分别表示两个观测信号。
s34:判断第k个差值的符号与第k个寻优区间的最大值与最小值的差值的符号是否相同,如果是,进入s35;否则,进入s36。
s35:设定第k+1个寻优区间,且令第k+1个寻优区间的最小值为第k个寻优区间的最大值,进入s37。
s36:设定第k+1个寻优区间,且令第k+1个寻优区间的最大值为第k个寻优区间的最小值,进入s37。
s37:令k=k+1,返回s32。
s38:将第k-1个和第k个寻优区间组成最佳寻优区间。
s4:将独立分量通过步骤s2得到的最佳调整相位和步骤s3得到的最佳权值调整函数进行相位和幅值的调整得到调整独立分量,将调整独立分量和观测信号均进行傅里叶变换得到对应的频谱,计算每个调整独立分量频谱和其对应的观测信号频谱的总相关系数,按照总相关系数的大小将所有调整独立分量进行排序,得到最终分离后的信号源。
本发明实施例通过上述步骤对独立分量进行校正,可以准确的得到源信号的信息。而在处理噪声的过程当中,校正信号成为了关键的一步。这是由于噪声信号与能量之间有着直接的关系,源信号估计的准确度,会直接影响后续噪声的处理。
试验验证:
该实施例中采用四个较为典型的源信号sn(t)(n=1,2,3,4),通过本实施例方法进行实验验证。其中,如图4所示,典型信号分别是s1余弦信号,s2方波信号,s3正弦波信号,s4锯齿波信号。每个信号波形均设置200个样本点。混合矩阵a采用的是4×4的随机方阵。将源信号sn(t)与矩阵a进行混合,可以得出观测信号xn(t)。再通过fastica算法进行迭代计算,得到相应的分离后的独立分量yn(t)。
将源信号与矩阵a混合后,得到的观测信号如图5所示,可以看出每一个源信号在经过与随机矩阵a的混合之后,波形明显发生变化。
通过fastica算法处理信号,分离后得到的信号如图6所示。由于fastica算法处理信号的过程中对信号做了白化处理,所以在分离之后出现幅值,相位以及排序发生了改变。
经过本实施例方法上述s2-s4步骤的计算,将源信号的不确定性加以消除,包括幅值,相位以及排序等。如图7所示,是经过校正后得到的信号波形。校正后波形基本上恢复至与源信号相同。
为了能够更进一步的对本实施例方法进行验证,该实施例中还采用了三段语音信号进行混合,分离。其中语音信号的采样频率为44.1khz,采样点数为441000点。三段语音信号与3维随机矩阵a进行混合,得出相应的观测信号。图8所示为语音信号的源信号波形,图9所示为语音信号的观测信号波形。图10所示,为语音信号的分离信号波形,由波形可以看出经过fastica的白化处理过程,分离后所得出的源信号波形,幅值,相位,排序均发生了变化。图11所示为语音信号经过不确定性校正后的信号波形。由波形可以看出,该源信号波形的幅值,相位以及排序问题基本得到了校正。
通过上述的仿真实验证实了该实施例方法可以实现将混合的波形信号分离出源信号波形,同时将波形的不确定性进行消除,以达到较为完美的分离结果。这一结论为噪声源的识别提供了更加准确的分离信号,使得噪声源识别中可能存在的能量减弱等问题能够被降到最低,以达到源信号最高程度的保真,为噪声源识别研究提供更加可靠的技术支持。
实施例二:
本发明还提供一种噪声盲源信号分离终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现本发明实施例一的上述方法实施例中的步骤。
进一步地,作为一个可执行方案,所述噪声盲源信号分离终端设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述噪声盲源信号分离终端设备可包括,但不仅限于,处理器、存储器。本领域技术人员可以理解,上述噪声盲源信号分离终端设备的组成结构仅仅是噪声盲源信号分离终端设备的示例,并不构成对噪声盲源信号分离终端设备的限定,可以包括比上述更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述噪声盲源信号分离终端设备还可以包括输入输出设备、网络接入设备、总线等,本发明实施例对此不做限定。
进一步地,作为一个可执行方案,所称处理器可以是中央处理单元(centralprocessingunit,cpu),还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现场可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器是所述噪声盲源信号分离终端设备的控制中心,利用各种接口和线路连接整个噪声盲源信号分离终端设备的各个部分。
所述存储器可用于存储所述计算机程序和/或模块,所述处理器通过运行或执行存储在所述存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现所述噪声盲源信号分离终端设备的各种功能。所述存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据手机的使用所创建的数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
本发明还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现本发明实施例上述方法的步骤。
所述噪声盲源信号分离终端设备集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)以及软件分发介质等。
尽管结合优选实施方案具体展示和介绍了本发明,但所属领域的技术人员应该明白,在不脱离所附权利要求书所限定的本发明的精神和范围内,在形式上和细节上可以对本发明做出各种变化,均为本发明的保护范围。
起点商标作为专业知识产权交易平台,可以帮助大家解决很多问题,如果大家想要了解更多知产交易信息请点击 【在线咨询】或添加微信 【19522093243】与客服一对一沟通,为大家解决相关问题。
此文章来源于网络,如有侵权,请联系删除