 Research
 Open Access
Design of adaptive constellations and error protection coding for wireless network coding in 5node butterfly networks
 Pavel Prochazka^{1},
 Tomas Uricar^{1},
 David Halls^{2}Email authorView ORCID ID profile and
 Jan Sykora^{1}
https://doi.org/10.1186/s136380170935y
© The Author(s) 2017
 Received: 4 January 2017
 Accepted: 17 August 2017
 Published: 13 September 2017
Abstract
In this paper, we focus on the design of a reliable communication scheme for generic 5node wireless butterfly networks (WBN). Since the WBN represents a natural extension of the basic twoway relay communication channel, we follow the paradigm of Wireless Physical Layer Network Coding and we show that the design of novel adaptive constellations is desirable to exploit the promising performance of wireless network coding in WBN. We introduce a systematic constellation design algorithm, and we show that the proposed constellations are capable of outperforming conventional pointtopoint modulations in WBN over the whole range of channel signal to noise ratios. To further support the applicability of the proposed constellations in a practical system, we integrate a simple binary channel coding scheme, providing a robust adaptive modulation and coding scheme for relaying in symmetric WBNs with arbitrary channel conditions.
Keywords
 Wireless network coding
 Butterfly network
 Relaying
 Superposition coding
 Superposition modulation
1 Introduction
The invention of Wireless Network Coding (WNC) has provided a means for a significant enhancement in wireless system performance [1–3]. However, WNC processing has also revealed several nontrivial research problems which do not have counterparts in conventional pointtopoint or multiuser systems, like the sensitivity to channel parameterization [4–7] or challenging multisource transmission synchronization [8–10]. Furthermore, the specific characteristics of multinode WNC systems can call also for novel constellation design approaches (see e.g., [7, 11]).
In WNC, the transmitted information symbols are allowed to interact directly in the constellation space, inducing a specific set of requirements on the constellations’ properties and characteristics (see e.g., [7, 11]). Generally, we can declare [11] that any constellation suitable for the specific nature of WNC processing should be able to forma superimposed constellation with an appropriate structure at all receiving nodes (allowing direct decoding of specific WNC functions of user data from the received nonorthogonal signals [12, 13]) and simultaneously it should be able to exploit the broadcast nature of wireless channels (allowing a reduction in the consumption of channel resources in the system [1]). Since both of these properties hinge on the actual SNR conditions in the system, the constellation design itself can become a relatively challenging task.
One of the first attempts to design a suitable multisource constellation for communication in a multinode WNC system was introduced in our previous work [11], where the adaptive 2source constellations for WNCbased communication in a 5node wireless butterfly network (WBN) were developed. However, the results presented in [11] are limited to an uncoded system, which significantly limits its practical applicability.
 1.
We summarize the systematic constellation design algorithm from [11] and we provide additional numerical results analyzing its promising performance.
 2.
We revise and extend the results discussing the adaptive capabilities of the constellations, including the constellation mapping regions for adaptive WBN relaying.
 3.
We validate the proposed design in a realworld hardware (HW) setup, including the HW evaluation of adaptive system performance.
 4.
We show how the channel coding can be integrated into the proposed constellation design, including the analysis of proper source transmission rates.
 5.
We evaluate numerically the performance of the resulting adaptive modulation and coding scheme for a wide range of channel conditions in the WBN.
 6.
We show that the proposed design is viable even if the realworld conditions induce some deviation from the assumed system model.
 7.
We compare the proposed design with state of the art reference scenarios to highlight its superior performance.
The rest of the paper is organized as follows. The system model, including all necessary definitions and details about WNC processing in WBNs, is summarized in Section 2. A systematic constellation design algorithm for WBNs is revised in Section 3. The performance analysis of the proposed constellations (including the HW evaluation) in an uncoded system is available in Section 4. Section 5 discusses an adaptive constellation design, and Section 6 introduces the channel coding extension to the system. The performance of the novel adaptive modulation and coding scheme is analyzed in Section 7, including a simple robustness analysis. Concluding remarks are presented in Section 8.
2 WNC relaying in wireless butterfly network
2.1 Relaying strategy
SCbased relaying scheme in uncoded WBN

