METHOD AND DEVICE FOR TRANSMITTING BINARY DATA

Information

  • Patent Application
  • 20240243953
  • Publication Number
    20240243953
  • Date Filed
    January 13, 2022
    3 years ago
  • Date Published
    July 18, 2024
    7 months ago
Abstract
A method for transmitting binary data using a M-ASK constellation divided into M/2 sets of two symbols is disclosed. Each set of index i comprises the ith and ith+M/2 symbols of the constellation and is associated with a probability pi of transmitting the first symbol of the set. First, m−1 bits are obtained from an equiprobable binary source where m=log2M. A binary source is then selected 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. A symbol of the M-ASK constellation is obtained that is associated with the binary word formed by the m−1 bits as less significant bits and a bit obtained from the selected source as most significant bit. The symbol is finally transmitted to a receiver over a communication channel.
Description
TECHNICAL FIELD

At least one of the present embodiments generally relates to a method for transmitting binary data using a 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

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 R2, respectively, R being the set of real numbers.


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.


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. or 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.


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

At least one of the present embodiments generally relates to a method, in a transmitter, for transmitting binary data using a M-ASK constellation divided into M/2 sets of two symbols, each set of index i comprising the ith and ith+M/2 symbols of the M-ASK constellation, where iϵ[1;M/2], and being associated with a probability pi of transmitting the first symbol 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 natural labelling, said method comprising:

    • a) obtaining m−1 bits from an equiprobable binary source where m=log2M;
    • 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 pi;
    • 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 as less significant bits and the bit obtained from the selected source as most significant bit;
    • e) transmitting said obtained symbol to a receiver over a communication channel.


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.


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.


In one embodiment, the plurality of binary sources comprises 2m−1 binary sources.


In one embodiment,








p
i

=

1
-

p


M
2

-
i
+
1




,







1

i


M
4


,




the plurality of binary sources is reduced to 2m−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 M/2−D in the case where









M
4

+
1



D
+
1



M
2


;




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.


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







r

S

max




H

(

p
i

)





bits, where Smax is the number of sources in the plurality of binary sources, H(pi) denotes the binary entropy with parameter pi and r being an integer greater than or equal to 1.


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








r
*
n


S

max




H

(

p
i

)





bits obtained from the equiprobable binary source, where Smax is the number of sources in the plurality of binary sources and H(pi) denotes the binary entropy with parameter pi; and

    • applying a) to e) on each of the r*n sets of (m−1) bits.


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


In one embodiment, the method further comprises estimating the probabilities pi from a predefined communication channel distribution and transmitting said estimated probabilities to said receiver.


In one embodiment, the method further comprises receiving the probabilities pi from the receiver.


At least one of the present embodiments generally relates to a transmitter configured to transmit binary data using a M-ASK constellation divided into M/2 sets of two symbols is disclosed, each set of index i comprising the ith and ith+M/2 symbols of the M-ASK constellation, where iϵ[1;M/2], and being associated with a probability pi of transmitting the first symbol of the set and wherein each symbol of the M-ASK constellation is associated with a binary word defined using natural labelling. The transmitter comprising at least one processor configured to:

    • a) obtain m−1 bits from an equiprobable binary source where m=log 2M;
    • 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 as less significant bits and the bit obtained from the selected source as most significant bit;
    • e) transmit said obtained symbol to a receiver over a communication channel.


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.


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.


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


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



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



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



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



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



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



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



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



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



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



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





DESCRIPTION OF EMBODIMENTS


FIG. 1 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 S0 and outputs symbols selected in a given alphabet custom-character of symbols. The input data are for example bits of an audio/video bitstream. In an exemplary embodiment, the alphabet custom-character is a M-ASK constellation, where M=2m with m being an integer. The symbols of a M-ASK constellations are defined as follows:






=


{



-

2
m


+
1

,


,

-
3

,

-
1

,

+
1

,

+
3

,


,


+

2
m


-
1


}

.





