ANCLMS

8
Noise Cancellation LMS Adaptive Filter Ashish Kumar Meshram Roll No. mt1402102002 M.Tech. Communication & Signal Processing Department of Electrical Engineering IIT – Indore | EE641 | Advance Signal Processing

Transcript of ANCLMS

Page 1: ANCLMS

Noise CancellationLMS Adaptive Filter

Ashish Kumar MeshramRoll No. mt1402102002

M.Tech. Communication & Signal ProcessingDepartment of Electrical Engineering

IIT – Indore | EE641 | Advance Signal Processing

Page 2: ANCLMS

IIT – Indore | EE641 | Advance Signal Processing 1

Content

IntroductionNoise CancellationAdaptive Signal Processing

Least Mean Square AlgorithmImplementationResultsConclusion

Page 3: ANCLMS

IIT – Indore | EE641 | Advance Signal Processing 2

Adaptive Noise Cancellation

Primary Source

Reference Input

𝑥(𝑛)

𝑑 𝑛 = 𝑥 𝑛 + 𝑠(𝑛) 𝑒 𝑛 = 𝑑 𝑛 − 𝑦(𝑛)

𝑦(𝑛)

𝑢(𝑛)Adaptive Filter

+

-

+

+

𝑠(𝑛)

Noise Source

Page 4: ANCLMS

IIT – Indore | EE641 | Advance Signal Processing 3

Algorithm: Least Mean Square (LMS)

Filter output:

Estimation error or error signal:

Tap-weight adaptation:

𝒖 𝑛 = [𝑢 𝑛 𝑢 𝑛 − 1 ……𝑢 𝑛 −𝑀 + 1 ]𝑇

𝒘 𝑛 = [𝑤1𝑤2…… . . 𝑤𝑀−1]𝑇

Reference Signal:

Tap weight vector:

𝜇Step size:

Input Parameters

𝑀Filter Order:

Initialization

𝒘 𝑛 = [0 0 0 ……0]𝑇Tap weight vector:

𝑦 𝑛 = 𝒘𝐻 𝑛 𝒖(𝑛)

𝑒 𝑛 = 𝑑 𝑛 − 𝑦(𝑛)

𝒘 n + 1 = 𝒘 𝑛 + 𝜇𝒖(𝑛)𝑒∗(𝑛)

For 𝑛 = 1,2,3… . . compute

Page 5: ANCLMS

IIT – Indore | EE641 | Advance Signal Processing 4

MATLAB Implementation

function [v1 v2] = corrnoise(g,a,b)Correlated Noise Generator

function [e] = anc(x,mu,M,w)Adaptive Noise Cancellation Using LMS

function [W,e] = aflms(d,u,mu,M,w)LMS Adaptive Filter

𝑣1 𝑛 = 𝑎1𝑣1 𝑛 − 1 + 𝑏1𝑔(𝑛)

𝑣2 𝑛 = 𝑎2𝑣2 𝑛 − 1 + 𝑏2𝑔(𝑛)𝑔 𝑛 = 𝑁(0,1)

x

Mu

M

w

Signal to be processedStep SizeNumber of tap weightInitial tap weight

INPUT:

e Noise Cancelled Signal

OUTPUT:

d

u

Mu

M

w

Signal to be processedReference SignalStep SizeNumber of tap weightInitial tap weight

INPUT:

e

W

Noise Cancelled SignalWeight Matrix

OUTPUT:

Page 6: ANCLMS

IIT – Indore | EE641 | Advance Signal Processing 5

Results

M = 32, mu = 0.05 M = 32, mu = 0.005

[E] = anc(sin(linspace(0,4*pi,100)),0.05,32,[]); [E] = anc(sin(linspace(0,4*pi,100)),0.005,32,[]);

Page 7: ANCLMS

IIT – Indore | EE641 | Advance Signal Processing 6

References

Simon Haykin, Adaptive Filter Theory, 3e Monson H Hayes, Statistical Digital Signal Processing and Modeling Ali H. Sayed, Adaptive Filters

Page 8: ANCLMS

THANK YOU