Skip to main content

Shannon’s Theorem vs. Shannon-Hartley Theorem: Full Comparison


Information Theory vs. Physical Reality

Distinguishing Shannon's Noisy-Channel Coding Theorem from the Shannon-Hartley Formula.

In the pantheon of communication engineering, Claude Shannon’s 1948 paper, "A Mathematical Theory of Communication," serves as the bedrock. However, students and engineers often conflate his general theorem on error-free communication with the specific formula used to calculate bandwidth capacity. To understand modern telecommunications, one must distinguish between the Existence Proof and the Physical Bound.

A. Shannon's Noisy-Channel Coding Theorem

The Fundamental Existence Proof

This theorem is the universal law of reliability. It states that for any communication channel, there exists a capacity $C$ such that if the information rate $R$ is less than $C$, then an error-correcting code exists that allows the probability of error to approach zero ($P_e \to 0$).

The General Mutual Information Capacity:

C = maxP(x) I(X; Y)

Key Mathematical Implications:

  • Entropy and Mutual Information: $I(X; Y) = H(X) - H(X|Y)$. This defines capacity as the maximum reduction in uncertainty about the transmitter $X$ given the received signal $Y$.
  • The $P_e$ Threshold: If $R > C$, the probability of error is bounded away from zero; reliable communication is impossible regardless of coding complexity.
  • Non-Constructive: The theorem proves a code exists but does not define the algorithm to build it.

B. The Shannon-Hartley Theorem

The Physical Channel Limit

This is a specific application of the general theorem. It applies the concept of capacity to a continuous-time analog channel subject to Additive White Gaussian Noise (AWGN).

The AWGN Capacity Formula:

C = B log2(1 + S/N)

Key Mathematical Implications:

  • Logarithmic Scaling: Doubling the Signal Power ($S$) does not double the capacity; it only increases it logarithmically.
  • Linear Bandwidth Scaling: Doubling the Bandwidth ($B$) provides a linear increase in capacity (assuming $S/N$ remains constant).
  • The Gaussian Assumption: This formula assumes noise follows a normal distribution, which represents the "worst-case" interference for a given power.

Comparative Analysis

Feature Shannon’s Coding Theorem Shannon-Hartley Theorem
Scope Abstract / Information Logic Physical / Electromagnetic
Channel Type Any (Discrete or Continuous) AWGN (Analog Band-limited)
Variables Probability Distributions ($P(x)$) Watts, Hertz, Joules
Operational Goal Reliability (Error Correction) Efficiency (Spectral Bounds)

The Mathematical Bridge: Spectral Efficiency

To bridge these two concepts, we analyze Spectral Efficiency ($\eta$), measured in bits per second per Hertz (bps/Hz).

The relationship between the Shannon-Hartley bound and energy efficiency is expressed by:

η = C / B = log2(1 + S/N)

By substituting $S/N = (E_b/N_0) \cdot (R/B)$, and setting $R = C$ (at the limit):

Eb/N0 = (2η - 1) / η

Physical Interpretation:

This equation allows us to visualize the trade-off between power and bandwidth. As bandwidth $B \to \infty$ (and thus $\eta \to 0$), we apply L'Hôpital's rule to the expression above, which yields the Ultimate Shannon Limit:

Eb/N0 = ln(2) ≈ -1.59 dB

"Shannon's Theorem promises us that perfect communication is possible; the Shannon-Hartley Theorem defines the boundaries of the universe in which we must build it."



Contact Us

Name

Email *

Message *

Popular Posts

CMOS Logic Gates: Inverter, NAND, and NOR

CMOS Logic Gates: Inverter, NAND, and NOR Complementary metal–oxide–semiconductor (CMOS) technology forms the backbone of modern digital IC design. Patented by Frank Wanlass in 1963 ( US patent 3,356,858 ), CMOS enables low-power, high-speed, and noise-immune logic circuits. CMOS gates, including inverters, NAND, and NOR, are widely used in both large-scale and small-scale integrated circuits due to their efficiency and versatility. CMOS Inverter A CMOS inverter consists of a complementary pair of PMOS and NMOS transistors. The PMOS transistor connects to the supply voltage V DD , while the NMOS connects to ground. The input voltage V IN controls both gates, and the output voltage V OUT is taken from the connected drains. CMOS inverters are highly energy-efficient and produce minimal heat due to their comple...

