**METHOD AND DEVICE FOR TRANSMITTING BINARY DATA**

MITSUBISHI ELECTRIC R&D CT EUROPE BV (NL)

*;*

**H04L27/00**

**H04L27/04**WO2021078397A1 | 2021-04-29 |

EP4099651A1 | 2022-12-07 |

BOCHERER GEORG ET AL: "Bandwidth Efficient and Rate-Matched Low-Density Parity-Check Coded Modulation", IEEE TRANSACTIONS ON COMMUNICATIONS, IEEE SERVICE CENTER, PISCATAWAY, NJ. USA, vol. 63, no. 12, 1 December 2015 (2015-12-01), pages 4651 - 4665, XP011593618, ISSN: 0090-6778, [retrieved on 20151215], DOI: 10.1109/TCOMM.2015.2494016

BOCHERER GEORG ET AL: "Probabilistic Shaping and Forward Error Correction for Fiber-Optic Communication Systems", JOURNAL OF LIGHTWAVE TECHNOLOGY, IEEE, USA, vol. 37, no. 2, 15 January 2019 (2019-01-15), pages 230 - 244, XP011710942, ISSN: 0733-8724, [retrieved on 20190219], DOI: 10.1109/JLT.2019.2895770

BOHNKE ET AL.: "Polar coded distribution matching", ELECTRON. LETT., vol. 55, no. 9, 2019, pages 537 - 539, XP006075450, DOI: 10.1049/el.2019.0230

TAL ET AL.: "List decoding of polar codes", IEEE TRANSACTIONS ON INFORMATION THEORY, vol. 61, no. 5, 2013, pages 2213 - 2226, XP011578805, DOI: 10.1109/TIT.2015.2410251

[CLAIMS] [Claim 1] A method, in a transmitter, for transmitting binary data using an M-ASK constellation divided into M/2 sets of two symbols, each set of index i being associated with a probability pi of transmitting the first symbol of the set and a probability 1 -pi of transmitting the second symbol of the set and wherein each symbol of the M-ASK constellation is associated with a binary word defined with a given labelling, said method comprising: a) obtaining m-1 bits from a binary source where m = log [Claim 2] The method according to claim 1 , wherein said m- 1 bits obtained from the binary source are the less significant bits of the binary word and the bit obtained from the selected source is the most significant bit of the binary word. [Claim 3] The method according to claim 1 or 2, wherein the binary source is equiprobable. [Claim 4] The method according to any one of claims 1 to 3, wherein selecting a binary source in a plurality of binary sources responsive to said m-1 bits comprises: - determining a decimal value of the binary sequence formed by the m-1 bits; and - selecting the binary source whose index equal said decimal value incremented by one. [Claim 5] The method according to any one of claims 1 to 4, wherein the plurality of binary sources comprises 2 [Claim 6] The method according to any one of claims 1 to 5, wherein said given labelling is a natural labelling and wherein each set of index i comprises the i th and i+M/2 th symbols of the M-ASK constellation, where i ∈[1;M/2], [Claim 7] The method according to claim 6, wherein, , the plurality of binary sources is reduced to 2 - determining a decimal value D of the binary sequence formed by the m-1 bits; and - selecting the binary source whose index equal M/2-D in the case where ; and - selecting the binary source whose index equal said decimal value incremented by one, otherwise; and wherein, in the case where the binary source whose index equal M/2-D is selected, the bit obtained from the selected source is flipped before obtaining a symbol of the M-ASK constellation. [Claim 8] The method according to any one of claims 1 to 5, wherein said given labelling is a Gray labelling and wherein each set of index i comprises the i th and M/2+1-i th symbols of the M-ASK constellation, where . [Claim 9] The method according to claim 8, wherein, p the plurality of binary sources is reduced to 2 - determining a decimal value D of the binary sequence formed by the m-1 bits; and - selecting the binary source whose index equal D + 1 mod(M/2+l), where mod() is the modulo operator. [Claim 10] The method according to any one of claims 1 to 9, wherein each binary source of index i in the plurality of binary sources is obtained from the binary source by applying binary distribution matching on sequences of bits, where S [Claim 11] The method according to any one of claims 1 to 10, further comprising: encoding r times (m-1)*k bits obtained from the binary source using an error correcting code into (m-1)*n bits, where n and k are integers; obtaining each binary source of index i in the plurality of binary sources from the binary source by applying binary distribution matching on sequences of bits obtained from the binary source, where S [Claim 12] The method according to claim 10 or 11, further comprising obtaining the probabilities p [Claim 13] The method according to claim 10 or 11, further comprising estimating the probabilities p [Claim 14] The method according to claim 10 or 11, further comprising receiving the probabilities p [Claim 15] A transmitter configured to transmit binary data using an M-ASK constellation divided into M/2 sets of two symbols, each set of index i being associated with a probability pi of transmitting the first symbol of the set and a probability 1 -pi of transmitting the second symbol of the set and wherein each symbol of the M-ASK constellation is associated with a binary word defined using a given labelling, said transmitter comprising at least one processor configured to: a) obtain m-1 bits from a binary source where m = log [Claim 16] The transmitter according to claim 15, wherein said given labelling is a natural labelling and wherein each set of index i comprises the i [Claim 17] The transmitter according to claim 15, wherein said given labelling is a Gray labelling and wherein each set of index i comprises the i [Claim 18] The transmitter according to any one of claims 15 to 17, wherein said m- 1 bits obtained from the binary source are the less significant bits of the binary word and the bit obtained from the selected source is the most significant bit of the binary word. [Claim 19] A computer program product comprising program code instructions that can be loaded in a programmable device, the program code instructions causing implementation of the method according to any one of claims 1 to 14 when the program code instructions are run by the programmable device. [Claim 20] A storage medium storing a computer program comprising program code instructions, the program code instructions causing implementation of the method according to any one of claims 1 to 14 when the program code instructions are read from the storage medium and run by the programmable device. |

