1. A method comprising: generating, by one or more motion sensors of a mobile device, a periodic sensor signal in response to periodic motion of the mobile device caused by a user's arm swing; receiving, by a processor of the mobile device, the periodic sensor signal; determining, by the processor, a fundamental motion frequency of the periodic sensor signal using a sliding window Discrete Fourier Transform (DFT), where length of the sliding window is approximately equal to a fundamental period of the user's arm swing, and lowest non-zero frequency bin output by the DFT is selected as the fundamental motion frequency; extracting, by the processor, a periodicity feature from the periodic sensor signal based on the fundamental motion frequency; responsive to the extracting, configuring a global navigation satellite system (GNSS) receiver of the mobile device to estimate GNSS velocity of the GNSS receiver; and displaying, by the mobile device, the user's speed or distance traveled based on the estimated GNSS velocity.