540 likes | 669 Views
An Easy-to-Decode Network Coding Scheme for Wireless Broadcasting. Ho Yuet Kwan (CityU, CUHK - INC) Joint work with K. Shum(CUHK - INC) and Chi Wan (Albert) Sung (CityU). Contents. Abstract Background System model Generation of encoding vectors and its complexity
E N D
An Easy-to-Decode Network Coding Scheme for Wireless Broadcasting Ho Yuet Kwan (CityU, CUHK - INC) Joint work with K. Shum(CUHK - INC) and Chi Wan (Albert) Sung (CityU)
Contents Abstract Background System model Generation of encoding vectors and its complexity Performance evaluation Conclusion
Abstract We propose an easy-to-decode network coding scheme to offer reliable wireless broadcasting. Based on feedback, our scheme generates the encoding vectors that are sparse enough to make the decoding process much simpler. The delay performance of our scheme in binary cases is comparable to that of the Random Linear Network Coding (RLNC) scheme with a large finite field size, but requires less decoding operations.
Background In wireless broadcasting, a set of packets is broadcast to all receivers in wireless channels. Due to channel erasure, some packets would be lost. Retransmissions are required. A trivial way is to retransmit the whole set again. Linear network coding provides an excellent solution to the wireless broadcasting problem in terms of channel utilization (transmit less).
A trivial way P1 P2 P3 P1 P2 P3 P1 P2 P3 Users may have different erasure patterns P1 P2 P3 P1 P2 P3 P1 P2 P3 P1 P2 P3 U1 6 packets are transmitted for all users to receive the intact file P1 P2 P3 S P1 P2 P3 U2 U3 P1 P2 P3
With Linear Network coding P* P* P* P* P* P* P1 P2 P3 P1 P2 P3 P1 P2 P3 Where P* = P1 + P2 + P3 P* : header tells how we encode a packet P1 P2 P3 Only 4 packets are transmitted for all users to receive the intact file! U1 S U2 U3
Terminology X P* x = Encoding vector P = Packet vector Encoded packet a header contains an encoding vector x: A header tells decoders how we encode a packet. An encoding vector shows the coefficients for linearly combining the source packets to form an encoded packets . e.g. If P* = P1 + P2 + P3
An innovative packet An encoded packet is innovative to a user if the corresponding encoding vector is linearly independent of all the encoding vectors already received by that user. (The packet only brings new information to that user) If an encoded packet is innovative, it is innovative to all users. (The packet brings new information to all)
An innovative packet X2 X3 X2 X1 Xa P2* Pa* P2* P3* P1* Packets received by U1 with x1 = [ 1 0 0 ] and x2 = [ 0 1 0 ] Packets received by U2 with x2 = [ 0 1 0 ] and x3 = [ 0 0 1 ] A new packet received by U1 and U2 with xa = [ 1 1 1 ] A new packet received by U1 and U2 with xa = [ 0 1 1 ] xa is linearly independent of x1, x2 and x3 xa is innovative to U1 only! xa is innovative! e.g. xa is not innovative!
Previous work Binary encoding vector Encoding vector with large finite field size Fountain codes (Luby 2002) Without feedback Random Linear Network Code (RLNC) (Heide et al. (2009)) Random Linear Network Code (RLNC) (Heide et al. (2009) etc.) Lu et al. (2010) Durvy et al. (2007) With feedback The Cofactor Method The Cofactor Method Many of them put less emphasis on reducing the decoding complexity.
Challenges If all the encoded packets are innovative, the total number of packet transmissions for all users to receive all packets can be minimized. How to generate innovative packets? How to generate innovative packets so that we can decode them easily?
System model A broadcasting system: A transmitter Sand K receivers: where A complete file is packetized into N equal-size packets. Assume all wireless channels are independent erasure channels with probability of erasure . A perfect feedback channel is provided for each receiver.
System model A file is broadcast to all receivers in two phases: No No Retransmission Phase Initial Phase All finished? All finished? Yes Yes End
Initial Phase S broadcasts N source packets (uncoded) one by one. An acknowledgement (ACK) is sent when a receiver finds that a received packet is innovative to itself. If sends an ACK to S, the corresponding encoding vector will be added to its encoding matrix at S. Encoding matrix stores innovative encoding vectors received so far by .
Initial Phase Rank( ) = N e.g. For , received all packets except the 3rd and the 5th packet. After the initial phase, the encoding matrix at S would be
Retransmission Phase S bases on all current , generate an encoding vector and the encoded packet. An ACK is sent when a receiver finds that an encoded packet is innovative to itself. If sends an ACK to S, will be added to its encoding matrix at S. (Updating at S) Only the innovative encoding vector will be added to S repeats the above until all users finish receiving all packets.
Generation of encoding vectors If every encoded packet is innovative in retransmission phase, the number of retransmissions can be minimized. Objective: Given and all encoding matrices , generate an encoding vector that is innovative.
Single-user case Objective: Given and an encoding matrix , generate an encoding vector that is innovative to one user .
Single-user case All rows in are linearly independent. Assume that there are linearly independent rows in , where . Given the encoding matrix , S is looking for that is linearly independent of all row vectors in .
Basic Idea Our idea is based on the fact that, given a matrix, its row rank = its column rank. Given q = 2 and we have an encoding matrix with 3 linearly independent rows:
Basic Idea We can always find 3 linearly independent columns and mark those 3 columns first.
Basic Idea To find such that is linearly independent of all rows of . Append to the bottom of to form
Basic Idea X If we can find such that we have 4 linearly independent columns in, then is linearly independent of all row vectors in and
Basic Idea Now looking for 4 linearly independent columns in Select columns in according to the same chosen column indices in .
Basic Idea Choose an arbitrary columns from the rest in together with the chosen columns to form (we want 4 columns)
Basic Idea We form in this way because we can have the first 3 rows are linearly independent. For to have 4 linearly independent rows, it only depends on the choices of
Basic Idea If we can find such that contains 4 linearly independent rows then contains 4 linearly independent rows too. ( is a submatrix of )
Basic Idea Observe that is a square matrix, all rows in are linearly independent iff its determinant . can be expressed in terms of If we can solve for , then is linearly independent of all rows in .
Basic Idea We “transform” our problem of linear independence into solving a linear inequality.
Single-user case can be expressed by the Laplace expansion on the last row of : where is the cofactor of
Single-user case Find such that Solve for , where q = 2 Possible sol. : What about ? Source of sparsity
Single-user case • Random Linear Network code scheme is not likely to generate a sparse encoding vector. Each encoding matrix (not empty , rank <N) has its corresponding determinant inequality.
General case Objective: Given and all encoding matrices , generate an encoding vector that is innovative. i.e. generate a common that satisfies linear simultaneous determinant inequalities:
General case There are many ways to solve the problems. We may have many possible solutions. We prefer a solution that has more zero entries. Fewer additions and multiplications are needed in the decoding process. We apply the steps shown in single user case and propose the cofactor method to solve the problem.
The cofactor method Consider q = 5, K = 4 and N = 5 Find a common that satisfies the following determinant inequality set:
The cofactor method Arrange the 4 inequalities in the following manner: each column contains only one unknown put the inequality whose largest unknown index is the smallest one among the whole inequality set to the top and so on…
The cofactor method Pay attention to the unknown with the largest index in each inequality
The cofactor method Those unknowns are to be determined, while for the rest, we are free to set them to zero (source of sparsity).
The cofactor method For the first inequality, we can set
The cofactor method For the second inequality, is the remaining unknown, also no other inequality contains only we can solve the second inequality and get
The cofactor method q = 5 For the third inequality, is the remaining unknown, it is also the case for the fourth inequality. We solve for the two simultaneous inequality and get
The cofactor method • So we have that satisfies all inequalities: • We summarized the above idea and develop so called the cofactor method.
The cofactor method If , the cofactor method guarantees that the encoding vector so generated is always innovative. If , may not have a solution in general. Our method will still output an encoding vector by setting the unknowns to zero, but it may not be innovative. It can be shown that the total complexity of the cofactor method is .
Performance A file is packetized into 32 packets. ( ) Erasure channel is assumed. ( ) The worse case delay: The average of total number of transmissions for S to ensure that all users receive an intact file over 1000 random realizations. The average delay : The average number of transmissions for S so that an intact file can be received by a user.
Performance For the decoding complexity, we count the number of additions and multiplications in decoding. An addition operation involving two non-zero operands is counted. A multiplication operation is counted when none of the two operands is 1 or 0.