This invention relates to digital communications, and more particularly, to a method of transmitting symbols that implements a stochastic algorithm.
Research in multi-carrier modulation has grown tremendously in recent years due to the demand for high-speed data transmission over fading channels (e.g. power line, wireless, etc.) where inter-symbol interference (ISI) can occur. Instead of employing single-carrier modulation with a very complex adaptive equalizer, the channel is typically divided into N sub-channels that may be essentially ISI-free independent Gaussian channels.
The so-called “bit loading” is a widely employed technique in multi-carrier systems to efficiently assign bits to each carrier depending on the signal-to-noise ratio (SNR). In general, bit loading techniques allow transmitting a higher number of bits over the carriers where the SNR is higher and a lower number of bits over the carriers where the SNR is lower.
To better understand the field of application, reference is made to the so-called HomePlug AV (HPAV) communication system, though any skilled reader will appreciate that the proposed approach may be applied also to systems different from HPAV, that is herein illustrated purely as a non-limiting example.
HomePlug® (See, for example, http://www.homeplug.org/home/), is an industrial organization that comprises more than 70 companies, was formed in 2000 to develop and standardize specifications for home networking technology using existing power line wiring. The last generation technology of HomePlug®, called HomePlug AV (HPAV) (See for example, HomePlug® PowerLine Alliance, “HomePlug AV baseline specification,” Version 1.1, May 2007-“HomePlug AV white paper,” http://www.homeplug.org/tech/whitepapers/HPAV-white-Paper 050818.pdf), is a communication system where the proposed bit loading algorithm can be applied.
In
To reduce the complexity of the receiver, a suitable cyclic prefix may be used to remove both ISI and inter-channel interference (ICI). Before an analog front end (AFE) block, which sends the resulting signal to the power line channel, a peak limiter block may be inserted to reduce the peak-to-average power ratio (PAPR). At the receiver the signal after an AFE block is fed to automatic gain control (AGC) and time synchronism blocks. The cyclic prefix is removed and the OFDM demodulation, which is implemented by the 3072-point discrete Fourier transform (OFT), is performed. The following assumptions are made:
i) the cyclic prefix completely eliminates ISI and ICI;
ii) a perfect synchronization is guaranteed, and
iii) the channel is time invariant within each packet.
The output from the OFDM demodulator is sent to a soft-input soft-output (SISO) de-mapper, a de-interleaver, and a turbo convolutional decoder, which, in the approach of the present embodiment, implements the Bahl, Cocke, Jelinek, and Raviv (BCJR) algorithm (See for example, L. R. Bahl, J. Cocke, F. Jelinek, and J. Raviv, “Optimal decoding of linear codes for reducing symbol error rate,” IEEE Trans. On Inform. Theory, vol. 20, pp. 284-287, March 1974) in an improved Max-Log-MAP form (See for example, J. Vogt and A. Finger, “Improving the max-log MAP turbo decoder,” IEEE Elect. Lett., vol. 36, pp. 1937-1939, November 2000). Successively, the bits provided by the decoder are de-scrambled to reconstruct an estimation of the transmitted bits. To complete the description of
The problem of bit loading has been widely studied in the literature, and it is part of a more general problem that is the possibility of redistributing the power and the bits available over the various carriers, as a function of the SNR, to improve the overall performance of the system.
A milestone method, the “water filling” algorithm (See for example, R. G. Gallager, Information theory and reliable communication, New York, Wiley, 1968), has been known to generate the optimal energy distribution and to achieve the maximum capacity. However, even if it yields the optimal energy distribution, the maximum capacity could be achieved only if an infinite granularity in constellation size is assumed, which is not realizable. For this reason, suboptimal approaches have been studied, such as, for example, in J. A. C. Bingham, “Multicarrier modulation for data transmission: an idea whose time has come,” IEEE Comm. Magazine, pp. 5-14, May 1990, but the proposed approach is very slow for applications that transmit over a large number of carriers and where a high number of bits can be loaded in each symbol. In the past, the loading issue has been analyzed using two main different approaches (See for example, J. Campello, “Optimal discrete bit loading for multicarrier modulation systems,” IEEE Symp. Info. Theory, pp. 193, August 1998), referred to “bit rate maximization” and “margin maximization”, respectively. The bit rate maximization approach aims at maximizing the overall throughput of the system with a constraint on the transmission power. (See for example, A. Leke and J. M. Cioffi, “A maximum rate loading algorithm for discrete multitone modulation systems,” IEEE Globecom 1997, pp. 1514-1518, November 1997, and B. S. Krongold, K. Ramchandran and D. L. Jones, “Computationally efficient optimal power allocation algorithms for multicarrier communication systems,” IEEE Trans. on Comm., pp. 23-27, January 2000).
The margin maximization approach aims, instead, at minimizing the transmission power with a constraint on the overall throughput of the system. (See for example, P. S. Chow, J. M. Cioffi and J. A. C. Bingham, “A practical discrete multitone transreceiver loading algorithm for data transmission over spectrally shaped channels,” IEEE Trans. on Comm., pp. 773-775, April 1995, R. F. H. Fisher and J. B. Huber, “A new loading algorithm for discrete multitone transmission,” IEEE Globecom 1996, pp. 724-728, November 1996, J. Campello, “Practical bit loading for DMT,” IEEE ICC 1999, pp. 801-805, June 1999, and N. Papandreou and T. Antonakopoulos, “A new computationally efficient discrete bit-loading algorithm for DMT applications,” IEEE Trans. On Comm., pp. 785-789, May 2005). The proposed approaches are based on the possibility of redistributing the power and the bits over the various carriers. Other examples of algorithms where power and bit loading issues are jointly studied can be found in D. Matas and M. Lamarca, “Optimum power allocation and bit loading with code rate constraint,” IEEE SPAWC 2009, pp. 687-691, June 2009, and H. Y. Qing and P. Q. C. M. Jiao, “An efficient bit and power allocation algorithm for multi-carrier systems,” IEEE ICCCAS 2009, pp. 100-103, July, 2009.
On the other hand, communication systems can be subject to regulations that do not allow power allocation. A typical example is the HomePlug AV (HPAV) system, where the algorithms described above cannot be applied. In fact, these systems with uniform (non-adaptive) power allocation are the field of application of the approach proposed in the present application.
In this case, suitable bit loading algorithms are described in A. M. Wyglinski, F. Labeau, and P. Kabal, “Bit loading with BER-constraint for multicarrier systems,” IEEE Trans. on Wireless Comm., pp. 1383-1387, July 2005, E. Guerrini, G. Dell'Amico, P. Bisaglia and L. Guerrieri, “Bit-loading algorithms and SNR estimates for HomePlug AV,” IEEE ISPLC 2007, pp. 77-82, March 2007, U.S. Patent Application Publication No. 2009/0135934 to Guerrieri et al., and A. Maiga, J.-Y. Baudais and J.-F. Hélard, “Very high bit rate power line communications for home networks,” IEEE ISPLC 2009, pp. 313-318, March 2009.
All these approaches aim at maximizing the overall throughput of the system, guaranteeing, at the same time, that the bit error rate (BER) remains below a given threshold, hereafter referred as target BER. In A. M. Wyglinski, F. Labeau and P. Kabal, “Bit loading with BER-constraint for multicarrier systems,” IEEE Trans. on Wireless Comm., pp. 1383-1387, July 2005, and E. Guerrini, G. Dell'Amico, P. Bisaglia and L. Guerrieri, “Bit-loading algorithms and SNR estimates for HomePlug AV,” IEEE ISPLC 2007, pp. 77-82, March 2007, different techniques have been proposed for multi-carrier uncoded systems. However, if applied to a coded system, they do not exploit the error-correction capabilities of the code, which means that the target BER is satisfied with a large margin, but at the expense of a reduction in terms of throughput.
In U.S. Patent Application Publication No. 2009/0135934 to Guerrieri et al., a bit loading algorithm that aims at exploiting the error capability of the turbo code using a metric based on the LLRs is presented. Although the achieved performance is relatively good, the iterative nature of the algorithm implies a high computational complexity. The approach proposed in A. Maiga, J.-Y. Baudais and J.-F. Hélard, “Very high bit rate power line communications for home networks,” IEEE ISPLC 2009, pp. 313-318, March 2009, can be applied to a linear precoded discrete multitone modulation (LP-DMT) system, which implements a combination of multi-carrier and spread spectrum techniques. In the contest of bit loading and turbo code there is still the need of an algorithm that efficiently exploits the error-correction capability of the code, but that has a reduced complexity.
A method of transmitting symbols of a digital transmission constellation that allows an increase in the transmission throughput with a pre-established bit-error rate or block error rate is described. Differently from the classic bit loading algorithms, the algorithm of the present embodiments may be not fully deterministic, but comprises a stochastic operation for deciding whether to transmit symbols according to a first constellation or to a second constellation. More precisely, the novel method comprises the steps of:
a) identifying a first digital transmission constellation m of an ordered set, that allows a communication with a pre-established maximum bit-error-rate or block-error-rate β(T) and with the greatest signal-to-noise ratio smaller than the signal-to-noise ratio of the received signal γ;
b) identifying a second digital transmission constellation {hacek over (m)} of the ordered set that corresponds to the constellation with the number of bits per symbol immediately greater than that of the first digital transmission constellation m;
c) determining a first probability of use 1−P of the first digital transmission constellation and a second probability of use P of the second digital transmission constellation that would make the expected number of received erroneous bits corresponding to the pre-established maximum bit-error-rate or block-error-rate β(T). The second probability may be complementary to the first probability and may be determined as a function of the bit-error-rates or block-error-rate of the first Pe(m)(γ) digital transmission constellations and second Pe({hacek over (m)})(γ) corresponding to the signal-to-noise ratio of the received signal γ, and to the number of bits of a symbol of the first constellation m and of the second constellation {hacek over (m)};
d) transmitting a symbol with a digital transmission constellation selected randomly between the constellations first and second according to the respective probabilities of use first 1−P and second P.
The algorithm may be advantageously used for transmitting a plurality of symbols in a multi-carrier modulation system or in a HomePlug AV system. The algorithm may be implemented by a computer or processor executing a software program.
The bit loading algorithm disclosed herein, that may be classified as an algorithm that aims at increasing the throughput while achieving an overall target BER or, alternatively, an overall target block error rate (BLER) with a relatively uniform power allocation, efficiently exploits the error-correction capability of the code and has a reduced complexity. Differently from the known bit loading techniques based on deterministic rules, the algorithm contemplates a probabilistic approach and it may be applied to both coded and uncoded systems.
Before introducing the bit loading algorithm, hereinafter referred as the Jump Probability Computation (JPC) algorithm, the prior BTC bit loading algorithm disclosed in, U.S. Patent Application Publication No. 2009/0135934 to Guerrieri at al., is revisited, to better understand how the algorithm operates.
The following nomenclature will be used:
N: number of carriers;
k: carrier index, k=1, 2, . . . , N;
mk: number of bits loaded on the k-th carrier;
Yk: SNR of the k-th carrier;
β(T): fixed target BER or BLER
γ(m
C: set of all the possible numbers of bits that can be mapped.
The prior art BTC algorithm attempts to increase the overall throughput of the system with a uniform power allocation, achieving a target BER (or BLER) per carrier. In general, the BER (or BLER) performance of a system as a function of the SNR can be obtained by simulations. For example, in L. Guerrieri, P. Bisaglia, G. Dell'Amico and E. Guerrini, “Performance of the turbo coded HomePlug AV system over power-line channels,”IEEE ISPLC 2007, pp. 138-143, March 2007 it has been computed for the coded HPAV system. Consequently, for each constellation, an SNR limit value can be fixed for a given target BER (or BLER).
The problem solved by the BTC is:
The algorithm may optionally employ a memory look-up table that includes the SNR limit value for each allowable modulation.
In ideal conditions, i.e., when any estimation is not performed and the channel state information (CSI) is assumed to be known at the receiver, the BTC algorithm is a conservative bit loading. That means that the target BER (or BLER) is achieved with a large margin and with a consequent loss in throughput.
The algorithm, herein referred as “Jump Probability Computation algorithm” (JPC), starts from an allocation based on the BTC and it may increase the throughput and reduce the margin over the overall target BER (or BLER).
In the JPC algorithm, after the constellation assignment based on the classic BTC algorithm, a “jump” is made into the constellation of the immediately higher order depending on an appropriate probability defined for each carrier, while still achieving the overall target BER (or BLER) of the system.
Let Pk be the probability of a jump into the constellation of the immediately higher order for the k-th carrier and let pk be a random variable uniformly distributed within [0, 1]. The JPC algorithm may be detailed in the following steps:
1. Evaluate a first bit allocation {mk} based on the BTC algorithm;
2. Determine the bit allocation {{hacek over (m)}k} that corresponds to the immediately higher constellation, with {hacek over (m)}kεC;
3. Given the SNR over each carrier {γk}, compute the respective probability of jump {Pk}. The computation of {Pk} will be described hereinafter;
4. Generate {pk}εU[0, 1]; and
5. The final bit allocation {qk} is given by
It should be noted that the target BER (or BIER) is achieved only if the number of realizations is large enough to have reliable statistics. This means that the target is achieved over each carrier after a proper observation time and it is achieved per groups of carriers if the number of carriers is sufficiently large. Hereinafter the computation of Pk is explained.
The computation of Pk, the probability of a jump into the constellation of the immediately higher order for the k-th carrier, is an issue that may be of particular importance for the JPC bit loading algorithm, since the performance of the algorithm depends on the accuracy of Pk. Furthermore, a fast computation may be fundamental for an efficient implementation of the proposed approach. In general, referring to the k-th carrier, Pk depends on the fixed target BER (or BLER) β(T), on the SNR γk, and on the constellations associated with mk and {hacek over (mk)}. For the computation of the probability of a jump, an additive white Gaussian noise (AWGN) channel may be considered, where the SNR γk is the same for each carrier, i.e. γk=γ with k=1, 2, . . . , N. In an AWGN channel, the bit allocation is the same for each carrier, hence the carrier index can be neglected mk=m, and also Pk is the same for each carrier Pk=P, with k=1, 2, . . . , N. Hereinafter, different procedures to compute P given γ are described. In specific cases, if the BER (or BLER) can be expressed in a closed-form, the value of P may be analytically computed. For all the other cases, an alternative procedure is implemented.
To apply the above procedure, the closed-form expressions of the BER (or BLER) as a function of the SNR should typically be available for all the considered constellations. If this assumption is verified, let β(T) be the fixed target BER and let γ(m,T) and γ({hacek over (m)},T) be the SNR thresholds of the BTC algorithm that allow loading m and {hacek over (m)} bits, respectively. For each γε(γ(m,T),γ({hacek over (m)},T)), the probability of a jump from the constellation that loads m bits to the constellation that loads {hacek over (m)} bits is computed. In a multi-carrier system with N available carriers, the total number of loaded bits is
n=n
(m)
+n
({hacek over (m)}) (3)
where n(m) and n({hacek over (m)}) are the number of bits mapped over the carriers that load m and {hacek over (m)} bits, respectively. Assuming a probability of a jump {tilde over (P)}, these parameters can be expressed as follows
n
(m)=(1−{tilde over (P)})·m·N (4)
n
({hacek over (m)})
={tilde over (P)}·{hacek over (m)}·N (5)
With this bit loading, the overall BER, {tilde over (β)}, is given by
where Pe(m)(γ) and Pe({hacek over (m)})(γ) are the BER associated with the constellations of m and {hacek over (m)} bits, respectively, at an SNR of γ. Substituting (3)-(5) in (6), the overall BER becomes
hence we have
The probability of jump, P, that achieves the fixed target BER is the value that satisfies equation (8) when {tilde over (β)}=β(T), and it is given by:
An example of a system where the analytical procedure can be applied is an uncoded system. In N. Benvenuto and G. Cherubini, Algorithms for communications systems and their applications, John Wiley & Sons, Chichester, U.K., 2002. the closed-form expressions of BER, as a function of the SNR, are computed for PAM, QAM, PSK and FSK modulations.
In general, the BER (or BLER) closed-form expressions may be unavailable or too complex to be efficiently used. Therefore, an alternative approach may be proposed. A general procedure, based on simulations, to compute P for a given γ is by the following:
I. Fix the target BER (or BLER).
II. Define a range of SNRs of interest, which includes all the SNRs where the available constellations can properly work, namely [γLOW,γHIGH]. The range of SNRs of interest may depend on the considered system, in particular, on its architecture (modulations and demodulation types, coding and decoding schemes etc.).
III. Define a set of SNRs, which belong to [γLOW,γHIGH], hereafter referred as Ω. The number of the elements of the set influences the accuracy of the computation of P: the higher the number is, the better the accuracy is.
IV. Fix an arbitrary value for the probability of jump,
V. For each γεΩ:
VI. Store the SNRs that achieve the target BER (or BLER), hereafter referred as γ{m}
VII. Repeat point V-VI for other L values of
VIII. Given an SNR {tilde over (γ)}εΩ, interpolate the points stored in in order to compute the relative probability of jump {tilde over (P)}.
To clarify the procedure, an example of the computation of the probability of a jump is given in the case of the HPAV system. First, let us fix a target BLER of 10−1, as in point I. Considering the aforementioned target BLER, a reasonable range of SNRs, Ω, for the HPAV system could be [−5 dB, 20 dB] in the case of R=½ and [0 dB, 35 dB] in the case of R= 16/21(point II). For the sake of simplicity, the example is explained for the R=½ case only, but it can be easily extended to the R= 16/21 case. According to point III, the set of SNRs is formed by the SNRs within the range [−5 dB, 20 dB] with a step of 0.1 dB. First, the probability of a jump
The labels correspond to the constellation loaded by the BTC, but the respective curves may not be obtained with this constellation only. For example, the “BPSK” curve may be obtained randomly loading about 75% of BPSK and 25% of QPSK, accordingly to the jump probability of 0.25. The 1024-QAM is not present since in HPAV system it is not possible to jump into a higher constellation. Still referring to
Steps V-VI are repeated for different jump probabilities, namely 0.5 and 0.75, and the values of γ{m}0.5 and γ{m}0.75 are computed and stored (point VII). According to point VIII, as illustrated in
For example, at an SNR of 0 dB, the probability of a jump from a BPSK into a QPSK is about 0.55 while at an SNR of 10 dB the probability of a jump from a 16-QAM into a 64-QAM is about 0.85.
We observe that, in the reported example, three values of γ{m}P for each constellation have been calculated, which means 18 values in total. The values γ{m}0 and γ{m}1 correspond to the SNR thresholds stored in the look-up table of the BTC algorithm, hence they are already available without the further computation. This computation can be made off-line, while the real-time processing of the signal may be limited to an interpolation. Therefore, the increase in complexity of the JPC with respect to the BTC algorithm is given by the uniform random number generator and the interpolating function. Achieving an accurate estimation of the probability of a jump for each SNR of interest may be of particular importance to enhance the performance of the JPC algorithm. In general, if the number of values computed off-line is relatively high, a coarse interpolation may be sufficient. On the other hand, if the number of these values is low, a more complex interpolation may be desired.
The JPC bit loading algorithm applied to the HPAV system has been simulated and its performance is shown in terms of throughput and BLER versus SNR. For comparison purposes, the performance of the BTC bit loading algorithm is also reported.
In the following simulations, a target BLER of 10−1 is fixed, and the ideal case of the CSI known at the receiver is considered. First, an AWGN channel is considered. In
The classic ETC algorithm achieves the target with a relatively large margin, being the BLER almost null for all the SNR values. On the other hand, the JPC algorithm presents a BLER very close to the target, increasing the throughput compared to the BTC case. In
To investigate the proposed approach under a more realistic environment, a power line channel model is introduced. In particular, the multipath channel model proposed by the open power line communication European research alliance (OPERA) project is considered. (See for example, “OPERA project,” http://www.ist-opera.org, and M. Babic, M. Hagenau, K. Dostert and J. Bausch, “Theoretical postulation of PLC channel model,” OPERA, Tech. Rep., March 2005). In particular, the OPERA channel model 1 is employed, while the noise is AWGN. The throughput is calculated by averaging the allocated bits of the bit loading algorithms over many realizations of the considered channel model. In
In
Similar results are observed. In particular, a gain in throughput of the JPC algorithm compared to the BTC is observed at every SNR, as shown in
Number | Date | Country | Kind |
---|---|---|---|
VA2010A000085 | Nov 2010 | IT | national |