In waist-worn pedestrian navigation systems, the periodic vertical acceleration peak signal at body centre of gravity is widely used for detecting steps. Due to vibration and waist shaking interference, accelerometer output signals contain false peaks and thus reduce step detection accuracy. This paper analyses the relationship between periodic acceleration at pedestrian centre of gravity and walking stance during walking. An adaptive dual-window step detection method is proposed based on this analysis. The peak signal is detected by a dual-window and the window length is adjusted according to the change in step frequency. The adaptive dual window approach is shown to successfully suppress the effects of vibration and waist shaking, thereby improving the step detection accuracy. The effectiveness of this method is demonstrated through step detection experiments and pedestrian navigation positioning experiments respectively. The step detection error rate was found to be less than 0·15% in repeated experiments consisting of 345 steps, while the longer (about 1·3 km) pedestrian navigation experiments demonstrated typical positioning error was around 0·67% of the distance travelled.