Conclusions
Wiener filtering generally performed better than Spectral subtraction.
Spectral subtraction filtered signals had a prominent 'hissing' sound added to the signals. For Spectral subtraction, the noise spectrum that is estimated is an average estimate and has some finite variance. By virtue of this, the estimated noise spectrum will always overestimate or underestimate the true noise intensity. This estimate when subtracted from the spectrum of the noisy signal, thus results in potentially negative values of amplitude for some frequencies (if the estimated noise spectrum for a particular frequency has a higher amplitude than the noisy signal spectrum for that particular frequency). Since the amplitude cannot be negative, these values are clipped to zero, resulting in the ‘hissing’ sounds that we observe.
Another reason why Weiner filtering might have performed better was that with Weiner filtering, an iterative approach is taken and the weights are changed with each frame. This provides a more robust solution since for spectral subtraction, the method works on the assumption that the noise characteristics remain the same over the complete signal, even though this might not necessarily be true.
We performed signal denoising on 36 different signals using Spectral subtraction and Weiner filtering. Three different approaches were taken to compare the two methods; listening to the filtered signals, visualizing the time domain plots of the filtered signals and finding the correlation between the filtered and the clean signals. Spectral subtraction was easier to implement and was very intuitive. Weiner filtering while not being as intuitive, demonstrated better filtering properties, owing to its more robust nature.