2.2 System model
Even though the overheard information (6) does not carry the desired data for the respective destination, it can be efficiently exploited to enable WNCbased processing in WBNs [14]. We denote the specific overheard information as the Hierarchical Side Information (HSI) [15].
The relay performs WNCbased decoding [13] of the received signal and broadcasts the decoded WNC (hierarchical) information as s _{ R } to D _{ A }, D _{ B } in the second phase (Broadcast—BC phase). Both destinations are able to decode the desired data using the relay’s (hierarchical) signal (5) and the overheard HSI (6) if a proper WNC processing is employed in the system.
Scalar complex channel coefficients h _{ ij }, i,j∈{A,B,R}, i≠j are assumed to be constant during the communication round and known at the respective receiving node. Zero mean i.i.d. complex Gaussian noise sample w _{ i }, i∈{A,B,R} has variance \(\sigma _{i}^{2}\). Signal to noise ratios (SNRs) in the system are given by (γ _{MAC},γ _{HSI},γ _{BC}), where γ _{MAC} is the SNR on the source → relay multipleaccess channel—MAC ((S _{ A }, S _{ B })→R), γ _{HSI} is the SNR on the unintended source → destination (HSI) channels (S _{ A }→D _{ B },S _{ B }→D _{ A }) and γ _{BC} is the SNR on the relay → sources broadcast channel (R→(D _{ A }, D _{ B })).
3 Superposition modulation design
In this section, we summarize the design of constellation mappers as presented in [11]. The output constellation is created as
where \(L_{n}^{b},\,L_{n}^{s}\) are Superposition Modulation [22] scaling coefficients.
The coefficients \(L_{n}^{b},\,L_{n}^{s}\) (7) are generally taken from the set of complex numbers. However, for the sake of simplicity, we limit the scaling coefficients \(L_{n}^{b},\,L_{n}^{s}\) to purely imaginary or real numbers. Even though this simplified approach can potentially result in a suboptimal performance in fading channels (complex channel coefficients h _{ iR }, i∈{A,B} can rotate the component superposition constellations), we follow this simplification to show the basic ideas of the proposed superposition modulation design. The extension to general complex \(L_{n}^{b},\,L_{n}^{s}\) can naturally embrace the source phase prerotation [23–25], which virtually reverts the fading channel to the conventional additive white Gaussian noise (AWGN) channel with ∢h _{ ij }=0.
As shown in Table 1, the basic and superposed parts of the source information are processed in a different way through the system and so we will discuss the constellation design for these two specific information streams separately. We briefly introduce the incentives and main ideas of the design for the superposed and basic parts, and then we summarize the complete multisource constellation design in a systematic algorithm.
3.1 Constellation design: basic part
if and only if they belong to the same WNC function output, i.e., iff \(f\left (\mathbf {d}_{A}^{b},\mathbf {d}_{B}^{b}\right)=f\left (\mathbf {d'}_{A}^{b},\mathbf {d'}_{B}^{b}\right)\), where f(▪,▪) is the hierarchical WNC function [13]. In this case the overlapping symbols produce the same hierarchical output, which can be successfully resolved by the destination, if matching HSI information is available (Table 1). The particular choice of the scaling coefficients \(L_{A,n}^{b},\,L_{B,n}^{b}\) generally depends on the particular choice of the hierarchical WNC function^{2}. In the rest of this paper we discuss the constellation design for the bitwise exclusiveor WNC function \(\left (f\left (\mathbf {d}_{A}^{b},\mathbf {d}_{B}^{b}\right)=\mathbf {d}_{A}^{b}\oplus \mathbf {d}_{B}^{b}\right.\), where ⊕ is the bitwise XOR operation) [3].
Suitable overlapping of constellation symbols at the relay is provided by letting both sources transmit at the same power level, i.e. \(L_{A,n}^{b}=L_{B,n}^{b}\) [11]. It can be easily shown that if these superposition modulation (7) coefficients are chosen as \(L_{A,n}^{b}=L_{B,n}^{b}=3^{\left \lfloor n/2\right \rfloor }\) (for even n) and \(L_{A,n}^{b}=L_{B,n}^{b}=\operatorname {j}3^{\left \lfloor n/2\right \rfloor }\) (for odd n), the received superimposed constellation at the relay will have overlaps only among those constellation symbols (8) which have the same hierarchical WNC output i.e. \(\ f\left (\mathbf {d}_{A}^{b},\mathbf {d}_{B}^{b}\right)=f\left (\mathbf {d'}_{A}^{b},\mathbf {d'}_{B}^{b}\right)=\mathbf {d}_{A}^{b}\oplus \mathbf {d}_{B}^{b}=\mathbf {d'}_{A}^{b}\oplus \mathbf {d'}_{B}^{b}\).
3.2 Constellation design: superposed part
The superposed information given by \(\mathbf {d}_{A}^{s},\,\mathbf {d}_{B}^{s}\) has to be decoded separately by the relay (Table 1), and hence a source constellation avoiding all potential overlaps in the superimposed constellation (observed by the relay node) is desirable. In an AWGN channel (h _{ AR }=h _{ BR }=1 in Fig. 1), this can be simply achieved by mapping the information bits to the realvalued Amplitude Shift Keying (ASK) constellation at S _{ A } and purely imaginaryvalued ASK constellation at S _{ B } (or vice versa). Hence, in AWGN, the resulting superimposed constellation at the relay will form a regular QAM constellation without any overlapping of constellation symbols. For the assumed superposition modulation (7), this can be easily achieved by setting the coefficients as \(L_{A,n}^{s}=2^{n}\) and \(L_{B,n}^{s}=\operatorname {j}\cdot 2^{n}\).
3.3 Systematic constellation design algorithm
To accommodate both the basic and superposed information streams into a joint source constellation, the scaling coefficients of basic information streams \(\left (L_{n}^{b}\right)\) must be prescaled by a factor \(\phantom {\dot {i}\!}2^{N_{s}}\) to ensure that they lie above the largest scaling coefficient of the superposed part. The basic stream (WNC) is thus preferred over the superposed one (routing) in order to maximize the overall throughput of the system. The systematic constellation design for arbitrary N _{ b }, N _{ s } is summarized in Algorithm 1.
4 Performance analysis I: uncoded system
For the sake of simplicity of the theoretical performance analysis, we assume that source → relay channels in WBN are AWGN^{3} (i.e., h _{ iR }=1 for i∈{A,B}). We evaluate the throughput analytically as \((N_{b}+N_{s})\cdot \left (1P_{e}^{\text {FER}}\right)\), where \(P_{e}^{\text {FER}}\) denotes the frame error rate. Due to the system symmetry, we evaluate the throughput of S _{ A }→D _{ A } only. We set the frame length to M=768 symbols (to match the HW evaluation) and the relay output mapper will be defined as a conventional \(\phantom {\dot {i}\!}(2^{N_{b}+2N_{s}})\)QAM constellation. All performance metrics in the symmetric WBN are evaluated as a function of the actual SNRs (γ _{MAC}, γ _{HSI}, γ _{BC}).
4.1 Analytical performance evaluation
4.2 Hardware implementation
In addition to the analytical evaluation of throughput, we validate the results in a realworld setup. The hardware performance is evaluated using Ettus Research Universal Software Radio Peripherals (USRPs) which are computerhosted Software Defined Radios (SDRs). The USRPs connect to a host computer via a Gigabit Ethernet link, which the hostbased software uses to receive and transmit the baseband IQ stream. The host controls the USRP using USRP Hardware Driver (UHD) commands, including setting parameters such as amplifier gain. The USRP then performs the necessary baseband processing then up/downconversion and transmission/reception. The Ettus Research N210 USRP is used, which consists of a motherboard and a radio frequency (RF) daughterboard; more details can be found in [26]. In these experiments the XCVR2450 daughterboards are used, these are dualband transceivers with 100 mW output at 2.4–2.5 GHz and 50 mW output at 4.9–5.85 GHz. In this paper, GNURadio [27], which is an opensource toolkit, is used as the hostprocessing software.
4.2.1 OFDM parameters
An OFDM solution is employed with N _{ FFT }=64 subcarriers. There are 48 data subcarriers, with a DC carrier, 11 guard carriers and 4 pilot carriers at −21, −7, 7, and 21. A CP of \(\frac {1}{4}\), i.e., 16 samples, is employed and a center frequency of f _{ c }=2.4 GHz is used. The USRP N210 is limited (by the Gigabit Ethernet link) to support an RF bandwidth up to 25 MHz with 14bit resolution, though a 1 MHz bandwidth, i.e., 1 MS/s sampling rate, is used here. Each packet contains 16 OFDM symbols of payload with 48 data carriers per symbol and constellation parameters N _{ b }, N _{ s } are set to the desired values. The payload is random data, and no channel coding is currently implemented in the system.
4.2.2 Node placement, synchronization, and channel estimation
4.3 Uncoded system throughput
To analyze the performance of the proposed constellations, we evaluate the throughput for fixed γ _{MAC} and γ _{BC} as a function of γ _{HSI}. We analyze all permissible constellations for a fixed N _{ b }+N _{ s }=2 (see Fig. 4) and compare their performance with the throughput T _{ref} of the reference “conventional” multiuser detection with regular QAM constellation. Note again that the hierarchical function is set to the bitwise XOR, i.e., \(f\left (\mathbf {d}_{A}^{b},\,\mathbf {d}_{B}^{b}\right)=\mathbf {d}_{A}^{b}\oplus \mathbf {d}_{B}^{b}\) in the evaluations.
Summary of assumptions in the uncoded system analysis
T _{LB}  T _{sim}  T _{USRP}  

