Guide to Spectral Proper Orthogonal Decomposition
Abstract
This paper discusses the spectral proper orthogonal decomposition and its use in identifying modes, or structures, in flow data. A specific algorithm based on estimating the cross-spectral density tensor with Welch’s method is presented, and guidance is provided on selecting data sampling parameters and understanding tradeoffs among them in terms of bias, variability, aliasing, and leakage. Practical implementation issues, including dealing with large datasets, are discussed and illustrated with examples involving experimental and computational turbulent flow data.
Nomenclature | |
---|---|
expansion coefficient, correction factor | |
, | covariance tensor, discrete sample covariance matrix |
diameter | |
expectation operator | |
frequency | |
turbulence kinetic energy | |
total number of degrees of freedom, Mach number | |
azimuthal wavenumber | |
ensemble size | |
, | vector function, discrete state vector |
Reynolds number | |
radial coordinate | |
, | cross-spectral density tensor, sample cross-spectral density matrix |
temperature, period | |
time | |
data matrix, characteristic velocity | |
, , | Cartesian velocity vector components |
volume | |
, | weighting tensor, discrete weight matrix |
spatial coordinates, first Cartesian coordinate | |
, , | Cartesian coordinates |
independent variables | |
delta operator or difference | |
Dirac delta function | |
azimuthal coordinate | |
eigenvalue matrix | |
eigenvalue | |
parameterization of probability space | |
density | |
time shift | |
eigenvector matrix | |
, | vector eigenfunction, discrete eigenvector |
chi distribution | |
expansion coefficient matrix | |
spatial domain |
I. Introduction
Spectral POD is hardly new: much of the original literature on POD stemming from Lumley [2,3] is agnostic as to the choice of domain and inner product, and the frequency-based version we discuss in this paper has been widely applied in the intervening years. On the other hand, since at least the late 1980s, the space-only version has become dominant to the point that the space–time and frequency–space versions are sometimes neglected in favor of the dynamic mode decomposition (DMD) [4], Cronos–Koopman analysis [5], and other techniques. In a recent paper [6], we reviewed the properties of SPOD and determined the relationships between SPOD and DMD. For the case of stationary data from stochastic processes, SPOD combines the advantages of DMD in terms of expressing temporal correlation among the resulting structures, with the optimality associated with POD itself. In addition, there are useful connections between SPOD modes and a resolvent analysis of a forced, linear operator that provide for additional ways to interpret (and model) turbulent flows [6]. We caution that the term “SPOD” has been applied to a different technique proposed by Sieber et al. [7], which we do not discuss here. Our terminology here stems from earlier usage [8] and the fact that the kernel is the CSD.
Although the “POD part” of SPOD is conceptually and algorithmically straightforward (eigenvectors of a matrix), the “spectral” part of SPOD is less so. The key algorithm behind SPOD is Welch’s method, an averaging technique that consistently and accurately estimates the CSD from a time series. Thus the purpose of this paper is to expose the SPOD–Welch algorithm in detail and provide examples of applying it to both computational and experimental data. We hope that, by doing so, we facilitate its understanding and use by the broader fluids community. We begin in Sec. II by briefly reviewing the theory behind POD and contrasting the standard and spectral versions of it. In Sec. III, we detail the SPOD algorithm and discuss tradeoffs related to the choice of spectral estimation parameters. Example analyses computed using the open-source implementation spod are introduced both to illustrate the choice of estimation parameters and to provide guidance regarding the interpretation of results.
II. Background: Standard POD and SPOD
A. Theory
An aim of this paper is to make SPOD accessible to practitioners, but a thorough understanding and disambiguation between variants of the approach requires some theoretical background. We refer the reader to several sources [3,6,9,10] and briefly summarize the results here.
POD seeks a deterministic function, , or a set of such functions that, on average, best approximate a zero-mean stochastic process, , based on a finite ensemble of samples. Here represents the random variable, and represents the independent variables and their domain, which in general can include both spatial dimensions and time. parameterizes the probability space, which is, in turn, equipped with an expectation operator, , so that . We drop the explicit reference to in what follows. If the process is not zero-mean, then it must first be centered; that is, we work with fluctuations, . In what follows, we assume that this step has been taken and drop the prime.
By assuming that each realization of the process belongs to a Hilbert space with an inner product, typically
The are eigenfunctions, with associated eigenvalues of a Fredholm integral equation whose kernel is the covariance tensor
Aside from the orthogonality of the basis, the expansion gives several desirable properties:
- (Parseval) The eigenvalues sum to the total variance, , which in many flow problems represents a kind of energy. For example, if are velocity fluctuations and , then the total variance is (twice) the turbulent kinetic energy integrated over space. Other interpretations are provided below.
- (Optimality) A truncated expansion with terms captures more of the total variance than any other orthogonal expansion of the same order.
- The expansion coefficients are uncorrelated: (4)
In other words, the decomposition provides a way to express the random field in a series of mutually uncorrelated structures that are optimal for expressing the total variance.
The POD approximates the KL expansion by gathering samples (realizations) for the random process, , . The resulting covariance tensor is then estimated:
To apply POD to flowfields, we need to decide on the random variables, , the independent variables, , their domain, , and of course the means by which we can obtain a sufficiently large ensemble of realizations of the process. The major variants of POD reflect different choices and face different constraints regarding obtaining sufficient data. For example, it is experimentally unrealistic to demand a large number of realizations of a fully three-dimensional, time-dependent flowfield. Likewise, numerical simulation data for the general case may be too voluminous to yield practical computations. The theory discussed in this section is agnostic as to these choices, but they are paramount in determining whether the resulting expansions are able to efficiently represent important flow structures. A takeaway message here is that, regardless of what follows, the most fundamental requirement of POD is that we have a (possibly large) number of independent realizations of a random process so that we hope (and then verify) that is sufficient so that the resulting eigenvectors converge to the true ones.
B. Symmetries
An important simplification (both theoretically and computationally) is obtained when we impose at the outset certain symmetries, or invariances, that we expect in the random process. In fluid flows, the most relevant spatial invariances are translational (homogeneity), rotational, and reflectional. It is important to understand that these symmetries are statistical in nature—turbulence breaks all of the symmetries that laminar flows enjoy—and yet they reappear in the statistics. Take translational invariance, say, in , as an example: the idea is that a flow structure is as likely to occur at one as any other. This suggests that the covariance should depend only on the relative position, . Imposing this restriction on the KL expansion above then yields a set of decoupled problems for each wavenumber in a Fourier-series expansion of the covariance [10,11]. Continuous rotational symmetry behaves similarly and can be cast as independent KL expansions for each azimuthal Fourier mode. Reflectional symmetry yields two separate KL expansions for symmetric and antisymmetric modes. -fold rotational symmetry can be addressed with a Fourier–Floquet ansatz [12], and so on.
Needless to say, when symmetries exist, they should be imposed on the KL ansatz rather than relying on the data to express them for us. First, we typically obtain a reduction in computational effort (for example, by being able to consider a limited number of two-dimensional problems rather than a single, large three-dimensional one), but, more fundamentally, symmetries will be imperfectly expressed in any finite set of realizations: we can observe a turbulent structure at several or many locations in , but never at an infinite number of them. It is a mathematical property of the KL ansatz that guarantees that the reduced SPOD analysis is still overall optimal for the global problem.
The fact that homogeneity leads to a Fourier basis is seen by some as failing of POD in the sense that one might want to describe localized structures that occur in these flows. Our experience is that the computational simplification provided by one or more symmetries is an advantage rather than a pitfall, but if localized descriptions are desired, alternative multiscale bases such as wavelets [13] can be sought. These may be suboptimal in terms of variance/energy but better performing in reduced-order models. Likewise, modifications to the KL ansatz, particularly the imposition of traveling waves together with reconstruction techniques for the phase speed (e.g., [14]), are also possible, although to our knowledge they have not been applied widely, and they may be difficult to pose for large, multidimensional problems.
As mentioned in the last section, the KL theorem requires a compact, bounded covariance tensor, which is contradicted by translational invariance, because the associated coordinate direction is infinite. Fortunately, though, the covariance computed one wavenumber at a time is compact in the remaining, inhomogeneous directions.
C. Stationarity, Standard POD, and SPOD
Stationarity is the temporal analog of translational invariance (homogeneity). Most turbulent flows are idealized as (weak, or wide-sense) stationary processes, and the vast majority of POD algorithms being used across fluid dynamics are based on a stationary assumption. If a flow is not stationary, we can still perform a space–time POD as outlined above, but we require an ensemble of realizations of the process and this is computationally challenging for three-dimensional flows.
When stationarity is an appropriate assumption, it can be exploited in two distinct ways. The first approach considers both spatial and temporal variables in the KL ansatz, that is, , and the inner product is
Then, following the discussion in the previous section, we recognize that and, by an analogously to homogeneity, we find that we can solve a series of POD problems in Fourier space, that is, one frequency at a time. Taking the (continuous) Fourier transform of the covariance gives the CSD tensor:
This ansatz is the basis of spectral POD; all that remains is to determine an appropriate way to estimate the CSD tensor from flow data—this is discussed beginning in Sec. III.
Before proceeding, we discuss a simpler but more restrictive form of POD that exploits stationarity in a different way: restricting the KL basis to only spatial variables, and computing the (space-only) covariance by sampling spatial fields at specific instances from a time series. Stationarity and ergodicity then imply that (when the statistics converge) this will be equivalent to an ensemble average of spatial fields selected from different realizations. The inner product is likewise restricted to an integration over space, and, as a result, the resulting eigenfunctions are not functions of time. Instead, we may expand the time-dependent field by
Because of the ubiquity of this space-only POD problem in the fluids literature, we will refer to it in what follows as “standard” POD. Standard POD has, as its kernel, the same covariance tensor defined above but evaluated at zero time separation, that is, . As such, it is immediately obvious that any notion of temporal correlation among the resulting structures is lost. This criticism lead Schmid [4] to formulate the DMD, which approximates the eigenmodes of a linear operator that maps the state of the flow from one instance to the next. This is more general than SPOD in that these modes can represent structures that grow and decay in time, but the resulting modes are neither orthogonal nor optimal in representing the statistics. For the special case when the flow is stationary, Towne et al. [6] show that, in fact, SPOD modes are DMD modes (provided that the data are centered) and, in fact, represent a kind of optimal averaging of an ensemble of DMD modes computed for different realizations of the same flow. The optimality is precisely the one discussed above: the SPOD modes optimally represent the second-order space–time statistics (covariance).
D. Discrete Form of POD
We now consider a stochastic process represented by a discrete set of observations rather than a continuously varying field, such as flow quantities discretized at points in space and/or time, that is, , where is the total number of spatial points times the total number of variables times (if desired) the total number of time steps. We allow the flow quantities to be complex to reflect the fact that they may have already been Fourier transformed in one or more homogeneous spatial dimensions. The Hilbert space becomes a finite-dimensional vector space with inner product
The covariance matrix is, as before, estimated from an ensemble of observations. Denoting as the th member of the ensemble, we form a data matrix
Regardless of which of the several forms of POD (standard or spectral) discussed above is being computed, the maximum number of nonzero eigenvalues of Eq. (12) is . If the number of observations is much smaller than the ensemble size, , then it is most efficient to solve this directly. More typically in fluid dynamics, however, we have , and it is not practical to build the matrix , let alone find its eigendecomposition. However, a reduction in cost is possible. The range of is contained within the span of , and so we can construct the eigenvectors as a linear combination of the data vectors:
In the literature, solving the (typically) smaller eigenvalue problem (17) is often called the method of snapshots [15], owing to its use in the traditional space-only POD where the ensemble of data is taken (under stationarity) as a set of observations at different times, and we then build the POD eigenvectors from these “snapshots.” Although we retain this jargon, we note that the algebra discussed in this section is completely generic: all that is required is an ensemble (however defined) of discrete data vectors and an appropriately defined inner product (through specification of ). Then we solve whichever eigenvalue problem, (12) or (17), is smaller. Finally, it should be obvious that , , and are the (generalized) right singular vectors, left singular vectors, and singular values (squared) of the data matrix.
III. Spectral Estimation and the Discrete Form of SPOD
A. Welch’s Method
As discussed above, the SPOD modes are eigenvectors of the sample CSD matrix , which must be estimated from the data. Although there are in principle a number of ways in which this can be done, we focus here on estimation via the Welch periodogram method, which constructs an ensemble of realizations of the temporal Fourier transform of the data from a single time series consisting of snapshots by breaking it into blocks, or segments. Each segment consists of snapshots and overlaps with the next segment by snapshots. The process is the same as that used to compute the power spectral density (PSD) of a single time series. An advantage of using this method is that it is well studied [16,17] and we can exploit the existing theory for selecting the several parameters needed to process the data, and we can estimate the uncertainty in the estimate based on the length and noisiness of the data record.
In what follows, we represent discrete flow data in a slightly different notation then used in the previous section. Namely, we separate the time dependence of the data and denote as the th realization of the vector of observations at discrete times . We assume that each realization is available over a period of time, , at regular time intervals, , , where , the starting time, is arbitrary because the process is assumed stationary. The discrete Fourier transform in time of each realization and its inverse are
If the original data are real, then transformed data at negative frequencies in the above expression are redundant: they are conjugates of the corresponding positive frequencies, and only positive frequencies need be considered. However, the data are often complex, as is the case when the data have already been Fourier transformed in one or more homogeneous spatial directions. In this case there is a subtlety. In sampled data the negative frequencies will not be redundant. However, the true (as opposed to sample) statistics of the positive and negative frequencies should be identical; for every POD mode of positive frequency there should exist an identical one (with identical eigenvalue) for negative frequency. Therefore, it is advisable to average together positive/negative frequencies.
After transforming the ensemble of data, the remaining analysis is performed one frequency at a time. We construct the data matrix
The crux of Welch’s method is that we can exploit stationarity to construct the ensemble of realizations from a single, longer time series. In essence, different choices of are equivalent to different realizations of the process provided that is long enough and the overall length of the signal is long enough that we can obtain a large number, , of independent realizations from it. A schematic that outlines the SPOD algorithm based on Welch’s method is shown in Fig. 1. A difficulty, discussed in more detail below, is determining when one has a sufficient number of realizations, but the algorithm is insensitive to inflating the ensemble with dependent ones—these are simply reflected by zero or very small eigenvalues at the end of the SPOD spectrum.