[Title of Invention]

METHOD AND DEVICE FOR TRANSMITTING BINARY DATA [Technical Field] [0001]

At least one of the present embodiments generally relates to a method for transmitting binary data using an M-ASK constellation (ASK being the English acronym of “Amplitude- Shift Keying”). At least one of the present embodiments also relates to a corresponding transmitter.

[Background Art]

[0002]

In a communication system, a transmitter is coupled to a receiver by way of a communication channel (e.g. an optical fiber). The transmitter usually comprises an encoder configured to encode the input data, e.g. a bitstream, into symbols belonging to a finite set, called a constellation. One dimensional ASK (English acronym of “Amplitude- Shift Keying”) and two dimensional QAM (English acronym of “Quadrature- Amplitude Keying”) are examples of such constellations. Here, one dimensional or two dimensional constellations mean that the symbols take value in R or in R ^{2 }, respectively, R being the set of real numbers.

[0003]

These symbols are then transmitted over the communication channel to the receiver. The receiver comprises a decoder configured to decode the received symbols into output data.

[0004]

Communication systems in which uniformly distributed symbols are transmitted usually lead to a shaping loss. Therefore, in order to approach the channel capacity, it is known that the transmitter should process the input data to change the probability distribution of the transmitted symbols. More precisely, the input data are processed so that the transmitted symbols have a non-uniform probability distribution that is adapted to the communication channel. This operation, called probabilistic shaping, can provide energy savings also known as shaping gain. For a gaussian channel, it is known that the Maxwell-Boltzmann distribution yields quasi-optimal performance. However, processing input data to fit the Maxwell-Boltzmann distribution is complex to implement.

[0005]

It is thus desirable to find a method for transmitting binary data that is easy to implement while being performant and that is also adapted to non- Gaussian channel.

[Summary of Invention]

[0006]

At least one of the present embodiments generally relates to a method, in a transmitter, for transmitting binary data using an M-ASK constellation divided into M/2 sets of two symbols, each set of index i being associated with a probability pi of transmitting the first symbol and a probability 1-p _{i } of transmitting the second symbol of the set and each symbol of the M-ASK constellation being associated with a binary word defined using natural labelling, said method comprising: a) obtaining m-1 bits from a binary source where m = log _{2 }M; b) selecting a binary source in a plurality of binary sources responsive to said m-1 bits, each binary source of index i being associated with a probability of outputting a bit zero equal to p _{i }; c) obtaining one bit from the selected source; d) obtaining a symbol of the M-ASK constellation associated with the binary word formed by the m-1 bits obtained from the binary source and the one bit obtained from the selected source; e) transmitting said obtained symbol to a receiver over a communication channel.

[0007]

This transmitting method is easier to implement than transmitting methods trying to fit the Maxwell-Boltzmann distribution. More precisely, the above method makes it possible to implement a shaping operation using a reduced number of binary sources.

[0008]

In one embodiment, the given labelling is a natural labelling and each set of index i comprises the i th and i+M/2 th symbols of the M-ASK constellation, where i c[l;M/2].

[0009]

In one embodiment, said given labelling is a Gray labelling and each set of index i comprises the i th and M/2+l-i th symbols of the M-ASK constellation,

[0010]

In one embodiment, the m- 1 bits obtained from the binary source are the less significant bits of the binary word and the bit obtained from the selected source is the most significant bit of the binary word.

[0011]

In one embodiment, the binary source is an equiprobable binary source. [0012]

In one embodiment, selecting a binary source in a plurality of binary sources responsive to said m-1 bits comprises:

- determining a decimal value of the binary sequence formed by the m-1 bits; and

- selecting the binary source whose index equal said decimal value incremented by one. [0013]

In one embodiment, the plurality of binary sources comprises 2 ^{m-1 } binary sources.

[0014]

In one embodiment, , the plurality of binary sources is reduced to 2 ^{m-2 } binary sources and selecting a binary source responsive to said m-1 bits comprises:

- determining a decimal value D of the binary sequence formed by the m-1 bits; and

. .

- selecting the binary source whose index equal M/2-D in the case where ; and- selecting the binary source whose index equal said decimal value incremented by one, otherwise; and, in the case where the binary source whose index equal M/2-D is selected, the bit obtained from the selected source is flipped before obtaining a symbol of the M-ASK constellation.

[0015]

In one embodiment, , the plurality of binary sources is reduced to 2 ^{m }’ ^{2 } binary sources and wherein selecting a binary source responsive to said m-1 bits comprises:

- determining a decimal value D of the binary sequence formed by the m-1 bits; and

- selecting the binary source whose index equal D+1 mod(M/2+1), where mod() is the modulo operator.

[0016]

In one embodiment, each binary source of index i in the plurality of binary sources is obtained from the equiprobable binary source by applying binary distribution matching on sequences of bits, where S _{max } is the number of sources in the plurality of binary sources, H(p _{i }) denotes the binary entropy with parameter p _{i } and r being an integer greater than or equal to 1.

[0017]

In one embodiment, the method further comprises: encoding r times (m-1)*k bits obtained from the equiprobable binary source using an error correcting code into (m-1)*n bits, where n and k are integers; obtaining each binary source of index i in the plurality of binary sources from the equiprobable binary source by applying binary distribution matching on sequences of bits obtained from the equiprobable binary source, where S _{max } is the number of sources in the plurality of binary sources and H(p _{i }) denotes the binary entropy with parameter p _{i } ; and applying a) to e) on each of the r*n sets of (m-1) bits.

