Description Part 2 : IIR Filter Designs

Objectives : - analyze digital audio signal with some added noise
                     - identify the noise signals and eliminate them using butter( ) function in Matlab
                     - design the Butterworth lowpass IIR filters using Matlab
                     - the specification of the filter are stopband attenuation more than 40dB and passband ripple lower than 0.03dB
                     - based on results from part 1 , determine the the passband and stopband edge frequencies
* Required to use minimum filter order that can satisfy the specifications

Equipments : orig1.wav and noisy1.wav files , Matlab software .

Procedure :

Butterworth Lowpass IIR Filter Design

Base on the given samples , design a butterworth IIR digital lowpass filter for removing the noise by the Matlab function butter( ) with this specification  give :
- stopband attenuation more than 40dB and passband ripple lower tan 0.03dB
The passband and stopband for part 1 need to be determined also
MInimum filter order that can satisfy the specifications is also required.

1) Matlab functions "butter( )" and "button( )" for butterworth IIR filter design using bilienear is studied. "buttord" function is used to determine the minimum filter order based on the results of the part 1.
2) The IIR filter is designed using butter function in Matlab. The designed filter frequency(magnitude and phase) responses is plotted and the is checked to ensure it met the specification. The passband and stopband edge frequency is checked. The filter coefficients is saved into a file as the filter satisfied the specifications. (Redesigned with new set of parameters if it doesn't) Filter impulse response is plotted, stem function is used for its coeffiecients.
3) The noise in the noisy signal is removed using the designed filter by the "filter( )" function provided in Matlab. Details of this "filter" function is studied by "help filter" command.
4) The effectiveness of the designed filter is evaluated by computing the MSE(mean squared error) and SNR(signals to noise ratio) between the original signal and the filter noisy signal. The MSE and SNR is defined this way :


where s(n) is original signal , y(n) is the filtered signal sample and M is the total number of samples. A Matlab code is wrote to compute the MSE and SNR. The original and filtered signal is plotted on the same figure both time and frequency domains.
5)The FIR and IIR lowpass filter designed is compared and comment on the structural effectiveness and their performance is made.
6) Comments about the quality of sound given by the noisy file following the filtering process is made.