# Cyclostationarity of Direct-Sequence Spread-Spectrum Signals

Spread-spectrum signals are used to enable shared-bandwidth communication systems (CDMA), precision position estimation (GPS), and secure wireless data transmission.

In this post we look at direct-sequence spread-spectrum (DSSS) signals, which can be usefully modeled as a kind of PSK signal. DSSS signals are used in a variety of real-world situations, including the familiar CDMA and WCDMA signals, covert signaling, and GPS. My colleague Antonio Napolitano has done some work on a large class of DSSS signals (The Literature [R11, R17, R95]), resulting in formulas for their spectral correlation functions, and I’ve made some remarks about their cyclostationary properties myself here and there (My Papers [16]).

A good thing, from the point of view of modulation recognition, about DSSS signals is that they are easily distinguished from other PSK and QAM signals by their spectral correlation functions. Whereas most PSK/QAM signals have only a single non-conjugate cycle frequency, and no conjugate cycle frequencies, DSSS signals have many non-conjugate cycle frequencies and in some cases also have many conjugate cycle frequencies.

### Signal Modeling

In our first model, we’ll introduce the direct-sequence notion by modifying our familiar rectangular-pulse BPSK signal. The rectangular-pulse BPSK signal is simply a pulse-amplitude modulated signal with rectangular pulses where each pulse is multiplied (modulated) by a random binary variable drawn from the set $\{+1, -1\}$.  Here is the time-domain plot of such a signal that uses ten samples per symbol interval and has a carrier frequency of zero:

In our DSSS signal model, called the waveform-multiplication (WM) model, we are simply going to replace the rectangular pulse $p(t)$  with a more complicated pulse $q(t)$. The new pulse will have the same length as the old one, but will consist of $N_{c}$ subrectangles, each of which can take on the value of $\pm 1$. Here is an illustration for $N_{c} = 12$:

The unspread (original) PSK signal is described mathematically as a pulse-amplitude-modulated signal,

$\displaystyle x_d(t) = \sum_{k=-\infty}^\infty d_k p(t - kT_{sym}), \hfill (1)$

where $d_k$ is our binary information, or data, symbol. Replacing each instance of the rectangle $p(t)$ in (1) with $q(t)$, the chipped pulse, is equivalent to multiplying the data signal $x(t)$ by a periodized version of $q(t)$. A periodized signal is one formed by concatenating an infinite number of identical segments, and so is periodic by construction. Let the segment, or period, be denoted by $b(t)$, which is zero outside the interval $[-T_P/2, T_P/2]$. Then the periodized signal corresponding to $b(t)$ is given by

$\displaystyle b_P(t) = \sum_{k=-\infty}^\infty b(t - k T_P). \hfill (2)$

Our periodized chipping waveform is simply the concatenation of an infinite number of chipped pulses,

$\displaystyle x_c(t) = \sum_{j=-\infty}^\infty q(t - jT_{sym}). \hfill (3)$

The WM DSSS signal is then

$\displaystyle s(t) = x_c(t) x_d(t). \hfill (4)$

This multiplication is illustrated below:

An imperfectly downconverted complex envelope signal includes a residual carrier offset frequency, leading to the complex-valued model

$\displaystyle x_{ce}(t) = s(t) e^{i 2 \pi f_0 t + i\phi_0}, \hfill (5)$

and the corresponding RF signal is

$\displaystyle x_{rf}(t) = \Re \left\{ s(t) e^{i 2 \pi f_c + i \phi} \right\} \hfill (6)$

for large $f_c$. Here $f_0$ is small relative to $1/T_{chip}$.

There are variants of this basic binary direct-sequence spread-spectrum (DSSS) signal. In particular, the random variable representing the information to be transmitted, $d_k$, could be drawn from a quaternary alphabet such as $\{+1, -1, +i, -i\}$, leading to DSSS QPSK. In DSSS QPSK, the inphase and quadrature signal components can be spread with distinct spreading sequences or identical sequences. Offset, or staggered, QPSK DSSS signals are also possible. Finally, the spreading code(s) can extend past a single data-symbol interval. When they do, the signal is often referred to as a long-code DSSS signal. Otherwise it is a short-code signal.

### Analysis

Let’s analyze the simple short-code DSSS signal using the WM model. What are the cycle frequencies? What is the spectral correlation function? What are the cyclic cumulants?

