# How to reconcile “bandwidth” in the Shannon-Hartley Theorem with a spread-spectrum principle

I'm trying to understand something about channel "bandwidth" $B$ in the Shannon-Hartley Theorem: $$C = B \log_2 \left( 1 + \dfrac{S}{N} \right)$$

Suppose I have a bitstream encoded as a signal that occupies some bandwidth $B_1$ which is less than channel bandwidth $B$, and I have additive white Gaussian noise $N$. Shannon-Hartley tells me that I'm not using the communication channel efficiently; I should be bumping up the bandwidth of my encoder.

One way of doing that is to use spread-spectrum... but I've read several places (including this paper) that SS doesn't help against wideband noise; it only allows you to increase SNR if you have narrowband noise.

Here are my questions:

• If I'm only using bandwidth $B_1$, doesn't that mean I can filter some of the noise out? And if so, would I be able to get $S/N$ down up? Wouldn't that be an alternative to occupying the full channel bandwidth?

• Is spread-spectrum a bad idea to try to occupy the full channel bandwidth?

You are mixing up two different notions that have little to do with each other.

The use of spread-spectrum signaling is not in an effort to achieve (or even approach) the capacity of the (wideband) channel. Indeed, the spread signal uses only a small fraction of the capacity of the wideband channel, and the rest of the capacity is available for use by others, as in the case of a multiple-access system where many users can simultaneously access the same channel (a code-division multiple-access or CDMA system) without necessitating coordination in frequency or time as is required in FDMA or TDMA systems. See this answer of mine for some details.

If I'm only using bandwidth $B_1$, doesn't that mean I can filter some of the noise out? And if so, would I be able to get $S/N$ down? Wouldn't that be an alternative to occupying the full channel bandwidth?

