We present an observer for parameter estimation in nonlinear oscillating systems (periodic, quasiperiodic or chaotic). The observer requires measurements of generalized displacements. It estimates generalized velocities on a fast time scale and unknown parameters on a slow time scale, with time scale separation specified by a small parameter ϵ. Parameter estimates converge asymptotically like e–−ϵt where t is time, provided the data is such that a certain averaged coefficient matrix is positive definite. The method is robust: small model errors and noise cause small estimation errors. The effects of zero mean, high frequency noise can be reduced by faster sampling. Several numerical examples show the effectiveness of the method