PubTeX output 2008.10.15:1140 - IEEE Xplore

Report 9 Downloads 120 Views
5188

IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 54, NO. 11, NOVEMBER 2008

[8] A. P. Dempster, N. M. Laird, and D. B. Rubin, “Maximum likelihood estimation from incomplete data via the EM algorithm,” J. Roy. Statist. Soc. B, vol. 39, pp. 1–38, 1977. [9] J. Fritz, “An information-theoretical proof of limit theorems for reversible Markov processes,” in Trans. Sixth Prague Conf. Inf. Theory, Statist. Dec. Functions, Random Processes, Prague, 1973. [10] A. E. Gelfand and A. F. M. Smith, “Sampling-based approaches to calculating marginal densities,” J. Amer. Statist. Assoc., vol. 85, pp. 398–409, 1990. [11] S. Geman and D. Geman, “Stochastic relaxation, Gibbs distributions, and the Bayesian restoration of images,” IEEE Trans. Pattern Anal. Machine Intell., vol. 6, pp. 721–741, 1984. [12] P. Harremoës and K. K. Holst, “Convergence of Markov chains in information divergence,” J. Theoret. Prob., 2008, to be published. [13] J. Liu, W. H. Wong, and A. Kong, “Correlation structure and convergence rate of the Gibbs sampler for various scans,” J. Roy. Statist. Soc. B, vol. 57, pp. 157–169, 1995. [14] X. L. Meng and D. A. van Dyk, “The EM algorithm—An old folk song sung to a fast new tune,” J. Roy. Statist. Soc. B, vol. 59, pp. 511–567, 1997. [15] X. L. Meng and D. A. van Dyk, “Seeking efficient data augmentation schemes via conditional and marginal augmentation,” Biometrika, vol. 86, pp. 301–320, 1999. [16] H. L. Royden, Real Analysis, 3rd ed. New York: Macmillan, 1988. [17] M. J. Schervish and B. P. Carlin, “On the convergence of successive substitution sampling,” J. Computat. Graph. Statist., vol. 1, pp. 111–127, 1992. [18] M. A. Tanner and W. H. Wong, “The calculation of posterior distributions by data augmentation,” J. Amer. Statist. Assoc., vol. 82, pp. 528–540, 1987. [19] L. Tierney, “Markov chains for exploring posterior distributions,” Ann. Statist., vol. 22, pp. 1701–1727, 1994. [20] D. A. van Dyk and X. L. Meng, “The art of data augmentation,” J. Computat. Graph. Statist., vol. 10, pp. 1–111, 2001. [21] Y. Yu, Information Geometry and the Gibbs Sampler Dept. of Statistics, University of California, Irvine, CA, Tech. Rep., 2008. [22] Y. Yu and X. L. Meng, Espousing Classical Statistics With Modern Computation: Sufficiency, Ancillarity and an Interweaving Generation of MCMC Dep. Statistics, University of California, Irvine, CA, Tech. Rep., 2008.

On the Bit Error Probability of Noisy Channel Networks With Intermediate Node Encoding Ming Xiao, Member, IEEE, and Tor Aulin, Fellow, IEEE Abstract—We investigate the calculation approach of the sink bit error probability (BEP) for a network with intermediate node encoding. The network consists of statistically independent noisy channels. The main contributions are, for binary network codes, an error marking algorithm is given Manuscript received August 25, 2006; revised February 29, 2008. Current version published October 22, 2008. The material in this correspondence was presented in part at the IEEE International Symposium on Information Theory, Seattle, WA, July 2006. M. Xiao was with the Department of Computer Science and Engineering, Chalmers University of Technology, Sweden. He is now with ACCESS Linnaeus Center, Royal Institute of Technology, Stockholm 10044, Sweden (e-mail: [email protected]). T. Aulin is with the Department of Computer Science and Engineering, Chalmers University of Technology, Sweden (e-mail: [email protected]). Communicated by S. W. McLaughlin, Associate Editor for Coding Techniques. Color versions of Figures 2, 3, and 5 in this correspondence are available online at http://ieeexplore.ieee.org. Digital Object Identifier 10.1109/TIT.2008.929917

to collect the error weight (the number of erroneous bits). Thus, we can calculate the exact sink BEP from the channel BEPs. Then we generalize the approach to nonbinary codes. The coding scheme works on the Galois field 2 , where is a positive integer. To reduce computational complexity, a subgraph decomposition approach is proposed. In general, it can significantly reduce computational complexity, and the numerical result is also exact. For approximate results, we discuss the approach of only considering error events in a single channel. The results well approximate the exact results in low BEP regions with much lower complexity.

m

Index Terms—Binary code, bit error probability, network coding, noisy channel, nonbinary code, subgraph decomposition.

I. INTRODUCTION The concept of network coding was first proposed in [1] to address the problem of network multicast capacity. After that, a lot of research has been carried out on network coding. One example of network coding is shown in Fig. 1. Two information bits (b1 and b2 ) are multicast from the source s to two sinks (y and z ). The requirement for the multicast scenario is that both sinks should receive both bits correctly. The capacity of all channels is one. Obviously, the traditional multicast approach with routing only cannot meet the requirement [1]. However, coding in the intermediate node w makes it feasible. In the sinks, decoding operations are performed to reproduce the information bits. The result of [1] shows that the network capacity is determined by its minimal-cut. In [2], linear network coding is well addressed. In [3], an elegant algebraic framework is established for network coding. Though original work on network coding assumes that the channels are error-free [1], network coding for erroneous channels has attracted more and more research interest. In [4], the concept of network error correction is proposed and theoretical limits are derived. In [5], it is shown that channel and network coding can be asymptotically separated for independent discrete memoryless channels (DMCs). A similar result is also shown in [6]. In [7], [8], network coding with DMCs is considered from an information theoretic point of view. The papers check by mutual information the rate benefit of intermediate node encoding and show that channel and network coding usually cannot be separated without loss of optimality. A similar result is also shown in [9] for the Aref network. In [10], a lower bound on the source alphabet size of the network correction code is addressed. In [11], streaming multicast with network coding is considered for the wireless relay network. In [12], the basic algebraic properties of network error correction codes are studied for various errors, e.g., random errors by channel noise, packet erasure due to traffic jam in networks, packets altered by malicious nodes. Readers are referred to [13] for more papers on network coding with noisy channels. Here we will investigate the error probability of a noisy channel network using network coding (coded network). Specifically, we will show how to calculate the sink bit error probability (BEP). The motivation for this work has both practical and theoretical sides. For a practical communication network, especially for a system with finite processing capability or finite processing delay, an error is inevitable due to channel noise. Error-free transmission in a noisy channel needs an infinite codeword length (and unlimited processing power and delay) [14]. This cannot be allowed in practice. The optimality of separation of network and channel codes is asymptotical [5], [6], i.e., it needs error-free channel codes, which use an infinite block length and unlimited processing capability (delay). In the intermediate node encoding and sink decoding process, noise disturbed transmitted symbols from different paths are mixed. Transmission errors might propagate (or cancel) by intermediate node encoding or sink decoding. For example, in Fig. 1, one bit error in channel

0018-9448/$25.00 © 2008 IEEE

IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 54, NO. 11, NOVEMBER 2008

Fig. 1. A network coding example. b and b are the information bits transmitted in the network. P (i = 1; . . . ; 9) is the bit error probability of channel e . denotes the modulo-2 addition operation.

8

