# Cyclostationarity of Direct-Sequence Spread-Spectrum Signals

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$latex 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 \\ 0, & 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!