1. A method of estimating a step length, comprising: under control of one or more processors configured with executable instructions: receiving sensor data from a sensor; detecting salient points of a same type from the sensor data; estimating a step frequency from the sensor data based on a time interval between the salient points of the same type in the sensor data; and calculating a step length of a step based at least in part on a nonlinear combination of the estimated step frequency and a predetermined function of the sensor data.