will cause two bit errors after decoding of the sink y , and one bit error in channel e5 (or e6 ) will cause two bit errors in the sinks y and z . In a coding scheme with a large alphabet size, a bit of the channel error can propagate severely in the encoding or decoding process. For example, for the coding scheme in GF(23 ), the code operates on the group of 3 bits. Multiplied by 6, one bit error in the second bit of the three-bit group will propagate to all three bits (2 2 6 = 7 in GF(8)). Moreover, with the BEP constraint, some new design approaches can be considered. It can be, for instance, an optimal coding scheme to minimize the BEP [15], or optimal transmitted energy allocation with BEP constraints [16], etc. Thus, the BEP is one of the essential performance measures for a coded network with noisy channels. Next, theoretical aspects are considered. If we can calculate the exact sink error probability, it may help to investigate theoretical issues. For example, for the binary symmetry channel (BSC), the channel capacity is determined by its BEP [17]. For a coded network composed of BSC channels, the BEP may also help to understand the capacity from the source to sinks. Moreover, for a network with cascaded independent DMCs, optimization of the network capacity turns to minimizing the error probability [18]. A similar idea might apply to a coded network with the independent DMCs. The calculation of the source-to-sink BEP is the first step for this purpose. The organization of the correspondence is as follows. In Section II, we describe the network model. Then, we define the performance measure in Section III. In Section IV, we show the sink-BEP computation approach for binary coding schemes. In Section V, we generalize the approach to codes working on the Galois field (GF)2m , where m  1. Finally, we propose a reduced-complexity approach in Section VI. e3

II. NETWORK MODEL The network discussed here consists of one or more sources and sinks. We denote the network as G = hV ; E i, where V and E are the node set and the channel set, respectively. It is natural to describe the network with a directed graph [1]–[3]. The edges of the graph denote the channels of the network. The channels are noisy, memoryless and statistically independent. There might be channel codes. In this situation, the code symbols of network coding are encoded by channel codes, and then transmitted through noisy channels. In the examples, we assume channel noise as additive white Gaussian noise (AWGN) with a double-sided power spectral density (PSD) N0 =2 [19]. The received observable (time-discrete vector) at the end of a channel is Y

=

X

+n

(1)

5189

where X (Matrices and vectors are underlined in this correspondence) is the transmitted signal vector in signal space [19], and n is the additive noise vector. If channel codes are used, the observations from the channels are input to the channel decoders, and then the outputs from the channel decoder are used as network code symbols. Otherwise, the outputs from the channels (hard-decision) are directly used by network coding. The transmitted signal through the channels can be, for example, multiple phase shift-keying (MPSK), pulse amplitude modulation (PAM) or frequency shift keying (FSK), etc. Below, we will use binary phase shift-keying (BPSK) modulation to simplify the illustration. In a network, a single channel is usually one section of the multihop transmission path of a network. Due to noise, the detected data (or decoded symbols from channel decoders) at the end of a channel might differ from its input. This causes an undetected channel error. This channel error may eventually cause an erroneous bit reproduced in the sink. Here the reproduced bits are the output bits from sink decoders of network coding. The channel error occurs with a certain probability (channel error probability). Note that here we do not discuss the joint design of network and channel codes. In the transmitter side of a channel, network code symbols are first input to network encoder, and then to the channel encoder. At the receiver side, the received observations are first decoded by the channel decoders, and then sent to the network codes. Due to noise, the output symbols from the channel decoders can be changed to other values with certain probabilities. Thus, to the network codes, the code symbols are transmitted through DMCs, whether they are from the channel directly or from a channel decoder. In the sink, the output from the channel (or the channel decoders) are decoded (reproduced) by the network decoder. In addition to the above description, we make following assumptions: 1) The network is directed, acyclic and delay-free, 2) the coding scheme is linear and deterministic. By deterministic, we mean that the code has been set and remains unchanged during the transmission process, and 3) the network coding scheme is admissible, i.e., the sink can correctly reproduce source information if there is no channel error. III. ERROR PERFORMANCE MEASURE To quantify the error probability performance, we use the BEP in the sink. It is defined as the probability in which any information bit reproduced in the sink is erroneous. For convenience, we call it the sink BEP (or briefly BEP) to distinguish it from the channel BEP. We note that the BEP is a stronger measure than the probability of an error event, which is defined as the probability in which any error occurs [19]. As we will show, the computation of the BEP includes that for the probability of an error event. We assume that in each time unit, k information bits transmitted from the source. We use W to denote the sum of bits reproduced (decoded) in all sinks in one time unit. For the multicast network, different sinks normally receive overlapping information for the k source bits. Hence, k  W . For instance, in Fig. 1, k = 2 and W = 4. Due to the errors in the channels, part of these W bits might be different from the source. To compute the sink BEP, we define an error event c as follows. Definition 1: Channel error event: One or more channels having errors in the network. Briefly, we call it an error event. An error event c may cause wc (0  wc  W ) bit errors reproduced in the sinks. wc is the error weight (or just weight) of the event c. Again, it is the sum of error bits in all sinks. If the probability of the event is P (c), the BEP of the event is w P b (c) = P (c) W . Thus, the sink BEP can be calculated by adding the BEPs of all distinct error events, i.e. Pb

=

c2"

P b (c)

=

c2"

P (c)

wc W

(2)

5190

IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 54, NO. 11, NOVEMBER 2008

where " is the set of all distinct error events. The error events must be distinct for the equation to hold. Otherwise, the result is an upper bound ([19]–[22]) of the sink BEP. Note that this definition of the BEP is averaged over all sinks. Thus, it is a measure of the whole system. The motivation for us to use the sink BEP is that it actually denotes the quality of service (QoS) between the transmitters and the receivers, i.e., how reliable are the reproduced bits in the sinks? Do we have to improve the transmission approach? Also, the BEP constraint attracts more and more research effort for Ad Hoc wireless networks [23]–[26]. This might be one of the most attractive applications for network coding [27], [28]. We distinguish between a reproduced bit and a received bit for the sink. The latter is the bit received by the sink from the channels and it is to be sent to the decoder. The former is the output from the sink network decoding operation. In the notation of [3], the reproduced bits here are the output processes (for continuous transmission) of a sink. The received bits are the processes transmitted (and received) in the channels directly connected the sink. IV. BEP CALCULATION FOR BINARY CODES In this section, we will show how to calculate the sink BEP for binary codes. We separately consider binary coding schemes since they are the simplest one (compared to nonbinary schemes). We can temporarily skip complex operations (such as multiplication) from the high alphabet size scheme. We first show exact results with high complexity, and then give approximate results with low complexity. We note that though approximate results are easier to calculate and work well in most practical situations, the exact analysis still has important values. For instance, through exact analysis, we can know how much we lose from an approximation, and under what condition approximate results are reliable. Now we give a brief review of the BEP computation for traditional channel codes in a single channel, since part of our approaches are related to it.

errors (AE ) and error weight (wE ) [20], [21], [29], and [30]. Then, the channel BEP is calculated as

P

(3)

where I is the information vector. At the receiver side, the received vector (after hard-decision) is Y = C + e, where e 2 f0; 1gn is the error vector due to the channel noise. A maximum-likelihood decoder finds a codeword (C ) with the minimal Hamming distance to Y , and outputs the information vector (I ) corresponding to C . If I 6= I , then an error occurs. The Hamming distance between I and I is called error weight (we ). To compute the exact channel BEPs, we need to know all possible errors (E ), their probabilities (PE ), the number of

M

=

1

;e

0

0

2

;e

1



e ;e

0



e ;e e ;e



e ;e e ;e



e ;e e ;e



E

(4)

E

Equality holds if all E s are distinct. To the knowledge of the authors, there is no simple analysis approach to collect them (E; wE ; PE ; AE ) for most codes (at least for distinct E ). The analysis equations are only available for the probability of codeword errors for perfect codes (e.g., Hamming codes, repetition codes, and some Golay codes) [20]–[22], [29], [30]. Alternatively, one straightforward approach is to find all possible e, and calculate their probabilities and error weights (see [21], [22], [30] for block codes). The channel BEP is

