一种主动降噪系统和方法与流程

文档序号:22433370发布日期:2020-10-02 10:20阅读:191来源:国知局
一种主动降噪系统和方法与流程

本发明涉及噪音处理领域,具体为一种主动降噪系统和方法。



背景技术:

主动降噪(activenoisecancellation,anc)是耳机通过里面的喇叭发出一个与环境噪声幅度相同相位相反的声波,二者声波叠加后相互抵消,使得佩戴者听到的噪声强度降低。

降噪滤波器实际上是对麦克风、喇叭等构成的声学系统频率特性的拟合,拟合的越精确降噪效果越好,由于上述声学系统的频率特性并不一定是平滑的曲线,降噪滤波器最好采用fir的结构,fir的结构对非平滑曲线拟合较好,为了获得很好的降噪效果,一般需要很高fir滤波器的阶数,造成实际实现起来非常困难,例如采样频率为192khz时,用一个乘累加单元完成4095阶的fir卷积运算,需要数字逻辑工作时钟频率高达786mhz,并且需要存储4096个滤波器系数,这对数字逻辑功耗和复杂度要求很高。

iir滤波器对频率特性平滑的声学系统的拟合较好,但实际声学系统会有奇点,造成iir滤波器难以很好拟合这种非平滑的频率特性曲线,降噪效果不佳,另一方面iir滤波器对1khz以上的频率特性的拟合效果差,为获得一组好的系数需要反复测试,导致iir滤波器的系数调校难度大。



技术实现要素:

本发明的目的是提供一种主动降噪系统和方法,便于滤波器系数的调校,提高对1khz以上频率特性的拟合目标的拟合效果。

为了实现上述目的,采用的技术方案为:一种主动降噪系统,包括:

一个音频采集器,其具有一个音频采集端和一个音频输出端。

音频采集端能够采集一段环境声音频和与其对应的一段噪声取样音频。音频输出端能够输出一段环境声音频模拟量和一段噪声取样音频模拟量。

一个a/d转换器,其具有:

一个模拟信号接收端,模拟信号接收端与音频输出端连接且接收环境声音频模拟量和噪声取样音频模拟量。

转换单元,其能够将环境声音频模拟量转换为环境声音频数字量。转换单元将噪声取样音频模拟量转换为噪声取样音频数字量。和

一个数字信号输出端,其能够输出环境声音频数字量及噪声取样音频数字量。

一个第一级fir滤波器,其具有一个第一输入端、第一级滤波单元和一个第一输出端。第一输入端与数字信号输出端连接。

第一输入端获取环境声音频数字量及噪声取样音频数字量。

第一级滤波单元能够根据噪声取样音频数字量获取一个第一滤波系数序列。

根据第一滤波系数序列及设定的窗函数滤波环境声音频数字量获取一段第一级滤波音频数据。

判断是否收到中断信息,若否,则重新从音频采集器采集环境声音频和与其对应的噪声取样音频。获取多段第一级滤波音频数据。

第一输出端,其能够输出多段第一级滤波音频数据。

一个存储器,其与第一输出端连接且能够将多段第一级滤波音频数据顺序存储到存储单元中。

一个第二级fir滤波器,其具有一个第二输入端、第二级滤波单元和一个第二输出端。

第二输入端与存储单元连接,获取多段第一级滤波音频数据。

第二级滤波单元根据每段第一级滤波音频数据所对应的第一滤波系数序列获取每段第一滤波音频数据的第二滤波系数。

将多段第一级滤波音频数据按存储单元的存储顺序拼接为一组音频。

根据每段第一滤波音频数据的第二滤波系数分别滤波一组音频中的多段音频获取一个第二级滤波音频数据。

一个d/a转换器,其与第二输出端连接,d/a转换器能够将第二级滤波音频数据转换成目标模拟量信号。

一个扬声器,其与d/a转换器连接,扬声器能够获取d/a转换器输出的目标模拟量信号,扬声器根据目标模拟量信号产生声波以抵消环境声音频中的噪音音频。

