Fast Computation of Spectral Centroids
The spectral centroid of a signal is the curve whose value at any given time is the centroid of the corresponding constant-time cross section of the signal’s spectrogram. A spectral centroid provides a noise-robust estimate of how the dominant frequency of a signal changes over time. As such, spectral centroids are an increasingly popular tool in several signal processing applications, such as speech processing. We provide a new, fast and accurate algorithm for the real-time computation of the spectral centroid of a discrete-time signal. In particular, by exploiting discrete Fourier transforms, we show how one can compute the spectral centroid of a signal without ever needing to explicitly compute the signal’s spectrogram. We then apply spectral centroids to an emerging biometrics problem: to determine a person’s heart and breath rates by measuring the Doppler shifts their body movements induce in a continuous wave radar signal. We apply our algorithm to real-world radar data, obtaining heart- and breath-rate estimates that compare well against ground truth.
Massar, M. L.,
Petkie, D. T.,
& Terzuoli, A. J.
(2011). Fast Computation of Spectral Centroids. Advances in Computational Mathematics, 35 (1), 83-97.