P

e

w P (e) 2E k e

= e

(5)

where E is the set of all possible e, and P (e) is the probability of e. E can be collected by enumerating all component bits of e. w can e

be collected by performing decoding, since C is known, and then Y can be found. Thus, it is a brute-force approach. Equality holds since different e s are distinct (means distinct channel errors). Clearly, there are 2n 0 1 e s. The complexity is exponential in codeword length. The approaches above are for exact results. If only approximate results are needed, there are many less-complex methods to estimate the channel BEP. For instance, one needs only to consider the error events with the minimum distance. The results are normally good approximations in the medium-to-high SNR [20]–[22], [29]. B. Transfer Matrix

For a linear network code, the encoding and decoding process is well described by the transfer matrix in [3]. Now, we briefly review the transfer matrix, which denotes the relation between source information bits (or source random processes for continuous transmission) and sink reproduced bits (random processes). The transfer matrix can be evaluated as [3]

M

C =I 1G

E

E

A. Review of Channel BEP Calculation In general, the computation of BEPs (especially exact results) for channel codes is a quite difficult problem, even for short block codes with hard-decision decoding (see [20]–[22], [29], [30]). We assume that a block code with a generator matrix G is used. The code rate is k=n, i.e., k information bits and n coded bits. We assume that hard-decision decoding is used in the receiver. The codewords C are evaluated as

w A P : k



e

=

A1P 1B

(6)

where A is the coding matrix between the source information bits and the input to the edges connected to the source nodes (We call it the network input for convenience), B is the transfer matrix between the sink received bit and reproduced bits, and P is the transfer matrix between the network input and the sink received bits. The matrix B determines how the sinks reproduce information bits from the received bits. Thus, it can be regarded as the decoding matrix. For convenience, we call the matrix H = A 1 P the encoding matrix. The reproduced bits at the sinks are calculated as

Z = X 1 M:

(7)

See (8) at the bottom of the page. Here X and Z are source information bits (row vector) and sink reproduced bits (row vector), respectively. From (7), we can see that a row in M corresponds to a source bit and a column to a sink reproduced bit. A nonzero element (say ith row and j th column) in M means the ith source bit is transmitted to the j th reproduced bit (possibly with other

e ;e e ;e



e ;e e ;e



 e ;e e ;e



0 e ;e

1

e ;1

0

 

e ;2

0

0

e ;2

0

0

0

0

0

0

 

e ;1 e ;1



0 e ;2

:

(8)

IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 54, NO. 11, NOVEMBER 2008

bits). Thus, there is a logical path between the ith source bit and j th sink reproduced bit. Several logical path may share the same physical channel, if the intermediate node before this physical channel performs network coding. The transfer matrix for Fig. 1 is shown in (8). This 2 2 4 matrix denotes the relation between the two source bits and the four sink reproduced bits. In a transfer matrix, the indeterminate variables i;e , e ;e and e ;j are the coding variables with the same alphabet size as the code symbols. From [3], i;e denotes the linear relation between the ith source symbol and the transmission symbol in channel ej , and e ;e denotes the linear relation between the input symbol from channel ei and output symbol to channel ej in an intermediate node, and e ;j denotes the linear relation between the code symbols from channel ei and the j th output symbol (reproduced symbol here) in a sink. Due to limited space, we do not give any further introduction on the transfer matrix. Readers are referred to [3] for a more detailed description. C. Error Event and Probability Similar to the BEP computation of channel codes, we need to find all distinct error events with their probabilities and error weights. Then, (2) can be used to calculate the sink BEP. We have defined an error event c to occur when one or more channels have transmission errors. Every channel is in one of two states: having a transmission error or having no transmission error. Since channels are statistically independent, we can collect all distinct error events by enumerating the state of all channels. The probability of the event is the product of probabilities of each channel state. These events are distinct since the channels are statistically independent. For example, there are three statistically independent channels (e1 , e2 , e3 ) in a network. An error event c1 happens when e1 is erroneous and e2 , e3 are correct. Another error event c2 happens when e1 , e2 are erroneous and e3 is correct. c1 and c2 are two distinct error events, i.e., c1 and c2 cannot occur simultaneously. Now we compute the probability of the error event c. We assume jE j channels in the network. Since the channels are independent, the probability of the error event c is

P (c) = e

2E (c)

P

e

1

(1

e

2E nE(c)

0P

e

)

(9)

where Pe (i = 1; . . . ; jE j) is the BEP of the channel ei , and E (c) is the set of error channels for the event c. D. Sink Error Weight With the approach to collect all distinct error events and their probabilities, we need to calculate the sink error weight of an event. For this, we need to track how the errors from the channels of a network affect the received bits (in the intermediate node coding process and transmission process along multi-hop paths), and how they are linearly combined in decoding. Since the transfer matrix describes how the information bits are transmitted through the channels, and how they are encoded and decoded in a coded network, we can collect the error weight by marking the channel errors in the transfer matrix, and track the errors in reproduced bits. First, we define a symbol variable to mark and track channel errors. Definition 2: T : A symbolic variable used to denote a channel error bit. It follows the rules:

T 1T

=1

(10)

= 0:

(11)

and

T +T

5191

Equation (10) tells that two channel errors in the same path will cancel the transmitted error since the transmitted symbols are binary. The second transmitted error will change the error bit back to the correct one. Equation (11) means that two bit errors will cancel when they are added (XOR) into one bit. We use constants (0 or 1) to denote no error. When two error bits cancel in (10) or (11), 1, and 0 are identity elements ([20], [21]) of multiplication and addition, respectively. In a transfer matrix, a nonzero coding variable, e.g., e ;e , means an input from channel ei (including channel error) is sent to the output channel ej . If e ;e = 0, the input from channel ei is not sent to output channel ej . Thus

T 1

e ;e

=

T;

0;

e ;e

=1

e ;e

= 0.

(12)

The same principles apply to i;e and e ;j . Using T , an error marking algorithm is shown in Algorithm 4.1 to find the error weight in the sinks. The algorithm tracks how the channel errors affect the sink received bits and how the errors propagate in the decoding process. It determines if a reproduced bit is correct by forming the statistic for T . After decoding (multiplied by B ), there might be 1 + T . It denotes a correct bit added to an erroneous bit. Certainly, the result is an erroneous bit. Thus, we have 1+T =

T:

(13)

In the weight calculation, (13) is not mandatory, since we only count the number of T s. It is not affected by (13). Proposition 1: Algorithm 4.1 calculates the sink error weight for the error event of Definition 1. Proof: Apparently, the sink error weight for an error event can be calculated by checking all reproduced bits (correct or erroneous). This can be achieved by checking the sink received bits and how they linearly combine in the decoding process, since all errors in the sinks are originally from channel errors. Through the transfer matrix analysis, we know that a nonzero element in the encoding matrix H denotes a logical path between a source bit and a sink received bit. Several logic paths may share the same physical channels if the intermediate node encodes several inputs into one output. Since the code symbols are binary, the nonzero values of code variable are 1’s. Then, we only need to keep the channel marks to track the channel errors (and ignore the 1’s). Thus, through Step 1 to Step 3, we list all channels of logical paths from the source to the sink. For H with channel marks, one column shows how the channels affect one received bit. Since we assume acyclic networks, a channel error can only distort one sink received bit once. They can, of course, distort more than one sink received bit. Thus, in the algorithm, we only keep one channel mark for one channel in one column. Hence, in Step 4, we remove the redundant channel marks. The remaining channel marks in each column show how the physical channels (thus channel errors) affect one received bit. Note that the remaining channel mark can be kept in any logic path (any row), since if a received bit correct or not is only determined by odd or even number of the error mark T in each column of H . For the same reason, the cancellation of adding even bit errors is indicated for each received bit (even T s of a column in H denote no error, since the codes are binary). The cancellation of even error bits in the same multihop path are denoted by (10). The propagation of a bit error along a path is indicated by (12). Thus, the simplified H in Step 6 can track if a received bit is erroneous or correct, by counting the number of T s of each column: Odd T s mean an error and even T s denote no error.