Schematic of the SPOD algorithm. Each rectangular slice represents a snapshot, and the numbers in parentheses denote the equations in the text. The data consist of snapshots in total. It is first segmented into blocks that overlap by snapshots, then Fourier transformed, and then reordered by frequency. For each frequency, the CSD matrix is formed and its eigenvalue decomposition yields the SPOD (adapted from [18]).
B. Choice of Norm
The choice of inner product, expressed through the weight matrix , plays a central role in SPOD analysis as it determines the optimality and orthogonality properties of the modes. The weight matrix can also be used to apply SPOD to subdomains or a subset of the variables that comprise the solution vector. This is done by assigning zero weight to the portions of the domain or variables that are to be excluded. Alternatively, these parts can be removed from the data before computing the SPOD. The advantage of retaining them with zero weight is that they remain part of the spatially coherent SPOD modes. This permits their physical interpretation, but does not change the SPOD spectrum. In the following, we discuss the four most common choices of norms for (single-phase) flowfields.
1. Variance
The simplest possible choice for is the identity. It allows us to directly measure the variance of the data and is the natural choice of norm if all data at different spatial locations are regarded as individual equally important signals, or in general, whenever the definition of an integral energy is not adequate. Examples are hot wire or pressure probe field measurement data.
2. Weighted 2-Norm
By taking into account the individual area or volume of each cell of the spatially discretized data, the weighted 2-norm serves as a numerical quadrature of the inner product in a continuous Hilbert space. For a sufficiently fine discretization, we can expect that the corresponding modes are independent of details of the mesh. Conversely, highly resolved areas of the data do not disproportionately contribute to the mode energy, as their cell volumes are comparably small. For grids with constant cell size, the weighted 2-norm differs from the variance only by a constant factor equal to the volume of the domain. This constant factor results in a constant shift of the SPOD spectrum but has no influence on the SPOD modes. In practice, a second-order-accurate trapezoidal rule approximation appears to be sufficient for most applications.
3. Turbulence Kinetic Energy
If we denote by , , the fluctuating velocity components of a three-dimensional flowfield, then (for incompressible flow) the turbulence kinetic energy (TKE) per unit mass is given by . The integral of the TKE over the entire flowfield is hence proportional to the inner product defined by the choices for and above. The TKE plays a key role in the study of turbulence. In particular, the TKE is governed by a transport equation, often referred to as the -equation, that permits studying and modeling of its production and dissipation.
4. Compressible Energy Norm
For compressible flows, we follow the original derivation by [19] and define an energy norm that, in addition to the velocity fluctuations, takes into account the fluctuating density and fluctuating temperature . In the definition of , is the specific heat ratio and the Mach number.
C. Choice of Spectral Estimation Parameters
Obtaining an accurate estimate of the CSD matrix from data depends on appropriately choosing the data sampling parameters, and , and the spectral estimation parameters, and . Fortunately, there is a substantial literature available on how to do this; we summarize the main results here in order to provide a self-contained reference on using SPOD. Further details on these topics can be found in any signal processing textbook, such as Bendat and Piersol [17] and Manolakis et al. [20].
1. Sampling Biases
The sampling time step determines the sampling frequency,
The number of time steps used to compute the discrete Fourier transform (18), , determines the period of each “block” of data,
The latter corresponds to the lowest resolvable frequency that is not equal to zero. The zero frequency component itself is expected be close to zero if the block mean is close to the true mean.
Accurate spectral estimation requires that and are sufficiently large and small, respectively, such that sampling reproduces the true underlying spectrum. The error that results from discrepancies between the estimation and the true value is referred to as bias. Frequencies above the Nyquist frequency cannot be resolved and, if present in the data, introduce bias in the form of aliasing error. Their contribution is “folded” back along the Nyquist frequency onto lower frequencies. Common techniques to mitigate aliasing are anti-aliasing filters and oversampling. Anti-aliasing filters are low-pass filters that attenuate frequency content above the Nyquist frequency. Oversampling, on the other hand, refers to the practice of sampling at a higher rate than theoretically necessary and to subsequently disregard frequencies that are affected by aliasing.
On the other hand, if the bin size is not sufficiently small, then the spectrum will be biased as distinct content at nearby frequencies will be smeared over the frequency bin. This bias may in principle be made small by choosing a suitably small bin size, or a large . However, when Welch’s method is used, there is ultimately a compromise between reducing the bias and increasing the uncertainty in the estimate because all the data come from segmenting a single, suitably long time series of size . If we choose large, then we will not have very many segments in the ensemble, and the spectrum will not be statistically converged. The uncertainty, or variance of the estimate, can be reduced by segmenting the data into overlapping segments, thus increasing the number of segments. With an overlap of points in each segment, the number of total blocks is
As an example demonstrating the compromise between bias and uncertainty, consider planar, two-component PIV data in a single measurement plane in the wake of the vertical-axis wind turbine (VAWT). Suppose that consecutive (time-resolved) snapshots are available. Choosing ‡ and , corresponding to an overlap of 50%, this segments the data into blocks. The resulting SPOD spectra (eigenvalues) are plotted versus (nondimensional) frequency in Fig. 2, along with the 99% confidence interval computed as discussed below. Although the confidence in the estimate for each bin is reasonable, the frequency bins are large and the peaks, which correspond to the blade-passing frequency (BPF) and its harmonics, show substantial leakage into nearby frequency bins. If we increase the block size to , we obtain much finer bins, and the BPF and its harmonics are well resolved. But the variance in the estimate is now much larger, and the confidence bounds for the spectral energy in any bin are only certain to within about a factor of 2.