Consequently, each symbol in this constellation can be represented by a sequence of m=log2M 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.


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(xi)=p(Xi=xi), xicustom-character. Let p(y|xi) be the channel distribution. e.g. with a Gaussian channel p(y|xicustom-character(xi, σ2), for all xi. 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˜custom-character(0, σ2).


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






SNR
=



E
[




"\[LeftBracketingBar]"

X


"\[RightBracketingBar]"


2

]


E
[




"\[LeftBracketingBar]"

W


"\[RightBracketingBar]"


2

]


.





Given any communication channel, let p*(x) be the distribution of the input X that maximizes the mutual information (MI) for a given constellation









p
*

(
x
)

=



arg


max



p

(
x
)

,


E
[




"\[LeftBracketingBar]"

X


"\[RightBracketingBar]"


2

]


P






I

(

X
;
Y

)



,




where P is the maximum average power. The quantity








max


E
[




"\[LeftBracketingBar]"

X


"\[RightBracketingBar]"


2

]


P




I

(

X
;
Y

)


,




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.



custom-character(x) is defined as the set of quasi-optimal distributions, i.e.







p

(
x
)




(
x
)







if







I

(

X
;
Y

)






arg

max



p

(
x
)

,


E
[




"\[LeftBracketingBar]"

X


"\[RightBracketingBar]"


2

]


P






I

(

X
;
Y

)


-
ε


,




where ε is a quantity whose magnitude depends on the requirements of the communication systems.


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 custom-character(x).


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. pMB(x)∈custom-character(x) for ε small). However, implementing the MB distribution is complex.


According to a specific embodiment, 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






1

i


M
2


,









p
(

x

i
+

M
2



)

α

=


1
-

p

(

x
i

)


α


,




where






α
=

1

M
/
2






is a scaling constant used to have the sum of the probabilities equal to 1. Let us denote the variable







p

(

x
i

)

α




by pi. Consequently, the mutual information is now optimized with respect to the set








{

p
i

}

,

1

i


M
2



:













{

p
i

}

*

=



arg


max



p

(
x
)

,


E
[




"\[LeftBracketingBar]"

X


"\[RightBracketingBar]"


2

]


P







I

(

X
;
Y

)

.






(
1
)







Thus according to the present principles, the M-ASK constellation is divided into M/2 sets, each set of index i containing the ith and






i
+

M
2





th symbols,






1

i



M
2

.





Thus, in the case of 8-ASK, the sets of symbols are defined as in the table below.














Sets
Index of the sets
Probability values







{−7, 1}
1
p1


{−5, 3}
2
p2


{−3, 5}
3
p3


{−1, 7}
4
p4









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


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


In a second embodiment, the probability values pi 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 pi values is associated with each predefined range of SNR values. The transmitter 10 thus selects the predefined set of pi values from the table responsive to the current SNR value and informs the receiver 14 accordingly.


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 pi 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 pi values and feeds them back to the receiver 14. The optimization step of the set of pi 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 pi values are the one that maximizes the mutual information. In a variant, the set of pi values is obtained by solving an optimization problem, such as Equation (1), where the following constraints applies on the pi values: pi+M/2=1−pi.


As depicted on FIG. 3, in the case of a 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. The shaping encoder 100 is part of the transmitter 10. The shaping encoder 100 comprises a switch 102 and a symbol mapper 104 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).


On FIG. 4A, the shaping encoder 100 is fed with bits by binary sources S0 to S2m−1. Let Smax+1 be the number of distinct binary sources (i.e. including S0), i.e. Smax=2m−1. The source S0 outputs bits with equal probabilities p(0)=p(1)=½. Each source Si with iε[1; 2m−1] is configured to output bits equal to 0 with a probability pi and thus bits equal to 1 with a probability (1−pi).


On FIG. 4B, the shaping encoder 100 is fed with bits by a single binary sources S0 that outputs bits with equal probabilities p(0)=p(1)=½. In this case, the sources S1 to S2m−1 are obtained from this single source S0 for example by using binary DMs (English acronym of “Distribution Matcher”), namely one per source S1 to S2m−1. Binary DMs are for example disclosed in the document from Böhnke 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 S1 to S2m−1.


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







r

S

max




H

(

p
i

)





generated by the source S0 and outputs