[0018]

In one embodiment, the method further comprises obtaining the probabilities p _{i } from a table and transmitting to said receiver at least one index entry indicating the obtained probabilities.

[0019]

In one embodiment, the method further comprises estimating the probabilities p _{i } from a predefined communication channel distribution and transmitting said estimated probabilities to said receiver.

[0020]

In one embodiment, the method further comprises receiving the probabilities p _{i } from the receiver. [0021] At least one of the present embodiments generally relates to a transmitter configured to transmit binary data using an M-ASK constellation divided into M/2 sets of two symbols is disclosed, each set of index i being associated with a probability pi of transmitting the first symbol of the set and a probability 1 -pi of transmitting the second symbol of the set and each symbol of the M-ASK constellation being associated with a binary word defined using natural labelling. The transmitter comprising at least one processor configured to: a) obtain m-1 bits from a binary source where m = log _{2 }M; b) select a binary source in a plurality of binary sources responsive to said m-1 bits, each binary source of index i being associated with a probability of outputting a bit zero equal to pi; c) obtain one bit from the selected source; d) obtaining a symbol of the M-ASK constellation associated with the binary word formed by the m- 1 bits obtained from the binary source and the bit obtained from the selected source; e) transmit said obtained symbol to a receiver over a communication channel.

[0022]

The various embodiments disclosed with respect to the method also apply to the transmitter.

[0023]

A computer program product is disclosed that comprises program code instructions that can be loaded in a programmable device, the program code instructions causing implementation of the method according to anyone of the previous embodiments the program code instructions are run by the programmable device.

[0024]

A storage medium is disclosed that stores a computer program comprising program code instructions, the program code instructions causing implementation of the method according to anyone of the previous embodiments when the program code instructions are read from the storage medium and run by the programmable device.

[0025]

The characteristics of the invention will emerge more clearly from a reading of the following description of at least one example of embodiment, said description being produced with reference to the accompanying drawings. [Brief Description of Drawings] [0026] [FIG. 1]

Fig. 1 illustrates schematically a communication system according to a specific embodiment.

[FIG. 2]

Fig. 2 depicts the symbols of an 8-ASK constellation.

[FIG. 3A]

Fig. 3A illustrates the principles of the division of an M-ASK constellation into M/2 sets of two symbols according to a specific embodiment. [FIG. 3B]

Fig. 3B illustrates an alternative division of an M-ASK constellation into M/2 sets of two symbols according to a specific embodiment.

[FIG. 4A]

Fig. 4 A depicts a block diagram of a shaping encoder according to a specific embodiment.

[FIG. 4B]

Fig. 4B depicts a block diagram of a shaping encoder according to another specific embodiment. [FIG. 4C] Fig. 4C depicts a block diagram of a shaping encoder according to another specific embodiment.

[FIG. 5]

Fig. 5 depicts a flowchart of a transmitting method according to a specific embodiment.

[FIG. 6]

Fig. 6 depicts a block diagram of a shaping encoder according to another specific embodiment.

[FIG. 7]

Fig. 7 depicts a block diagram of a shaping encoder according to another specific embodiment.

[FIG. 8]

Fig. 8 depicts a flowchart of a decoding method according to a specific embodiment.

[FIG. 9]

Fig. 9 illustrates schematically an example of hardware architecture of a shaping encoder according to a specific embodiment.

[FIG. 10]

Fig. 10 illustrates schematically an example of hardware architecture of a decoding device according to a specific embodiment.

[Description of Embodiments]

[0027]

Fig.l illustrates schematically a communication system 1 in which the present embodiments may be implemented. The communication system 1 comprises a transmitter 10 and a receiver 14 that are coupled to one another by way of a communication channel 12. The transmitter 10 is fed with input data by at least one equiprobable binary source SO and outputs symbols selected in a given alphabet X of symbols. The input data are for example bits of an audio/video bitstream. In an exemplary embodiment, the alphabet X is an M- ASK constellation, where M=2 ^{m } with m being an integer. The symbols of an M-ASK constellations are defined as follows:

X = {- 2 ^{m } + 1, . . , -3, -1, +1, +3, ... , +2 ^{m } - 1}. [0028]

Consequently, each symbol in this constellation can be represented by a sequence of m = log _{2 }M bits. Fig. 2 depicts the symbols of an 8-ASK constellation wherein the first symbol is -7 and the last one is 7. In the following, the various embodiments are described with reference to the ASK modulation. It will be appreciated, however, that the present embodiments are not restricted to the ASK modulation. As an example, it may also be used with the QAM modulation.

[0029]

With reference to Fig. 1, let X be a discrete random variable representing the symbols at the input of the communication channel 12 with probability distribution p(x _{i }) = p(X _{i } = x _{i }) . x _{i } ∈ X. Let p(y|x _{i }) be the channel distribution, e.g. with a Gaussian channel p(y|x _{i }) ~ N (x _{i }, σ ^{2 }), for all x _{i }. Let Y be a random variable representing the communication channel output. In the case of a Gaussian channel, Y is defined as follows: Y = X + W, where W is a Gaussian noise, e.g. W ~ N (0, σ ^{2 }).

[0030]

For the Gaussian channel, the signal-to-noise ratio (SNR) is defined as follows:

[0031]

