Adaptive filters have been successfully applied to signal processing and digital communications. The suitable step-size and tap-length play critical roles of an adaptive filter. In this thesis, we propose an adaptive filtering algorithm combined with variable step-size and variable tap-length. The suitable tap-length is derived by using instant gradient estimates of error signal, and the resulting algorithm is capable of reducing errors and estimating the system length properly. The equipped variable step-size mechanism provides fast convergence rate and low steady-state mean squared errors as well. Effectiveness of the proposed algorithm is demonstrated through computer simulations.