SPOD spectra for the VAWT PIV window 3 data: (blue, top), (orange, middle), and direct comparison of the leading modes (bottom). An overlap of 50% results in ensemble sizes of 7 and 69 blocks, respectively. A smaller value of results in a significantly smoother spectrum. The reason is twofold. First, the averaging takes place over a larger number of blocks, and, second, the frequency bins, , are 8 times larger as compared with the case. At the same time, the spectrum of the leading mode appears lifted (bottom), as the total energy has to be captured by only Fourier modes as compared with the Fourier modes. The significantly thinner 99% confidence interval for highlights that averaging over a larger number of samples reduces the variance of the smoother estimate.
The practice of taking a 50% overlap, or , is a commonly accepted best practice that dates back to Welch’s original work [21]. The author showed that an overlap of 50% reduces the variance of the estimate of the PSD, and therefore of the SPOD spectrum, by approximately a factor of for fixed and . This is intuitive as we expect to get a more accurate estimate when averaging over more realizations. Overlaps larger than 50% do not yield better results as the realizations become increasingly dependent, in practice, but simply result in a larger number of very small eigenvalues without decreasing the variance of the leading eigenvalues any further.
In all of the above, we assumed that the data are given as a single, long time series and we use the ergodicity assumption to segment the data into presumably independent realizations. Obviously, this is not necessary if the data are given in the form of independent realizations to start with. Take the example of a high-speed camera PIV measurement where internal camera memory restricts the maximum number of consecutive movie frames that can be recorded. In this case, each consecutive block of frames constitutes one realization and there is no need to segment the data in the first place.
The tradeoffs discussed above highlight the importance of balancing the different estimation parameters, in particular during the initial data acquisition process. A good starting point to estimate suitable parameters for an SPOD analysis is to study the PSD of one, or a few, highly resolved time series at some representative locations in the flow. Such data are often readily available, for example, in the form of hot wire or pressure probe measurement data in an experiment, or as time series data from a single grid point of a high-fidelity numerical simulation.
2. Windowing
Spectral leakage occurs whenever the discrete Fourier transform of nonperiodic data is computed. An analogous problem is the Fourier series expansion of a step function. Just like the step function, nonperiodicity introduces a discontinuity into the data that cannot be well represented by a truncated Fourier series. Instead, it is redistributed over the entire frequency range, thereby distorting the spectrum. If the true spectrum contains sharp peaks, for example, at resonance frequencies, then these peaks get spread out, or “leaked,” into adjacent frequency bins, thereby effectively reducing their peak amplitude. To minimize the effect of spectral leakage, it is a common practice to multiply the data in each block by a temporal window function that artificially renders the data in each segment periodic. Although windowing helps reduce leakage, the window itself changes the spectrum. Because the window and its spectrum are known functions, however, its effect can partly be corrected through a correction factor that multiplies the Fourier transform of the windowed data. The default windowing function in spod, for example, is the popular Hamming window with optimized coefficients:
The correction factor used to compensate for the effect of the window on the amplitude of the spectrum is computed as
This factor is for the Hamming window.
3. Confidence Bounds
From an expansion of the Fourier realizations into the SPOD basis, it can be shown that the SPOD eigenvalues, , are the sum of the mean squared expansions coefficients, , where the sum is taken over the number of realizations. Assuming that and are random and normally distributed, and that the realizations of the Fourier transform are independent, then the expansion coefficients will inherit this property. Furthermore, because the sum of the squares of independent normal random variables is chi-squared distributed, we can conclude that the SPOD eigenvalues follow a chi-squared distribution. Analogous to the estimation of the PSD using Welch’s method [20,21], the upper and lower bounds of the confidence interval for are hence given by
4. Dealing with Large Data
It is not surprising that converging the second-order statistics of two- or three-dimensional flowfields requires storage of large data. In terms of SPOD, memory quickly becomes the bottleneck of a naive implementation of the algorithm outlined in Fig. 1. In particular, the Fourier transforms of each block have to be stored in memory to form and decompose the CSD matrices for each frequency in the last step. If the blocks overlap, this procedure requires even more memory than to load the entire data at once. A remedy to this problem is to save the Fourier realizations, and load their individual components into memory at a later time, frequency-by-frequency, to form the CSD matrix. This procedure is significantly slower as it requires a large number of read/write operations, but permits a tradeoff between memory on one side, and time-to-solution and secondary storage requirements, on the other. This strategy is optional in spod. Note that the solution of the central eigenvalue problem, Eq. (23), is independent of the spatial degrees of freedom as the size of the CSD matrix is , that is, determined solely by the number of blocks.
For situations where the data become too large to be stored and/or processed, Schmidt and Towne [18] devised an efficient online algorithm that computes the SPOD from a continuous, arbitrarily long stream of data. The algorithm combines two main ideas that permit the on-the-fly computation of the SPOD with a minimal memory footprint. At the heart of the algorithm is an incremental updating strategy of the eigenvalue decomposition of the CSD matrix on the one hand and the use of partial Fourier sums on the other. This combination enables the algorithm to operate one-snapshot-at-a-time. This implies that the algorithm is capable of converging the SPOD over arbitrarily long time horizons, for example, during the runtime of a high-fidelity numerical simulation or a time-resolved PIV measurement campaign. The implementation sspod of the streaming algorithm is freely available online.
IV. Examples
We now present two examples of SPOD analysis. The first example, presented in Sec. IV.A, is that of a high-fidelity large-eddy simulation (LES) of an isothermal turbulent jet that was computed as an extension of previous work by Brès et al. [22]. The simulation was conducted using the compressible flow solver “Charles” for a Reynolds number, based on the mean jet exit velocity and the nozzle diameter, of . The second example, presented in Sec. IV.B, is that of two-dimensional particle image velocimetry (PIV) data of the velocity field in the wake of the three-bladed laboratory-scale model of a vertical-axis wind turbine (VAWT) by Araya et al. [23]. The experimental Reynolds number based on the diameter of the rotor and the freestream flow speed is .
Both of our examples involve computing SPOD modes over a range of frequencies in two spatial dimensions. For the round jet, the rotational symmetry is exploited to first decompose the data into azimuthal Fourier modes, and, for brevity, we only present results for the axisymmetric () mode—the higher azimuthal modes are computed in an analogous manner and have been presented in Schmidt et al. [24]. For the VAWT wake, only two components of velocity in a two-dimensional cross section of the flow are available from the PIV measurements; the resulting modes should hence be regarded as approximations of a section of the three-dimensional modes that would have been obtained if the full three-dimensional, three-component velocity field had been available. Nevertheless, they reveal flow structures that are coherent over the measurement plane.
Another distinction in these datasets is that, while both flows are fully turbulent and have a broadband spectrum, the jet has no tonal content, whereas the VAWT, which rotates at a nearly constant frequency, has tonal structures at the blade passing frequency (BPF) and its harmonics. As we shall see, SPOD is capable of sorting this out naturally—no special attention is required beyond paying careful attention to the spectral estimation parameters that control, for example, the frequency bin size and resulting spectral leakage.
For the VAWT, SPOD can be seen as advantageous over traditional phase-averaging techniques in that it can represent flow structures that are coherent at frequencies both commensurate and incommensurate with the BPF. However, compared with a phase average, harmonics of the BPF are represented as being mutually uncorrelated (over time) in SPOD.
Table 1 summarizes the available data for both cases.
A. Numerical Data of a Turbulent Jet
In this example, we restrict our attention to the symmetric component of the pressure from the LES data. The reader is referred to Schmidt et al. [24] for a detailed study of large-scale coherent structures in turbulent jets for Mach numbers representative of the subsonic, transonic, and supersonic regime, and for different azimuthal wave numbers. We calculate SPOD modes that are optimal with respect to the compressible energy norm introduced in Sec. III.B. Because the data are saved on a nonequidistant cylindrical grid, we use trapezoidal quadrature weights. The instantaneous fluctuating pressure and mean pressure fields are visualized in Fig. 3. The wide range of spatial and temporal scales that are active in the jet is apparent from the instantaneous pressure contours. The following SPOD analysis will demonstrate the method’s ability to systematically separate these different scales. In time, this separation is explicitly enforced through the Fourier transform, whereas the separation of spatial scales results from the interdependence with the temporal scales, as manifested, for example, in the form of an underlying dispersion relation. Figure 4 shows the SPOD energy spectrum for the spectral estimation parameters listed in Table 1. We choose this representation of the SPOD eigenvalues for its compactness and ease of interpretation. It is important to note that the representation by a continuous line does not imply that the same physical mechanism is represented by the same mode at neighboring frequencies. A good indicator for the dominance of one mechanism is a large separation between the eigenvalues associated with the first and the second SPOD modes. In this example, we see such a behavior in the region around . To understand this behaviour, we next inspect the SPOD eigenfunctions, or modes in Fig. 5. First, we focus on the leading SPOD modes for different frequencies (left column). In all three cases, the leading mode takes the form of a wave train, often referred to as a wavepacket. We also observe that these wavepackets are localized further upstream with increasing frequency. This observation is the key to understanding the origin of the large difference between the leading and the second eigenvalue for in Fig. 4. For frequencies , the dominant coherent structure is the well-known Kelvin–Helmholtz-type (KH) spatial instability of the jet shear layer, whereas Orr-type waves in the region downstream of the potential core dominate at lower frequencies [24]. The main difference between the leading and the second, or subdominant, modes (right column) is that the latter reveal a multilobe structure in the axial direction. Even though a physical interpretation of this phenomenon is not obvious, we can understand this patterning as a mathematical way of achieving orthogonality.