The complex envelope $x_{ce}(t)$ is the product of a random signal $s(t)$ and the non-random carrier sine wave $e^{i 2 \pi f_0 t + i\phi_0}$, which means we can use the product-modulation formulas for the cumulants and cyclic cumulants that we derived in the signal-processing post. Recall that we obtained a formula for the cyclic cumulants of a signal $y(t)$ when it is equal to the product of some random (CS) signal $z(t)$ and a non-random signal $x(t)$ (Equation (27) in the signal-processing post). That is the situation we are in with the WM model of DSSS signals. We identify $x(t) = e^{i 2 \pi f_0 t + i \phi_0}$ and $z(t) = s(t)$. So we can focus on the cumulants of $s(t) = x_d(t) x_c(t)$.

Notice that the product-modulation formula can also be applied to $s(t)$, since it itself is the product of a random signal $x_d(t)$ and a non-random periodic signal $x_c(t)$. For the product signal

$\displaystyle y(t) = x(t) z(t), \hfill (7)$

the cyclic cumulants are given by

$\displaystyle C_y^\alpha(\boldsymbol{\tau};n,m) = \sum_\beta C_z^\beta(\boldsymbol{\tau};n,m) R_x^{\alpha - \beta}(\boldsymbol{\tau};n,m). \hfill (8)$

Using $z(t) = x_d(t)$ and $x(t) = x_c(t)$,

$\displaystyle C_s^\alpha(\boldsymbol{\tau};n,m) = \sum_\beta C_{x_d}^\beta(\boldsymbol{\tau};n,m) R_{x_c}^{\alpha - \beta} (\boldsymbol{\tau};n,m). \hfill (9)$

Now $\beta$ is constrained to harmonics of $1/T_{sym}$. This is because $\beta$ is a cycle frequency of $x_d(t)$, which is our old friend, the rectangular-pulse textbook BPSK signal with zero carrier frequency offset. So its cycle frequencies, which are $(n-2m)f_c + k/T_{sym}$ reduce to $k/T_{sym}$ for all $n, m$ of interest.

The impure (moment) cycle frequencies for $x_c(t)$ are also harmonics of $1/T_{sym}$ because $x_c(t)$ is periodic with period $T_{sym}$, so the cycle frequencies for $s(t)$ are harmonics of $1/T_{sym}$. However, for $x_d(t)$ the significant harmonics are small ($1/T_{sym}, 2/T_{sym}, \ldots$), and for $x_c(t)$, they are large ($N_c/T_{sym} = 1/T_{chip}$). The combination implied by (9) reveals that the DSSS signal $s(t)$ has a great many more significant cycle frequencies than does the data signal $x_d(t)$.

The strongest second-order non-conjugate feature of a DSSS signal is typically the chip-rate feature. This arises from the combination in (9) of the $\beta = 0$ feature for $s(t)$ and the $\alpha - \beta = \alpha = 1/T_{chip} = N_c/T_{sym}$ feature for the periodic chipping signal $x_c(t)$. To see that the latter feature is large, here is a plot of the Fourier transform of a segment of a simulated $x_c(t)x_c(t+\tau)$ containing many periods:

In this numerical example, $\tau = T_{chip}/2$, the chip interval is $T_{chip} = 10$ samples, $N_c = 127$ so that $T_{sym} = 1270$ samples. You can see the harmonic components for $1/T_{sym} = 1/1270$ in the zoomed-in portion of the plot, and you can see the dominant feature for $N_c/T_{sym} = 127/1270 = 1/10$ in the upper plot. We’ll see various examples of the spectral correlation function for DSSS signals, including the rectangular-pulse signal, next.

Formula (9) provides all $n$th-order cyclic temporal cumulant functions for the WM DSSS signal, which includes the non-conjugate and conjugate cyclic autocorrelation functions for $n=2$ and $m = 0,1$. Due to the cyclic Wiener relation for the cyclic polyspectrum and the cyclic cumulant, (9) can also be used to find the spectral correlation function for the WM DSSS signal.

### Examples

#### Rectangular-Pulse DSSS BPSK

First let’s show the estimated spectral correlation function for the DSSS signal that we spent so much time with in the previous parts of this post. The signal has a data rate of $1/T_{sym} = 1/1270$, a chip rate of $1/T_{chip} = 1/10$, which means a processing gain of $N_c = T_{sym}/T_{chip} = f_{chip}/f_{sym} = 127$. The carrier offset frequency is set to zero. A small amount of noise is added to the signal prior to any plotting or processing.

First we show the PSD, estimated from $65536$ samples using the frequency-smoothing method (FSM):

Here is a single data symbol or, equivalently, a single instance of the chipping waveform, which contains $127$ chips:

And here is the spectral correlation and spectral coherence (non-conjugate) for the DSSS signal, obtained using the strip spectral correlation analyzer (SSCA) using $64$ strips and $65536$ samples:

And here is the conjugate cyclostationarity:

