Algorithm for Generating All Optimal 16-QAM BI-STCM-ID Labelings

This paper focuses on 16-QAM labelings of bit-interleaved space-time coded modulation with iterative decoding (BI-STCM-ID). What is contributed is an algorithm to generate (with no random search) optimal labelings for BI-STCM-ID systems with any number of transmit- and receive antennas, transmitting over Rayleigh fading channel. Along with the algorithm, a couple of corollaries are brought, which give an account of the optimal labelings’ features. Having a complete set of optimal 16-QAM BI-STCM-ID labelings at hand, it is possible to advance research on labeling diversity scheme by finding all such labeling pairs that—if applied to a system with two different labeling maps within adjacent transmit streams—bring maximum asymptotic coding gain .


Introduction and Motivation
Since bit-interleaved coded modulation with iterative decoding (BICM-ID) was introduced [1,2], there have been many efforts made to analyze the impact of applied signal labeling on the system performance.Some researchers tried moving the position of constellation points for a given modulation order, e.g., [3,4], but in most cases the constellation points were fixed and the research focused on solving a combinatorial problem of associating binary labels with constellation points of well known modulations, like 8-PSK, 16-QAM, and 64-QAM [3,[5][6][7].Interestingly, in [8] some system performance improvement was obtained by reducing the modulation order and assigning non-unique labels to constellation points.
There is no explicit definition of the optimal labeling, because different optimization goals can be considered due to a specific shape of BER versus SNR curves of systems incorporating iterative decoding, i.e., at a certain SNR value (''turbo cliff'' or ''waterfall region'') the curves start to decline rapidly to achieve so-called Error-free Feedback (EF) bound.The most common approach to BICM-ID is looking for the lowest possible position of the EF bounds, and thereby optimizing asymptotic performance, i.e., for SNR ! 1.In that case the optimization goal is clearly defined, as shown in Sect.2.2.For brevity, the labeling with the asymptotic performance optimized will be referred to as the optimal labeling throughout the paper.
Unfortunately, better asymptotic performance is usually followed by a lower height of the turbo cliff, and-what is even worse-the turbo cliff is shifted towards the right in the BER versus SNR chart.To avoid this disadvantage, the labeling should be well matched to the channel code.It can be achieved, e.g., by modulation doping [7], which consists of applying different labelings (the labeling exhibiting good asymptotic performance, and the Gray one) to different parts of each transmitted packet.A number of bits to be mapped according to the Gray labeling can be easily changed to fulfill specific performance requirements.
BI-STCM-ID [9][10][11] is a BICM-ID descendant, capable of exploiting space-time diversity.As for BICM-ID, the optimal labeling map has to be searched for in order to improve the asymptotic performance of BI-STCM-ID.The optimization goal is a function of the system diversity order p, reflecting the number of transmit-and receive antennas.In [11] Huang and Ritcey have searched for the optimal labelings of BI-STCM-ID.They used Reactive Tabu Search optimization algorithm and subsequently considered numerous diversity order values, i.e., p 2 1; 2; 4; 8; 9; 16 f g , to get different labeling maps, each time.The author of the current paper reported in [12] that most of the 16-QAM labelings found in [11] for different values of p are equivalent to each other and, as such, can be used regardless of the current BI-STCM-ID configuration (including parallel transmission modes, i.e.H-type space-time codes in [11]).
Although the labelings were optimized in [11] for transmission over Rayleigh fading channel, in [12] it was shown that all the equivalent labelings have the same properties as the M16 a labeling found in [6] for BICM-ID transmitting over AWGN channel.For that reason all the equivalent optimal BI-STCM-ID labelings will be called M16 a -compliant throughout the text.A formal definition of a M16 a -compliant labeling will be introduced in Sect.2.3 The author of this paper, inspired by modulation doping, proposed a space-time encoded system, called boosted scheme, in which different labelings, i.e., (Gray, M16 a -compliant) pair, are used within adjacent transmit streams to generate signals carrying the same data [13].Afterward, he succeeded in applying two optimal BI-STCM-ID labelings-both M16 a -compliant-instead of the (Gray, M16 a -compliant) pair.In [14] he reported that application of two M16 a -compliant labelings yields some asymptotic coding gain over BI-STCM-ID.The asymptotic coding gain of the scheme proposed in [14], called labeling diversity (LD) scheme, is achieved only due to the fact that different labelings are used in individual transmit streams, so it can be considered as labeling diversity gain.What is worth noting, benefiting from labeling diversity gain does not imply any performance loss in the turbo cliff region-it is a unique feature of the LD scheme.
The above-mentioned labeling diversity gain is not maximal for every pair of M16 acompliant labelings [15].Nevertheless, the use of two M16 a -compliant labelings is a prerequisite, since no higher labeling diversity gain was observed for any other labeling mixture in [15], wherein a labeling pair optimization was run.The current research problem is to determine what makes a given pair of M16 a -compliant labelings the optimal choice for labeling diversity purposes.To address that problem it is necessary to get all M16 a -compliant labelings, and then analyze them pair-by-pair.Such a challenging task motivated the author to develop an algorithm that enables generation of all M16 a -compliant labelings.The algorithm is the main contribution of the paper.The work reported alongside gives an insight into properties of optimal 16-QAM BI-STCM-ID labelings and helps understanding the idea of LD scheme.
The paper is organized as follows.Section 2 delivers some preliminaries to enable the reader to familiarize with the research scope.A thorough analysis of M16 a -compliant labelings is given in Sect. 3 along with some useful corollaries.The algorithm to generate M16 a -compliant labelings is delivered in Sect. 4 and followed by an example of use.Then the number of M16 a -compliant labelings is assessed.The algorithm is applied in Sect. 5 to determine the pairs of M16 a -compliant labeling that are suitable for labeling diversity purposes.Section 6 is to conclude the work.

BI-STCM-ID Principles
The BI-STCM-ID system yields a space-time diversity gain over BICM-ID: since the signals representing given parts of encoded data train are transmitted at least twice (each time through different antennas and in different time-slots), the signals are more resistant to detrimental effects of channel fading and additive noise [16,Sec. 3.3.3].To boost the space-time diversity gain, N R [ 1 receive antennas can be applied.
Both BI-STCM-ID transmitter and receiver are shown in Fig. 1.At the transmitter, the data bit sequence d is encoded.Then, the length-M codeword c is bit-wise interleaved (by the block denoted by p) and the interleaved codeword v is divided into length-m horizontal binary vectors v 1 . ..v # . ..vM=m d e , where # is a given time instant.Each vector v # ; 8#, is mapped onto a baseband complex signal s # 2 v, according to the labeling map x (v is the signal constellation-16-QAM herein).Afterward, the space-time encoder takes q consecutive signals, s s ; . ..; s sþqÀ1 to specify the tth L Â N T space-time codeword X t , whose entries are the signals to be transmitted through N T antennas within L timeslots.For convenience, an overall mapping rule, denoted by -, is introduced to directly associate length-K ¼ q2 m ð Þ vectors with the space-time codewords: For the most popular, orthogonal design by Alamouti [17] where Á ð Þ Ã means complex conjugate.Similarly to BICM-ID, the receiver of BI-STCM-ID performs iterative decoding.In the case of orthogonal space-time codes [18,19], the signals ỹ# ; # ¼ s; . ..; s þ q þ 1, which are connected with individual signals s # by the following formula: are concatenated to form L ½dem;E , whose deinterleaved version, i.e.L ½enc;A ¼ p À1 ðL ½dem;E Þ, feeds the SISO (soft-input softoutput) decoder.The extrinsic LLRs outputted by the decoder, L ½enc;E , are interleaved again and serve the demapper during the next iteration as the a priori knowledge L ½dem;A # .After several iterations, the LLRs L ½dec;E , related to the data bits d, are computed by the decoder.Passed through a decision unit, they play the role of data estimates d.A detailed description of demapper and SISO decoder routine is provided, e.g., in [11] and [20], respectively.

Asymptotic BI-STCM-ID Performance
To maximize the benefits derived from iterative processing, the system should reach the EF state.(In that case the mutual information between the encoded data bits v and respective LLRs, L ½enc;E , is 1 bit.)The EF state has important theoretical implications, e.g., the position of a tight upper BER versus SNR bound (EF bound) can be provided [9].Asymptotically, i.e., for SNR ! 1, the EF bound approaches a straight line on a logarithmic scale plot.A horizontal shift of that line is called the asymptotic coding gain and is denoted by e X 2 .It represents an impact of the overall space-time mapping ruleon the system performance.The higher asymptotic coding gain, the better asymptotic system performance.Theorem 1 from [11] says that to maximize the asymptotic coding gain of the systems employing orthogonal space-time codes it is enough to search for a proper constellation labeling in order to maximize the Àp ð Þth power mean of Euclidean distances between the signals whose labels differ in exactly one bit, since where sk is a constellation point with opposite bit in the kth position of its label in comparison with s.
As already mentioned, the author of the current paper has already shown [12] that vast majority of the optimal 16-QAM labelings found in [11] for BI-STCM-ID performing specific space-time diversity order p are equivalent to each other and, as such, they can be employed alternatively.Moreover, all of them have identical asymptotic coding gain (3) as the M16 a found presented in [6].The original M16 a labeling is shown in Fig. 2 for the Reader's convenience.Only for p ¼ 1 (no space-time diversity gain-pure BICM-ID system) another labeling (named M16 r in [6]) appeared to be slightly (ca.0.007 dB) better than M16 a , asymptotically.Apart from this negligible performance loss, M16 a seems to be a labeling that is suitable for BI-STCM-ID in conjunction with any space-time block code of orthogonal design as well as for single-input single-output transmission.

Point-wise Distance Spectrum
Distance spectrum analysis [21] is a comprehensive method to study the construction of labeling maps.In the EF case, the distance spectrum is constituted by a set of squared Euclidean distances between constellation points s and sk , 8s 2 v; k ¼ 1; . ..; m.In order to study labelings' properties more thoroughly, it was proposed in [22] to analyze the spectrum point-by-point, i.e., to count the number of specific s À sk j j 2 ; k ¼ 1; . ..; m, entries for a given point s 2 v.Such a point-wise distance spectrum is defined as It was shown in [22] that for M16 a -compliant labelings there are only 3 types (namely a, b and c) of constellation points considering their spectra as presented in Fig. 2. Histograms of the point-wise distance spectra for the original M16 a labeling from [6], are listed in Table 1.Note that d is the squared Euclidean distance between neighboring constellation points.Using the Pythagorean theorem, one can easily calculate the distances between given points of 16-QAM constellation, shown in Fig. 2, e.g., the squared distance from

Now we can formalize a definition of M16 a -compliant labeling for better clarity:
Definition 1 (M16 a -compliant labeling) A 16-QAM labeling is said to be M16 a -compliant if it has the same spectral properties as the original M16 a , i.e., there are three types of constellation points regarding their point-wise spectra (a, b, c, defined in Table 1), situated in the same way as for M16 a labeling.Fig. 2 Different types of constellation points considering their point-wise distance spectrum; A; . ..; P-letters identifying individual points; binary vectors-labels associated with constellation points according to the original M16 a labeling developed in [6] Taking into account the relation between point-wise distance spectra and the asymptotic coding gain (3) [the elements of all point-wise distance spectra appear in (3)], it is obvious, that two labelings with the same spectral properties yield identical asymptotic coding gain.

Labeling Diversity
Exploiting labeling diversity consists of using different labeling maps, i.e., x 1 ð Þ and x 2 ð Þ , within adjacent transmit streams, as shown in Fig. 3.Note that vectors v 2t and v 2tþ1 are not demultiplexed.Instead, they feed both mappers simultaneously.The block denoted by P is to alter even and odd signals, i.e., s 2tþ1 .Thus, the resultant space-time codeword reads Thanks to the signal exchange within the lower transmit stream, each of the signals s # ; 8#, carrying the same part v # of the codeword v, reaches the receiver in a different timeslot than the other.Such a trick, inherited from space-time codes, alleviates the detrimental effect of additive Gaussian noise on the signal demodulation.At the same time, LD scheme fights against fading, since v # ; 8# is transmitted twice, each time through different channels.
At the beginning of the research on labeling diversity, the optimal ðx 1 ð Þ ; x 2 ð Þ Þ pair, i.e., the one maximizing the asymptotic coding gain, was searched for by means of Binary Switching Algorithm (BSA) [14] with the assumption that x ð1Þ is one of the M16 a -compliant labelings.Later, it was noticed that both labelings that constitute the optimal pair are M16 a -compliant [15].
A receiver deriving its good performance from labeling diversity is similar to that of BI-STCM-ID, but the received space-time codeword cannot be decoded prior to demodulation, and thereby, the computational payload grows as for a multidimensional mapping technique from [23].When applied to a p ¼ 4 2 Â 2 MIMO system, LD scheme yields e X 2 ¼ 2:8752 in comparison with 2.3414 for respective BI-STCM-ID.In other words, there is the labeling diversity gain of 10 log 10 2:8752 2:3414 ¼ 0:89 dB.The asymptotic coding gain for BI-STCM-ID is computed according to (3).The interested reader is referred to [14] to get known how to obtain e X 2 for LD scheme and to see that LD scheme exhibits full diversity order, i.e., it meets a full-rank criterion, concerned in [18, Sec.II-B].
3 Design of M16 a -Compliant Labeling Maps

Constraints
This section is, mainly, to show that every M16 a -compliant labeling that bears the features of M16 a must follow a 2-3-2-3 rule defined as follows: Definition 2 (2-3-2-3 rule) A given 16-QAM labeling is said to hold the 2-3-2-3 rule if the labels of the corner constellation points, i.e., A, D, M, and P, read either clockwise or counterclockwise, differ from the previous one in 2, 3, 2, and 3 bits, respectively.
We will consider all values the Hamming distance between the labels of two given neighboring corner constellation points1 can take and examine if it is possible to obtain a valid M16 a -compliant labeling by referring to the spectral properties highlighted in the previous section.Let us recall that the point-wise distance spectrum entries are the distances between constellation points, associated with the labels differing exactly in one bit from each other.
From now on a permutation function w Á ð Þ of binary numbers b 1 . . .b 4 and their negations b 1 . . .b 4 will be used to abstract the proofs from any concrete labeling map.That function returns a vector of binary numbers.Individual constellation points will be referred to by the letters shown in Fig. 2. The box-plus operator, e.g., aÁb, will represent the Hamming distance between respective vectors, and V XY... will denote a set of labels that can be assigned to any of the points indicated in the subscript (X, Y, etc.).
Theorem 1 The Hamming distance between the labels within any pair of corner constellation points is higher than 1 for any M16 a -compliant labeling.
Proof Let X and Y be different corner constellation points.Since the labeling assigns exactly one label to exactly one constellation point, v X Áv Y [ 0 obviously holds.Since neither 9d nor 18d distance appears in the spectrum of M16 a a points, the labels of corner points must not differ in 1 bit from one another.Thus, v X Áv Y [ 1. h Theorem 2 For any M16 a -compliant labeling map, the labels of adjacent corner constellation points do not differ in 4 bits.

Proof With no loss of generality let us assume that the label of constellation point
and that the label of point M differs in 4 bits from the label of A, i.e., v M ¼ w b 1 ; b 2 ; b 3 ; b 4 À Á .According to Theorem 1, the spectrum of a points does not contain the distance to any of remaining corner points.Thus, their labels must not differ in one bit from each other.In consequence, a set of labels that can be assigned to either point D or point P is (in the considered case) initially limited to Taking into account that the spectrum of M16 a b points contains neither d nor 2d (i.e., the distances to two the nearest corner points), we get V I V DP .The spectrum of M16 a labeling provides two 13d entries for every a point.In particular, such distance should divide point D from both points I and N (there are no other constellation points 13d distant from D), but within V DP there is no such a pair of labels that differ in 1 bit from each other.Thus, we conclude that any M16 a -compliant labeling cannot be constructed if The same reasoning can be applied to any pair of consecutive corner constellation points since every corner point exhibits identical distance spectrum.In the light of both Theorems 1 and 2 any M16 a -compliant labeling ensures that the labels of adjacent corner points differ from each other in either 2 or 3 bits.The following theorems are to show that in both cases the 2-3-2-3 rule holds.
Theorem 3 An M16 a -compliant labeling holds the 2-3-2-3 rule if the labels of any two adjacent, randomly selected corner constellation points, i.e., A and D, D and P, A and M, or M and P, differ in 2 bits from each other.
Proof The proof is given in Appendix 1. h The theorem holds for any pair of adjacent corner constellation points, but it is not enough to state that every M16 a -compliant labeling holds the 2-3-2-3 rule.To prove such a hypothesis, one more case (in which the labels of arbitrarily chosen adjacent corner constellation points differ in 3 bits) must be considered.
Theorem 4 (complementary to Theorem 3) An M16 a -compliant labeling holds the 2-3-2-3 rule if the labels of any two adjacent, randomly selected corner constellation points differ in 3 bits from each other.

Proof The proof comes in Appendix 2. h
We have considered all possible values the Hamming distance between adjacent corner 16-QAM constellation points can take.Now we are allowed to introduce the following corollary.
Corollary 1 For any M16 a -compliant labeling the labels of corner points hold the 2-3-2-3 rule.
Note that the above corollary is not constructive, i.e., it does not explain how to design the M16 a -compliant labelings.Nevertheless, it allows us to start labeling design from assigning proper labels to the corner points.

Definition 4
(''horizontally'' oriented labeling) A labeling is called ''horizontally'' Additionally, labelings of both kinds can be reflected.To avoid confusion over numerous labeling configurations, from now on we will consider only the vertically oriented labelings.For horizontally oriented labelings, it is enough to rename the constellation points to keep consistency.Such approach is fully justified, since neither rotation nor reflection of any 16-QAM labeling affects its performance.

Ambiguous Spectrum Entries
In general, the M16 a point-wise distance spectra (shown in Table 1) do not indicate which of the constellation points constitute the s; sk ð Þ pairs for given k.Nevertheless, some pairs are unambiguous due to the constellation's (not: labeling's) properties, i.e., there is only one constellation point a given Euclidean distance far from the considered point.The situation is illustrated in Fig. 4 (resolved connections are shown by solid lines).Making use of the constellation properties, one can easily conclude that: -13d spectrum entries bind a points with the furthermost b points, e.g., A with both L and O, -c points' 8d entries associate them with the furthermost a points.Some other potential ambiguities can be resolved by realizing that a given distance must appear simultaneously in spectra of two points.From that remark it can be concluded that b points' 10d is the distance to another, the furthermost b point (10d is also the distance between b and one of a points, but 10d does not appear in the spectrum of a points; note the forbidden connection in Fig. 4b).The only uncertainty concerns some 5d entries.That problem is partially solved while making the proof of Theorem 3, i.e., according to (28), the labels of points J and K differ in exactly one bit from both v A and v D .As a result, the following theorem, claiming that any 16 acompliant labeling is almost fully defined by the corner points' labels, can be issued.
Theorem 5 Having associated the corner constellation points with labels holding the 2-3-2-3 rule, exactly two different M16 a -compliant labelings can be generated.
Proof The proof comes in Appendix 3. h According to the above theorem, an M16 a -compliant labeling can be obtained by fixing proper labels of the corner points and then by trying to associate labels to remaining points.It must be kept in mind that any valid solution must not violate the rules provided by the M16 a point-wise spectrum shown in Table 1.
4 Algorithm to Obtain M16 a -compliant Labeling

Algorithm Formulation
Within this paragraph the following notation is used: V is a set consisting of all possible 4bit binary vectors.Sets A; B and G contain only such labels that (at the current stage) are not forbidden for points of type a; b; c, respectively, whereas W *XY... ; W 2 A; B; G f g additionally limits the entries of W to such ones that differ exactly in one bit from every of the labels assigned previously to points listed in the subscript (X, Y, etc.).Finally, rand Á ð Þ function returns a random element of its arguments.The algorithm explained below allows to obtain one of the M16 a -compliant labelings.It can be relaunched several times if one aims to get a variety of M16 a -compliant labelings.Consecutive algorithm steps are as follows: Step 1. Assign the labels to the corner constellation points.For this end, define matrices2  Circulate the rows of W n and W g , separately, downwards or upwards, random number of times to get W 0 n and W 0 g , respectively.Then define W 0 as a vertical concatenation of W 0 n and W 0 g , and permute the columns of W 0 to obtain W. Finally, read length-4 binary labels from W row-by-row and associate them with consecutive corner constellation points A; D; M, and P, respectively.The method presented above guarantees that labels of the corner points hold the 2-3-2-3 rule.(Each row of W n differs from the subsequent one3 by 1, 2, 1, 2 bits, respectively, whereas the rows of W g -holding the Gray rule-always differ in 1 bit from both the previous and the next one.)Finally, create a set consisting of all corner points' labels: Step 2. If the obtained corner points belong to a ''horizontally'' oriented labeling (cf.Definition 4), rename the constellation points as follows: A by M, B by I, C by E, D by A, E by N, F by J, G by F, H by B, I by O, J by K, K by G, L by C, M by P, N by L, O by H, and P by D. Thanks to that move there is no necessity to consider two labeling orientations within the next steps.
Step 3. Define disjoint subsets consisting of labels that can be associated with proper c points, i.e., they must differ in exactly one bit from the labels of both A, D and from the labels of both M, P, respectively (cf. the Proof of Theorem 5): Step 4. Create four subsets B *' , containing the labels differing in exactly one bit from the labels assigned previously to points A; D; M; P, respectively: The labels from B *' will be assigned within next steps to proper b points.
Step 5.As the squared Euclidean distance between points E and I is d (i.e. the shortest possible one), it is obvious that such points should not be associated with the labels differing in one bit according to the M16 a spectrum.To avoid such a collision, assign Since each label must be assigned to exactly one constellation point, B and N must be associated with the labels remaining in sets B *D and B *P , respectively, after removal of v E and v I , i.e.
Step 6.Now assign proper labels to points H and L. They must differ from the labels associated with E and I, respectively, in exactly one bit (the spectrum entries of 10d are the distances between two b points, symmetrical with respect to the origin of the coordinate system).To satisfy such requirement, take Consequently, Step 7. The last task is to assign the labels to c points.They must not differ in one bit from the labels belonging to any of four the nearest b points or to the rest of c points.Otherwise, d or 2d distances would occur in the spectrum.At this point only one collision has left for each c point (with the label of respective second nearest b point).To hold the features of M16 a , assign Fig. 5 Illustration of subsequent algorithm's steps (description in the text).The number along the arrows are the requested Hamming distances between labels of respective constellation points and

Example of Use
The algorithm starts with assigning the labels to corner points (Step 1).We proceed according to the method shown in Sect.4.1.Let us assume that W n is circulated 2 times downwards and W g -three times.A resultant concatenated matrix is Now let us assume that the permutation function exchanges the 1st column with the 2nd column, and the 3rd column with the 4th one to produce the final matrix We read consecutive rows of ½ , as shown in Fig. 5a.The obtained labeling is ''vertically'' oriented, hence Step 2 is skipped.In Step 3, we define the labels that can be assigned to points J and K.They have to differ in exactly one bit from the labels of both points A and D, i.e., they belong to the set V JK ¼ G *AD ¼ 0100 ½ ; 1101 ½ f g (Fig. 5b).Similarly, we assign the labels that are allowed for points F and G: and dispatch its entries to the subsets of labels that can be assigned to consecutive b points (Step 4).For example, the labels of points B and E must both differ exactly in one bit from the label of P (there is no other way to meet requirement for double 13d entry in the spectrum of point P).Thus, we assign V BE ¼B *P ¼ 0000 ½ ; 0110 ½ f g , and-by analogy- ; 1111 ½ f g (Fig. 5e).Since further steps are fully determined, at this stage (Step 5) we finally decide about the labeling rule, i.e., we can assign 0000 ½ to point E and 1110 ½ to point I or 0110 ½ to point E and, consequently, 1000 ½ to I. Note that in every case v E Áv I [ 1 holds.Let us choose the second option, i.e., v E ¼ 0110 ½ , v I ¼ 1000 ½ (Fig. 5f).In consequence, the only label from B *P that can be assigned to B is 0000 ½ and, by analogy, we must associate N with 1110 ½ (Fig. 5g).In Step 6, to keep 10d distances in spectra of E; H; I; L, we must take v H ¼ 1001 ½ ; v L ¼ 0111 ½ , and-to preserve labeling's unambiguity-v C ¼ 1111 ½ ; v O ¼ 0001 ½ (Fig. 5h).The labels associated with c points are determined by the assignments made previously for b points.Thus, in Step 7 we get v

Analysis of the Number of M16 -compliant Labelings
The presented algorithm generates different M16 a -compliant labelings, however, some of them are rotated or flipped version of the others.Let us start the analysis from assigning labels to the corner points.According to Corollary 1, they must conform the 2-3-2-3 rule.When executing Step 1 of the algorithm delivered in Sect.4.1, we can choose the positions of binary labels to be Gray-labeled (g- ways.The remaining positions are, automatically, naturallylabeled (n-positions).Within each group we can choose one of four constellation points from which we start assigning labels' parts on n-and g-positions, respectively , and we can proceed clock-or counterclockwise when assigning subsequent labels' parts.In consequence, the total number of possible assignments of 4-bit labels holding the 2-3-2-3 rule to the corner constellation points counts squared as g-and n-positions are considered separately.Having assigned the labels to the corner points, there is still one degree of freedom, as Theorem 5 states.Thus, the total number of 16 a -compliant labels is

Re-look at Labeling Diversity Properties
Using the algorithm from Sect. 4, all 768 M16 a -compliant labelings, denoted by x ð1Þ . . .x ð768Þ , are generated.(Since the algorithm has a random component, it must be launched several times and the labelings that has already been found, should be rejected.)Then, every ðx ðuÞ ; x ðz6 ¼uÞ Þ pair is examined considering its asymptotic coding gain e X 2 in order to determine complementary labelings.
The maximum asymptotic coding gain of 2.8752, which is the criterion of labelings' complementarity, has been found by the optimization algorithm in [15].The decision to consider the maximum value of the asymptotic coding gain for p ¼ 4 has been taken arbitrarily; one would assume any other value of p with no effect on the result, since all the M16 a -compliant labelings exhibit the same point-wise spectrum, which is not affected by p.
A thorough analysis of all 768 Â 768 M16 a -compliant labeling pairs shows that for each x ðuÞ there are exactly 16 complementary labelings, i.e., x ðC1ðuÞÞ . ..x ðC16ðuÞÞ .After careful observation of all complementary labeling pairs, we can establish the following corollary: Corollary 2 A set of the labels associated with the corner constellation points according to x ðCiðuÞÞ ; i ¼ 1; . ..; 16; u ¼ 1; . ..; 768, consists of the labels assigned to the corner constellation points according to x u ð Þ with all bits negated.
Note that the above corollary does not provide the order of the corner points' labels according to x ðCiðuÞÞ ; i ¼ 1. ..; 16.Nevertheless, it can be observed that the order is always disturbed in comparison with the reference x ðuÞ labeling in a very specific way, i.e., the labels of two corner constellation points differing two bits are swapped with each in the complementary labeling in comparison with the reference labeling.
Obviously, the obtained complementary labeling x ðC i ðuÞÞ must hold the features of M16 a , as the reference labeling x ðuÞ does.But, according to Theorem 5, it is enough to specify labels for the corner constellation points of the complementary labeling, which hold the 2-3-2-3 rule and do not violate Corollary 2 and the rest of the labels can be generated by executing Steps 2-7 of the algorithm presented in Sect. 4. For every tuple of corner constellation points' labels one would obtain two complete complementary labelings, as Theorem 5 says.Thus, everything we need at this stage to generate a labeling that is complementary to a given reference M16 a -compliant labeling, is a method to dispatch the labels obtained from the reference labeling according to Corollary 2 to the corner constellation points, which can be done in 8 ways.Note that the labels, obtained from the reference labeling, are not required to appear in the same order or to be assigned to the same points as their origins.A simple algorithm to specify one of x ðCiðuÞÞ labelings that are complementary to a given reference x ðuÞ labeling, is presented in the next section.

Algorithm to Generate Corner Constellation Points' Labels According to the Complementary Labeling
The algorithm input is an M16 a -compliant labeling.The algorithm steps are as follows: Step 1. (define a ''raw'' complementary labeling compliant with Corollary 2) Take the labels of corner constellation points of the reference labeling, negate all their bits and assign them to the same points as their origins in the reference labeling.
Step 2. (disturb the order of the labels) If the ''raw'' labeling is oriented vertically, swap the labels of points A and D. Otherwise, swap the labels of points A and M. The labels of corner constellation points that hold the 2-3-2-3 rule are ready.
Step 3. (optional; get alternative labels of corner constellation points) Execute one of the following operations: -reflect the labels of the corner constellation points (obtained in Step 2) across imaginary axis, -reflect them across real axis, -reflect them across the origin, -rotate them 90 clock-wise, -rotate them 90 counterclock-wise, -exchange the labels of points A and P, -exchange the labels of points D and M, Having generated the labels of the corner constellation points, one can easily get a complete complementary labeling map by using the algorithm delivered in Sect. 4.There are 8 different ways to specify the corner constellation points of the complementary labeling: in Step 3, one of 7 optional operations can be executed or the step can be skipped.Note that for each assignment of the labels to the corner constellation points there is one degree of freedom as Theorem 5 says.Accordingly, 16 complementary labelings can be found from one reference labeling.
As an example, the reference labeling, delivered in Sect.4.2 and resultant complementary ones are presented in Table 2; a points and c points are written in bold and in italic, respectively.Interestingly, any label associated with a point according to the reference labeling is assigned to one of c points under each of the complementary labeling rules.The same observation was made in [15] for a few M16 a -compliant pairs, found by BSA.For reader's convenience, consecutive steps of the presented in Fig. 6.More precisely, Fig. 6a presents the reference labeling developed in Sect.4.2.The ''raw'' complementary labels of the corner points, i.e., the result of the algorithm's Step 2, are shown in Fig. 6b.The result of disturbing the order of ''raw'' labels (Step 3) is shown in Fig. 6c.Finally, Fig. 6d presents the final complementary labeling, which is the first complementary labeling with no optional operation from Table 2.

Table 2 Constellation points associated with individual labels according to reference-and complementary labelings
In the paper it has been shown that the optimal, M16 a -compliant labelings, used to be searched for by means of random optimization methods, can actually be designed in just a few easy steps.
Apart from theoretical considerations, broadening the current state-of-the-art in the field of optimal labelings, some practical aspects of the work have been outlined, i.e., thanks to the algorithm, all M16 a -compliant labeling pairs have been investigated to find out what features they should have to yield maximum labeling diversity gain.Taking one of the optimal labelings, now it is possible to easily get the complementary one.The developed algorithm is expected to facilitate future research on labeling diversity.
It sounds interesting to analyze optimal labelings for different modulations and check if they can benefit from labeling diversity as 16-QAM does.Nevertheless, one should keep in mind that there is no simple space-time decoder for LD scheme and, hence, it would be hardly possible to process 64-QAM or 256-QAM signals on a real time basis.Consequently, from a practical point of view it is suggested to focus on constellations of moderate size, like 32-QAM.
Let us assume that v A ¼ wðb 1 ; b 2 ; b 3 ; b 4 Þ and that the label of point D differs in two bits from that of A, i.e., v D ¼ wðb 1 ; b 2 ; b 3 ; b 4 Þ (vertical labeling orientation).At first, let us decide on which labels can be assigned to points M and P. According to Theorems 1 and 2, all the labels differing in one bit from v A and from v D are forbidden.Additionally, v M must not differ in four bits from v A , and v P must not differ in four bits from v D .Therefore, and It can be easily noticed that V M and V P are identical with the exception for their last elements.The labels of points K; L; O must differ in one bit from v A since in the spectrum of a points there are single 8d, and double 13d entries.To reinforce that clause we note that for point A the only possible 8d distance is that to point K and 13d-to points L and O.
Additionally, v L and v O cannot differ in one bit from v D since there are neither 4d nor 10d distances in the spectrum of a points.Therefore, and Since V LO & V K consists of exactly 2 elements, each of them must be assigned to either point L or point O and, therefore, cannot be assigned to point K. Thus we reformulate Now let us repeat similar derivation for points I; J; N. According to the M16 a spectrum we must ensure that v At this stage we can assign the labels to points M and P. To accomplish this goal we make use of the fact that the spectrum of a points contains none of d, 4d and 10d entries.Thus, it is clear that the labels of M and P cannot differ in one bit from any element of fV IN ; V LO g.
It holds because all fV IN ; V LO g entries have to be dispatched to points I; N; L and O.As a result, At the end we note that wðb 1 ; b , which proves the theorem, regardless of the way in which the elements of V MP are finally assigned to points M and P.
Appendix 2: Proof of Theorem 4 Let us assume that v A ¼ wðb 1 ; b 2 ; b 3 ; b 4 Þ and that v D ¼ wðb 1 ; b 2 ; b 3 ; b 4 Þ.Taking into consideration Theorems 1 and 2 the labels that can be assigned to points M and P belong to The elements of V MP can be divided into two subsets: To hold the M16 a spectral requirements, the labels of points I, N, and J must differ in one bit from v D and must not differ in one bit from v M , i.e.
Since the number of V IJN elements is lower than the number of points to which the labels must be dispatched, we conclude that v M must not belong to V 0 MP .Thus, any 3-3x-x rule (cf. the 2-3-2-3 rule in Definition 2) is forbidden for M16 a -compliant labelings.
-Now let us take v M 2 V 00 MP .With no loss of generality we assume that v M ¼ wðb 1 ; b 2 ; b 3 ; b 4 Þ.The set of labels that can be potentially assigned to point P is limited to V P ¼ V MP nv M .Prior to final assignment of the label to point P it is worth dealing with the labels of K; L; and O.With respect to 1-bit Hamming distance to v A required for the label of K, we initially get The same rule must be held by the labels of L and O, but they must not differ in 1 bit from v M , additionally.Therefore, Since V LO & V K , we must limit the number of V K elements, i.e., According to the a point spectrum properties, the label of P must not differ in one bit from any of the following labels: v M (no 9d entry), a 2 V K (no 2d entry), b 2 V LO (no d entry).As a result we get V P ¼ fwðb 1 ; b 2 ; b 3 ; b 4 Þg, what means that there is only one v P candidate.Note that v P Áv M ¼ v A Áv D ¼ 3 and v A Áv M ¼ v D Áv P ¼ 2. Thus, we conclude that the labeling holds the 2-3-2-3 rule.The label associated with point E can be chosen from two candidates.Having dispatched the label to point E, there is only one candidate for the labels of remaining points, which proves the the theorem.

Fig. 4
Fig. 4 Connections with possible counterparts for a point (a), b point (b), c point (c) according to their spectra

-
Let us assume that v M 2 V 0 MP .With no loss of generality we take v M ¼ wðb 1 ; b 2 ; b 3 ; b 4 Þ [this label differs from the rest of V 0 MP only in the positions occupied by ones and zeros, which actually does not matter since the final labeling is still the result of the permutation function w Á ð Þ].

Appendix 3 :V; w b 1 ; b 2 ; b 3 ; b 4 V; w b 1 ; b 2 ; b 3 ; b 4 ; w b 1 ; b 2 ; b 3 ; b 4 V
Proof of Theorem 5In Theorem 4 we analyzed the vertically oriented labeling with v A ¼ wðb 1 ; b 2 ; b 3 ; b 4 Þ and v D ¼ wðb 1 ; b 2 ; b 3 ; b 4 Þ.It has appeared that such a (weak) assumption automatically limits the number of the labels that can be assigned to 8 constellation points, i.e.,V IN ¼ w b 1 ; b 2 ; b 3 ; b 4 À Á ; w b 1 ; b 2 ; b 3 ; b 4 JK ¼ w b 1 ; b 2 ; b 3 ; b 4 À Á MP ¼ w b 1 ; b 2 ; b 3 ; b 4 À ÁSince d; 2d, and 4d distances (e.g., F À I; F À J; F À N) are forbidden for c points, we get v F 2 V F ¼ fwðb 1 ; b 2 ; b 3 ; b 4 Þg and v G 2 V G ¼ fwðb 1 ; b 2 ; b 3 ; b 4 Þg.Note that both v F and v G differ in exactly one bit from both elements of V MP , regardless of their final assignment to points M and P. At this stage only the following labels are not preassigned:wðb 1 ; b 2 ; b 3 ; b 4 Þ, wðb 1 ; b 2 ; b 3 ; b 4 Þ, wðb 1 ; b 2 ; b 3 ; b 4 Þ, wðb 1 ; b 2 ; b 3 ; b 4 Þ.Each of them must be dispatched to one of the following points: B; C; E; H, but without making the final decision on the labels of points M and P we would get stuck as none of the assignments for points B; C; E; H currently violates the rules laid down by M16 a spectrum.Let us take v M ¼ wðb 1 ; b 2 ; b 3 ; b 4 Þ, and v P ¼ wðb 1 ; b 2 ; b 3 ; b 4 Þ thereby fulfilling the theorem assumptions (the 2-3-2-3 rule performed by the corner points).Now we can dispatch the labels not assigned hitherto to two sets:V BE ¼ w b 1 ; b 2 ; b 3 ; b 4 À Á CH ¼ w b 1 ; b 2 ; b 3 ; b 4 À Á ; w b 1 ; b 2 ; b 3 ; b 4 À Áð41Þmaking use the following dependencies resulting from the M16 a spectrum:v E Áv M 6 ¼ 1; v E Áv P ¼ 1; v H Áv M ¼ 1; v H Áv P 6 ¼ 1; v B Áv P ¼ 1; v C Áv M ¼ 1 (13d distances are obligatory and 2d distances are forbidden for a points).Once we choose v E ¼ wðb 1 ; b 2 ; b 3 ; b 4 Þ, we get v B ¼ wðb 1 ; b 2 ; b 3 ; b 4 Þ (the labels must be unique), v I ¼ wðb 1 ; b 2 ; b 3 ; b 4 Þ (because there is no d entry in the spectrum of b points and vE Áv I 6 ¼ 1, consequently), v J ¼ wðb 1 ; b 2 ; b 3 ; b 4 Þ (as v E Áv J 6 ¼ 1), v K ¼ wðb 1 ; b 2 ; b 3 ; b 4 Þ (the label of K must differ from that of J), v N ¼ wðb 1 ; b 2 ; b 3 ; b 4 Þ (to ensure that v N 6 ¼ v I ).Next, we get v H ¼wðb1 ; b 2 ; b 3 ; b 4 Þ (it must differ from v C ), v L ¼ wðb 1 ; b 2 ; b 3 ; b 4 Þ (v L Áv H 6 ¼ 1 must hold), and v O ¼ wðb 1 ; b 2 ; b 3 ; b 4 Þ (there is no other candidate to be dispatched to point O).
N t by simple linear processing, which can be treated as a kind of space-time decoding.In the previous sentence, H t is the current channel gain matrix, whose entries are i.i.d.random variables $ CN ð0; 1Þ, and N t $ CN ð0; N 0 Þ contains the additive Gaussian noise samples characterized by the noise power spectral density N 0 .Next, ht is the gain of an effective channel over which every s # ; # ¼ s; . ..; s þ q À 1, is transmitted, and ñ# is an effective noise sample.Note that all the signals s s ; . ..; s sþqÀ1 , associated with the tth space-time codeword X t , must be affected by the same ht to make the space-time decoding robust.The demapper design is the same as for conventional BICM-ID, i.e., at each time instant #, the demapper outputs extrinsic log-likelihood ratios (LLRs) L

Table 1
Histograms of the Point-Wise Distance Spectra for M16 a Labeling