Communication channel  AWGN  AWGN  Wireless channel 
Time synchronization  Perfect  Perfect  External (Octoclock) 
Phase prerotation  Perfect  Perfect  Feedback channel (UDP) 
Direct link  Not considered  Not considered  Bridged by cable 
Channel symmetry  Perfect  Perfect  Node placement 
Throughput evaluation  Lower bound  Numerical  Numerical 

The constellations with (N _{ b }=0, N _{ s }>0) assume full multiuser detection at the relay and hence they do not exploit the HSI channels (Table 1). Consequently, their throughput does not depend on γ _{HSI}. However, their performance worsens with decreasing γ _{MAC} (compare Figs. 6 and 8) and deteriorates quite dramatically with decreasing γ _{BC} (compare Figs. 8 and 9).

The constellations with (N _{ b }>0, N _{ s }=0) require a reliable HSI channel and hence their throughput is zero for low γ _{HSI} and grows up to N _{ b } for high γ _{HSI} and sufficiently high γ _{MAC}, γ _{BC} (all Figs. 6, 7, 8, and 9).

The performance of all constellations with (N _{ b }>0, N _{ s }>0) is influenced by all system SNRs (γ _{MAC}, γ _{BC}, γ _{HSI}). Remarkably, for some particular values of γ _{MAC}, γ _{BC} these constellations significantly outperform those with N _{ b }=0 or N _{ s }=0 in the medium γ _{HSI} region (Figs. 7 and 9). Note that this is a direct consequence of superior \(\rho _{\text {HSI}}^{2}\) performance of these constellations^{6} for constant N _{ b }+N _{ s }, i.e., for constant bits/constellation symbol transmitted by the sources.
5 Adaptive constellation design
As discussed in the previous section, the throughput of the system depends heavily on the actual SNR conditions (given by γ _{MAC}, γ _{BC}, γ _{HSI}). By itself, this observation calls naturally for an adaptive constellation design. To generate a multisource constellation able to maximize the throughput given the current SNR conditions in the WBN system, the source nodes S _{ A }, S _{ B } must be acquainted with the particular mapping operation \((\hat {\gamma }_{\text {MAC}},\,\hat {\gamma }_{\text {BC}},\,\hat {\gamma }_{\text {HSI}})\mapsto \left (N_{b}^{\mathrm {I}},\,N_{s}^{\mathrm {I}}\right),\) providing the constellation parameters \(N_{b}^{\mathrm {I}},\,N_{s}^{\mathrm {I}}\) (input arguments to the Algorithm 1) for the given (available) SNR estimates^{7} (\(\hat {\gamma }_{\text {MAC}},\,\hat {\gamma }_{\text {BC}},\,\hat {\gamma }_{\text {HSI}}\)). The desired SNR mapping regions (a threedimensional lookup table in WBN) can be generated numerically in advance and stored at both source nodes to enable the adaptive constellation mapping.
Due to the numerical complexity of MonteCarlo evaluation of throughput T _{sim} we use the analytically evaluated lower bound T _{LB} (9) to generate the SNR mapping regions for a wide range of γ _{MAC}, γ _{BC}, γ _{HSI}. The optimal constellation parameters (maximizing the throughput T _{LB} for a given SNR triplet γ _{MAC}, γ _{BC}, γ _{HSI}) are found by performing an exhaustive search over the constellation parameters as \(\left (N_{b}^{\mathrm {I}},\,N_{s}^{\mathrm {I}}\right)=\arg \max _{(N_{b},N_{s})}T_{\text {LB}}(\gamma _{\text {MAC}},\,\gamma _{\text {BC}},\,\gamma _{\text {HSI}})\).

Since the transmission schemes with (N _{ b }=0, N _{ s }>0) constellations can ignore the HSI channels (Table 1), these constellations are optimal in the low γ _{HSI} region (γ _{HSI}<8 dB), regardless of the other channels’ SNRs γ _{MAC}, γ _{BC}.

The constellations with (N _{ b }>0, N _{ s }=0) provide the best performance in a substantial part of the mediumtohigh γ _{HSI} regions, depending on the actual γ _{MAC}, γ _{BC}.

The “combined” constellations (N _{ b }>0, N _{ s }>0) provide the maximal throughput (for sufficiently high γ _{BC}) in relatively large regions of γ _{MAC}, γ _{HSI} (see the dominant throughput regions of \(\left (N_{b}^{\mathrm {I}},\,N_{s}^{\mathrm {I}}\right)=(2,1)\) for γ _{BC}={20 dB, 25 dB}). Note that these constellations have a great potential for application in systems with limited or partial HSI (see [15]).

The BC channel SNR (γ _{BC}) can significantly limit the performance of the system, even in the case where both γ _{MAC}, γ _{HSI} are relatively high (compare the results for γ _{BC}=15 dB and γ _{BC}=20 dB for γ _{MAC}=γ _{HSI} ≳15 dB). This behavior originates in the fact that \(\rho _{\text {BC}}^{2}\) decreases with growing N _{ b }+2N _{ s } and hence low γ _{BC} essentially limits the maximum efficiently applicable cardinality of the relay output (\(\phantom {\dot {i}\!}2^{N_{b}+2N_{s}}\)QAM) constellation. Equivalently, the optimal source constellation parameters \(\left (N_{b}^{\mathrm {I}},\,N_{s}^{\mathrm {I}}\right)\) can become limited by the bottleneck induced by weak relay →destination (BC) channels.