Given any communication channel, let p*(x) be the distribution of the input X that maximizes the mutual infonnation (MI) for a given constellation , where P is the maximum average power. The quantity where the maximization is not only over the probability distribution but also over all possible inputs, is called the channel capacity. In the following, a discrete input is considered and optimization is only done over its distribution. The constellation (i.e., the set of positions of the elements of the discrete input) is not an optimization variable.

[0032] is defined as the set of quasi- optimal distributions, i.e. where E is a quantity whose magnitude depends on the requirements of the communication systems.

[0033]

The aim of probabilistic shaping is to process the input such that its probability distribution maximizes, or almost maximizes, the mutual information I(X; Y). Said otherwise, the distribution of the input should be in .

[0034]

For the M-ASK constellation, p(x) is often chosen as the MB distribution (English acronym of “Maxwell-Boltzmann distribution”). Indeed, in this case, the obtained performance is close to the one obtained with p*(x) (i.e. for ε small). However, implementing the MB distribution is complex.

[0035]

According to a first specific embodiment defined in order to limit the complexity in the case of M-ASK, the set of possible distributions is limited to one that can be expressed as follows: For all where is a scaling constant used to have the sum of the probabilities equal to 1. Let us denote the variable . Consequently, the mutual information is now optimized with respect to the set

[0036]

Thus according to the present principles, the M-ASK constellation is divided into M/2 sets, each set of index i containing the i th and symbols, for all i such that In the following, “ i th symbol” is to be interpreted as the symbol of index i. In the same way, the “ th symbol” is to be interpreted as the symbol of index Thus, in the case of 8-ASK, the sets of symbols are defined as in the table below.

[0037]

A shaping encoder according to one embodiment is thus configured to select randomly one seti of the M/2 sets with equal probability (namely α) and thus transmits the first symbol of sef with probability and the second one with probability 1 — p _{i }. The selection of a set may involve an error-correcting code. For each sef the probabilities p _{i } are known by both the transmitter and the receiver.

[0038]

According to a second specific embodiment defined in order to limit the complexity in the case of M-ASK, the set of possible distributions is limited to one that can be expressed as follows:

For all where is a scaling constant used to have the sum of the probabilities equal to 1. Let us denote the variable . Consequently, the mutual information is now optimized with respect to the set {p _{i }}, and

[0039]

Thus according to the present principles, the M-ASK constellation is divided into M/2 sets, each set of index i containing the i th and symbols, i.e. the symbol of index i and the symbol of index , for all i such that . Thus, in the case of 8-ASK, the sets of symbols are defined as in the table below.

[0040]

A shaping encoder according to one embodiment is thus configured to select randomly one seti of the M/2 sets with equal probability (namely a) and thus transmits the first symbol of seti with probability p _{i } and the second one with probability 1 - p _{i }. The selection of a set may involve an error-correcting code. For each seti the probabilities p _{i } are known by both the transmitter and the receiver.

[0041]

In a first embodiment, the probability values p _{i } are computed offline for a given channel distribution. For example, for a Gaussian distribution of the noise in the channel, the probability values p _{i } are computed offline once and for all and are thus not modified afterwards.

[0042]

In a second embodiment, the probability values p _{1 } are computed offline for a given range of parameters of the communication channel, and stored in a table that is shared between the transmitter 10 and receiver 14. For example, if the channel distribution is Gaussian, the parameter may be the SNR of said communication channel. Therefore, in the table, one predefined set of p _{i } values is associated with each predefined range of SNR values. The transmitter 10 thus selects the predefined set of p _{i } values from the table responsive to the current SNR value and informs the receiver 14 accordingly. [0043]

In a third embodiment, the channel distribution is estimated by the receiver 14 after the reception of pilot symbols. Then, the receiver 14 optimizes the p _{i } values and feeds them back to the transmitter 10 by using a signaling channel. Alternatively, the receiver 14 estimates the channel distribution and sends the estimated channel distribution to the transmitter 10 which optimizes the p _{i } values and feeds them back to the receiver 14. The optimization step of the set of p _{i } values may be a linear search, i.e. defining a subset of possible pi values and computing the mutual information associated with the estimated channel distribution. The chosen p _{i } values are the one that maximizes the mutual information. In a variant, the set of p _{i } values is obtained by solving an optimization problem, such as Equation (1), where the following constraints applies on the pi values: P _{i+M/2 } = 1 - p _{i }. 0044]

As depicted on Fig. 3 A, in the case of an M-ASK constellation wherein each symbol in the constellation is represented by a binary sequence using natural labelling where the less significant bits are on the left, a shaping encoder 100 can be implement as depicted on Figs. 4A and 4B with the most significant bit b _{m } being the shaping bit. The natural labelling of the 8 -ASK constellation is provided by the following Table 1.

Table 1 [0045]

As depicted on Fig. 3B, in the case of an M-ASK constellation wherein each symbol in the constellation is represented by a binary sequence using Gray labelling where the less significant bits are on the left, a shaping encoder 100 can be implement as depicted on Fig. 4C. The Gray labelling of the 8-ASK constellation is provided by the following Table 2 A.

Table 2A

[0046]

In this case, the shaping bit is and thus the shaping bit is not the most significant bit.

[0047]

In a variant, a different Gray labelling is used which is illustrated in Table 2B. In Table 2B the last two lines are inverted compared to Table 2A. In this latter case, a shaping encoder 100 can be implement as depicted on Figs. 4A with the most significant bit b _{m } being the shaping bit.

Table 2B [0048]

