A streaming algorithm to compute the spectral proper orthogonal decomposition (SPOD) of stationary random processes is presented. As new data becomes available, an incremental update of the truncated eigenbasis of the estimated cross-spectral density (CSD) matrix is performed. The algorithm requires access to only one temporal snapshot of the data at a time and converges orthogonal sets of SPOD modes at discrete frequencies that are optimally ranked in terms of energy. We define measures of error and convergence, and demonstrate the algorithm’s performance on two datasets. The first example considers a high-fidelity numerical simulation of a turbulent jet, and the second uses optical flow data obtained from high-speed camera recordings of a stepped spillway experiment. For both cases, the most energetic SPOD modes are reliably converged. The algorithm’s low memory requirement enables real-time deployment and allows for the convergence of second-order statistics from arbitrarily long streams of data.



Download

Code and examples from MATLAB Central File Exchange


Literature

  • [PDF] [DOI] Schmidt, O. T. and A. Towne. “An efficient streaming algorithm for spectral proper orthogonal decomposition.” Computer physics communications (2018).
    [Bibtex]
    @Article{SchmidtTowne_2018_CPC,
    author = {Schmidt, O. T. and Towne, A.},
    title = {An efficient streaming algorithm for spectral proper orthogonal decomposition},
    journal = {Computer Physics Communications},
    year = {2018},
    issn = {0010-4655},
    abstract = {A streaming algorithm to compute the spectral proper orthogonal decomposition (SPOD) of stationary random processes is presented. As new data becomes available, an incremental update of the truncated eigenbasis of the estimated cross-spectral density (CSD) matrix is performed. The algorithm requires access to only one temporal snapshot of the data at a time and converges orthogonal sets of SPOD modes at discrete frequencies that are optimally ranked in terms of energy. We define measures of error and convergence, and demonstrate the algorithm’s performance on two datasets. The first example considers a high-fidelity numerical simulation of a turbulent jet, and the second example uses optical flow data obtained from high-speed camera recordings of a stepped spillway experiment. For both cases, the most energetic SPOD modes are reliably converged. The algorithm’s low memory requirement enables real-time deployment and allows for the convergence of second-order statistics from arbitrarily long streams of data. A MATLAB implementation of the algorithm along with a test database for the jet example, can be found in the Supplementary material.},
    doi = {https://doi.org/10.1016/j.cpc.2018.11.009},
    file = {:SchmidtTowne_2018_CPC.pdf:PDF},
    keywords = {Proper orthogonal decomposition, Principal component analysis, Spectral analysis},
    url = {http://www.sciencedirect.com/science/article/pii/S0010465518304016},}