5192

IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 54, NO. 11, NOVEMBER 2008

Algorthm 4.1: Error marking algorithm for calculating sink error weight 1: Initialization. Form the matrices A, P and B for the network codingscheme. All nonzero elements are temporarily kept as indeterminatevariables as in (8) 2: Calculate the encoding matrix H = A 1 P . 3: Mark channel. Replace the indeterminate variables ( i;e and e ;e ) in H with its second subscript, which denotes a channel. For example, e ;e is replaced by the channel symbol e3 . 4: Remove redundant channel symbols: For each column of the matrices H , if there are more than one symbols for any single channel (say e9 in the second column of (8)), only keep one symbol for this channel and remove all other symbols for this channel. 5: Mark error. For each column of the matrix H , if any channel is assumed to be erroneous in the error event, replace the channel symbol with T . Set all symbols for the assumed correct channels to 1s. 6: Calculation of H . Simplify H by using equations (10)–(13) 7: Calculation of M . Set all nonzero indeterminate variables in B to 1 and calculate M = H 1 B . Simplify M by equations (10)–(13). 8: Make decision for each reproduced bit. For each column of M , if there are a total of odd T s, then the reproduced bit corresponding to this column is erroneous, otherwise, it is correct. 9: Collect error weight and output results.

In the decoding process, no new channel errors occur. The decoding matrix B decides how the received bits linearly combine to form the sink reproduced bit. In decoding, an even number of error bits are cancelled by adding them, and one error bit adding one correct bit forms an error bit. These are described by (11)–(13). Thus, how the errors propagate and cancel in the decoding process are tracked by multiplying H with B under the rules (11)–(13). Finally, we can determine whether a reproduced bit is erroneous or correct by counting the number of T s for each column of M . Thus, Algorithm 4.1 calculates the sink error weight of the error event. Q.E.D. We use Fig. 1 for illustration. To simplify the illustration, we assume that all channels have the same SNR (This is not a requirement for the calculating procedure). First, we assume no channel code. Thus, the channel BEP is evaluated as [19]

P

e

=

Q(

2

1 E =N0 )

(14)

b

where the Q(1) function is the complementary Gaussian cumulative distribution function [19], Eb is the signal energy per network code bit. If we assume the channels e5 , e6 and e9 are erroneous and other six channels are correct, the probability of the event is P (e) = Pe3 (1 0 Pe )6 . Now we calculate the sink error weight. First, we replace the indeterminate variables in the encoding matrix with channel symbols

H=

e1 e3 e1 e5 e9 e7 e1 e5 e9 e8 0 : e2 e6 e2 e4 0 e2 e6

(15)

Then, the redundant channel marks in the same column are removed. Then we mark the error channels e5 , e6 and e9 with T . The encoding matrix becomes

H=

1 0

T 1T T 1T T T

0 1

:

(16)

Then we simplify (16) with (10)–(13) and set the nonzero elements in the decoding matrix B to 1s. Multiplying (16) with B , we get the transfer matrix as

M

=

1 0

0

1

T T

0 1

:

(17)

The second and the third column have one T . Thus, we can conclude that the reproduced bits b2 in the sink y and b1 in the sink z are erroneous for this event. The error weight is 2. Using a similar procedure, we can find all error events and their weights. Finally, the sink BEP is

P

b

8 7 6 5 2 4 3 = 4Pe P e + 16Pe P e + 40Pe P e + 68Pe P e 4 3 2 5 6 7 8 +68Pe P e + 40Pe P e + 16Pe P e + 4Pe P e

(18)

where P e = 1 0 Pe . From above analysis, we know that there are 2jE j 0 1 error events. To have exact results, we must consider them all. The complexity is quite high (a more detailed analysis will be given later). Yet, the probability of two or more channel errors is much smaller than that of the single channel error, if the channel BEPs are low. There are only jE j such error events. The computational complexity is greatly reduced. Thus, we can get approximate results by only considering the events with one channel error. For the above example, the approximate BEP by only considering single channel error is

P

b

 4P P 8 : e

(19)

e

Fig. 2 shows the calculated and simulation results. In the simulations, two bits (as b1 and b2 ) are continuously sent from the source s to sinks. At the end of each channel, the transmitted bits are detected from the noise disturbed BPSK signals. In node w , two input bits are encoded into one bit. In the sinks y and z , decoding is performed and the results are compared with the source bits. The simulation stops until a certain number of errors (say 100 000 bit errors) occur. In the abscissa, we use the SNR of a single channel. This does not limit the illustration since all channels are assumed to have the same SNR. From Fig. 2, we can see that the exact calculated result from (18) matches the simulation result very well. The two curves coincide in all BEP regions. The approximate result from (19) estimates the simulation result well for the medium-to-low channel BEP (roughly Pe < 1002 ). For high BEPs, the approximation loses accuracy. The simulation BEP is larger than the approximate since the ignored error events with two or more channel errors are significant in this region. Also, in the approximate results, we can see from Fig. 2 that the calculation accuracy improves as the channel condition improves (low BEP). This is analogous to conventional channel codes, for which the minimum distance becomes the dominating event as the channel condition improves. As we have discussed, the use of channel codes does not affect the sink BEP computation (though it affects the channel BEP). For the example in Fig. 1, we use the (7; 4) Hamming code for each channel. The generator matrix is ([30], [20])

G=

1

0

0

0

1

0

1

0

1

0

0

1

1

1

0

0

1

0

1

1

0

0

0

0

1

0

1

1

:

(20)

We choose this simple code since the exact channel BEP with harddecision maximum-likelihood decoding can be calculated as ([30], [20])

P

e

=

p2 (9 0 26p + 30p2 0 12p3 )

(21)

where p is the channel transfer probability, and it can be calculated as E = Q( 2 1 47 1 N ). Inserting (21) into (18), we can get the exact sink BEP. The numerical results are shown in Fig. 3. We can see that our approach can be used for a coded network with channel codes. From the above discussion on the exact BEP calculation, we can see that there is a similarity between the approach for the sink BEP and the calculation of the exact channel BEP for hard-decision decoding (see

p

IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 54, NO. 11, NOVEMBER 2008

Fig. 2. The simulated and calculated BEP for Fig. 1 E

=N

5193

is the signal-to-noise ratio of a single channel.

Fig. 3. The simulated and calculated BEP for Fig. 1 with (7; 4) Hamming codes as channel codes. E

(5) or [30], [20]). They both enumerate all possible errors in the channels, and then calculate the error weight. Yet, the approaches of evaluating the error weight are quite different. Essentially, this is due to one important difference between network coding and channel coding: Information symbols of network codes are transmitted through channels and then encoded. Thus, they might be distorted by channel noise before entering encoders (in intermediate nodes). Yet, for channel codes, the information symbols are not disturbed by channel noise before encoding. In the weight enumeration of traditional codes, we only need to add the channel errors to the codewords, and then decode to get the error weights [30], [20]. The codewords are found by multiplying the information symbols with G (see (3)). Yet, for network codes in noisy

=N

is the signal-to-noise ratio of a single channel.

channels, the codewords cannot be found in this way, due to distortion before encoding. Thus, we need to track the code symbols in the whole network of noisy channels: How the channel errors propagate and cancel in the encoding process or along the multihop paths. Our algorithm achieves this result. Specifically, we use (10)–(13) to track the error bits in the sink weight calculation. We also remove the redundant channel marks (Step 4 in Algorithm 4.1), to capture intermediate node encoding. There is also a similarity for approximate results between our approach and that for channel codes. They both only consider the error events dominant in the low BEP regions. For the sink BEP, single channel errors are the dominant events. For the channel BEP, the events with the minimum distance are dominant.

