MATLAB: How to properly add noise and filter it from an audio file

filterfiriirnoisesnr

Hi,
I have an assignment that asks to: 1. Add uniformly distributed noise with different SNR (-10, 0, 10 db) to an audio signal in the frequency range of 44-55 Hz. 2. Design a FIR & IIR filter to filter the noise out from the signal (verify that the filter is stable) 3. Filter the noise out using the FIR & IIR filters from the previous paragraph.
After creating a uniformly distributed noise using 'randn' and filtering out the section which I will later refer to as 45-55 Hz, I verified using fftshift(fft(signal)) that the noise actually was added to the original data. But I can't seem to filter it out properly – after using IFFT and sound on the 'time domain' filtered signal – I hear either noise, or the original noisy signal. After trying to work it out for a while the code just turned worse and simply nothing works. Therefore I come here for help to understand the proper way to add noise in specific frequencies using specific SNR and filter it out so after all 3 mentioned stages I can hear the original audio file. The file is a short audio sample and was downloaded from the internet – Its sample frequency is 16KHz.
Thanks in advance, Any guidance will be appreciated.
Related Question