Geoscience Reference
In-Depth Information
Fig. 6.6 Schematic of an adaptive i lter. Each iteration involves a new estimate of the i lter
weights W i +1 based on the previous set of i lter weights W i plus a term that is the product of
a bounded step size u , a function of the i lter input X i , and a function of the error e i . In other
words, error e i calculated from the previous step is fed back into the system to update i lter
coei cients for the next step (modii ed from Trauth 1998).
In the following example introducing the use of the function canc , each
of these loops is called an iteration, and many of these loops are required
if optimal results are to be achieved. h is algorithm extracts the noise-
free signal from two vectors, x and s , containing the correlated signals and
uncorrelated noise. As an example we generate two signals yn1 and yn2
containing the same sine wave but dif erent Gaussian noise.
clear
x = 0 : 0.1 : 100; x = x';
y = sin(x);
rng(0)
yn1 = y + 0.5*randn(size(y));
yn2 = y + 0.5*randn(size(y));
plot(x,yn1,x,yn2)
h e algorithm canc formats both signals, feeds them into the i lter loop,
corrects the signals for phase shit s, and formats the signals for the output.
h e required inputs are the signals x and s , the step size u , the i lter length l
and the number of iterations iter . In our example the two noisy signals are
yn1 and yn2 . We make an arbitrary choice of a i lter with l=5 i lter weights. A
value of u in the range of 0 < u < l/ʻ max , where ʻ max is the largest eigenvalue of
the autocorrelation matrix for the reference input, leads to reasonable results
(Haykin 1991) (Fig. 6.7). h e value of u is computed using
k = kron(yn1,yn1');
u = 1/max(eig(k))
where kron returns the Kronecker tensor product of yn1 and yn1' (which is
a matrix formed by taking all possible products between the elements of yn1
Search WWH ::




Custom Search