#### Square-Root Raised-Cosine DSSS BPSK

A more realistic DSSS signal uses a non-rectangular pulse function, such as the square-root raised-cosine (SRRC) pulse, which is characterized by a maximum bandwidth of twice the symbol rate, minimum bandwidth of the symbol rate (the Nyquist rate), and an occupied bandwidth between the two that is controlled by the roll-off parameter $r \in [0, 1]$. The waveform-multiplication model breaks down for signals with pulses such as these, because the pulse extends over many chip intervals. However, the basic results we obtained for the textbook rectangular-pulse DSSS BPSK signal above hold for the realistic signals too, especially the results relating to the values of the cycle frequencies.

Here are some results for a SRRC DSSS BPSK signal with roll-off of $r = 0.35$, or $35$% excess bandwidth (bandwidth in excess of the minimum, which is the Nyquist rate $= 1/T_{chip}$). Here we again use the SSCA and $65536$ samples of the signal to obtain estimates of all significant second-order cycle frequencies and their associated maximum spectral correlation and coherence magnitudes.

Because the bandwidth of this SRRC DSSS signal is strictly limited, the range of cycle frequencies is also quite limited. Compare to the plots above for the rectangular-pulse DSSS BPSK signal, which has infinite bandwidth.

#### Captured WiFi

Now let’s move from textbook simulated signals to captured signals involving DSSS components. First up is WiFi. In some variants of the 802.11 signal, DSSS BPSK and DSSS QPSK are used. These signal components can easily be found in garden-variety WiFi captures around the office or home. The WiFi DSSS BPSK signal uses a chip rate of $11$ MHz and a chipping sequence that contains $11$ bits ($N_c = 11$, My Papers [16]). So we should see significant cycle frequencies at multiples of $1$ MHz. Here are the estimated PSD, cycle frequencies, and spectral correlation maxima:

#### Captured DSSS BPSK

Here we examine a captured DSSS signal of unknown origin. The center frequency for the collected data is also unknown to me. We use $131072$ samples and a $10$-MHz sampling rate to obtain the estimates of the cyclic parameters:

#### Captured WCDMA

Finally, let’s look at a more familiar signal, the downlink WCDMA (UMTS) cellular radio signal. The signal uses DSSS QPSK and the chip rate is $3.84$ MHz. To bring out the symbol-rate features (multiples of $100$ Hz) requires a significantly longer processing-block length than for the previous examples. My complex-valued (I/Q) capture has a rate of $6.25$ MHz, and I processed $2^21$ samples to obtain the following plots (compare to the SCF surface for WCDMA I posted here using a much smaller block length):

### The Symbol Combination Model

The waveform-multiplication model was successfully used to predict the many cycle frequencies possessed by DSSS signals, and also it explained why the chip-rate feature is typically dominant. However, it is only an approximate model when considering DSSS signals with non-rectangular pulses, which are the real-world signals. The waveform-multiplication model is an exact match to reality when the data and chip pulses are rectangles.

Another model is more general in terms of accommodating pulse functions. In the symbol-combination (SC) model, the data and chip symbols are combined in discrete time, used to modulate an impulse train, and then applied to a pulse-shaping filter. In particular, we have the following SC model

$\displaystyle s(t) = \sum_{k=-\infty}^\infty \sum_{j=1}^{N_c} d_k c_j \delta(t - j T_c - kT_0) \otimes p(t). \hfill (10)$

In (10), the data symbols are $d_k$, the chip symbols are $c_j$, $\delta(\cdot)$ is the impulse function, $\otimes$ denotes convolution, and $p(t)$ is an arbitrary pulse function. If I’ve not erred, this model reduces to the WM model when