进一步地,第一级fir滤波器为一级、二级或多级矩形窗的级联fir滤波器。以循环寻址的方式将多段第一级滤波音频数据存入存储器。

第二级fir滤波器以循环寻址的方式读取存储器中的多段第一级滤波音频数据。

进一步地,第一级fir滤波器由长度为十六的两级矩形窗级联构成。每级矩形窗实现的公式为:

其中,n表示a/d转换器输出数据的标号。x表示a/d转换器输出的数据。x(n)表示标号为n的a/d转换器输出的数据。y(n)表示标号为n的第一级fir滤波器输出的数据。

进一步地,存储器的缓冲长度为4096个存储单元,存储器中每个存储单元的位宽为20比特。

以循环寻址的方式将多段第一级滤波音频数据存入存储器,包括:

存储器每接收第一级fir滤波器输出的一段第一级滤波音频数据,将接收的一段第一输出数据对应的地址指针增加1后写入存储器,当地址指针增到4095时再从0开始增加。

在复位状态时,存储器的写地址指针为0。当前最新写入的存储器地址指针记为pw(n),用公式表示如下:

其中,pw(n)为当前最新写入的存储器地址指针。mod表示取余操作。

进一步地,第二级fir滤波器系数的长度为4096个存储单元。

根据每段第一滤波音频数据的第二滤波系数分别滤波一组音频中的多段音频获取一个第二级滤波音频数据,包括下述步骤:

s1:初始化累加器值为0,再从最新写入的存储器地址pw(n)处读取最新缓存的一组音频中的一段音频,一段音频与序号1的第二滤波系数相乘后再加到累加器。

s2:读取地址指针减16后读取一组音频中的音频并与序号17的第二滤波系数相乘后再加到累加器,依此类推,当读取地址指针值减到负值时加上4096;

重复步骤s1和s2总共256次,用公式表示如下:

其中,i为运算的次数。b()为读取的存储器的第一级fir滤波器的输出,h()为第二级fir滤波器非0系数,z()为第二级fir滤波器的输出。

本发明还提供一种主动降噪方法,包括:

配置一个音频采集器,其具有一个音频采集端和一个音频输出端。

音频采集端能够采集一段环境声音频和与其对应的一段噪声取样音频。音频输出端能够输出一段环境声音频模拟量和一段噪声取样音频模拟量。

配置一个a/d转换器,其具有:

一个模拟信号接收端,模拟信号接收端与音频输出端连接且接收环境声音频模拟量和噪声取样音频模拟量。

转换单元,其能够将环境声音频模拟量转换为环境声音频数字量。转换单元将噪声取样音频模拟量转换为噪声取样音频数字量。和

一个数字信号输出端,其能够输出环境声音频数字量及噪声取样音频数字量。

配置一个第一级fir滤波器,其具有一个第一输入端、第一级滤波单元和一个第一输出端。第一输入端与数字信号输出端连接。

第一输入端获取环境声音频数字量及噪声取样音频数字量。

第一级滤波单元能够根据噪声取样音频数字量获取一个第一滤波系数序列。

根据第一滤波系数序列及设定的窗函数滤波环境声音频数字量获取一段第一级滤波音频数据。

判断是否收到中断信息,若否,则重新从音频采集器采集环境声音频和与其对应的噪声取样音频。获取多段第一级滤波音频数据。

第一输出端,其能够输出多段第一级滤波音频数据。

配置一个存储器,其与第一输出端连接且能够将多段第一级滤波音频数据顺序存储到存储单元中。

配置一个第二级fir滤波器,其具有一个第二输入端、第二级滤波单元和一个第二输出端。

第二输入端与存储单元连接,获取多段第一级滤波音频数据。

第二级滤波单元根据每段第一级滤波音频数据所对应的第一滤波系数序列获取每段第一滤波音频数据的第二滤波系数。