Decision Feedback Equalizer (DFE) in MATLAB

  MATLAB Code M = 4; % QPSK numSymbols = 10000; numTrainingSymbols = 5000; chtaps = [1 0.5*exp(1i*pi/6) 0.1*exp(-1i*pi/8)]; % Generate QPSK symbols data = randi([0 M-1], numSymbols, 1); tx = pskmod(data, M, pi/4); % DFE setup eq = comm.DecisionFeedbackEqualizer; eq.ReferenceTap = 1; eq.NumForwardTaps = 5; eq.NumFeedbackTaps = 3; % SNR sweep snrVec = 0:5:25; % 0,5,10,...25 dB berBefore = zeros(size(snrVec)); berAfter = zeros(size(snrVec)); for k = 1:length(snrVec) % Apply channel and AWGN rx = awgn(filter(chtaps,1,tx), snrVec(k), 'measured' ); % BER before equalization rxDataNoEq = pskdemod(rx, M, pi/4); [~, berBefore(k)] = biterr(data, rxDataNoEq); % Equalize [y,~,~] = eq(rx, tx(1:numTrainingSymbols)); % Phase correction phaseOffset = angle(mean(conj(tx(1:numTrainingSymbols)) .* y(1:numTrainingSymbols))); yCorrected = y * exp(-1i*phaseOffset); % BER after equalization rxDataEq = pskdemod(yCorrected, M, pi/4); [...

Superheterodyne Receiver Online Simulator

Superheterodyne Receiver Simulator Simulation Controls Message Frequency (Hz): Carrier Frequency (Hz): Intermediate Frequency (Hz): Sampling Frequency (Hz): Simulation Duration (s): Run Simulation Signal Plots Numerical Values (first 10 samples) Superheterodyne Receiver Workflow The superheterodyne receiver converts a received RF signal to an intermediate frequency (IF) to simplify filtering and amplification, and finally recovers the original message signal. Steps: Input Message Signal: A low-frequency signal m(t) (e.g., sine wave). RF Modulation (AM): The message modulates the carrier with amplitude modulation: RF(t) = [1 + K_a * m(t)] * cos(2π f_c t) Mixing with Local Oscillator (LO): The RF signal is multiplied by a local oscillator LO(t) = cos(2π f_LO t) to produce: IF(t) = RF(t) * LO(t) Intermediate Frequency Filtering: A low-pass filter extracts t...

UGC NET Electronic Science Previous Year Question Papers with Solutions

Download Papers and Solutions Exam Pattern Preparation Tips FAQs More Home / Engineering & Other Exams / UGC NET 2026 PYQ 📊 Exam Highlights: Electronic Science (88) Feature Details Junior Research Fellowship (JRF) ₹37,000 + HRA per month Eligibility M.Sc/M.Tech in Electronics (55%) Validity of Certificate JRF (3 Years) | Lectureship (Lifetime) 📥 Download UGC NET Electronics PDFs Complete collection of previous year question papers, answer keys and explanations for Subject Code 88. Start Downloading 📂 View All Question Papers June 2026 - Question Paper Download PDF June 202...

Design of CMOS Flip-Flops (SR, D, JK)

Design of CMOS Flip-Flops (SR, D, JK) A flip-flop or latch is a circuit with two stable states, used to store state information. It is the basic storage element in sequential logic and a fundamental building block in digital electronics systems, including computers and communication devices. Flip-flops and latches act as data storage elements for states, pulse counting, and synchronization of variably-timed input signals to a reference clock. Flip-flops can be transparent/opaque (latches) or clocked (synchronous, edge-triggered). Latches are level-sensitive, while flip-flops are edge-sensitive. In sequential logic, the output depends on current inputs and previous states. Fig.1 shows a sequential circuit combining a combinational block and a memory element. ...

Flat vs Frequency Selective Online Simulator

Flat vs Frequency Selective Online Simulator Channel Type Without Fading Flat Fading Multipaths Nakagami m SNR(dB) Run Simulation Input Signal Signal After Fading Constellation Diagram BER vs SNR Explore Advanced Flat vs Frequency-Selective Fading Simulator Want to see these equations in action? Visualize it. Launch Simulator Tool Flat Fading and Frequency-Selective Fading Effects of Multipath Components and the Nakagami-m Parameter 1. Flat Fading Flat fading occurs when the signal bandwidth is smaller than the channel's coherence bandwidth, meaning that all frequency components of the transmitted signal experience approximately the same fading. It is typically associated with narrowband signals, where the multipath delay spread is small relative to the symbol duration. ...

MUSIC Algorithm Explained (with MATLAB + Simulator)

Practical Implementation of the MUSIC Algorithm The focus is on how the algorithm works computationally , not just theory, and it explains the denominator (a H E n E n H a) mathematically and intuitively. 1. Introduction The MUSIC (Multiple Signal Classification) algorithm is a high-resolution method used in signal processing and array processing to estimate the Direction of Arrival (DOA) of signals received by a sensor array. Unlike classical beamforming methods, MUSIC uses eigenvector decomposition of the covariance matrix to separate the signal subspace and noise subspace , allowing it to achieve much higher angular resolution. In practical implementations, MUSIC works by: Simulating or collecting array signals Computing the covariance matrix Performing eigenvalue decomposition Separating signal and noise subspaces Scanning possible angles using a steering vector Constructing a pseudo-spectrum where peaks indicate signal directions 2. Signal Mo...

MATLAB code for BER vs SNR for M-QAM, M-PSK, QPSK, BPSK (with Simulation)

🧮 MATLAB Code for BPSK, M-ary PSK, and M-ary QAM Together 🧮 MATLAB Code for M-ary QAM 🧮 MATLAB Code for M-ary PSK 📚 Further Reading MATLAB Script for BER vs. SNR for M-QAM, M-PSK, QPSK, BPSK % Written by Salim Wireless clc; clear; close all; snr_db = -5:2:25; psk_orders = [2, 4, 8, 16, 32]; qam_orders = [4, 16, 64, 256]; ber_psk_results = zeros(length(psk_orders), length(snr_db)); ber_qam_results = zeros(length(qam_orders), length(snr_db)); for i = 1:length(psk_orders) ber_psk_results(i, :) = berawgn(snr_db, 'psk', psk_orders(i), 'nondiff'); end for i = 1:length(qam_orders) ber_qam_results(i, :) = berawgn(snr_db, 'qam', qam_orders(i)); end figure; semilogy(snr_db, ber_psk_results(1, :), 'o-', 'LineWidth', 1.5, 'DisplayName', 'BPSK'); hold on; for i = 2:length(psk_orders) semilogy(snr_db, ber_psk_results(i, :), 'o-', 'DisplayName', sprintf('%d-PSK', psk_or...