Adaptive Line Enhancer (ALE)

Similar documents
Application of Affine Projection Algorithm in Adaptive Noise Cancellation

Computer exercise 3: Normalized Least Mean Square

ESE531 Spring University of Pennsylvania Department of Electrical and System Engineering Digital Signal Processing

Acoustic Echo Cancellation (AEC)

Performance Analysis of Feedforward Adaptive Noise Canceller Using Nfxlms Algorithm

Speech Enhancement: Reduction of Additive Noise in the Digital Processing of Speech

Lab 6. Advanced Filter Design in Matlab

(i) Understanding the basic concepts of signal modeling, correlation, maximum likelihood estimation, least squares and iterative numerical methods

Adaptive Systems Homework Assignment 3

Speech Enhancement Based On Noise Reduction

GSM Interference Cancellation For Forensic Audio

A FEEDFORWARD ACTIVE NOISE CONTROL SYSTEM FOR DUCTS USING A PASSIVE SILENCER TO REDUCE ACOUSTIC FEEDBACK

Power Line Interference Removal from ECG Signal using Adaptive Filter

Project 1. Notch filter Fig. 1: (Left) voice signal segment. (Right) segment corrupted by 700-Hz sinusoidal buzz.

Sampling and Reconstruction of Analog Signals

Active Noise Cancellation System Using DSP Prosessor

Signal Processing. Naureen Ghani. December 9, 2017

FIR/Convolution. Visulalizing the convolution sum. Convolution

Additive Synthesis OBJECTIVES BACKGROUND

Audio Restoration Based on DSP Tools

NOISE ESTIMATION IN A SINGLE CHANNEL

The University of Texas at Austin Dept. of Electrical and Computer Engineering Midterm #1

Sound synthesis with Pure Data

Auditory modelling for speech processing in the perceptual domain

CMPT 468: Delay Effects

FIR/Convolution. Visulalizing the convolution sum. Frequency-Domain (Fast) Convolution

Log Booklet for EE2 Experiments

ACTIVE NOISE CONTROL FOR SMALL-DIAMETER EXHAUSTION SYSTEM

Adaptive Kalman Filter based Channel Equalizer

Overview of Code Excited Linear Predictive Coder

MATLAB SIMULATOR FOR ADAPTIVE FILTERS

Advanced Functions of Java-DSP for use in Electrical and Computer Engineering Senior Level Courses

Signal Processing. Introduction

Acoustic Echo Cancellation: Dual Architecture Implementation

2.161 Signal Processing: Continuous and Discrete Fall 2008

(i) Understanding of the characteristics of linear-phase finite impulse response (FIR) filters

6.02 Practice Problems: Modulation & Demodulation

Universiti Malaysia Perlis EKT430: DIGITAL SIGNAL PROCESSING LAB ASSIGNMENT 1: DISCRETE TIME SIGNALS IN THE TIME DOMAIN

Analysis on Extraction of Modulated Signal Using Adaptive Filtering Algorithms against Ambient Noises in Underwater Communication

speech signal S(n). This involves a transformation of S(n) into another signal or a set of signals

Spring 2018 EE 445S Real-Time Digital Signal Processing Laboratory Prof. Evans. Homework #1 Sinusoids, Transforms and Transfer Functions

A variable step-size LMS adaptive filtering algorithm for speech denoising in VoIP

ROBUST echo cancellation requires a method for adjusting

Multirate Algorithm for Acoustic Echo Cancellation

(i) Understanding of the characteristics of linear-phase finite impulse response (FIR) filters

INFLUENCE OF FREQUENCY DISTRIBUTION ON INTENSITY FLUCTUATIONS OF NOISE

EE482: Digital Signal Processing Applications

SAMPLING THEORY. Representing continuous signals with discrete numbers

Signal Processing Toolbox

Synthesis: From Frequency to Time-Domain

Definition of Sound. Sound. Vibration. Period - Frequency. Waveform. Parameters. SPA Lundeen

E40M Sound and Music. M. Horowitz, J. Plummer, R. Howe 1

CS 591 S1 Midterm Exam

Lab 4 Fourier Series and the Gibbs Phenomenon

Discrete Fourier Transform (DFT)