The shaping encoder 100 is part of the transmitter 10. The shaping encoder 100 comprises a switch 102 and a symbol mapper 104 that can use natural labelling or Gray labelling and is configured to implement a shaping method such as the one whose flowchart is depicted on Fig. 5. Optionally, the shaping encoder 100 further comprises an ECC (English acronym of “Error- Correcting Code”) module 106 also called channel coding module. The ECC module 106 usually takes as input k*(m-1) bits and outputs n*(m-1) bits where k and n are predefined integer values, e.g. k= 500 and n=1000. The higher n*(m-1) (for a given ratio k/n), the better the performances. On the other hand, the latency increases with n*(m-1).

[0049]

On Figs. 4A and 4C, the shaping encoder 100 is fed with bits by binary sources SO to S2 ^{m-1 }. Let S _{max } + 1 be the number of distinct binary sources (i.e. including S _{0 } ), i.e. S _{max }=2 ^{m-1 }. The source SO outputs bits with equal probabilities p(0)=p(l)=l/2. Each source Si with i∈[1; 2 ^{m-1 }] is configured to output bits equal to 0 with a probability pi and thus bits equal to 1 with a probability (1- p _{i }).

[0050]

On Fig. 4B, the shaping encoder 100 is fed with bits by a single binary sources SO that outputs bits with equal probabilities p(0)=p(l)=l/2. In this case, the sources SI to S2 ^{m-1 } are obtained from this single source SO for example by using binary DMs (English acronym of “Distribution Matcher”), namely one per source SI to S2 ^{m }- ^{1 }. Binary DMs are for example disclosed in the document from Bohnke et al. entitled ''Polar coded distribution matching'' published in Electron. Lett., vol. 55, no. 9, pp. 537-539, 2019. It will be appreciated, however, that the present embodiments are not restricted to this specific method for obtaining the sources SI to S2 ^{m-1 } [0051]

In the case where the shaping encoder 100 of Fig. 4B does not comprise an ECC module, for each given source Si, DMi takes as input generated by the source SO and outputs bits where S _{max }=2 ^{m-1 } each bit is equal to 0 with a probability r being a predefined integer value greater or equal to 1 and H(p _{i }) being the binary entropy with parameter p _{i }. Thus, the output of each DMi is considered as a source Si outputting bits equal to 0 with a probability p _{i }.

[0052]

In the case where the shaping encoder 100 of Fig. 4B comprises an ECC module 106 which encodes k*(m-1) bits into n*(m-1) bits, and repeats this operation r times, each DMi takes as input generated by the source SO and outputs bits where S _{max }=2 ^{m- 1 }, each bit is equal to 0 with a probability p _{i }.

[0053]

Back to Fig. 5, at step S300, (m-1) bits are obtained from the source SO. In one embodiment (natural labelling), these (m-1) bits are (b _{1 }, b _{2 }, ... , b _{m-1 } ) and form the LSB bits of the symbol. Since, the M-ASK constellation is divided into M/2 sets of two symbols containing the i th and the two symbols that belong to the same set have identical LSB bits. For example with reference to Fig. 3A, the symbols -5 and 3 that belong to set _{2 } have “10” as LSB bits. Therefore, obtaining (m-1) bits from the source SO makes it possible to select one set among the M/2 sets and thus one source Si.

[0054]

In another embodiment (Gray labelling of Table 2B), these (m-1) bits are (b _{1, } b _{2 }, ... , b _{m-1 } ) and form the LSB bits of the symbol. Since, the M-ASK constellation is divided into M/2 sets of two symbols containing the i th and symbols, , the two symbols that belong to the same set have identical LSB bits.

[0055]

In another embodiment (Gray labelling of Table 2A), these (m-1) bits are the bits

[0056]

At step S302, one source Si is selected by the switch 102 among the 2 ^{m- }

