19

我想对软件进行实时降噪编程,就像在具有主动降噪功能的耳机中一样。是否有任何开放算法,或者至少有关于它的科学论文?谷歌搜索仅找到有关非实时降噪的信息。

4

1 回答 1

34

这个网站

主动降噪耳机除了所有普通耳机电路外,还有麦克风和额外的特殊电路。在基本层面上,耳机上的麦克风会拾取您周围的环境噪音并将其转发到特殊电路。特殊电路解释声音并以相反(相反)的方式模仿它。它产生的反向声音通过耳机扬声器发送并消除您周围的环境噪音。

这一切都是基于声波干扰。当两个相反相位的波干扰时,结果是没有声音。(它也适用于光。)

您应该查看有关波干扰的维基百科页面,以找到消除外部噪声所需的正确相位

对于正弦系统:

让我们采取2波:

在此处输入图像描述

在此处输入图像描述

我们想将产生的波表示为:

在此处输入图像描述

给定 A1 你想找到 A2 使得A0 = 0

这意味着给定 Phi1 你需要找到 Phi2 使得 A0=0

你可以证明:

在此处输入图像描述

求解 A0 = 0,您将获得消除噪声所需的波频率。它被称为破坏性干扰。

在此处输入图像描述

声波不是一维的......所以你只会在一个方向上得到破坏性干扰:

在此处输入图像描述

现在你只需要找到一些声音信号的东西......


我会尽力回答你的评论。

第一的:

2D 问题并不比 1D 更难。

外部噪声可以近似为位于无穷远处的源。您将使用耳机中的源产生破坏性噪声,并且您可以假设在等距离源处振幅相同。

你需要在 ax,y 轴上写下来(最好使用极坐标)

在此处输入图像描述

并且您将能够使用简单的三角公式获得计划上每个点的幅度,例如:

:\sin (A + B) = \sin A \cdot \cos B + \cos A \cdot \sin B

:\cos (A + B) = \cos A \cdot \cos B - \sin A \cdot \sin B

:\sin (A - B) = \sin A \cdot \cos B - \cos A \cdot \sin B

:\cos (A - B) = \cos A \cdot \cos B + \sin A \cdot \sin B

第二:

所有延迟都以破坏源的“Phi”为模型。可以只调整计算的 Phi,以便将延迟考虑在内。

你可能需要更多关于声音的具体信息,因为我的信息对于任何类型的波都是非常理论的。

于 2011-06-28T09:09:38.780 回答