Background: Direct-Sequence Spread Spectrum (DSSS) multiplies a narrowband data signal by a much higher-rate pseudo-random chip sequence c(t) generated from a PN (Pseudo-Noise) code, spreading its bandwidth by the processing gain Lc = Tb/Tc (chips per bit, where Tb = bit duration and Tc = chip duration). At the receiver, correlating (despreading) with that same code collapses the desired signal back to its original narrow bandwidth, while any narrowband jammer or interferer — which was never spread at the transmitter — gets smeared across the full spread bandwidth by that same correlation, diluting its power spectral density by roughly the same factor Lc. This is why DSSS resists narrowband jamming: the achievable Eb/N0 (energy per bit over noise power spectral density, in dB) improves by the processing gain (and any additional coding gain), and the jamming margin quantifies, in dB, how much stronger a jammer can be than the desired signal (J/S, jammer-to-signal ratio) before the link's bit error rate (BER) exceeds its target.
Description of This Web Application: Configure the DSSS processing gain (chips per bit), bit rate, coding gain, and target bit error rate, then attack the link with a narrowband jammer whose power relative to the signal (J/S) you control directly. Watch the transmit/despread waveforms and spectra, a live BER-vs-J/S curve with the jamming margin marked, and a real-time link status that flips from OK to jammed once J/S is pushed past the margin. A third tab lets you generate your own maximal-length (m-sequence) PN code from an LFSR (Linear Feedback Shift Register) and inspect its autocorrelation, showing why pseudo-random codes look like noise to everyone except the intended receiver. You will come away understanding how processing gain trades bandwidth for jamming resistance, and why increasing Lc (or adding coding gain) directly increases the jamming margin.