At least two waveforms indicative of respiration are extracted from cardiac signals such as PPG or ECG. The extracted waveforms are converted into the frequency domain and multiplied together to form a combined frequency response function representing the frequency content of the combined respiratory waveform. Up to three peaks in the combined frequency response function are identified and averaged to provide an improved estimate of the breathing rate.