├── Code ├── Basic_LMS.m ├── Basic_NLMS.m ├── Filtered_X_LMS.m ├── Filtered_X_NLMS.m ├── anc.wav ├── filtered signal.wav ├── filtered signal1.wav ├── moonlight_sonata_bethoven.wav ├── noisysignal.wav ├── noisysignal1.wav ├── readme.md └── realnoise.m ├── Final Report.pdf ├── Initial Report.pdf ├── README.md └── Result ├── Audio files ├── anc.wav ├── filtered signal.wav ├── filtered signal1.wav ├── moonlight_sonata_bethoven.wav ├── noisysignal.wav └── noisysignal1.wav ├── Basic_LMS ├── u=0.01.jpg ├── u=0.05.jpg ├── u=0.1.jpg └── u=0.2.jpg ├── Basic_NLMS ├── u=0.1.jpg ├── u=0.2.jpg ├── u=0.3.jpg ├── u=0.4.jpg ├── u=0.5.jpg └── u=1.jpg ├── Filtered_X_LMS ├── u=0.001.jpg ├── u=0.005.jpg └── u=0.01.jpg ├── Filtered_X_NLMS ├── u=0.0001.jpg ├── u=0.0025.jpg ├── u=0.005.jpg └── u=0.01.jpg └── readme.md /Code/Basic_LMS.m: -------------------------------------------------------------------------------- 1 | 2 | u= [0.01 0.05 0.1 0.2 0.3]; %for different step sizes 3 | 4 | for j = 1:length(u) 5 | M=128; %number of filter weights 6 | 7 | %generating a random signal for noise 8 | N=20000; 9 | x=randn(N,1); 10 | x=x/max(x); 11 | 12 | uOG = u(j); %selecting step size 13 | 14 | %defining a transfer function for the acoustic path taken by the 15 | %noise 16 | P=0.5*[0:127]; 17 | d=conv(P,x); 18 | 19 | %initializing adaptive filter wights, filter output and error 20 | W=zeros(M,1); 21 | y=zeros(N,1); 22 | e=zeros(N,1); 23 | 24 | x=x(:); 25 | d=d(:); 26 | 27 | %lms algorithm for adaptive filter weights 28 | for n=M:N 29 | xvec=x(n:-1:n-M+1); 30 | y(n)=W'*xvec; 31 | e(n)=d(n)-y(n); 32 | W=W+uOG*xvec*e(n); 33 | end 34 | 35 | %for generating plots 36 | figure; 37 | subplot(2,1,1) 38 | plot(e(M:N)); 39 | title('Error'); 40 | ylabel('Error'); 41 | xlabel('Cycles'); 42 | subplot(2,1,2) 43 | plot(d(M:N)); 44 | xlabel('n'); 45 | ylabel('Signal'); 46 | title('d(n) vs y(n)'); 47 | hold on 48 | plot(y(M:N)); 49 | legend('d(n)','y(n)') 50 | end 51 | 52 | 53 | -------------------------------------------------------------------------------- /Code/Basic_NLMS.m: -------------------------------------------------------------------------------- 1 | 2 | u= [0.1 0.2 0.3 0.4 0.5 1]; %for different step sizes 3 | 4 | for j = 1:length(u) 5 | M=128; %number of filter weights 6 | 7 | %generating a random signal for noise 8 | N=20000; 9 | x=randn(N,1); 10 | x=x/max(x); 11 | 12 | uOG = u(j); %selecting step size 13 | 14 | %defining a transfer function for the acoustic path taken by the 15 | %noise 16 | P=0.5*[0:127]; 17 | d=conv(P,x); 18 | 19 | %initializing adaptive filter wights, filter output and error 20 | W=zeros(M,1); 21 | y=zeros(N,1); 22 | e=zeros(N,1); 23 | 24 | 25 | x=x(:); 26 | d=d(:); 27 | 28 | %lms algorithm for adaptive filter weights 29 | for n=M:N 30 | xvec=x(n:-1:n-M+1); 31 | u(n) = uOG /(xvec'*xvec); 32 | y(n)=W'*xvec; 33 | e(n)=d(n)-y(n); 34 | W=W+u(n)*xvec*(e(n)); 35 | end 36 | 37 | %for generating plots 38 | figure; 39 | subplot(3,1,1) 40 | plot(e(M:N)); 41 | title('Error'); 42 | ylabel('Error'); 43 | xlabel('Cycles'); 44 | subplot(3,1,2) 45 | plot(d(M:N)); 46 | xlabel('n'); 47 | ylabel('Signal'); 48 | title('d(n) vs y(n)'); 49 | hold on 50 | plot(y(M:N)); 51 | legend('d(n)','y(n)') 52 | subplot(3,1,3) 53 | plot(u(M:N)); 54 | xlabel('n'); 55 | ylabel('u'); 56 | title('Change in stepsize'); 57 | end 58 | 59 | 60 | 61 | -------------------------------------------------------------------------------- /Code/Filtered_X_LMS.m: -------------------------------------------------------------------------------- 1 | 2 | u= [0.001 0.0025 0.005 0.01 0.1]; %for different step sizes 3 | 4 | for j = 1:length(u) 5 | 6 | M=128; %number of filter weights 7 | 8 | %generating a random signal for noise 9 | N=20000; 10 | x=randn(N,1); 11 | x=x/max(x); 12 | 13 | uOG = u(j); %selecting step size 14 | 15 | %defining a transfer function for the acoustic path taken by the 16 | %noise 17 | P=0.5*[0:127]; 18 | d=conv(P,x); 19 | 20 | %defining secondary path effect 21 | S = P/2; 22 | yp=conv(S,x); 23 | Sh=zeros(M,1); 24 | 25 | e1=zeros(N,1); 26 | 27 | %adaptive filter S hat that adapts to match S 28 | for n=M:N 29 | yvec=x(n:-1:n-M+1); 30 | u(n) = uOG; 31 | e1(n)=yp(n)-Sh'*yvec; 32 | Sh=Sh+u(n)*yvec*(e1(n)); 33 | end 34 | 35 | Sh = abs(ifft(1./abs(fft(Sh)))); 36 | xp = conv(Sh,x); 37 | 38 | %initializing adaptive filter wights and error values 39 | Wz=zeros(M,1); 40 | y=zeros(N,1); 41 | e=zeros(N,1); 42 | 43 | x=x(:); 44 | d=d(:); 45 | xp=xp(:); 46 | 47 | %lms algorithm for adaptive filter weights 48 | for n=M:N 49 | xvec=x(n:-1:n-M+1); 50 | xpvec=xp(n:-1:n-M+1); 51 | u(n) = uOG; 52 | for k=1:length(Sh) 53 | y(n)=y(n)+S(k)*Wz(k)*xvec(k); 54 | end 55 | e(n)=d(n)-y(n); 56 | Wz=Wz+u(n)*xpvec*(e(n)); 57 | end 58 | 59 | %for generating plots 60 | figure; 61 | subplot(2,1,1) 62 | plot(e(M:N)); 63 | title('Error'); 64 | ylabel('Error'); 65 | xlabel('Cycles'); 66 | subplot(2,1,2) 67 | plot(d(M:N)); 68 | xlabel('n'); 69 | ylabel('Signal'); 70 | title('d(n) vs y(n)'); 71 | hold on 72 | plot(y(M:N)); 73 | legend('d(n)','y(n)') 74 | end 75 | 76 | -------------------------------------------------------------------------------- /Code/Filtered_X_NLMS.m: -------------------------------------------------------------------------------- 1 | 2 | u= [0.001 0.0025 0.005 0.01 0.1]; %for different step sizes 3 | 4 | for j = 1:length(u) 5 | 6 | M=128; %number of filter weights 7 | 8 | %generating a random signal for noise 9 | N=20000; 10 | x=randn(N,1); 11 | x=x/max(x); 12 | 13 | uOG = u(j); %selecting step size 14 | 15 | %defining a transfer function for the acoustic path taken by the 16 | %noise 17 | P=0.5*[0:127]; 18 | d=conv(P,x); 19 | 20 | %defining secondary path effect 21 | S = P/2; 22 | yp=conv(S,x); 23 | Sh=zeros(M,1); 24 | 25 | %adaptive filter S hat that adapts to match S 26 | for n=M:N 27 | yvec=x(n:-1:n-M+1); 28 | u(n) = uOG/(yvec'*yvec); 29 | e1(n)=yp(n)-Sh'*yvec; 30 | Sh=Sh+u(n)*yvec*(e1(n)); 31 | end 32 | 33 | Sh = abs(ifft(1./abs(fft(Sh)))); 34 | xp = conv(Sh,x); 35 | 36 | %initializing adaptive filter wights and error values 37 | Wz=zeros(M,1); 38 | y=zeros(N,1); 39 | e=zeros(N,1); 40 | 41 | x=x(:); 42 | d=d(:); 43 | xp=xp(:); 44 | 45 | %lms algorithm for adaptive filter weights 46 | for n=M:N 47 | xvec=x(n:-1:n-M+1); 48 | xpvec=xp(n:-1:n-M+1); 49 | u(n) = uOG/(xvec'*xvec); 50 | for k=1:length(Sh) 51 | y(n)=y(n)+S(k)*Wz(k)*xvec(k); 52 | end 53 | e(n)=d(n)-y(n); 54 | Wz=Wz+u(n)*xpvec*(e(n)); 55 | end 56 | 57 | %for generating plots 58 | figure; 59 | subplot(2,1,1) 60 | plot(e(M:N)); 61 | title('Error'); 62 | ylabel('Error'); 63 | xlabel('Cycles'); 64 | subplot(2,1,2) 65 | plot(d(M:N)); 66 | xlabel('n'); 67 | ylabel('Signal'); 68 | title('d(n) vs y(n)'); 69 | hold on 70 | plot(y(M:N)); 71 | legend('d(n)','y(n)') 72 | end 73 | 74 | -------------------------------------------------------------------------------- /Code/anc.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adithyasunil26/Active-Noise-Control/1ff695a8c1b52c6846776debc4b4b35bfd136e1f/Code/anc.wav -------------------------------------------------------------------------------- /Code/filtered signal.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adithyasunil26/Active-Noise-Control/1ff695a8c1b52c6846776debc4b4b35bfd136e1f/Code/filtered signal.wav -------------------------------------------------------------------------------- /Code/filtered signal1.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adithyasunil26/Active-Noise-Control/1ff695a8c1b52c6846776debc4b4b35bfd136e1f/Code/filtered signal1.wav -------------------------------------------------------------------------------- /Code/moonlight_sonata_bethoven.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adithyasunil26/Active-Noise-Control/1ff695a8c1b52c6846776debc4b4b35bfd136e1f/Code/moonlight_sonata_bethoven.wav -------------------------------------------------------------------------------- /Code/noisysignal.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adithyasunil26/Active-Noise-Control/1ff695a8c1b52c6846776debc4b4b35bfd136e1f/Code/noisysignal.wav -------------------------------------------------------------------------------- /Code/noisysignal1.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adithyasunil26/Active-Noise-Control/1ff695a8c1b52c6846776debc4b4b35bfd136e1f/Code/noisysignal1.wav -------------------------------------------------------------------------------- /Code/readme.md: -------------------------------------------------------------------------------- 1 | The files in this directory are as follows: 2 | - Basic_LMS.m - Implmentation of the basic LMS algorithm and its analysis for different step sizes 3 | - Basic_NLMS.m - Implmentation of the basic NLMS algorithm and its analysis for different step sizes 4 | - Filtered_X_LMS.m - Implmentation of the filtered-X LMS algorithm and its analysis for different step sizes 5 | - Filtered_X_NLMS.m - Implmentation of the filtered-X NLMS algorithm and its analysis for different step sizes 6 | - filtered signal.wav - Output from realnoise.m which is the signal after noise cancellation on noisysignal.wav 7 | - filtered signal1.wav - Output from realnoise.m which is the signal after noise cancellation on noisysignal1.wav 8 | - anc.wav - Voice sample used for testing the active noise cancellation in realnoise.m 9 | - moonlight_sonata_bethoven.wav - Audio sample used for testing the active noise cancellation in realnoise.m (Generated from synthesizer done in lab 5) 10 | - noisysignal.wav - The noisy signal in realnoise.m before it is filtered (moonlight_sonata_bethoven.wav with noise) 11 | - noisysignal1.wav - The noisy signal in realnoise.m before it is filtered (anc.wav with noise) 12 | - realnoise.m - Use of NLMS to remove noise from a noisy signal which consists of an audio clip along with randomly generated noise 13 | -------------------------------------------------------------------------------- /Code/realnoise.m: -------------------------------------------------------------------------------- 1 | 2 | %importing audio files 3 | %[orig,Fs]=audioread('moonlight_sonata_bethoven.wav'); 4 | [orig,Fs]=audioread('anc.wav'); 5 | 6 | u= [1]; %for different step sizes 7 | 8 | for j = 1:length(u) 9 | M=128; %number of filter weights 10 | 11 | %generating a random signal for noise 12 | N=196475; %noise length selected according to audio clip length 13 | x=randn(N,1); 14 | x=x/max(x); 15 | 16 | uOG = u(j); %selecting step size 17 | 18 | %defining a transfer function for the acoustic path taken by the 19 | %noise 20 | P=0.5*[0:127]; 21 | d=conv(P,x); 22 | d=d/max(d); 23 | noisysignal=orig+d(1:N); 24 | audiowrite('noisysignal1.wav',noisysignal,Fs); 25 | clean=conv(P,orig); 26 | 27 | %initializing adaptive filter wights 28 | W=zeros(M,1); 29 | 30 | x=x(:); 31 | d=d(:); 32 | 33 | %lms algorithm for adaptive filter weights 34 | for n=M:N 35 | xvec=x(n:-1:n-M+1); 36 | u(n) = uOG /(xvec'*xvec); 37 | y(n)=W'*xvec; 38 | e(n)=d(n)-y(n); 39 | W=W+u(n)*xvec*(e(n)); 40 | end 41 | 42 | %soundsc(noisysignal-y,Fs); 43 | for k=M:N 44 | filtered(k-M+1)=noisysignal(k)-y(k); 45 | end 46 | audiowrite('filtered signal1.wav',filtered,Fs); 47 | end 48 | 49 | 50 | 51 | -------------------------------------------------------------------------------- /Final Report.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adithyasunil26/Active-Noise-Control/1ff695a8c1b52c6846776debc4b4b35bfd136e1f/Final Report.pdf -------------------------------------------------------------------------------- /Initial Report.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adithyasunil26/Active-Noise-Control/1ff695a8c1b52c6846776debc4b4b35bfd136e1f/Initial Report.pdf -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Active Noise Control 2 | 3 | ## Overview 4 | Acoustic noise creates a major problem in industrial equipment and automobiles. The passive techniques to control noise have proven to be expensive, take up a lot of space and are ineffective at low frequencies. This brings us to Active Noise Control. Active noise control involves use of electroacoustic or electromechanical systems to cancel unwanted noise based on the principle of superposition. ANC fixes most of the shortcomings of the passive techniques. ANC systems are also cheaper and a lot less bulky. ANC systems must be adaptive in order to cope with variations in the noise. This idea of this project is to examine such ANC systems and analyse their implementations. 5 | 6 | ## Objectives 7 | 8 | 1. Learn about adaptive filtering: Develop a decent understanding of adaptive signal processing and common methods of adaptive filtering. 9 | 2. Examine common adaptive filtering algorithms used for ANC: Understanding and analyzing the working of LMS and filtered-X LMS algorithms. 10 | 3. Implement some of the algorithms and test their working: Implement the LMS and filtered-X LMS algorithms from scratch. 11 | 12 | Please check the [final report](https://github.com/adithyasunil26/Active-Noise-Control/blob/main/Final%20Report.pdf) for more more detailed information about the project. 13 | 14 | The contents of this repository are as follows 15 | 16 | ```bash 17 | 18 | ├── Code 19 | │   ├── Basic_LMS.m 20 | │   ├── Basic_NLMS.m 21 | │   ├── Filtered_X_LMS.m 22 | │   ├── Filtered_X_NLMS.m 23 | │   ├── anc.wav 24 | │   ├── filtered\ signal.wav 25 | │   ├── filtered\ signal1.wav 26 | │   ├── moonlight_sonata_bethoven.wav 27 | │   ├── noisysignal.wav 28 | │   ├── noisysignal1.wav 29 | │   ├── readme.md 30 | │   └── realnoise.m 31 | ├── Final\ Report.pdf 32 | ├── Initial\ Report.pdf 33 | ├── README.md 34 | └── Result 35 | ├── Audio\ files 36 | │   ├── anc.wav 37 | │   ├── filtered\ signal.wav 38 | │   ├── filtered\ signal1.wav 39 | │   ├── moonlight_sonata_bethoven.wav 40 | │   ├── noisysignal.wav 41 | │   └── noisysignal1.wav 42 | ├── Basic_LMS 43 | │   ├── u=0.01.jpg 44 | │   ├── u=0.05.jpg 45 | │   ├── u=0.1.jpg 46 | │   └── u=0.2.jpg 47 | ├── Basic_NLMS 48 | │   ├── u=0.1.jpg 49 | │   ├── u=0.2.jpg 50 | │   ├── u=0.3.jpg 51 | │   ├── u=0.4.jpg 52 | │   ├── u=0.5.jpg 53 | │   └── u=1.jpg 54 | ├── Filtered_X_LMS 55 | │   ├── u=0.001.jpg 56 | │   ├── u=0.005.jpg 57 | │   └── u=0.01.jpg 58 | ├── Filtered_X_NLMS 59 | │   ├── u=0.0001.jpg 60 | │   ├── u=0.0025.jpg 61 | │   ├── u=0.005.jpg 62 | │   └── u=0.01.jpg 63 | └── readme.md 64 | ``` 65 | 66 | The `Code` directory consists of all the MATLAB scripts written for the implementations of various ANC algorithms. The `Result` directory consists of the obtained results sorted by algorithm. 67 | 68 | 69 | ## References 70 | 1. [Active Noise Control: A Tutorial Review by Sen M Kuo and Dennis R Morgan](https://ieeexplore.ieee.org/document/763310) 71 | 72 | 2. [Adaptive Filtering based on LMS Algorithm by Sireesha N, K Chithra and Tata Sudhakar](https://ieeexplore.ieee.org/document/6701910) 73 | 74 | 3. Adaptive Filter Theory (5th edition) by Simon Haykin 75 | -------------------------------------------------------------------------------- /Result/Audio files/anc.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adithyasunil26/Active-Noise-Control/1ff695a8c1b52c6846776debc4b4b35bfd136e1f/Result/Audio files/anc.wav -------------------------------------------------------------------------------- /Result/Audio files/filtered signal.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adithyasunil26/Active-Noise-Control/1ff695a8c1b52c6846776debc4b4b35bfd136e1f/Result/Audio files/filtered signal.wav -------------------------------------------------------------------------------- /Result/Audio files/filtered signal1.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adithyasunil26/Active-Noise-Control/1ff695a8c1b52c6846776debc4b4b35bfd136e1f/Result/Audio files/filtered signal1.wav -------------------------------------------------------------------------------- /Result/Audio files/moonlight_sonata_bethoven.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adithyasunil26/Active-Noise-Control/1ff695a8c1b52c6846776debc4b4b35bfd136e1f/Result/Audio files/moonlight_sonata_bethoven.wav -------------------------------------------------------------------------------- /Result/Audio files/noisysignal.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adithyasunil26/Active-Noise-Control/1ff695a8c1b52c6846776debc4b4b35bfd136e1f/Result/Audio files/noisysignal.wav -------------------------------------------------------------------------------- /Result/Audio files/noisysignal1.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adithyasunil26/Active-Noise-Control/1ff695a8c1b52c6846776debc4b4b35bfd136e1f/Result/Audio files/noisysignal1.wav -------------------------------------------------------------------------------- /Result/Basic_LMS/u=0.01.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adithyasunil26/Active-Noise-Control/1ff695a8c1b52c6846776debc4b4b35bfd136e1f/Result/Basic_LMS/u=0.01.jpg -------------------------------------------------------------------------------- /Result/Basic_LMS/u=0.05.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adithyasunil26/Active-Noise-Control/1ff695a8c1b52c6846776debc4b4b35bfd136e1f/Result/Basic_LMS/u=0.05.jpg -------------------------------------------------------------------------------- /Result/Basic_LMS/u=0.1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adithyasunil26/Active-Noise-Control/1ff695a8c1b52c6846776debc4b4b35bfd136e1f/Result/Basic_LMS/u=0.1.jpg -------------------------------------------------------------------------------- /Result/Basic_LMS/u=0.2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adithyasunil26/Active-Noise-Control/1ff695a8c1b52c6846776debc4b4b35bfd136e1f/Result/Basic_LMS/u=0.2.jpg -------------------------------------------------------------------------------- /Result/Basic_NLMS/u=0.1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adithyasunil26/Active-Noise-Control/1ff695a8c1b52c6846776debc4b4b35bfd136e1f/Result/Basic_NLMS/u=0.1.jpg -------------------------------------------------------------------------------- /Result/Basic_NLMS/u=0.2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adithyasunil26/Active-Noise-Control/1ff695a8c1b52c6846776debc4b4b35bfd136e1f/Result/Basic_NLMS/u=0.2.jpg -------------------------------------------------------------------------------- /Result/Basic_NLMS/u=0.3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adithyasunil26/Active-Noise-Control/1ff695a8c1b52c6846776debc4b4b35bfd136e1f/Result/Basic_NLMS/u=0.3.jpg -------------------------------------------------------------------------------- /Result/Basic_NLMS/u=0.4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adithyasunil26/Active-Noise-Control/1ff695a8c1b52c6846776debc4b4b35bfd136e1f/Result/Basic_NLMS/u=0.4.jpg -------------------------------------------------------------------------------- /Result/Basic_NLMS/u=0.5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adithyasunil26/Active-Noise-Control/1ff695a8c1b52c6846776debc4b4b35bfd136e1f/Result/Basic_NLMS/u=0.5.jpg -------------------------------------------------------------------------------- /Result/Basic_NLMS/u=1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adithyasunil26/Active-Noise-Control/1ff695a8c1b52c6846776debc4b4b35bfd136e1f/Result/Basic_NLMS/u=1.jpg -------------------------------------------------------------------------------- /Result/Filtered_X_LMS/u=0.001.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adithyasunil26/Active-Noise-Control/1ff695a8c1b52c6846776debc4b4b35bfd136e1f/Result/Filtered_X_LMS/u=0.001.jpg -------------------------------------------------------------------------------- /Result/Filtered_X_LMS/u=0.005.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adithyasunil26/Active-Noise-Control/1ff695a8c1b52c6846776debc4b4b35bfd136e1f/Result/Filtered_X_LMS/u=0.005.jpg -------------------------------------------------------------------------------- /Result/Filtered_X_LMS/u=0.01.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adithyasunil26/Active-Noise-Control/1ff695a8c1b52c6846776debc4b4b35bfd136e1f/Result/Filtered_X_LMS/u=0.01.jpg -------------------------------------------------------------------------------- /Result/Filtered_X_NLMS/u=0.0001.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adithyasunil26/Active-Noise-Control/1ff695a8c1b52c6846776debc4b4b35bfd136e1f/Result/Filtered_X_NLMS/u=0.0001.jpg -------------------------------------------------------------------------------- /Result/Filtered_X_NLMS/u=0.0025.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adithyasunil26/Active-Noise-Control/1ff695a8c1b52c6846776debc4b4b35bfd136e1f/Result/Filtered_X_NLMS/u=0.0025.jpg -------------------------------------------------------------------------------- /Result/Filtered_X_NLMS/u=0.005.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adithyasunil26/Active-Noise-Control/1ff695a8c1b52c6846776debc4b4b35bfd136e1f/Result/Filtered_X_NLMS/u=0.005.jpg -------------------------------------------------------------------------------- /Result/Filtered_X_NLMS/u=0.01.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adithyasunil26/Active-Noise-Control/1ff695a8c1b52c6846776debc4b4b35bfd136e1f/Result/Filtered_X_NLMS/u=0.01.jpg -------------------------------------------------------------------------------- /Result/readme.md: -------------------------------------------------------------------------------- 1 | The files in this directory are as follows: 2 | - Audio files - Diretory containing all the audio files generated from realnoise.m 3 | - Basic_LMS - Diretory containing all the plots generated from Basic_LMS.m 4 | - Basic_NLMS - Diretory containing all the plots generated from Basic_NLMS.m 5 | - Filtered_X_LMS - Diretory containing all the plots generated from Filtered_X_LMS.m 6 | - Filtered_X_NLMS - Diretory containing all the plots generated from Filtered_X_NLMS.m 7 | --------------------------------------------------------------------------------