# Training-Free Acoustic-Based Hand Gesture Tracking on Smart Speakers
## 3 Materials and Methods
### Position Estimation  
For hand tracking, we apply a distance-angle joint estimation algorithm. It is known from Equation (6) that the measured mixed signal \(S(t_{n},\ m)\) of one chirp contains \(N\times M\) samples, where \(N\) is the sample size of a chirp, and \(M\) is the number of microphones. And for each possible distance \(d\) and angle \(\theta\), we construct the theoretical mixed signal sample for the \(m^{th}\) microphone at the \(n^{th}\) sampling timestamp by (5), which can be calculated by  
\[\begin{split} S^{t}(t_{n},\ m,\ d,\ \theta)&=e^{j2\pi(2d- cross(\varphi(m)-\theta))(k_{n}+f_{c})/c}\\ &=e^{j\phi^{t}(t_{n},\ m,\ d,\ \theta)},\end{split} \tag{7}\]  
where \(\phi^{t}(t_{n},\ m,\ d,\ \theta)\) is the theoretical phase caused by \(d\) and \(\theta\). By the ratio of the measured and theoretical mixed signal samples, we can obtain the distance-angle joint estimation sample, which can be calculated by  
\[\begin{split} E_{s}(t_{n},\ m,\ d,\ \theta)&=\frac{S(t_{n},\ m)}{S^{t}(t_{n}, \ m,\ d,\ \theta)}\\ &=\frac{1}{2}\sum_{l=1}^{L}a_{l}e^{j(\phi_{l}(t_{n},\ m)-\phi^{t} (t_{n},\ m,\ d,\ \theta))}.\end{split} \tag{8}\]  
Due to the interference cancellation and signal enhancement, the attenuation factor at the path of the hand \(a_{h}\) is much larger than the attenuation factors at other paths. The distance-angle joint estimation sample can be rewritten as  
\[E_{s}(t_{n},\ m,\ d,\ \theta)\approx\frac{1}{2}a_{h}e^{j(\phi_{h}(t_{n},\ m)- \phi^{t}(t_{n},\ m,\ d,\ \theta))}, \tag{9}\]  
where \(\phi_{h}(t_{n},\ m)\) is the phase caused by the hand. By summing all distance-angle joint estimation samples for the \(M\) microphones at the \(N\) sampling timestamps, we can construct the distance-angle joint estimation as  
\[E(d,\ \theta)=\sum_{n=1}^{N}\sum_{m=1}^{M}E_{s}(t_{n},\ m,\ d,\ \theta). \tag{10}\]  
If distance \(d\) and angle \(\theta\) are the actual position of the hand, theoretical phase \(\phi^{t}(t_{n},\ m,\ d,\ \theta)\) is approximately equal to measured phase \(\phi_{h}(t_{n},\ m)\), i.e., \(E_{s}(t_{n},\ m,\ d,\ \theta)\) are in-phase and closer to the real component. And thus, the amplitude of the summed vector \(E(d,\ \theta)\) is maximal. Therefore, we search for the distance \(\hat{d}\) and angle \(\hat{\theta}\), which make \(|E(d,\ \theta)|\) maximized:  
\[\left(\hat{d},\ \hat{\theta}\right)=\underset{d,\ \theta}{\text{argmax}}|E(d,\ \theta)|. \tag{11}\]  
where \(\hat{d}\) and \(\hat{\theta}\) are the estimation results of the hand's position information for one chirp.  
The search range of the distance and angle can be set based on the application. For hand tracking, we apply a two-step estimation to reduce the computation time. Due to the high accuracy of the acoustic distance estimation, we first narrow the search range of the distance and then estimate the fine-grained position information. For the first estimation, the search ranges of the distance and angle are set as \([0,\,4\,\,\mathrm{m}]\) and \([30^{\circ},\,150^{\circ}]\) at the step sizes of \(0.1\,\,\mathrm{m}\) and \(40^{\circ}\). Suppose that the estimated distance is \(d\). For the second fine-grained estimation, the search ranges of the distance and angle are set as \([d-0.1,\,\,d+0.1]\) and \([30^{\circ},\,150^{\circ}]\) at the step sizes of \(0.01\,\,\mathrm{m}\) and \(1^{\circ}\).