At least one of the present embodiments generally relates to a method, in a transmitter, for transmitting data to a receiver over a communication channel. At least one embodiment relates to a transmitter configured to implement the method.
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 an absence of a shaping gain. 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.
In addition to shaping, the signal should be protected against errors with a so-called error-correcting code. Combining shaping and error-correcting code is complex.
The document from Böcherer et al entitled “Bandwidth Efficient and Rate-Matched Low-Density Parity-Check Coded Modulation” and published in IEEE transactions on communications, vol. 63, no. 12, December 2015 discloses a new coded modulation scheme that, at the transmitter, combines a distribution matcher for probabilistic shaping with a systematic error-correcting code. This method requires that the parity bit of the error-correcting code has an equiprobable distribution and is thus well-suited to the shaping of symmetric distributions as the symbols have the same probability to be positive or negative. However, it is not adapted to the shaping of non-symmetric distributions. In addition, this method is not compliant with distribution matchers that consider the sign bits as shaping bits and therefore change the conditional distribution of the sign bit which is no more independent of the value of the other bits.
It is thus desirable to find a method for transmitting data that is adapted to non-symmetric distributions and that makes it possible to use distribution matchers which consider the sign bits as shaping bits.
At least one of the present embodiments generally relates to a method, in a transmitter, for transmitting data using a constellation with M=2m symbols, divided in N sub-constellations, N and M being integers, where for any symbol in a reference sub-constellation, there is a symbol in each of the other sub-constellations with a same probability value. The method comprises:
This method is compliant with distribution matchers that consider the sign bits as shaping bits. In addition, it is also adapted to non-symmetric distributions.
In one embodiment, obtaining from a source of data, k groups of m−log2(N) shaping bits wherein each group of m−log2(N) shaping bits identifies one symbol xj in the reference sub-constellation, j[1;k] comprises:
In one embodiment, the labelling function is a natural labelling function.
In one embodiment, the labelling function is a Gray labelling function.
In one embodiment, wherein N=2, identifying, for each symbol xj, a sub-constellation using at least the group of log2(N) parity bits and selecting a symbol identified by said m−log2(N) shaping bits in said identified sub-constellation comprises: selecting a shift value in the set {0; 2} responsive to at least the group of log2(N) parity bits and adding the selected shift value to the symbol xj of the reference constellation to obtain the symbol to transmit.
In one embodiment, selecting a shift value in the set {0; 2} responsive to at least the group of log2(N) parity bits comprises selecting a shift value responsive to double a sum modulo 2 of the group of log2(N) parity bits and of the corresponding m−log2(N) shaping bits.
In one embodiment, the constellation is a M-ASK constellation.
In one embodiment, wherein said source of data is an equiprobable source.
At least one of the present embodiments generally relates to a transmitter configured to transmit data using a constellation with M=2m symbols, divided in N sub-constellations, N and M being integers, where for any symbol in a reference sub-constellation, there is a symbol in each of the other sub-constellations with a same probability value. The transmitter comprises at least one processor configured to:
In one embodiment, to obtain from a source of data, k groups of m−log2(N) shaping bits wherein each group of m−log2(N) shaping bits identifies one symbol xj in the reference sub-constellation, j[1;k] comprises:
In one embodiment, the labelling function is a natural labelling function.
In one embodiment, the labelling function is a Gray labelling function.
In one embodiment, wherein N=2, to identify, for symbol xj, a sub-constellation using at least the group of log2(N) parity bits and to select a symbol identified by said m−log2(N) shaping bits in said identified sub-constellation comprises: to select a shift value in the set {0; 2} responsive to at least the group of log2(N) parity bits and to add the selected shift value to the symbol xj of the reference constellation to obtain the symbol to transmit.
In one embodiment, to select a shift value in the set {0; 2} responsive to at least the group of log2(N) parity bits comprises to select a shift value responsive to double a sum modulo 2 of the group of log2(N) parity bits and of the corresponding m−log2(N) shaping bits.
A computer program product is also 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 any one of the disclosed embodiments when the program code instructions are run by the programmable device.
A storage medium is also disclosed that stores a computer program comprising program code instructions, the program code instructions causing implementation of the method according to any one of the disclosed embodiments when the program code instructions are read from the storage medium and run by a 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.
of symbols. In one embodiment, the binary source S0 is equiprobable. The input data are for example bits of an audio/video bitstream. In an exemplary embodiment, the alphabet
is a M-ASK constellation, where M=2m with M and m being integers. The symbols of a M-ASK constellations are defined as follows:
Consequently, each symbol in this constellation can be represented by a sequence of m=log2M bits.
With reference to . Let p(y|xi) be the channel distribution. e.g. with a Gaussian channel p(y|xi)˜
(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˜
(0, σ2)
For the Gaussian channel, the signal-to-noise ratio (SNR) is defined as follows:
Given any communication channel, let p*(x) be the distribution of the input X that maximizes the mutual information (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.
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 (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)∈(x) for E small). The MB distribution can be quantized at the cost of negligible performance loss. As an example, a quantized distribution for a 16-ASK constellation as illustrated on
According to the present principles, the target shaping distribution is quantized such that it can be expressed as the union of at least two sub-constellations where, for any symbol with a given probability value pi in the first sub-constellation, there is a symbol in the other sub-constellation with the same probability value pi. The first sub-constellation is called the reference sub-constellation and its distribution the reference distribution. On
In one embodiment, the target shaping distribution is quantized such that two adjacent symbols have the same probability value. This is the case of the distribution illustrated on
The bit level 4 is the sign bit and is used as a shaping bit. The first bit level b1 which is the parity bit discriminates between the two sub-constellations as shown on may be expressed as the union of a reference constellation
r and a shifted version of this reference constellation. The reference sub-constellation
r comprises the symbols in grey cells of table 1, i.e. {−15; −11; −7, −3, 1, 5, 9, 13}. The second sub-constellation comprises the other symbols. Said otherwise,
=
r∪(
r+2)=∪a
r+ai, where α={0, 2}. Moreover, a transmitted symbol belongs equiprobably to one of the two sub-constellations.
In another embodiment, Gray labelling of the symbols in this constellation is used and provided by the following table 2.
As in the case of natural labelling (Table 1), the whole 16-ASK constellation may be expressed as the union of a reference constellation
r and a shifted version of this reference constellation. The bit level 1 is used as the parity bit and enables to discriminate between the two sub-constellations. Indeed, the adjacent symbols with the same probability (according to
r. The reference sub-constellation
r comprises the symbols in grey cells of the above table 2. The second sub-constellation comprises the other symbols. However, unlike with natural labelling, the rule to discriminate between the sub-constellations depends on the value of b2, b3 and b4, more precisely on the value of a sum S. For each symbol, the sum S of its bit-levels is computed modulo 2. This sum S (last line of Table 2) is used in addition to the parity bit b1 to discriminate between the two sub-constellations.
In another embodiment, the target shaping distribution is quantized such that two symbols which are not necessarily adjacent have the same probability value. In this case, the sub-constellations are not “shifts” of each other. This is the case of the distribution of an 8-ASK constellation illustrated on
For the M=8-ASK constellation, log2(M)=3 bits are required for the labelling. The labelling of the symbols in this constellation is provided by the following table 3.
The bit level 3 is the sign bit and is used as a shaping bit. The first bit level discriminates between the two sub-constellations. The symbols of same probability values have the same remaining labelling bits (bit-level 2 to 3). The reference sub-constellation r comprises the symbols in grey cells of table 1. The second sub-constellation comprises the other symbols.
The method can be extended to cases with more than two sub-constellations, wherein for any symbol in the reference sub-constellation, there is a symbol in each of the other sub-constellations with a same probability value. Given N sub-constellations, N being an integer, log2(N) bits are required to label and thus identify each of the N sub-constellations. Consequently, there should be log2(N) parity bits for each symbol of the reference sub-constellation in order to identify a sub-constellation to which the symbol belongs.
In a step S100, k groups of m−log2(N) shaping bits wherein each group of m−log2(N) shaping bits identifies one symbol in the reference sub-constellation r are obtained from a source of data S. In a specific embodiment, the source of data S is equiprobable.
In an exemplary embodiment, the k groups of m−log2(N) bits are obtained as disclosed on r. The constant composition distribution matcher disclosed in the document from Schulte et al entitled “Constant composition distribution matching” published in IEEE Transactions on Information Theory 62(1), November 2015, is an example of such a distribution matcher. Any other arbitrary types of distribution matchers may be used. The symbols in the reference sub-constellation
r are approximately distributed according to the target distribution of the reference sub-constellation
r. An example of such a target distribution in the case where N=2 and the constellation is the 16-ASK constellation is depicted on
Each symbol xjϵ{x1, x2, . . . , xk}, j being an integer in [1;k], is labelled in a step S100-2 with a group b(xj) of m−log2(N) bits called shaping bits, where b(.) is a labelling function, e.g. a natural labelling function or a Gray labeling function. The k groups of m−log2(N) shaping bits {b(x1), b(x2), . . . , b(xk)} which thus corresponds to the k symbols {x1, x2, . . . , xk} are used as input to a systematic error correcting code P which outputs, in a step S104, one group of log2(N) parity bits per each symbol xj, xj being in the reference constellation r. An example of a systematic error correcting code is disclosed in section VII of the document from Böcherer et al entitled “Bandwidth Efficient and Rate-Matched Low-Density Parity-Check Coded Modulation”.
In a step S106, each group of log2(N) parity bits identifies a sub-constellation among the N sub-constellations and the symbol identified by said m−log2(N) shaping bits in said identified sub-constellation is selected.
In a step S108, the selected symbols are finally transmitted to a receiver over a communication channel.
In the step S100, k groups of m−1 shaping bits wherein each group of m−1 shaping bits identifies one symbol in the reference sub-constellation r are obtained from a source of data S.
In an exemplary embodiment, the k groups of m−1 shaping bits are obtained as disclosed on r. Any arbitrary types of distribution matchers may be used. The symbols in the reference sub-constellation
r are approximately distributed according to the target distribution of the reference sub-constellation
r. An example of such a target distribution in the case where N=2 and the constellation is the 16-ASK constellation is depicted on
{x1, x2, . . . , xk}.
Each symbol xj{x1, x2, . . . , xk}, j being an integer in [1;k], is labelled in the step S100-2 using a natural labelling function with a group b(xj) of bits called shaping bits, namely 3 bits in case of a 16-ASK constellation. The k groups of shaping bits {b(x1), b(x2), . . . , b(xk)} corresponding to these symbols {x1, x2, . . . , xk} are used as input to a systematic error correcting code P which outputs, in the step S104, one parity bit b1j per each symbol xj, xj being in the reference constellation,
r.
In the step S106, each parity bit b1j determines a shift value αj in the set α={0, 2} for the symbol xj of the reference sub-constellation. Thus, the parity bit b1j identifies in which sub-constellation the symbol to be transmitted should be chosen. As an example, if the parity bit b1j=0 then the symbol xj is from the first sub-constellation while if the parity bit b1j=1 then the symbol xj is from the second sub-constellation. This is a convention and an opposite convention may be used, wherein if the parity bit b1j=0 then the symbol xj is from the second sub-constellation while if the parity bit b1j=1 then the symbol xj is from the first sub-constellation. The determined shift value is added to the symbol xj of the reference sub-constellation.
In the step S108, the selected symbols are finally transmitted to a receiver over a communication channel. Thus, in the case where αj=0, the transmitted symbol is the symbol xj the reference, and in the case where αj=2, the symbol in the shifted sub-constellation is transmitted.
In the step S100, k groups of m−1 shaping bits wherein each group of m−1 shaping bits identifies one symbol in the reference sub-constellation r are obtained from a source of data S.
In an exemplary embodiment, the k groups of m−1 shaping bits are obtained as disclosed on r. Any arbitrary types of distribution matchers may be used. The symbols in the reference sub-constellation
r are approximately distributed according to the target distribution of the reference sub-constellation
r. An example of such a target distribution in the case where N=2 and the constellation is the 16-ASK constellation is depicted on
{x1, x2, . . . , xk}.
Each symbol xj{x1, x2, . . . , xk}, j being an integer in [1;k], is labelled in the step S100-2 using a Gray labelling function with a group b(xj) of bits called shaping bits, namely 3 bits in case of a 16-ASK constellation. The k groups of shaping bits {b(x1), b(x2), . . . , b(xk)} corresponding to these symbols {x1, x2, . . . , xk} are used as input to a systematic error correcting code P which outputs, in the step S104, one parity bit b1j per each symbol xj, xj being in the reference constellation
r.
In the step S106, for each parity bit b1j, a sum Sj of the parity bit b1j and of the associated shaping bits b(xj) is computed modulo 2, i.e. Sj=MOD(Σn=1mbnj, 2), where the shaping bits b(xj)={b2jb3j . . . bmj}. Double the sum Sj is the shift value αj in the set α={0, 2} for the symbol xj of the reference sub-constellation, i.e. αj=2*Sj. The determined shift value is added to the symbol xj of the reference sub-constellation. Thus, in the case where αj=0, the transmitted symbol is the symbol xj the reference, and in the case where αj=2, the symbol in the shifted sub-constellation is transmitted.
In the step S108, the selected symbols are finally transmitted to a receiver over a communication channel.
In the embodiments disclosed with respect to
The target distribution depicted on
In the step S100, k groups of 3 shaping bits b2jb3jb4j wherein each group identifies one symbol xj in the reference sub-constellation r are obtained from a source of data S0. In one specific embodiment, the second and third bit levels in table 1, i.e. b2jb3j, are equiprobable and independent. Therefore, these two bits b2jb3j are obtained from a binary source S0. The output of the source S0 is used as input of four binary DMs, namely DM1, DM2, DM3 and DM4. These binary DMs output four sequences of bits identified as four binary non-equiprobable sources S1, S2, S3 and S4. The probability of the last bit level, i.e. the sign bit b4j, is chosen based on the value of b2jb3j, i.e. p(b4j|b2jb3j) and is independent of the value of b1j. Consequently, a switch selects a given non-equiprobable source (S1, S2, S3 or S4) based on the values of b2j and b3j. The different values for p(b4j|b2jb3j) are depicted on
On
In the specific case of a symmetric target distribution (in the case of a Gaussian channel), i.e. p1′=p1 and p2′=p2, the number of non-equiprobable sources is divided by two and thus the switch selects a given non-equiprobable source (S1 or S2) based on the value of b2j, e.g. S1 is selected in the case where b2j=0 and S2 is selected otherwise.
Taking into account this symmetry, the shaping encoder is simplified with the number of binary sources being divided by two and bit flipping being used. This shaping method is disclosed in the patent application EP21305730.0 filed on Jun. 1, 2021.
The k groups of shaping bits {b2jb3jb4j}jϵ[1;k] corresponding to the symbols {x1, x2, . . . , xk} are used as input to a systematic error correcting code P which outputs, in the step S104, one parity bit b1j per each symbol xj, xj being in the reference constellation r.
In the step S106, each parity bit b1j identifies a sub-constellation among the N sub-constellations and the symbol identified by said {b2jb3jb4j} shaping bits in said identified sub-constellation is selected.
In the step S108, the selected symbols are finally transmitted to a receiver over a communication channel.
The target distribution depicted on
In the step S100, k groups of 3 shaping bits b2jb3jb4j wherein each group identifies one symbol xj in the reference sub-constellation r are obtained from a source of data S0. In one specific embodiment, the second and fourth bit levels in table 2, i.e. b2jb4j, are equiprobable and independent. Therefore, these two bits b2jb4j are obtained from a binary source S0. The output of the source S0 is used as input of four binary DMs, namely DM1, DM2, DM3 and DM4. These binary DMs output four sequences of bits identified as four binary non-equiprobable sources S1, S2, S3 and S4. The probability of the third bit level, i.e. the bit b3j, is chosen based on the values of b2j and b4j, i.e. p(b3j|b2jb4j), and is independent of the value of b1j. Consequently, a switch selects a given non-equiprobable source (S1, S2, S3 or S4) based on the value of b2j and b4j. The different values for p(b3j|b2jb4j) are depicted on
The k groups of shaping bits {b2jb3jb4j}jϵ[1;k] corresponding to the symbols {x1, x2, . . . , xk} are used as input to a systematic error correcting code P which outputs, in the step S104, one parity bit b1j per each symbol xj, xj being in the reference constellation r.
In the step S106, for each parity bit b1j, a sum Sj of the parity bit b1j and of the associated shaping bits b(xj) is computed modulo 2, i.e. Sj=MOD Σn=14bnj, 2). Double the sum Sj is the shift value αj in the set α={0, 2} for the symbol xj of the reference sub-constellation, i.e. αj=2*Sj. The determined shift value is added to the symbol xj of the reference sub-constellation obtained by mapping the shaping bits {b2jb3jb4j} to a symbol xj in the reference sub-constellation. Thus, in the case where αj=0, the transmitted symbol is the symbol xj the reference, and in the case where αj=2, the symbol in the shifted sub-constellation is transmitted.
In the step S108, the selected symbols are finally transmitted to a receiver over a communication channel.
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 an 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 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
The methods described in relation to
Number | Date | Country | Kind |
---|---|---|---|
22305529.4 | Apr 2022 | EP | regional |
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/JP2022/033813 | 9/2/2022 | WO |