The constellations with odd N _{ b } are rarely dominant over the other strategies with identical N _{ b }+N _{ s }. This is a direct consequence of their relatively poor \(\rho _{\text {MAC}}^{2}\) Euclidean distance properties.
6 Channel coding
We have shown that Algorithm 1 is a strong tool for the design of source constellations suitable for arbitrary channel SNRs in the WBN system. However, even though the proposed constellations provide promising performance in the uncoded scenario, the extension to a coded system is desirable for practical wireless applications.
Considering the communication in uncoded WBNs (Fig. 2), there are many ways to improve its reliability through channel coding. In this paper, we propose one particular solution, based on the assumption that each source node splits its data into the basic and superposed part and then encodes these parts separately by two constituent channel encoders^{8}. We believe that this approach provides the best insight into the channelcoding extension of WBN systems and hence we focus on its development in the rest of this section.
6.1 Perlink channel coding scheme for symmetric WBN with superposition modulations
6.1.1 Source processing
where \(d_{A,n}^{b},\,d_{A,n}^{s}\in \left \{ 0,1\right \} \) and \(k_{\mathbf {D}}^{b},\,k_{\mathbf {D}}^{s}\) are the lengths of the basic and superposed data subwords \(\mathbf {D}_{A}^{b},\,\mathbf {D}_{A}^{s}\) (respectively).
Subsequently, individual \(\mathbf {D}_{A}^{b},\mathbf {\,D}_{A}^{s}\) are encoded by two separate linear binary encoders (assumed identical at both sources), producing the constituent codewords as:
The constituent codewords \(\mathbf {C}_{A}^{b},\,\mathbf {C}_{A}^{s}\) are then forwarded to the joint constellation mapper (provided by Algorithm 1), which produces a sequence of (N _{ s }+N _{ b })bit constellation symbols Note that in the encoded system it is the codeword symbols that are mapped to the desired constellation (instead of data symbols), but since \(\left \mathbf {c}_{A}^{b}\right =\left \mathbf {c}_{B}^{b}\right =N_{b}\) and \(\left \mathbf {c}_{A}^{s}\right =\left \mathbf {c}_{B}^{s}\right =N_{s}\), it is sufficient to formally substitute the codeword symbol \(\mathbf {c}_{i}=\left [\mathbf {c}_{i}^{b};\mathbf {c}_{i}^{s}\right ]\) for the data symbol \(\mathbf {d}_{i}=\left [\mathbf {d}_{i}^{b};\mathbf {d}_{i}^{s}\right ]\) in Algorithm 1 (lines 10, 15). The resulting constellation symbols are successively transmitted by S _{ A } (simultaneously with s _{ B,j } from S _{ B }) towards the relay node.
6.1.2 Relay processing
The crucial part of the encoded WBN system processing is based at the relay node. Like the uncoded case, the relay must decode jointly the superposed data subwords \(\left (\mathbf {D}_{A}^{s},\,\mathbf {D}_{B}^{s}\right)\) along with the WNC functionof basic data subwords \(\left (f\left (\mathbf {D}_{A}^{b},\mathbf {D}_{B}^{b}\right)=\mathbf {D}_{A}^{b}\oplus \mathbf {D}_{B}^{b}\right)\). While both \(\mathbf {d}_{A}^{s},\,\mathbf {d}_{B}^{s}\) can be decoded straightforwardly by the relay (using conventional single user decoders ), the fundamental question is how to decode the WNC function \(f\left (\mathbf {d}_{A}^{b},\mathbf {d}_{B}^{b}\right)\) since both \(\mathbf {D}_{A}^{b},\,\mathbf {D}_{B}^{b}\) are encoded separately at sources S _{ A }, S _{ B } ^{10}. Fortunately, as proven in [13], the WNC function \(f\left (\mathbf {d}_{A}^{b},\mathbf {d}_{B}^{b}\right)\) can be decoded directly from the relay observation (5), if the particular source data words are encoded by the same linear encoder since
where \(\mathbf {C}_{A}^{b}\oplus \mathbf {C}_{B}^{b}\) itself is again a valid codeword and hence the WNC function \(f\left (\mathbf {d}_{A}^{b},\mathbf {d}_{B}^{b}\right)\) can be decoded directly from the relay observation (using a conventional single user decoder \(\mathcal {C}_{b}^{1}\)).
After decoding all required data streams \(\left (\hat {\mathbf {D}}_{A}^{s},\,\hat {\mathbf {D}}_{B}^{s}, \hat {f}\left (\mathbf {D}_{A}^{b},\mathbf {D}_{B}^{b}\right)\right)\), the relay creates a joint data word \(\mathbf {D}_{R}=\left [\hat {\mathbf {D}}_{A}^{s},\hat {\mathbf {D}}_{B}^{s},\hat {f}\left (\mathbf {D}_{A}^{b},\mathbf {D}_{B}^{b}\right)\right ]\) and reencodes it as . The encoded data are then mapped to the output \(\phantom {\dot {i}\!}2^{N_{R}}\)QAM (where N _{ R }=2N _{ s }+N _{ b }) constellation symbols and broadcast by the relay to both destination nodes.
6.1.3 Destination processing
As in the uncoded case, destinations D _{ A }, D _{ B } firstly store the signal received in the MA phase, and then, after decoding the relay data word D _{ R } (from the signal received in the BC phase), both destinations can perform IC to remove the unintended superposed codewords from the MA phase signal to get the desired HSI and then finally recover the desired data (see Fig. 12 for the details).
6.2 Analysis of transmission rates
The last step in the design of a feasible modulation and coding scheme for WBN (see Fig. 12) is to identify the range of permissible transmission rates for the basic (r _{ b }), superposed (r _{ s }) and relay output (r _{ R }) data streams. To achieve this goal, we analyze the constellation constrained (CC) capacities [31] of the proposed source constellations, including the CC capacity of the conventional relay output \(\phantom {\dot {i}\!}2^{N_{R}}\)QAM alphabets (used in the BC phase of communication).
The transmission rates are defined in bits per channel use, and hence \(r_{i}=N_{i}\cdot \nicefrac {k_{\mathbf {D}}^{i}}{n_{\mathbf {C}}^{i}}\), where N _{ i } is the number of bits per channel symbol/use in the data stream i,i∈{b,s,R}. In accordance with the definition of source and relay codewords, we assume that each communication round requires channel uses, where the length of both MA and BC phase is set to channel uses. Note that the assumption that BC and MA phases have identical length is generally only suboptimal (see e.g., [1, 15]), but nevertheless, it is a common assumption in practical systems and hence, we limit our attention to this particular case.
6.2.1 Relay observation
where (13), (14)–(16), and (17)–(19) are the corresponding third, second, and first order cutset bounds (respectively). As we show later, the CC MAC region (as defined by (13)–(21)) provides a reasonable estimate of the maximal achievable source transmission rate pair (r _{ b }, r _{ s }) in WBN.
Since the superposed data subwords \(\mathbf {d}_{A}^{s},\,\mathbf {d}_{B}^{s}\) are mapped to orthogonal ASK sets (Algorithm 1), the 2nd order cutset bound \(I\left (x;\mathbf {c}_{A}^{s},\mathbf {c}_{B}^{s}f\left (\mathbf {c}_{A}^{b},\mathbf {c}_{B}^{b}\right)\right)\) (14) is equivalent to \(I\left (x;\mathbf {c}_{A}^{s}\mathbf {c}_{B}^{s},f\left (\mathbf {c}_{A}^{b},\mathbf {c}_{B}^{b}\right)\right)+I\left (x;\mathbf {c}_{B}^{s}\mathbf {c}_{A}^{s},f\left (\mathbf {c}_{A}^{b},\mathbf {c}_{B}^{b}\right)\right)\) (defined in Eqs. (17) and (18)), which can be proven easily by the chain rule for mutual information of orthogonal signal sets (see [18]). Moreover, due to the assumed WBN system symmetry, the cutset bounds defined in Eqs. (17) and (18) are identical, and the same is true for the pair of cutset bounds defined in (15) and (16). Consequently, the CC multipleaccess capacity region is completely defined by the four inequalities in (13), (15), (17), and (19).
6.2.2 Effective HSI channels
where \(z_{A}^{\text {IC}},\,z_{B}^{\text {IC}}\) are the efficient HSI observations (after perfect IC) at D _{ A }, D _{ B } (respectively)—see Fig. 12. Both (20) and (21) are identical in the symmetric WBN system.
6.2.3 Relay broadcast channel
where both cutset bounds (22), (23) are identical due to the system symmetry.
6.3 Transmission rate region for fixed source constellation
7 Performance analysis II: adaptive encoded system
As shown in Fig. 13, the performance of the encoded WBN system is, like in the uncoded case, influenced by the immediate SNR conditions (given by γ _{MAC}, γ _{BC}, γ _{HSI}) and hence an adaptive modulation and coding schemeis again of interest. However, before we introduce theSNR mapping operation for the encoded system, we show that the cutset bound rate regions (as introduced in the preceding section) provide a reasonable approximation of achievable source transmission rate pairs in the symmetric WBN system. In the whole section, we assume (for simplicity reasons) that perfect source phase prerotation [23–25] is implemented in the system, virtually reverting the source → relay channels to the AWGN case.
7.1 Numerical simulation of encoded WBN system throughput
We implement all constituent channel encoders in the WBN system (see Fig. 12) as parallel concatenated turbo codes with random interleavers of length symbols. By proper puncturing [33] of the channel encoders’ outputs, we are able to set the source transmission rates (separately for the basic and superposed streams) to an almost arbitrary value in the range (1/3→1). We set the initial source transmission rates to the maximum (as evaluated in Fig. 13) and by proper adjustment of the puncturing operation we successively decrease the source transmission rates r _{ b }, r _{ s } until the SER performance drops to zero. As one can see in Fig. 13, the achieved transmission rate pairs are relatively close to the maximal permissible values and hence we can consider the cutset bound rate region (as discussed in Section 6.3) to be a reasonable approximation of the achievable source transmission rate region.
7.2 Maximal throughput of the adaptive modulationcoding scheme
As in the uncoded case, the source nodes S _{ A }, S _{ B } in the adaptive modulationcoding WBN system must be aware of the particular mapping operation \(\left (\hat {\gamma }_{\text {MAC}},\,\hat {\gamma }_{\text {BC}},\,\hat {\gamma }_{\text {HSI}}\right)\mapsto \left (N_{b}^{\text {II}},\,N_{s}^{\text {II}};\,r_{b}^{\text {II}},\,r_{s}^{\text {II}}\right),\) providing the set of optimal (in the sense of maximal throughput) constellation/encoder parameters for the given SNR conditions \(\left (\hat {\gamma }_{\text {MAC}},\,\hat {\gamma }_{\text {BC}},\,\hat {\gamma }_{\text {HSI}}\right)\). Note that, in general, all adaptive system parameters are functions of the actual SNR conditions in the system. However, we mostly omit the explicit notation in the following text to aid readability.
The desired adaptive system parameters can be obtained in the following twostep procedure. First of all, we analyze the cutset bound rate regions (as discussed in Section 6.3) to identify the maximal encoded system throughput \(T_{C}^{(N_{b},N_{s})}\) for a fixed source constellation (N _{ b },N _{ s }):
where \(\left (N_{b}^{\text {II}},\,N_{s}^{\text {II}}\right)\) are the optimal source constellation parameters. The corresponding optimal source transmission rates (25) are given simply by \(r_{b}^{\text {II}}=r_{b}^{\text {max}}\left (N_{b}^{\text {II}},\,N_{s}^{\text {II}}\right)\), \(r_{s}^{\text {II}}=r_{s}^{\text {max}}\left (N_{b}^{\text {II}},\,N_{s}^{\text {II}}\right)\).
7.3 Robustness analysis

