The spectral correlation density (SCD), sometimes also called the cyclic spectral density or spectral correlation function,  is a function that describes the cross-spectral density of all pairs of frequency-shifted versions of a time-series. The spectral correlation density applies only to cyclostationary processes because stationary processes do not exhibit spectral correlation. Spectral correlation has been used both in signal detection and signal classification. The spectral correlation density is closely related to each of the bilinear time-frequency distributions, but is not considered one of Cohen's class of distributions.

Definition 
The cyclic auto-correlation function of a time-series  is calculated as follows:

where (*) denotes complex conjugation. By the Wiener–Khinchin theorem [questionable, discuss], the spectral correlation density is then:

Estimation methods 

The SCD is estimated in the digital domain with an arbitrary resolution in frequency and time. There are several estimation methods currently used in practice to efficiently estimate the spectral correlation for use in real-time analysis of signals due to its high computational complexity. Some of the more popular ones are the FFT Accumulation Method (FAM) and the Strip-Spectral Correlation Algorithm. A fast-spectral-correlation (FSC) algorithm has recently been introduced.

FFT accumulation method (FAM) 
This section describes the steps for one to compute the SCD on computers. If with MATLAB or the NumPy library in Python, the steps are rather simple to implement. The FFT accumulation method (FAM) is a digital approach to calculating the SCD. Its input is a large block of IQ samples, and the output is a complex-valued image, the SCD.

Let the signal, or block of IQ samples,  be a complex valued tensor, or multidimensional array, of shape , where each element is an IQ sample. The first step of the FAM is to break  into a matrix of frames of size  with overlap.

where  is the separation between window beginnings. Overlap is achieved when .  is a tensor of shape , and  depends on how many frames were able to fit in .

Next a windowing function  of shape , like the Hamming window, is applied to each row in .

where  is element-wise multiplication. Next the FFT is taken on each row in 

 is commonly known as the waterfall plot, or spectrogram. The next step in the FAM is for the phase to be corrected from delay of the FFTed frames.

where  is a tensor of shape  corresponding to each digital frequencies in the FFTs

Next the FFTs are autocorrelated to create a tensor  of shape .

where  denotes complex conjugate. In other terms, if we let  be a matrix of shape , we can rewrite  as

where H denotes Hermitian (conjugate and transpose) of a matrix. The next step is to take the FFT of  along the first axis.

 is the full SCD, but in the shape of a 3-dimensional tensor. What we aim for is a 2-dimensional tensor  (a matrix or image) of shape  where each entry corresponds to a particular frequency  and cyclic frequency . All values of  in  can be arranged in the tensor , and all values of  in  in the tensor . Here,  and  are normalized frequencies.

where . Now the SCD image  can be arranges in the form of a matrix with zeros where there are no values for a particular  pair in , and entries from  where it is valid as per  and .

Estimating the SCD by skipping the second FFT 
The full SCD is a rather large and computationally complex, mostly due to the second round of FFTs. Fortunately, from  an estimate  of the SCD can be calculated as

For even less computational complexity, we can compute  as

because averaging all values in an FFT window before or after an FFT are equivalent. Note that  will look like a 45 degree rotated version of the true SCD .

References

Further reading 
 Napolitano, Antonio (2012-12-07). Generalizations of Cyclostationary Signal Processing: Spectral Analysis and Applications. John Wiley & Sons. .
 Pace, Phillip E. (2004-01-01). Detecting and Classifying Low Probability of Intercept Radar. Artech House. .

Signal processing
Time–frequency analysis