According to embodiments, systems and methods are provided for detecting pulses in a PPG signal. Local minima and maxima points may be identified in the PPG signal. Each minimum may be paired with an adjacent maximum forming an upstroke segment. Noise may be removed by comparing adjacent segments and ignoring segments that are too long or too large. Notches in the pulse may be identified and ignored by analyzing adjacent segments. Adjacent upstroke segments may be combined as a single upstroke if the lengths of adjacent upstroke segments are about the same, have similar slopes, and the end point of one segment is close to the start point of an adjacent segment. Segments having small temporal or amplitude difference relative to adjacent segments may be disregarded. The remaining segments may represent the pulse upticks. A sliding time window may be used instead to detect pulses in the PPG signal.