Page 154 - MATLAB Recipes for Earth Sciences
P. 154
148 6 Signal Processing
We now run the adaptive fi lter canc for 10 iterations and use the above
value of u.
[z,e,mer] = canc(yn1,yn2,0.0019,5,10);
The evolution of the mean-squared error
plot(mer)
illustrates the performance of the adaptive filter, although the chosen step
size u=0.0019 obviously leads to a relatively fast convergence. In most ex-
amples, a smaller step size decreases the rate of convergence, but increases
the quality of the final result. We therefore reduce u by one order of magni-
tude and run the filter again with more iterations.
[z,e,mer] = canc(yn1,yn2,0.0001,5,20);
The plot of the mean-squared error against the iterations
plot(mer)
now convergences after around six iterations. We now compare the fi lter
output with the original noise-free signal.
plot(x,y,'b',x,z,'r')
This plot shows that the noise level of the signal has been reduced dramati-
cally by the filter. Finally, the plot
plot(x,e,'r')
shows the noise extracted from the signal. In practice, the user should vary
the parameters u and l in order to obtain the optimum result.
The application of this algorithm has been demonstrated on duplicate
oxygen-isotope records from ocean sediments (Trauth 1998). The work by
Trauth (1998) illustrates the use of the modified LMS algorithm, but also
another type of adaptive filter, the recursive least-squares (RLS) algorithm
(Haykin 1991) in various environments.
Recommended Reading
Alexander ST (1986) Adaptive signal processing: theory and applications. Springer, Berlin
Heidelberg New York
Buttkus B (2000) Spectral Analysis and Filter Theory in Applied Geophysics. Springer,
Berlin Heidelberg New York