OBJECTIVES
2. Perform noise cancellation using an LMS adaptive FIR filter.
3. Perform system identification using an LMS adaptive FIR filter.
PROCEDURE:
Part A: Steepest Descent Algorithm
1. Given a quadratic MSE function of the Wiener filter:
and its derivative derived as
write a MATLAB program using the steepest decent method with an initial guess as and to find the optimal and determine the minimized MSE function by iterating 100 times. Plot , , and versus the number of iterations, respectively. The steepest descent algorithm for iterations is listed below:
Summarize your results.
2. Write a MATLAB program and modify (1) for minimizing the two-weight MSE function
by applying the steepest descent algorithm for 500 iterations.
The derivatives are derived as
and
and the initial weights are assumed to be , , .
Plot , , and versus the number of iterations, respectively.
Summarize on your results.
Part B: Adaptive System Modeling
1. System modeling scheme is given below.
The unknown system is assumed as a fourth-order bandpass Butterworth filter with a lower cut-off frequency of 700 Hz and an upper cut-off frequency of 900 Hz. Design the bandpass filter using the bilinear transformation method for simulating the unknown system.
The input signal is generated using a sum of three sinusoids for 0.1 second having 100 Hz, 800 Hz, and 1500 Hz using a sampling rate of 8000 Hz. Use the generated input as the unknown system input to produce the system output.
The adaptive FIR filter using the same input is then applied to model the designed bandpass filter. The following parameters are assumed:
Adaptive FIR filter
Number of taps: 15 coefficients
Algorithm: LMS algorithm
Convergence factor: 0.01
a. Implement the adaptive FIR filter, and plot the system input, system output, adaptive filter output, and the error signal, respectively.
b. Plot the input spectrum, system output spectrum, and adaptive filter output spectrum, respectively.
Part C Adaptive Noise Cancellation
The adaptive noise cancellation scheme is depicted below.
Use the following data and MATLAB program to generate the reference noise and corrupted speech signal with a sampling rate of 8000 Hz.
--------------------------------------------------------------------------------------------------------------
load we.dat % given by the instructor
fs=8000; % sampling rate
t=0:1:length(we)-1; % create index array
t=t/fs; % convert indices to time instant
x=randn(1,length(we)); % generate reference noise
n=filter([ 0 0 0 0 0 0 0 0 0 0.8 ],1,x); % generate the corruption noise
d=wen+n; % generate signal plus noise
-----------------------------------------------------------------------------------------
Design an adaptive FIR filter to remove the noise. The adaptive filter specifications are as follows:
Sample rate = 8000 Hz
Original speech data: we.dat
Speech corrupted by Gaussian noise delayed by 9 samples from the noise reference
Reference noise: Gaussian noise with a power of 1
Number of FIR filter tap:16
Convergence factor for the LMS algorithm: 0.01
a. Apply the adaptive FIR filter to remove the noise.
b. Plot the corrupted speech, reference noise, and enhanced speech, respectively.
c. Plot and compare the spectra for the corrupted speech, and enhanced speech, respectively.
0 comments:
Post a Comment