Filter 1: Noise Reduction
In everyday situations, there are always external signals that may interfere with the sounds that the hearing aid user actually wants to hear. This ability to distinguish a single sound in a noisy environment is a major concern for the hearing impaired. For people with hearing loss, background noise degrades speech intelligibility more than for people with normal hearing, because there is less redundancy that allows them to recognize the speech signal. Often the problem lies not only in being able to hear the speech, but in understanding speech signals due to the effects of masking. To adjust for this loss, we developed a noise reduction filter in MATLAB for our hearing aid.
To simplify our project, we assume
What is white Gaussian noise?
White Gaussian noise (WGN) has a continuous and uniform frequency spectrum over a specified frequency band and has equal power per Hertz of this band. It consists of all frequencies at equal intensity and has a normal (Gaussian) probability density function. For example, a hiss or the sound of many people talking can be modeled as WGN. Because white Gaussian noise is random, we can generate it in MATLAB using the random number generator function, random.
Instead of adding white noise to a speech signal, we were able to obtain and generate several .wav sound files of a main speech signal with various sources of white noise in the background.
We experimented with implementing an FIR filter, but after researching various pre-existing MATLAB commands, we used the command wdencmp,which performs noise reduction/compression using wavelets. It returns a de-noised version of the input signal using wavelet coefficients threshholding. We also utilized the MATLAB command ddencmp.
Advantages of Using Wavelets
Wavelets are nonlinear functions and do not remove noise by low-pass filtering like many traditional methods. Low-pass filtering approaches, which are linear time invariant, can blur the sharp features in a signal and sometimes it is difficult to separate noise from the signal where their Fourier spectra overlap. For wavelets the amplitude, instead of the location of the Fourier spectra, differ from that of the noise. This allows for thresholding of the wavelet coefficients to remove the noise. If a signal has energy concentrated in a small number of wavelet coefficients, their values will be large in comparison to the noise that has its energy spread over a large number of coefficients. These localizing properties of the wavelet transform allow the filtering of noise from a signal to be very effective.While linear methods trade-off suppression of noise for broadening of the signal features, noise reduction using wavelets allows features in the original signal to remain sharp. A problem with wavelet denoising is the lack of shift-invariance, which means the wavelet coefficients do not move by the same amount that that the signal is shifted. Ths can be overcome by averaging the denoising result over all possible shifts of the signal. This works very well and even overcomes pseudo-Gibbs phenomena that is often seen due to lack of shift invariance.