掌桥专利:专业的专利平台
掌桥专利
首页

一种噪声功率谱密度计算方法、系统、设备及介质

文献发布时间:2023-06-19 09:29:07


一种噪声功率谱密度计算方法、系统、设备及介质

技术领域

本发明涉及噪声处理领域,尤其涉及一种噪声功率谱密度计算方法、系统、设备及介质。

背景技术

随着随着通信技术的发展,语音交互技术日益成熟,广泛应用于手机、智能音箱、智能家居等智能设备。但在实际使用场景中仍存在一些问题,比如在远场、噪声场景下,需要使用噪声和干扰技术获取纯净的语音信号,以进行唤醒和语音识别。

由于远场条件下,麦克风接收到的信号中背景噪声所占成分很大,需要使用噪声抑制算法(如谱减法,维纳滤波及基于能量的滤波算法)来估计背景噪声的功率谱密度,但这些算法存在一些缺陷,比如,维纳滤波算法计算量较大,计算精度较低。因此,需要提出一种改进的噪声功率谱密度计算方法,以减少计算量,提高计算精度。

发明内容

针对目前存在的技术问题,本发明的主要目的在于提供一种噪声功率谱密度计算方法、系统、设备及介质,用于至少部分解决上述技术问题。

本发明实施例第一方面提供一种噪声功率谱密度计算方法,包括:采集时域噪声信号,对时域噪声信号进行处理,得到频域噪声信号;采用自适应滤波器对频域噪声信号进行处理,得到时域误差信号;计算时域误差信号的功率谱密度,根据误差信号的功率谱密度计算噪声功率谱密度。

可选地,该频域噪声信号包括第一频域噪声信号及第二频域噪声信号,采用自适应滤波器对频域噪声信号进行处理,得到误差信号包括:对第一频域噪声信号进行归一化最小均方差处理,得到第一频域噪声信号对应的滤波冲击响应信号;对第一频域噪声信号与其对应的滤波冲击响应信号作卷积处理,得到估计信号;将第二频域噪声信号与估计信号作减法运算,并经傅里叶逆变换,得到时域误差信号。

可选地,该频域噪声信号包括第一频域噪声信号及第二频域噪声信号,采用自适应滤波器对频域噪声信号进行处理,得到误差信号包括:采用分块频域自适应滤波算法对第一频域噪声信号进行分块自适应滤波处理,以降低计算量。

可选地,方法还包括:根据误差信号对自适应滤波器的滤波系数进行更新。

可选地,采集时域噪声信号,对时域噪声信号进行处理包括:采集第一时域噪声信号及第二时域噪声信号;对第一时域噪声信号及第二时域噪声信号进行分帧,加窗处理,并经过快速傅里叶变换,得到第一时域噪声信号对应的第一频域噪声信号及第二时域噪声信号对应的第二频域噪声信号。

可选地,在第一频域噪声信号进行分块自适应滤波处理过程中,需对第一频域噪声信号对应的点位数据进行部分去除及补零。

可选地,计算时域误差信号的功率谱密度如下式:

Γ

其中,e(n)表示时域误差信号,γ

本发明实施例第一方面提供一种噪声功率谱密度计算系统,包括:第一处理模块,用于采集时域噪声信号,对时域噪声信号进行处理,得到频域噪声信号;第二处理模块,用于采用自适应滤波器对频域噪声信号进行处理,得到时域误差信号;计算模块,用于计算时域误差信号的功率谱密度,根据误差信号的功率谱密度计算噪声功率谱密度。

可选地,频域噪声信号包括第一频域噪声信号及第二频域噪声信号,第二处理模块采用自适应滤波器对频域噪声信号进行处理,得到误差信号包括:对第一频域噪声信号进行归一化最小均方差处理,得到第一频域噪声信号对应的滤波冲击响应信号;对第一频域噪声信号与其对应的滤波冲击响应信号作卷积处理,得到估计信号;将第二频域噪声信号与估计信号作减法运算,并经傅里叶逆变换,得到时域误差信号。

