- Research
- Open access
- Published:

# Decentralized practical design and centralized benchmark for analog network coding

*EURASIP Journal on Advances in Signal Processing*
**volume 2013**, Article number: 71 (2013)

## Abstract

This article proposes both centralized and decentralized design schemes for an analog network coding multiple-input multiple-output system with a relay node between two end nodes. The proposed centralized scheme is called the generalized iterative approach (GIA). It jointly designs the precoders and decoders at the two end nodes, and the processor at the relay to maximize the sum mutual information. Numerical results for the per-node power constraint show the convergence behavior of the GIA and give a performance benchmark for the analog network coding scheme. The proposed decentralized scheme is a practical joint transceiver and signaling design scheme. The keys to its low signaling load are time-division duplex and a symmetric relay processing matrix. The proposed signaling protocol enables the needed information, including channel state information (CSI), to be available at each node. With the needed CSI, a novel symmetric processor design at the relay is developed to maximize an approximate sum mutual information formula (to reduce the signaling loading, the precoders at both end nodes and the noise propagated from the relay are not considered). Employing singular value decomposition transceivers at the two end nodes, it is remarkable that the proposed decentralized approach performs almost as well as the centralized GIA design. It is concluded that the proposed decentralized scheme is a feasible way to implement analog network coding systems.

## 1. Introduction

Analog network coding (e.g., [1–16]), also known as two-way amplify-and-forward relaying, is a bi-directional relaying technique. Its data transmission takes half the time of conventional bi-directional relaying. Moreover, it accomplishes this feat with simpler relay processing than another network coding technique, decode-and-forward network coding [1]. In analog network coding, both end nodes transmit simultaneously to the relay. The relay then processes its received signal and transmits it back to the end nodes. Finally, the end nodes then subtract their self-interference and decode their desired data.

There is no restriction on how many antennas each node needs to have in order for the system to do analog network coding. There are works on all single-antenna nodes (e.g., [2–4]). There are also works where the nodes can have multiple antennas (e.g., [5–16]). The multiple antennas can aid in multiplexing and/or diversity. Consequently, the rest of this article is about the case when each node has multiple antennas.

When each node has multiple antennas, one obvious and flexible approach is to use multiple-input multiple-output (MIMO) linear processing: a precoding and decoding matrix at each end node and a processing matrix at the relay. However, the design of these five matrices is not trivial. Some papers try to optimize according to some criteria (e.g., [8–11]) while others seek to propose low-complexity heuristics (e.g., [12, 13]). Since the optimization problems are highly nonlinear, the solutions have only been derived numerically (or approximately) and are innately sub-optimum. Moreover, they are not implementable unless they are supportable by practical signaling.

Some have realized this need to consider signaling. For example, Panah and Heath Jr [14] and Roemer and Haardt [15] have proposed channel estimation techniques to supplement their designs. However, both works assume that no channel state information (CSI) is available at the relay. In [14], the relay basically just scales and forwards its received signal. In [15], the relay processing does not have to be just a scaling. But, it is independent of the current CSI. There may be some improvement if CSI-dependent relay processing can be enabled.

Therefore, this article proposes a joint, *but decentralized*, transceiver and signaling design^{a} with the following goal: to have high-performing MIMO linear processing, not just scaling, at each node using only a small amount of signaling. The practical signaling protocol proposed uses time-division duplex (TDD) and enables the relay to estimate its two outgoing channels (i.e., the channels from the relay to the two end nodes). It also enables the two end nodes to estimate the two effective channels between themselves (i.e., the link from one end node through the relay to the other end node and the same link but in the opposite direction). Most importantly, it enables the two end nodes to cancel their self-interference.

To help keep the amount of signaling low, the proposal has the relay design its own symmetric relay processing matrix. The symmetry and the use of TDD together cause the end-to-end channel in one direction to be the transpose of the other direction’s, i.e., reciprocity holds for the two effective channels between the two end nodes. (The conjugate-transpose instead of the transpose is used in a lot of literature for representing the channel reciprocity. However, the conjugate-transpose should be used only for time reversal transmissions. Discussions on reciprocity can be found in most electromagnetic textbooks (e.g., see [17, 18])). An end node needs to know the effective channel in each direction in order to choose a channel-dependent precoder and decoder. In general, knowing one effective channel does not imply knowing the other thus necessitating signaling both of them. Due to the symmetry and TDD, only one effective channel needs to be signaled here.

Another design decision is to sequentially design the relay processor and the end node processors; the relay designs its processor and then the end nodes design their own. There are no iterations between the processors. The major benefit of this choice is avoiding signaling repeatedly between the nodes. The chosen way to enable this sequential design is to have the relay design its processor ignoring the precoders, decoders, and the noise propagated from the relay. Though there may be some degradation in the sum mutual information, this decoupling substantially reduces the complexity of the relay. In turn, the lower complexity admits a shorter hardware timeline, etc.—reducing the duration of an analog network coding transmission. Two relay designs which comply with the above design choices are a heuristic approach RRANOMAX in [12] and a novel iterative scheme herein developed which seeks to maximize an approximation to the sum mutual information.

To evaluate the performance of the proposed decentralized scheme, a generalized iterative approach (GIA) is developed for jointly designing the precoders, decoders, and relay processor to maximize the true sum mutual information. The GIA is a centralized scheme where all CSI, noise, and source statistics have to be known at a central processing unit and, in addition, the processed results have to be available at the end and relay nodes. Because of the large amount of signaling load, the GIA is not very practical but can be employed for generating a performance benchmark. Although mutual information maximization for MIMO relay systems has been studied extensively, those for analog network coding systems have only been recently introduced in [6, 7]. Both [6, 7] are different from the GIA in that they are both based on the assumption that source precoders are given beforehand. Like the GIA, the studies [9, 10] are also for the design of the precoders, decoders, and relay processor. However, its criterion is minimum mean squared error (MMSE). To the best of the authors’ knowledge, our GIA is the first work on joint precoders, decoders, and relay processors design to maximize the sum mutual information of MIMO analog network coding systems. It is known that the MMSE and mutual information are related for a MIMO channel with Gaussian noise (Equation 22 in [19]). However, that relation is not satisfied for analog network coding systems because of the following two reasons. First, the relay and precoders chosen for the maximum sum mutual information case are different from those for the MMSE case. Second, the noises at the two end nodes (which include the propagation of the noise received at the relay) for the maximum sum mutual information case are also not the same as those for the MMSE case.

The convergence behaviors of the proposed symmetric relay design and the proposed GIA are studied. Their sum mutual information performances are also studied. It is shown numerically that the decentralized approach performs almost as well as the centralized benchmark, the GIA. It is thus concluded that the proposed decentralized approach is a feasible way to implement analog network coding.

The outline of this article is given as follows. Section 2 lays the formulation foundation. Section 3 presents the GIA, a novel centralized scheme for jointly design the precoders, decoders, and relay processor*.* Section 4 explains the proposed signaling protocol for decentralized designs and gives a joint precoder–decoder design where no additional signaling is required. Following the decentralized signaling protocol, Section 5 proposes a novel design for a symmetric relay processing matrix according to the approximate sum mutual information metric. The RRANOMAX design [12] is also summarized in Section 5. Numerical results are shown in Section 6. Conclusion is made in Section 7.