将多段第一级滤波音频数据按存储单元的存储顺序拼接为一组音频。

根据每段第一滤波音频数据的第二滤波系数分别滤波一组音频中的多段音频获取一个第二级滤波音频数据。

配置一个d/a转换器,其与第二输出端连接,d/a转换器能够将第二级滤波音频数据转换成目标模拟量信号。

配置一个扬声器,其与d/a转换器连接,扬声器能够获取d/a转换器输出的目标模拟量信号,扬声器根据目标模拟量信号产生声波以抵消环境声音频中的噪音音频。

与现有技术相比,本发明的技术效果为:采用第一级fir滤波器和第二级fir滤波器级联,以对声学系统的频率特性拟合,滤波器系数调校的工作小,省去了iir滤波器系数调校的工作,不仅对1khz以下的频率特性拟合较好,而且对1khz~3khz的拟合效果也较好,提高了随机噪声的可降噪频率范围,这样通过耳机里的扬声器发出一个与噪声声波相位相反幅度趋于一致的声波,噪声声波与扬声器发出的声波叠加后相互抵消,使得佩戴者听到的噪声强度明显降低。

附图说明

图1是本发明主动降噪系统的结构图。

图2是本发明中第一级fir滤波器和第二级fir滤波器处理数据的示意图。

图3是第二级fir滤波器时域脉冲响应波形图。

图4是第一级fir滤波器和第二级fir滤波器级联后的时域脉冲响应波形图。

图5是对目标幅度特性进行拟合后效果对比图。

图6是对目标相位特性进行拟合后效果对比图。

具体实施方式

下面结合附图对本发明的具体实施方式进行描述。

如图1所示,本发明一实施例为一种主动降噪系统,包括:

一个音频采集器10,其具有一个音频采集端和一个音频输出端。音频采集端能够采集一段环境声音频和与其对应的一段噪声取样音频。音频输出端能够输出一段环境声音频模拟量和一段噪声取样音频模拟量。音频采集器可以为麦克风(microphone,简称mic),麦克风是能够将声音信号转换为模拟量信号的能量转换器件。

一个a/d转换器20,其具有:一个模拟信号接收端,模拟信号接收端与音频输出端连接且接收环境声音频模拟量和噪声取样音频模拟量。

转换单元,其能够将环境声音频模拟量转换为环境声音频数字量。转换单元将噪声取样音频模拟量转换为噪声取样音频数字量。一个数字信号输出端,其能够输出环境声音频数字量及噪声取样音频数字量。

一个第一级fir滤波器30,其具有一个第一输入端、第一级滤波单元和一个第一输出端。第一输入端与数字信号输出端连接。第一输入端获取环境声音频数字量及噪声取样音频数字量。

第一级滤波单元能够根据噪声取样音频数字量获取一个第一滤波系数序列。

根据第一滤波系数序列及设定的窗函数滤波环境声音频数字量获取一段第一级滤波音频数据。判断是否收到中断信息,若否,则重新从音频采集器采集环境声音频和与其对应的噪声取样音频。获取多段第一级滤波音频数据。

第一输出端,其能够输出多段第一级滤波音频数据。

一个存储器40,其与第一输出端连接且能够将多段第一级滤波音频数据顺序存储到存储单元中。

一个第二级fir滤波器50,其具有一个第二输入端、第二级滤波单元和一个第二输出端。第二输入端与存储单元连接,获取多段第一级滤波音频数据。

第二级滤波单元根据每段第一级滤波音频数据所对应的第一滤波系数序列获取每段第一滤波音频数据的第二滤波系数。将多段第一级滤波音频数据按存储单元的存储顺序拼接为一组音频。根据每段第一滤波音频数据的第二滤波系数分别滤波一组音频中的多段音频获取一个第二级滤波音频数据。

一个d/a转换器60,其与第二输出端连接,d/a转换器能够将第二级滤波音频数据转换成目标模拟量信号。