Instantaneous fluctuating pressure (top) and mean pressure field (bottom) of the isothermal turbulent jet LES.

SPOD energy spectrum for the isothermal turbulent jet LES. The first (or leading, or dominant) eigenvalue contains most of the energy, by construction, and the corresponding mode is often indicative of the dominant physical process, in particular if the separation between the first and the second eigenvalue (red) is large. The blue line indicates the PSD, which is reconstructed by summing the modal energies. The first and second SPOD modes for the three frequencies marked by vertical lines are visualized in Fig. 5. The frequency is nondimensionalized by the jet exit velocity and the nozzle diameter.

First (left column) and second (right column) SPOD modes of the turbulent jet for the three representative frequencies of (top row), 0.6 (middle row), and 1.5 (bottom row), as marked by the vertical lines in Fig. 3. Note that the compressible energy norm has 5 components. Here, we use the temperature and density component to obtain the fluctuating pressure from the linearized equation of state.
Another important concept that can be inferred from SPOD spectra is referred to as low-rank behavior. Low-rank refers to the property that the data can be well represented by one, or a small number, of basis vectors. Mathematically, this corresponds to a large separation of eigenvalues. Physically, we expect low-rank behavior whenever a physically dominating mechanism, such as a hydrodynamic instability, is present in the flow. For the example of the turbulent jet, the KH instability is such a mechanism and explains the large gap between and in the frequency band around . If, on the contrary, all eigenvalues at a given frequencies are similar, as for very low and very high frequencies in Fig. 4, one might speak of non-low-rank behavior. In this case, we cannot expect to observe flow structures that are well represented by a single SPOD mode and are better served by taking a mathematical point of view and interpret the SPOD modes as set of basis functions of comparable importance.
B. Experimental Data of a Vertical-Axis Wind Turbine
The instantaneous and mean streamwise velocity fields for the experimental example are shown in Fig. 6. We choose a weighted 2-norm for the state vector comprising both velocity components to obtain a (partial) measure of the turbulent kinetic energy; see Sec. III.B. As the measurement windows are not synchronized in time, spatial or temporal correlation between different windows is not meaningful, and we analyze each window separately. If the statistics are sufficiently converged, however, we find that it is possible to phase-match SPOD modes from different windows and provide a global view of the dynamics. This technique is demonstrated later in the context of Fig. 7. The SPOD spectra and the PSD of all seven PIV windows are presented in Fig. 7. The most prominent features are a peak at a low frequency of that is found in all seven windows, and three distinct peaks at higher frequencies in the spectrum of PIV window 3, which contains the VAWT. The dominant peak at corresponds to the BPF, and the following two peaks to its first two harmonics.

