Title: Network Coding: Basic Theory
1Network Coding Basic Theory
- Raymond W. Yeung
- The Chinese University of Hong Kong
2Springer, 2008 Preprint available
at http//iest2.ie.cuhk.edu.hk/whyeung/book2/
3Outline
- Introduction
- Linear Network Coding Acyclic Networks
- Linear Network Codes
- Existence and Construction
- Generic Network Codes
- Random Network Coding
- Linear Network Coding Cyclic Networks
- Convolutional Network Codes
- Decoding of Convolutional Network Codes
4Introduction
5Multicast vs Broadcast
- Broadcast
- One-to-many communication without specific
receiver addresses - Multicast
- One-to-many communication with specific receiver
addresses
6What is Network Coding?
- The traditional approach (store-and-forward) to
multicasting is to find an multicast tree in the
network. - The nodes acting as switches that route and/or
replicate information. - Network coding is a theory which changes the way
we think of transmitting information in a network.
7What is Network Coding?
- In the paradigm of network coding, nodes can
encode information received from the input links
before it is transmitted on the output links. - Switching is a special case of network coding.
8Butterfly Network I
9Advantage of Network Coding
- 9 instead of 10 bits need to be transmitted in
order to multicast 2 bits. - If only 1 bit can be transmitted from node 3 to
node 4, only 1.5 bits on the average can be
multicast.
10An Network Coding Example with Two Sources
11Butterfly Network II
12Wireless and Satellite Communications
- A node is a broadcast node by the nature of
wireless/satellite communication. - At a node
- all the output channels have the same capacity
- the same symbol is sent on each of the output
channels.
13A Graph-Theoretic Representation
14Butterfly Network II Revisited
t2
t1
15Wireless/Satellite Application
50 saving for downlink bandwidth!
16Two Themes of Network Coding
- When there is 1 source to be multicast in a
network, store-and-forward may fail to optimize
bandwidth. - When there are 2 or more independent sources to
be transmitted in a network (even for unicast),
store-and-forward may fail to optimize bandwidth. - In short, Information is NOT a commodity!
17Why Surprising?
- Classical information theory (C.E. Shannon, 1948)
tells us that for point-to-point communication,
all information can ultimately be represented as
independent (i.i.d.) bits through data
compression. - Independent bits cannot be further compressed
commodity.
18Why Surprising?
- The folklore was that the commodity view for
information continues to apply in networks. - For a long time, processing of information at the
intermediate nodes in a network for the purpose
of transmission has not been considered.
19Applications of Network Coding
- Computer Networks
- Wireless/Satellite Communications
- Distributed information storage/dissemination
(P2P) - Network Error Correction
- Secure Network Transmission
- Mathematics Matroid, Polynomial Equations, Ring
- Quantum Information
- Biology
20Single-Source Linear Network Coding
21Model of a Point-to-Point Network
- A network is represented by a graph G (V,E)
with node set V and edge (channel) set E. - A symbol from an alphabet F can be transmitted on
each channel. - There can be multiple edges between a pair of
nodes.
22Single-Source Network Coding
- The source node s generates an information vector
- x (x1 x2 x?) ? F?.
- What is the condition for a node t to be able to
receive the information vector x?
23Max-Flow Min-Cut Theorem
- Consider a graph G (V,E).
- There is a source node s and a sink node t in set
V. - A cut in the graph G is a partition of the node
set V into two subsets V1 and V2 such that s is
in V1 and t is in V2. - The capacity of a cut is the total number of
edges across the cut from V1 to V2.
24Max-Flow Min-Cut Theorem
- The max-flow from s to t, denoted by maxflow(t),
is the maximum rate at which a fluid (e.g.,
water) can flow from s to t provided that the
rate of flow in each edge does not exceed 1 and
the flow conserves at each node. - By the Max-Flow Min-Cut Theorem, maxflow(t) is
equal to the minimum value of the capacity of a
cut in G.
25The Max-Flow Bound
- What is the condition for a node t to be able to
receive the information vector - x (x1 x2 x?) ?
- Obviously, if maxflow(T) lt ?, then t cannot
possibly receive x.
26The Basic Results
- If network coding is allowed, a node t can
receive the information vector x iff - maxflow(t) k
- i.e., the max-flow bound can be achieved
simultaneously by all such nodes t. (Ahlswede et
al. 00) - Moreover, this can be achieved by linear network
coding for a sufficiently large base field. (Li,
Y and Cai, Koetter and Medard, 03).
27Linear Network Codes
28Acyclic Networks
- The following type of networks is considered
- Cycle-free.
- There is only one information source in the whole
network, generated at the node s. - Transmission is assumed to be instantaneous.
- The max-flow bound can be achieved by linear
network coding to different extents.
29Upstream-to-Downstream Order
- The nodes of an acyclic graph can be ordered in
an upstream-to-downstream order (ancesterol
order). - When the nodes encode according to such an order,
whenever a node encodes, all the information
needed would have already been received on the
input channel of that node.
30Example
s
An upsteam-to-downstream order S, 2, 1, 3, 4,
t2, t1
1
2
3
4
t2
t1
31Notation
- Let F be a finite field.
- The information source generates a vector
- x (x1 x2 x?) in F?.
- The value of the max-flow from s to a node t is
denoted by maxflow(t). - In(t) denotes the set of edges incoming at t.
- Out(t) denotes the set of edges outgoing from t.
- By convention, we install ? imaginary channels
ending at the source node s.
32Local Description
- A pair (d,e) of channels is called an adjacent
pair if there exists a node t with d ? In(t) and
e ? Out(t). - Definition 19.6. An ?-dimensional linear network
code on an acyclic network consists of a scalar
kd,e, called the local encoding kernel, for every
adjacent pair of channels (d,e). - The local encoding kernel at the node t refers to
the In(t)?Out(t) matrix Kt
kd,ed?In(t),e?Out(t).
33Local Description (cont.)
- Let ye be the symbol sent on the channel e.
- The local input-output relation at a node t is
given by - ye ?d?In(t) kd,e yd
- for all e ? Out(t), i.e., an output symbol from
t is a linear combination of the input symbols at
t.
34Linear Mapping
- Let f F? (row vector) ? F. If f is linear, then
there exists a column vector a ? F? such that - f(x) xa
- for all row vectors x ? F?.
35Global Encoding Kernel
- Given the local description, the code maps the
information vector x to each symbol ye sent on
the channel e. - Obviously, such a mapping is linear.
- Therefore, ye xfe for some column vector fe ?
F?. - The vector fe, called the global encoding kernel
for the channel e, is like a transfer function. - Analogous to a column of a generator matrix of a
block code.
36Global Description
- Definition 19.7.
- An ?-dimensional linear network code consists of
- a scalar kd,e for every adjacent pair of channels
(d,e) - an ?-dimensional column vector fe for every
channel e - such that
- fe ?d?In(t) kd,e fd for e ? Out(t).
- The vectors fe corresponding to the ? imaginary
channels e ? In(s) form the standard basis of the
vector space F?.
37- The global description of a linear network code
incorporates the local description. - The relation fe ?d?In(t) kd,e fd for e ? Out(t)
- says that the global encoding kernel of an
output channel at t is a linear combination of
the global encoding kernels of the input channels
at t. - From this, we have
- ye xfe x(?d?In(t) kd,e fd)
- ?d?In(t) kd,e (xfd)
- ?d?In(t) kd,e yd
- as in the local description.
38Example
39This shows the same network with the local
encoding kernels being indeterminates.
40Desirable Properties of a Linear Network Code
- Definition 19.12. An ?-dimensional linear network
code qualifies as a - Linear multicast
- dim(Vt) ? for every non-source node t with
maxflow(t) ? ?. - Linear broadcast
- dim(Vt) min?, maxflow(t) for every
non-source node t. - Linear dispersion
- dim(VT) min?, maxflow(T) for every
collection T of non-source nodes. - Notation Vt ?fe e ? In(t)? VT ??t?T Vt?
41Linear Multicast
- For every node t, if maxflow(t) ?, then t
receives the whole vector space so that the
information vector x can be recovered. - If maxflow(t) lt ?, possibly no useful information
can be recovered. - A linear network code may not be a linear
multicast.
42Linear Broadcast
- For every node t, if maxflow(t) ?, then t
receives the whole vector space so that the
information vector x can be recovered. - If maxflow(t) lt ?, then t receives maxflow(t)
dimensions, but which dimensions to be received
is not guaranteed. - A linear broadcast is stronger than a linear
multicast.
43Application of Linear Broadcast
- A natural extension of linear multicast
- Can be useful for multi-rate network coding (Fong
and Y 06)
44Linear Dispersion
- For every collection of nodes T, if maxflow(T)
?, then T receives the whole vector space so that
the information vector x can be recovered. - If maxflow(T) lt ?, then T receives maxflow(t)
dimensions. - A linear dispersion is stronger than a linear
broadcast.
45Application of Linear Dispersion
- A collection of nodes, each of which has maxflow
lt ?, can be pooled together to receive the whole
information vector x. - Facilitates network expansion.
46- Not multicast
- Multicast but not broadcast
- Broadcast but not dispersion
- dispersion
47Example
- The linear network code in the next slide is a
linear dispersion regardless of the choice of the
field F. - Hence, it is also a linear broadcast and a linear
multicast.
48(No Transcript)
49Example
- The more general linear network code in the next
slide is a linear multicast when - ftw and fuw are linearly independent.
- fty and fxy are linearly independent.
- fuz and fwz are linearly independent.
- Equivalently, the criterion says that s, t, u, y,
z, nr ? pq, and npsw nrux ? pnsw ? pquw are all
nonzero. - The network code in the previous slide is the
special case with n r s t u v w x
y z 1 and p q 0.
50(No Transcript)
51Implementation of Linear Network Codes
- The global encoding kernels must be known at a
sink node, which can be delivered on the fly (Ho
et al. 2003) - Consider using the same linear network code n gt ?
times. - Send an identity matrix through during the
first ? time slots. - Very similar to fountain code.
- If n gtgt ?, the overhead is small.
52Implementation of Linear Network Codes
Notation F? fee??
53Existence and Construction
54The Effect of Field Size
- To construct a linear network code with desirable
properties, the field F often needs to be
sufficient large. - When the field size is small, certain polynomial
equations are unavoidable. E.g., zp - z 0 for
all z ? GF(p). - The next slide shows a network on which there
exists a ternary linear multicast but not a
binary linear multicast. - This is similar to the construction of a
Vandermonde matrix.
55(No Transcript)
56Lemma 19.17
- Let g(z1, z2, , zn) be a nonzero polynomial
with coefficients in a field F. If F is greater
than the degree of g in every zj, then there
exist a1, a2, , an ? F such that - g(a1, a2, , an) ? 0.
- Proof By induction on n and invoke the fact that
an nth degree polynomial cannot have more than n
roots in any field (unique factorization).
57Existence of Linear Multicast
- Theorem 19.20 (Koetter-Medard 03)
- There exists a linear multicast on an acyclic
network for sufficiently large base field F.
58Example
- Refer to the next slide.
- Lw, Ly, and Lz are the matrices of the global
encoding kernels received at nodes w, y, and z,
resp. - Clearly, det(LW), det(LY), det(LZ) are not the
zero polynomial, or equivalently, - P(n,p,q,) det(LW)det(LY)det(LZ)
- is not the zero polynomial.
- When F is sufficiently large, by Lemma 19.17, it
is possible to assign the global encoding kernels
so that P(n,p,q,) is not evaluated to 0.
59(No Transcript)
60Proof of Theorem 19.20
- Let the local encoding kernels be indeterminates
and from them determine the global encoding
kernels accordingly. - For any node t such that maxflow(t) ?, there
exist ? edge-disjoint paths connecting the ?
imaginary channels in In(s) to t. - Let Lt be the matrix of the global encoding
kernels of the channels of these paths ending at
t. - Claim det(Lt) is not the zero polynomial.
61- Set the local encoding kernels to emulate the
routing of ? symbols from s to t. - With these settings of the local encoding
kernels, Lt is evaluated to the ??? identity
matrix and det(Lt) is evaluated to 1. - Therefore, det(Lt) cannot be the zero polynomial.
- Consider ?Tmaxflow(t)? det(Lt), which is not
the zero polynomial. - For a sufficient large base field F, it is
possible to set the local encoding kernels so
that this polynomial is not evaluated to 0. - The feasible local encoding kernels can in
principle be found by exhaustive search over the
base field F, but not in polynomial time.
62Random Network Coding(Ho et al.)
- If F is very large, by choosing the local
encoding kernels randomly from F, most likely the
linear network code is a linear multicast and can
be decoded. - Code construction can be done independent of the
network topology.
63Random Network Coding
- Advantage
- Useful when the network is unknown, e.g., mobile
ad hoc network (MANET). - Disadvantage
- Need to use a large base field.
- Need to use the code repeatedly.
64Jaggi-Sanders Algorithm
- Deterministic construction of linear multicast.
- The field size needs to be at least ?, the number
of sink nodes. - The complexity is proportional to E?.
- It is clear that if F is very large, a linear
multicast can be constructed with very high
probability by randomly picking the global
encoding kernels.
65- Two edge-disjoint paths to Y
- PY,1 e1 e3 e5
- PY,2 e2 e4 e8e9 e10
- Two edge-disjoint paths to Z
- PZ,1 e1 e3 e7e9e11
- PZ,2 e2 e4 e6
- Initialization
- eY,1 e1, eY,2 e2, eZ,1 e1, eZ,2 e2.
- fe10 1T, fe21 0T.
- fei0 0T, i3,4, ,11.
e1
e2
S
e3
e4
T
U
e7
e8
W
e9
e5
e6
X
e11
e10
Y
Z
66- fe10 1T
- fe21 0T
- fe30 0T
- fe40 0T
- fe50 0T
- fe60 0T
- fe70 0T
- fe80 0T
- fe90 0T
- fe100 0T
- fe110 0T
- fe10 1T
- fe21 0T
- fe30 1T
- fe40 0T
- fe50 0T
- fe60 0T
- fe70 0T
- fe80 0T
- fe90 0T
- fe100 0T
- fe110 0T
- fe10 1T
- fe21 0T
- fe30 1T
- fe41 0T
- fe50 0T
- fe60 0T
- fe70 0T
- fe80 0T
- fe90 0T
- fe100 0T
- fe110 0T
- fe10 1T
- fe21 0T
- fe30 1T
- fe41 0T
- fe50 1T
- fe60 0T
- fe70 0T
- fe80 0T
- fe90 0T
- fe100 0T
- fe110 0T
- fe10 1T
- fe21 0T
- fe30 1T
- fe41 0T
- fe50 1T
- fe60 0T
- fe70 1T
- fe80 0T
- fe90 0T
- fe100 0T
- fe110 0T
- fe10 1T
- fe21 0T
- fe30 1T
- fe41 0T
- fe50 1T
- fe61 0T
- fe70 1T
- fe80 0T
- fe90 0T
- fe100 0T
- fe110 0T
- fe10 1T
- fe21 0T
- fe30 1T
- fe41 0T
- fe50 1T
- fe61 0T
- fe70 1T
- fe81 0T
- fe90 0T
- fe100 0T
- fe110 0T
- fe10 1T
- fe21 0T
- fe30 1T
- fe41 0T
- fe50 1T
- fe61 0T
- fe70 1T
- fe81 0T
- fe91 1T
- fe100 0T
- fe110 0T
- fe10 1T
- fe21 0T
- fe30 1T
- fe41 0T
- fe50 1T
- fe61 0T
- fe70 1T
- fe81 0T
- fe91 1T
- fe101 1T
- fe111 1T
eY,1eZ,1e1
eY,2eZ,2e2
e1
e2
S
e3
e4
eY,1eZ,1e3
eY,2eZ,2e4
eZ,1e3
eY,2e4
T
U
eY,2e8
e7
eZ,1e7
e8
W
e9
eY,2eZ,1e9
e5
e6
eY,1e5
eZ,2e6
X
eZ,1e11
eY,2e10
e11
e10
Y
Z
67Construction of Linear Broadcast
- For a non-source node t, if maxflow(t) lt ?,
install a new node t with ? incoming channels. - Among the ? incoming channels, maxflow(t) of them
come from t, while the others come from t. - Construct a linear multicast on the expanded
graph.
68Construction of Linear Dispersion
- For a collection of non-source nodes T, install a
new node uT. - For each node t in T, install maxflow(t) channels
from node t to node uT. - Obviously, maxflow(uT) maxflow(T).
- Construct a linear broadcast on the expanded
graph. - The complexity can be exponential, even for a
fixed ?, since there are 2N-1 subsets of nodes.
69Generic Network Code
- Definition. An ?-dimensional linear network code
on an acyclic network is said to be generic if
for every collection of channels ? ? E, if - ? min?,maxflow(?)
- then fe,e ? ? are linearly independent.
- The global encoding kernels of a generic network
code is as linearly independent as possible. - Generic network code ? Linear dispersion ? Linear
broadcast ? Linear multicast
70Generic Network Code (cont.)
- Can be constructed by deterministic algorithm.
- The field size needs to be at least
- The complexity is proportional to
- Random coding can be done for large F.
71A Linear Dispersion not Generic
72Network Coding vs Algebraic Coding
73A Linear Multicast
- A message of k symbols from a base field F is
generated at the source node s. - A k-dimensional linear multicast has the
following property A non-source node t can
decode the message correctly if and only if - maxflow(t) ? k.
- By the Max-flow bound, this is also a necessary
condition for a node t to decode (for any given
network code). - Thus the tightness of the Max-flow bound is
achieved by a linear multicast, which always
exists for sufficiently large base fields.
74An (n,k) Code with dmin d
- Consider a (n,k) classical block code with
minimum distance d. - Regard it as a network code on an
- combination network.
- Since the (n,k) code can correct d-1 erasures,
all the nodes at the bottom can decode.
75The Combination Network
s
n
n-d1
n-d1
76- For the nodes at the bottom,
- maxflow(t) n-d1.
- By the Max-flow bound,
- k ? maxflow(t) n-d1
- or d ? n-k1, the Singleton bound.
- Therefore, the Singleton bound is a special case
of the Max-flow bound for network coding. - An MDS code is a classical block code that
achieves tightness of the Singleton bound. - Since a linear multicast achieves tightness of
the Max-flow bound, it is formally a network
generalization of an MDS code.
77Applications of Random Network Coding in P2P
78What is Peer-to-Peer (P2P)?
- Client-Server is the traditional architecture for
content distribution in a computer network. - P2P is the new architecture in which users who
download the file also help disseminating it. - Extremely efficiently for large-scale content
distribution, i.e., when there are a lot of
clients. - P2P traffic occupies at least 70 of Internet
bandwidth. - BitTorrent is the most popular P2P system.
79What is Avalanche?
- Avalanche is a Microsoft P2P prototype that uses
random linear network coding. - It is one of the first applications /
implementations of network coding by Gkantsidis
and Rodriguez 05. - It has been further developed into Microsoft
Secure Content Distribution (MSCD). - A similar system has been built for UUSee.com.
80How Avalanche Works?
- When the server or a client uploads to a
neighbor, it transmits a random linear
combination of the blocks it possesses. The
linear coefficients are attached with the
transmitted block. - Each transmitted block is some linear combination
of the original blocks of the seed file. - Download is complete if enough linearly
independent blocks have been received, and
decoding can be done accordingly.
81The Butterfly Network A Review
Synchronization here
82What Exactly is Avalanche Doing?
- In Avalanche, there does not seem to be any need
for synchronization. - Is Avalanche doing the same kind of network
coding we have been talking about? - If not, what is it doing and is it optimal in any
sense?
83A Time-Parametrized Graph
84Analysis of Avalanche(Y, NetCod 2007)
- The time-parametrized graph, not the physical
network, is the graph to look at. - By examining the maximum flows in this graph, the
following questions can be answered - When can a client receive the whole file?
- If the server and/or some clients leave the
system, can the remaining clients recover the
whole file? - If some blocks are lost at some clients, how does
it affect the recovery of the whole file?
85Some Remarks
- Avalanche is not doing the usual kind of random
network coding. - It can be analyzed by the tools we are familiar
with. - Avalanche minimizes delay with respect to the
given transmission schedule if computation is
ignored. - Extra computation is the price to pay.
- Avalanche provides the maximum possible
robustness for the system. - P2P is perhaps the most natural environment for
applying random network coding because the subnet
is formed on the fly.
86Networks with Packet Loss A Toy Example
- One packet is sent on each channel per unit time.
- Packet loss rate 0.1 on each channel.
- By using a fountain code, information can be
transmitted from A to C at rate (0.9)2 0.81. - By using a fountain code with decoding at B,
information can be transmitted from A to C at
rate 0.9, but much delay is incurred.
87- By using an Avalanche-type system, information
can be transmitted from A to C at rate - 0.9 max-flow
- from A to C.
- Why?
88An Explanation
?
?
?
?
?
?
89Networks with Packet Loss
- By using an Avalanche-type system, the max-flow
from the source to the sink (amortized by the
packet loss rate) can be achieved automatically,
which is the fundamental limit. - Virtually nothing needs to be done.
- Remark Avalanche has a clear advantage only
there is no link-by-link feedback.
90Single-Source Linear Network Coding
91Unit-Delay Cyclic Networks
- We consider the following type of networks
- There may be directed cycles. It may not be
possible to order the nodes in an
upstream-to-downstream manner. - There is only one information source generated at
the node s. - There is a unit-delay at each node to avoid
information looping.
92Formal Power Series
- In a formal power series (z-transform)
- c0 c1z c2z2
- z is a dummy variable should not be regarded as
a real or complex number. - The power j in zj represents discrete time.
- The power series should be regarded as nothing
but a representation of the sequence c0, c1, c2,
93Rational Power Series
- Important Properties
- The denominator has a constant term, so the
function can be expanded into a power series by
long division. - If p(z) is not the zero polynomial, the inverse
function - exists.
- If p(z) contains the factor z, the inverse
function is not a power series.
94Algebraic Structures
- Fz - The ring of power series over F
- F?z? - The ring of rational power series over F
- F?z? is a subring of Fz.
95Example
- If z is complex, for z lt 1, we can write
- If z is a dummy variable, we can always write
96- In this sense, we say that 1-z is the reciprocal
of 1zz2z3 and write - 1zz2z3 can be obtained by dividing 1 by 1-z
using long division.
97Information Source
- At each discrete time t 0, the information
source generates a row vector - xt ( x1,t, x2,t, , x?,t ),
- where each symbol xi,t is in some finite field
F. - For 1 i ?, the pipeline of symbols xi,0,
xi,1, xi,2, can be conveniently represented by
a formal power series - Xi(z) xi,0 xi,1 z xi,2 z2
- So the information source can be represented by
- x(z) ( x1(z) x2(z) x?(z) ).
-
98Global Description
- Definition 20.6.
- An ?-dimensional convolutional network code on a
unit-delay network consists of - an element kd,e(z) ? F?z? for every adjacent pair
of channels (d,e) - an ?-dimensional column vector fe(z) ? F?z?? for
every channel e - such that
- fe(z) z ?d?In(T) kd,e(z) fd(z) for e ? Out(t).
- for the ? imaginary channels in In(S), the
vectors fe(z) form the standard basis of the
vector space F?.
99Global and Local Encoding Kernels
- fe(z) is the global encoding kernel for the
channel e - kd,e(z) is the local encoding kernel for the
adjacent pair (d,e). - The local encoding kernel at node t refers to the
In(t)?Out(t) matrix - KT(z) kd,e(z)d?In(T),e?Out(T).
100Input-Output Relation
- Let ye(z) be the power series representing the
pipeline of symbols transmitted on channel e,
given by x(z) fe(z). - Then for e ? Out(t),
- ye(z) x(z) fe(z)
- x(z) z ?d?In(T) kd,e(z) fd(z)
- z ?d?In(T) kd,e(z) x(z) fd(z)
- z ?d?In(T) kd,e(z) yd(z)
- In other words, an output power series is the sum
of the convolutions between an input power series
with the corresponding local encoding kernels,
with a unit delay.
101Example
102Existence of Convolutional Network Code
- The equation
- fe(z) z ?d?In(T) kd,e(z) fd(z)
- gives the relation between the global encoding
kernels and the local encoding kernels. - In time domain, it becomes the convolutional
equation - fe,t ?d?In(T) (?0?ultt kd,e,u fd,t?1?u)
- for all t gt 0, allowing the global encoding
kernels to be computed from the local encoding
kernels.
103A Trellis Network
104Existence of Convolutional Network Code(cont.)
- For any given local encoding kernels kd,e, fe
can be calculated recursively. So, fe ? Fz?
for all e. - By definition, the vectors fe need to be in
F?z? in order to be qualified as global encoding
kernels. This is necessary for the purpose of
decoding. - The next theorem shows that this is indeed the
case.
105Existence of Convolutional Network Code(cont.)
- Theorem 20.9
- Let kd,e(z) ? F?z? be given for every adjacent
pair of channels (d,e) on a unit-delay network.
Then there exists a unique ?-dimensional
convolutional network code with kd,e(z) as the
local encoding kernel for every (d,e).
106Proof of Theorem 20.9
- Let fe(z) be the ??E matrix formed by putting
all the global encoding kernels in juxtaposition
(excluding the ? imaginary channels). - Let kd,e(z) be the E?E matrix whose (d,e)th
component is equal to kd,e(z) if (d,e) is an
adjacent pair, and is equal to 0 otherwise. - Let HS(z) be the ??E matrix formed by appending
E -Out(s) columns of zeros to the local
encoding kernel Ks(z). - The columns of these matrices are assumed to
indexed by some upstream-to-downstream order.
107- Then
- fe(z) z fe(z) kd,e(z) z HS(z).
- so that
- fe(z) z det(IN z kd,e(z))-1 HS(z) A(z),
- where A(z) is the adjoint matrix of
- IN z kd,e(z).
- Therefore the global encoding kernels can be
expressed in closed-form in terms of the local
encoding kernels (in frequency domain). - Moreover, it is seen that fe(z) are in F?z?,
i.e., they are rational. If not, decoding may
not be possible.
108Convolutional Multicast
- Definition 20.10.
- An ?-dimensional convolutional network code
qualifies as an ?-dimensional convolutional
multicast if - For every non-source node t with maxflow(t) ? ?,
there exists an In(t)?? matrix Dt(z) over F?z?
and a positive integer t such that - fe(z)e?In(t)Dt(z) zt I?,
- where decoding delay t depends on the node t.
The matrix Dt(z) is called the decoding kernel at
node t.
109Lemma 20.12
- Let g(y1, y2, , ym) be a nonzero polynomial
with coefficients in a field F. For any subset
E of F, if E is greater than the degree of g
in every yj, then there exist a1, a2, , an ? E
such that - g(a1, a2, , am) ? 0.
- Remark This is a generalization of Lemma 19.17.
110Existence of a Convolutional Multicast
- Theorem 20.13.
- There exists an ?-dimensional convolutional
multicast over any base field F. Furthermore,
the local encoding kernels of the convolutional
multicast can be chosen in any sufficiently large
subset F of F?z?.
111Existence of a Convolutional Multicast(cont.)
- Theorem 20.13 says that the local encoding
kernels can, for example, be chosen in - a sufficiently large finite field F
- the set of all binary polynomials up to a
sufficiently large degree. - Proof of Theorem 20.13 is analogous to the proof
of Theorem 19.20 (linear multicast).