An implantable medical device system (12, 14, 32, 34) configured for iterative analysis of cardiac signals comprising: a plurality of electrodes (16, 18, 20, 36, 38, 40, 42) for sensing cardiac signals; self-correlation means for generating a self-correlation function from the sensed cardiac signals, the self-correlation function having amplitudes as a function of lag depth; and analysis means for determining one or more estimates of cardiac rate using outputs of the self-correlation means; wherein the self-correlation means Includes: sample selection means to select a first data set of the cardiac signal having a first number of elements, N, and signal selection means to select a second data set of the cardiac signal having a second number of elements, M, in which M is approximately twice N, and the second data set includes the first data set; comparison means to perform repeated subtraction of the first data set from a corresponding portion of the second data set at a series of lag depths, wherein each lag depth defines an alignment of the first data set relative to the second data set thereby determining what portion of the second data set corresponds to the first data set for purposes of the subtraction, from approximately zero to approximately N, to generate the self-correlation function. a plurality of electrodes (16, 18, 20, 36, 38, 40, 42) for sensing cardiac signals; self-correlation means for generating a self-correlation function from the sensed cardiac signals, the self-correlation function having amplitudes as a function of lag depth; and analysis means for determining one or more estimates of cardiac rate using outputs of the self-correlation means; wherein the self-correlation means Includes: sample selection means to select a first data set of the cardiac signal having a first number of elements, N, and signal selection means to select a second data set of the cardiac signal having a second number of elements, M, in which M is approximately twice N, and the second data set includes the first data set; comparison means to perform repeated subtraction of the first data set from a corresponding portion of the second data set at a series of lag depths, wherein each lag depth defines an alignment of the first data set relative to the second data set thereby determining what portion of the second data set corresponds to the first data set for purposes of the subtraction, from approximately zero to approximately N, to generate the self-correlation function. sample selection means to select a first data set of the cardiac signal having a first number of elements, N, and signal selection means to select a second data set of the cardiac signal having a second number of elements, M, in which M is approximately twice N, and the second data set includes the first data set; comparison means to perform repeated subtraction of the first data set from a corresponding portion of the second data set at a series of lag depths, wherein each lag depth defines an alignment of the first data set relative to the second data set thereby determining what portion of the second data set corresponds to the first data set for purposes of the subtraction, from approximately zero to approximately N, to generate the self-correlation function.