5194

IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 54, NO. 11, NOVEMBER 2008

sequentially. In the intermediate node m4 , the output symbols are encoded as a + 2b. The symbols transmitted in the channels e7 ; e8 ; e9 and e10 are shown in Fig. 4. Clearly, they are pairwise full-rank. Before being sent to the binary channels, each symbol is demapped into two bits. In the sink, the decoding operation is performed in GF(4). For example, in the sink t6 , two received symbols from channels e15 and e18 are r6;1 = a + b and r6;2 = a + 2b , respectively. Then, the decoding approaches are 2r6;1 + r6;2 = 2(a + b) + a + 2b = a , and r6;1 + r6;2 = a + b + a + 2b = b . B. Error Event Enumeration Similar to binary codes, the BEP calculation of nonbinary codes follows the steps of the error event enumeration and the weight calculation. An error event of nonbinary codes is also defined as one or more channels having transmission errors. To describe the transmission error of a channel, we make the following definition. Definition 2: Error symbol (Te ) from channel e : The difference (in GF(2m )) between the received symbol (Sr ) and the transmitted symbol (Sc ) for channel e, i.e. Fig. 4. A network coding scheme needs the alphabet size larger than 2. The and network code works in GF(4). a and b are the symbols in GF(4). a b (k = 1; . . . ; 6) are the reproduced bits of a and b in the sink k .

V. BEP CALCULATION FOR NONBINARY CODES A. Introduction We have shown the BEP computation of binary codes. For some network multicast scenarios, a high alphabet size is necessary to achieve min-cut capacity. Now we will generalize the BEP computation to nonbinary coding schemes. The approach still uses the procedure of channel error marking and tracking. Thus, the result of this section is a generalization from binary coding schemes. One example of network coding with a high alphabet size is shown in Fig. 4. This figure is a modified version of combination networks in [31]–[33]. In the figure, the sources s1 and s2 both have a sequence of information bits (denoted as ai and bi , i = 1; 2; . . . is the time index) to be multicast to six sinks (t1 ; . . . ; t6 ). Since the channels use BPSK modulation, one bit can be transmitted in one channel in each time interval. Here we assume again that no channel codes are used. There is no binary scalar network code meeting the multicast requirement: Each sink connects to two of the intermediate nodes m5 ; m6 ; m7 and m8 . During one time interval, each sink reproduces two source bits from two received channel bits, which come from two of intermediate nodes. Note that two bits per time interval for one sink is an averaged rate. Actually, it should be four bits every second time interval. Thus, information transmitted in the channels e7 ; e8 ; e9 and e10 must be pairwise full-rank. Here pairwise full-rank means that one bit (or a symbol for nonbinary codes) cannot produce another bit (symbol) by a linear transformation. Pairwise full-rank is impossible for a binary scalar coding scheme. For two information bits (ai and bi ), there are three possible pairwise full-rank combinations, i.e., ai , bi and ai + bi . Yet the maximal possible flow from the sources to each sink is two by the minimal-cut bound [31]–[33]. Thus, a higher alphabet size is necessary to achieve the maximal possible flow. One coding scheme is shown in the figure. For this network, we use the alphabet size four, i.e., GF(4). Though a ternary coding scheme can achieve maximal possible flow, we use GF(4) to adapt to the binary channels. Then, each code symbol (denote as a and b and ignore the time index) is mapped from two channel bits in a natural way. These two bits are received

Te

Sr + Sc :

(22)

Here we use addition instead of substraction since they are interchangeable in GF(2m ) [20], [21]. We call Te the channel error symbol. Since the code is in GF(2m ), the range of Te is 0; 1; . . . ; 2m 0 1. Te = 0 means no error. Using Te , an error event means one or more channels having nonzero Te . The probability of the event is the product of the probabilities of the channel states. The channel states are identified by the values of Te . One value of Te gives a state of the channel. Then, we can collect all distinct error events by enumerating the states of all channels in the network. The memoryless and independence assumption for the channels ensures the error events being distinct. The values and probabilities of Te are determined by the channel model and transmission scheme. There is no uniform approach. For example, if BPSK is used, one code symbol needs m channel transmissions (assuming no channel codes used). Each signal transmits one bit information. The error bit () is the received bit adding (modulo-2) the transmitted bit. Obviously,  2 f0; 1g. Again,  = 0 means no error. The channel error symbol can be evaluated from the error bits by m

Te =

2

0 i

m i

(23)

i=1

where i is the error bit in the ith transmission of the considered symbol. The probability of a channel error symbol is the product of the probabilities of error bits, i.e. m

PT = i=1

P

(24)

where PT and P are the probability of a considered error symbol and its ith error bit, respectively. Clearly, for each channel, T PT = 1. For example, in Fig. 4, each symbol uses two channel bits. Assume that the transmitted bits are f1; 1g and the received bits are f0; 1g. The error bits are f1; 0g. From (23), the channel error symbol is 1 1 2 + 0 = 2. The probability of the channel error symbol is P2 = Pe 1 (1 0 Pe ) from (24), where Pe is the channel BEP. Then, we can collect channel error symbols and their probabilities. C. Error Weight Calculation Now we calculate the sink error weight for the error event. Equivalently, we calculate the sink reproduced error symbol. Here a sink reproduced error symbol is the difference between the sink reproduced

IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 54, NO. 11, NOVEMBER 2008

symbol and the correct symbol. The approach also tracks error propagation and cancellation in the network. For this purpose, we calculate the error symbol for each sink received symbol and track how these error symbols linearly combine in the decoding process. We again use the transfer matrix defined in [3]. Unlike binary coding, we have to consider the multiplication of nonbinary codes, which can change the error symbol. Eventually, it may substantially change the error weight in the sink. In the algorithm for binary codes, we ignore the multiplication operation and replace the indeterminate variable of the transfer matrix with channel marks. For nonbinary codes, the indeterminate variables are replaced by the specified value and channel mark. For example, in Fig. 4, the indeterminate variable e ;e between channels e6 and e10 is replaced by 2e10 . The specified value should precede the channel mark, since encoding by code variables is the operation inside the node, and the channel mark is for the output channel of the node. In Fig. 4, the elements of the transfer matrix for the received symbol in channel e20 is

1 2 ;e

e ;e

;e

e ;e



e

;e

e

;e

:

(25)

Then we specify the indeterminate variables and mark channels (1s are ignored). The result is

e3 e10 e20 : e6 2e10 e20

(26)

Algorithm 5.1: Error marking algorithm for calculating the sink error weight of nonbinary codes 1: Initialization. Form the matrices A, P and B for the network code. All nonzero elements are temporarily kept as indeterminate variables. 2: Calculate the encoding matrix H = A 1 P . 3: Specify Variables and Mark channel. Replace the indeterminate variables ( i;e and e ;e ) in H with the specified values and their second subscripts, which denote channel symbols. For example, e ;e is replaced by the specified value 2 and channel symbol e10 . 4: Calculate error symbols for each sink received symbol: Add all rows of the matrices H . Simplify the results by combining the terms with common channel marks. Replace the channel mark with the channel error symbol, and simplify by (27). The result is the sink received error symbols (row vector). 5: Calculate the reproduced error symbols. Multiply the sink received error symbol vector with the decoding matrix. 6: Find error events and evaluate their weights. For each error event, specify the error symbol for all channels and calculate the sink reproduced error symbol vector. 7: Collect error weight and output results.