Yes, you can filter out the noise that lies out of the bandwidth $B_1$ but within the bandwidth $B > B_1$, but if you do so, you will not be able to get $S/N$ down as you say you want to do (why I don't know) but rather up which is what you really want to do even though you don't know it as yet: trust me on this -- increasing SNR is a good thing to do.

Is spread-spectrum a bad idea to try to occupy the full channel bandwidth?

No, spread-spectrum is a good idea to try to occupy the full bandwidth as long as you understand that there is a vast difference between occupying the full bandwidth of a wideband channel and achieving the capacity of the wideband channel. Of the two goals listed in the previous sentence, a (suitably designed) spread-spectrum signal will achieve the first objective and fail miserably at the second objective.

Contrary to what you have read, spread-spectrum works quite well against broadband noise as well as narrowband noise. The de-spreading process for diurect-sequence spread-spectrum spreads any narrowband noise within the broad bandwidth thereby reducing its deleterious effect. It also rejects all the noise that is orthogonal to the spreading signal. In fact, the entire process of spreading and de-spreading has no effect on the $S/N$ ratio and the error probability is the same as if the signal had just been transmitted in a narrowband channel.

• Thanks for the answer, that helps me make sense of things. (Oops, I meant S/N up, not down. Somehow my mental model is N/S, so it's hard for me to think about S/N intuitively.) I need to find the other source I read about spread-spectrum and broadband noise, I think it was the Pickholtz paper – Jason S Apr 24 '18 at 4:28

If I'm only using bandwidth B1, doesn't that mean I can filter some of the noise out? And if so, would I be able to get S/N down? Wouldn't that be an alternative to occupying the full channel bandwidth?

Capacity increases linearly with bandwidth, but only logarithmically with SNR. So, increasing SNR by decreasing bandwidth is a bad idea if your noise isn't narrowband.

Is spread-spectrum a bad idea to try to occupy the full channel bandwidth?

No, but there's more at play here:

Remember, $C$ is just an upper limit assuming you somehow (and it's not generally known how to do that) build the perfect transceiver including perfect channel coding.

Spread-Spectrum techniques can make for very robust transceivers, but they'd typically require $B_1 \ll B$. However, if $B$ is large, you'll likely be met with a non-flat channel, and that means things get a lot harder to receive correctly, and you'll end up building a complicated equalizer to counter ISI.

Especially fast-changing environments, which might be that the receiver, the transmitter, or potential paths change position or phase, getting a channel state estimate sufficient to do the equalization becomes hard enough to require you to add more pilots or otherwise redundant data to your transmission that the increase in bandwidth might not pay.
That's the main reason why for high-bandwidth systems (Wifi, cellular data), the world is leaving spread-spectrum behind in favour of multicarrier systems (typically, OFDM these days, but also FBMC): this has happened to WiFi (802.11b was DSSS, a/g/n/ac/p... use OFDM) and to Cellular standards (3G / UMTS was typically Spread Spectrum, 4G/LTE/4G+/5G is OFDM (and might turn out to do FBMC in the future for specific cases)).

Still, for smaller bandwidth systems, where the channel can be assumed to be tolerably flat, DSSS and alike play a very important role, because they allow you to send at a fixed PSD (say, $x$ dBm / MHz) over a larger bandwidth and thus allow for vastly improved SNR due to processing gain; in effect, you transmit the same bits, but you can put more power into them legally, because you're using a larger bandwidth. Yes, you infer the same increase in noise power; but noise doesn't correlate with your spreading pattern, so you'll have a net gain.

it only allows you to increase SNR if you have narrowband noise.

Still haven't read that paper, so I don't know if you're misinterpreting the paper or if it's wrong (might simply make different assumptions):

Let's look at simple DSSS.

For every finite-power signal, we interpret its variance as power.

Let's assume we're dealing with a spread sequence $c_i$, $i=0,\ldots, L-1$, with $\left\lvert c_i\right\rvert = 1$. Let the symbols sent be $s$, $|s|=1$. This all works pretty well w.l.o.g., if you consider that the below also works with expected values instead of fixed amplitudes.

Then, what the transmitter sends for a single data symbol is a sequence $(sc_0, sc_1, \ldots, sc_{L-1})$. And at the correct sampling instant, the receiver calculates, from the receive samples $r_i$:

$$R = \sum_{i=0}^{L-1} c_i r_i \text.$$

In the noise-free case:

\begin{align} R_\text{no noise} &= \sum_{i=0}^{L-1} c_i sc_i \\ &= s \sum_{i=0}^{L-1} c_i c_i \\ &= s L c_i^2 \\ &= s L 1^2 \\ &= s L \text,\end{align}

which has the variance of $L^2$, since we scale $s$, which has a variance of $1$, with a constant $L$.

In the noise-only case:

\begin{align} \text{Var}\left(R_\text{only noise}\right) &= \text{Var}\left(\sum_{i=0}^{L-1} c_i n_i \right)&\text{i.i.d}\\ &=L\text{Var}\left(n\right) \text.\end{align}

So, the sum of noise has $L$ times the variance of the individual noise sample. Let's look at the SNR:

$$\text{SNR} = \frac{\text{Var}\left( R_\text{no noise}\right)}{\text{Var}\left( R_\text{only noise}\right)} = \frac{L^2}{L\cdot N} = L \text{SNR}_\text{unspread}\text.$$

So, I'd say, yes, spreading gain works clearly in your favor here.

• I don't agree with the last part of this answer; it mixes two different meanings of SNR. For error probability calculations, the key quantity is the BEND (bit-energy to noise density) ratio (a.k.a $E_b/N_0$) and it isn the same regardless of whether the signal is spread or not spread. The "spreading gain" is wholly imaginary. The in-band SNR increases by the spreading factor $L$ because the out-of-band signal is gathered inband by the de-spreading process but the resulting in-band SNR is the same as if the signal had never been spread at all. – Dilip Sarwate Apr 23 '18 at 19:45
• @MarcusMuller I do agree with Dilip Sarwate in the sense that the spreading gain does not help dealing with wideband noise. This gain is useful in spreading the narrowband noise thus lowering the inband noise. The statement cited by the OP seems correct (I did not read the paper though). We have a similar answer for this issue dsp.stackexchange.com/a/2846/26081 – AlexTP Apr 23 '18 at 22:34
• @DilipSarwate that's pretty much exactly my point – you increase the $E_b$ iff you can keep your PSD constant over a larger bandwidth. Your comment tries to be "fair" by comparing transmissions with the same $E_b$ – my answer doesn't; the whole idea is that we give one bit more energy. I'm also having a minimally hard time agreeing to the "spreading gain is wholly imaginary" when, you know, GPS works by having correlation gain (with a spreading sequence), as an example, which allows a GPS receiver to work with bandpass signal power densities well below thermal noise floor. – Marcus Müller Apr 24 '18 at 7:41
• Using DSSS automatically spreads the signal energy over a wide bandwidth, and if you look at the signal and noise power anywhere over wide band, the signal power could be below the noise floor. The point is that demodulation gathers all the scattered signal energy into the original narrow band and thereby gives processing gain only to the extent that if you tried to detect the spread signal by first filtering off anything outside the narrow band and then detecting it, the performance is terrible..... – Dilip Sarwate Apr 24 '18 at 17:18
• .....(continued) So, compared to just using a narrowband receiver on a spread spectrum signal, you have processing gain. If you strip off the DS modulation first (which brings all the signal energy into the narrow band where it was before spreading occurred at the transmitter), then error performance is no different than what you would get if you had never spread the signal in the first place. In this sense, processing gain is a myth: it exists only for those who don't pay attention to anything outside the narrow band and then say "Hey, look how much better the performance is". – Dilip Sarwate Apr 24 '18 at 21:11

If your wireless channel has bandwidth $B$ but your signal has bandwidth $B_1 < B$, there are a few things you can do:

• If your data rate is satisfactory, don't use a channel of bandwidth $B$, use one of bandwidth $B_1$! Assuming you're paying for your bandwidth, you'll save money. Note that Shannon's theorem also applies when you use $B_1$ instead of $B$.

• You can increase your data rate and/or improve your error rate. For instance, you could go from 16-QAM to QPSK at the same bit rate. Or you could stay with your current constellation but increase the bit rate. Or you could use a more powerful error control code at the same information rate.

• You could do TDM/FDM to transmit several encoded streams instead of only one.

Regarding your question about noise and SNR: the optimum approach is to use a matched filter in the receiver. It will do all the filtering you need.