一个扬声器70,其与d/a转换器60连接,扬声器能够获取d/a转换器输出的目标模拟量信号,扬声器根据目标模拟量信号产生声波以抵消环境声音频中的噪音音频。

在耳机的主动降噪过程中,一段环境声音频包括待消除的噪音音频和耳机发出的音频,本发明主动降噪系统是要消除环境声音频中的噪声音频。

一段噪声取样音频为待消除的噪音音频,音频采集器10采集一段噪声取样音频,a/d转换器20将噪声取样音频模拟量转换为噪声取样音频数字量。噪声取样音频数字量为第一级fir滤波器30和第二级fir滤波器50拟合的目标。

通过第一级fir滤波器30能够根据噪声取样音频数字量获取一个第一滤波系数序列,第一级fir滤波器30根据第一滤波系数序列及设定的窗函数滤波环境声音频数字量获取一段第一级滤波音频数据。

第一滤波系数是开发人员根据噪声取样音频数字量调校第一级fir滤波器30的初始滤波器系数获得的。滤波器系数是用于滤波数据时的权重。

如图2所示,图2中示意性地表示出第一级fir滤波器30获取的六段第一级滤波音频数据,存储器40能够将六段第一级滤波音频数据顺序存储到存储单元中。

第二级fir滤波器50根据每段第一级滤波音频数据所对应的第一滤波系数序列获取每段第一滤波音频数据的第二滤波系数。将每三段第一级滤波音频数据按存储单元的存储顺序拼接为一组音频。根据每三段第一滤波音频数据的第二滤波系数分别滤波一组音频中的三段音频获取一个第二级滤波音频数据。第二级滤波音频数据即为拟合完成的数据。

换言之,第二级fir滤波器50输出第二级滤波音频数据的相位和幅度趋近于实际的环境噪声,可以通过第二级fir滤波器50对目标数据进行反相,反相后的目标数据与环境噪声的相位相反幅度趋于一致。目标数据通过d/a转换器60转换成目标模拟量信号,扬声器70根据目标模拟量信号产生声波抵消环境声中的环境噪声声波。

本发明采用上述方案对噪声取样音频的频率特性拟合,省去了iir滤波器系数调校的工作,不仅对1khz以下的频率特性拟合较好,而且对1khz~3khz的拟合效果也较好,提高了随机噪声的可降噪频率范围,这样通过耳机里的扬声器发出一个与环境噪声相位相反幅度趋于一致的声波,二者声波叠加后相互抵消,使得佩戴者听到的噪声强度明显降低。

a/d转换器(analog-to-digitalconverter,简称adc),能够将数字量转变成模拟量的器件。d/a转换器(digital-to-analogconverter,简称dac),又称d/a转换器,把数字量转变成模拟量的器件。

fir(finiteimpulseresponse)滤波器是有限长单位冲激响应滤波器,又称为非递归型滤波器,可以在保证任意幅频特性的同时具有严格的线性相频特性,同时其单位抽样响应是有限长的。

在上述实施例的基础上,本实施例中第一级fir滤波器为一级、二级或多级矩形窗的级联fir滤波器。

以循环寻址的方式将多段第一级滤波音频数据存入存储器。

第二级fir滤波器以循环寻址的方式读取存储器中的多段第一级滤波音频数据。

本发明中第一级fir滤波器30对a/d转换器输出的采样数据进行第一级滤波,其中第一级fir滤波器30是一级、二级或多级矩形窗的级联,矩形窗的长度很小,将第一级fir滤波器30的输出以循环寻址的方式缓存至存储器,第二级fir滤波器50再以循环寻址的方式读取存储器中的数据以进行第二级fir滤波。

其中,第二级fir滤波器50系数的长度很大,但绝大部分系数都是0,将第二级fir滤波器50的输出送至d/a转换器60转换,第一级fir滤波器30通过存储器与第二级fir滤波器50级联,共同完成主动降噪滤波的功能。本发明实现了超高阶fir降噪滤波,而对数字逻辑工作的时钟频率和滤波器系数的存储均要求很低,易于实现。

