 $$\begin{aligned}
\label{cap_xcodes_pair}
C_{{\mathcal S}_k}(k,\ell,{\bar p_k}) =
\max_{\theta_k,f_k} I_{{\mathcal S}_k}({\bf u}_k;{\bf r}_k |{\mathbf \Lambda}_k,{\bar p_k},f_k,{\theta_k})\end{aligned}$$

In other words, we have split Problem \[cap\_discrete\_Xcoded\] into two different simpler problems. Firstly, given a pairing $\ell$ and power allocation between pairs ${\bar {\bf P}}$, we can solve Problem \[capxcodes\_pair\] for each $k = 1,2, \cdots, n/2$. Problem \[capxcodesapprox\] uses the solution to Problem \[capxcodes\_pair\] to find the optimal pairing $\ell^{*}$ and the optimal power allocation ${\bar {\bf P}}^{*}$ between the $n/2$ pairs. For small $n$, the optimal pairing and power allocation between pairs can always be computed numerically and by brute force enumeration of all possible pairings. This is, however, prohibitively complex for large $n$, and we shall discuss heuristic approaches in Section \[multi\_subch\].

We will show in the following that, although suboptimal, precoding with X-Codes will provide a close to optimal capacity with the additional benefit that the detection complexity at the receiver is highly reduced, since there is coupling only between pairs of channels, as compared to the case of full-coupling for the optimal precoder in [@cruz].

In the next section, we solve Problem \[capxcodes\_pair\], which is equivalent to finding the optimal rotation angle and power allocation for a Gaussian MIMO channel with only $n = 2$ subchannels.