The presence of direct links requires only slightly increased values of (γ _{MAC},γ _{HSI}, γ _{BC}) to ensure a zero errorrate performance for the fixed (N _{ B },N _{ S },r _{ b },r _{ s }). However, it is evident that a modification of the proposed modulation and coding scheme could be desirable to fully harness the information transmitted over direct source destination channels.

The source channel phase asynchrony in the system with direct links further degrades the performance on the sources → relay channel and thus an additional increase of the source transmission power (and consequently γ _{MAC}) is required to provide a zeroerror rate. However, γ _{BC} is not affected in this case, as the channel prerotation does not have any impact on the relay → destination performance.
7.4 Benchmarking with the state of the art threestep scenarios
For a more advanced comparison of the proposed method, we consider two conventional threestep communication scenarios.
7.4.1 Reference threestep scenarios
7.4.2 Implementation details for reference scenarios
To provide a fair comparison, in both reference scenarios, we assume that the sources transmit with twice the power, as their transmit time is essentially halved when compared with the twostep scenarios. We assume QAM(N) constellation and adaptively look for N,r maximizing the throughput as in the proposed Section 7.2.
7.4.3 Maximum transmission rates for the threestep reference scenarios
where CA(γ)= log2(1+γ) denotes the conventional pointtopoint channel capacity for Gaussian channels [18].
These bounds serve as an initial step for the tuple (rate, alphabet cardinality) optimization as in Section 6.2 but also as an ultimate theoretical bound of the individual reference strategies.
7.4.4 Numerical results