可选地,频域噪声信号包括第一频域噪声信号及第二频域噪声信号,第二处理模块采用自适应滤波器对频域噪声信号进行处理,得到误差信号包括:采用分块频域自适应滤波算法对第一频域噪声信号进行分块自适应滤波处理,以降低计算量。

本发明实施例第三方面提供了一种电子设备,包括:存储器,处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现本发明实施例第一方面提供的噪声功率谱密度计算方法。

本发明实施例第四方面提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现本发明实施例第一方面提供的噪声功率谱密度计算方法。

从上述本发明实施例可知,本发明提供的一种噪声功率谱密度计算方法、系统、设备及介质,再对噪声信号进行处理时,采用自适应滤波器对信号进行处理,采用自适应滤波器中的NLMS算法替代维纳解,噪声估计更精确,计算量降低,后续的降噪效果更好。进一步的,在自适应滤波器算法部分,分块频域自适应滤波算法求解误差信号,可进一步降低计算量。

附图说明

为了更完整地理解本发明及其优势,现在将参考结合附图的以下描述,其中:

图1示意性示出了根据本发明实施例噪声功率谱密度计算方法的流程示意图。

图2示意性示出了根据本发明实施例噪声功率谱密度计算方法的流程示意图。

图3示意性示出了根据本发明实施例NLMS算法流程图。

图4示意性示出了根据本发明实施例噪声功率谱密度计算方法的流程示意图。

图5示意性示出了根据本发明实施例分块频域自适应滤波算法流程图。

图6示意性示出了根据本发明实施例噪声功率谱密度计算系统的结构示意图。

图7示意性示出了根据本发明实施例电子设备的硬件结构框图。

具体实施方式

为使得本发明的发明目的、特征、优点能够更加的明显和易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而非全部实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

噪声信号大多来自于随机且不特定产生的噪声源,例如遭受各类的振动源、疾驰而过的车辆,以及人们说话喧闹的声音。公园、学校、体育等公共场所都有人类活动时所制造的噪声,此外,室内各种家电设备、家庭用具所产生的声音,例如电视、影像、冷气机、排油烟机、空调设备或吃饭时的餐具碰撞时所发出的的声音均为噪声。

噪声会对正常语言信号的交互传递带来影响。比如:使用智能音箱听歌时,当发出“播放歌曲简单”的语音指令时,其一般都会包含有家电设备或家庭用具所产生的噪声,会导致智能音箱有可能不能准确地识别该语音指令。本发明提供的噪声功率谱密度计算方法、系统、设备及介质,能够快速准确的计算出噪声的功率谱密度,以此来进行降噪处理,可大大提高智能音箱识别的准确率,给大众以更好的体验感。又比如:利用双麦谱减法进行降噪处理时,需要带噪信号功率谱X

本发明提供的噪声功率谱密度计算方法、系统、设备及介质应用场景广泛,涉及噪声信号功率谱N

请参阅图1,图1是本发明一实施例提供的噪声功率谱密度计算方法的流程示意图,该方法主要包括以下步骤:

S101,采集时域噪声信号,对时域噪声信号进行处理,得到频域噪声信号。

采集时域噪声信号所用设备可为声音传感器、麦克等,具体本发明不加以限制。在本实施例中,采集两路时域噪声信号。在后期对时域噪声信号进行求解得到误差信号时,具体的求解过程是在频域实现的,因此,需要对时域噪声信号进行处理,将其转化为频域噪声信号。

S102,采用自适应滤波器对频域噪声信号进行处理,得到时域误差信号。

自适应滤波器是一种利用前一时刻已获得的滤波参数的结果,依据某种预先确定的准则,在迭代的过程中自动地调节当前时刻的滤波参数,以适应信号和噪声未知的或随时间变化的统计特性,从而实现最优滤波的滤波器。其不需要关于输入信号的先验知识,计算量小,其求解是一个逐渐收敛的过程,随着滤波器收敛,误差会越来越小。收敛范围是指演算发经过多少取样点其结果才可以接近稳定的状态。