Instantaneous (top) and mean (bottom) streamwise velocity of the VAWT PIV data. The database consists of 7 windows that were independently recorded; that is, different windows are recorded at different times but over the same total length; see Table 1.

SPOD energy spectrum for the VAWT PIV data. Solid lines indicate the PSD and dashed lines the SPOD energy of the first mode. The PSD is reconstructed by summing the energy of all modes, and both the PSD and the contribution of the first mode are normalized by the area of the PIV windows to accommodate for the different window dimensions; see Table 1. The dashed line indicates the power law of the energy spectrum. PIV window 3 corresponds to the leftmost window shown in Fig. 6, window 4 to the second one, and so on, as in [23]. The vertical lines correspond to the two representative frequencies for which SPOD modes are presented in Fig. 8.
The SPOD modes associated with the two dominant peaks in the spectra are shown in Fig. 8. From the inspection of the leading SPOD mode, we can conclude that the low-frequency peak at results from a bluff-body-like wake that manifests downstream of the turbine. This finding is in agreement with the typical bluff-body wake frequency of . The asymmetry of the wake is a result of the rotation of the turbine and can be explained as follows. On the upper part of the turbine, the rotation direction coincides with the direction of the incoming flow, whereas the opposite is true for the lower part. Therefore, a much higher shear is introduced on the lower side, resulting in a significantly stronger wake. Because the higher frequency peak at coincides with the rotor passing frequency, we expect to observe periodic blade vortex shedding at this frequency. This conjecture is confirmed by the SPOD analysis, which isolates this phenomenon in the leading SPOD mode. The comparison of the modes with the instantaneous flow visualization depicted in Fig. 6 shows that SPOD also functions as an efficient filter for measurement noise. The reason is that most types of measurement noise are largely uncorrelated in space and/or time. The same reasoning applies in the context of statistical outliers and rare physical events. Such outliers are associated with a broad frequency response. For that reason, they are not well approximated by SPOD modes. A conditional form of POD that is conducted over a finite time horizon may be applied to extract rare events [25].

