Abstract
In one illustrative example, a method for use in reducing Repeatable Run Out (RRO) error in a data storage device involves obtaining an RRO measurement for each track of a limited number of N disk tracks; characterizing the RRO measurement for each track with real and imaginary values by performing a discrete Fourier transform (DFT) calculation on each RRO measurement; performing a least-squares fit on all of the real values to identify a first set of (n+1) coefficients of an nth-order polynomial function which is a function of disk track r and representable in the form Ai(r)=anrn+a(n-1)r(n-1)+ . . . +a1r+a0; and performing a least-squares fit on all of the imaginary values to identify a second set of (n+1) coefficients of an nth-order polynomial function which is a function of disk track r and representable in the form Bi(r)=bnrn+b(n-1)r(n-1)+ . . . +b1r+b0. RRO compensation is performed based on the relation DRRO(r, s)=Sigmai for all H {Ai(r)cos(i(s2pi/total_sectors))+Bi(r)sin(i(s2pi/total_sectors))} where DRRO is the estimated RRO error; r is a track number; s is a sector number at track number r; i is an RRO harmonic number; H is a set of harmonics to be compensated; and total_sectors is a total number of sectors along track number r. Advantageously, RRO variations across the disk can be accurately compensated for with use of a small amount of memory.