ECE5760 Final Project

 Adaptive Noise Cancellation

MATLAB Simulation

 

 

 

 

Contact Information:

 

Jinda Cui
Jiawei Yang

 

 

 

 

 

 

 

 

 

   

A multi-tap LMS adaptive noise canceller is simulated in MATLAB first to illustrate the how it works and what achivable results we will have for furthur implementation on FPGA. A simulated ECG signal is defined the source, and a single sinusoid noise is used to contaminate the signal. One portion of the MATLAB code is shown below:

%MATLAB Warm Up "ECG Noise Tracking"
close all
clear all

mu=0.8;
bhat(:,1)=transpose(zeros(1,140));  %number of weights
%creation of input vectors
load noise
itno=100000;
n=0.2*sin(100*(1:itno+length(bhat(:,1))-1));
s=sgolayfilt(ecg(itno+length(bhat(:,1))-1),0,15);                                                     

%simulation loop
%note that i+1 used as index for u at time i
for i=1:itno,
for j=1:length(bhat(:,1)),
W(j)=n(i+length(bhat(:,1))-j);
end
y=s(i);
yhat=W*bhat(:,i);
e(i)=y-yhat;
bhat(:,i+1)=bhat(:,i)+mu*e(i)*transpose(W);
end
 

 

 

 

    

 
 
©2011 The School of Electrical and Computer Engineering, Cornell University