# How to calculate the shannons channel capacity and the bandwidth, for a desired BER and EbNo value?

I understand that, for BFSK modulation scheme, to achieve BER of $10^{-5}$, the required Eb/No is 12 dB, and this is theoretical value of the required Eb/No predicted from the graph below:

According to shannons theorem, wkt:

$$c = BW \cdot log_2(1 + SNR) \; bps$$

So how do I calculate the values of SNR that I can substitute in the shannons equation? And how to calculate the BW?

• BW is the bandwidth of the channel you are using and SNR relates to Eb/No as 1:1 if you assume that you transmit at 1 bit per second per Hz. – Andy aka Jun 9 '14 at 14:35
• The BW for BFSK is: BW=2*Rb, where Rb is the data rate in bps. So if Rb = 1200 bps, then BW = 2*1200 = 2400 Hz. I would like to know if this is the BW value we have to substitute in the shannons equation? and for a Eb/No 0f 12 dB, how do i calculate the corresponding SNR value? I am having problem in using the shannons equation for my system design. Please help! – PsychedGuy Jun 9 '14 at 15:31

First, the Shannon formula tells you, given a certain amount of bandwidth and SNR, what is the maximum possible data throughput you can achieve. It does not tell you that any particular system or type of system can actually achieve that maximum.

It doesn't tell you how to design a system --- it only tells you, after you designed it, how close you came to the theoretical maximum channel capacity.

Second, given an acceptable BER, you can calculate the (theoretical maximum) achievable bit rate from the channel capacity as

$R(p_b) = \dfrac{C}{1-H_2(p_b)}$

where R(p) is the data rate, pb is the BER, C is the channel capcity, and H2(p) is the entropy function,

$H_2(p_b)=- \left[ p_b \log_2 {p_b} + (1-p_b) \log_2 ({1-p_b}) \right]$

So the achievable signal rate with 10-5 is about 1.0002 C.

To answer your specific questions, the bandwidth in the Shannon formula is the minimum width of a perfect boxcar filter that could be applied to your signal without changing the signal. In the case of BFSK, it is very nearly $\Delta{}f$, the difference between the mark and space frequencies. As you say, for BFSK with the minimum modulation index, BW = 2 R, where R is the bit rate.

And the SNR in the Shannon formula is the same as the $\frac{E_b}{N_o}$ of your first formulation.

You have probably noticed that for this SNR and bandwidth (2*R), Shannon predicts a capacity of

$2 R \log_2\left(10^{1.2}\right)$,

or 7.97 R, while your BFSK is only achieving R bit rate. (Note, there could be different defitinitions of the SNR that differ by a factor of 2 or so, but this only changes the result by +/- 1x(BW) after taking the log)

This just means that BFSK is only about 25% efficient in achieving the maximum channel capacity.

• Thanks a lot for your input, however i have one small doubt. As you said BFSK is only 25% efficient, does this statement mean that, BFSK can practically support data rates of only upto 1200bps, while the shannon equations actually predicts the capacity to be 9564 bps?. If this is the case, how am i supposed to improve the throughput? Does increasing the frequency seperation (Δf) improve the BFSK efficiency?.My doubts may seem lame, but please don't mind as i am beginner into communications. Thanks in advance. – PsychedGuy Jun 10 '14 at 9:41
• Shanon doesn't predict performance. It gives an upper limit, and it's up to us to figure out the best way to get as close as possible to that limit. One way might be to change to a multilevel code such as QPSK. – The Photon Jun 10 '14 at 14:50