从电信号中去除噪声的方法和装置的制作方法

文档序号:2819678阅读:544来源:国知局
专利名称:从电信号中去除噪声的方法和装置的制作方法
技术领域
本发明属于用于从声传输或记录中去除或抑制不期望噪声的电子系统和数学方法。
背景技术
典型的声应用中,人类用户发出的语音被记录、存储并传输到位于不同地点的接收方。在用户的环境中,可能存在一个或多个噪声源通过意想不到的噪声来污染有用(用户的语音)信号。这使得接收方,无论是人还是机器,都很难或不可能理解用户的语音。随着便携式通信设备,像移动电话和个人数字助理等的大幅增长,这一问题变得尤其严重。现有技术中存在一些抑制这些噪声增加的方法,但都具有很大的缺点。比如,由于计算所需的时间,因此现有方法速度慢。现有方法还需要繁琐的硬件,使有用信号极大地失真,或具有较低的性能,使得它们没有用处。在例如Vaseghi著的,ISBN为0-471-62692-9的“Advanced DigitalSignal Processing and Noise Reducton”教科书中描述了一些现有方法。


图1所示为一个实施例的除噪系统的框图。
图2所示为一个实施例的噪声去除算法的框图,该实施例中假设有一个噪声源和一条通往麦克风的直接路径。
图3所示为普遍用于n个不同噪声源(这些噪声源可以是反射或另一噪声源的回声)的一个实施例的噪声去除算法的前端框图。
图4所示为通常有n个不同噪声源和信号反射的情况下,一个实施例的噪声去除算法的前端框图。
图5所示为一个实施例的除噪方法的流程图。
图6所示为一个实施例中,在包括许多其他讲话者和公共广播的机场终端噪声面前,对一个讲美式英语的女人的噪声抑制算法的结果图。
图7所示为在图2、图3和图4所示的实施例中,采用单向和全向麦克风进行除噪的实体配置的框图。
图8所示为一个实施例中,包括两个全向麦克风的除噪麦克风配置图。
图9所示为图8所示的实施例中,所需的C与距离的关系曲线。
图10所示为两个麦克风具有不同的响应特性的实施例中,噪声消除算法的前端框图。
图11A所示为在补偿之前两个麦克风(距离4厘米)之间的频率响应(百分之)差异图。
图11B所示为一个实施例中,DFT补偿之后两个麦克风(距离4厘米)之间的频率响应(百分之)差异图。
图11C所示为一个交替的实施例中,时域滤波器补偿之后两个麦克风(距离4厘米)之间的频率响应(百分之)差异图。
具体实施例方式
下述的详细描述有助于彻底理解本发明的实施例。然而,本领域的技术人员可以理解,本发明在没有这些详细描述的情况下也可以实现。在其他情况下,对大家熟知的结构和功能没有进行显示和描述,以避免对本发明实施例的描述造成不必要的混乱。
除非下面另有描述,否则图中所示的各种模块的构成和操作就和传统的设计相同。因此,这里对这样的模块无需进行详细描述,因为它们都被相关领域的技术人员所熟知。省略了更详细的描述来达到简化的目的,以便不混淆对本发明的详细描述。任何对图中(或其他实施例)的模块的必要修改都可以基于这里的详细描述由相关领域的技术人员做出。
图1所示为一个实施例的除噪系统的框图,所述除噪系统使用了当语音发出时从发声活动的生理信息中获取的知识。该系统包括麦克风10和传感器20,向至少一个处理器30提供信号。所述处理器包括一个除噪子系统或算法40。
图2所示为一个实施例的噪声去除算法的框图,其示出了所使用的系统组件。假设有一个噪声源和一条通往麦克风的直接路径。图2包括对包括一个信号源100和一个噪声源101的实施例的过程的图解描述。该算法使用两个麦克风一个“信号”麦克风1(“MIC1”)和一个“噪声”麦克风2(“MIC2”),但并不局限于此。假设MIC1收集带有噪声的大部分信号,而MIC2收集带有信号的大部分噪声。从信号源100到MIC1的数据表示为s(n),其中s(n)是对来自信号源100的信号的离散采样。从信号源100到MIC2的数据表示为s2(n)。从噪声源101到MIC2的数据表示为n(n)。从噪声源101到MIC1的数据表示为n2(n)。同理,从MIC1到噪声去除元件105的数据表示为m1(n),从MIC2到噪声去除元件105的数据表示为m2(n)。
噪声去除元件也接收来自发声活动检测(“VAD”)元件104的信号。VAD 104检测使用生理信息来确定讲话者什么时候讲话。在各种实施例中,所述VAD都包括一个射频装置、一个声门电阻仪、一个超声装置、一个声喉麦克风和/或一个气流检测器。
假设从信号源100到MIC1的传递函数和从噪声源101到MIC2的传递函数是一致的。从信号源100到MIC2的传递函数表示为H2(z),从噪声源101到MIC1的传递函数表示为H1(z)。假设传递函数一致不妨碍该算法的通用性,因为信号、噪声和麦克风之间的实际关系是简单的比值,而且为了简化,对这些比值进行重新定义。
在传统的噪声去除系统中,来自MIC2的信息用于去除来自MIC1的噪声。然而,一种无言的假设是VAD元件104性能不好,因此必须谨慎除噪,这样才不会随着噪声去除太多信号。然而,如果假设VAD 104性能很好,以致于当用户不发出语音时其值等于0,当有语音产生时其值等于1,这样就在噪声去除方面有了一个实质性的提高。
在分析单一的噪声源101和到麦克风的直接路径时,参考图2,进入MIC1的全部声音信息表示为m1(n)。同理,进入MIC2的全部声音信息表示为m2(n)。在z(数字频率)域中,表示为m1(z)和m2(z)。然后得到M1(z)=S(z)+N2(z)M2(z)=N(z)+S2(z)以及N2(z)=N(z)H1(z)S2(z)=S(z)H2(z)因此M1(z)=S(z)+N(z)H1(z)等式1M2(z)=N(z)+S(z)H2(z)对于具有两个麦克风的系统,通常都是这种情况。在实际的系统中,将一直有进入MIC1的噪声泄漏,还有进入MIC2的噪声泄漏。等式1有四个未知量,其中只有两个已知关系,因此不能直接解出。
然而,有另一种途径解等式1中的一些未知量。首先从检验到信号没产生时的情形开始分析,也就是说,来自VAD元件104的一个信号等于0,而且无语音产生。在这种情况下,s(n)=S(z)=0,等式1变为M1n(z)=N(z)H1(z)M2n(z)=N(z)其中,变量M的下标n表示只有噪声被接收。这样导致M1n(z)=M2n(z)H1(z)H1(z)=M1n(z)M2n(z)]]>等式2H1(z)可以使用任何可用的系统辨识算法来计算,当系统确定只有噪声被接收时,麦克风进行输出。该计算可以适应性地进行,因此系统能对噪声中的变化做出反应。
现在有一种解法可以解出等式1中的一个变量。另一个变量H2(z)可以使用在VAD等于1且正在产生语音时的情况来确定。此时,麦克风的最近(可能小于1秒)历史显示低噪声,可以假设n(s)=N(z)~0。则等式1变为M1s(z)=S(z)M2s(z)=S(z)H2(z)这样又会导致M2s(z)=M1s(z)H2(z)H2(z)=M2s(z)M1s(z)]]>这是H1(z)的逆运算。然而,需要注意的是,使用不同的输入—原来只有噪声产生,现在只有信号产生。计算H2(z)时,为H1(z)计算的值保持恒定,反之亦然。因此,假设计算H1(z)和H2(z)其中一个的时候,不计算的那个实质上不发生变化。
计算完H1(z)和H2(z)之后,将它们用于从信号中去除噪声。如果等式1重新写成S(z)=M1(z)-N(z)H1(z)N(z)=M2(z)-S(z)H2(z)S(z)=M1(z)-[M2(z)-S(z)H2(z)]H1(z)′S(z)[1-H2(z)H1(z)]=M1(z)-M2(z)H1(z)则N(z)可以如下面所示进行替换,来解出S(z)S(z)=M1(z)-M2(z)H1(z)1-H2(z)H1(z)]]>等式3如果传递函数H1(z)和H2(z)能以足够的精确度描述,那么就能将噪声完全去除,并恢复原始信号。这种结果与噪声的振幅和频谱特性无关。仅有的假设是性能好的VAD,足够精确的H1(z)和H2(z),那么当正在计算H1(z)和H2(z)中的其中一个时,另一个实质上保持不变。实际中,这些假设证明是合理的。
这里描述的噪声去除算法易于推广到包括任意数目的噪声源。图3所示为推广到n个不同噪声源时,一个实施例的噪声去除算法的前端框图。这些不同噪声源可以是彼此的反射或回声,但并不局限于此。这里示出了几个噪声源,每一个都具有一个传递函数或到每个麦克风的路径。先前命名的路径H2被标记为H0,因此标记到MIC1的噪声源2’的路径更加方便。每个麦克风的输出在变换到z域中时为M1(z)=S(z)+N1(z)H1(z)+N2(z)H2(z)+…Nn(z)Hn(z)等式4M2(z)=S(z)H0(z)+N1(z)G1(z)+N2(z)G2(z)+…Nn(z)Gn(z)当无信号(VAD=0)时,则(为清晰起见取消z)M1n=N1H1+N2H2+…NnHn等式5M2n=N1G1+N2G2+…NnGn现在可以定义一个新的传递函数,类似于上述的H1(z)H~1=M1nM2n=N1H1+N2H2+...NnHnN1G1+N2G2+...NnGn]]>等式6因此, 仅仅取决于噪声源和它们各自的传递函数,在无信号传输的任何时候都可以计算。再次,麦克风输入的下标n仅仅表示正在检测噪声,而下标s表示麦克风只在接收信号。
假设无噪声产生时,检验等式4
M1s=SM2s=SH0因此,H0可以像前述一样,使用任意可用的传递函数计算算法来解出。数学上H0=M2sM1s]]>使用等式6中定义的 来重写等式4,得到H~1=M1-SM2-SH0]]>等式7进而解出SS=M1-M2H~11-H0H~1]]>等式8等式8与等式3相同,其中以H0代替H2,以 代替H1。因此该噪声去除算法对于任意数目的噪声源,包括噪声源的回声在数学上都是仍然有效的。再次,如果H0和 的估计具有足够高的精确度,而且从信号麦克风只有一条路径的假设成立,那么噪声可以被完全地去除。
大多数情况下都具有多个噪声源和多个信号源。图4所示为通常有n个不同噪声源和信号反射的情况下,一个实施例的噪声去除算法的前端框图。这里,信号的反射进入这两个麦克风。这是最通常的情况,因为进入到麦克风中的噪声源的反射被精确地建模为简单的附加噪声源。为清楚起见,从信号到MIC2的直接路径已经从H0(z)变为H00(z),到MIC1和MIC2的反射路径分别由H01(z)和H02(z)表示。
对麦克风的输入变为M1(z)=S(z)+S(z)H01(z)+N1(z)H1(z)+N2(z)H2(z)+…Nn(z)Hn(z)等式9M2(z)=S(z)H00(z)+S(z)H02(z)+N1(z)G1(z)+N2(z)G2(z)+…Nn(z)Gn(z)
当VAD=0时,输入变为(再次取消z)M1n=N1H1+N2H2+…NnHnM2n=N1G1+N2G2+…NnGn该等式与等式5相同。因此,如所期望的那样,对等式6中 的计算未变。在检验无噪声的情况中,等式9变为M1s=S+SH01M2s=SH00+SH02由此来定义 H~2=M2sM1s=H00+H021+H01]]>等式10使用对 (如等式7)的定义再次重写等式9,得到H~1=M1-S(1+H01)M2-S(H00+H02)]]>等式11进而经过一些代数操作得到S(1+H01-H~1(H00+H02))=M1-M2H~1]]>S(1+H01)[1-H~1(H00+H02)1+H01]=M1-M2H~1]]>S(1+H01)[1-H~1H~2]=M1-M2H~1]]>最终得到S(1+H01)=M1-M2H~11-H~1H~2]]>等式12等式12和等式8相同,只是H0替换为 ,且左侧增加了因子(1+H01)。这个额外的因子意味着S在这种情况下不能直接解出,但对于信号加上它的全部回声,能产生一个解。这不是一种坏情况,因为有很多传统的方法处理回声抑制,而且即使不对回声进行抑制,它们也不可能很大程度影响对语音含义的理解。需要对 进行更复杂的计算以解决作为噪声源的MIC 2中的信号回声。
图5所示为一个实施例的除噪方法的流程图。在操作中,声音信号在502处被接收502。接着,与人类发声活动相关的生理信息在504处被接收。通过确定声音信号中至少有一段特定的时间没有发声信息,计算代表声音信号的第一传递函数506。通过确定声音信号中至少有一段特定的时间具有发声信息,计算代表声音信号的第二传递函数508。使用第一传递函数和第二传递函数的至少一次结合,产生除噪声音数据流510,将噪声从声音信号中去除。
从具有一条直接路径的一个噪声源到带有反射和回声的多个噪声源的最简单例子,描述了噪声去除算法或除噪算法。这里显示的该算法在不同的环境条件下可发生变化。如果能很好地估计 和 ,而且其中一个在计算另一个时实质上不变,则噪声的类型和数量都无关紧要。如果用户环境是存在回声,而且回声来自噪声源,则可以对它们进行补偿。如果还存在信号回声,则它们将影响所得的清晰信号,但是大多数情况下,这些影响应被忽略。
在操作中,在处理各种噪声类型、振幅和方向时,实施例中的算法显示出很好的结果。然而,当从数学概念到工程应用转移时,总是得进行近似和调整。等式3中,假设H2(z)很小,因此H2(z)H1(z)≈0,因此等式3变为S(z)≈M1(z)-M2(z)H1(z)这就意味着只需计算H1(z),加速了处理进程,减少了所需的大量计算。如果正确选择了麦克风,则这种近似很容易实现。
另一种近似涉及一个实施例中使用的过滤器。实际的H1(z)将无可置疑地具有极点和零点,但是为稳定性和简单化起见,使用了全零点的有限脉冲响应(FIR)滤波器。如果具有足够的分支(大约60),就能很好地逼近实际的H1(z)。
关于子带的选择,传递函数必须计算的的频率范围越宽,它的精确计算就越难。因此,声音数据被分成16个子带,最低频率50Hz,最高频率3700Hz。该除噪算法依次应用于每个子带,然后对16个除噪数据流进行重新组合,来生成除噪的声音数据。这种方法进行地很好,但可以使用子带的任意组合(即4、6、8、32等间隔、感性间隔等组合),且同样进行地很好。
一个实施例中噪声的振幅受到抑制,使得所使用的麦克风不会饱和(也就是说,工作在线性响应区域之外)。麦克风线性工作来保证最好的性能是很重要的。即使在这种限制下,仍然可以对非常低的信噪比(SNR)信号进行除噪(降至-10dB以下或更少)。
使用最小均方(LMS)算法、通常的自适应传递函数,可每10毫秒来完成对H1(z)的计算。Widrow和Streams 1985年著的“Adaptive SignalProcessing”中有对它的解释,这本书由Prentice-Hall出版,ISBN为0-13-004029-0一实施例中的VAD由射频感测器和两个麦克风得来,对发声语音和无声语音产生很高的精确度(99%)。实施例中的VAD使用射频(RF)干涉仪来检测和人类语音的产生相关的组织运动,但并不局限于此。因此,该VCD是完全不受噪声影响的,而且能在任何噪声环境中运行。一个简单的对RF信号的能量测量可以用于判断是否正在产生发声语音。可以使用传统的基于声音的方法来确定无声语音,接近于使用RF传感器或类似的发声传感器或上述的结合来确定发声部分。由于在无声语音中有非常少的能量,因此其激活精确度不像有声语音中那样精确。
根据可靠地检测到的有声和无声语音,可以实现一个实施例的算法。再次,重复一下噪声去除算法不依赖于VAD如何获得是有用的,只要它足够精确,尤其对于有声语音。如果语音未被检测到,而且训练在语音上发生,则之后的除噪声音数据可能失真。
数据在4个信道中收集,一个用于MIC1,一个用于MIC2,两个用于射频传感器,其检测与有声语音相关的组织运动。上述数据在40kHz被同时采样,然后被数字化过滤,分样至8kHz。较高的采样率用于减少由于模拟到数字的处理过程而产生的任何假信号。一个四信道美国国家仪器有限公司的(National Instruments)A/D板与Labview共同用于捕获并存储数据。该数据之后被读入一个C程序中,然后被10毫秒一次除噪。
图6所示为一个实施例中,在包括许多其他讲话者和公共广播的机场终端噪声下,对一个讲美式英语的女人的噪声抑制算法的结果。讲话者在机场终端噪声的中间正发出数字406-5562的声音。掺杂有噪声的声音数据10毫秒一次被除噪,且在除噪之前,10毫秒的数据从50到3700Hz被预过滤。显然,减少了大约17dB的噪声。由于该采样上没有后过滤,因此上述实现的所有噪声的减少都是由于实施例的算法。显然,该算法迅速适应于噪声,且能够去除其他讲话者的难以去除的噪声。测试了各种不同类型的噪声,都得到了相似的结果,包括街道噪声、直升机噪声、音乐和正弦波等。而且,即使噪声的方向发生实质性的变化,也没有显著改变噪声抑制性能。最后,所得的清晰语音的失真很低,保证了语音识别机和人类接收器的良好性能。
图中显示了实施例的噪声去除算法在任何环境条件下的变化。如果对 和 做很好的估计,则噪声的类型和数量都无关紧要。如果用户环境有回声存在,如果它们来自一个噪声源,则可以被补偿。如果还有信号回声,那么它们会影响所得的清晰信号,但在大多数环境下,这种影响可以忽略。
图7所示为在图2、图3和图4所示的实施例下,采用单向麦克风M2对噪声和采用全向麦克风M1对语音进行除噪的实体配置的框图。如上所述,从语音到噪声麦克风(MIC2)的路径接近于0,而且可以通过全向和单向麦克风的仔细布置,实现这种近似。当噪声被定向到与信号位置(噪声源N1)相反时,可以实现较好的近似(噪声抑制的20-40dB)。然而,当噪声源被定向在与讲话者同一侧(噪声源N2)时,性能就降低至噪声抑制的仅仅10-20dB。抑制能力的这种下降可归结于确保H2接近于0的步骤。这些步骤包括使用用于噪声麦克风(MIC2)的单向麦克风,使得噪声数据中几乎没有信号。由于单向麦克风抵消了来自特定方向的声音信息,因此它也抵消了来自和语音相同方向的噪声。这可以限制自适应算法定性并去除某一位置的噪声,如N2的能力。当单向麦克风用于语音麦克风M1时,有相同的影响。
然而,如果用一个全向麦克风代替单向麦克风M2,则M2捕获大量信号。这与前述的H2为0的假设相反,结果在发声过程中,去除了大量信号,导致除噪及“除信号”。如果信号失真要保持在最小,则这个结果是不可接受的。因此,为了减少失真,计算H2的值。然而,在有噪声的情况下或噪声被误标为语音而未被去除的情况下无法计算H2的值。
关于只有声音(acoustic-only)的麦克风阵列的经验建议一个小的双麦克风阵列是解决这一问题的办法。图8所示为一个实施例中,包括两个全向麦克风的除噪麦克风配置图。通过使用两个定向在同一方向(朝向信号源)的单向麦克风,可以达到相同的效果。然而另一实施例使用了一个单向麦克风和一个全向麦克风。用于在信号源的方向从声源捕获类似信息。信号源和两个麦克风的相对位置固定且已知。通过将麦克风放置在与n个离散时间采样相对应的距离为d的位置,而且将讲话者置于阵列的轴上,则H2可以固定为Cz-n的形式,其中C是M1和M2处的信号数据的振幅差。对于下述内容,假设n=1,虽然除0之外的任意整数都可以使用。考虑到因果关系,建议使用正整数。当球形压力源的振幅随1/r变化时,将允许对源的方向和距离进行描述。所需的C可以如下估计 图9所示为图8所示的实施例中,所需的C与距离的关系曲线。可以看出,渐近线趋于C=1.0,且在大约38厘米时,C达到0.9,略大于1英尺,在60厘米时C达到0.94。当距离以手持装置或耳机方式正常地变化(4到12厘米)时,C将在大约0.5至0.75之间变化。这与位于大约60厘米远的噪声源有大约19-44%的差异,而且很明显,大多数噪声源都比这个值远。因此,使用该配置的系统能十分有效地区分噪声和信号,即使它们有相近的定向。
为确定对C的不良估计时的除噪效果,假设C=nC0,其中C是估计的,C0是C的实际值。使用上述对信号的定义,得到S(z)=M1(z)-M2(z)H1(z)1-H2(z)H1(z)]]>假设H2(z)足够小,因此信号近似于S(z)≈M1(z)-M2(z)H1(z)如果没有语音,上述结果就是真实的,因为H2=0。然而,如果有语音产生,H2为非零,如果设为Cz-1,S(z)=M1(z)-M2(z)H1(z)1-Cz-1H1(z)]]>上述等式可以写成S(z)=M1(z)-M2(z)H1(z)1-nC0z-1H1(z)=M1(z)-M2(z)H1(z)1-C0z-1H1(z)+(1-n)C0z-1H1(z)]]>分母的最后一个因子决定由于对C的不良估计而导致的误差。该因子标记为EE=(1-n)C0z-1H1(z)因为z-1H1(z)是一个滤波器,因此它的量将一直是个正数。因此,由于E,计算的信号量的变化将完全取决于(1-n)。
有两种可能的误差对C的过小估计(n<1)和对C的过大估计(n>1)。在第一种情况下,对C估计的比实际小,或信号接近于估计值。在这种情况下(1-n),因此E为正数。因此分母太大,所得的清晰信号的数量太小。这表明除信号。在第二种情况下,信号远远超过所估计的值,而且E为负数,这使得S大于它的应该值。在这种情况下,除噪不充分。因为理想情况是很低的信号失真,因此对C的过大估计会产生错误。
上述结果显示,与信号位于相同的立体角(从M1的方向)的噪声将依赖于信号点和噪声点之间的C的变化而从实质上去除。因此,当使用距离嘴大约4厘米的带有M1的手持装置时,所需的C大约为0.5,对于大约1米处的噪声,C大约为0.96。因此,对于噪声,估计C=0.5意味着对于噪声,C被低估了。噪声将被去除。去除的数量将直接取决于(1-n)。因此,该算法使用到信号的方向和范围来从噪声中分出信号。
一种新提出的观点涉及这项技术的稳定性。明确地,(1-H1H2)的解卷积引出稳定性的问题,因为在每个声音段的开始需要计算(1-H1H2)的倒数。这有助于降低计算时间,或实现该算法的每周期指令的数量,因为无需计算每个有声窗口的倒数,仅仅计算第一个,因为H2被认为是常数。然而,每次遇到一个假正,都需要对1-H1H2的倒数进行计算,从而这一近似将使假正计算更加昂贵。
幸运的是,H2的选择消除了所需的解卷积。从上述讨论,信号可写成S(z)=M1(z)-M2(z)H1(z)1-H2(z)H1(z)]]>该等式可被写成S(z)=M1(z)-M2(z)H1(z)+S(z)H2(z)H1(z)或S(z)=M1(z)-H1(z)[M2(z)+S(z)H2(z)]然而,由于H2(z)是Cz-1的形式,因此时域中的序列来起来像
s[n]=m1[n]-h1*[m2[n]]-C·s[n-1]意味着当前信号采样需要当前MIC1信号、当前MIC2信号和之前的信号采样。这意味着不需要解卷积,仅仅需要一个简单的减法,然后一个像前面的卷积。所需计算的增加被降至最低。因此,这种提高很容易实现。
该实施例中麦克风响应的差异的结果可以通过检验图2、3和4中的配置来显示。只有这次包括时间传递函数A(z)和B(z),它们表示MIC1和MIC2的频率响应以及它们的过滤及放大响应。图10所示为两个麦克风MIC1和MIC2具有不同的响应特性的实施例中,噪声消除算法的前端框图。
图10包括实施例进程的图形描述,具有一个信号源1000和一个噪声源1001。该算法使用两个麦克风一个“信号”麦克风1(“MIC1”)和一个“噪声”麦克风2(“MIC2”),但不局限于此。假设MIC1捕捉带有一些噪声的大部分信号,而MIC2捕捉带有一些信号的大部分噪声。从信号源1000到MIC1的数据表示为s(n),其中s(n)是对来自信号源1000的模拟信号的离散采样。从信号源1000到MIC2的数据表示为s2(n)。从噪声源1001到MIC2的数据表示为n(n)。从噪声源1001到MIC1的数据表示为n2(n)。
传递函数A(z)表示随同MIC1的过滤和放大响应的频率响应。传递函数B(z)表示随同MIC2的过滤和放大响应的频率响应。传递函数A(z)的输出表示为m1(n),传递函数B(z)的输出表示为m2(n)。信号m1(n)和m2(n)被噪声去除元件1005接收,噪声去除元件1005处理这些信号,并输出“清晰的语音”。
下面,术语“MIC X的频率响应”将包括对麦克风的数据记录过程中发生的任何放大或滤波处理与麦克风效果的结合。当解信号和噪声(为清晰起见取消“z”)时,
S=M1A-H1N]]>N=M2B-H2S]]>其中将后者代入前者,得到S=M1A-H1M2B+H1H2S]]>S=M1A-H1M2B1-H1H2]]>该等式好像表明频率响应(MIC1和MIC2之间)的差异具有一个影响。然而,必须注释正在测量的量。前面(在考虑麦克风的频率响应之前),H1使用下式测量H1=M1nM2n]]>其中下标n表明该计算仅发生在只包括噪声的窗口过程中。然而,当检验等式时,需要注意的是,无信号时,在麦克风处测量如下值M1=H1NAM2=NB因此,H1应该这样计算H1=BM1nAM2n]]>然而,计算H1(z)时不考虑B(z)和A(z)。因此实际测量的仅仅是每个麦克风中信号的比率H~1=M1nM2n=H1AB]]>
其中 表示所测得的响应,H1为实际响应。对H2的计算类似于对H1的计算,得到H~1=M2sM1s=H2BA]]>将 和 代回上面S的等式,解得S=M1A-BH~1M2AB1-H~1BAH~2AB]]>或SA=M1-H~1M21-H~1H~2]]>当麦克风的频率响应不包括在其中时,该等式和前面的相同。这里S(z)A(z)代替S(z),值( 和 )代替实际的H1(z)和H2(z)。因此,理论上,该算法独立于麦克风和相关的滤波器及放大器响应。
然而,实际中,假设H2=Cz-1(C是常数),但实际是H~2=BACz-1]]>因此,结果是SA=M1-H~1M21-BAH~1Cz-1]]>该等式依赖于B(z)和A(z),这两者都是未知的。如果麦克风的频率响应实质上不同,二者是共同产生的,尤其所使用的廉价的麦克风时,会出现问题。这意味着来自MIC2的数据应该被补偿,使得它与来自MIC1的数据具有适当的关系。这些可以通过记录来自源的MIC1和MIC2中的宽带信号来实现,所述源位于所期望的实际信号(可以使用实际的信号源)的距离和方向上。然后计算每个麦克风信号的离散傅立叶变换(DFT),并计算每个频率接收器的变换数量。然后,每个频率接收器中的MIC2的DFT数量被设置为等于C乘以MIC1的DFT数量。如果M1[n]表示对MIC1的DFT的第n个频率接收器的数量,则该因子乘以M2[n]是F[n]=CM1[n]M2[n]]]>然后,使用之前的MIC2 DFT相位,将这种逆变换应用于新的MIC2 DFT振幅。通过这种方式,MIC2被重新合成,使得关系式M2(z)=M1(z)Cz-1在仅有语音发生时很多次都是正确的。使用一个滤波器模仿尽可能模仿F的特性(例如,Matlab函数FFT2.M可以与计算的F[n]值使用来构建一个合适的FIR滤波器),该变换还可以在时域中实现。
图11A所示为在补偿之前两个麦克风之间(距离4厘米)的频率响应(百分之)差异图。图11B所示为DFT补偿之后两个麦克风之间(距离4厘米)的频率响应(百分之)差异图。图11C所示为时域滤波器补偿之后两个麦克风之间(距离4厘米)的频率响应(百分之)差异图。这些图显示了上述补偿方法的有效性。因此,使用两个廉价的全向麦克风和单向麦克风,两种补偿方法都能够恢复两个麦克风之间的正确关系。
只要相对放大及滤波进程不变,则该变换应该相对恒定。因此,只需在制造阶段进行补偿处理是可能的。然而,如果需要,可以假设H2=0来运行该算法,直到该系统应用于几乎没有噪声和很强信号的地方。然后,可以计算补偿系数F[n],并从此时开始使用。由于噪声很小时无需除噪,因此该计算不会对除噪算法产生不适当的影响。除噪系数也可以在噪声环境最满意的情况下更新,以得到最佳的精确度。
图中描述的每个框和每个步骤都包括一系列在这里无需加以描述的操作。本领域的技术人员能够创造程序、算法、源代码、微码、程序逻辑阵列或实现基于上述附图和具体描述的发明。这里描述的程序可以包括下述中的任何一个,或下述一个或多个的组合存储在形成相关的一个或多个处理器一部分的非易失性存储器(未示)中的程序;使用传统的程序逻辑阵列或电路元件来实现的程序;存储在可移动媒体如盘中的程序;从服务器上下载的或存储在本地用户中的程序;硬连线或预编程至芯片中的程序,如电可擦可编程只读存储器(“EEPROM”)半导体芯片、特定用途集成电路(ASIC)或数字信号处理(DSP)集成电路。
除非上下文明确需要,否则说明书和权利要求书中使用的词“包括(comprise)”和“包括(comprising)”等都应直译为包括,而非排外的或彻底的意思,就是说,是“包括,但并不局限于”的意思。使用单数和复数的词也分别包括多个或单个数。此外,词“这里”、“下面”等类似的词使用在该申请中时,应该指该申请的整体,而非该申请的任何特定部分。
本发明的上述实施例的描述并非用于将本发明描述彻底或将本发明限制地如所描述的那样精确。而是,这里描述的本发明的特定实施方式和实施例是用于说明的目的,本领域的技术人员可以在本发明的范围内做出各种等同的修改。这里所述的本发明的理论可以应用于其他机器视觉系统中,不仅仅是上述的数据收集象征阅读器。而且,上述各实施例的元件和动作可以结合形成另外的实施例。
一些参考文件或这里引用的美国专利申请都加以引用。如果有必要,本发明的内容可以被修改,以便使用这些参考文件的系统、函数和概念,为本发明提供更多的实施例。
权利要求
1.一种从电信号中去除噪声的方法,包括在第一接收装置中接收多个声音信号;在第二接收装置中接收多个声音信号;所述多个声音信号包括至少一个噪声源产生的至少一个噪声信号和至少一个信号源产生的至少一个话音信号,所述至少一个信号源包括讲话者,且信号源、第一接收装置和第二接收装置的相对位置固定且已知;接收与讲话者的人类发声活动相关的生理信息,包括是否有发声活动;通过判断至少一段特定的时间内所述多个声音信号中没有发声活动,来产生表示所述多个噪声信号的至少一个第一传递函数;通过判断至少一段特定的时间内所述多个声音信号中有发声信息,来产生表示所述多个声音信号的至少一个第二传递函数;使用所述至少一个第一传递函数和所述至少一个第二传递函数的至少一种组合来从所述多个声音信号中去除噪声,由此产生至少一个除噪后的数据流。
2.如权利要求1所述的方法,其特征在于所述第一接收装置和第二接收装置都包括从单向麦克风和单向麦克风中选择的麦克风。
3.如权利要求1所述的方法,其特征在于所述多个声音信号以离散的时间采样被接收,所述第一接收装置和第二接收装置距离“d”,所述d对应于n个离散的时间采样。
4.如权利要求1所述的方法,其特征在于所述至少一个第二传递函数被确定为所述第一接收装置的信号数据的振幅和所述第二接收装置的信号数据的振幅之差的函数。
5.如权利要求1所述的方法,其特征在于所述从多个声音信号中去除噪声包括使用从所述至少一个第一接收装置到至少一个信号源的方向和范围。
6.如权利要求1所述的方法,其特征在于所述至少一个第一接收装置和所述至少一个第二接收装置的各个频率响应是不同的,对来自所述至少一个第二接收装置的信号数据进行补偿,使其与来自所述至少一个第一接收装置的信号数据具有正确的关系。
7.如权利要求6所述的方法,其特征在于补偿来自所述至少一个第二接收装置的信号数据包括记录来自源的所述至少一个第一接收装置和所述至少一个第二接收装置中的宽带信号,所述源位于对于一个来自所述至少一个信号源的信号所期望的距离和定向上。
8.如权利要求6所述的方法,其特征在于补偿来自所述至少一个第二接收装置的信号数据包括频域补偿。
9.如权利要求8所述的方法,其特征在于频率补偿包括对每个来自所述至少一个第一接收装置和所述至少一个第二接收装置的信号数据进行频率转换计算;计算每个频率接收器的频率转换的数量;以及在每个频率对来自所述至少一个第二接收装置的信号数据进行频率转换数量的设置,使其成为一个与来自所述至少一个第一接收装置的信号数据的频率转换数量相关的值。
10.如权利要求6所述的方法,其特征在于补偿来自所述至少一个第二接收装置的信号数据包括时域补偿。
11.如权利要求6所述的方法,还包括起初设置所述至少一个第二传递函数为0;以及当所述至少一个噪声信号相对于所述至少一个话音信号很小时,计算补偿系数。
12.如权利要求1所述的方法,其特征在于所述多个声音信号包括所述至少一个噪声信号的至少一个反射和所述至少一个话音信号的至少一个反射。
13.如权利要求1所述的方法,其特征在于所述接收生理信息包括使用至少一个检测器来接收和人类发声相关的生理数据,所述检测器选自声音麦克风、射频装置、声门电阻仪、超声装置、声喉麦克风和气流检测器。
14.如权利要求1所述的方法,其特征在于所述产生至少一个第一传递函数和至少一个第二传递函数包括对自适应技术和递归技术中至少一项技术的使用。
15.一种从声音信号中去除噪声的系统,包括至少一个接收器,包括至少一个信号接收器,用于接收来自信号源的至少一个声音信号;至少一个噪声接收器,用于接收来自噪声源的至少一个噪声信号,所述信号源、至少一个信号接收器和至少一个噪声接收器的相对位置固定且已知;至少一个传感器,用于接收与人类发声活动相关的生理信息;以及至少一个处理器,耦合于所述至少一个接收器和产生多个传递函数的所述至少一个传感器之间,其中表示所述至少一个声音信号的至少一个第一传递函数的产生响应于至少一段特定的时间内所述至少一个声音信号中没有发声信息的判断,其中表示所述至少一个声音信号的至少一个第二传递函数的产生响应于至少一段特定的时间内所述至少一个声音信号中有发声信息的判断,其中使用所述至少一个第一传递函数和所述至少一个第二传递函数的至少一种组合来将噪声从所述至少一个声音信号中去除。
16.如权利要求15所述的系统,其特征在于所述至少一个传感器包括至少一个射频(“RF”)干涉仪来检测和人类语音相关的组织运动。
17.如权利要求15所述的系统,其特征在于所述至少一个传感器包括从声音麦克风、射频装置、声门电阻仪、超声装置、声喉麦克风和气流检测器中选择的至少一个传感器。
18.如权利要求15所述的系统,其特征在于对所述至少一个处理器配置如下将所述至少一个声音信号的声音数据分成多个子带;使用所述至少一个第一传递函数和所述至少一个第二传递函数的至少一种组合来将噪声从每个子带中去除,产生多个除噪后的声音数据流;以及将所述多个除噪后的声音数据流组合产生所述至少一个除噪后的声音数据流。
19.如权利要求15所述的系统,其特征在于所述至少一个信号接收器和所述至少一个噪声接收器都是麦克风,选自单向麦克风和全向麦克风。
20.一种耦合于至少一个用户和至少一个电子装置之间的信号处理系统,所述信号处理系统包括至少一个第一接收装置,用于接收来自信号源的至少一个声音信号;至少一个第二接收装置,用于接收来自噪声源的至少一个噪声信号,所述信号源、所述至少一个第一接收装置和所述至少一个第二接收装置的相对位置固定且已知;以及至少一个除噪子系统,用于从声音信号中去除噪声,所述除噪子系统包括至少一个处理器,耦合于所述至少一个第一接收器和所述至少一个第二接收器之间;以及至少一个传感器,耦合于所述至少一个处理器,其中所述至少一个传感器用于接收和人类发声活动相关的生理信息,所述至少一个处理器产生多个传递函数,其中表示所述至少一个声音信号的至少一个第一传递函数的产生响应于至少一段特定的时间内所述至少一个声音信号中没有发声信息的判断,其中表示所述至少一个声音信号的至少一个第二传递函数的产生响应于至少一段特定的时间内所述至少一个声音信号中有发声信息的判断,使用所述至少一个第一传递函数和所述至少一个第二传递函数的至少一种组合来将噪声从所述至少一个声音信号中去除,产生至少一个除噪后的数据流。
21.如权利要求20所述的信号处理系统,其特征在于所述第一接收装置和所述第二接收装置都是麦克风,选自单向麦克风和全向麦克风。
22.如权利要求20所述的信号处理系统,其特征在于所述至少一个声音信号以离散的时间采样被接收,所述第一接收装置和第二接收装置距离“d”,所述d对应于n个离散的时间采样。
23.如权利要求20所述的信号处理系统,其特征在于所述至少一个第二传递函数被确定为所述第一接收装置的信号数据的振幅和所述第二接收装置的信号数据的振幅之差的函数。
24.如权利要求20所述的信号处理系统,其特征在于所述从至少一个声音信号中去除噪声包括使用从所述至少一个第一接收装置到至少一个信号源的方向和范围。
25.如权利要求20所述的信号处理系统,其特征在于所述至少一个第一接收装置和所述至少一个第二接收装置的各个频率响应是不同的,对来自所述至少一个第二接收装置的信号数据进行补偿,使其与来自所述至少一个第一接收装置的信号数据具有正确的关系。
26.如权利要求25所述的信号处理系统,其特征在于补偿来自所述至少一个第二接收装置的信号数据包括记录来自源的所述至少一个第一接收装置和所述至少一个第二接收装置中的宽带信号,所述源位于对于一个来自所述至少一个信号源的信号所期望的距离和定向上。
27.如权利要求25所述的信号处理系统,其特征在于补偿来自所述至少一个第二接收装置的信号数据包括频域补偿。
28.如权利要求27所述的信号处理系统,其特征在于频率补偿包括对每个来自所述至少一个第一接收装置和所述至少一个第二接收装置中的信号数据进行频率转换计算;计算每个频率接收器的频率转换的数量;以及在每个频率对来自所述至少一个第二接收装置的信号数据进行频率转换数量的设置,使其成为一个与来自所述至少一个第一接收装置的信号数据的频率转换数量相关的值。
29.如权利要求25所述的信号处理系统,其特征在于补偿来自所述至少一个第二接收装置的信号数据包括时域补偿。
30.如权利要求25所述的信号处理系统,进一步的补偿还包括起初设置所述至少一个第二传递函数为0;以及当所述至少一个噪声信号相对于所述至少一个话音信号很小时,计算补偿系数。
31.如权利要求20所述的信号处理系统,其特征在于所述至少一个声音信号包括所述至少一个噪声信号的至少一个反射和所述至少一个声音信号的至少一个反射。
32.如权利要求20所述的信号处理系统,其特征在于所述接收生理信息包括使用至少一个检测器来接收和人类发声相关的生理数据,所述检测器选自声音麦克风、射频装置、声门电阻仪、超声装置、声喉麦克风和气流检测器。
33.如权利要求20所述的信号处理系统,其特征在于所述产生至少一个第一传递函数和至少一个第二传递函数包括对自适应技术和递归技术中至少一项技术的使用。
全文摘要
描述了一种从人类语音中去除噪声的方法和系统。噪声的去除与噪声类型、振幅和方向都无关。所述系统包括耦接于麦克风和发声活动检测(“VAD”)元件之间的处理器。所述处理器执行产生传递函数的除噪算法。所述处理器接收来自麦克风和的声音数据和来自VAD的数据。当VAD表明有发声活动及无发声活动时,所述处理器产生各种传递函数。所述传递函数用于产生除噪后的数据流。
文档编号G10L21/0216GK1589127SQ02823193
公开日2005年3月2日 申请日期2002年11月21日 优先权日2001年11月21日
发明者格雷戈里·C·伯内特 申请人:爱利富卡姆公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1