An observer-based algorithm for adaptive IIR filters