本实施中,采用自适应滤波器代替维纳求解部分对时域噪声信号进行求解,以得到误差信号。求解过程中,自适应滤波器滤波参数自适应输入的时域噪声信号随时间变化的统计特性,随着不断迭代,更新滤波系数,即可求得误差信号。

自适应滤波器的算法可为NLMS算法或分块频域自适应滤波算法,具体算法本发明不加以限制,采用其它算法(如Leaky NLMS算法),结合自适应滤波器逐渐收敛求解的特性,亦可求得时域噪声信号的误差信号。

S103,计算时域误差信号的功率谱密度,根据误差信号的功率谱密度计算噪声功率谱密度。

本实施例通过自适应滤波器代替维纳求解部分,可提高噪声功率谱密度计算精度,减小噪声信号的计算量。

请参阅图2,图2是本发明一实施例提供的噪声功率谱密度计算方法的流程示意图,该方法主要包括以下步骤:

S201,采集时域噪声信号,对时域噪声信号进行处理,得到频域噪声信号。

在上述操作S201中,利用双麦克采集噪声信号,采集的噪声信号为时域噪声信号,其中,一个麦克采集第一时域噪声信号,另一个麦克采集第二时域噪声信号;

将采集的第一时域噪声信号及第二时域噪声信号分别进行分帧、加窗处理;对分帧、加窗处理后的信号通过快速傅里叶变换转换得到与第一时域噪声信号对应的第一频域噪声信号和与第二时域噪声信号对应的第二频域噪声信号。

S202,采用自适应滤波器对频域噪声信号进行处理,得到时域误差信号,其中,该自适应滤波器的算法部分采用归一化最小均方差算法。

在操作S202中,自适应滤波器采用的自适应滤波算法为归一化最小均方差(Normalized Least Mean Square,NLMS)算法,NLMS是将最小均方误差算法(LMS)中用来调整加权参数的修正速度μ值重新定义,使得μ值随输入滤波器信号作正则化改变,有效提升收敛的稳定性。

请参见图3,图3为NLMS算法流程图,该算法过程为:

对自适应滤波器的系数进行初始化,可以全部初始化为0,也可以根据其它准则初始化,具体初始化过程本发明不加以限制。

将步骤S201中得到的第一频域噪声信号作为自适应滤波器输入x(n),信号经过NLMS算法处理,得到该第一频域噪声信号的滤波冲击响应信号h(n),其中,滤波器冲击响应的公式为:

其中,α为固定步长,ξ为正则化因子,X(n)为输入信号矢量,X(n)=[x(n-M+1),x(n-M+2)...x(n)]。

对第一频域噪声信号与其对应的滤波冲击响应信号作卷积处理,得到估计信号,即估计信号y(n)=x(n)*h(n),中间星号代表卷积。

将操作S201中得到第二频域噪声信号与估计信号作减法运算,并经快速傅里叶逆变换,得到时域误差信号,即时域误差信号e(n)=d(n)-y(n)=d(n)-x(n)*h(n)。

S203,计算时域误差信号的功率谱密度,根据误差信号的功率谱密度计算噪声功率谱密度。

计算时域误差信号的功率谱密度如下式:

Γ

其中,e(n)表示时域误差信号,γ

计算噪声功率谱密度如下:

Γ

Γ

其中,Γ

基于本实施例的噪声功率谱密度计算方法,相比维纳解具有更高的精度,更低的计算量,后续的降噪效果更好。

请参见图4,图4为本发明一实施例提供的噪声功率谱密度计算方法的流程示意图,该方法与上一实施例的区别在于:在自适应滤波器算法部分,采用分块频域自适应滤波算法,以进一步降低计算量,下面对区别部分详细描述,其它部分不再赘述,未尽细节之处,请参见第一实施例,该方法主要包括以下步骤:

S401,采集时域噪声信号,对时域噪声信号进行处理,得到频域噪声信号。

S402,采用自适应滤波器对频域噪声信号进行处理,得到时域误差信号,其中,该自适应滤波器的算法部分采用分块频域自适应滤波算法。

