# S-PDR: SBAUPT-Based Pedestrian Dead Reckoning Algorithm for Free-Moving Handheld Devices
## 2 Related Work
### Step Detection  
PDR navigation systems require a robust step detection algorithm. The effect of a step miss or a fake step count can vary on the performance of PDR depending on the methodology of how the step count is being used. For elaboration, consider an algorithm that utilizes a fixed step length for a user. If the step detection algorithm fails to capture a step or is fooled into counting a step, this will lead to an error of a step length in the navigation solution. Now consider a long period of navigation where the algorithm skips multiple steps, this will lead to a high magnitude of positional error.  
Step detection algorithms rely on pattern detection in the sensor measurements. These patterns are prominent and distinguishable for strapdown systems that are tethered to a body-segment where the navigation device is in alignment with the motion, such as the foot. Such an approach relishes the benefits of closely capturing the characteristics of GC such as the static state of the foot during the stance phase, making it easier to detect a step.  
The use of a smartphone for step detection is more complex than strapdown systems due to the high dynamicity of the smartphone. In the case of smartphones for navigation,  
Figure 3: PDR block diagram.  
Figure 2: Human gait cycle (GC) [27].  
there is no detectable zero velocity region for the stance phase of the GC as the human upper body half is in continuous motion unlike the foot. Furthermore, the device might exhibit none-walking related motion from the arm movement causing orientation changes and accelerations that do not represent the walking behavior. Finally, the use case of the phone and its placement will alter the patterns in the acceleration signals, hence it is hard to use a generalized method for step detection that works seamlessly across all possible phone placements and walking behavior.  
Step detection for smartphone navigation applications is usually based on peak and valley pair detection. It usually incorporates the use of thresholds to filter out false peaks or employs motion mode and/or smartphone use case classifiers to adaptively tune the parameters for step detection. The thresholds for step detection can be computed and adaptively tuned in many ways. When the accelerations are compensated for gravity, zero-crossing can be a very efficient way to detect steps [28]. Alternatively, peak/valley pairs from accelerations are used based on thresholds that can be obtained through the training/learning process [29] but might suffer from being user-dependent. A more efficient step detection combines a multi-level threshold system that adaptively tunes the peak/valley thresholds in real-time without the need for a training process, and incorporates temporal thresholds [30], pseudo-zero crossing, and peak validation to eliminate fake peaks and valleys [31].  
Smartphone use case classifiers--such as holding, swinging, calling, pocket placement, and backpack placement--and motion mode classifiers--such as walking, running, or taking the stairs--are used to either adaptively select the appropriate set of thresholds or extraction of repetitive features for step detection. These classifiers can be implemented in many ways such as but not limited to: artificial neural networks (ANN) [32,33], decision trees (DT) [34], fuzzy logic [35], support vector machines (SVM) [36], SVM and DT fusion [37], multilayer perceptron (MLP) [38], and bidirectional long short-term memory recurrent neural networks (BLSTM-RNN) [39]. Alternative sensors from smartphones have been also utilized for step detection, such as camera sensors which is referred to as visual odometry [40, 41, 42, 43], but they can only work under the constraint of using the device in compassing mode for the camera to capture the foot motion of the user.