Gaussian MIMO channels with $n = 2$ {#two_subch}
===================================

With $n = 2$, there is only one pair and only one possible pairing. Therefore, we drop the subscript $k$ in Problem \[capxcodes\_pair\] and we find $C_X({\bf H},P_T)$ in Problem \[cap\_discrete\_Xcoded\]. The processed received vector ${\bf r} \in {\mathbb C}^2$ is given by $$\label{rxn2}
{\bf r} = \sqrt{P_T} {\mathbf \Lambda} {\
$ $ \begin{aligned } 
 \label{cap_xcodes_pair } 
 C_{{\mathcal S}_k}(k,\ell,{\bar p_k }) = 
 \max_{\theta_k, f_k } I_{{\mathcal S}_k}({\bf u}_k;{\bf r}_k |{\mathbf \Lambda}_k,{\bar p_k},f_k,{\theta_k})\end{aligned}$$ 

 In other words, we have split Problem \[cap\_discrete\_Xcoded\ ] into two different bare trouble. Firstly, given a pairing $ \ell$ and office allocation between pairs $ { \bar { \bf P}}$, we can clear Problem \[capxcodes\_pair\ ] for each $ kilobyte = 1,2, \cdots, n/2$. Problem \[capxcodesapprox\ ] uses the solution to Problem \[capxcodes\_pair\ ] to recover the optimal pairing $ \ell^{*}$ and the optimum power allocation $ { \bar { \bf P}}^{*}$ between the $ n/2 $ pairs. For small $ n$, the optimum pairing and power allotment between pairs can always be calculate numerically and by brute force enumeration of all potential pairings. This is, however, prohibitively complex for large $ n$, and we shall discuss heuristic approaches in Section \[multi\_subch\ ]. 

 We will prove in the following that, although suboptimal, precoding with X - Codes will provide a close to optimal capability with the additional benefit that the detection complexity at the receiver is highly reduced, since there is coupling only between pairs of channels, as compared to the case of full - coupling for the optimal precoder in [ @cruz ]. 

 In the next section, we solve Problem \[capxcodes\_pair\ ], which is equivalent to discover the optimal rotation angle and exponent allotment for a Gaussian MIMO channel with only $ n = 2 $ subchannels. 

 Gaussian MIMO channel with $ n = 2 $ { # two_subch } 
 = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = 

 With $ n = 2 $, there is only one pair and only one potential pairing. Therefore, we drop the subscript $ k$ in Problem \[capxcodes\_pair\ ] and we find $ C_X({\bf H},P_T)$ in Problem \[cap\_discrete\_Xcoded\ ]. The processed received vector $ { \bf r } \in { \mathbb C}^2 $ is given by $ $ \label{rxn2 } 
 { \bf r } = \sqrt{P_T } { \mathbf \Lambda } { \
 $$\behin{aligned}
\label{cap_xcodes_kair}
C_{{\mathcal S}_k}(k,\ell,{\bar p_n}) =
\max_{\tgeta_k,f_k} K_{{\mathcal S}_k}({\bf u}_k;{\bf r}_k |{\mathbf \Lqmbda}_j,{\bar p_k},f_k,{\theta_k})\end{aligved}$$

In othvr words, qe heve split Problem \[cap\_disgxete\_Xdlded\] mnto two differgnt simpler [roblems. Firstny, gnven a pairing $\ell$ and power allocatyon beteefn pairs ${\bar {\bs P}}$, eq cah solve Problem \[capxcodes\_pair\] for sach $k = 1,2, \cdots, n/2$. Pronlem \[capxcodesapprox\] uses hhe dolution to Problel \[capxcodes\_kzir\] ro find the uptimal papxing $\ell^{*}$ ans the optimal power allocation ${\car {\by P}}^{*}$ between tye $j/2$ pairs. For wmall $n$, the optimal pairitg and lower allocatipn uetwwen pairs can always ue computed numericajly and bf yrute force enumeratiin of anl pmssicoe oaidiigs. This ls, iowever, progibitively xomplex for large $n$, age we shall diacuss retristic approaches in Section \[multi\_subcv\].

We will show in the folloqing that, although suhoptimal, [recoding with X-Codes will provide a close to opthmal raoacnbn wigy hhe additional benefit that the detection com[meciny at the receivev is highly reducec, dimse there is cuupliny ohly between pairs lf changels, qs compartd to the case of full-coupling fir the optimcl precoder in [@cruz].

In the next szction, we splve Problem \[capxcodes\_pcir\], whjch is equigalent to winding the optioal rmtation angle and power aljocation hor a Gaussixn MOMO chwnnel with only $n = 2$ subchannels.

Gaudsian MHMO channeps with $n = 2$ {#two_subch}
===================================

With $n = 2$, thxce is only ong pdir and onlv one iossible pairind. Therefore, we drop tke subrcript $k$ ih Problxm \[capxcodes\_[air\] and we fhjd $C_X({\bf H},P_T)$ mn Problei \[cap\_disxrete\_Xcuaed\]. The procesxed receineb vector ${\vf r} \in {\mathbb C}^2$ ix gkben by $$\label{rxn2}
{\yy t} = \sqrt{P_T} {\mathbg \Lxmbqa} {\
$$\begin{aligned} \label{cap_xcodes_pair} C_{{\mathcal S}_k}(k,\ell,{\bar p_k}) = \max_{\theta_k,f_k} u}_k;{\bf |{\mathbf \Lambda}_k,{\bar In other words, into different simpler problems. given a pairing and power allocation between pairs ${\bar P}}$, we can solve Problem \[capxcodes\_pair\] for each $k = 1,2, \cdots, n/2$. \[capxcodesapprox\] uses the solution to Problem \[capxcodes\_pair\] to find the optimal pairing $\ell^{*}$ the power ${\bar P}}^{*}$ between the $n/2$ pairs. For small $n$, the optimal pairing and power allocation between pairs always be computed numerically and by brute force of all possible pairings. is, however, prohibitively complex for $n$, we shall heuristic in \[multi\_subch\]. We will in the following that, although suboptimal, precoding with X-Codes will provide a close to optimal capacity with additional benefit detection complexity the is reduced, since there only between pairs of channels, as case of full-coupling for the optimal precoder in In the section, we solve Problem \[capxcodes\_pair\], which equivalent to finding the optimal rotation angle and allocation for a Gaussian MIMO channel with only $n = 2$ subchannels. Gaussian MIMO channels = 2$ {#two_subch} =================================== $n = 2$, is one and one possible Therefore, we drop the subscript $k$ in Problem \[capxcodes\_pair\] and we $C_X({\bf H},P_T)$ in Problem \[cap\_discrete\_Xcoded\]. The processed received vector ${\bf {\mathbb is given by {\bf r} = \sqrt{P_T} \Lambda}
 $$\begin{aligned}
\label{cap_xcodeS_pair}
C_{{\mathCal S}_k}(K,\elL,{\baR p_K}) =
\max_{\ThetA_k,f_k} I_{{\mathcal S}_k}({\BF u}_k;{\bF r}_k |{\mathbf \Lambda}_k,{\bar p_k},f_K,{\thetA_k})\ENd{alIGnEd}$$

In oTher worDS, wE HAve SpLiT PrObLEm \[Cap\_diScrEte\_XcodEd\] into two dIffErEnt simpler prOBlEms. Firstly, GivEn a pairing $\elL$ anD power AlLocATion bEtwEen paIrs ${\bar {\BF P}}$, we caN solve ProBlEM \[capxcODes\_pair\] FOR eAch $k = 1,2, \Cdots, n/2$. Problem \[capxCOdESapprox\] uses the SolutiOn TO PROBleM \[caPxcodes\_paiR\] tO find THe optimAL pAIRIng $\ELl^{*}$ and the optimAl power alloCAtiOn ${\bar {\bF P}}^{*}$ BetWEen the $N/2$ pairS. FOR smAll $n$, the optiMal pAiring and Power aLLocatioN Between Pairs cAn aLwaYs be COmPuTed NuMEriCAlLy aND by Brute forCe EnUmeraTion OF ALL posSibLe paIringS. This is, howeveR, prOhibITivEly coMplex For lArGe $n$, anD we shaLl disCuSs heuristic apprOachEs in SectiOn \[mUlTi\_sUbCh\].

We wILl show In tHe fOllowinG that, alTHouGh SUBOpTimal, precoding with x-CODEs Will provIde a clOSe To OPtimal caPaCitY witH THe addItioNAl Benefit tHat the DEtEcTion comPlExity aT tHe rEceIver iS HighLy reduCed, since There IS coupling only bETween pairs of cHAnNELs, AS comParEd to the case Of fuLL-couPlinG FoR thE OptimAl preCoDEr IN [@cruz].

In the next sectiOn, We solvE ProbLem \[capxcodes\_pAir\], which is EQUIvalent tO finDInG The optimal rotaTion aNgle and powER allocatIon foR a GaussiAn MIMO chaNNEl with onLy $n = 2$ SubChaNneLS.

gaUssian MIMO chaNNEls wItH $n = 2$ {#two_suBch}
===================================

with $n = 2$, thEre Is oNly One PaIr and only One possiBlE pAiRiNg. THerefORe, we drop ThE suBsCriPt $k$ in pRoblem \[CapxcOdes\_PaIr\] ANd wE find $C_X({\BF H},p_t)$ In PrObLeM \[cap\_DisCrEte\_XcOded\]. tHe pRocesseD received VecTOr ${\bf R} \iN {\mAthbb C}^2$ iS given by $$\label{RxN2}
{\bf r} = \sqrt{P_T} {\MaThbF \LambdA} {\
 $$\begin{aligned}
\label{ cap_xcodes _pair }
C _{{ \m athc al S }_k}(k,\ell,{\ b ar p _k}) =
\max_{\theta_k, f_k}I_ { {\ma t hc al S} _k}({\b f  u } _ k;{ \b fr}_ k| {\ mathb f \ Lambda} _k,{\bar p _k} ,f _k,{\theta_k } )\ end{aligne d}$ $

In otherwor ds, we  h ave split  Pr oblem  \[cap \ _discr ete\_Xcod ed \ ] into two dif f e re nt s impler problems.F ir s tly, given a p airing  $ \ el l $  an d p ower alloc at ion b e tween p a ir s $ {\b a r {\bf P}}$,we can solv e  Pr oblem\[ cap x codes\ _pair \] for  each $k =1,2,  \cdots,n/2$.P roblem\ [capxco desapp rox \]uses th esol ut i ont oPro b lem  \[capxc od es \_pai r\]t o f indthe  opt imalpairing $\ell ^{* }$ a n d t he op timal  pow er  allo cation  ${\b ar  {\bf P}}^{*}$betw een the $ n/2 $pai rs . For small$n$ , t he opti mal pai r ing  a n d po wer allocation bet we e n  p airs can  alway s  b ec omputednu mer ical l y  andby b r ut e forceenumer a ti on  of all  p ossibl epai rin gs. T h is i s, how ever, pr ohibi t ively complexf or large $n$, an d we shal l d iscuss heur isti c  app roac h es  in Secti on \[ mu l ti \ _subch\].

We willsh ow inthe f ollowing that , although s u boptimal , pr e co d ing with X-Cod es wi ll provide a closeto op timal ca pacity wi t h  the add iti ona l b ene f i tthat the dete c t ionco mplexit y a t the r ece ive r i s h ig hly reduc ed, sinc eth er eiscoupl i ng onlybe twe en  pa irs o f  chann els,as c om pa r edto thec as e of f ul l- coup lin gfor t he o p tim al prec oder in [ @cr u z].
I nthe nex t section, we  s olve Probl em  \[ capxco d e s\_pair\ ], which is equivalentt o findi ngthe o ptim al rotati onangleand poweralloca tionfo r a G aussi a n  M IMO  c hannel wit h onl y $n=2$ s ubchann els.

Gaussian MIM O  ch annels with $ n =  2${ # tw o_s u bc h }
= == = === = = =============== ========== =Wi th $n = 2$ ,  th er e is on ly onepaira nd only  one poss ible pair in g. T h e ref ore, we dr op the s ubscript$ k$ in Pr oblem  \[ capxco de s\_ pair\ ] andw e f ind $ C_X({\ bf  H},P_ T)$ i nProblem\[cap\_discrete\_Xcoded \]. Th e pro ces sed recei ved vec tor ${\bf  r}\in {\math bbC}^ 2$ is  gi v en by  $$\ l ab el{ r xn2}{\bf r} = \sqr t {P _T} { \m athbf \Lamb d a }  {\ 
 $$\begin{aligned}
\label{cap_xcodes_pair}
C_{{\mathcal_S}_k}(k,\ell,{\bar p_k})_=
\max_{\theta_k,f_k} I_{{\mathcal S}_k}({\bf u}_k;{\bf_r}_k |{\mathbf_\Lambda}_k,{\bar_p_k},f_k,{\theta_k})\end{aligned}$$

In other_words,_we have split_Problem \[cap\_discrete\_Xcoded\] into_two different simpler problems._Firstly, given a_pairing_$\ell$ and power allocation between pairs ${\bar {\bf P}}$, we can solve Problem \[capxcodes\_pair\]_for_each $k_=_1,2,_\cdots, n/2$. Problem \[capxcodesapprox\] uses_the solution to Problem \[capxcodes\_pair\]_to find_the optimal pairing $\ell^{*}$ and the optimal power_allocation_${\bar {\bf P}}^{*}$_between the $n/2$ pairs. For small $n$, the optimal_pairing and power allocation between pairs_can always be_computed_numerically_and by brute force_enumeration of all possible pairings. This_is, however, prohibitively complex for large_$n$, and we shall discuss heuristic approaches_in Section \[multi\_subch\].

We will show in_the following that, although suboptimal,_precoding with_X-Codes will provide a close_to optimal capacity_with the_additional benefit that_the detection complexity at the receiver_is highly reduced,_since there is coupling only between_pairs_of channels, as_compared_to_the case_of full-coupling for_the_optimal precoder_in_[@cruz].

In the next section, we solve_Problem_\[capxcodes\_pair\], which is equivalent to finding the_optimal rotation angle and_power_allocation for a Gaussian_MIMO channel with only $n_= 2$ subchannels.

Gaussian MIMO channels with_$n =_2$ {#two_subch}
===================================

With_$n = 2$, there is only one pair and only one_possible pairing. Therefore, we drop the_subscript $k$ in Problem_\[capxcodes\_pair\] and_we_find $C_X({\bf H},P_T)$_in_Problem \[cap\_discrete\_Xcoded\]._The processed received vector ${\bf r} \in_{\mathbb C}^2$_is given by $$\label{rxn2}
{\bf r} =_\sqrt{P_T} {\mathbf \Lambda} {\