After specifying variables and marking channels, we add the rows of the encoding matrix. The sum is simplified to a product form and only one channel mark is kept for each channel. This is necessary since multiple channel marks of different rows (of the same column) actually denote one physical channel. The code symbols from different channels are encoded into one symbol before they are sent to this physical channel. Thus, the product form describes how the channel errors affect a received symbol in the sink. In the example, we add the rows of (26), and simplify the result to the product form as re = e3 e10 e20 + e6 2e10 e20 = (e3 + e6 2)e10 e20 . The code symbols (together with error symbols) from e3 and e6 are encoded into one symbol before being transmitted in channels e10 and e20 . Thus, the simplified produce form can capture how channel errors affect the sink received error symbol.

5195

In the transfer matrix [3], a path is described by the multiplication of code variables along the path. The error at the end of a path is the sum of error symbols of the component channels. This is because the output symbol of each channel is the input symbol adding the error symbol of the channel. Thus, the errors from cascaded channels are the sum of error symbols of the channels. Then, the computing rules of two channel error symbols follows:

T T e

e

=

T

e

+ Te

(27)

where the operation + is performed in GF(2m ). In the encoding and decoding process, the received symbols of the node are multiplied (in GF(2m )) with code variables (specified values of i;e , e ;e and e ;j ). Since the received symbol is the sum of the error symbol and correct symbol, the error symbols are multiplied by the same code variables in the coding process too. For the operation of Te e ;e (the same for i;e and e ;j ), it just follows the multiplication rule of GF(2m ). After multiplying the decoding matrix, we can get the sink reproduced error symbol. Similar to (13), after multiplying the decoding matrix, there might be Te + C , where C is a constant. It also means no error. Thus, Te + C = Te . The algorithm is shown in Algorithm 5.1. Proposition 2: Algorithm 5.1 calculates the sink error weight for the codes in GF(2m ). Proof: The proof is basically the same as that for Proposition 1, since Algorithm 4.1 and Algorithm 5.1 follow roughly the same procedure. One major difference for nonbinary codes from binary codes is that the code symbols (and error symbols) might be changed by the multiplication of encoding and decoding. This effect is captured by the multiplication of error symbols and coding variables (in GF(2m )). Note that the codes discussed here are linear, and transmitted symbols and error symbols (see (22)) are multiplied by the same code variables. The effect of two symbol errors in the same path is described by (27), as we have discussed. The addition of two error symbols in the encoding or decoding process follows the addition of GF(2m ). Thus, all types of error propagation and cancellation in the encoding and decoding process are captured by our algorithm. Step 4 of Algorithm 5.1 is another important difference from Algorithm 4.1. For binary codes, checking an odd or even number of channel error bits is enough to decide if a sink received bit is correct or erroneous. This is not enough for nonbinary codes. We have to track the whole encoding process (multiplication in GF(2m )), and we need to remove redundant channel marks. Thus, in Step 4, we add the elements of the same column, and simplify them to product forms. The results calculate the received error symbols (in the computing rules defined above). In the decoding process, how different received error symbols linearly combine to produce reproduced error symbols is described by the decoding matrix. Thus, we can get the error symbol for the channel event. Here we do not give further comments, since other details are the same as the proof of Algorithm 4.1. Q.E.D. We use the computation of the error weight in the sink t3 as an example. From (25) and (26), the received error symbol for channel e20 is re = (e3 + e6 2)e10 e20 . In the same way, the received error symbol for channel e13 is re = e1 e7 e13 . The decoding submatrix for sink t3 is

B

t

=

1

3

0

3

:

(28)

Thus, the sink reproduced error symbol for t3 is (a 3 ; b 3 ) = (re

;r

e

)B t

= (e1 e7 e13 ; (e1 e7 e13 + (e3 + e6 2)e10 e20 )3):

(29)

5196

IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 54, NO. 11, NOVEMBER 2008

Fig. 5. The simulated and exact calculated BEP for Fig. 4. E =N is the signal-to-noise ratio of a single channel.

Replacing channel marks with channel error symbols and simplifying using (27), we can get the channel error symbols for the reproduced a as Te + Te + Te , and b as (Te + Te + Te + (Te + Te 3 2) + Te + Te )) 3 3. An error event has Te = 2, Te = 3 and all other channel error symbols are zero. After specifying channel error symbols, we can get the sink error symbols for a as 2, and b as (2 + 3 3 2) 3 3 = 2. The error symbol 2 has a weight 1. Thus, this error event in sink t3 has the weight 2. In the same way, we can evaluate the error weight for all error events. Now we analyze the complexity of our approach. We concentrate on nonbinary codes since they are more general than binary codes. Since each edge has 2m states, and only an all-zero state means no channel errors, there are 2mjEj 0 1 error events. For the exact result, we need to calculate the weights and probabilities of all error events. For each event, there are jE j 0 1 multiplications to calculate its probability (We assume that the error probabilities of each channel are known). Thus, total number of multiplication is upper-bounded by jE j2mjEj . Some error events have zero-weight. We do not have to calculate their probabilities. Further, we do not have to calculate the probabilities of each event from the beginning. We can keep the channel probabilities as variables, and specify them in the final stage. The complexity might be greatly reduced, since many terms are cancelled or merged (see the example for Fig. 1, only trivial multiplications are used in the final stage). Yet, the complexity reduction with this approach depends on the weight and channel BEPs, which depend on network topologies, coding scheme and channel conditions, etc. There is no uniform result for all situations. In the weight calculation, all error events use the same H until Step 4 in Algorithm 5.1. From Step 4 to Step 6, we need to perform addition and multiplication in GF(2m ). The complexity is hard to estimate without giving a specific network topology and coding scheme. We measure the complexity in the number of cases. It is the number of error events 2mjEj . Thus, the complexity exponentially increases with the number of edges in the network. The calculation is hard (non-polynomial) for a network with many channels. However, if the channel BEP Pe  1, we can use approximate approaches, which only consider the errors in single channel. There are jE j(m 0 1) error events. Then, the multiplication for calculating probabilities is upper-bounded by mjE j2 . The number of cases for computing the error weight is about mjE j.

VI. COMPLEXITY REDUCTION BY SUBGRAPH DECOMPOSITION Above, we showed how to compute the sink BEP, and the complexity of the approach is exponential in mjE j (for exact results). The problem becomes intractable for a large network. For Fig. 5, there are 22 channels with four states for each channel. Thus, there are totally 422 error events to consider. We have shown a reduced-complexity approach that only considers the single channel error event. Yet, the approach is only useful for the medium-to-low BEP region. Now we show another complexity reduction approach based on subgraph decomposition. The result is exact in all BEP regions. The approach is based on the following observation: When we compute the sink BEP for a certain sink, for instance, for sink t3 in Fig. 5, only part of the network (channels e1 ; e3 ; e6 ; e7 ; e10 ; e13 and e20 ) affect its BEP. Other channels are unrelated, since no information to t3 is transmitted over them. The complexity is exponential in the number of channels. Thus, we can greatly reduce complexity, by computing the BEP of an individual sink. Yet, we need to find the relation of the sink BEP and the BEP of the individual sink. Now we give a proposition on this. First, we define the number of the information bits reproduced by sinks. Definition 3. Sink Information Ratio: The ratio of the number of information bits reproduced by the individual sink to that of all sinks (in one time unit). We assume that information is measured in bits, and W bits are reproduced in all sinks in one time unit. Among them, the sink ti reproWt =W . duces Wt bits. Then the sink information ratio for ti is lt From the definition of the sink BEP, it is an averaged result over all sinks. For a given sink (say sink ti ), the BEP (Pb (ti )) is called the BEP of an individual sink. It is evaluated by only considering the errors in the channels (denoted as E [i]) related to information transmission to sink ti . Thus P b (ti )

wi;j P (ci;j )