r

S

max





bits where Smax=2m−1, each bit is equal to 0 with a probability pi, r being a predefined integer value greater or equal to 1 and H(pi) being the binary entropy with parameter pi. Thus, the output of each DMi is considered as a source Si outputting bits equal to 0 with a probability pi.


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








r
*
n


S

max




H

(

p
i

)





generated by the source S0 and outputs







r
*
n


S

max





bits where Smax=2m−1, each bit is equal to 0 with a probability pi.


Back to FIG. 5, at step S300, (m−1) bits are obtained from the source S0. In the following these (m−1) bits are denoted (b1, b2, . . . , bm−1). These (m−1) bits form the LSB bits of the symbol. Since, the M-ASK constellation is divided into M/2 sets of two symbols containing the ith and






i
+

M
2





th symbols,







1

i


M
2


,




the two symbols that belong to the same set have identical LSB bits. For example with reference to FIG. 3, the symbols −5 and 3 that belong to set2 have “10” as LSB bits. Therefore, obtaining (m−1) bits from the source S0 makes it possible to select one set among the M/2 sets and thus one source Si.


At step S302, one source Si is selected by the switch 102 among the 2m−1 binary sources responsive to the (m−1) bits obtained from S0. Indeed, there is a one-to-one mapping between each possible binary sequence of (m−1) bits and the 2m−1 sets (and thus the 2m−1 sources). The index i of the selected set/source is equal to the decimal value D(b1, b2, . . . , bm−1) of the binary sequence (b1, b2, . . . , bm−1) of (m−1) bits incremented by 1, i.e. 1+D(b1, b2, . . . , bm−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



)

=







j
=
1


m
-
1




2

(

j
-
1

)


*


b
j

.






Binary natural labelling is illustrated on FIG. 3 for the 8-ASK constellation.


At step S304, a bit bm, called shaping bit, is obtained from this selected source. The obtained bit is the MSB of the symbol. Thus, the (m−1) bits obtained at S300 control the switch to select one source from which the MSB is outputted.


At step S306, the symbol mapper 104 thus generates the symbol to be transmitted corresponding to the binary word formed by the (m−1) obtained at S300 bits as LSB and the selected bit obtained at S306 as MSB. The binary word is thus (b1, b2, . . . , bm−1, bm), the LSB being on the left.


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.


In the case where the shaping encoder 100 of FIG. 4A 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 bm. Said otherwise, the steps S300 to S308 are repeated for each set of (m−1) bits outputted by the ECC module 106.


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



















Index of
(m-1)




Sets
the sets
LSB bits
Selected source









{−7, 1}
1
00
S1



{−5, 3}
2
10
S2



{−3, 5}
3
01
S3



{−1, 7}
4
11
S4










From two bits “10” obtained from S0 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.


In another example, wherein the two bits obtained at S300 from S0 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”).


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








p
i

=

1
-

p


M
2

-
i
+
1




,

1

i



M
4

.






With reference to FIG. 3, 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, Smax=2m−2.


Let b1, b2, . . . , bm−1 be the m−1 bits obtained at S300 from the binary source S0. If







1



D

(


b
1

,

b
2

,


,

b

m
-
1



)

+
1



M
4


,




the switch selects at S302 the corresponding source as on FIG. 4, i.e. selects the source of index D(b1, b2, . . . , bm−1)+1 and the bit obtained at S304 from the selected source is not flipped. If









M
4

+
1




D

(


b
1

,

b
2

,


,

b

m
-
1



)

+
1



M
2


,




the switch selects at S302 the source of index







M
2

-

D

(


b
1

,

b
2

,


,

b

m
-
1



)





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


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 (S0, S1 and S2) are needed instead of 5.



















Index of
(m-1)




Sets
the sets
LSB bits
Selected source









{−7, 1}
1
00
S1



{−5, 3}
2
10
S2



{−3, 5}
3
01
S2 ( followed






by flipping)



{−1, 7}
4
11
S1 ( followed






by flipping)










From two bits “10” obtained from S0 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.


In another example wherein the two bits obtained at S300 from S0 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 S1 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 S1 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.