The notation of this article is as follows: all boldface letters indicate vectors (lower case) or matrices (upper case). **A**
^{’}, \overline{A}, **A**
^{*}, **A**
^{–1}, *tr*(**A**), |**A**|, ||**A**||_{F}, and < **A** > stand for the transpose, conjugate, conjugate transpose, inverse, trace, determinant, Frobenius norm, and expectation of **A**, respectively. **I**
_{
r
} denotes the *r* × *r* identity matrix. **0** denotes the zero matrix with proper dimension. **A** > 0 denotes that **A** is a positive definite matrix. **A** ⊗ **B** denotes the Kronecker product of **A** and **B**. *vec*( ) and *unvec*( ) are the matrix vectorization operator and the inverse matrix vectorization operator, respectively. DIAG (*σ*
_{1}, *σ*
_{2}, …, *σ*
_{
r
}) is a diagonal matrix where the elements {*σ*
_{1}, *σ*
_{2}, …, *σ*
_{
r
}} are put on the main diagonal. {**A**
_{
k
}} denotes the set of matrices, **A**
_{1}, **A**
_{2}, etc. max(*a*,*b*) denotes the maximum of real numbers *a* and *b*. On the other hand, min (*a*,*b*) denotes the minimum of real numbers *a* and *b*. (*χ*)^{+} = max(*χ*, 0).

## 2. Analog network coding formulation

This article considers a TDD system with relay node *R*, equipped with *M*
_{
R
} antennas, between two end nodes *E*
_{1} and *E*
_{2}, equipped with *M*
_{1} and *M*
_{2} antennas, respectively. Each node works in half-duplex mode, receiving and transmitting data in different time slots. These nodes perform analog network coding, completing a bi-directional communication between the two end nodes in just two time slots (see Figure 1)—note that this does not include the time slots for signaling. The problem will be formulated in the frequency domain. It is assumed that the guard time is larger than the delay spread so that there is no inter-symbol interference. It is also assumed that the duration for the system to complete a bi-directionary communication is much smaller than the coherence time so that the channels are considered stationary within that duration.

Two time slots for data (not signaling) transmission are used in analog network coding. The end nodes *E*
_{1} and *E*
_{2} broadcast signals **x**
_{1} = **F**
_{1}
**s**
_{1} and **x**
_{2} = **F**
_{2}
**s**
_{2}, respectively, to the relay in the first time slot. The relay thus receives

The data vector **s**
_{
i
} is a *d*
_{
i
} × 1 vector and is precoded by the *M*
_{
i
} × *d*
_{
i
} precoder **F**
_{
i
}; the scalar *d*
_{
i
} is the number of data streams from *E*
_{
i
}. Each element of **s**
_{
i
} is assumed to be zero-mean and the entire vector **s**
_{
i
} satisfies<{\mathbf{s}}_{i}{\mathbf{s}}_{i}{}^{*}>={\sigma}_{\mathbf{s}i}^{2}\phantom{\rule{0.25em}{0ex}}\mathbf{I}>\mathbf{0}. The *M*
_{
R
} × *M*
_{
i
} matrix **H**
_{
i
} (*i* = 1,2) is the Rayleigh fading channel from *E*
_{
i
} to the relay, **y** is the *M*
_{
R
} × 1 relay received vector, and **w** is the *M*
_{
R
} × 1 Gaussian noise vector at the relay. The elements of **w** are zero mean and satisfy < **ww*** > = **Φ**
_{
w
} > **0**. In this article, the transmit power of *E*
_{
i
} is constrained by requiring

In the second time slot, the relay transmits *γ* **Ty** back to each end node. Here, **T** is its *M*
_{
R
} × *M*
_{
R
} processing matrix. The scalar *γ* is chosen to ensure the relay power constraint

From (3), we observe that the power constraint on the relay processor depends on the precoders {**F**
_{
i
}}. Due to the channel reciprocity, *E*
_{
i
}’s (*i* = 1,2) received signal vector (of dimension *M*
_{
i
} × 1) is

