A signal processing technique for estimating the frequency of a pulsatile signal (including but not limited to pulse oximetry signals) is disclosed. Each of the functions contained within a pre-selected set of functions is compared to the input signal at many different time-shifts, and the function/time-shift combination that best matches the input signal is selected. The frequency of the best-matching function is then used as the best estimate of the frequency of the input signal. Optionally, once a function has been selected, the rising portion of the selected function can be correlated in time to the rising portion of the input signal. Improved results can then be obtained by basing the oxygen saturation level calculations on samples taken from the rising portion of the input signal.