40m QIL Cryo_Lab CTN SUS_Lab TCS_Lab OMC_Lab CRIME_Lab FEA ENG_Labs OptContFac Mariner WBEEShop
  40m Log  Not logged in ELOG logo
Message ID: 6332     Entry time: Tue Feb 28 16:12:59 2012
Author: Den 
Type: Update 
Category: Adaptive Filtering 
Subject: lunch talk 

 Just to be clear what I said at the meeting, I write all this down here. Adaptive filtering of real signals (MC_F and GUR1_X) with all noises inside is 


This is offline filtering but with real signals and with the C-code that is compiled at the 40m now. We can reduce the MC_F signal by ~100 below 10 Hz, but  the problem is that reducing the adaptation gain, the error increases. As a result when we move towards FxLMS algorithm with AA, AI and downsampling, we have to take the gain equal to ~1e-2 and we do not reduce any noise. 

The second demonstration of this problem is static Wiener filtering. This is the result


We can see that adaptive filtering outperforms the "optimal" filtering. This is because an adaptive filter can follow the changes of coefficients immediately while the Wiener filter averages them. This is the mathematical formulation:

mcl_real = coeff _real* seismic_noise_real + other_noise

mcl_real - the real length of the MC,

coeff_real - real coefficients, that represent the transfer function between seismic noise and MC length,

other_noise - noise uncorrelated to the seismic noise seismic_noise_real

But in the world of our measured signals we have the equation

mcl_measured = coeff * seismic_noise_measured + other_noise

mcl_measured = TF_mcl * mcl_real

seismic_noise_measured = TF_seis * seismic_noise_real

where TF_mcl and TF_seis - transfer functions from the real world to measurements.

It seems to me that TF_mcl or TF_seis are not constants and for that reason the TF between measured seismic noise and mcl is not constant. But it is exactly what an adaptive or Wiener filter tries to define:

coeff(time) = average(coeff(time)) + delta(coeff(time))

The result of applying average(coeff) is the green line in the Figure 2 - error after applying the Wiener filtering.

delta(coeff) - the changing part of the transfer function is caught by the adaptive filtering. The lower the gain, the lower is the capability of adaptive filter to catch these changes. Theoretically. the error after applying adaptive filter can be presented like this:

E(error*error) = E(other_noises*other_noises) + 1/(2-mu)*mu*E(other_noises*other_noises)  + 1/ {mu*(2-mu)} * Tr(Q) * A

where mu = adaptation gain

Q - covariance matrix of delta(coeff)

A - norm of the seismic signal

The first term in this equation is the dispersion of other noises, the second term is the error of the adaptive filter due to non-zero gain, the third term is due to the changes in the transfer function - we can see that it is proportional to 1/mu. This term explains why the error increases while mu decreases.

Now I'm looking for the part in the path of the signals where the transfer function can change. As I mentioned above, this is not a change in the real world, it is the change in the measured signlals. My first guess is the quantization error - we do not have not enough counts. If this is not the case, I'll move to other things of the signal path.

ELOG V3.1.3-