# How to achieve Shannon's capacity if coding introduces a spectral efficiency loss?

I am a little bit confused concerning different Shannon's notions :

Over an AWGN channel Shannon's capacity is in my knowledge : $R_b<C=B.\log(1+SNR)$. Is Shannon's "limit" a different notion than that ?

How to convert this equation to a $BER=f(E_b/N_0)$ chart ? for example Here there is a Shannon limit plotted in fig.2, how is it done ?

From the equation stated above one can derive the maximum spectral efficiency : $\eta = R_b/B <\eta_{max} = C/B = \log(1+SNR)$ is that correct ?

If a channel code introduces redundacy bits it introduces a inevitably a loss in $\eta$, so what does Shannon mean when he states that to achieve capacity one has to tend code length to infinity ? one of my proffessors once said that the LDPC is an example of such a code because it is very long and thus achieves capacity (almost), where is spectral efficiency loss gone ?

• I'm far too rusty in these things to provide a full answer. But if you're designing an error-correcting code, then the number of check bits you have to add to correct any given BER goes down as the packet size increases. At the limit, the check bits become negligible compared with the size of the packet. – Simon B Feb 25 '16 at 15:15

## 1 Answer

You cannot convert the Shannon Capacity formula to a BER "waterfall curve", because the capacity theorem states that in the AWGN channel, there exists a modulation and coding scheme such that the probability of error is arbitrarily small with a capacity bound given by $B \log (1 + SNR)$. Sadly, it doesn't tell us how to construct such a modulation/coding scheme that approaches this bound.

For a code length to approach infinity means that the code depends on an arbitrary number of previous symbols. Heuristically speaking, the "optimal" code will take advantage of correlations in the errors across symbols, so the longer the code is, the more it can exploit this redundancy.