The proposed adaptive constellation design from Section 7.2 based on the optimized tuple (r _{ b },r _{ s },N _{ b },N _{ s }) for each measured point (HWprerotation on).

The proposed adaptive constellation design with assumptions violated (prerotation off).

Both threestep reference scenarios introduced in Section 7.4.1.

Fundamental theoretical limits for the conventional reference threestep scenarios.
In all measured cases, we manually selected the tuple maximizing the throughput. Our starting point was the theoretical analysis, but this analysis does not take into account the imperfect channel code and available discrete channel code rates (0.4, 0.5, …, 0.9). We also considered N _{ b }≤2, N _{ s }≤1 for simplicity^{12}.

Strong HSI and equal MA and BC. This scenario is suited for standard wireless network coding, because it can efficiently utilize the strong HSI channel. See Fig. 20 for the corresponding result. As one can see, the proposed framework significantly outperforms both reference threestep scenarios as well the corresponding theoretical limits even if the prerotation is off! The bottleneck for the threestep routing is the BC channel because it needs to pass twice the amount of data from relay to destinations compared to all other schemes. The threestep NC approach does not suffer from this and therefore its performance is a bit better, nevertheless we pay for orthogonality in the MA stage. The performance of the proposed framework is superior to both reference models.

Strong BC channel refers (among others) to a case with high relay power. The result is shown in Fig. 21. The threestep routing works much better when compared to the previous case, because of the strong BC channel. The conventional threestep network coding scheme suffers with a weak HSI channel. The proposed design again significantly outperforms both reference threestep scenarios. We should stress, that the performance gain is also achieved with partial usage of the weak HSI channel.
The saturation of the reference threestep strategies for high SNRs is a consequence of weaker performance of the underlaying channel code, where the rate of the code is adjusted by means of puncturing technique.
8 Conclusions
In this paper, we have proposed a systematic algorithm for the design of twosource constellations in the WBN system. The Algorithm 1 allows the matching of the constellation parameters to virtually any SNR conditions in the system, enabling a direct implementation of the adaptive constellation mapping scheme. The viability of the proposed constellation design was verified by means of numerical analysis, simulations and through realworld HW experiments (based on Ettus Research USRPs), including a HWbased robustness analysis.
Even in the uncoded scenario, the proposed constellations are able to significantly boost the WBN system throughput, and hence even their uncoded implementation can be interesting, especially in some basic wireless networks where channel coding is avoided to reduce complexity (e.g., in sensor networks). Furthermore, we have shown that the proposed source constellation design can be readily extended with appropriately designed channel encoding/decoding operations, significantly improving the reliability (including the throughput) of the resulting adaptive modulationcoding scheme.
In future work, we would like to focus on a full adaptive HW implementation of the proposed system, where the impact of several other parameters (e.g., channel fading and dynamics, asymmetry of channel gains, etc.) can significantly affect the system performance and possibly even require some modifications of the adaptive system design.
9 Nomenclature

WBN Wireless Butterfly Network

WNC Wireless Network Coding

HW Hardware

SNR Signal to Noise Ratio

SC Superposition Coding

HSI Hierarchical Side Information

DEM Demodulator

IC Interference Cancellation

MA Multiple Access

AWGN Additive White Gaussian Channel

ASK Amplitude Shift Keying

QAM Quadrature Amplitude Modulation

SER Symbol Error Rate

FER Frame Error Rate

SDR Software Defined Radio

USRP Universal Software Radio Peripherals

UHD USRP Hardware Driver

CP Cyclic Prefix

ODFD Orthogonal Frequency Division Multiplexing

DC Direct Current

MIMO Multiple Input Multiple Output

QPSK Quadrature Phase Shift Keying

UDP User Datagram Protocol

BC Broadcast Channel

MAC Multiple Access Channel

SODEM Soft Output Demodulator

