I have to do a project for college. The project consists in writing a paper about some application of digital signal processing and then implement the solution in MATLAB. It doesn't have to be the original.

We're supposed to check papers to come with ideas but I thought that perhaps someone here could give some ideas.


Let me suggest a project for you that I think will fit with what you've learned and with the scope of the project, as far as I can judge it: Denoising of audio signals by spectral subtraction techniques.

The basic method is relatively simple. You need to cut your signal into overlappling blocks, you window each block, compute an FFT, and modify the magnitude of the FFT coefficients according to the estimated SNR in that frequency bin. High SNR means no modification, low SNR means attenuation by some gain factor $g$ satisfying $0<g<1$. For reconstructing the signal you combine the overlapping blocks (after IFFT) and you use the phase of the noisy signal, so only the magnitude is modified.

The nice thing about it is the simplicity of the basic method, but also that you can tweak a lot of things (gain computation, SNR estimation, etc.) to improve the perceptive quality of the denoised signal. If you do it in a very simplistic way you'll hear many artefacts, such as musical noise.

Also have a look at this and this answer for some more information on spectral subtraction.

  • $\begingroup$ Thanks, it seems very interesting. I'll research further. $\endgroup$ Feb 18 '15 at 18:09
  • $\begingroup$ I have one question. How is SNR estimated in each frequency bin ? $\endgroup$ Feb 18 '15 at 18:39
  • 1
    $\begingroup$ @Esteban: It is assumed that you have some frames of only noise (e.g. at the beginning of the file), where you can estimate the noise. See p.4 of the document I linked to in my answer. $\endgroup$
    – Matt L.
    Feb 18 '15 at 18:43
  • $\begingroup$ I know how the site works. It's just that I haven't got enough points to upvote. I'll try to answer some easy question to gain points and I will upvote the answers and comments. Thanks ! $\endgroup$ Feb 18 '15 at 18:52

I am not sure how complicated it should be, but you can consider time stretching, which means changing the duration of an audio signal without changing the pitch. There are few algorithms that attempt to solve the problem (such as OLA, SOLA, etc...).

  • $\begingroup$ Thanks for the suggestion. I'm investigating the subject further. $\endgroup$ Feb 15 '15 at 22:37

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.