Maximum Data Rate (channel capacity) for Noiseless and Noisy channels
As early as 1924, an AT&T engineer, Henry Nyquist, realized that even a perfect channel has a finite transmission capacity. He derived an equation expressing the maximum data rate for a finite-bandwidth noiseless channel. In 1948, Claude Shannon carried Nyquist’s work further and extended to it the case of a channel subject to random(that is, thermodynamic) noise (Shannon, 1948). This paper is the most important paper in all of the information theory.
Data rate governs the speed of data transmission. A very important consideration in data communication is how fast we can send data, in bits per second, over a channel. Data rate depends upon 3 factors:
- The bandwidth available
- Number of levels in digital signal
- The quality of the channel – level of noise
Two theoretical formulas were developed to calculate the data rate: one by Nyquist for a noiseless channel, another by Shannon for a noisy channel.
1. Noiseless Channel: Nyquist Bit Rate –
For a noiseless channel, the Nyquist bit rate formula defines the theoretical maximum bit rate
Nyquist proved that if an arbitrary signal has been run through a low-pass filter of bandwidth, the filtered signal can be completely reconstructed by making only 2*Bandwidth (exact) samples per second. Sampling the line faster than 2*Bandwidth times per second is pointless because the higher-frequency components that such sampling could recover have already been filtered out. If the signal consists of L discrete levels, Nyquist’s theorem states:
BitRate = 2 * Bandwidth * log2(L) bits/sec
In the above equation, bandwidth is the bandwidth of the channel, L is the number of signal levels used to represent data, and BitRate is the bit rate in bits per second.
Bandwidth is a fixed quantity, so it cannot be changed. Hence, the data rate is directly proportional to the number of signal levels.
Note –Increasing the levels of a signal may reduce the reliability of the system.
Input1 : Consider a noiseless channel with a bandwidth of 3000 Hz transmitting a signal with two signal levels. What can be the maximum bit rate?
Output1 : BitRate = 2 * 3000 * log2(2) = 6000bps
Input2 : We need to send 265 kbps over a noiseless channel with a bandwidth of 20 kHz. How many signal levels do we need?
Output2 : 265000 = 2 * 20000 * log2(L)
log2(L) = 6.625
L = 26.625 = 98.7 levels
The amount of thermal noise present is measured by the ratio of the signal power to the noise power, called the SNR (Signal-to-Noise Ratio).
2. Noisy Channel : Shannon Capacity –
In reality, we cannot have a noiseless channel; the channel is always noisy. Shannon capacity is used, to determine the theoretical highest data rate for a noisy channel:
Capacity = bandwidth * log2(1 + SNR) bits/sec
In the above equation, bandwidth is the bandwidth of the channel, SNR is the signal-to-noise ratio, and capacity is the capacity of the channel in bits per second.
Bandwidth is a fixed quantity, so it cannot be changed. Hence, the channel capacity is directly proportional to the power of the signal, as SNR = (Power of signal) / (power of noise).
The signal-to-noise ratio (S/N) is usually expressed in decibels (dB) given by the formula:
10 * log10(S/N)
So for example a signal-to-noise ratio of 1000 is commonly expressed as:
10 * log10(1000) = 30 dB.
This tells us the best capacities that real channels can have. For example, ADSL (Asymmetric Digital Subscriber Line), which provides Internet access over normal telephonic lines, uses a bandwidth of around 1 MHz. the SNR depends strongly on the distance of the home from the telephone exchange, and an SNR of around 40 dB for short lines of 1 to 2km is very good. with these characteristics, the channel can never transmit much more than 13Mbps, no matter how many or how few signals level are used and no matter how often or how infrequently samples are taken.
Input1 : A telephone line normally has a bandwidth of 3000 Hz (300 to 3300 Hz) assigned for data communication. The SNR is usually 3162. What will be the capacity for this channel?
Output1 : C = 3000 * log2(1 + SNR) = 3000 * 11.62 = 34860 bps
Input2 : The SNR is often given in decibels. Assume that SNR(dB) is 36 and the channel bandwidth is 2 MHz. Calculate the theoretical channel capacity.
Output2 : SNR(dB) = 10 * log10(SNR)
SNR = 10(SNR(dB)/10)
SNR = 103.6 = 3981
Hence, C = 2 * 106 * log2(3982) = 24 MHz