1. A method of iterative analysis of cardiac signals comprising: sensing cardiac signals from a plurality of electrodes; generating a self-correlation function from the sensed cardiac signals, the self-correlation function having amplitudes as a function of lag depth; and determining a first estimate of cardiac rate using the self-correlation function; wherein the step of generating the self-correlation function includes: selecting a first data set from the cardiac signal having a first length, N, and a second data set from the cardiac signal having a second length approximately twice the length of the first length, wherein the second data set includes the first data set; repeatedly subtracting the first data set from the second data set at a series of lag depths from approximately zero to approximately N, to generate the self-correlation function.