^{1 } binary sources responsive to the (m-1) bits obtained from SO. Indeed, there is a one-to-one mapping between each possible binary sequence of (m-1) bits and the 2 ^{m-1 } sets (and thus the 2 ^{m-1 } sources). In the case of natural labelling or Gray labelling of Table 2B, the index i of the selected set/source is equal to the decimal value D(b _{1 }, b _{2 }, ... , b _{m -1 } of the binary sequence (b _{1 }, b _{2 }, ... , b _{m -1 } of (m-1) bits incremented by 1, i.e. 1+ D(b _{1 }, b _{2 }, ... , b _{m }_ _{1 }). Each symbol in the constellation being represented by a binary sequence using natural labelling with the less significant bits on the left, the value D(b _{1 }, b _{2 }, ... , b _{m }- _{1 }) = . Binary natural labelling is illustrated on Fig. 3A for the 8- ASK constellation. In the case of Gray labelling (Table 2A), the index i of the selected set/source is equal to the decimal value D(b _{1 }, b _{2 }, ... , b _{m }- _{2 }, b _{m }) of the binary sequence (b _{1, } b _{2 }, ..., b _{m-2 }, b _{m }) of (m-1) bits incremented by 1.

[0057]

At step S304, a bit, called shaping bit, is obtained from this selected source. The obtained bit is the MSB b _{m } of the symbol in the case of natural labelling and Gray labelling of Table 2B. In the case of Gray labelling of Fig.2A, the obtained bit is b _{m-1 }. Thus, the (m-1) bits obtained at S300 control the switch to select one source from which the shaping bit, e.g. the MSB in case of natural labelling or Gray labelling of Table 2B, is outputted. [0058]

At step S306, the symbol mapper 104 thus generates the symbol to be transmitted corresponding to the binary word formed by the (m- 1 ) bits obtained at S300 bits as LSB and the selected bit obtained at S306 as MSB in the case of the natural labelling and Gray labelling of Table 2B. In the case of Gray labelling of Table 2A, the symbol mapper 104 thus generates the symbol to be transmitted corresponding to the binary word formed by the (m-1) bits _{( }b _{1 }, b _{2 }, . . . , b _{m-2 } b _{m } ) obtained at S300 bits and the selected bit b _{m-1 } obtained at S306. The binary word is thus (b _{1 }, b _{2 }, . . . , b _{m-1 }, b _{m }), the LSB being on the left. [0059]

At step S308, the obtained symbol is transmitted over the communication channel 12 to the receiver 14. The steps S300 to S308 may be repeated for a next set of (m-1) bits.

[0060]

In the case where the shaping encoder 100 of Figs. 4A or 4C comprises an ECC module 106 which outputs n sets of (m-1) bits, each set of (m-1) bits is used independently to select one source Si at step S302 and thus one shaping bit. Said otherwise, the steps S300 to S3O8 are repeated for each set of (m-1) bits outputted by the ECC module 106. [0061]

An example is provided below for M=8 and m=3. In this case the various sets are defined in the table below.

[0062]

From two bits “10”obtained from SO at S300, the set of index 2 is selected and the switch 102 is thus positioned so as to select the source S2 at S302. In the case where the bit obtained from S2 at S304 is “1”, the obtained binary word is “101” which is thus mapped at S306 onto symbol 3 of the constellation. Therefore, the symbol 3 is outputted by the symbol mapper 104 and transmitted at S308.

[0063]

In another example, wherein the two bits obtained at S300 from SO are “11”, the set of index 4 is selected at 302. The switch is positioned to the source S4. In the case where the bit obtained from S4 at S304 is “1”, then the symbol mapper outputs at S306 the symbol 7 (corresponding to the binary word “111”). In the case where the bit obtained from S4 at S304 is “0”, then the symbol mapper outputs at S306 the symbol “-1” (corresponding to the binary word “110”).

[0064]

Another example is provided below for M=8 and m=3. In this case the various sets are defined in the table below.

[0065]

From two bits “10”obtained from SO at S300, the set of index 2 is selected and the switch 102 is thus positioned so as to select the source S2 at S302. In the case where the bit obtained from S2 at S304 is “1”, the obtained binary word is “110” which is thus mapped at S306 onto symbol -3 of the constellation (see Table 2 with the Gray labelling). Therefore, the symbol -3 is outputted by the symbol mapper 104 and transmitted at S308.

[0066]

In another example, wherein the two bits obtained at S300 from SO are “01”, the set of index 4 is selected at 302. The switch is positioned to the source S4. In the case where the bit obtained from S4 at S304 is “1”, then the symbol mapper outputs at S306 the symbol 1 (corresponding to the binary word “011”). In the case where the bit obtained from S4 at S304 is “0”, then the symbol mapper outputs at S306 the symbol “7” (corresponding to the binary word “001”).

[0067]

For some channels, such as the Gaussian channel, p*(x) is symmetric. Consequently, [0068] .

With reference to Fig. 3A, p3=1-p2 and p4=1-p1. Taking into account this symmetry, the shaping encoder 100 of Fig.4A may be further simplified as depicted on Fig. 6 wherein the number of binary sources is divided by two and bit flipping is used when some sources are selected. In this case, S _{max }=2 ^{m-2 }. [0069]

Let b _{1, } b _{2 }, ... , b _{m-1 } be the m — 1 bits obtained at S300 from the binary source SO. If , the switch selects at S302 the corresponding source as on Fig. 4, i.e. selects the source of index D(b _{r }, b _{2 }, . .., b _{m }_f) + 1 and the bit obtained at S304 from the selected source is not flipped. If , the switch selects at

S302 the source of index and the bit obtained at S304 from the selected source is not flipped.

[0070]

An example is provided below for M=8 and m=3. In this case the various sets are represented in the table below. In this case, only 3 binary sources (SO, SI and S2) are needed instead of 5.

[0071]

From two bits “10”obtained from SO at S300, the set of index 2 is selected and the switch 102 is thus positioned so as to select the source S2 at S302. In the case where the bit obtained from S2 at S304 is “1”, the obtained binary word is “101” which is thus mapped at S306 onto symbol 3 of the constellation. Therefore, the symbol 3 is output by the symbol mapper 104 and transmitted at S308.

[0072]

In another example wherein the two bits obtained at S300 from SO are “11”, then the set of index 4 is selected. The switch 102 is thus positioned so as to select the source S1 at S302. In the case where the bit obtained at S304 from SI is equal to “1”, it is flip (i.e. changed to 0) by a flipping module 108. Finally, the symbol mapper outputs the symbol “-1” (corresponding to the binary word “110”). In the case where the bit obtained at S304 from S 1 is equal to “0”, it is flip (i.e. changed to 1) by the flipping module 108. Finally, the symbol mapper outputs the symbol “7” (corresponding to the binary word “111”). Thus, bit flipping only applies when the sets of indices 3 and 4 are selected.

[0073]

In a variant (not represented on Fig.6), the shaping encoder 100 is fed with bits by a single binary sources SO that outputs bits with equal probabilities p(0)=p( 1 )= 1 /2. In this case, the sources S 1 to S2 ^{m-2 } are obtained from this single source SO by using binary DMs (English acronym of “Distribution Matcher”), one per source SI to S2 ^{m }’ ^{2 } in the same way as depicted on Fig. 4B. Thus, in the case where the shaping encoder does not comprise an ECC module, for each given source Si, DMi takes as input generated by the source SO and outputs bits where S _{max }=2 ^{m-2 }.

[0074]

In the case where the shaping encoder comprises an ECC module which encodes k*(m-1) bits into n*(m-1) bits, and repeats this operation r times, each DMi takes as input generated by the source SO and outputs bits where S _{max }=2 ^{m-2 }.

[0075]

With reference to Figure 3B (Gray labelling of Table 2A), p1=p3 and p2=p4. Taking into account this symmetry, the shaping encoder 100 of Fig.4C may be further simplified by dividing the number of binary sources by two. In this case, the selected binary source is the source whose index equal D(b _{1 }, b _{2 },..., b _{m-2 } b _{m } ) + 1 mod(M/2+1).

[0076]

In the case of Gray labelling of Table 2B, the shaping encoder 100 of Fig.4A may be further simplified by dividing the number of binary sources by two. In this case, the selected binary source is the source whose index equal D(b _{1 }, b _{2 }, . .. , b _{m-1 } ) + 1 mod(M/2+1).

[0077]

For further complexity reduction, the number of distinct binary sources can be reduced by forcing adjacent symbols to have the same probability. For instance, for the 8-ASK p _{2 } is set equal to p _{1 }. Symbol assigned with the same pi selects bits from the same binary source. even in the case where S _{max } is small (e.g. equal to 2). In practice, two additional binary sources in addition to So are sufficient to get most of the shaping gain for the Gaussian channel. Thus, it is possible to achieve near-optimal performance with a low number of binary sources. Limiting the number of binary sources provides several advantages, such as:

• reducing the complexity (in terms of number of operations required) of the shaping encoder and thus of the transmitter;

• reducing the complexity for the optimization of the probabilities;

• reducing the signaling between the transmitter and the receiver when the transmitter first signals the values; and

• reducing the size of the table when both transmitter and receiver obtain the p _{i } values from a table.

[0078]

In general, only a single binary source SO is available. In one example, the binary source SO is equiprobable. The additional binary sources are thus obtained from the single binary source SO as depicted on Fig. 4B. Fig. 7 depicts a shaping encoder 100 according to a specific embodiment wherein two additional binary sources are obtained from the single binary source SO. In this embodiment S _{max }=2 and bits have to be processed packet- wise (e.g. due to latency or system constraints). Let H(p _{i }) denote the binary entropy with parameter p _{i }. First, bits are generated by the source S _{0 }. (m — 1) * k * r bits are obtained and encoded via an error- correcting code module 106. The error correcting code module 106 outputs (m — 1) * n * r bits. In parallel, bits are processed by two binary distribution matcher DM1 and DM2. DM1 outputs a sequence of bits where each bit is equal to 0 with a probability p _{1 } and DM2 outputs a sequence of- bits where each bit is equal to 0 with a probability p _{2 }. Each of the n sets of m — 1 bits, at the output of the error-correcting code module 106, controls the switch 102 to select one shaping bit b _{m } at the output of the corresponding DM. The method disclosed with respect to Fig. 5 is thus applied on each of the n sets of m — 1 bits. Bit flipping as disclosed on Fig.6 may further be applied depending on the selected source.

[0079]

It is possible that the switch requests bits from the first DM and from the second DM, where ε is a random quantity. In the case where one source has no more bits available, a bit is selected from the other source. [0080]

Once the M-ASK symbols are obtained using any of the previously described shaping encoder as described with respect to Figs 4A to 7, the transmitter 10 transmits them through several dimensions such as polarization, time, frequency and space. For example, the transmitter 10 may group two ASK symbols in a complex symbol, one being the real part and the other the imaginary part. In this case, the M-ASK modulation is also called QAM modulation.

[0081]

In the various embodiments, the shaping encoder 100 may optionally comprise an ECC module 106 that is used to encode the less significant bits. In an example, the ECC module is configured to encode these bits with multi-level polar coding. The principles of multi-level coding are disclosed below.

[0082]

Using a chain rule, the mutual information between the input X and the output Y of a communication channel can be expressed as follows: where denotes the random variable corresponding to the i th bit of the labelling considered.

[0083]

One bit level refers to the channel described by I (B _{i }; Y | B _{1 }, ..., B _{i-1 }). When a binary code is used to transmit information over this ith level the coding rate should be chosen to match I (B _{i }; Y | B _{1 }, ..., B _{i-1 }) . In practice, a back- off which depends on the code used is applied. This communication channel can also be characterized by a log likelihood ratio (LLR).

[0084] Let S be the set of symbols of the constellation obtained with B _{t } = 0 and S' with B _{i } = 1, given that B _{1 } = b _{1, } ... , B _{i - 1 } =b _{i -1. } Given a received symbol y, the LLR is defined as follows: [0085]

Since the bits on the first levels remain equiprobable, we have p(B _{i } = 1IB _{1 } = b _{1 },...,B _{i-1 } = b _{i -1 } ) =p(B _{i } = 0lB _{1 } = b _{1 }, ... ,B _{i-1 } =b _{i -1 } ) = 0.5 and the mutual information is computed as follows:

I(Y; B _{i }I B _{1 },...,B _{i-1 } = 1 - E _{B1 },..., _{Bi-1 } E _{Ylx1=0 }[log _{2 }(1 + e- ^{L(y) })].

[0086]

Regarding the last bit level used for shaping, we have p(B _{m } = 1IB _{1 } = b _{1 },...,B _{m-1 } = b _{m -1 } ) = p _{i } and p(B _{m } = 0IB _{1 } = b _{1 },...,. B _{m-1 } = b _{m -1 } ) = 1 - p _{i } and the mutual information is computed as follows: [0087]

For the range of SNR considered, the shaping bit b _{m } does not need to be encoded with a channel code. The mutual information I(Y; B _{m }IB _{1 },..., ..., B _{m-1 } ) equals the entropy of the corresponding level, i.e. the communication channel is “clean”. This is why the shaping bit b _{m } is not encoded with a channel code in the embodiments previously disclosed. Consequently, the value of k on Fig. 7 may be chosen as k = n* .

[0088] Then, multi-level polar coding simply means that each bit level is coded with a polar code with rate I(Y; B _{i } IB _{1 } , ... , B _{i-1 }). The block length refers to the size of the polar codes used.

[0089]

On the receiver side, list decoding is used to decode the polar codes. List decoding is disclosed in the document from Tai et al. entitled “List decoding of polar codes” published in 2013 in IEEE Transactions on Information Theory, vol. 61, no. 5, pages 2213-2226. The list decoder performs MAP decoding. Consequently, the decoders take the LLR as inputs (see Equation (2)), which requires the knowledge of the input distribution to be computed. In other words, the receiver needs to know the values of the p _{i } for list decoding.

[0090]

Fig. 8 depicts a flowchart of a decoding method according to a specific embodiment.

[0091]

At a step S400, the index i of the set, thus of the source selected at step S302 on the transmitter side, is first obtained. If the selection of the sets is made block-wise via an error-correcting code by the transmitter, then the index i is obtained by channel decoding (i.e. a block of indices of sets are decoded together).

[0092]

At step S402, once the index i of the set is decoded, one of the two symbols of the set i is detected based on the received y . Most channel decoders perform maximum a posteriori (MAP) decoding. The detection of the transmitted symbol in the set i may also perform a MAP detection. MAP decoding requires knowing the input distribution. In other words, the receiver needs to know the values of the p _{i } for efficient decoding.

[0093] In some cases, it is sufficient to perform maximum likelihood (ML) detection in the set i (because the reliability is high enough such that taking into account the a priori probabilities is not needed). As a result, the knowledge of the pi may be used only by the channel decoder.

[0094]

At step S404, inverse mapping is applied to recover the bits from the detected symbol. This step is the inverse of the step S306. At step S406, the inverse of step S302 applies. Thus, a switch 102 is positioned to send the shaping bit, i.e. the MSB bit in case of natural labelling or Gray labelling of Table 2B, to the appropriate source. Possibly, inverse binary DMs apply in the case where binary DM where used on the transmitter side.

[0095]

In the case where bit flipping is applied on the transmitter side, bit flipping is applied on the receiver side at step S406 by flipping module 108. The decoded bit is flipped if , where represent the values of the decoded less significant bits. [0096]

Fig. 9 illustrates schematically an example of hardware architecture of a transmitter 10 according to a specific embodiment.

[0097]

The transmitter 10 comprises, connected by a communication bus 110: a processor or CPU (acronym of “Central Processing Unit”) 111 ; a random access memory RAM 112; a read only memory ROM 113; a storage unit 114 such as an hard disk or such as a storage medium reader, e.g. an SD (acronym of “Secure Digital”) card reader; and at least one set of communication interfaces COM 115 enabling the transmitter 10 to transmit and receive data. [0098]

The processor 111 is capable of executing instructions loaded into the RAM 112 from the ROM 113, from an external memory (such as an SD card), from a storage medium (such as the HDD), or from a communication network. When the transmitter 10 is powered up, the processor 111 is capable of reading instructions from the RAM 112 and executing them. These instructions form a computer program causing the implementation, by the processor 111, of the methods described in relation to Figs. 4 A to 7.

[0099]

The methods described in relation to Figs. 4A to 7 may be implemented in software form by the execution of the set of instructions by a programmable machine, for example a DSP (acronym of “Digital Signal Processor”), a microcontroller or a GPU (acronym of “Graphics Processing Unit”), or be implemented in hardware form by a machine or a dedicated component (chip or chipset), for example an FPGA (acronym of “Field-Programmable Gate Array”) or an ASIC (acronym of “Application-Specific Integrated Circuit”). In general, the transmitter 10 includes electronic circuitry adapted and configured for implementing the methods described in relation to Figs. 4A to 7. [0100]

Fig. 10 illustrates schematically an example of hardware architecture of a receiver 14 according to a specific embodiment.

[0101]

The receiver 14 comprises, connected by a communication bus 210: a processor or CPU (acronym of “Central Processing Unit”) 201; a random access memory RAM 202; a read only memory ROM 203; a storage unit 204 such as an hard disk or such as a storage medium reader, e.g. an SD (acronym of “Secure Digital”) card reader; and at least one set of communication interfaces COM 205 enabling the receiver 14 to transmit and receive data. [0102]

The processor 201 is capable of executing instructions loaded into the RAM 202 from the ROM 203, from an external memory (such as an SD card), from a storage medium (such as the HDD), or from a communication network. When the receiver 14 is powered up, the processor 201 is capable of reading instructions from the RAM 202 and executing them. These instructions form a computer program causing the implementation, by the processor 201, of the method described in relation to Fig. 8.

[0103]

The method described in relation to Fig. 8 may be implemented in software form by the execution of the set of instructions by a programmable machine, for example a DSP (acronym of “Digital Signal Processor”), a microcontroller or a GPU (acronym of “Graphics Processing Unit”), or be implemented in hardware form by a machine or a dedicated component (chip or chipset), for example an FPGA (acronym of “Field-Programmable Gate Array”) or an ASIC (acronym of “Application-Specific Integrated Circuit”). In general, the receiver 14 includes electronic circuitry adapted and configured for implementing the method described in relation to Fig. 8.