Chapter 9 Adaptive Filters. Objectives Show and describe the structure of the discrete Wiener filter. Derive the statistical requirement for optimal estimation.

Slides:



Advertisements
Similar presentations
Chapter 11 Signal Processing with Wavelets. Objectives Define and illustrate the difference between a stationary and non-stationary signal. Describe the.
Advertisements

ECE 8443 – Pattern Recognition ECE 8423 – Adaptive Signal Processing Objectives: The Linear Prediction Model The Autocorrelation Method Levinson and Durbin.
Digital Signal Processing IIR Filter IIR Filter Design by Approximation of Derivatives Analogue filters having rational transfer function H(s) can be.
Nonrecursive Digital Filters
EE513 Audio Signals and Systems Digital Signal Processing (Synthesis) Kevin D. Donohue Electrical and Computer Engineering University of Kentucky.
Lecture 7 Linear time invariant systems
Chapter 6 Infinite Impulse Response Filter Design.
Adaptive Filters S.B.Rabet In the Name of GOD Class Presentation For The Course : Custom Implementation of DSP Systems University of Tehran 2010 Pages.
Filtering Filtering is one of the most widely used complex signal processing operations The system implementing this operation is called a filter A filter.
Infinite Impulse Response (IIR) Filters
So far We have introduced the Z transform
Digital Signal Processing – Chapter 11 Introduction to the Design of Discrete Filters Prof. Yasser Mostafa Kadah
Techniques in Signal and Data Processing CSC 508 Fourier Analysis.
LINEAR-PHASE FIR FILTERS DESIGN
Performance Optimization
Digital Image Processing Chapter 5: Image Restoration.
Goals of Adaptive Signal Processing Design algorithms that learn from training data Algorithms must have good properties: attain good solutions, simple.
EECS 20 Chapter 9 Part 21 Convolution, Impulse Response, Filters Last time we Revisited the impulse function and impulse response Defined the impulse (Dirac.
Adaptive FIR Filter Algorithms D.K. Wise ECEN4002/5002 DSP Laboratory Spring 2003.
EE513 Audio Signals and Systems Wiener Inverse Filter Kevin D. Donohue Electrical and Computer Engineering University of Kentucky.
EE313 Linear Systems and Signals Fall 2010 Initial conversion of content to PowerPoint by Dr. Wade C. Schwartzkopf Prof. Brian L. Evans Dept. of Electrical.
EEE422 Signals and Systems Laboratory Filters (FIR) Kevin D. Donohue Electrical and Computer Engineering University of Kentucky.
Adaptive Signal Processing
ECE 8443 – Pattern Recognition ECE 8423 – Adaptive Signal Processing Objectives: Adaptive Noise Cancellation ANC W/O External Reference Adaptive Line Enhancement.
Chapter 5ELE Adaptive Signal Processing 1 Least Mean-Square Adaptive Filtering.
Over-Sampling and Multi-Rate DSP Systems
Finite Impuse Response Filters. Filters A filter is a system that processes a signal in some desired fashion. –A continuous-time signal or continuous.
Digital Signals and Systems
Practical Signal Processing Concepts and Algorithms using MATLAB
EE513 Audio Signals and Systems Digital Signal Processing (Systems) Kevin D. Donohue Electrical and Computer Engineering University of Kentucky.
Discrete-Time and System (A Review)
Equalization in a wideband TDMA system
Dr. Hala Moushir Ebied Faculty of Computers & Information Sciences
Algorithm Taxonomy Thus far we have focused on:
Introduction to Adaptive Digital Filters Algorithms
1 Lecture 5: March 20, 2007 Topics: 1. Design of Equiripple Linear-Phase FIR Digital Filters (cont.) 2. Comparison of Design Methods for Linear- Phase.
Heart Sound Background Noise Removal Haim Appleboim Biomedical Seminar February 2007.
Correlated and Uncorrelated Signals Problem: we have two signals and. How “close” are they to each other? Example: in a radar (or sonar) we transmit a.
EE Audio Signals and Systems Digital Signal Processing (Synthesis) Kevin D. Donohue Electrical and Computer Engineering University of Kentucky.
IIR Filter design (cf. Shenoi, 2006) The transfer function of the IIR filter is given by Its frequency responses are (where w is the normalized frequency.
EE 426 DIGITAL SIGNAL PROCESSING TERM PROJECT Objective: Adaptive Noise Cancellation.
Jessica Arbona & Christopher Brady Dr. In Soo Ahn & Dr. Yufeng Lu, Advisors.
CHAPTER 4 Adaptive Tapped-delay-line Filters Using the Least Squares Adaptive Filtering.
Basics of Neural Networks Neural Network Topologies.
Unit-V DSP APPLICATIONS. UNIT V -SYLLABUS DSP APPLICATIONS Multirate signal processing: Decimation Interpolation Sampling rate conversion by a rational.
Adv DSP Spring-2015 Lecture#9 Optimum Filters (Ch:7) Wiener Filters.
EE513 Audio Signals and Systems
Fundamentals of Digital Signal Processing. Fourier Transform of continuous time signals with t in sec and F in Hz (1/sec). Examples:
Chapter 7 Finite Impulse Response(FIR) Filter Design
LEAST MEAN-SQUARE (LMS) ADAPTIVE FILTERING. Steepest Descent The update rule for SD is where or SD is a deterministic algorithm, in the sense that p and.
ECE 8443 – Pattern Recognition ECE 8423 – Adaptive Signal Processing Objectives: Derivation Computational Simplifications Stability Lattice Structures.
Quiz 1 Review. Analog Synthesis Overview Sound is created by controlling electrical current within synthesizer, and amplifying result. Basic components:
Lecture 5 BME452 Biomedical Signal Processing 2013 (copyright Ali Işın, 2013)1 BME 452 Biomedical Signal Processing Lecture 5  Digital filtering.
CHAPTER 10 Widrow-Hoff Learning Ming-Feng Yeh.
Impulse Response Measurement and Equalization Digital Signal Processing LPP Erasmus Program Aveiro 2012 Digital Signal Processing LPP Erasmus Program Aveiro.
Finite Impulse Response Filtering EMU-E&E Engineering Erhan A. Ince Dec 2015.
EEE4176 Application of Digital Signal Processing
Finite Impuse Response Filters. Filters A filter is a system that processes a signal in some desired fashion. –A continuous-time signal or continuous.
Locating a Shift in the Mean of a Time Series Melvin J. Hinich Applied Research Laboratories University of Texas at Austin
Digital Signal Processing
IIR Filter design (cf. Shenoi, 2006)
UNIT - 5 IIR FILTER DESIGN.
Adaptive Filters Common filter design methods assume that the characteristics of the signal remain constant in time. However, when the signal characteristics.
Infinite Impulse Response (IIR) Filters
MMSE Optimal Design: The Least Squares method
Ideal Filters One of the reasons why we design a filter is to remove disturbances Filter SIGNAL NOISE We discriminate between signal and noise in terms.
Quadrature-Mirror Filter Bank
Chapter 7 Finite Impulse Response(FIR) Filter Design
Adaptive Filter A digital filter that automatically adjusts its coefficients to adapt input signal via an adaptive algorithm. Applications: Signal enhancement.
Chapter 7 Finite Impulse Response(FIR) Filter Design
Presentation transcript:

Chapter 9 Adaptive Filters

Objectives Show and describe the structure of the discrete Wiener filter. Derive the statistical requirement for optimal estimation of a signal component using the discrete Wiener filter. Describe and demonstrate the basic operation of the Widrow-Hoff least-mean-squares (LMS) algorithm. Describe and configure an adaptive predictor and demonstrate its use in the minimization of interfering noise. Describe the principles of adaptive system identification and demonstrate its use in several applications.

The Discrete Wiener Filter

The Adaptive Filter Structure

The Least-Mean-Squares Adaptive Algorithm (Widrow-Hoff Algorithm) The adaptive algorithm acts as a “negative feedback” to minimize the error signal by adjusting the coefficients of the Wiener filter. The signal is delivered to the filter sample-by-sample. For the k th sample: Uncorrelated signal components Estimate of n[k] from the Wiener filter Error signal at the k th sample Update the filter coefficients

The LMS Error Surface for a Wiener Filter

M-File for the Widrow-Hoff Algorithm (help file) >> help adapt2 Least-Mean-Squares Active Adaptive Filter Routine [err,n_hat,W] = ADAPT2(len,x,y,mu,gamma) This is a general Widrow-Hoff LMS adaptive routine. A signal (X) is applied to a filter whose coefficients are adjusted by LMS. The output (N_HAT) of this filter is subtracted from an input signal (Y), producing an error signal (ERR). This error signal is fed-back to the adaptive filter to adjust the coefficients. The LMS routine minimizes the error signal power. The final coefficients of the filter are given by the vector W. LEN: the desired FIR filter length X: a vector of input values to the adaptive Wiener filter. Y: a vector of the signal to be compared to the output of the adaptive filter. This vector must be the same length as the filtered input vector. MU: LMS constant GAMMA: "nudge-to-zero" constant for controlling fluctuations of the filter coefficients. If specified, gamma should be close to but less than 1. If the mu and gamma values are not specified, they are assumed to be and 1 respectively. ERR: err = Y - n_hat where n_hat is the output of the FIR filter. N_HAT: the output of the filter when the X is applied. W: a column vector describing the weights (coefficients) of the FIR filter.

The Adaptive Predictor The Adaptive Predictor is typically used to “de-noise” signals. The de-noised signal is the output of the Wiener filter.

Noise Removal From Sinusoidal Signals >> t=0:.001:.59; % The signal will be one second long with a 1 ms sampling period >> x=sin(2*pi*20*t); >> xn=x+.5*randn(size(t)); % This adds Gaussian noise to the sinusoid >> h=[zeros(1,20),1]; % This is the impulse response of a 20 step % delay filter >> xnd=filter(h,1,xn); % This gives a 20 step delayed copy of the % signal xn >> [err,n_hat,w]=adapt2(40,xnd,xn,.001,1); >> subplot(3,1,1), plot(xn); title('Noisy Signal') >> subplot(3,1,2), plot(n_hat); title('Filter Output') >> subplot(3,1,3), plot(err); title('Error Signal')

Noise Removal From Sinusoidal Signals

>> fvtool(w,1) % The final Wiener filter coefficients are in the vector w The Wiener filter converged to a narrow band-pass centered on 20 Hz, thus isolating that component of the signal

Noise Removal From Sinusoidal Signals (3 Frequencies) >> t=0:.001:.59; >> x3=sin(2*pi*10*t)+sin(2*pi*20*t)+sin(2*pi*30*t); >> x3n=x3+0.5*randn(size(x3)); >> h=[zeros(1,20),1]; >> x3nd=filter(h,1,x3n); >> [err,n_hat,w]=adapt2(100,x3nd,x3n,.001,1); >> subplot(4,1,1), plot(x3); title('Pure Signal') >> subplot(4,1,2), plot(x3n); title('Noisy Signal') >> subplot(4,1,3), plot(n_hat); title('Filter Output') >> subplot(4,1,4), plot(err); title('Error Signal') The Wiener filter has converged after about 150 samples. The filter is longer (order 100) in this case because of the close spacing of the frequency components

Noise Removal From Sinusoidal Signals (3 Frequencies) >> fvtool(w,1) The Wiener filter has converged to 3 band-pass filters at the frequencies of the sinusoids

Adaptive System Identification Since we are trying to match the frequency response of the unknown system, the input signal x[k] is Gaussian noise, because its power is uniformly distributed in the frequency domain.

Example – Identifying an Impulse Response >> n=0:40; % The length of the unknown system is 41. >> omega=pi/4; % This sets the cut-off frequency of the low-pass filter >> h=(omega/pi)*sinc(omega*(n-20)/pi); % This computes the impulse response >> N=0:200; % This sets the signal length to 201 samples >> x=randn(size(N)); % The signal x is pure Gaussian noise. >> y=filter(h,1,x); >> [err,n_hat,w]=adapt2(41,x,y,.015,1); >> subplot(2,1,1),stem(h);title('Unknown System') >> subplot(2,1,2),stem(w);title('Estimated System') The adaptive filter has matched the “unknown” filter impulse response almost perfectly

Example – Sonar/Radar Ranging

>> hd=[zeros(1,60),1]; % This the impulse response of a 60 step delay filter >> x=[4*ones(1,8),zeros(1,192)]; >> xd=filter(hd,1,x); % This is the “ping” delayed by 60 steps >> echo=xd+2*randn(size(xd)); % The delayed “ping” is contaminated with noise >> [err,n_hat,w]=adapt2(100,x,echo,.001,1); >> subplot(4,1,1),plot(x);axis([ ]);title('Transmitted Signal') >> subplot(4,1,2),plot(echo);axis([ ]);title('Received Echo Signal') >> subplot(4,1,3),stem(hd);axis([ ]);title('Echo Delay Impulse Response') >> subplot(4,1,4),stem(w);axis([ ]);title('Estimated Delay') Although the estimated delay (impulse response) is quite noisy, the maximum value is at 60 samples, the delay of the reflected echo signal.

Example – FIR Filters with an IIR Frequency Response An interesting example of system identification is using the Wiener filter (FIR) to match the frequency response of an IIR filter This is using the adaptive filter to solve an otherwise difficult design problem. To illustrate the procedure, let’s first use MATLAB design tools to design an IIR filter with a low-pass Butterworth response to the following specifications: –Sampling frequency = 2000 Hz –Transition from the pass-band to the stop-band: 300 to 400 Hz –Pass-band variation less than 1 dB –Stop-band attenuation at least -20 dB

Example – FIR Filters with an IIR Frequency Response >> [N1,Wn1]=buttord(.3,.4,1,20); >> [B1,A1]=butter(N1,Wn1); >> length(B1) ans = 10 >> length(A1) ans = 10 Since this IIR filter has a total of 20 coefficients, it is reasonable that an FIR realization of the same filter must have more coefficients; for example, 40 coefficients Design a Butterworth filter

Example – FIR Filters with an IIR Frequency Response >> n=0:1000; % Make the signals approximately 1000 samples long. >> x=randn(size(n)); >> y=filter(B1,A1,x); >> [err,n_hat,w]=adapt2(40,x,y,.01,1); % Make the Wiener filter length 40. Mu and gamma values are found experimentally to result in a small error signal >> fvtool(B1,A1) >> fvtool(w,1) Butterworth filter responseAdaptive filter response

Summary Adaptive filters respond in real-time to statistical properties of signals Many adaptive filters are based on the discrete Wiener filter and the Widrow-Hoff least-mean- squares algortithm. Several applications were illustrated: –Adaptive predictor: removal of noise or interfering tones from signals –System identification: sonar/radar ranging and design of FIR filters with a classic IIR response.