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.
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.
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:
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:
In one embodiment, the plurality of binary sources comprises 2m−1 binary sources.
In one embodiment,
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:
and
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 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:
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
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 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.
of symbols. 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 being an integer. 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
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.
(x) is defined as the set of quasi-optimal distributions, i.e.
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 ε 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:
where
is a scaling constant used to have the sum of the probabilities equal to 1. Let us denote the variable
by pi. Consequently, the mutual information is now optimized with respect to the set
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
th symbols,
Thus, in the case of 8-ASK, the sets of symbols are defined as in the table below.
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
On
On
In the case where the shaping encoder 100 of
generated by the source S0 and outputs
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
generated by the source S0 and outputs
bits where Smax=2m−1, each bit is equal to 0 with a probability pi.
Back to
th symbols,
the two symbols that belong to the same set have identical LSB bits. For example with reference to
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
Binary natural labelling is illustrated on
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
An example is provided below for M=8 and m=3. In this case the various sets are defined in the table below.
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,
With reference to
Taking into account this symmetry, the shaping encoder 100 of
Let b1, b2, . . . , bm−1 be the m−1 bits obtained at S300 from the binary source S0. If
the switch selects at S302 the corresponding source as on
the switch selects at S302 the source of index
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.
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
generated by the source S0 and outputs
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
generated by the source S0 and outputs
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)∈(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:
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
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,
bits and
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 p1 and DM2 outputs a sequence of
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
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.
Once the M-ASK symbols are obtained using any of the previously described shaping encoder as described with respect to
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:
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 be the set of symbols of the constellation obtained with Bi=0 and
′ with Bi=1, given that B1=b1, . . . , Bi−1=bi−1. Given a received symbol y, the LLR is defined as follows:
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:
Regarding the last bit level used for shaping, we have
and
and the mutual information is computed as follows:
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
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.
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
where ,
, . . . ,
represent the values of the decoded less significant bits.
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
The methods described in relation to
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
The method described in relation to
Number | Date | Country | Kind |
---|---|---|---|
21305730.0 | Jun 2021 | EP | regional |
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/JP2022/001872 | 1/13/2022 | WO |