Dirty Paper Coding (DPC) is a precoding strategy where a transmitter, with prior knowledge of interference, subtracts that interference from the signal before transmission without increasing transmit power. This counter-intuitive result, proven by Max Costa in 1983, shows that the capacity of a channel corrupted by known additive Gaussian interference is identical to the capacity of a clean channel with no interference.
Glossary
Dirty Paper Coding (DPC)

What is Dirty Paper Coding (DPC)?
Dirty Paper Coding is a theoretical precoding technique that achieves the capacity region of a MIMO broadcast channel by pre-subtracting known, non-causally known interference at the transmitter.
In a MIMO broadcast channel, DPC is applied sequentially to eliminate inter-user interference. The transmitter encodes the first user's signal, then treats it as known interference for the second user, pre-subtracting it via DPC. This process, known as successive encoding, achieves the full capacity region of the downlink, making DPC the theoretical gold standard against which practical linear precoding schemes like Block Diagonalization are benchmarked.
Key Characteristics of Dirty Paper Coding
Dirty Paper Coding (DPC) is a non-linear precoding technique that achieves the capacity region of the MIMO broadcast channel by pre-subtracting known interference at the transmitter without increasing transmit power.
Interference Pre-Subtraction
The core mechanism of DPC involves the transmitter applying a pre-subtraction operation to the intended signal. By using knowledge of Channel State Information (CSI), the transmitter encodes the message such that the known interference from other users' signals is effectively canceled out before transmission. This is analogous to writing on a dirty sheet of paper where the writer knows the exact location and color of the dirt stains and can adjust the ink accordingly, making the message perfectly legible to a reader who does not know where the dirt is.
Capacity-Achieving Strategy
DPC is the optimal transmission strategy for a Gaussian MIMO broadcast channel. It achieves the sum-rate capacity region, meaning no other coding scheme can provide a higher total data rate. This is a fundamental result in information theory, proven by Max Costa in 1983. The technique demonstrates that, counter-intuitively, interference known non-causally to the transmitter does not reduce the channel's capacity at all.
Costa's Writing on Dirty Paper
The concept originates from Costa's seminal paper, which established the mathematical equivalence between a point-to-point channel with known interference and a standard interference-free AWGN channel. Key implications:
- No power penalty: The transmit power required is the same as if the interference did not exist.
- Non-causal knowledge: The transmitter must know the interfering signal perfectly before encoding.
- Receiver blindness: The receiver does not need to know the interference structure to decode its message.
Successive Encoding (DPC Ordering)
In a multi-user MIMO setting, DPC is implemented via a successive encoding process. Users are ordered, and the signal for each subsequent user is encoded by treating the signals of all previously encoded users as known, non-causally available interference. This process is the dual of Successive Interference Cancellation (SIC) at the receiver. The encoding order critically impacts the achievable rates for individual users, allowing for rate balancing.
Practical Implementation via Tomlinson-Harashima Precoding
True Costa-style DPC requires infinite-length, random codebooks, making it unrealizable in practice. The most common practical approximation is Tomlinson-Harashima Precoding (THP). THP replaces the complex binning scheme with a simple modulo arithmetic operation at the transmitter and receiver. This non-linear technique effectively constrains the transmit signal power while pre-canceling interference, offering a significant performance gain over linear precoding like Zero-Forcing.
Vector Perturbation Techniques
Another class of practical DPC implementations involves vector perturbation. The transmitter adds a carefully chosen, integer-valued perturbation vector to the data symbols before linear precoding. This perturbation shapes the transmitted signal to minimize the power penalty associated with channel inversion. Finding the optimal perturbation vector is a closest lattice point search problem, solvable via sphere encoding algorithms, and approaches the theoretical DPC capacity for large constellations.
DPC vs. Linear Precoding Techniques
A comparison of Dirty Paper Coding against common linear precoding methods for MIMO broadcast channels, highlighting interference management, computational complexity, and capacity achievement.
| Feature | Dirty Paper Coding (DPC) | Zero-Forcing (ZF) | Block Diagonalization (BD) |
|---|---|---|---|
Interference Management | Pre-subtracts known interference at transmitter without power penalty | Forces interference to zero via channel inversion | Projects each user's signal into null space of all other users' channels |
Capacity Achievement | Achieves full MIMO broadcast channel capacity region | Suboptimal; suffers from noise enhancement at low SNR | Achieves full multiplexing gain asymptotically but suboptimal at finite SNR |
Nonlinear Processing | |||
Requires Full CSI at Transmitter | |||
Computational Complexity | Prohibitively high; requires successive encoding and sphere shaping | Low; simple matrix pseudo-inverse computation | Moderate; requires SVD and null space computation per user |
Practical Implementability | Theoretical construct only; no practical code construction exists | Widely deployed in 4G/5G closed-loop spatial multiplexing | Implemented in MU-MIMO Wi-Fi (802.11ac/ax) and LTE-A |
Noise Enhancement | No noise enhancement; interference cancellation is information-theoretic | Significant noise enhancement in ill-conditioned channels | No noise enhancement; avoids channel inversion |
Power Allocation Requirement | Optimal power allocation via water-filling over encoded interference order | Uniform or heuristic power allocation; not capacity-optimal | Water-filling across eigenmodes after null space projection |
Frequently Asked Questions
Clear, technical answers to the most common questions about the theory, implementation, and practical limitations of Dirty Paper Coding in MIMO broadcast channels.
Dirty Paper Coding (DPC) is a theoretical precoding strategy that achieves the capacity region of a MIMO broadcast channel by pre-subtracting known, non-causally available interference at the transmitter without increasing transmit power. The technique is named after an analogy by Max Costa: writing on a piece of paper that has 'dirt' (interference) already on it. If the writer knows exactly where the dirt is, they can arrange the ink marks so that a reader who only sees the paper (without knowing the dirt pattern) can still read the message perfectly. In a wireless context, the 'dirt' is inter-user interference caused by signals intended for other users. Because the transmitter knows all data streams and the Channel State Information (CSI), it can encode each user's signal in a way that pre-cancels the interference that will be experienced at the unintended receivers. This is achieved through a binning strategy, where the transmitter selects a codeword that is jointly typical with the known interference sequence, effectively aligning the interference with the transmitted signal. The result is that each receiver decodes its message as if no interference existed, achieving the full sum-rate capacity of the broadcast channel.
Enabling Efficiency, Speed & Accuracy
Intelligent Analysis, Decision & Execution
We build AI systems for teams that need search across company data, workflow automation across tools, or AI features inside products and internal software.
Talk to Us
Search across company data
Give teams answers from docs, tickets, runbooks, and product data with sources and permissions.
Useful when people spend too long searching or get different answers from different systems.