根据数字信号处理理论,重叠保留和重叠相加算法为快速卷积运算提供了两种高效的算法,即利用DFT计算线性卷积。且当滤波器以百分之五十重叠时(块大小等于权值个数时)运算效率达到最高,因此,在采用自适应滤波器求解噪声信号的功率谱密度时,采用分块频域自适应滤波算法,以进一步降低计算量。

请参见图5,图5为分块频域自适应滤波算法具体流程图,如图5所示,下面具体举例说明算法过程:

将操作S401中得到的第一频域噪声信号作为自适应滤波器输入x(n),假如分块的块状长度为64个采样点,将两块数据串联得到128位时域点数据,经快速傅里叶变换后得到128为频域点数据X(k)。

自适应滤波器的长度w(k)为64点,假如在后边补零到128点,经快速傅里叶变换后得到为W(k)。X(k)和W(k)对应点乘得到Y(k)信号,再经过快速傅里叶逆变换得到估计信号y(n),注意,此处得到的数据仍为128点,由于前64点是圆周卷积的结果,是被破坏的数据,所以这里取后64点数据作为输出y(n),再用期望响应d(n)(第二频域噪声信号)减去y(n)得到误差信号e(n),注意到y(n)丢弃的是前64点。所以e(n)信号需要在前面补零到128点数据后再做快速傅里叶变换变成频域E(k)。参考X(k)点乘W(k)得到Y(k)时丢弃的是前64点,那么X(k)转置和E(k)点乘,再经快速傅里叶逆变换后应该丢弃后64点,同样地,变换到频域时又要在后边补零到128点,然后更新得到频域的滤波器的滤波系数W(k+1)。这样不断迭代,随着滤波器收敛,误差会越来越小。

在本实施例中,分块频域自适应滤波算法中每块时域长度为128点,频域有效长度为65点,每次滤波器用到的块数Blocks可以是7-13。具体的时域长度、频域有效长度及快数,本发明不加以限制,具体根据实际处理信号需求设定。

S403,计算时域误差信号的功率谱密度,根据误差信号的功率谱密度计算噪声功率谱密度。

本实施例进一步采用分块频域自适应滤波算法对噪声信号进行分块处理,可进一步降低计算量。

请参见图6,图6为本发明一实施例提供的噪声功率谱密度计算系统,该系统可内置于电子设备中,该噪声功率谱密度计算系统主要包括:第一处理模块601、第二处理模块602及计算模块603。

第一处理模块601,采集时域噪声信号,对时域噪声信号进行处理,得到频域噪声信号。具体地,第一处理模块601利用双麦克采集噪声信号,采集的噪声信号为时域信号,其中,一个麦克采集第一时域噪声信号,另一个麦克采集第二时域噪声信号;将采集的第一时域噪声信号及第二时域噪声信号分别进行分帧、加窗处理;对分帧、加窗处理后的信号通过快速傅里叶变换转换为第一时域噪声信号对应的第一频域噪声信号和第二时域噪声信号对应的第二频域噪声信号。

第二处理模块602,采用自适应滤波器对频域噪声信号进行处理,得到时域误差信号,其中,该自适应滤波器的算法部分为归一化最小均方差算法。

具体地,对自适应滤波器的系数进行初始化,可以全部初始化为0,也可以根据其他准则初始化。

将第一处理模块601得到的第一频域噪声信号作为第二处理模块602的自适应滤波器输入x(n),信号经过NLMS算法处理,得到该第一频域噪声信号的滤波冲击响应信号h(n),其中,滤波器冲击相应的公式为:

其中,α为固定步长,ξ为正则化因子,X(n)为输入信号矢量,X(n)=[x(n-M+1),x(n-M+2)…x(n)]。

对第一频域噪声信号与其对应的滤波冲击响应信号作卷积处理,得到估计信号,即估计信号y(n)=x(n)*h(n),中间星号代表卷积。

第二处理模块602将第一处理模块601得到第二频域噪声信号与估计信号作减法运算,并经傅里叶逆变换,得到时域误差信号,即时域误差信号e(n)=d(n)-y(n)=d(n)-x(n)*h(n)。

