The invention discloses an algorithm for estimating a pitch period of a voice signal and relates to the field of voice signal processing. The algorithm comprises the following steps of: 1, denoising a voice signal with noise through an adaptive filter; 2, determining a self-correlation function of the denoised voice signal and a cyclic average magnitude difference function; and 3, obtaining a weighted square characteristic value through a formula, wherein alpha, beta and gamma are constants which are respectively more than 1, R (k) is the self-correlation function, and the D (k) is the average magnitude difference function. By the algorithm, the pitch period can be effectively detected in the environment with a low signal to noise ratio, the extraction errors are reduced, octave or semioctave errors are reduced, the estimation accuracy of a pitch is improved when the algorithm is sensitive to change of an amplitude or frequency of the voice signal, and the robustness is high.