Adaptive Filter on Recorded Site Data


Purpose:

  1. To determine if the LMS Adaptive Noise Cancelation algorithm would work on the site data
  2. To further explore the parameter space of the filter algorithm

Procedure:

ANC Against Site Pump Data with a 64 Sample Delay:

  1. A "Noise Source" data file was created by taking a one second clip of the recorded site Pump at 5 ft data.
  2. A simulated "Quiet Source" wave form was created by delaying the first data file by 64 samples.
  3. The ANC LMS algorithm was run, it generated the "Error Signal" or what you would expect to hear in the protected zone.
  4. A time vs amplitude plot was created for the original noise and the "error" or sound at the protected zone.

Results:

Pump delayed by 64 samples
This plot represents the noise signal that would normally be at the protected zone and the same place with ANC turned on.
Note a roughly 3 to 4 decrease in noise amplitude after the filter converged.

Procedure:

ANC Against Site Pump Data with a 4 Foot Simulated Distance:

  1. A "Noise Source" data file was created by taking a one second clip from the Pump at 1 ft signal recorded at the site.
  2. A "Quiet Zone" data file was created by taking a one second clip from the Pump at 5 ft signal recorded at the site.
  3. It was assumed that the 1 ft and 5 ft data would make a reasonable "more real world" test case for the ANC algorithm
  4. The ANC LMS algorithm was fed the Noise and Quiet data files and produced an "Error" file which represents the sound you would actually hear in the protected zone.
  5. An amplitude verses time plot was generated for the original "Noise" and the ANC "Error" Output

Results:

Pump with 1ft and 5 ft data
This picture represents the normal noise you would hear at the protected zone and the same signal with the ANC turned on.
Many different filter parameters were tried from 32 Taps to 1024 Taps. None of the filters tried converged on the error signal.
Assuming that the non-convergence was caused by round-off error in the ANC code, I converted the code to double precision floating point math.
The double precision math did not make a significant difference.
My next assumption is that the filter was not long enough. The four foot difference would equate to a roughly 80 tap filter.
(22000 taps/second * 1 sec/1100 ft) = 20 taps/ft * 4 ft = 80 taps.
Since we tried 64, 85, 256, and 1024 tap filters this shouldn't be an issue.
This leaves me with at least 2 alternatives:
  1. The 1ft and 5 ft noise files are not well correlated or are not coherent enough to support this form of analysis
  2. The algorithm isn't working in this instance.
Since the algorithm worked on white noise, I feel that it is reasonably robust. We need to withhold judgement until we have a coherent recording of source noise and a quiet zone waveform.

Procedure:

ANC Against Site Belt Data with a 70 sample simulated distance:

  1. A "Noise Source" data file was created by taking a one second clip of the recorded site Belt at 5 ft data.
  2. A simulated "Quiet Source" wave form was created by delaying the first data file by 70 samples.
  3. The ANC LMS algorithm was run, it generated the "Error Signal" or what you would expect to hear in the protected zone.
  4. A time vs amplitude plot was created for the original noise and the "error" or sound at the protected zone.

Results:

Belt delayed by 70 samples
This picture represents the normal noise you would hear at the protected zone and the same signal with the ANC turned on.
Note that the error signal is roughly a factor of 3 or 4 under the normal noise.


Questions?


dak 10/15/97