Last Modified: January 9, 2017

Performs the direct sequence spread spectrum (DSSS) despreading operation on a spread sequence of data bits.

The desired number of bits (not chips) over which to search for a sync confidence metric greater than the **sync confidence threshold**. This parameter is only applicable when **reset?** is set to TRUE.

**Default: **0

The sequence of data chips to despread.

The sequence of bits that determine how the bits in **input bit stream** are spread.

The minimum correlation required for which you can consider **input chip stream** to be synchronized with the **spreading code**. Configure this parameter only if you set **reset?** to be TRUE. Valid values are between 0.0 (no correlation required) to 1.0 (perfect correlation required), inclusive.

**Default: **0

Error conditions that occur before this node runs. The node responds to this input according to standard error behavior.

**Default: **no error

A Boolean that determines whether this node synchronizes despreading at each call using the **sync search depth** and **sync confidence threshold** parameters.

TRUE | Synchronizes despreading at each call using the sync search depth and sync confidence threshold parameters. |

FALSE | Ignores the values of sync search depth and sync confidence threshold and continues despreading from the previous iteration. |

**Default: **TRUE

The synchronization index of the synchronization sequence found within the **input chip stream**. This parameter returns -1 if no sync is found.

The measured confidence metric when **input chip stream** is aligned using the **sync found index**. Valid values are 0.0 (0% measured confidence) to 1.0 (100% measured confidence), inclusive.

Direct Sequence Spread Spectrum (DSSS) is a process by which data is transmitted using a higher bandwidth signal as required by the data rate. Using DSSS allows multiple channels to occupy the same bandwidth, thus mitigating interference from other users at the expense of bandwidth expansion.

DSSS spreads each bit of signal data at the transmitter into *L* chips using a pseudorandom L-chip spreading code called a code word. The length *L* of the pseudorandom spreading code is also known as the bandwidth expansion factor because the chips are transmitted at a rate equal to *L * * bit rate of the data. The spreading code appears random to all receivers except the intended one, which uses the knowledge of the spreading code to demodulate and recover the transmitted information. Thus, multiple channels can occupy the same portion of the frequency spectrum by using code words that have little or no correlation with one another, and little or no autocorrelation for any shift other than zero.

Mathematically, a DSSS signal is described by

$y\left(t\right)={\displaystyle \underset{n=-\infty}{\overset{\infty}{\sum}}{\displaystyle \underset{m=0}{\overset{L-1}{\sum}}{a}_{n}{c}_{m}g(T-nT-m{T}_{c})}}$

where

y(T) is the transmitted DSSS signal

g(T) is the pulse-shaping signal of duration *T*_{c}

*a*_{n} is the n^{th} information bearing symbol

*c*_{m} is the m^{th} element of the L-long pseudorandom spreading code (also known as the chip sequence)

*T*_{c} is the chip period

T = L * T_{c} is the symbol period

**Where This Node Can Run: **

Desktop OS: Windows

FPGA: Not supported