为了进一步降低计算量,在自适应滤波器处理信号时,采用分块频域自适应滤波算法对采集的噪声信号进行处理。

具体地,将第一处理模块601得到的第一频域噪声信号作为第一处理模块602的自适应滤波器输入x(n),假如分块的块状长度为64个采样点,将两块数据串联得到128位时域点数据,经快速傅里叶变换后得到128为频域点数据X(k)。

自适应滤波器的长度w(k)为64点,假如在后边补零到128点,经快速傅里叶变换后得到为W(k)。X(k)和W(k)对应点乘得到Y(k)信号,再经过快速傅里叶逆变换得到估计信号y(n),注意,此处得到的数据仍为128点,由于前64点是圆周卷积的结果,是被破坏的数据,所以这里取后64点数据作为输出y(n),再用期望响应d(n)(第二频域噪声信号)减去y(n)得到误差信号e(n),注意到y(n)丢弃的是前64点。所以e(n)信号需要在前面补零到128点数据后再做快速傅里叶变换变成频域E(k)。参考X(k)点乘W(k)得到Y(k)时丢弃的是前64点,那么X(k)转置和E(k)点乘,再经快速傅里叶逆变换后应该丢弃后64点,同样地,变换到频域时又要在后边补零到128点,然后更新得到频域的滤波器系数W(k+1)。这样不断迭代,随着滤波器收敛,误差会越来越小,k代表频域索引。

在本实施例中,分块频域自适应滤波算法中每块时域长度为128点,频域有效长度为65点,每次滤波器用到的块数Blocks可以是7-13。具体的时域长度、频域有效长度及块数,本发明不加以限制,具体根据实际处理信号需求设定。

计算模块603,计算时域误差信号的功率谱密度,根据误差信号的功率谱密度计算噪声功率谱密度。

计算时域误差信号的功率谱密度如下式:

Γ

e(n)表示时域误差信号,γ

计算噪声功率谱密度如下:

Γ

Γ

其中,Γ

请参见图7,图7是本发明一实施例电子设备的硬件结构示意图。

本实施例所描述的电子设备,包括:

存储器71、处理器72及存储在存储器71上并可在处理器上运行的计算机程序,处理器执行该程序时实现前述图1或图2或图4所示实施例中描述的噪声信号功率谱密度计算方法。

进一步地,该电子设备还包括:

至少一个输入设备73;至少一个输出设备74。

上述存储器71、处理器72输入设备73和输出设备74通过总线75连接。

其中,输入设备73具体可为摄像头、触控面板、物理按键或者鼠标等等。输出设备74具体可为显示屏。

存储器71可以是高速随机存取记忆体(RAM,Random Access Memory)存储器,也可为非不稳定的存储器(non-volatile memory),例如磁盘存储器。存储器71用于存储一组可执行程序代码,处理器72与存储器71耦合。

进一步地,本公开实施例还提供了一种计算机可读存储介质,该计算机可读存储介质可以是设置于上述各实施例中的终端中,该计算机可读存储介质可以是前述图7所示实施例中的存储器。该计算机可读存储介质上存储有计算机程序,该程序被处理器执行时实现前述图1或图2或图4所示实施例中描述的噪声信号功率谱密度计算方法。进一步地,该计算机可存储介质还可以是U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

在本申请所提供的多个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信链接可以是通过一些接口,模块的间接耦合或通信链接,可以是电性,机械或其它的形式。

所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。

另外,在本公开各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。

需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本公开并不受所描述的动作顺序的限制,因为依据本公开,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本公开所必须的。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。

以上为对本公开所提供的噪声信号功率谱密度计算方法、系统、设备及介质的描述,对于本领域的一般技术人员,依据本公开实施例的思想,在具体实施方式及应用范围上均会有改变之处,综上,本说明书内容不应理解为对本公开的限制。

相关技术
  • 一种噪声功率谱密度计算方法、系统、设备及介质
  • 一种基于噪声系数分析仪的噪声功率谱密度测量方法
技术分类

06120112182008