Dominant SPOD modes at the low-frequency peak with (top) and at the blade-passing frequency, (bottom). The phases of the leading modes are synchronized across windows to give a global representation of the flowfield by successively matching the phases of neighboring windows at the location of their maximum absolute value.
We stress that at both frequencies shown in the figure, the SPOD modes were computed independently in each PIV window (because the data were collected in each window in successive experiments). To produce the figure, we “stitched” together the modes in an ad hoc way by finding a single (complex) constant that best matched the phase between the successive windows. The close match between the contours at the boundaries between the PIV windows is strong evidence of a global structure, to which the individual PIV windows are mutually converging.
V. Conclusions
This paper gives an overview of SPOD with the goal to make it accessible to practitioners. Its theoretical background is discussed, which is rooted in the general formalism devised by Lumley [3], and a practical account of how to compute the SPOD from snapshot data is given. Technically, SPOD is a form of POD that is specialized to statistically stationary data, that is, data whose mean and variance do not change over time. If these requirements are met, then SPOD will yield modes that inherit all the desirable properties, such as optimality and orthogonality, from POD. Because stationarity is a form of temporal symmetry that is best exploited in the frequency domain, SPOD relies on Fourier transformations to compute modes that oscillate at a single frequency. Just like standard POD, it also uses spatial correlation information to ensure that the computed modes are coherent in space and optimally represent the data in terms of energy. Unlike standard POD modes, whose expansion coefficients are not necessarily correlated in time, SPOD modes are also coherent in time as their temporal behavior is described by a single frequency; that is, they are coherent in both space and time. Another advantage of SPOD is that it uses spectral estimation to converge the decomposition. This convergence is directly reflected in the variance of the estimate that is inversely proportional to the amount of data that is used. The convergence of the second-order statistics, and in particular those of the subdominant modes, often requires long time series to obtain well-converged modes and spectra.
The estimation of the CSD tensor can be done in different ways. Here, this paper focused on Welch’s method and discussed the choice of norm and spectral estimation parameters in detail. The relevant aspects of spectral estimation such as sampling biases, windowing, confidence bounds, and how to deal with very large data were discussed.
The physical interpretation of SPOD modes is greatly facilitated by their spatial and temporal coherence, and by their direct relation with forced, linear systems [18]. A visual inspection of the mode structure often directly reveals the underlying flow physics, for example, the presence of vortex shedding, flow instabilities, acoustic resonances, and so on. The spectrum, on the other hand, is invaluable in determining which of the structures identified by the modes play an important role in the flowfield. This useful property of the spectrum derives itself from the optimality property. In practice, a quick first scan of the spectrum allows to understand many of the important aspects of the flow. The global peak of the spectrum, individual spikes, and large gaps between the first and the second eigenvalue are of particular interest. The frequencies containing most of the energy are readily identified by the global peak of the spectrum, whereas spikes indicate the presence of oscillations and their harmonics. A large gap between the two leading eigenvalues indicates that the decomposition is low rank or, in more physical terms, that the mechanism associated with the leading mode dominates the flowfield. For experimental data, a flattening of the spectrum at high frequencies indicates that the signal-to-noise ratio is of order unity. This demonstrates that the two outcomes of SPOD, modes and spectrum, should always be interpreted in conjunction with each other for maximum insight into the underlying flow physics.
This paper demonstrates how to choose spectral estimation parameters and how to interpret the results of SPOD using two examples. The first is a high-fidelity numerical simulation of a turbulent jet. Its SPOD spectrum falls off monotonically, but a gap between the leading eigenvalues over a specific frequency range suggests low-rank behavior. The inspection of the modes confirms that the flow in this particular frequency band is, indeed, dominated by a single physical mechanism, namely, the KH instability of the annular shear layer. Our second example is an experimental study of a VAWT using PIV. The SPOD analysis shows the expected periodic blade vortex shedding at the rotor-passing frequency, but also reveals a bluff-body-like wake that manifests itself downstream of the turbine and that contains most of the energy of the flow.
All results shown in this paper are computed using the open-source, freely available MATLAB implementation spod (https://www.mathworks.com/matlabcentral/fileexchange/65683-spectral-proper-orthogonal-decomposition-spod).
‡ The use of powers of 2 for is advisable for classical implementations of the fast Fourier transform.
Acknowledgments
TC gratefully acknowledges support from Office of Naval Research grant N00014-16-1-2445. We would like to thank Aaron Towne for his important contributions to our present understanding of spectral proper orthogonal decomposition, and Guillaume Brès for generating the turbulent jet databases and for his patience in helping us use them. TC would also like to thank Jon Freund, Takao Suzuki, Peter Jordan, Joel Delville, Andre Cavalieri, Charles Tinney, and William George for helpful and/or entertaining discussions about proper orthogonal decomposition over the years.
References
[1] , “Modal Analysis of Fluid Flows: An Overview,” AIAA Journal, Vol. 55, No. 12, 2017, pp. 4013–4041. https://doi.org/10.2514/1.J056060
[2] , “The Structure of Inhomogeneous Turbulent Flows,” Atmospheric Turbulence and Radio Propagation, edited by Yaglom A. M. and Tatarski V. I., Nauka, Moscow, 1967, pp. 166–178.
[3] , Stochastic Tools in Turbulence, Academic Press, New York, 1970, Chap. 3.
[4] , “Dynamic Mode Decomposition of Numerical and Experimental Data,” Journal of Fluid Mechanics, Vol. 656, Aug. 2010, pp. 5–28. https://doi.org/10.1017/S0022112010001217
[5] , “POD-Spectral Decomposition for Fluid Flow Analysis and Model Reduction,” Theoretical and Computational Fluid Dynamics, Vol. 27, No. 6, 2013, pp. 787–815. https://doi.org/10.1007/s00162-013-0293-2
[6] , “Spectral Proper Orthogonal Decomposition and Its Relationship to Dynamic Mode Decomposition and Resolvent Analysis,” Journal of Fluid Mechanics, Vol. 847, July 2018, pp. 821–867. https://doi.org/10.1017/jfm.2018.283
[7] , “Spectral Proper Orthogonal Decomposition,” Journal of Fluid Mechanics, Vol. 792, April 2016, pp. 798–828. https://doi.org/10.1017/jfm.2016.103
[8] , “Pressure Velocity Coupling in a Subsonic Round Jet,” International Journal of Heat and Fluid Flow, Vol. 21, No. 3, 2000, pp. 359–364. https://doi.org/10.1016/S0142-727X(00)00021-7
[9] , “On the Hidden Beauty of the Proper Orthogonal Decomposition,” Theoretical and Computational Fluid Dynamics, Vol. 2, No. 5, 1991, pp. 339–352. https://doi.org/10.1007/BF00271473
[10] , “The Proper Orthogonal Decomposition in the Analysis of Turbulent Flows,” Annual Review of Fluid Mechanics, Vol. 25, No. 1, 1993, pp. 539–575. https://doi.org/10.1146/annurev.fl.25.010193.002543
[11] , “Low-Dimensional Models of Coherent Structures in Turbulence,” Physics Reports, Vol. 287, No. 4, 1997, pp. 337–384. https://doi.org/10.1016/S0370-1573(97)00017-3
[12] , “Streaks and Coherent Structures in Jets from Round and Serrated Nozzles,” 25th AIAA/CEAS Aeroacoustics Conference, AIAA Paper 2019-2597, 2019.
[13] , “The Wavelet Transform, Time-Frequency Localization and Signal Analysis,” IEEE Transactions on Information Theory, Vol. 36, No. 5, 1990, pp. 961–1005. https://doi.org/10.1109/18.57199
[14] , “Reconstruction Equations and the Karhunen–Loève Expansion for Systems with Symmetry,” Physica D: Nonlinear Phenomena, Vol. 142, Nos. 1–2, 2000, pp. 1–19. https://doi.org/10.1016/S0167-2789(00)00042-7
[15] , “Turbulence and the Dynamics of Coherent Structures,” Quarterly of Applied Mathematics, Vol. 45, No. 3, 1987, pp. 561–571. https://doi.org/10.1090/qam/1987-45-03
[16] , Numerical Recipes 3rd Edition: The Art of Scientific Computing, Cambridge Univ. Press, 2007, Chap. 13.
[17] , Random Data: Analysis and Measurement Procedures, Vol. 729, Wiley, 2011, Chap. 11.
[18] , “An Efficient Streaming Algorithm for Spectral Proper Orthogonal Decomposition,” Computer Physics Communications, Vol. 237, April 2019, pp. 98–109. https://doi.org/10.1016/j.cpc.2018.11.009
[19] , “On the Energy Transfer to Small Disturbances in Fluid Flow (Part I),” Acta Mechanica, Vol. 1, No. 3, 1965, pp. 215–234. https://doi.org/10.1007/BF01387235
[20] , Statistical and Adaptive Signal Processing: Spectral Estimation, Signal Modeling, Adaptive Filtering and Array Processing (Artech House Signal Processing Library), Artech House Publishers, 2005, Chap. 5.
[21] , “The Use of Fast Fourier Transform for the Estimation of Power Spectra: A Method Based on Time Averaging over Short, Modified Periodograms,” IEEE Transactions on Audio and Electroacoustics, Vol. 15, No. 2, 1967, pp. 70–73. https://doi.org/10.1109/TAU.1967.1161901
[22] , “Importance of the Nozzle-Exit Boundary-Layer State in Subsonic Turbulent Jets,” Journal of Fluid Mechanics, Vol. 851, Sept. 2018, pp. 83–124. https://doi.org/10.1017/jfm.2018.476
[23] , “Transition to Bluff-Body Dynamics in the Wake of Vertical-Axis Wind Turbines,” Journal of Fluid Mechanics, Vol. 813, Feb. 2017, pp. 346–381. https://doi.org/10.1017/jfm.2016.862
[24] , “Spectral Analysis of Jet Turbulence,” Journal of Fluid Mechanics, Vol. 855, Nov. 2018, pp. 953–982. https://doi.org/10.1017/jfm.2018.675
[25] , “A Conditional Space–Time POD Formalism for Intermittent and Rare Events: Example of Acoustic Bursts in Turbulent Jets,” Journal of Fluid Mechanics, Vol. 867, May 2019, p. R2. https://doi.org/10.1017/jfm.2019.200