Network Coding: Basic Theory - PowerPoint PPT Presentation

1 / 111
About This Presentation
Title:

Network Coding: Basic Theory

Description:

The traditional approach (store-and-forward) to multicasting is to find an ... Useful when the network is unknown, e.g., mobile ad hoc network (MANET). Disadvantage ... – PowerPoint PPT presentation

Number of Views:324
Avg rating:3.0/5.0
Slides: 112
Provided by: whye1
Category:

less

Transcript and Presenter's Notes

Title: Network Coding: Basic Theory


1
Network Coding Basic Theory
  • Raymond W. Yeung
  • The Chinese University of Hong Kong

2
Springer, 2008 Preprint available
at http//iest2.ie.cuhk.edu.hk/whyeung/book2/
3
Outline
  • 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

4
Introduction
5
Multicast vs Broadcast
  • Broadcast
  • One-to-many communication without specific
    receiver addresses
  • Multicast
  • One-to-many communication with specific receiver
    addresses

6
What 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.

7
What 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.

8
Butterfly Network I
9
Advantage 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.

10
An Network Coding Example with Two Sources
11
Butterfly Network II
12
Wireless 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.

13
A Graph-Theoretic Representation
14
Butterfly Network II Revisited
t2
t1
15
Wireless/Satellite Application
50 saving for downlink bandwidth!
16
Two 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!

17
Why 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.

18
Why 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.

19
Applications 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

20
Single-Source Linear Network Coding
  • Acyclic Networks

21
Model 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.

22
Single-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?

23
Max-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.

24
Max-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.

25
The 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.

26
The 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).

27
Linear Network Codes
28
Acyclic 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.

29
Upstream-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.

30
Example
s
An upsteam-to-downstream order S, 2, 1, 3, 4,
t2, t1
1
2
3
4
t2
t1
31
Notation
  • 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.

32
Local 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).

33
Local 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.

34
Linear 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?.

35
Global 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.

36
Global 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.

38
Example
39
This shows the same network with the local
encoding kernels being indeterminates.
40
Desirable 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?

41
Linear 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.

42
Linear 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.

43
Application of Linear Broadcast
  • A natural extension of linear multicast
  • Can be useful for multi-rate network coding (Fong
    and Y 06)

44
Linear 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.

45
Application 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

47
Example
  • 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)
49
Example
  • 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)
51
Implementation 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.

52
Implementation of Linear Network Codes
Notation F? fee??
53
Existence and Construction
54
The 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)
56
Lemma 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).

57
Existence of Linear Multicast
  • Theorem 19.20 (Koetter-Medard 03)
  • There exists a linear multicast on an acyclic
    network for sufficiently large base field F.

58
Example
  • 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)
60
Proof 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.

62
Random 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.

63
Random 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.

64
Jaggi-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
67
Construction 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.

68
Construction 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.

69
Generic 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

70
Generic 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.

71
A Linear Dispersion not Generic
72
Network Coding vs Algebraic Coding
73
A 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.

74
An (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.

75
The 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.

77
Applications of Random Network Coding in P2P
78
What 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.

79
What 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.

80
How 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.

81
The Butterfly Network A Review
Synchronization here
82
What 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?

83
A Time-Parametrized Graph
84
Analysis 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?

85
Some 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.

86
Networks 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?

88
An Explanation
?
?
?
?
?
?
89
Networks 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.

90
Single-Source Linear Network Coding
  • Cyclic Networks

91
Unit-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.

92
Formal 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,

93
Rational 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.

94
Algebraic 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.

95
Example
  • 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.

97
Information 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) ).

98
Global 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?.

99
Global 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).

100
Input-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.

101
Example
102
Existence 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.

103
A Trellis Network
104
Existence 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.

105
Existence 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).

106
Proof 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.

108
Convolutional 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.

109
Lemma 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.

110
Existence 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?.

111
Existence 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).
Write a Comment
User Comments (0)
About PowerShow.com