CC Constellation Constrained
10 Endnotes
^{1} Modification of the system model for the coded case will be provided in Section 6, together with a discussion on the design of individual channel encoders for particular information streams in the system.
^{2} Modulosum [11, 34, 35] and bitwise exclusiveor (XOR) [3, 23] hierarchical functions are commonly discussed in the WNC literature, however, unlike the bitwise XOR, implementation of channel coding for the Modulosum mapping is a standalone research problem and hence it is out of the scope of this paper.
^{3} Note that this also includes the system with perfect source phase prerotation [23–25], which can be obtained by a generalization of the scaling coefficients as \(L^{\prime }_{n}=L_{n}e^{\operatorname {j}\measuredangle h_{SR}}\), where h _{ SR } is the corresponding source →relay channel.
^{4} The evaluated \(P_{e,\text {UB}}^{SER}\) is an upperbound of \(P_{e}^{\text {SER}}\), since an error in MA/BC phase does not necessarily induce an error in the overall communication chain of the uncoded system. This is especially true if the error occurs in the superposed bits \(\mathbf {d}_{B}^{s}\) used for interference cancellation processing at D _{ A }.
^{5} In AWGN channel, the resulting superimposed constellation has too many overlaps for the reference source QPSK constellations, preventing a successful multiuser decoding of both of the separate user data streams in the uncoded system.
^{6} It can be shown that for constant N _{ b }+N _{ s } the minimum Euclidean distance \(\rho _{\text {HSI}}^{2}\) grows with decreasing N _{ b }, resulting in a more efficient utilization of “imperfect” HSI channels [15, 36] and consequently in a more reliable overheard HSI for the constellations with lower (nonzero) N _{ b }.
^{7} The estimated SNR parameters (\(\hat {\gamma }_{\text {MAC}},\,\hat {\gamma }_{\text {BC}},\,\hat {\gamma }_{\text {HSI}}\)) must be delivered to both sources by a feedback channel from the relay and/or destinations. The particular implementation of this feedback transmission is beyond the scope of this paper and hence (for the sake of simplicity) we assume that these parameters are made available at both sources by a genie. Note that in the HW evaluation, the required feedback is provided via UDP connection.
^{8} In a more general approach, each source data word is split into N _{ b }+N _{ s } parallel data subwords that are encoded separately using the principles of multilevel coding (see e.g. [37]). However, the development of a general multilevel coding scheme for WBN is beyond the scope of this paper.
^{9} Alternatively, a primitive endtoend coding scheme can be designed, performing the channel coding solely at sources S _{ A }, S _{ B } and channel decoding (potentially computationally intensive) solely at destinations D _{ A }, D _{ B }, while leaving the relay R to operate on a symbolbysymbol basis (as in the uncoded system). Unfortunately, this approach is only suboptimal, as in this case the particular transmissions on source →relay and relay →destination channels are not individually protected by channel coding.
^{10} Note that separate decoding of \(\mathbf {D}_{A}^{b},\,\mathbf {D}_{B}^{b}\) and subsequent evaluation of \(f\left (\mathbf {d}_{A}^{b},\mathbf {d}_{B}^{b}\right)\) (i.e. conventional joint/multiuser decoding concatenated with traditional network coding [38]) can significantly limit the performance of the system [13].
^{11} The (conditional) probability density function \(p\left (x\mathbf {c}_{A}^{s},\mathbf {c}_{B}^{s},f\left (\mathbf {c}_{A}^{b},\mathbf {c}_{B}^{b}\right)\right)\) which is required for the evaluation of particular mutual information in (13)(21) can be obtained by a proper marginalization operation \(p\left (x\mathbf {c}_{A}^{s},\mathbf {c}_{B}^{s},f\left (\mathbf {c}_{A}^{b},\mathbf {c}_{B}^{b}\right)\right)=\text {Pr}\left \{ f\left (\mathbf {c}_{A}^{b},\mathbf {c}_{B}^{b}\right)\right \}\cdot \sum _{\mathbf {c}_{A}^{b},\mathbf {c}_{B}^{b}:f \left (\mathbf {c}_{A}^{b},\mathbf {c}_{B}^{b}\right)} p\left (x\mathbf {c}_{A}^{s},\mathbf {c}_{B}^{s},\mathbf {c}_{A}^{b},\mathbf {c}_{B}^{b}\right)\), where \(p\left (x\mathbf {c}_{A}^{s},\mathbf {c}_{B}^{s},\mathbf {c}_{A}^{b},\mathbf {c}_{B}^{b}\right)\) is the likelihood function. For more details on the evaluation of CC capacity for finite input constellations see e.g. [13, 32].
^{12} The higher order strategies like (N _{ b }=4,N _{ s }=0) performed similarly as considered (N _{ b }=2,N _{ s }=1) in our simulations. Note that much stronger solution based on the modulosum channel coding and wireless network coding function is available [35], nevertheless implementation of the nonbinary channel code suitable for the USRP is challenging.
Declarations
Funding
This work has been performed in the framework of the European research project DIWINE, which is partly funded by the European Union under its FP7 ICT Objective 1.1  The Network of the Future. Work of Pavel Prochazka and Tomas Uricar was also partially supported by the Grant Agency of the Czech Technical University in Prague, SGS project SGS16/094/OHK3/1T/13.
Availability of data and materials
We are aware that the presented topic is difficult to understand without very specific background in wireless network coding. To help the reader to overcame this problem, we created a short tutorial [17]. The tutorial first motivates the constellation design, then it shortly introduces the wireless network coding principle, its relation to conventional network coding. Many visual demonstrations of the proposed constellation design can be also found there. In addition to this, the supplementary Python code is available to the reader so that one can touch the topic also by means of implemented algorithms.
Declarations
This work was partly reported in IEEE ICC [11].
Competing interests
The authors declare that they have no competing interests.
Publisher’s Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Open Access This article is distributed under the terms of the Creative Commons Attribution 4.0 International License(http://creativecommons.org/licenses/by/4.0/), which permits unrestricted use, distribution, and reproduction in any medium, provided you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license, and indicate if changes were made.
Authors’ Affiliations
References
 P Popovski, H Yomo, in Proc. IEEE Internat. Conf. on Commun. (ICC). Physical network coding in twoway wireless relay channels (IEEE Conference PublicationsPiscataway, 2007).Google Scholar
 B Nazer, M Gastpar, Reliable physical layer network coding. Proc. IEEE. 99(3), 438–60 (2011).View ArticleGoogle Scholar
 S Zhang, SC Liew, L Lu, Physicallayer network coding: Tutorial, survey, and beyond. Phys. Commun. 2012:, 1–39 (2012). doi:10.1016/j.phycom.2012.05.002.Google Scholar
 T KoikeAkino, P Popovski, V Tarokh, in Proc. IEEE Global Telecommunications Conf. (GlobeCom). Denoising maps and constellations for wireless network coding in twoway relaying systems (IEEE Conference PublicationsPiscataway, 2008).Google Scholar
 J Liu, M Tao, Y Xu, in Proc. IEEE Internat. Conf. on Commun. (ICC). Pseudo exclusiveOR for LDPC coded twoway relay block fading channels (IEEE Conference PublicationsPiscataway, 2011), pp. 1–5.Google Scholar
 K Yasami, A Razi, A Abedi, Analysis of channel estimation error in physical layer network coding. IEEE Commun. Lett. 15(10), 1029–31 (2011). doi:10.1109/LCOMM.2011.082011.110301.View ArticleGoogle Scholar
 T Uricar, J Sykora, Nonuniform 2slot constellations for bidirectional relaying in fading channels. IEEE Commun. Lett. 15(8), 795–7 (2011).View ArticleGoogle Scholar
 S Zhang, SC Liew, PP Lam, in Proc. IEEE Inf. Theory Workshop (ITW). On the synchronization of physicallayer network coding (IEEE Conference PublicationsPiscataway, 2006), pp. 404–408.Google Scholar
 F Rossetto, M Zorzi, in Proc. IEEE Workshop on Signal Processing Advances in Wireless Communications. On the design of practical asynchronous physical layer network coding (IEEE Conference PublicationsPiscataway, 2009), pp. 469–473.Google Scholar
 Y Huang, S Wang, Q Song, L Guo, A Jamalipour, Synchronous physicallayer network coding: a feasibility study. IEEE Trans. Wireless Commun. 12(8), 4048–4057 (2013).View ArticleGoogle Scholar
 P Prochazka, T Uricar, D Halls, J Sykora, in Proc. IEEE Int. Conf. on Commun. (ICC). Relaying in butterfly networks: superposition constellation design for wireless network coding (IEEE Conference PublicationsLondon, 2015), pp. 1–7.Google Scholar
 B Nazer, M Gastpar, in Proc. IEEE Internat. Symp. on Inf. Theory (ISIT). Computeandforward: Harnessing interference with structured codes (IEEE Conference PublicationsPiscataway, 2008), pp. 772–776.Google Scholar
 J Sykora, A Burr, Layered design of hierarchical exclusive codebook and its capacity regions for HDF strategy in parametric wireless 2WRC. IEEE Trans. Veh. Technol. 60(7), 3241–52 (2011).View ArticleGoogle Scholar
 T Uricar, B Qian, J Sykora, WH Mow, in Proc. IEEE Wireless Commun. Network. Conf. (WCNC). Superposition coding for wireless butterfly network with partial network sideinformation (IEEE Conference PublicationsShanghai, 2013), pp. 1–6.Google Scholar
 T Uricar, B Qian, J Sykora, WH Mow, Wireless (physical layer) network coding with limited hierarchical sideinformation: Maximal sumrates in 5node butterfly network. IEEE Trans. Wireless Commun. 13(10), 5582–95 (2014).View ArticleGoogle Scholar
 IWH Ho, SC Liew, L Lu, in Proc. IEEE Internat. Symp. on Inf. Theory (ISIT). Feasibility study of physicallayer network coding in 802.11p VANETs, (2014), pp. 646–650. doi:10.1109/ISIT.2014.6874912.
 P Prochazka, WNC tutorial—constellation design for butterfly network. http://pavel.prochazka.info/tutorial/const_design_WNC. Accessed 28 Dec 2016.
 TM Cover, JA Thomas, Elements of information theory (John Wiley & Sons, The Atrium, Southern Gate, Chichester PO19 8SQ, UK, 1991).View ArticleMATHGoogle Scholar
 TS Han, K Kobayashi, A new achievable rate region for the interference channel. IEEE Trans. Inf. Theory. 27:, 49–60 (1981).MathSciNetView ArticleMATHGoogle Scholar
 N Shende, BS Rajan, in Proc. National Conference on Communications (NCC). On the achievable rate of AWGN relay channel with finite input constellations (IEEE Conference PublicationsPiscataway, 2012), pp. 1–5.Google Scholar
 P Popovski, E de Carvalho, Improving the rates in wireless relay systems through superposition coding. IEEE Trans. Wireless Commun. 7(12), 4831–6 (2008).View ArticleGoogle Scholar
 PA Hoeher, T Wo, Superposition modulation: myth and facts. IEEE Communications Mag. 49(12), 110–6 (2011).View ArticleGoogle Scholar
 T KoikeAkino, P Popovski, V Tarokh, Optimized constellations for twoway wireless relaying with physical network coding. IEEE J. Sel. Areas Commun. 27(5), 773–87 (2009).View ArticleGoogle Scholar
 S Zhang, SC Liew, Applying physicallayer network coding in wireless networks. EURASIP J. on Wireless Comm. and Netw. 2010:, 1–12 (2010). doi:10.1155/2010/870268.View ArticleGoogle Scholar
 A Li, Y Yan, H Kayama, An enhanced denoiseandforward relaying scheme for fading channel with low computational complexity. IEEE Signal Process. Lett. 15:, 857–860 (2008).View ArticleGoogle Scholar
 E Research, N200/N210 Product overview. https://www.ettus.com/content/files/07495_Ettus_N200210_DS_Flyer_HR_1.pdf. Accessed 12 Feb 2016.
 GNURadio, GNURadio overview. http://gnuradio.org/redmine/projects/gnuradio. Accessed 12 Feb 2016.
 T Hynek, D Halls, J Sykora, in Proc. European Wireless Conf. (EW). Practical implementation of cloud initialization procedure for wireless physical layer network coding clouds (VDE Conference PublicationsBerlin, 2014), pp. 1–6.Google Scholar
 D Halls, W Thompson, S Galimberti, S Savazzi, T Hynek, J Sykora, J Coon, Evaluation of practical system constraints, DIWINE deliverable D5.12 (2014). Technical report, FP7 ICT Objective 1.1  The Network of the Future.Google Scholar
 E Research, OctoClockG Product overview. https://www.ettus.com/product/details/OctoClockG. Accessed 12 Feb 2016.
 E Biglieri, Coding for wireless channels (Springer, 233 Spring Street, New York, NY 100131578,USA, 2010).Google Scholar
 J Harshan, BS Rajan, On twouser gaussian multiple access channels with finite input constellations. IEEE Trans. Inf. Theory. 57(3), 1299–327 (2011).MathSciNetView ArticleMATHGoogle Scholar
 CB Schlegel, LC Perez, Trellis and turbo coding: iterative and graphbased error control coding (John Wiley & Sons, The Atrium, Southern Gate, Chichester PO19 8SQ, UK, 2015).View ArticleGoogle Scholar
 M Hekrdla, J Sykora, in Vehicular Technology Conference (VTC Spring), 2013 IEEE 77th. On indexing of latticeconstellations for wireless network coding with modulosum decoding (IEEE Conference PublicationsPiscataway, 2013), pp. 1–6.Google Scholar
 P Prochazka, Nonbinary channel coded physical layer network coding over modulosum algebraic ring structures. IEEE Commun. Lett. 20(3), 538–41 (2016).MathSciNetView ArticleGoogle Scholar
 T Uricar, J Sykora, Nonuniform 2slot constellations for relaying in butterfly network with imperfect side information. IEEE Commun. Lett. 16(9), 1369–72 (2012).View ArticleGoogle Scholar
 U Wachsmann, RFH Fischer, JB Huber, Multilevel codes: theoretical concepts and practical design rules. IEEE Trans. Inf. Theory. 45(5), 1361–91 (1999).MathSciNetView ArticleMATHGoogle Scholar
 RW Yeung, SYR Li, N Cai, Z Zhang, Network Coding Theory (NOW Publishers, 2600 AD Delft, The Netherlands, 2006).MATHGoogle Scholar