= c

Wt

(30)

where ci;j is the error event defined in E [i] (only consider the channel states in E [i]), and P (ci;j ) and wi;j is the probability and error weight of ci;j , respectively.

IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 54, NO. 11, NOVEMBER 2008

Proposition 3: The sink BEP is the weighted average of the BEPs of all individual sinks. The weighted values are the sink information ratios, i.e., Pb =

lt Pb (ti ):

(31)

t

Proof: We use cj to denote an error event defined in the whole network (consider the channel states in the whole network). cj has a probability P (cj ) and weight wj (in all sinks). We use wji to denote i the error weight in ti for cj . Clearly, wj = t wj . Only errors in i E [i] have effect on wj . Other channels (denoted as E [i] = E n E [i]) in the network have no effect on wji . Since ci;j only considers the channel states in E [i], and cj considers the channel states in the whole network, each ci;j can be extended to 2mjE [i]j cj s by enumerating all channel states in E [i]. All the cj s (denoted as a set "j [i]) with the same ci;j have the same wji since the errors in E [i] have no effect on wji . For the same reason, wji = wi;j . For example, in Fig. 5, only the errors in channels e1 , e3 , e6 , e7 , e10 , e13 and e20 have effect on the weight in t3 . Clearly, all "j [i] s for all ci;j enumerate all channel errors in the whole network and form all possible cj . Also, c 2" [i] P (cj ) = P (ci;j ), since the probabilities of all E [i] sum to 1. Thus, wi;j P (ci;j ), and wji P (cj ) =

c

c

2"

i [i] wj P (cj ) =

wi;j P (ci;j ):

(32)

c

Since lt = Wt =W , W = Wt =lt . Then we have Pb = c

w j P (c j ) = W c lt wji P (cj ) Wt

= t

c

c

lt

= t

c

wi;j P (ci;j ) Wt

lt P b (t i ):

=

decomposition is upper bounded by Re  6 1 2218 = 6 1 216 . If we use the approach without the subgraph decomposition, jE j = 22. The number of error events is 244 , which is much larger than Re . Rm  6 1 8 1 216 = 48 1 216 . The multiplication for calculating the probability of error events without the subgraph decomposition is upper bounded by 22 1 244 , which is also much larger than Rm . Further, if the network is symmetric (e.g., the network in Fig. 1), some subgraphs have the same BEP in their sinks (subgraphs for sinks y and z are symmetry, and the BEPs in them are the same). We only need to compute the sink BEP of one subgraph. Most likely, if there are more sinks, each subgraph is smaller (maxfjE [i]jg smaller). Hence, the complexity is smaller. Yet, if maxfjE [i]jg is close to jE j, more sinks might lead to high complexity. In this case, there is no need to use subgraph decomposition. Certainly, this is determined by the specific network topology. Since the BEP of each individual sink is exact, the sink BEP from the subgraph decomposition is exact. Thus, the subgraph decomposition approach will not decrease numerical accuracy. Now we go back to the example in Fig. 5. By enumerating states of edges related to the sink t3 , we can calculated the BEP of t3 as 13

P b (t3 ) =

(34)

t

Equation (33) follows since lt is unrelated to the error event. Q.E.D. With Proposition 3, we only need to calculate the BEP of each individual sink using (30). The sink BEP is the weighted average of them. The BEP calculation of an individual sink only considers a part of the graph (part of the network) related to this sink. Hence, we decompose the whole graph into subgraphs by sinks. Each subgraph is composed of a part of nodes and edges (channels) related to the individual sink. Thus, we call the approach a subgraph decomposition. We assume that there are k sinks in the network. The subgraph of sink ti has the channel set E [i], and the node set V [i]. Since some of subgraphs have common channels, maxfjE [i]jg < jE j  t jE [i]j. There are 2mjE[i]j error events for ti . For each error event, we use jE [i]j multiplications to calculate the probability. For each error event in ti , we only consider the transfer matrix of the subgraph to calculate the weight. In all, mjE [i]j  k2m1maxfjE[i]jg error events, and there are Re = t 2 mjE [i]j Rm =  k maxfjE [i]jg2m1maxfjE[i]jg (upper t jE [i ]j2 bound) multiplications are used to calculate the probability of events. From analysis, we can see that the complexity of subgraph decomposition is exponential in maxfjE [i]jg. In general, Re  2mjE j , and Rm  jE j2mjE j . For instance, inFig. 5, the largest subgraph has eight edges, and m = 2. Then, the number of error events for the subgraph

(35)

i=1

13

(33)

Ci Pe i

105 where Ci = 13 2 , 0 2 , 323, 01500, 5232, 0, 27472, 041184, 45760, 036608, 19968, 06656, 1024 for i = 1; 2; . . . ; 13, respectively. Pe is the channel BEP. It is trivial to show that PT = (1 0 Pe )2 , PT = Pe (1 0 Pe ), PT = (1 0 Pe )Pe and PT = Pe2 . Here we assume T0 = 0, T1 = 1, T2 = 2 and T3 = 3. In the same way, we can evaluate the BEPs for sinks t1 , t2 , t4 , t5 and t6 . It is easy to verify that l1 = l2 = 1 1 1 l6 = 1=6. The sink BEP is obtained by (31). The result is

Pb =

lt wi;j P (ci;j ) Wt

= t

t

lt wji P (cj ) Wt

5197

Ci Pe i

(36)

i=1

155 385 2236 6800 16304 30560 , 0 44000 , where Ci = 35 6 ,0 4 , 2 , 0 2 , 3 , 0 3 , 3 3 47552 37312 20096 6656 1024 , 0 , , 0 , , for i = 1 ; 2 ; . . . ; 13, respectively. 3 3 3 3 3 The simulated and calculated results are shown in Fig. 5. Obviously, the subgraph decomposition can be used for binary codes since they are special cases of nonbinary codes. It can also be combined with the approximation approach to further reduce complexity. For space reasons, we do not go into any detail.

VII. CONCLUSIONS AND DISCUSSION We investigated the sink BEP calculation approach for the coded network with memoryless and independent channels (with or without channel codes). The alphabet size of the code is GF(2m ). The numerical results are exact. A subgraph decomposition approach is proposed to reduce the complexity. The results are also exact. We discuss a low-complexity approach with approximate results. With the sink BEP calculation approach, a valuable direction for future work is to optimize the network coding scheme with the minimum BEP, for given networks and multicast requirement. Some initial work on this issue is discussed in [15]. Yet, one major difficulty is that the coding variables are integers. Thus, in general, the solution with polynomial complexity is difficult to find. In [15], some reduced-complexity approaches are proposed. They can partly reduce complexity. However, the problem has not been fully solved yet. Interested readers are referred to [15] for further detail. ACKNOWLEDGMENT The authors would like to thank the Associate Editor for his kind help and anonymous reviewers for valuable comments.

5198

IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 54, NO. 11, NOVEMBER 2008

REFERENCES [1] R. Ahlswede, N. Cai, S.-Y. R. Li , and R. W. Yeung, “Network information flow,” IEEE Trans. Inf. Theory, pp. 1204–1216, Jul. 2000. [2] S. Li, R. W. Yeung, and N. Cai, “Linear network coding,” IEEE Trans. Inf. Theory, vol. 49, pp. 371–381, Feb. 2003. [3] R. Koetter and M. Médard, “An algebraic approach to network coding,” IEEE/ACM Trans. Netw., vol. 11, pp. 782–795, Oct. 2003. [4] N. Cai and R. W. Yeung, “Network coding and error correction,” in Proc. IEEE Info. Theory Workshop, India, Oct. 2002, pp. 119–112. [5] S. Borade, “Network information flow: Limits and achieviability,” in Proc. IEEE Int. Symp. Inf. Theory, Jun. 2002, pp. 139–139. [6] L. Song, N. Cai, and R. W. Yeung, “A separation theorem for single source network coding,” IEEE Trans. Inf. Theory, vol. 52, pp. 1861–1871, May 2006. [7] D. Tuninetti and C. Fragouli, “Processing along the way: Forwarding vs. coding,” in Proc. ISITA 2004, Italy, Oct. 2004. [8] D. Tuninetti and C. Fragouli, “On the throughput improvement due to limited complexity processing at relay nodes,” in Proc. IEEE Int. Symp. Inf. Theory, Sep. 2005, pp. 1081–1085. [9] N. Ratnakar and G. Kramer, “On the seperation of channel and network coding in Aref network,” in Proc. IEEE Int. Symp. Inf. Theory, Sep. 2005, pp. 1716–1719. [10] K. C. Wang, “Analysis of network error correction based on network coding,” IEE Proc. Commun., vol. 152, no. 4, pp. 393–396, Aug. 2005. [11] J. Sundararajan and H. Viswanathan, “Comparison of schemes for streaming multicast in cellular network with relays,” in Proc. IEEE Wireless Commun. Netw. Conf., Las Vegas, USA, Apr. 2006. [12] Z. Zhang, “Network error correction coding in packetized networks,” in Proc. IEEE Inf. Theory Workshop, ChengDu, China, Oct. 2006, pp. 433–437. [13] [Online]. Available: http://www.networkcoding.info [14] C. E. Shannon, “A mathematical theory of communication,” Bell Syst. Tech. J., vol. 27, pp. 379–423, 623, 1948. [15] M. Xiao and T. Aulin, “A physical layer aspect of network coding with statistically independent noisy channels,” in Proc. IEEE Int. Conf. Commun. (ICC 2006), Istanbul, Turkey, Jun. 2006, pp. 778–782. [16] M. Xiao and T. Aulin, “Energy-efficient network coding for the noisy channel network,” in Proc. IEEE Int. Symp. Inf. Theory (ISIT 2006), Seattle, WA, Jul. 2006. [17] T. Cover and J. Thomas, Elements of Information Theory. New York: Wiley-Interscience Press, 1991. [18] A. B. Kiely and J. Coffey, “On the capacity of a cascade of channels,” IEEE Trans. Inf. Theory, pp. 1310–1321, Jul. 1993. [19] J. M. Wozencraft and I. M. Jacobs, Principles of Communication Engineering. New York: Wiley, 1965. [20] S. Lin and D. Costello, Error Control Coding. Upper Saddle River, NJ: Pearson Prentice Hall, 2004. [21] E. R. Berlekamp, Algebraic Coding Theory. New York: McGrawHill, 1968. [22] A. Viterbi and J. Omura, Principles of Digital Communication and Coding. New York: McGraw-Hill, 1979. [23] O. K. Tonguz and G. Ferrari, Ad Hoc Wireless Networks: A Communication-Theoretic Perspective. Chichester, U.K.: Wiley, 2006. [24] A. Scaglione and Y. Hong, “Opportunistic large arrays: Cooperative transmission in wireless multihop ad hoc networks to reach far distances,” IEEE Trans. Signal Process., vol. 51, no. 8, pp. 2082–2092, Aug. 2003. [25] J. Boyer, D. Falconer, and H. Yanikomeroglu, “Multihop diversity in wireless relaying channels,” IEEE Trans. Commun., vol. 52, no. 10, pp. 1820–1830, Oct. 2004. [26] M. Chiang, “Balancing transport and physical layers in wireless multihop networks: Jointly optimal congestion control and power control,” IEEE J. Sel. Areas Commun., pp. 104–116, Jan. 2005. [27] Y. Wu, P. A. Chou, and S.-Y. Kung, “Minimum-energy multicast in mobile ad hoc networks using network coding,” IEEE Trans. Commun., vol. 53, pp. 1906–1918, Nov. 2005. [28] Y. Wu, P. A. Chou, Q. Zhang, K. Jain, W. Zhu, and S.-Y. Kung, “Network planning in wireless ad hoc networks: A cross-layer approach,” IEEE J. Sel. Areas Commun., pp. 136–150, Jan. 2005. [29] D. Torrieri, “The information-bit error rate for block codes,” IEEE Trans. Commun., vol. COM-32, no. 4, pp. 474–476, Apr. 1984.

[30] A. B. Kiely, J. T. Coffey, and M. R. Bell, “Optimal information bit decoding of linear block codes,” IEEE Trans. Inf. Theory, vol. 41, no. 1, pp. 130–140, Jan. 1995. [31] R. W. Yeung, S. Y. R. Li, N. Cai, and Z. Zhang, “Network coding theory,” in Foundation and Trends in Communications and Information Theory. Hanover, MA: NOW Publishers, 2006. [32] A. Rasala-Lehman and E. Lehman, “Complexity classification of network information flow problems,” in Proc. 15th Annu. ACM-SIAM Symp. Discr. Algorithms (SODA), New Orleans, LA, Jan. 2004, pp. 142–150. [33] C. Chekuri, C. Fragouli, and E. Soljanin, “On average throughput and alphabet size in network coding,” IEEE Trans. Inf. Theory, vol. 52, no. 6, pp. 2410–2424, Jun. 2006.

The Algebraic Degree of Perfect Binary Codes Dan C. Popescu, Senior Member, IEEE

Abstract—In this communication, we give a complete characterization for the range of the algebraic degree of perfect binary codes. For 1-perfect binary codes, we show that for any d in the algebraic degree range, there are Vasil’ev codes with algebraic degree d. It is also shown that the algebraic degree of 1-perfect binary codes is independent of the rank and the dimension of the kernel. Index Terms—Affine invariant, algebraic degree, algebraic normal form, leading form, perfect binary code.

I. INTRODUCTION n Let Vn = 2 be the set of all binary codewords of length n. Vn has a natural structure of vector space over 2 . The Hamming norm or weight for any u 2 Vn , denoted by juj, is the number of components in u equal to 1. The Hamming distance between u and v is ju + vj. Let Bn = Bn [x1 ; x2 ; . . . ; xn ] = 2 [x1 ; x2 ; . . . ; xn ]=(x12 0 x1 ; x22 0 2 x2 ; . . . ; xn 0 xn ) be the set of square-free polynomials in the variables x1 ; x2 ; . . . ; xn , or Boolean polynomials, with coefficients in 2 . To each f 2 Bn corresponds a unique Boolean function in algebraic normal form, obtained by evaluating f at the points of Vn . The degree of f , denoted by deg(f ), is the highest degree in all monomials with coefficient 1 in the representation of f . A binary code of length n is any subset C of Vn . The cardinal of C is called the size of the code. For any w 2 Vn we denote by C w the translation of C by w, which is the code defined by C w = fu+w : u 2 Cg. For a given binary code C , there is a unique polynomial fC 2 Bn , such that fC is 1 when evaluated at the coordinates of any codeword in C , and 0 when evaluated at the coordinates of any codeword not in C . In other words, the Boolean function associated with fC is the indicator function of C . The degree of fC is called the algebraic degree of the code C , and is an invariant of C under the actions of the general affine group. Throughout this communication, the polynomial fC will be referred to as the algebraic normal form of the binary code C . The Manuscript received November 12, 2007; revised February 14, 2008. Current version published October 22, 2008The material in this communication was presented in part at the IEEE International Symposium on Information Theory, Toronto, ON, Canada, July 2008. The author is with the CSIRO ICT Centre, Marsfield, NSW, 2122 Australia (e-mail: [email protected]). Communicated by T. Etzion, Associate Editor for Coding Theory. Digital Object Identifier 10.1109/TIT.2008.929971

0018-9448/$25.00 © 2008 IEEE