It is intuitive to think that if the noise amplitude is more than signal amplitude, it will obscure the signal. But using Shannon–Hartley theorem, one can see that a receiver can read the signal even if the SNR is negative provided the bandwidth is high enough. What is the intuition behind this?

The Shannon–Hartley theorem states the channel capacity C, meaning the theoretical tightest upper bound on the information rate of data that can be communicated at an arbitrarily low error rate using an average received signal power S through an analog communication channel subject to additive white Gaussian noise of power N: $C = B \log_2 \left( 1+\frac{S}{N} \right) $ where C is the channel capacity in bits per second, a theoretical upper bound on the net bit rate (information rate, sometimes denoted I) excluding error-correction codes; B is the bandwidth of the channel in hertz (passband bandwidth in case of a bandpass signal); S is the average received signal power over the bandwidth (in case of a carrier-modulated passband transmission, often denoted C), measured in watts (or volts squared); N is the average power of the noise and interference over the bandwidth, measured in watts (or volts squared); and S/N is the signal-to-noise ratio (SNR) or the carrier-to-noise ratio (CNR) of the communication signal to the noise and interference at the receiver (expressed as a linear power ratio, not as logarithmic decibels).

Source https://en.wikipedia.org/wiki/Shannon%E2%80%93Hartley_theorem

  • $\begingroup$ 1) What does the quote you included have to do with your question? 2) I assume by "negative" SNR, you mean SNR less than one? $\endgroup$ – DilithiumMatrix Dec 9 '16 at 18:49
  • $\begingroup$ 1) It explains what the theorem is. Quoted it because it was borrowed as it is from a source. 2) Correct. $\endgroup$ – akm Dec 9 '16 at 18:57
  • 3
    $\begingroup$ How can the SNR be negative? It's a ratio of amplitudes (or rms if you prefer) which by definition are always positive. So SNR > zero. $\endgroup$ – docscience Dec 9 '16 at 19:15
  • 1
    $\begingroup$ @docscience :) in many situations particularly for rf signals, snr is expressed as logarithmic function, see en.wikipedia.org/wiki/Signal-to-noise_ratio $\endgroup$ – akm Dec 9 '16 at 19:19

The SNR in Shannon's equation is the signal power divided by the noise power, S/N. It is a number, and power cannot be less than 0, neither can noise. You are thinking of the SNR in dB, label it SNR(dB). You are thinking of the value in dB, and for SNR =1 indeed the SNR(dB) is 0, and for SNR < 1 (ie, noise greater than signal power) SNR(dB) is negative.

Similarly for SNR = 0, the log(1+SNR) is 0. For SNR < 1 (ie, SNR(dB) negative) the log(1+SNR) gets closer and closer to 0.

So, yes, indeed one can read (or as Shannon would say perfectly decode a signal or noisy information) for negative SNR's in dB. It happens all the time in for instance spread spectrum communications (which is a way of coding a signal, or generally, information). See an example further down. But actually there is a Shannon Limit, on what is called the SNR per bit, defined below as Eb/No. It is actually the most important entity.

One can perfectly decode or read a signal or information down to that limit. Below the limit you cannot read without erros, and the erro rate increases exponentially.

A good way to see what really happens is to write Shannon's equation

C = B $log_2$(1+SNR)

as C/B = $log_2$(1+SNR),

and then using SNR = S/NoB (with No the noise power density) you get

C/B = $log_2$(1+S/NoB). Then, setting S = signal power = EbC, where Eb is energy per bit, and setting

z == SNR = Eb/No x C/B, (Eq. 1)

with Eb/No the SNR per bit, one gets

C/B = $log_2$(1+EbC/NoB) = $log_2$(1+z) = z $log_2$ $(1+z)^{1/z}$


C/Bz = $log_2$ $(1+z)^{1/z}$

or using Eq. 1

No/Eb = $log_2$ $(1+z)^{1/z}$

In the limit as B goes to infinity with a finite C, so C/B goes to zero, and so z goes to zero, so

one gets, since limit as z goes to zero of $(1+z)^{1/z}$ = e

so one gets

limit as B goes to infinity of Eb/No = 1/$log_2$ e = 0.693