本发明中存储器40是用来临时存储数据数字信号,使得第一级fir滤波器30以循环寻址的方式缓存至存储器,这样第二级fir滤波器50能够以循环寻址的方式读取存储器中的数字信号。

第一级fir滤波器和第二级fir滤波器都是数字滤波器,第二级fir滤波器可以为“梳状滤波器“,这种滤波器特征是滤波器系数一般包含较多的0。

缓冲长度是指的存储器中存储单元的个数,存储器中4096个存储单元,一个存储单元是20bit。

下面为本发明的一种具体实现方案。

第一级fir滤波器30由长度为十六的两级矩形窗级联构成。

每级矩形窗实现的公式为:

其中,n表示a/d转换器输出的数据的标号。x表示a/d转换器输出的数据。x(n)表示标号为n的a/d转换器输出的数据。y(n)表示标号为n的第一级fir滤波器输出的数据。

在存储器中存储有多个采样数据,矩形窗实现的就是滑动平均,长度为16的矩形窗就是16个采样点进行加权平均,使用平均值进行运算。矩形窗移动一次,然后求出新一组数据之和,再求平均值。

矩形窗级联后的第一级fir滤波器30系数序列可以为:1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,15,14,13,12,11,10,9,8,7,6,5,4,3,2,1。

存储器40的缓冲长度为4096个存储单元,存储器40中每个存储单元的位宽为20比特。

以循环寻址的方式将多段第一级滤波音频数据存入存储器,包括:

存储器每接收第一级fir滤波器输出的一段第一级滤波音频数据,将接收的一段第一输出数据对应的地址指针增加1后写入存储器,当地址指针增到4095时再从0开始增加。

在复位状态时,存储器的写地址指针为0。当前最新写入的存储器地址指针记为pw(n),用公式表示如下:

其中,pw(n)为当前最新写入的存储器地址指针。mod表示取余操作。

第二级fir滤波器50系数的长度为4096个存储单元。

第二级fir滤波器50以循环寻址的方式读取存储器中的数据,第二级fir滤波器50系数波形中,非0系数个数为256,非0系数之间均匀地补了15个0,非0值系数的序号为1、17、33、49……。

第二级fir滤波器50的运算过程包括如下步骤:

根据每段第一滤波音频数据的第二滤波系数分别滤波一组音频中的多段音频获取一个第二级滤波音频数据,包括下述步骤:

s1:初始化累加器值为0,再从最新写入的存储器地址pw(n)处读取最新缓存的一组音频中的一段音频,一段音频与序号1的第二滤波系数相乘后再加到累加器。

s2:读取地址指针减16后读取一组音频中的音频并与序号17的第二滤波系数相乘后再加到累加器,依此类推,当读取地址指针值减到负值时加上4096。

重复步骤s1和s2总共256次,用公式表示如下:

其中,i为运算的次数;b()为读取的存储器的第一级fir滤波器的输出,h()为第二级fir滤波器非0系数,z()为第二级fir滤波器的输出。

图3是第二级fir滤波器时域脉冲响应波形图,图3中m处实线椭圆放大后的内容位于虚线方框中。第一级fir滤波器与第二级fir滤波器级联后的等效滤波器系数个数为4126,如图4所示,第一级fir滤波器和第二级fir滤波器级联后的时域脉冲响应波形图。

上述步骤完成第二级滤波的一个采样点运算,需要256次的乘累加操作,每个采样点的更新速率是192khz,当复用一个乘累加器,需要该乘累加器工作时钟为49.152mhz,另需要存储256个非0的滤波器系数,实现起来功耗和复杂度很低。

