Online filter diverges. I did offline simulations with current c-code. Offline filter also diverges, even in the simplest case
witness = randn(1e6, 1); target = witness + 0.01*randn(1e6, 1);
I tried to create a new implementation of FXLMS algorithm as a c code. Then with this c code I did offline filtering with MCL and GUR signals and compared the error signals depending on the length of the filter.

One can see the code at the svn
adaptOnline - start here and choose algorithm
adaptive_filtering - Matlab implementation of AF
current_version.c - current version of the Filter (Matt's)
fxlms_filter.c - new version of the FXLMS filter
oaf.c - agent between Matlab and C (edited Matt's file)
Data samples can be found at nodus /users/den/wiener_filtering/data |