Automate internal workflows
Use AI to route work, draft outputs, trigger actions, and keep approvals and logs in place.
Useful when repetitive work moves across multiple tools and teams.

Add AI to products and internal tools
Build assistants, guided actions, or decision support into the software your team or customers already use.
Useful when AI needs to be part of the product, not a separate tool.
Related Terms
Understanding Dirty Paper Coding requires familiarity with the core MIMO precoding and interference management techniques that define the capacity limits of multi-user broadcast channels.
Zero-Forcing (ZF) Precoding
A linear precoding strategy that serves as a practical, sub-optimal alternative to DPC. ZF eliminates multi-user interference by forcing the product of the channel matrix and precoding matrix to be diagonal. Unlike DPC, ZF does not exploit the known interference structure and suffers from noise enhancement at low SNR, making it capacity-lossy compared to the DPC benchmark.
Successive Interference Cancellation (SIC)
The receiver-side dual of DPC. While DPC pre-cancels interference at the transmitter using Costa's writing-on-dirty-paper logic, SIC decodes and subtracts interference iteratively at the receiver. The uplink-downlink duality principle proves that the capacity region achieved by SIC in the uplink is identical to the DPC region in the downlink broadcast channel.
Block Diagonalization (BD)
A non-linear precoding technique for MU-MIMO that constrains each user's precoding matrix to lie in the null space of all other users' channels. BD completely eliminates inter-user interference without the sequential encoding complexity of DPC, but it requires a strict antenna constraint: the transmitter must have at least as many antennas as the sum of all receivers' antennas.
Tomlinson-Harashima Precoding (THP)
A practical, implementable approximation of DPC that replaces the theoretical sphere-shaping operation with a modulo arithmetic operation at both transmitter and receiver. THP uses a feedback filter to cancel known interference and a modulo operator to constrain transmit power, achieving near-DPC performance without the exponential complexity of random binning codes.
Vector Perturbation Precoding
A technique that improves upon linear precoding by adding a perturbation vector to the data symbols before transmission. The perturbation is chosen to minimize the transmit power penalty of ZF precoding. This approach approaches the DPC sum-rate in the high-SNR regime and is often interpreted as a finite-alphabet approximation of the Costa precoding principle.

About the author
Prasad Kumkar
CEO & MD, Inference Systems
Prasad Kumkar is the CEO & MD of Inference Systems and writes about AI systems architecture, LLM infrastructure, model serving, evaluation, and production deployment. Over 5+ years, he has worked across computer vision models, L5 autonomous vehicle systems, and LLM research, with a focus on taking complex AI ideas into real-world engineering systems.
His work and writing cover AI systems, large language models, AI agents, multimodal systems, autonomous systems, inference optimization, RAG, evaluation, and production AI engineering.
Partnered with leading AI, data, and software stack.
How We Work
Custom AI workflows for your Business
One-fit-all AI don't work for modern businesses. At Inferensys, we aim to understand your business & custom requirements; which we use to define most efficient agentic workflows, the data, and the tools for your business.
01
Review the use case
We understand the task, the users, and where AI can actually help.
Read more02
Pick the right approach
We define what needs search, automation, or product integration.
Read more03
Build the first useful version
We implement the part that proves the value first.
Read more04
Improve from there
We add the checks and visibility needed to keep it useful.
Read moreThe first call is a practical review of your use case and the right next step.
Talk to Us