In a variant (not represented on FIG. 6), the shaping encoder 100 is fed with bits by a single binary sources S0 that outputs bits with equal probabilities p(0)=p(1)=½. In this case, the sources S1 to S2m−2 are obtained from this single source S0 by using binary DMs (English acronym of “Distribution Matcher”), one per source S1 to S2m−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







r
Smax



H

(

p
i

)





generated by the source S0 and outputs






r
Smax




bits where Smax=2m−2.


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








r
*
n

Smax



H

(

p
i

)





generated by the source S0 and outputs







r
*
n

Smax




bits where Smax=2m−2.


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 p2 is set equal to p1. Symbol assigned with the same pi selects bits from the same binary source. p(x)∈custom-character(x) even in the case where Smax is small (e.g. equal to 2). In practice, two additional binary sources in addition to S0 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 pi values; and
    • reducing the size of the table when both transmitter and receiver obtain the pi values from a table.


In general, only a single equiprobable binary source S0 is available. The additional binary sources are thus obtained from the single binary source S0 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 S0. In this embodiment Smax=2 and bits have to be processed packet-wise (e.g. due to latency or system constraints). Let H(pi) denote the binary entropy with parameter pi. First,








(

m
-
1

)

*
k
*
r

+



n
*
r

2



(


H

(

p
1

)

+

H

(

p
2

)


)






bits are generated by the source S0. (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,








n
*
r

2



H

(

p
1

)





bits and








n
*
r

2



H

(

p
2

)





bits are processed by two binary distribution matcher DM1 and DM2. DM1 outputs a sequence of







n
*
r

2




bits where each bit is equal to 0 with a probability p1 and DM2 outputs a sequence of







n
*
r

2




bits where each bit is equal to 0 with a probability p2. 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 bm 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.


It is possible that the switch requests








n
*
r

2

+
ϵ




bits from the first DM and








n
*
r

2

-
ϵ




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.


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.


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.


Using a chain rule, the mutual information between the input X and the output Y of a communication channel can be expressed as follows:








I

(

X
;
Y

)

=


I

(


B
1

,

B
2

,


,


B
m

;
Y


)

=




i
=
1

m


I

(



B
i

;

Y


B
1



,


,

B

i
-
1



)




,




where Bi denotes the random variable corresponding to the ith bit of the labelling considered.


One bit level refers to the channel described by I(Bi; Y|B1, . . . , Bi−1). When a binary code is used to transmit information over this ith level the coding rate should be chosen to match I(Bi; Y|B1, . . . , Bi−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).


Let custom-character be the set of symbols of the constellation obtained with Bi=0 and custom-character′ with Bi=1, given that B1=b1, . . . , Bi−1=bi−1. Given a received symbol y, the LLR is defined as follows:










L

(
y
)

=


log




p

(

y


x



)


p

(

y


x









)



=









x








p

(

y


x



)



p

(

x


)










x














p

(

y


x



)



p

(

x


)




.






(
2
)







Since the bits on the first levels remain equiprobable, we have p(Bi=1|B1=b1, . . . , Bi−1=bi−1)=p(Bi=0|B1=b1, . . . , Bi−1=bi−1)=0.5 and the mutual information is computed as follows:







I

(


Y
;


B
i

|

B
1



,


,

B

i
-
1



)

=

1
-


E


B
1

,

,

B

i
-
1








E


Y


X
1


=
0


[


log
2

(

1
+

e

-

L

(
y
)




)

]

.







Regarding the last bit level used for shaping, we have







p

(



B
m

=


1


B
1


=

b
1



,


,


B

m
-
1


=

b

m
-
1




)

=

p
i





and







p

(



B
m

=


0


B
1


=

b
1



,


,


B

m
-
1


=

b

m
-
1




)

=

1
-

p
i






and the mutual information is computed as follows:







I

(


Y
;


B
i



B
1



,







,

B

i
-
1



)

=



E


B
1

,

,

B

i
-
1




[


H

(




B
i



B
1


=

b
1


,


,


B

i
-
1


=

b

i
-
1




)

-

E


Y

X

=

0
[


p




log
2

(

1
+


e

-

L

(
y
)






(

1
-
p

)

p



)


+


(

1
-
p

)





log
2

(

1
+


e

-

L

(
y
)





p

1
-
p




)



]




]

.





For the range of SNR considered, the shaping bit bm does not need to be encoded with a channel code. The mutual information I(Y; Bm|B1, . . . , Bm−1) equals the entropy of the corresponding level, i.e. the communication channel is “clean”. This is why the shaping bit bm 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
*






i
=
1





m
-
1





I

(



B
i

;

Y


B
1



,


,

B

i
-
1



)

/


(

m
-
1

)

.








Then, multi-level polar coding simply means that each bit level is coded with a polar code with rate I(Y; Bi|B1, . . . , Bi−1). The block length refers to the size of the polar codes used.


On the receiver side, list decoding is used to decode the polar codes. List decoding is disclosed in the document from Tal 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 pi for list decoding.



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


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).


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 pi for efficient decoding.


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.


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 302 applies. Thus, a switch 102 is positioned to send the MSB bit to the appropriate source. Possibly, inverse binary DMs apply in the case where binary DM where used on the transmitter side.


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









