Convolutional Network Coding -
Key Concepts
Introduction to Convolutional Network
Coding
• Used for data transmission in cyclic networks with unit-delay model.
• Each channel transmits one symbol per time unit (discrete time).
• Ensures no information loops despite network cycles.
• Modeled using z-transform to capture time delay as power series.
• Key constructs: Local Encoding Kernels (k), Global Encoding Kernels (f).
Definition of Convolutional Network Code
• Local kernel k_{d,e}(z): Defines how input d affects output e over time.
• Global kernel f_e(z): Represents total effect from source to channel e.
• Equation: f_e(z) = z * Σ k_{d,e}(z) * f_d(z)
• Rational power series ensures causality and finite memory.
Example 20.7 - Network Setup
• Nodes: s (source), x, y, w; Channels: s→x, s→y, x→y, y→w, w→x.
• Local Kernels: K_s = I, K_x = K_y = [1 1]^T, K_w = [1].
• Feedback loop: x → y → w → x creates a cycle.
Example 20.7 - Solving the Loop
• Recursive equations built due to cycle.
• f_{x,y}(z) = z * (f_{s,x}(z) + f_{w,x}(z))
• f_{w,x}(z) = z * f_{y,w}(z), f_{y,w}(z) = z * (f_{s,y}(z) + f_{x,y}(z))
• Solving: f_{x,y}(z) = (z^2 * a(z) + z^4 * b(z)) / (1 - z^3)
The Convolutional Network Code Existence
Theorem
• Let F be the base field and kd,e(z) ∈ Fhzi be given for every adjacent pair
of channels (d, e) on a unit-delay network. Then there exists a unique ω-
dimensional convolutional network code over F with kd,e(z) as the local
encoding kernel for every (d, e).
• Given local kernels, there exists a unique global convolutional code.
• Matrix form: [f(z)] = z * H_s(z) * (I - zK(z))^-1
• Guarantees causal, rational, and implementable network behavior.
• Captures full system behavior using local node rules only.
Decoding in Convolutional Coding
• • Each node receives a linear combination of
transmitted signals.
• • Decoding possible when sufficient maxflow
exists to the node.
• • There exists a decoding matrix Dₜ(z) for such
nodes.
• • Goal: Recover original source message x(z)
from received signals.
Viterbi Algorithm for Decoding
• Purpose: Find the most likely input bit sequence given
a received noisy encoded bitstream.
• Steps:
• 1. Build a trellis diagram representing all possible
state transitions.
• 2. Compute branch metrics using Hamming distances.
• 3. Maintain path metrics for each state.
• 4. Use traceback to find the most probable input
sequence.
Viterbi Algorithm – Visual Example
Summary
• • Convolutional network coding enhances
communication in dynamic and cyclic
networks.
• • Decoding relies on sufficient maxflow and
decoding matrices.
• • Viterbi algorithm provides a reliable method
to decode convolutional codes.