$\displaystyle p(t) = r_{T_c}(t) = \left\{ \begin{array}{ll} 1, & |t| < T_c/2 \\ 0, & \mbox{\rm otherwise}. \end{array} \right. \hfill (11)$

### Other DSSS Variants

We’ve focused on DSSS BPSK in this post, but DSSS QPSK and DSSS SQPSK/MSK are also common. For all of these basic signal types, there are countless variations arising from different combinations of the basic DSSS parameters of pulse type, data-symbol constellation, processing gain $N_c$, and the specific chipping (sometimes called spreading) sequence. Maximal-length shift-register sequences are common choices, but there are others including Kasami, Gold, and Walsh. In addition, for signals employing quadrature modulation (not BPSK), the inphase and quadrature components of the data signal can be spread with identical or distinct sequences, and this is reflected in the cyclostationarity of the signal. Moreover, the chipping sequence can exceed the data-symbol length.

For the QAM and SQPSK/MSK DSSS signals, the basic second-order cycle frequency pattern is inherited from the data-symbol constellation properties (unless distinct I/Q chipping sequences are employed). So, DSSS QPSK does not exhibit second-order conjugate cyclostationarity, and DSSS SQPSK exhibits some of the non-conjugate and conjugate features for DSSS BPSK, but not all of them.

I’ve posted some of the files I used to generate the results shown on this page.

As usual, I welcome corrections, comments, and questions. Post them below. Thanks!

I'm a signal processing researcher specializing in cyclostationary signal processing (CSP) for communication signals. I hope to use this blog to help others with their cyclo-projects and to learn more about how CSP is being used and extended worldwide.

## 9 thoughts on “Cyclostationarity of Direct-Sequence Spread-Spectrum Signals”

1. John Macdonald says:

I think there’s a minor error in Figure 3. Isn’t the third chipped pulse in s(t) not inverted like it should be?

Hoping your days are cyclically great,
John

1. John: Great catch! Fixed, I hope.

Really, really appreciate your keen eye and willingness to comment.

1. John Macdonald says:

I really, really appreciate your blog. I’ve learned a lot.

Thanks!
John

2. John Macdonald says:

Two questions:

1: In Figures 10 and 11 there are a handful of coherence values greater than 1. Is that a mistake, or could it be an instance of the classic aphorism, “In theory, theory and practice are the same, but in practice they’re not”?

2: Occasionally you refer to “significant” cycle frequencies. Are you defining “significant” in a mathematical way (e.g. 3-sigma), or just colloquially?

Thanks!

1. Yes, it is an example of that aphorism, or similar ones. Several commenters have asked similar questions over the past couple years. So searching through the comments sections of the FAM and SSCA posts will be fruitful. To get you started, look at my comment here.

The root cause of these greater-than-one coherence magnitudes is that the PSD estimate used in the coherence calculation violates one or more of the conditions under which we calculate a coherence-magnitude threshold. Those conditions include the ability to “adequately resolve” the spectrum of the signal with the estimate. One cannot adequately resolve the PSD of some signals with any non-parametric power spectrum estimator (like the FSM and TSM). For example, signals with unit-step-function discontinuities in their spectrum. For some DSSS signals, the true spectrum is not really like the one in Figure 9. There can be many rather narrow (in frequency) and deep (in power spectral density) fluctuations, and these are hard to resolve, which leads to the mismatch between numerator and denominator in the coherence. ‘Hard to resolve’ just means that the effective spectral resolution of the estimator is either too big (oversmoothed) or too small (undersmoothed) relative to the fluctuation widths.

2. I looked at the instances of ‘significant’ in the post. Sorry for the vagueness! Here I am using ‘significant’ to mean ‘large relative to the total,’ or similar. Consider a periodic signal. It has some number of non-zero Fourier-series coefficients. The sum of all the magnitudes of those coefficients is, say, S. Then a significant Fourier-series component is one that has magnitude s such that s/S > threshold. So that is more like your idea of a colloquial use of ‘significant.’ In other CSP Blog contexts, I’m talking about ‘significant cycle frequencies’ for blind cycle-frequency estimation, and there ‘significant’ means ‘greater than the coherence threshold’ discussed in (1) above.

1. John Macdonald says:

I appreciate the feedback. Never apologize for your blog content; it is well worth the fancy cup of coffee.

Thanks!

3. John Macdonald says:

My team is looking to start moving past the CSP basics we’ve learned through implementing and tinkering with the SSCA. We’re particularly keen to get a firm grasp on DSSS’s cyclostationary properties and interesting ways that folks have exploited them. To get started, I pulled down the three papers you cited at the beginning of this post (actually grabbed Perna’s thesis instead of R11).

Can you also recommend a relatively recent survey paper, or similar starting point(s), we could use to launch into this niche topic?

Thanks,
John

1. I don’t have any good ideas about survey papers for either uses of DSSS or detecting DSSS. I invented the CSP technique of tunneling in part for low-cost detection of DSSS, so you might want to look at My Papers [43].

I don’t have it, but I want it: Principles of Spread-Spectrum Communication Systems 5th ed. 2022 Edition, D. Torrieri.

A little dated is Modern Communications and Spread Spectrum by (two of my favorite authors) G. R. Cooper and C. D. McGillem. (The Literature [R154]).

Hope that helps!

1. John Macdonald says:

I appreciate the references. Last night I blew off some dust and checked inside the front cover of my introductory spread spectrum text. The copyright date (which started with a “1”) made me feel very, very old. Maybe Torrieri’s next edition should be on my Christmas list too. 🙂

Thanks!