There are several voice communication systems that are used nowadays which are capable of maintain voice calls between two users in real time. Telephones are widely used all around the world in an unlimited kind of situations. All of these situations expose the microphone (or microphones) of the phones to different and unpredictable noises, as street noise, sea noise, rain noise, wind noise, unwanted voices, car motors, etc. As microphones capture all the sounds around it, including the wanted voice and the unwanted noises, it is necessary to implement digital real time filters capable of attenuate as much as possible all the surrounding noises.
It exists a large quantity of noise reduction methods that have been used in the calling algorithms of phones. Even if these methods have had, in general, a good performance, there is still a research being done in this area in order to improve the current results. Because of this, the multichannel methods were created (using multiple microphones) as well as new algorithms that pretend to have a better noise reduction than the single channel methods. Most of these methods require a speech presence probability (SPP) method to achieve the noise reduction.
The following document presents a research about different SPP methods as well as a comparison between these. This includes an explanation on how theses algorithm work, a Matlab implementation using real voice and noise recordings and objective tests of the filter.