Being new to ANC, this is my understanding of how ANC works:
Ambient noise (n) is entering a geographically small zone. To suppress the noise, an interfering (corrective) sound is injected acoustically into the zone by a speaker. The interfering sound from the speaker is adaptively generated so that it - in theory - ends up being a 180 degree phase-shifted version of the noise ....When this phase-shifted signal is acoustically mixed with the ambient noise, the noise is ideally cancelled out.
So based on the above, I would need a microphone to record sound as it presents itself in the "zone" and then let that drive an adaptive process which calculates a digital speaker signal to send to the speaker. The energy of the recorded sound would be the indicator of how well the adaptive process is performing (in terms of cancelling out the noise).
My question is : what type of algorithm(s) are used for this kind of DSP scheme?
Is one microphone enough?
What if the speaker has to output more than just the noise cancelling signal? For example: A user is wearing headphones with ANC. The user is listening to music but wants the "outside" noise to be cancelled out. I can't imagine that it would work unless the headphone has an "inside" microphone and an "outside" microphone.
Does ANC work in dimensionally small setups? For example:
The speaker is connected to a tube through which the corrective sound travels. The open end of the tube is placed in a small zone where a microphone is also located. An algorithm receives audio from the microphone, calculates the speaker signal and sends the speaker signal to the speaker. Will that work? Or are there some fundamental requirements/assumptions which have to be met for the ANC to work?
I would like to hear from people who wish to share their experience and knowledge acquired from working with ANC. Any advice is appreciated.