我想对软件进行实时降噪编程,就像在具有主动降噪功能的耳机中一样。是否有任何开放算法,或者至少有关于它的科学论文?谷歌搜索仅找到有关非实时降噪的信息。
1 回答
从这个网站
主动降噪耳机除了所有普通耳机电路外,还有麦克风和额外的特殊电路。在基本层面上,耳机上的麦克风会拾取您周围的环境噪音并将其转发到特殊电路。特殊电路解释声音并以相反(相反)的方式模仿它。它产生的反向声音通过耳机扬声器发送并消除您周围的环境噪音。
这一切都是基于声波干扰。当两个相反相位的波干扰时,结果是没有声音。(它也适用于光。)
您应该查看有关波干扰的维基百科页面,以找到消除外部噪声所需的正确相位
对于正弦系统:
让我们采取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,以便将延迟考虑在内。
你可能需要更多关于声音的具体信息,因为我的信息对于任何类型的波都是非常理论的。