图5是对比了本发明提供的方法和多级iir滤波器级联的方法对目标幅度特性拟合的效果。图6是对目标相位特性拟合效果的对比。曲线s1表示待拟合的目标波形,曲线s2表示本发明拟合曲线s1形成的波形,曲线s3表示现有技术采用6级2阶级联iir滤波器来拟合目标曲线形成的波形。

目标幅频特性曲线s1(“﹒”线)曲折不平,6级2阶iir级联的滤波器只能产生平滑的拟合曲线s3(“*”线)对1khz以内的曲线进行近似、1khz以上的拟合误差迅速增大,本发明提供的方法曲线s2(“+”线)不仅对1khz以内的曲线拟合很好,对1khz~3khz范围内的曲线拟合也很好,大大提升了降噪的频率范围。图6中可以看出本发明提供的方法对频率在3khz范围内的相频特性曲线拟合均很好。

本发明采用第一级fir滤波器和第二级fir滤波器级联,以对声学系统的频率特性拟合,省去了iir滤波器系数调校的工作,不仅对1khz以下的频率特性拟合较好,而且对1khz~3khz范围内的拟合效果更好,提高了随机噪声的可降噪频率范围。

本发明另一实施例为一种主动降噪方法,其包括:

配置一个音频采集器10,其具有一个音频采集端和一个音频输出端。音频采集端能够采集一段环境声音频和与其对应的一段噪声取样音频。音频输出端能够输出一段环境声音频模拟量和一段噪声取样音频模拟量。音频采集器可以为麦克风(microphone,简称mic),麦克风是能够将声音信号转换为电信号的能量转换器件。

配置一个a/d转换器20,其具有:一个模拟信号接收端,模拟信号接收端与音频输出端连接且接收环境声音频模拟量和噪声取样音频模拟量。

转换单元,其能够将环境声音频模拟量转换为环境声音频数字量。转换单元将噪声取样音频模拟量转换为噪声取样音频数字量。一个数字信号输出端,其能够输出环境声音频数字量及噪声取样音频数字量。

配置一个第一级fir滤波器30,其具有一个第一输入端、第一级滤波单元和一个第一输出端。第一输入端与数字信号输出端连接。第一输入端获取环境声音频数字量及噪声取样音频数字量。

第一级滤波单元能够根据噪声取样音频数字量获取一个第一滤波系数序列。

根据第一滤波系数序列及设定的窗函数滤波环境声音频数字量获取一段第一级滤波音频数据。判断是否收到中断信息,若否,则重新从音频采集器采集环境声音频和与其对应的噪声取样音频。获取多段第一级滤波音频数据。

第一输出端,其能够输出多段第一级滤波音频数据。

配置一个存储器40,其与第一输出端连接且能够将多段第一级滤波音频数据顺序存储到存储单元中。

配置一个第二级fir滤波器50,其具有一个第二输入端、第二级滤波单元和一个第二输出端。第二输入端与存储单元连接,获取多段第一级滤波音频数据。

第二级滤波单元根据每段第一级滤波音频数据所对应的第一滤波系数序列获取每段第一滤波音频数据的第二滤波系数。将多段第一级滤波音频数据按存储单元的存储顺序拼接为一组音频。根据每段第一滤波音频数据的第二滤波系数分别滤波一组音频中的多段音频获取一个第二级滤波音频数据。

配置一个d/a转换器60,其与第二输出端连接,d/a转换器能够将第二级滤波音频数据转换成目标模拟量信号。

配置一个扬声器70,其与d/a转换器连接,扬声器能够获取d/a转换器输出的目标模拟量信号,扬声器根据目标模拟量信号产生声波以抵消环境声音频中的噪音音频。

上述主动降噪方法的技术方案与主动降噪系统构思相同,具体参见主动降噪系统的说明,此处不再赘述。

上面结合附图对本申请优选的具体实施方式和实施例作了详细说明,但是本申请并不限于上述实施方式和实施例,在本领域技术人员所具备的知识范围内,还可以在不脱离本申请构思的前提下做出各种变化。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1