ECE5760 Final Project

 Adaptive Noise Cancellation

Demo: Field Measurement

 

 

 

 

 

 

 

   

                Simulated Chennel                                         Field Measurement                                                 Real Time
  
Figure 2: Simulink interface for field measuring
Figure.1: Block diagram of the adaptive noise canceller

 

    

 
For a three sinusoids reference noise input, the FPGA still seems to work fine and is capabable of providing desirable filter output.
The noise is still a sinusoid but at a different frequency. The filter output of the adaptive noise canceller on the DE2 board is still as desirable as before.
When the reference noise is a white noise, even MATLAB itself can hardly provide desirable output with an eight tap adaptive filter. The output converges only when the number of filter taps is greater than 120. There are most likely two reasons for this happening. First, a whilte noise, though band limited, still contains a lot of harmonics which complicates how the noise is added to the signal. Second, the delays caused by the Simulink interface have more influence on the filter's converging behavior if the reference noise contains more harmonics. Since by the time our hardware adaptive filter could have at most only 32 weights, it was certainly not viable to conduct the adaptive filtering of a white noise, unless it was highly bandlimited (bands smaller than 100Hz).
Figure 10: MATLAB simulation results for a band limited white noise and 140 tap simulated adaptive filter
Figure 9: MATLAB simulation results for a band limited white noise and 8 tap simulated adaptive filter
Figure 7: MATLAB simulation results for a reference noise of three combined sinusoids at 300Hz, 500Hz, and 800Hz
Figure 3: MATLAB simulation results for a sinusoid reference noise at 500 Hz
Figure 5: MATLAB simulation results for a sinusoid reference noise at 800 Hz
Figure 8: Filter output (channel 1) and filter input (channel 2) of the FPGA for a combined sinusoid reference noise
Figure 6: Filter output (channel 1) and filter input (channel 2 of the FPGA for a sinusoid reference noise
Figure 4: Filter output (channel 1) and filter input (channel 2) of the FPGA for a sinusoid reference noise
First let's use a single sinusoid as the reference noise instead of a white noise and the signal source is still the voice "Hello". Figure 2 shows the simulation results generated by MATLAB using the field measured inputs. And Figure 3 is the filter output of the FPGA using the recorded inputs played back by MATLAB. It seems that if the reference noise is a single sinusoid the FPGA can provde desirable noise cancellation for a prerecorded and field measured input signals.
After a sucessful demostration of the noise canceller's performance with MATLAB simulated channel interference, it is time to test its feasibility if the channel is an actual channel. This means that the measurement of primary input ( the corrupted source) and the reference noise must be conducted in a physical environment. As discussed in the Simulated Channel Section, the channel describes how the signal is distorted and it can be very complicated if the measurements are performed in a real environment. Unlike a MATLAB simuated channel, an actual channel does not have a lot of strength attenuation but can have a lot of delays. In other words, the amplitude response of a real channel is more likely to be all pass while its phase response can be extremely complicated if we use Windows 7 to record the sounds and playback to the FPGA. Windows 7 tends to add a lot of delays to the whole process and the measurements of primary input and reference noise are very likely to be out of phase.
Test Four: Band Limited White Noise

 

 

C:\Users\Lab User\Desktop\three_sino_noise_300_500_800.bmp

 

 

Test Three: Three additive sinusoidal noise signals at 300Hz, 500Hz, and 800Hz

C:\Users\Lab User\Desktop\sino_noise_800Hz.bmp

 

 

Test Two: 800 Hz Single Sinusoidal Noise

C:\Users\Lab User\Desktop\sino_noise_500Hz.bmp

 

 

Test One: 500 Hz Single Sinusoidal Noise
 
 
2011 The School of Electrical and Computer Engineering, Cornell University