  Consider a microphone array, such as those present in Amazon Echos,
conference phones, or self-driving cars. One of the goals of these arrays is to
decode the angles in which acoustic signals arrive at them. This paper
considers the problem of estimating K angle of arrivals (AoA), i.e., the direct
path's AoA and the AoA of subsequent echoes. Significant progress has been made
on this problem, however, solutions remain elusive when the source signal is
unknown (such as human voice) and the channel is strongly correlated (such as
in multipath settings). Today's algorithms reliably estimate the
direct-path-AoA, but the subsequent AoAs diverge in noisy real-world
conditions.
  We design SubAoA, an algorithm that improves on the current body of work. Our
core idea models signal in a new AoA sub-space, and employs a cancellation
approach that successively cancels each AoA to decode the next. We explain the
behavior and complexity of the algorithm from the first principles, simulate
the performance across a range of parameters, and present results from
real-world experiments. Comparison against multiple existing algorithms like
GCC-PHAT, MUSIC, and VoLoc shows increasing gains for the latter AoAs, while
our computation complexity allows real-time operation. We believe progress in
multi-AoA estimation is a fundamental building block to various acoustic and RF
applications, including human or vehicle localization, multi-user separation,
and even (blind) channel estimation.
