哪种算法用于耳机中的降噪? [英] Which algorithm is used for noise canceling in earphones?

查看:22
本文介绍了哪种算法用于耳机中的降噪?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

解决方案

来自 喜欢:

: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 以便将延迟考虑在内.

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

I want to program software for noise canceling in real time, the same way it happens in earphones with active noise canceling. Are there any open algorithms or, at least, science papers about it? A Google search found info about non-realtime noise reduction only.

解决方案

from This site

Active noise cancelling headphones in addition to all the normal headphone circuitry, have a microphone and additional special circuitry. At a basic level the microphone on the headphone picks up the ambient noise around you and relays it to the special circuitry. The special circuitry interprets the sounds and mimics it in an inverse (opposite) manner. The inverse sound it produces is sent through the headphone speakers and cancels out the ambient noise around you.

All this is based on sound waves interference. When 2 waves of opposite phases interfere the result is no sound. (it works with light too.)

You should have a look at the wikipedia page on waves interference to find the right phase you need to produce to cancel the outside noise

For a sinusoidal system:

Let's take 2 waves :

and

We want to express the resulting wave as :

Given A1 you want to find A2 such that A0 = 0

It means given Phi1 you need to find Phi2 such that A0=0

You can prove that:

And solving A0 = 0 you will get the frequency of the wave you need to create to cancel the noise. It's called destructive interferences.

Sound waves are not in 1 dimension... so you will just get the destructive interference in one direction:

Now you just need to find some stuff of sound signals...


I will try to answer your comment.

First:

A 2D problem is not much more difficult that the 1D.

The outside noise can be approximate as a source situated at the infinity. You will create a destructive noise with a source in your headphones, and you can assume that the amplitude is the same at equal distance of the source .

You need to write that down on a x,y axis (it can be good to use polar coordinates)

and you will be able to get the amplitude on each point on the plan using simple trigonometry formulas like :

: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

Second:

All the delays are modeled in the "Phi" of your destructive source. Can just Adapt the Calculated Phi so it takes the delay into account.

You may need more specific information on sound since my information is very theoretic on any types of waves.

这篇关于哪种算法用于耳机中的降噪?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