哪种算法用于耳机中的噪声消除?

sam*_*wry 19 algorithm audio noise-reduction

我想要实时编程用于降噪的软件,就像在具有主动降噪功能的耳机中一样.是否有任何开放的算法,或者至少有关于它的科学论文?Google搜索仅发现有关非实时降噪的信息.

Ric*_*bby 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,以便将延迟考虑在内.

您可能需要更多关于声音的特定信息,因为我的信息对任何类型的波都非常理论.