or, as B goes to infinity Eb/No goes to 0.693, and Eb/No (in dB) = -1.6 dB

You cannot decode a signal (or information) where the Eb/No (dB)= SNR per bit = < -1.6 dB. If you plot B/C vs Eb/No, the asymptote is at -1.6 dB.

That is called the Shannon limit. It is not possible to do better.

But we do decode negative SNR's (in dB) all the time. A spread spectrum signal with B/C = 100, can have,

SNR = Eb/No x C/B, or in dB,

SNR(dB) = Eb(No(dB) - 20 dB

so we could get SNR = -1.6 - 20 = -21.6 dB

That could happen, for instance, with a extremely well coded spread spectrum signal with 20 dB (so called) processing gain. The limit would be -21.6 dB of SNR. Usually we don't get to the limit. The same is true with error correcting codes, one uses them to make the SNR lower, while keeping enough Eb/No to decode well enough. Shannon's theorem does not tell us how to construct those codes, only that it is possible.

See Shannon in Wikipedia at https://en.wikipedia.org/wiki/Shannon%E2%80%93Hartley_theorem

See the Shannon limit explained starting at http://news.mit.edu/2010/explained-shannon-0115 and at YouTube at https://www.youtube.com/watch?v=Wq1-Iq9Vm28. See a Shannon limit graph with R actual bit rate, and R/B the spectral efficiency, pasted from http://www.gaussianwaves.com/2008/04/channel-capacity/

Shannon Limit

  • $\begingroup$ please comment on the role of noise floor, which is proportional to bandwidth see en.wikipedia.org/wiki/Minimum_detectable_signal $\endgroup$ – akm Dec 11 '16 at 8:34
  • $\begingroup$ You have shown that minimum snr that can be read is -1.6db and state that it is impossible to better that. and then, immediately afterwards you say that -20db snr can be read. the argument is flawed. the result of -1.6db limit is derived assuming infinite bandwidth. so, when you are considering the case with B=100C, then you cannot use the previously derived result. @Bob Bee $\endgroup$ – akm Dec 12 '16 at 19:29
  • $\begingroup$ No, you misinterpreted. The -1.6 dB is the minimum Eb/No anybody can read, per Shannon. Independent o f bandwidth. SNR does however depend on bit rate (my C, which I used to not confuse it with R, but really R can be greater than or equal or less than C. If greater, you won't get erro free transmission with any kind of coding or transmitter). The Eb/No is SNR X B/C, they are different, as Eb/No has processing gain. SNR can be negative in dB. Cellular radio in 3G has about 20 dB processing gain (B/C) so you can read those negative SNR. That is right B >> C is one way to have negative SNR $\endgroup$ – Bob Bee Dec 13 '16 at 2:12
  • $\begingroup$ @Amit. You can have signal power below the noise floor. My math is perfectly well understood. You get a signal below the noise floor and integrate it with a correlator and you pick up the processing gains that I refer to, integrating the signal out of the noise. In essence B>> C, and processing to recover the signal. Done all the time $\endgroup$ – Bob Bee Dec 13 '16 at 2:17
  • $\begingroup$ I see the mistake in my argument, thanks. @Bob Bee $\endgroup$ – akm Dec 13 '16 at 9:17

The symbol rate $R_s$ (information symbols per second) is in general proportional to the bandwidth $B$, therefore by increasing the bandwidth, one may increase the symbol rate for a fixed SNR.

In the case of a low SNR, detection probability can be improved by introducing redundancy among symbols that can be exploited to improve detection probability. This is called "error correction coding" (ECC), "channel coding", or "forward error correction" (FEC). A simple (but extremely inefficient) coding scheme would be to transmit each information symbol three times and have the detector make its decision based on which symbol occurred most frequently in the three-symbol block. This way one symbol error in every block of three symbols can be detected and corrected. In modern practice, convolutional and turbo codes are commonplace today.

Therefore when S/N is fixed, you can increase the capacity by increasing the bandwidth to increase the symbol rate and use a more redundant coding scheme.

Shannon's theorem states that a modulation and FEC scheme exists that approaches the bound. It does not, however, state what code satisfies it.

In the recent years, OFDM modulation with water-filling power control and turbo-codes for FEC have come very close to reaching the theoretical limits.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.