LMS algorithm for modeling step-size ambiguity!
I have the first edition of Behrouz Farhang-Boroujeny's Adaptive Filters book.  I found it useful and it was definitely more practical in terms of implementing adaptive filters than other textbooks like those from Haykin and Sayed, primarily because of the included Matlab code.  However, like any topic in the area of adaptive filtering, I would use it with a grain of salt.

There are numerous variations of the LMS algorithm, primarily because it is readily implemented and not computationally expensive compared to other adaptive algorithms such as the Recursive Least Squares (RLS) algorithm.

I think a lot of the LMS variations you can find (particularly in Farhang-Boroujeny's book) come about because people tweak one of the more traditional variations, ending up with something that performs well for their particular problem.  These often make it into journals because they are different and are indeed novel implementations.

I would suggest you read about the standard LMS algorithm and the normalized version of this algorithm, the NLMS.  Once you feel comfortable with your understanding of these algorithms, then implement them and apply them to your problem.  Tuning the step-size can then be done by trial-and-error.  If you are keen to understand the mathematical details of how the step-size is determined, I suggest the Haykin and Widrow textbook.  It has in depth analysis of the convergence behavior of LMS-based algorithms.

Here is an example (my code) of the LMS algorithm in Matlab.

function [ prediction_error, weights ] = LMS_Algorithm( regressive_sequence, ...
    step_size, number_of_taps )

% This script-file implements the Least Mean-squares (LMS) adaptive
% algorithm.
%
%
%% See Also
% LMS_Algorithm, NLMS_Algorithm, RLS_Algorithm, APA_Algorithm

% Author:  Michael R. Wirtzfeld
% Modification Date:  Monday, February 27, 2012
% Creation Date:  Wednesday, February 15, 2012


weights = zeros( number_of_taps, size(regressive_sequence, 2) );
prediction_error = zeros( size(regressive_sequence) );


for index = (number_of_taps + 1):1:numel( regressive_sequence )

    tap_inputs = [ regressive_sequence( (index - 1):-1:(index - ...
        number_of_taps) ) ]';

    prediction = weights(:, index)' * tap_inputs;

    prediction_error(index) = regressive_sequence(index) - prediction;

    weights( :, (index+1) ) = weights( :, index ) + ...
        step_size * tap_inputs * prediction_error(index);

end;  % End:  for index = 1:1:numel( regressive_sequence )


weights = weights( :, 1:1:numel( regressive_sequence ) );


%% References

% Section 9.5, Summary of the LMS Algorithm, Adaptive Filter Theory, Third
% Edition, S. Haykin, Prentice Hall, 1996


Here is an example of the NLMS algorithm in Matlab.

function [ prediction_error, weights ] = NLMS_Algorithm( regressive_sequence, ...
    step_size, number_of_taps )

% This script-file implements the Normalized Least Mean-squares (NLMS)
% adaptive algorithm.
%
%
%% See Also
% LMS_Algorithm, NLMS_Algorithm, RLS_Algorithm, APA_Algorithm

% Author:  Michael R. Wirtzfeld
% Modification Date:  Monday, February 27, 2012
% Creation Date:  Wednesday, February 15, 2012


a = 0.0001;

weights = zeros( number_of_taps, size(regressive_sequence, 2) );
prediction_error = zeros( size(regressive_sequence) );


for index = (number_of_taps + 1):1:numel( regressive_sequence )

    tap_inputs = [ regressive_sequence( (index - 1):-1:(index - ...
        number_of_taps) ) ]';

    prediction = weights( :, index )' * tap_inputs;

    prediction_error(index) = regressive_sequence (index) - prediction;

    normalization_term = a + norm(tap_inputs)^2;

    weights( :, (index+1) ) = weights( :, index ) + ...
        (step_size / normalization_term) * tap_inputs * prediction_error(index);

end;  % End:  for index = 1:1:numel( regressive_sequence )


weights = weights( :, 1:1:numel( regressive_sequence ) );



%% References

% Table 9.2, Summary of the NLMS Algorithm, Adaptive Filter Theory, Third
% Edition, S. Haykin, Prentice Hall, 1996


These functions were used as part of an investigation to see how a standard tap-delay line implementation of the LMS and NLMS algorithms could model a second-order auto-regressive sequence.

As Fat32 said, most of the textbooks on the topic of adaptive filters use different notations and suggest different recommendations regarding how to set parameters, so it's no wonder that you feel uncertain about what to do.

I hope this helps.