PYKC 27 Feb 2017 EA2.3 Electronics 2 Lecture PYKC 27 Feb 2017 EA2.3 Electronics 2 Lecture 11-2

THE CITADEL THE MILITARY COLLEGE OF SOUTH CAROLINA. Department of Electrical and Computer Engineering. ELEC 423 Digital Signal Processing

Signal Analysis. Peak Detection. Envelope Follower (Amplitude detection) Music 270a: Signal Analysis

Figure 1: Block diagram of Digital signal processing

George Mason University Signals and Systems I Spring 2016

Waveshaping Synthesis. Indexing. Waveshaper. CMPT 468: Waveshaping Synthesis

1. In the command window, type "help conv" and press [enter]. Read the information displayed.

Resonator Factoring. Julius Smith and Nelson Lee

Digitally controlled Active Noise Reduction with integrated Speech Communication

TRANSFORMS / WAVELETS

DSP First. Laboratory Exercise #7. Everyday Sinusoidal Signals

Acoustic Echo Cancellation using LMS Algorithm

10 Mb/s Single Twisted Pair Ethernet Implementation Thoughts Proof of Concept Steffen Graber Pepperl+Fuchs

Digital Signal Processing ETI

The Filter Wizard issue 13: Buenos Notches! The Filter Wizard versus the vuvuzela Kendall Castor-Perry

REDUCING THE NEGATIVE EFFECTS OF EAR-CANAL OCCLUSION. Samuel S. Job

Digital Signal Processing ETI

Reference: PMU Data Event Detection

Adaptive Filter for Ecg Noise Reduction Using Rls Algorithm

Project 2 - Speech Detection with FIR Filters

Fall Music 320A Homework #2 Sinusoids, Complex Sinusoids 145 points Theory and Lab Problems Due Thursday 10/11/2018 before class

Part One. Efficient Digital Filters COPYRIGHTED MATERIAL

Knowledge Integration Module 2 Fall 2016

University of North Carolina-Charlotte Department of Electrical and Computer Engineering ECGR 3157 Electrical Engineering Design II Fall 2013

EE 215 Semester Project SPECTRAL ANALYSIS USING FOURIER TRANSFORM

Audio System Evaluation with Music Signals

A Comparison of the Convolutive Model and Real Recording for Using in Acoustic Echo Cancellation

Adaptive Array Beamforming using LMS Algorithm

Acoustic Echo Cancellation for Noisy Signals

Impulsive Noise Reduction Method Based on Clipping and Adaptive Filters in AWGN Channel

Audio Engineering Society Convention Paper Presented at the 110th Convention 2001 May Amsterdam, The Netherlands

Subtractive Synthesis. Describing a Filter. Filters. CMPT 468: Subtractive Synthesis

Flanger. Fractional Delay using Linear Interpolation. Flange Comb Filter Parameters. Music 206: Delay and Digital Filters II

ESE 150 Lab 04: The Discrete Fourier Transform (DFT)

PROBLEM SET 6. Note: This version is preliminary in that it does not yet have instructions for uploading the MATLAB problems.

Performance Analysis of gradient decent adaptive filters for noise cancellation in Signal Processing

A New Method For Active Noise Control Systems With Online Acoustic Feedback Path Modeling

ELT COMMUNICATION THEORY

STANFORD UNIVERSITY. DEPARTMENT of ELECTRICAL ENGINEERING. EE 102B Spring 2013 Lab #05: Generating DTMF Signals

Experiment 2 Effects of Filtering

PYKC 13 Feb 2017 EA2.3 Electronics 2 Lecture 8-1

Lecture 5: Sinusoidal Modeling

Keywords: Adaptive filtering, LMS algorithm, Noise cancellation, VHDL Design, Signal to noise ratio (SNR), Convergence Speed.

SMS045 - DSP Systems in Practice. Lab 1 - Filter Design and Evaluation in MATLAB Due date: Thursday Nov 13, 2003

Lab P-4: AM and FM Sinusoidal Signals. We have spent a lot of time learning about the properties of sinusoidal waveforms of the form: ) X

Transcription:

Adaptive Line Enhancer (ALE) This demonstration illustrates the application of adaptive filters to signal separation using a structure called an adaptive line enhancer (ALE). In adaptive line enhancement, a measured signal x(n) contains two signals, an unknown signal of interest v(n), and a nearly-periodic noise signal eta(n). The goal is to remove the noise signal from the measured signal to obtain the signal of interest. Author(s): Scott C. Douglas Contents ˆ Loading the Signal of Interest ˆ Listening to the Sound Clip ˆ Generating the Noise Signal ˆ Listening to the Noise ˆ Measured Signal ˆ Adaptive Filter Configuration ˆ Block LMS ˆ Refining the Step Size ˆ Running the Filter ˆ Listening to the Error Signal ˆ Listening to the Residual Signal ˆ FM Noise Source ˆ Listening to the Music + Noise Signal ˆ Running the Adaptive Filter ˆ Listening to the Error Signal Loading the Signal of Interest We ll first load in a signal of interest, a short clip from Handel s Hallelujah chorus. load handel v = y /2; plot((1:length(v))/fs,v); xlabel( Time [sec] ); ylabel( Amplitude ); title( Signal of Interest, v(n) ); 1

Listening to the Sound Clip You can listen to the signal of interest using MATLAB s SOUND function. p8 = audioplayer(v,fs); Generating the Noise Signal Let s now make a periodic noise signal a sinusoid with a frequency of 1000 Hz. eta = 0.5*sin(2*pi/Fs*1000*(1:length(v))); Now let s plot 10 msec of this sinusoid above. It shows 10 periods in 10 msec, just as it should. plot(1/fs:1/fs:0.01,eta(1:floor(0.01*fs))); ylabel('amplitude'); title('noise Signal, eta(n)'); 2

Listening to the Noise The periodic noise is a pure tone. The following code plays one second of the noise signal. p8 = audioplayer(eta(1:fs),fs); Measured Signal The signal that we actually measure is the sum of these two signals, and we ll call this signal s(n). s = v + eta; A plot of s(n) shows that the envelope of the music signal is largely obscured. Listening to a 2.5-second clip from the measured signal, the noise is clearly prominent... plot((1:length(s))/fs,s); ylabel('amplitude'); title('measured Signal'); p8 = audioplayer(s(1:2.5*fs),fs); 3

Adaptive Filter Configuration An adaptive line enhancer (ALE) is based on the straightforward concept of linear prediction. A nearly-periodic signal can be perfectly predicted using linear combinations of its past samples, whereas a non-periodic signal cannot. So, a delayed version of the measured signal s(n-d) is used as the reference input signal x(n) to the adaptive filter, and the desired response signal d(n) is made equal to s(n). The parameters to choose in such a system are the signal delay D and the filter length L used in the adaptive linear estimate. The amount of delay depends on the amount of correlation in the signal of interest. Since we don t have this signal (if we did, we wouldn t need the ALE!), we shall just pick a value of D=100 and vary it later. Such a choice suggests that samples of the Hallelujah Chorus are uncorrelated if they are more than about 12 msec apart. Also, we ll choose a value of L=32 for the adaptive filter, although this too could be changed. D = 100; L = 32; Finally, we shall be using some block adaptive algorithms that require the lengths of the vectors for x(n) and d(n) to be integer multiples of the block length. We ll choose a block length of N=32 with which to begin. N = 32; ntr = N*floor((length(v)-D)/N); x = s(1:ntr); d = s(1+d:ntr+d); 4

Block LMS The first algorithm we shall explore is the Block LMS algorithm. This algorithm is similar to the well-known least-mean-square (LMS) algorithm, except that it employs block coefficient updates instead of sample-by-sample coefficient updates. It also runs efficiently in MATLAB when the block lengths are more than a few samples. The Block LMS algorithm needs an initial coefficient vector W0, a block length N, and a step size value mu. We ll set W0 to be an all-zero vector of length L, and N is already defined. How do we pick mu? Let s start with a value of mu = 0.0001 and refine it shortly. mu = 0.0001; leak = 1; % No leakage h = adaptfilt.blms(l,mu,leak,n); Refining the Step Size The Filter Design Toolbox has some built-in analysis functionality for some of its adaptive filters. These analysis files can, among other things, compute upper step size bounds as suggested by statistical analyses of the adaptive algorithm. We can run these analyses by calling them just like their adaptive algorithm counterparts. Running the Block LMS analysis function, we get the following mean and mean-square step size bounds: [mumax,mumaxmse] = maxstep(h,x) mumax = 0.46364 mumaxmse = 0.15455 So, our chosen step size of mu=0.0001 is well within the stability regions of both mean and mean-square analyses. Let s run the algorithm... Running the Filter The output signal y(n) should largely contain the periodic sinusoid, whereas the error signal e(n) should contain the musical information, if we ve done everything right. Since we have the original music signal v(n), we can plot e(n) vs. v(n) on the same plot shown above along with the residual signal e(n)-v(n). It looks 5

