DMC Channel Capacity Calculator

ECE 420 · Wireless Communications · NC State University — Discrete Memoryless Channel

Background: A discrete memoryless channel (DMC — a channel whose output at each use depends only on the current input, not on past inputs/outputs) is fully described by a transition probability matrix P(Y|X) that gives the probability of each output symbol given each input symbol. The mutual information I(X;Y) = H(Y) − H(Y|X) (H = Shannon entropy, in bits) measures how much information the channel conveys per use for a given input distribution P(X), and the channel capacity C = maxP(X) I(X;Y) is the largest rate achievable with vanishing error probability. Except for a few special cases (like symmetric channels, where uniform input is optimal), finding the capacity-achieving input distribution requires an iterative numerical method such as the Blahut–Arimoto algorithm.

Description of This Web Application: Configure the number of input and output symbols and their transition probabilities directly (or load a BSC [Binary Symmetric Channel], BEC [Binary Erasure Channel], or symmetric-channel preset), and watch the channel diagram, transition-matrix heatmap, and information-theoretic quantities update live. The app reports the mutual information for whatever input distribution P(X) you currently have set, alongside the true channel capacity and its optimal input distribution, computed via Blahut–Arimoto. You will learn how to read a transition matrix, how mutual information depends on your choice of input distribution, and how capacity is found even when the optimal input isn't simply uniform.

Channel Configuration

Transition Probabilities P(Y|X)

Current Input Distribution P(X)

Example Channels

Channel Diagram arrow ∝ P(y|x)
Transition Matrix P(Y|X)rows=X, cols=Y
Step-by-Step Math