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 . 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 with a more complicated pulse
. The new pulse will have the same length as the old one, but will consist of
subrectangles, each of which can take on the value of
. Here is an illustration for
:

The unspread (original) PSK signal is described mathematically as a pulse-amplitude-modulated signal,
where is our binary information, or data, symbol. Replacing each instance of the rectangle
in (1) with
, the chipped pulse, is equivalent to multiplying the data signal
by a periodized version of
. 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
, which is zero outside the interval
. Then the periodized signal corresponding to
is given by
Our periodized chipping waveform is simply the concatenation of an infinite number of chipped pulses,
The WM DSSS signal is then
This multiplication is illustrated below:
An imperfectly downconverted complex envelope signal includes a residual carrier offset frequency, leading to the complex-valued model
and the corresponding RF signal is
for large . Here
is small relative to
.
There are variants of this basic binary direct-sequence spread-spectrum (DSSS) signal. In particular, the random variable representing the information to be transmitted, , could be drawn from a quaternary alphabet such as
, 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 is the product of a random signal
and the non-random carrier sine wave
, 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
when it is equal to the product of some random (CS) signal
and a non-random signal
(Equation (27) in the signal-processing post). That is the situation we are in with the WM model of DSSS signals. We identify
and
. So we can focus on the cumulants of
.
Notice that the product-modulation formula can also be applied to , since it itself is the product of a random signal
and a non-random periodic signal
. For the product signal
the cyclic cumulants are given by
Using and
,
Now is constrained to harmonics of
. This is because
is a cycle frequency of
, which is our old friend, the rectangular-pulse textbook BPSK signal with zero carrier frequency offset. So its cycle frequencies, which are
reduce to
for all
of interest.
The impure (moment) cycle frequencies for are also harmonics of
because
is periodic with period
, so the cycle frequencies for
are harmonics of
. However, for
the significant harmonics are small (
), and for
, they are large (
). The combination implied by (9) reveals that the DSSS signal
has a great many more significant cycle frequencies than does the data signal
.
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 feature for
and the
feature for the periodic chipping signal
. To see that the latter feature is large, here is a plot of the Fourier transform of a segment of a simulated
containing many periods:

In this numerical example, , the chip interval is
samples,
so that
samples. You can see the harmonic components for
in the zoomed-in portion of the plot, and you can see the dominant feature for
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 th-order cyclic temporal cumulant functions for the WM DSSS signal, which includes the non-conjugate and conjugate cyclic autocorrelation functions for
and
. 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 , a chip rate of
, which means a processing gain of
. 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 samples using the frequency-smoothing method (FSM):

Here is a single data symbol or, equivalently, a single instance of the chipping waveform, which contains 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 strips and
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 . 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 , or
% excess bandwidth (bandwidth in excess of the minimum, which is the Nyquist rate
). Here we again use the SSCA and
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 MHz and a chipping sequence that contains
bits (
, My Papers [16]). So we should see significant cycle frequencies at multiples of
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 samples and a
-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 MHz. To bring out the symbol-rate features (multiples of
Hz) requires a significantly longer processing-block length than for the previous examples. My complex-valued (I/Q) capture has a rate of
MHz, and I processed
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
In (10), the data symbols are , the chip symbols are
,
is the impulse function,
denotes convolution, and
is an arbitrary pulse function. If I’ve not erred, this model reduces to the WM model when
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 , 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!
Morning Chad.
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
John: Great catch! Fixed, I hope.
Really, really appreciate your keen eye and willingness to comment.
I really, really appreciate your blog. I’ve learned a lot.
Thanks!
John
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!
Answers:
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.
I appreciate the feedback. Never apologize for your blog content; it is well worth the fancy cup of coffee.
Thanks!
Chad,
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
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!
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!