like the system is converged after about 5 seconds of adaptation with this step size. [y,e] = filter(h,x,d); plot(1/fs:1/fs:ntr/fs,v(1+d:ntr+d),... 1/Fs:1/Fs:ntr/Fs,e,1/Fs:1/Fs:ntr/Fs,e-v(1+D:ntr+D)); ylabel('signals'); legend('noiseless Music Signal v(n)',... 'Error Signal e(n)','difference e(n)-v(n)'); Listening to the Error Signal The real proof, however, is in the listening; The following code allows you to hear the error signal e(n)... p8 = audioplayer(e,fs); Notice how the sinusoidal noise decays away slowly. This behavior is due to the adaptation of the filter coefficients toward their optimum values. Listening to the Residual Signal We can listen to the residual signal e(n)-v(n) as well to hear what is left over in the error signal. 6

p8 = audioplayer(e-v(1+d:ntr+d),fs); Notice how this residual signal sounds like a hollow and quieter version of the original music once the adaptive filter has converged. That is why we don t hear it; it simply changes the frequency content of the music a little bit. Remember, a linear filter cannot totally separate signals that are overlapped in frequency, so we can expect some errors in the output. We won t listen to the adaptive filter output y(n); it sounds like a 1000 Hz tone subtracted from this same small residual signal. FM Noise Source Now, removing a pure sinusoid from a sinusoid plus music signal is not particularly challenging if the frequency of the offending sinusoid is known. A simple two-pole, two-zero notch filter can perform this task. So, let s make the problem a bit harder by adding an FM-modulated sinusoidal signal as our noise source. eta = 0.5*sin(2*pi*1000/Fs*(1:length(s))+... 10*sin(2*pi/Fs*(1:length(s)))); s = v + eta; plot((1:length(s))/fs,s); ylabel('amplitude'); title('measured Signal'); 7

Listening to the Music + Noise Signal Let s listen to the music+noise signal s(n) = v(n) + eta(n) now... p8 = audioplayer(s(1:4.5*fs),fs); The warble in the signal is clearly audible. A fixed-coefficient notch filter won t remove the FM-modulated sinusoid. Let s see if the Block LMS-based ALE can. We ll increase the step size value to mu=0.005 to help the ALE track the variations in the noise signal. mu = 0.005; x = s(1:ntr); d = s(1+d:ntr+d); h = adaptfilt.blms(l,mu,leak,n); Running the Adaptive Filter We now filter the noisy music signal with the adaptive filter and compare the error to the noiseless music signal. [y,e] = filter(h,x,d); plot(1/fs:1/fs:ntr/fs,v(1+d:ntr+d),... 1/Fs:1/Fs:ntr/Fs,e,1/Fs:1/Fs:ntr/Fs,e-v(1+D:ntr+D)); ylabel('amplitude'); title('signals'); legend('noiseless Music Signal v(n)',... 'Error Signal e(n)','difference e(n)-v(n)'); 8

This time, the results aren t as impressive, but the offending noise is still attenuated relative to its original level. Listening to the Error Signal If you listen to the error signal you will notice that the residual is fairly large, but the music masks the warble tone somewhat. p8 = audioplayer(e,fs); Better performance might be obtained with a more advanced algorithm, such as the Block Affine Projection (BAP) algorithm or one of the frequency-domain adaptive filters found in the Filter Design Toolbox. Type help adaptfilt to learn about the other adaptive filter algorithms. Copyright 1999-2005 The MathWorks, Inc. 9