(*j* = 1 if *i* = 2 and *j* = 2 if *i* = 1). In the above, **a**
_{
i
} is the *M*
_{
i
} × 1 Gaussian noise vector at *E*
_{
i
}. It has elements with zero mean and satisfies <{\mathbf{a}}_{i}{\mathbf{a}}_{i}^{*}>={\mathbf{\Phi}}_{\mathbf{a}i}>\mathbf{0}. The vectors, **s**
_{1}, **s**
_{2}, **w**, **a**
_{1}, and **a**
_{2}, are all independent of each other. Also, the channel matrix from the relay to *E*
_{
i
} is **H**
_{
i
}
^{'}. For convenience, let {\mathbf{C}}_{\mathit{ij}}={\mathbf{H}}_{i}^{\text{'}}\gamma \mathbf{T}{\mathbf{H}}_{j} denote the effective channel from the end node *E*
_{
j
}, through the relay, to the end node *E*
_{
i
}, and let {\mathbf{n}}_{i}={\mathbf{H}}_{i}^{\text{'}}\gamma \mathbf{Tw}+{\mathbf{a}}_{i} represent the effective noise at the end node *E*
_{
i
}, where *i,j* = 1,2. Equation (4) can thus be rewritten as

where the effective noise covariance matrix is

Look at *E*
_{
i
}’s (*i* = 1,2) received signal vector. It is clear that using only two time slots has caused **x**
_{
i
} and **x**
_{
j
} to be mixed together in **z**
_{
i
}. That is, *E*
_{
i
} interferes with itself. *Somehow* though, *E*
_{
i
} knows **C**
_{
ii
}, the effective channel from itself, through the relay and back to itself. Since *E*
_{
i
} transmitted **x**
_{
i
}, *E*
_{
i
} knows **x**
_{
i
} as well and thus can subtract its self-interference completely from **z**
_{
i
}. Consequently, it obtains

To decode **s**
_{
j
}, *E*
_{
i
} now has the options of regular point to point transmissions (e.g., applying a *d*
_{
j
} × *M*
_{
i
} decoder **G**
_{
i
}).

## 3. Centralized design

Let **G**
_{
i
} denote the decoder at *E*
_{
i
}. Then, from [20], the mutual information pertaining to the transmission of **s**
_{
j
} from *E*
_{
j
} to *E*
_{
i
} is

Assuming all CSI, source and noise statistics are known at a centralized processing unit, we are to maximize *I*
_{
E 1} + *I*
_{
E 2} by jointly designing the decoders {**G**
_{1}, **G**
_{2}}, precoders {**F**
_{1}, **F**
_{2}} and relay processor **T** subject to the per-node power constraints at the precoders (see (2)) and at the relay (see (3)).

Let {**F**
_{1}, **F**
_{2}, **T**} be known. Also let \left|{\mathbf{G}}_{i,\mathrm{OPT}}{\mathbf{\Phi}}_{\mathbf{n}i}{\mathbf{G}}_{i,\mathrm{OPT}}^{\mathbf{*}}\right|\ne 0 where

and where **Π** is any invertible square matrix. Note that the commonly used MMSE decoder and singular value decomposition (SVD) decoder (if {\mathbf{F}}_{j}^{*}{\mathbf{C}}_{\mathit{ij}}^{*} is invertible) can also be expressed using (9). In this case, Corollary 1 of [20] shows that **G**
_{
i, OPT} is the optimum decoder and the mutual information *I*
_{
Ei
} in (8) becomes

Note that \left|{\mathbf{G}}_{i,\mathrm{OPT}}{\mathbf{\Phi}}_{\mathbf{n}i}{\mathbf{G}}_{i,\mathrm{OPT}}^{\mathbf{*}}\right|\ne 0 necessitates that **F**
_{
j
} has full column rank. Due to the way **T** is made in this design, *γ* is not used. The scalar *γ* is thus equal to 1.

The remaining task now is to choose the precoders {**F**
_{1}, **F**
_{2}} and relay processor **T** to maximize the sum mutual information, *I*
_{
E 1} + *I*
_{
E 2}, subject to the constraints (2–3). That is,

Obtaining an optimum solution to (11) is very difficult due to the intercoupling of the design variables, etc. Consequently, the GIA seeks to find a solution by decoupling the choices for the precoders and relay processor. It does this by iteratively designing them. Before looking at the GIA’s actual iterative procedure in Section 3.3, first look at Section 3.1 which gives a way to choose the precoders given the relay processor **T**. Then, look at Section 3.2 which gives a way to choose **T** given the precoders. The reason is that the findings in Sections 3.1-3.2 are used in Section 3.3.

### 3.1. Fix relay processor and get precoders

Given a relay processor **T**, the cost function in (11), and the constraint (2), this section details one way to choose precoders {**F**
_{1}, **F**
_{2}}. As shown in (7), the two-way transmission can be considered as two independent single-user MIMO systems when **T** is known. As there exists a closed-form solution for maximizing the mutual information of a single-user MIMO system subject to the per-node power constraint [20], the proposed way is to just apply that closed-form solution here: First, perform the eigenvalue decomposition.

As is standard, the block matrix [**V**
_{
j
} **U**
_{
j
}] is unitary while **Ξ**
_{
j
} and **Γ**
_{
j
} are diagonal matrices with the eigenvalues. As the eigenvalues are arranged in descending order,

has the *r*
_{
j
} largest eigenvalues and **Γ**
_{
j
} has the remaining (*M*
_{
j
} – *r*
_{
j
}) eigenvalues; *r*
_{
j
} = min(*d*
_{
j
}, rank(**C**
_{
ij
})). Note that **V**
_{
j
} is *M*
_{
j
} × *r*
_{
j
} and **U**
_{
j
} is *M*
_{
j
} × (*M*
_{
j
} – *r*
_{
j
}). Then, set

where **Φ**
_{
j
} is a diagonal matrix with the *l* th diagonal entry

In (15), *τ* is the number of positive *ϕ*
_{
j,ll
} (see Lemma 2 in [20]) and, {\sigma}_{\mathit{sj}}^{2} and *p*
_{
j
} are defined in (2).

### 3.2. Fix precoders and get relay processor

Given precoders {**F**
_{1}, **F**
_{2}}, the cost function in (11), and the constraint in (3), this section details one way to choose relay processor **T**. The method of Lagrange multipliers can be used to set up the augmented cost function

where *λ*
_{
T
} is an unknown Lagrange multiplier. In (16), matrix **T** is what we are looking for in design while *λ*
_{
T
} is solved for so that **T** can satisfy its corresponding power constraint. Setting the gradient of the augmented cost function in (16) with respect to **T** equal to zero, we obtain (see Appendix 1)

where

By using Kronecker products we obtain the relay processor from (17) for a given *λ*
_{
T
}:

Note that **TX**
_{
1
}
**T**
^{*} = **Q** in (3) and **Y**
_{1} is the scalar *λ*
_{
T
} timing an identity matrix. Thus, left multiplying (17) by **T**, taking the trace, and applying the power constraint in (3), we have

Note that (18) gives **T** as a function of **T** and *λ*
_{
T
}. Moreover, (19) gives *λ*
_{
T
} as a function of **T**. Thus, one way to get a **T** is to iterate between (18) and (19) until convergence.

### 3.3. The iterative procedure

The GIA is as follows:

Step a. Set *k* = 0 and set the stopping threshold *δ* > 0 and the maximum number of iterations *k*
_{max}. Randomly initialize the precoders and relay processor for the 0th iteration: **F**
_{1,0}, **F**
_{2,0}, and **T**
_{0}. Make sure they satisfy (2–3).

Step b. Calculate {\mathbf{C}}_{\mathit{ij},k}={\mathbf{H}}_{i}^{\text{'}}\gamma {\mathbf{T}}_{k}{\mathbf{H}}_{j}={\mathbf{H}}_{i}^{\text{'}}{\mathbf{T}}_{k}{\mathbf{H}}_{j} (since *γ* = 1). Also, use (6) to find **Φ**
_{
n i,k
} (replacing **Φ**
_{
n
i
} and **T** by **Φ**
_{
n i,k
} and **T**
_{
k
}, respectively).

Step c. Use (13–15) to find **F**
_{
j,k}, *j* = 1,2, (replacing **F**
_{
j
}, **C**
_{
ij
} and **Φ**
_{
n
i
} by **F**
_{
j,k}
**, C**
_{
ij,k
} and **Φ**
_{
n i,k
}, respectively).

Step d. Use (17a–c) to find **Z**
_{
k
}, **X**
_{1,k
}, and **Y**
_{2,k
} (replacing **Z**, **X**
_{1}, **Y**
_{2}
**, F**
_{
j
}, **C**
_{
ij
}, and **Φ**
_{
n
i
} by **Z**
_{
k
}, **X**
_{1,k
}, **Y**
_{2,k
}
**, F**
_{
j,k}, **C**
_{
ij,k
} and **Φ**
_{
n i,k
}, respectively).

Step e. Use (19) to calculate *λ*
_{
T,k
} (replacing *λ*
_{
T
}, **T**, **Z**, and **Y**
_{2} by *λ*
_{
T,k
}, **T**
_{
k
}, **Z**
_{
k
}, and **Y**
_{2,k
}, respectively).

Step f. Use (17a) to calculate **Y**
_{1,k
} (replacing *λ*
_{
T
} by *λ*
_{
T,k
}).

Step g. Use (18) to calculate **T**
_{
k+1} (replacing **T**, **Z**, **X**
_{1}, **Y**
_{1} and **Y**
_{2} by **T**
_{
k+1}, **Z**
_{
k
}, **X**
_{1,k
}, **Y**
_{1,k
} and **Y**
_{2,k
}, respectively).

Step h. If the precoder matrices converge (*dF*
_{
j,k
} = ||**F**
_{
j,k
} – **F**
_{
j,k- 1}||_{F} < *δ*, for *j* = 1,2), the relay processor converges (*dT*
_{
k
} = ||**T**
_{
k+1} – **T**
_{
k
}||_{F} < *δ*), and the power constraint at the relay processor converges (*dq*
_{
k
} = |*tr*(**Q**
_{
k
}) − *q*| < *δ*), then set **F**
_{
j
} = **F**
_{
j,k
} and **T** = **T**
_{
k
} and stop. Here, we do not have to check the power constraints at the end nodes since the closed form solution (14) always guarantees that they are satisfied.

Else if *k* = *k*
_{max}, set **F**
_{
j
} = **F**
_{
j,k
} and **T** = **T**
_{
k+ 1} and stop.

Otherwise, set *k* = *k* + 1 and return to step b.

After the above iteration is finished, remove any all zero columns from **F**
_{1} and **F**
_{2}. This does not change *I*
_{
E 1} and *I*
_{
E 2} in (10). However, it’s needed so that (8) can be simplified to (10). Also, scale **T** to satisfy the relay power constraint if the iteration terminated before convergence. Let d{p}_{i,k}=|{\sigma}_{\mathbf{s}i}^{2}\mathrm{tr}\left\{{\mathbf{F}}_{i,k}{\mathbf{F}}_{i,k}{}^{*}\right\}-{p}_{i}|. Observe that there is no need to check *dp*
_{1,k
} and *dp*
_{2,k
} in step h due to the use of the closed-form solutions for the precoders.

Below is the summary of the GIA approach. First, we transform the optimization problem in (11) into a root searching problem which attempts to solve for the relay processor **T** using the system of nonlinear equations defined in (18). Note that, in (18) and the supplementary equations (17, 17a, 17b, 17c), the precoders **F**
_{1} and **F**
_{2} are no longer considered unknowns because they can be expressed in terms of **T** using (14). Second, we solve (18) iteratively using step g. Thus, the convergence of GIA depends on the convergence of solving (18) using step g. As shown in [21], as long as the spectral radius (the largest magnitude of the eigenvalues) of the Jacobian matrix corresponding to (18) is less than 1 at the initial guess of the solution, an appropriate iterative approach will converge to one of the solutions. Thus, a proper selection of initial estimates will guarantee the convergence of the proposed GIA. Extensive numerical studies have been performed and the convergent properties of the GIA are shown in Section 6.1. When the GIA converges, it will converge to a local extremum. It is difficult to prove whether the numerically derived solution is global optimum or not because the problem is highly nonlinear.

## 4. Decentralized design: protocol

As shown in (7), *E*
_{
i
} (*i* = 1,2) needs to know **C**
_{
ii
} to remove the self interference. Actually, each of the nodes needs certain information such as **C**
_{
ij
}, *i ≠ j*, in order to design its processing matrix, decoder, etc. So, this section proposes a four-step protocol for the nodes to follow. To help explain why the protocol is constructed the way it is, perfect estimation for each channel sounding is assumed in this explanation.

The first step is for *E*
_{1} and *E*
_{2} to perform channel soundings so that the relay can estimate **H**
_{1} and **H**
_{2}. In the second step, the relay chooses a *symmetric* **T**—two possible ways are given in Section 5. Next, the relay picks *γ* so that (3) is satisfied. It can do this since it knows what precoders the end nodes will use (see step 4). In the third step, the relay performs two equivalent channel soundings, one precoded with *γ* **TH**
_{1} and the other precoded with *γ* **TH**
_{2}. From these two soundings, *E*
_{
i
} (*i* = 1,2) estimates the effective channel matrices **C**
_{
ii
} and **C**
_{
ij
} (*j ≠ i*, *j* = 1,2). The first term is what *E*
_{
i
} needs to subtract its self-interference; **C**
_{
ii
} is exactly what is left multiplying **x**
_{
i
} in (5). The second term is the effective channel from *E*
_{
j
}, through the relay, to itself. What is more, the transpose of the second term is the effective channel from itself to *E*
_{
j
} —this is why the relay made **T** symmetric.

In the fourth step, *E*
_{
i
} (*i* = 1,2) designs its precoder **F**
_{
i
} and decoder **G**
_{
i
} without any signaling with the other end node. How can they do this and still have **F**
_{1} match **G**
_{2} and **F**
_{2} match **G**
_{1}? Simple: *E*
_{1} uses a reproducible algorithm based on its estimate of **C**
_{21} to design its precoder **F**
_{1}. *E*
_{2} follows the same algorithm with its estimate of **C**
_{21} so that it can know *E*
_{1}’s precoder **F**
_{1}. *E*
_{2} can thus design its decoder **G**
_{2} to match *E*
_{1}’s precoder **F**
_{1}. *E*
_{2} and *E*
_{1} proceed in an analogous fashion so that *E*
_{2}’s precoder **F**
_{2} and *E*
_{1}’s decoder **G**
_{1} match as well. Recall that the relay already picked *γ* in the second step since it knew what precoders the end nodes would choose. Thus, one additional requirement for this reproducible algorithm is that it must be unaffected by a positive scaling of **C**
_{21}. That is, the end node will result in the same precoder and decoder whether it is given **C**
_{21} or *ρ* **C**
_{21} where *ρ* is any positive scalar. Though this last requirement may seem like a stringent restriction, the following example implementation of step 4 shows this is not necessarily the case. Moreover, the ability of the relay to calculate *γ* before the end nodes design their precoders is very important as explained in Appendix 2.

To illustrate step 4, here is an example for **F**
_{1} and **G**
_{2}. The effective channel **C**
_{21} is fixed since the relay has already picked **T** and *γ*. As in Section 3.1, let *r*
_{1} = min(*d*
_{1}, rank(**C**
_{21})) be the number of data streams *E*
_{1} will transmit. At *E*
_{1}, it first takes an SVD of **C**
_{21}

where the singular values *σ*
_{1}, *σ*
_{2}, etc., are in descending order, U=\left[{u}_{1}\phantom{\rule{0.36em}{0ex}}\dots \phantom{\rule{0.36em}{0ex}}{u}_{{M}_{z}}\right] and v=v\phantom{\rule{0.36em}{0ex}}\dots \phantom{\rule{0.36em}{0ex}}{v}_{{M}_{1}}. Then, *E*
_{1} sets

where the phase *θ*
_{
l
} (*l* = 1,…,*r*
_{1}) is chosen such that the first non-zero element of {\mathbf{v}}_{l}{e}^{j{\theta}_{l}} is positive. And, *α* > 0 is chosen to satisfy the power constraint. *E*
_{2} also takes the same steps. *E*
_{2} takes a SVD of **C**
_{21}

where \tilde{\mathbf{U}}=\left[\begin{array}{ccc}\hfill {\tilde{u}}_{1}\hfill & \hfill \dots \hfill & \hfill {\tilde{u}}_{{M}_{2}}\hfill \end{array}\right] and \tilde{\mathbf{V}}=\left[\begin{array}{ccc}\hfill {\tilde{v}}_{1}\hfill & \hfill \dots \hfill & \hfill {\tilde{v}}_{{M}_{1}}\hfill \end{array}\right]. For each *l* = 1,…,*r*
_{1}, it chooses *φ*
_{
l
} such that the first non-zero element of {\tilde{v}}_{l}{e}^{j{\phi}_{l}} is positive. Then, it chooses the scalar to satisfy the power constraint.

Thus, E_{2} also gets **F**
_{1}. Equation (21b) depends on σ_{1},…, {\sigma}_{{r}_{1}} being distinct, something that can be assumed for physical systems. Now, *E*
_{2} proceeds to set

The end-to-end channel is thus

without any signaling between the two end nodes. Moreover, *E*
_{1} and *E*
_{2} would have gotten the same precoder and decoder, respectively, if they had been using *ρ* **C**
_{21}.

## 5. Decentralized design: relay processors

The decentralized protocol presented in Section 4 is very general and can support many possible relay processor designs as long as their **T**’s are symmetric. Two possible designs are presented here as examples.

### 5.1. Iterative symmetric design (ISA)

The sum mutual information, (10), depends on both the relay processor and the precoders. For this proposed decentralized design, the dependence on the precoders in (10) is removed to reduce the signaling loading as discussed in Section 1. Furthermore, the noise propagated from the relay to the end nodes is ignored for convenience. That is, this design considers a simplified version of mutual information:

Here, *ρ*
^{2} = *p*
_{
i
}/*tr*(**Φ**
_{
a
i
}) signifies the transmit SNR (the ratio between the total transmit signal power and the total receive thermal noise power) and *c*
_{
j
} is related to the mutual information of the effective channel **C**
_{
ij
}. The problem is

The second “=” in (25) is due to

Equation (26) itself follows from {\mathbf{C}}_{\mathit{ij}}={\mathbf{C}}_{\mathit{ji}}^{\text{'}} which, in turn, is a result of **T** = **T**
^{'}. The trace constraint is needed to keep the elements of **T** from exploding to infinity. To search for such a **T**, the augmented cost function

is introduced with the real Lagrange multiplier *λ*. Using the technique of variation, we obtain (see Appendix 3)

for every *M*
_{
R
} × *M*
_{
R
} symmetric matrix **S**. In (28),

By Appendix 4, this in turn means that {\overline{H}}_{2}{\mathbf{\Gamma}}_{a}{\mathbf{H}}_{2}^{\text{'}}\mathbf{T}{\mathbf{M}}_{1}+\lambda \mathbf{T} is skew-symmetric. That is,

Noting that {\mathbf{T}}^{*}=\overline{T}, right multiply (29) by \overline{T} and apply the trace constraint in (25) to get *λ*. Since \mathit{tr}\left(N\overline{T}\right)=\mathit{tr}\left\{{\left(N\overline{T}\right)}^{\text{'}}\right\}=\mathit{tr}\left(\overline{T}{\mathbf{N}}^{\text{'}}\right)=\mathit{tr}\left({\mathbf{N}}^{\text{'}}\overline{T}\right) with \mathbf{N}\triangleq {\overline{T}}_{2}{\mathbf{\Gamma}}_{a}{\mathbf{H}}_{2}^{\text{'}}\mathbf{T}{\mathbf{M}}_{1}, we have

Finally, plugging (30) into (29), we have

Clearly, a **T** satisfying (31) is a feasible solution to (25) as it is symmetric and satisfies the trace constraint of (25). As (31) gives an implicit expression of **T** as a function of **T** itself, this naturally leads to the following iterative procedure to get **T**. Since (31) is a highly nonlinear equation of **T**, averaging (step c) is used.

Step a Randomly initialize **T**
_{0} as an *M*
_{
R
} × *M*
_{
R
} symmetric matrix satisfying the trace constraint of (25). Set *k* = 0. Also, set the stopping threshold *δ* and the maximum number of iterations *k*
_{max}.

Step b Use (28b) to calculate **Γ**
_{
a,k
} (replacing **Γ**
_{
a
} by **Γ**
_{
a,k
} and **T** by **T**
_{
k
}.)

Step c Set {\mathbf{T}}_{k+1}=\beta {\mathbf{T}}_{k}+\left(1-\beta \right){\widehat{T}}_{k+1} where 0 ≤ *β* < 1 and {\widehat{T}}_{k+1}=\frac{{\overline{H}}_{2}{\mathbf{\Gamma}}_{a,k}{\mathbf{H}}_{2}^{\text{'}}{\mathbf{T}}_{k}{\mathbf{M}}_{1}+{\left({\overline{H}}_{2}{\mathbf{\Gamma}}_{a,k}{\mathbf{H}}_{2}^{\text{'}}{\mathbf{T}}_{k}{\mathbf{M}}_{1}\right)}^{\text{'}}}{2\xb7\mathit{tr}\left({\overline{H}}_{2}{\mathbf{\Gamma}}_{a,k}{\mathbf{H}}_{2}^{\text{'}}\mathbf{T}{\mathbf{M}}_{1}{\overline{T}}_{k}\right)}. Note the similarity between {\widehat{T}}_{k+1} and (31).

Also, set d{\eta}_{k+1}=\left|\mathit{tr}\left\{{\mathbf{T}}_{k+1}{\mathbf{T}}_{k+1}^{*}\right\}-1\right|.

Step d. If \frac{\left|{c}_{1}\left({\mathbf{T}}_{k+1}\right)-{c}_{1}\left({\mathbf{T}}_{k}\right)\right|}{{c}_{1}\left({\mathbf{T}}_{k}\right)}<\delta and *dη*
_{
k + 1} < *δ*, set **T** = **T**
_{
k+ 1} and stop.

Else if *k = k*
_{max}, set **T** = **T**
_{
k+ 1} and stop. Otherwise, set *k* = *k* + 1 and go to step b.

As in the GIA approach, we transform the optimization problem in (24) in the ISA approach into a root searching problem which attempts to solve for the relay processor **T** for the system of nonlinear equations defined in (31). Thus, the convergence of ISA depends on the convergence of solving (31) iteratively using step c. As shown in [21], a proper selection of initial estimates will guarantee the convergence of the proposed ISA scheme. Extensive numerical studies have been performed and the convergent properties of the ISA are shown in Section 6.1. When the ISA converges, it will converge to a local extremum. Recall that (24) is an approximate mutual information formula to enable our decentralization. So, no optimality claim is made with regards to the actual sum mutual information.

### 5.2. RRANOMAX design

The second design is the relay processor design used in the RRANOMAX approach in [12]. It can be used when the relay noise covariance matrix is a scalar times an identity matrix, i.e., **Φ**
_{
w
} = *σ*
^{2} **I** > **0**.. For completeness, we restate it below. Perform the SVD on **K** = 0.5[**H**
_{2} ⊗ **H**
_{1}, **H**
_{1} ⊗ **H**
_{2}]:

Define **u**
_{
K,1} as the first column of **U**
_{
k
}. Then, the initial design of the relay processor is

The *M*
_{
R
} × *M*
_{
R
} symmetric matrix **Ω** could be used as **T** but it is not. The reason is due to the nature/distribution of its singular values. So, instead, perform the SVD on **Ω**:

The singular values in (34) are arranged in descending order. The **T** will be obtained from **Ω** by replacing {\sigma}_{{\Omega}_{1}},\dots ,{\sigma}_{{\Omega}_{{M}_{R}}} by {\widehat{\sigma}}_{{T}_{1}},\dots ,{\widehat{\sigma}}_{{T}_{{M}_{R}}}. That is,

These new singular values are defined by

Here, *L* = min{*M*
_{
R
}, min{*M*
_{1}, *M*
_{2}} + 1} and *μ* is chosen so that {\widehat{\sigma}}_{{T}_{1}}^{2}+{\widehat{\sigma}}_{{T}_{2}}^{2}+\cdots +{\widehat{\sigma}}_{{T}_{{M}_{R}}}^{2}=1. In (35a),

where *σ*
_{
i,k
} is the *k* th singular value of **H**
_{
i
} (arranged in descending order).

## 6. Numerical results

Without loss of generality, assume that the noise covariance matrices **Φ**
_{
a
i
} and **Φ**
_{
w
} are identity matrices. Also assume that the source covariance matrices are also identity matrices (i.e., {\sigma}_{\mathbf{s}1}^{2}={\sigma}_{\mathbf{s}2}^{2}=1). The numbers of antennas at the two end nodes are the same (i.e., *M*
_{1} = *M*
_{2}) and are equal to 4. The number of antennas at the relay node *M*
_{
R
} is either equal to *M*
_{1} or 2 *M*
_{1}. Consider uncorrelated Rayleigh fading channels where all channel matrices are normalized such that the Frobenius norm of **H**
_{
j
}, *j =* 1,2, is one. With the per-node power at each end node as *p*
_{1} = *p*
_{2} = *P* and the relay power as *q =* 2*P*, we define “SNR” as 10 log_{10}(*P*/*M*
_{1}). The reason is that it is the dB value of the ratio between the total transmit power (*tr*(**F**
_{
i
}
**F**
_{
i
}
^{*})) and the total thermal noise power (*tr*(**Φ**
_{
a
i
})) at an end node. Here, the channels and the noise propagated from the relay are not included in the “SNR” definition. The stop parameters for the ISA, *δ*, and *k*
_{max} are chosen to be 0.001 and 50, respectively. The stop parameters for the GIA, *δ*, and *k*
_{max} are chosen to be 0.001 and 2000, respectively.

### 6.1. Convergence property of the GIA and ISA

Figure 2 shows the average number of iterations the GIA needed per “SNR” for 100 channel realizations. One set of points is for the *M*
_{1} = *M*
_{2} = *M*
_{
R
} = 4 configuration while the other is for the *M*
_{1} = *M*
_{2} = 4 and *M*
_{
R
} = 8 one. There have been other iterative transceiver designs very similar to the GIA (e.g., [22]). For those designs, it was common to see the number of iterations increasing with the SNR. It is interesting that the phenomenon is not seen here for both antenna configurations. Figure 3 shows an example convergence plot for the GIA for the *M*
_{1} = *M*
_{2} = *M*
_{
R
} = 4 configuration and “SNR” = 0 dB. Observe that *dp*
_{1,k
} and *dp*
_{2,k
} are very small as expected due to the use of the closed-form solutions for the precoders.

Figure 4 shows the average number of iterations the ISA needed per “SNR” for 100 channel realizations. Again, the *M*
_{1} = *M*
_{2} = *M*
_{
R
} = 4 and, *M*
_{1} = *M*
_{2} = 4 and *M*
_{
R
} = 8 configurations are studied. It is very interesting that the trends for the two configurations are completely different. The *M*
_{1} = *M*
_{2} = 4 and *M*
_{
R
} = 8 configuration sees a pretty constant average number of iterations needed over the different “SNR” values. On the other hand, the average number of iterations needed in the *M*
_{1} = *M*
_{2} = *M*
_{
R
} = 4 configuration decreases as the “SNR” increases. Consequently, in the *M*
_{1} = *M*
_{2} = *M*
_{
R
} = 4 configuration, there are many channel realizations for which the ISA converges almost right away. Figures 5 and 6 show example convergence plots for the ISA in both antenna configurations. For Figure 5 (the *M*
_{1} = *M*
_{2} = *M*
_{
R
} = 4 configuration), note that the number of iterations for “SNR” = 0 dB is very large compared to that for “SNR” = 20 dB. For Figure 6 (the *M*
_{1} = *M*
_{2} = 4 and *M*
_{
R
} = 8 configuration), note that the number of iterations for “SNR” = 0 and 20 dB are basically the same. Both of these observations are consistent with our expectations after seeing Figure 4.

### 6.2. Sum mutual information performances

Recall that the decentralized signaling protocol proposed in Section 4 was flexible in terms of what relay processor **T** the relay used. So here, we demonstrate the sum mutual information performance of the proposed protocol with three relay designs. The first one is to choose **T** = **I** and is denoted as “Identity”. This is the simplest design. The second one is RRANOMAX where **T** is given in (36). The third one is using the ISA (see Section 5.1)*.* The protocol also allows for flexibility in the precoder and decoder design. For all three implementations of the protocol (one for each of the three relay processor designs), the SVD methodology described in (20a) to (22) is used for the precoder and decoder design. For reference, we also use (10) to evaluate the mutual information obtained using the proposed centralized GIA design. The GIA is described in Section 3.3.

Figures 7 and 8 show the sum mutual information, *I*
_{
E 1} + *I*
_{
E 2}, for the three practical (decentralized) designs and the centralized GIA design. The antennas numbers depend on the figure. *M*
_{1} = *M*
_{2} = 4 for both figures. *M*
_{
R
} = 4 in Figure 7 and *M*
_{
R
} = 8 in Figure 8. Each of the curves is obtained by averaging the results of 100 channel realizations. The number of data streams of each practical design at each “SNR” for each channel realization is chosen so that it provides the maximum sum mutual information. The number of data streams the GIA gives to *E*
_{
i
} (*i* = 1,2) is only determined in the last iteration; it is simply the number of non-zero columns of **F**
_{
i
}.

From Figures 7 and 8, it is obvious that the “Identity” design of **T** has the worst performance and is greatly outperformed by the other three designs. The centralized “GIA” design has the best performance. The implementations of the proposed protocol with the “ISA” and “RRANOMAX” relay processor designs come in second and third place, respectively. By comparing Figure 7 with Figure 8, it is easy to see that the performance gaps increase as the number of relay antennas increases. In addition, the sum mutual information also becomes larger as the number of relay antennas increases. Both of these observed phenomena are probably due to the increased freedom at the relay—the size of **T** increases from 4 × 4 to 8 × 8. Note that we normalize the Frobenius norms of all channel matrices to one.

Note that some kind of power loading at the precoders may increase the sum mutual information for the decentralized designs. However, performing the water filling procedure for power loading at the end nodes does *not* necessarily increase the mutual information. This is because the γ in (3) depends on the precoders. When the power loading at the precoders changes the precoders {**F**
_{
j
}} according to the water filling procedure, γ has to change too (because γ depends on {**F**
_{
j
}}). But then, the optimized power loading done previously for a different γ is no longer optimum in the sense of maximizing the sum mutual information for the new γ. Moreover, water filling requires the noise covariance matrices **Φ**
_{
n
i
} in (6) to be available at end nodes. But, **Φ**
_{
n
i
} is not available at the end node using the proposed decentralized protocol in Section 4. Thus, the water filling procedure is not applied here.

## 7. Conclusion

This article presents both practical and theoretical advances for MIMO analog network coding, a technique which requires only two time slots (excluding the time slots required for signaling) to complete a bi-directional communication between two end nodes. For the practical advance, the article proposes a decentralized joint transceiver and signaling design scheme which requires the system to work in a TDD mode and to have four channel soundings. With the proposed signaling scheme, each node gets the information needed for designing its own transmit and/or receive processors. The designs at all nodes are harmonized and coordinated such that no additional signaling overhead is needed. In particular, presented in this article is a novel iterative approach for designing a symmetric relay processor to maximize an approximate sum mutual information of the effective channels between the two end nodes. It is seen to converge quickly for all SNRs—highly desirable for a practical design.

For the theoretical advance, a novel iterative approach, named GIA, is proposed for jointly designing the precoders and decoders at the two end nodes and the processor at the relay node. The goal of the design is to maximize the sum mutual information of the system subject to a per-node power constraint at each node. This is a centralized design and may not be practical, but can be used to generate benchmark results. The GIA alternately finds the precoders at the end nodes and the processor at the relay until all relevant parameters converge. In this article, the centralized GIA is employed to provide a performance benchmark for evaluating various implementations of the proposed decentralized design. It is remarkable that the performance of the proposed decentralized design is almost as good as the benchmark set by the centralized GIA*.* It is concluded that proposed decentralized scheme is high performing and can be a feasible way to implement analog network coding. Insights gained here may also possibly be used to enhance other existing designs in the analog network coding literature.

The proposed centralized GIA approach is very general and can be extended to deal with multiple relay nodes where the relay processors are determined sequentially. Moreover, it can be generalized to deal with arbitrary linear power constraints, including the practical per-antenna power constraint, where closed-form expressions for the precoders may not be available. For the proposed decentralized ISA design, an extension to multiple relays is much more difficult. As in the single-relay case, let each relay design its own relay processor. At this stage, it should calculate its power scaling parameter. However, it cannot; as it does not know the other channels and relay processors, it cannot figure out the SVD precoders and decoders of the end nodes. As the discussion in Appendix 2 still holds when there are multiple relays, having the end nodes calculate the power scaling parameters is not attractive. Having the relays communicate among themselves to determine their power scaling parameters will also involve a great deal of signaling as well. How to perform a practical decentralized design for the multiple relay case is thus a nontrivial problem for future research.

One challenging issue about the simultaneous multi-relay transmission in the analog network coding scheme for practical applications is the inevitable differences in propagation delays from the multiple relays to the end nodes. If the differences are large, the delay spread of the effective channel from multi-relay to an end node will be also large. Then it will require a large guard time. Moreover, if the relays are not synchronized well, the effective delay spread will vary in different transmissions. This will make it very challenging for each end node to cancel its own signal and to detect the desired signal. Thus, the simultaneous multi-relay transmission mechanism is not practical for the analog network coding scheme if all relays cannot be well synchronized. In that case, a sequential multi-relay transmission mechanism can be implemented and the multi-relay system is reduced into multiple single-relay systems.

## Appendix 1

The technique of variation can be used to obtain a stationary point of a scalar function *ξ*(**T**) in (16) with respect to the matrix variable **T**:

Let **T**(*ε*) = **T** + *ε* Δ_{
T
}, where *ε* is a scalar perturbation parameter and *Δ*
_{
T
} is an arbitrary matrix with the same dimension as **T**. Instead of working with (37), one can also find a stationary point by finding a **T** which satisfies

for *every* matrix *Δ*
_{
T
}. This is the route the technique of variation takes. Through laborious but straightforward manipulations of (38), we get

Since Δ_{
T
} is arbitrary, we can replace Δ_{
T
} in (39) by Δ_{
T
} times the imaginary unit. Doing this yields

Removing the terms containing {\mathbf{\Delta}}_{\mathbf{T}}^{\mathbf{*}} by summing (39) and (40), and after some manipulations (mainly cycling the matrices inside the trace operators so that Δ_{
T
} is in the left side of each term), we have

As Δ_{
T
} is arbitrary, Δ_{
T
} can be the conjugate of the term inside the square brackets in (41). We thus conclude that the term inside the square brackets must be zero because *tr*(**AA**
^{*}) = 0 implies **A** = 0. Thus, we have the following expression which will lead to (17, 17a–c):

## Appendix 2

Let us assume that the relay is unable to calculate *γ* before the end nodes design their precoders. Certainly, this means that the relay is unable to know what precoders the end nodes will choose without some signaling from the end nodes—if it knew the precoders, it could simply solve (3) and get *γ*. Consequently, *γ* or the information needed to calculate *γ* must be signaled to the relay.

Consider the first strategy of having *γ* signaled to the relay. Necessarily, an end node has to calculate *γ* then. The current protocol however does not give either end node enough information though. Take *E*
_{1} for example. Assume *E*
_{1} knows all the information the protocol in Section 4 gives it: **H**
_{1}’**TH**
_{2}, **H**
_{1}’**TH**
_{1}, **F**
_{1}, and **F**
_{2} (note *γ* **H**
_{1}’**TH**
_{2} and *γ* **H**
_{1}’**TH**
_{1} are changed to **H**
_{1}’**TH**
_{2} and **H**
_{1}’**TH**
_{1} as the relay does not know *γ*). Even with all of this information, *E*
_{1} cannot compute *even* one of the three terms of **Q** in (3): **TΦ**
_{
w
}
**T***, {\sigma}_{\mathbf{s}1}^{2}\mathbf{T}{\mathbf{H}}_{1}{\mathbf{F}}_{1}{\mathbf{F}}_{1}^{\mathbf{*}}{\mathbf{H}}_{1}^{\mathbf{*}}{\mathbf{T}}^{\mathbf{*}}, and {\sigma}_{\mathbf{s}2}^{2}\mathbf{T}{\mathbf{H}}_{2}{\mathbf{F}}_{2}{\mathbf{F}}_{2}^{\mathbf{*}}{\mathbf{H}}_{2}^{\mathbf{*}}{\mathbf{T}}^{\mathbf{*}}. Regarding the first term of **Q**, it does not even know **T** and **Φ**
_{
w
}. Regarding the other two terms of **Q**, it does not know **TH**
_{1} and **TH**
_{2}. Clearly, considerable signaling is needed for an end node to be able to calculate *γ*.

Now, consider the alternative strategy of having the end nodes signal whatever is needed by the relay so that it can calculate *γ*. For example, let each end node perform an equivalent channel sounding with its precoder. The relay thus knows **H**
_{1}
**F**
_{1} and **H**
_{2}
**F**
_{2}. Combined with the information the relay already has, it can now calculate *γ*. No matter which strategy, not enabling the relay to calculate *γ* before the end nodes design their precoders necessitates adding signaling to the protocol. Or, to put it positively, choosing the precoder design in step 4 so that the relay can calculate *γ* in step 2 helps reduce the amount of signaling.

## Appendix 3

As in Appendix 1, the technique of variation is employed here. Note though that the *symmetric* matrix constraint here will lead to us a slightly different development. First, replace the **T** in (27) by **T**(*ε*) = **T** + *ε* **Δ**. Here, *ε* is a real scalar and **Δ** is an arbitrary *symmetric* matrix. Second, evaluate the derivative of *ς*(**T** + *ε* **Δ**) with respect to *ε* at *ε* = 0 and set it equal to 0. Through laborious but straightforward manipulations, we have

where M_{1} and **Γ**
_{
a
} are defined in (28a) and (28b), respectively. For any symmetric **Δ** *,* **Δ** times the imaginary unit is also symmetric. We can thus replace **Δ** in (43) by **Δ** times the imaginary unit. Doing this yields

Removing the terms containing **Δ** by summing (43) and (44) we have

For convenience, replace the notation of the symmetric matrix **Δ*** by **S**, which leads to (28).

## Appendix 4

For notational convenience, let ℬ denote the set of all *N* × *N* symmetric complex matrices. This appendix will prove the following lemma.

*Lemma:* Matrix **L** is *N* × *N*. *tr*{**LS**} = 0 for all **S**∈ℬ if and only if **L** is skew-symmetric.

*Proof of reverse direction:* By definition, **L** = −**L**
^{′}. Applying this, it can be shown for any **S**∈ℬ that *tr*{**LS**} = *tr*{**SL**
^{′}} = − *tr*{**SL**} = − *tr*{**LS**}. This in turn implies that *tr*{**LS**} = 0 as desired.

*Proof of forward direction:* One can always write **L** = **L**
_{
A
} + **L**
_{
B
} *where* **L**
_{
A
} = **L**/2 + **L**’/2 is symmetric and **L**
_{B} = **L**/2 – **L**
^{′}/2 is skew-symmetric. Since **L**
_{A} is symmetric, {\overline{L}}_{\mathrm{A}}={\mathbf{L}}_{\mathrm{A}}^{*}. Choosing \mathbf{S}={\overline{L}}_{\mathrm{A}}, the hypothesis implies that 0=\mathit{tr}\left\{\mathbf{L}{\overline{L}}_{\mathrm{A}}\right\}\phantom{\rule{0.5em}{0ex}}=\phantom{\rule{0.5em}{0ex}}\mathit{tr}\left\{{\mathbf{L}}_{\mathrm{A}}{\mathbf{L}}_{\mathrm{A}}^{*}\right\}+\mathit{tr}\left\{{\mathbf{L}}_{\mathrm{B}}{\overline{L}}_{\mathrm{A}}\right\}. The second term, \mathit{tr}\left\{{\mathbf{L}}_{\mathrm{B}}{\overline{L}}_{\mathrm{A}}\right\}, is 0 because **L**
_{B} is skew-symmetric (see proof of reverse direction). So, the first term must be zero, i.e., 0=\mathit{tr}\left\{{\mathbf{L}}_{\mathrm{A}}{\mathbf{L}}_{\mathrm{A}}^{*}\right\}. Clearly, this last equality means **L**
_{A} = **0**, making **L** = **L**
_{B} skew-symmetric.

## References

Popovski P, Yomo H: Wireless network coding by amplify-and-forward for bi-directional traffic flows.

*IEEE Commun. Lett.*2007, 11(1):16-18.Abdallah S, Psaromiligkos IN: Blind channel estimation for amplify-and-forward two-way relay networks employing M-PSK modulation. (arXiv, 2012), . Accessed 11 March 2013 http://arxiv.org/abs/1101.4207 (arXiv, 2012), . Accessed 11 March 2013

Jia Y, Vosoughi A: Impact of channel estimation error upon sum-rate in amplify-and-forward two-way relaying systems.

*Proceedings of the 11th IEEE International Workshop on Signal Processing Advances in Wireless Communications (SPAWC 2010)*20-23. June 2010Gao F, Zhang R, Liang Y-C: Optimal channel estimation and training design for two-way relay networks.

*IEEE Trans. Commun.*2009, 57(10):3024-3033.Lee N, Park H, Chun J: Linear precoder and decoder design for two-way AF MIMO relaying system.

*Proceedings of the IEEE 67th Vehicular Technology Conference (VTC)*11-14. May 2008Tang X, Hua Y: Optimal design of non-regenerative MIMO wireless relays.

*IEEE Trans. Wirel. Commun.*2007, 6(4):1398-1407.Lee K-J, Lee KW, Sung H, Lee I: Sum-rate maximization for two-way MIMO amplify-and-forward relaying systems.

*Proceedings of the IEEE 69th Vehicular Technology Conference (VTC)*26-29. April 2009Taniguchi T, Karasawa Y, Nakajima N: Design of two way multiantenna AF relay systems under perfect CSI.

*Proceedings of the 4th European Conference on Antennas and Propagation (EuCAP)*12-16 April 2010Lu E, Li J, Lu I-T: Novel MMSE design for joint MIMO processing in analog network coding schemes.

*Proceedings of the 4th International Conference on Signal Processing and Communication Systems (ICSPCS)*13-15 Dec. 2010Li J, Lu E, Lu I-T:

*Joint MMSE designs for analog network coding and different MIMO relaying schemes: a unified approach and performance benchmarks*. Commun: Phys; 2012. http://dx.doi.org/10.1016/j.phycom.2012.02.003Lu E, You Z, Lu I-T: Max capacity design for two-way MIMO relay systems.

*Proceedings of the IEEE Global Telecommunications Conference (Globecom)*5–9Dec. 2011Roemer F, Haardt M: A low-complexity relay transmit strategy for two-way relaying with MIMO amplify and forward relays.

*Proceedings of the IEEE International Conference on Acoustics Speech and Signal Processing (ICASSP)*14-19 March 2010Jorswieck EA, Sezgin A: Transmit strategies for the MIMO two-way amplify-forward channel with multiple relays and MMSE receiver.

*Proceedings of the IEEE International Conference on Acoustics Speech and Signal Processing (ICASSP)*14-19 March 2010Panah AY, Heath RW Jr: Sum-rate of MIMO two-way relaying with imperfect CSI.

*Proceedings of the IEEE International Conference on Acoustics Speech and Signal Processing (ICASSP)*14-19 March 2010Roemer F, Haardt M: Tensor-based channel estimation (TENCE) for two-way relaying with multiple antennas and spatial reuse.

*Proceedings of the IEEE International Conference on Acoustics Speech and Signal Processing (ICASSP)*19-24 April 2009Lu E:

*Practical and theoretical advances in MIMO systems*. Ph.D. thesis, Polytechnic Institute of NYU, USA, 2012Pozar DM:

*Microwave Engineering*. 3rd edition. New York: Wiley; 2005.Sarkar T, Salazar-Palma M, Mokole E:

*Physics of Multiantenna Systems and Broadband Processing*. New York: Wiley; 2008.Guo D, Shamai S, Verdú S: Mutual information and minimum mean-square error in Gaussian channels.

*IEEE Trans. Inf. Theory*2005, 51(4):1261-1282. 10.1109/TIT.2005.844072Scaglione A, Stoica P, Barbarossa S, Giannakis GB, Sampath H: Optimal designs for space-time linear precoders and decoders.

*IEEE Trans. Signal Process.*2002, 50: 1051-1064. 10.1109/78.995062Ostrowski A:

*Solution of Equations and Systems of Equations*. New York: Academic Press; 1966. (see Theorem 22.1 in page 162)Lu I-T, Li J, Lu E: Novel MMSE precoder and decoder designs subject to per-antenna power constraint for uplink multiuser MIMO systems.

*Proceedings of the 3rd International Conference on Signal Processing and Communication Systems (ICSPCS)*28-30 Sept. 2009

## Acknowledgments

The authors would like to express their gratitude to Prof. Dante Youla for his comments.

## Author information

### Authors and Affiliations

### Corresponding author

## Additional information

### Competing interests

The authors declare that they have no competing interests.

## Authors’ original submitted files for images

Below are the links to the authors’ original submitted files for images.

## Rights and permissions

**Open Access** This article is distributed under the terms of the Creative Commons Attribution 2.0 International License (https://creativecommons.org/licenses/by/2.0), which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.

## About this article

### Cite this article

Lu, E., You, Z. & Lu, IT. Decentralized practical design and centralized benchmark for analog network coding.
*EURASIP J. Adv. Signal Process.* **2013**, 71 (2013). https://doi.org/10.1186/1687-6180-2013-71

Received:

Accepted:

Published:

DOI: https://doi.org/10.1186/1687-6180-2013-71