What is a cyclostationary process?
A cyclostationary process is a signal that has statistical properties that vary periodically over time. A significant amount of our modern communications infrastructure leverages these mathematical models to create dependable signal communications links. Cellular links, WiFi routers, radios, and satellites all exhibit cyclostationary properties.
How do we detect cyclostationary properties?
The spectral correlation function is a method used to characterize the cyclostationarity property. Just as the power spectral density (PSD) measures the averaged power over time (e.g., variance) of a signal, the spectral correlation function (SCF) measures averaged spectral density over time (e.g., covariance). The SCF can be defined as the Fourier transform of the conjugate cyclic autocorrelation function:
In the formula above, the α represents the cycle frequency at which the cyclic autocorrelation is performed. For most cycle frequencies, this calculation results in an uncorrelated result, unless there is a cyclic relationship at that frequency. Take the example of a Rectangular Pulse BPSK with a normalized symbol rate of 0.1 symbols/second. We see that the signal exhibits cyclic features at multiples of the fundamental symbol rate, thus revealing cyclostationary parameters about the signal.
While the SCF provides detailed and focused information for a signal with a known cycle frequency, what about the scenario where we do not have a-priori information about a signal? The cycle frequency must be known in order to generate a cyclic autocorrelation function that yields a relationship. An answer to this question is to implement an algorithm that estimates the SCF over its entire domain of definition. The strip spectral correlation analyzer (SSCA) is a computationally efficient method of approximating the spectral correlation function across the entire cyclic frequency domain. This will allow for blind detection of cyclic frequencies for a given signal.
Introduction to the SSCA
The SSCA as stated, is a computationally efficient method for exhaustively approximating the SCF. The SSCA is an excellent tool for blind analysis of cyclostationary properties of a signal. The estimator algorithm applied follows the implementation from the literature, “On the Implementation of the Strip Spectral Correlation Algorithm for Cyclic Spectrum Estimation” by Eric April.
For the convenience of the reader, highlights of the paper will be condensed to describe the algorithm in a format that can be easily interpreted in the context of software-based digital signal processing architectures.
The most important components to the SSCA are as follows:
The SSCA generates the SCF at a set of cycle frequencies. The SCF is the spectral density of time-averaged correlation (covariance)
The cycle frequency resolution is determined by the user defined resolution parameter: N
The spectral frequency resolution is determined by the user defined resolution parameter: N_p
The time-frequency product
The SSCA generates point estimates at different cycle and spectral frequencies that must be correctly mapped by the function:
The points generated by the SSCA are on a bi-frequency plane represented by the resulting function:
A representation of this mapping is shown below:
In order to analyze the results of a three-dimensional plane of results, we can reduce the dimensionality of SCF by using the cyclic feature function (CFF). This reduction in dimensionality still maintains the second order cyclostationary features that are desirable in our results.
The resulting CFF equation is defined below as:
The SSCA can be represented in a high-level block diagram of the dataflow used to process incoming complex data, where the output is a resulting cyclic frequency feature strength (dB) vs. cyclic frequency.
Example: Blind detection of cyclostationary properties using the SSCA
To exhibit the power of the SSCA, we will now look at a signal that was captured over the air in a radio frequency (RF) environment. The recording was sampled at 12.5Msps at a center frequency of 885MHz. Before we evaluate the signal from a cyclostationary perspective, we can first look at the PSD of the signal:
By simply looking at the PSD, we cannot derive much information about the signal besides it is a wideband digital communications signal with an approximate bandwidth of 8MHz. Before we attempt to blindly estimate the cyclostationary parameters, let’s attempt an educated guess at what the possible parameters are. Lets say for example, we assume the signal is transmitting with overlapping channels at 1Msps.We would want to look at the Spectral Correlation Function (SCF) at the specific cycle frequency α= 1MHz.
The incorrect cycle frequency estimate yields correlation function revealing no results. Picking the correct cycle frequency is non-trivial. Having seen the limitations of the SCF, let's take a deeper look into its cyclostationary characteristics using the SSCA:
Looking at the resulting peaks in the CFF, we can see there are cyclostationary characteristics in this signal, specifically at 1.288MHz being the fundamental cyclic rate. If we look at the CDMA-EVDO spec, the chip rate is 1.288Msps.
In fact, the SSCA has a set of theoretical signal features that it can identify when processing an incoming data:
The SSCA can theoretically detect the baudrate or chiprate of a transmitting signal and the center frequency at which it is transmitting—two very powerful pieces of information to have when analyzing signals in an environment.
This is a simple example of the SSCA being used to exploit a datalink for key parameters such as signal chip rate
Applications of the SSCA for blind signal detection
Now that the SSCA has been established its ability to detect cyclic frequency features such as baud rate, chiprate, and center frequency, we can look to utilize these features to tackle challenging signal processing problems.
Imagine the scenario where a bad actor is attempting to secretly transmit information out of a secure environment using an unauthorized transmitter. This can be in the context of private corporate meetings, classified military, or government functions that require secure communications. A bad faith actor may try to use a hidden signal transmission device to send the information from a secure meeting without detection. A tactic they might use to avoid detection is the concept of a “snuggler.”
A snuggler in the context of this blog post is a signal of interest that appears in the spaced time windows or gates alongside a signal of considerably wider bandwidth and/or power. The objective of the snuggler is to use a wideband signal to hide itself in so that it may transmit information, unbeknownst to anyone.
Let’s take another look at the PSD of the CDMA-EVDO signal. Do you notice anything different about the signal?
If you guessed that a snuggler was added to this wideband signal, congratulations! You are correct. This PSD has a hidden QPSK snuggler transmitting at 64kb/s on the sidelobe at 4MHz. Let's pull this snuggler out to make it more obvious.
You can now see where the snuggler was hiding with the two signals being different colors However, in a complex signal environment, it would be difficult to ascertain that there was a signal hiding there. In the context of real-time signal transmissions, that small bump on the side of the wideband signal could easily be overlooked.
Using the SSCA to analyze the signal, we see that the resulting CFF looks very similar to the original CDMA-EVDO cyclic spectrum. But there is also a small feature difference. We see a new peak that was not there before!
Zooming into this peak, we see a new peak at exactly 64kHz, which correlates to the baud rate at which the QPSK is transmitting at!
Furthermore, if we look at the non-conjugate CFF, we also have a distinguishing feature occurring at 8MHz, or 𝟐𝒇𝒄 of the snuggler transmitted center frequency.
Without any a-priori information, the SSCA showed cyclic features at the rates of not only the wideband signal recorded in the environment, but also the narrowband transmitter that attempted to hide in the sidelobe. The baud rate and center frequency were correctly identified and could alert an organization of an unauthorized transmission in their environment.