M
4

+
1




D



(

,
,


,

)


+
1



M
2


,




where custom-character, custom-character, . . . , custom-character represent the values of the decoded less significant bits.



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


The transmitter 10 comprises, connected by a communication bus 110: a processor or CPU (acronym of “Central Processing Unit”) 101; a random access memory RAM 112; a read only memory ROM 113; a storage unit 114 such as a 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.


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. 4A to 7.


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.



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


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 a hard disk or such as a storage medium reader, e.g. a 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.


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.


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.

Claims
  • 1. A method, in a transmitter, for transmitting binary data using a M-ASK constellation divided into M/2 sets of two symbols, each set of index i comprising the ith and ith+M/2 symbols of the M-ASK constellation, where iϵ[1;M/2], and 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 natural labelling, said method comprising: a) obtaining m−1 bits from an equiprobable binary source where m=log2M;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 pi;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 as less significant bits and the bit obtained from the selected source as most significant bit;e) transmitting said obtained symbol to a receiver over a communication channel.
  • 2. The method according to claim 1, 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; andselecting the binary source whose index equal said decimal value incremented by one.
  • 3. The method according to claim 1 wherein the plurality of binary sources comprises 2m−1 binary sources.
  • 4. The method according to claim 3, wherein,
  • 5. The method according to claim 1, wherein 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
  • 6. The method according to claim 1, further comprising—: 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
  • 7. The method according to claim 5, further comprising obtaining the probabilities pi from a table and transmitting to said receiver at least one index entry indicating the obtained probabilities.
  • 8. The method according to claim 5, further comprising estimating the probabilities pi from a predefined communication channel distribution and transmitting said estimated probabilities to said receiver.
  • 9. The method according to claim 5, further comprising receiving the probabilities pi from the receiver.
  • 10. A transmitter configured to transmit binary data using a M-ASK constellation divided into M/2 sets of two symbols, each set of index i comprising the ith and ith+M/2 symbols of the M-ASK constellation, where iϵ[1;M/2], and being associated with a probability pi of transmitting the first symbol of the set and wherein each symbol of the M-ASK constellation is associated with a binary word defined using natural labelling, said transmitter comprising at least one processor configured to: a) obtain m−1 bits from an equiprobable binary source where m=log2M;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) obtain a symbol of the M-ASK constellation associated with the binary word formed by the m−1 bits as less significant bits and the bit obtained from the selected source as most significant bit;e) transmit said obtained symbol to a receiver over a communication channel.
  • 11. 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 claim 1 when the program code instructions are run by the programmable device.
  • 12. A storage medium storing a computer program comprising program code instructions, the program code instructions causing implementation of the method according to claim 1 when the program code instructions are read from the storage medium and run by the programmable device.
Priority Claims (1)
Number Date Country Kind
21305730.0 Jun 2021 EP regional
PCT Information
Filing Document Filing Date Country Kind
PCT/JP2022/001872 1/13/2022 WO