The invention relates to a communication system and, in particular, to a method and apparatus for communication system coding and constellation shaping.
Modem communication systems exchange data between remote locations using complex coding schemes to minimize the bit error rate and maximize the signal to noise ratio. As a result, the data throughput may be maximized. As one coding approach to increase the effective data rate, trellis coded modulation may be adopted.
The basic principles of trellis coded modulation (TCM) are generally understood and, as such, an exhaustive discussion of TCM is not provided beyond the following discussion. TCM is a way of achieving a lower bit error rate (BER) for a given SNR at the expense of increased constellation size. Shaping of the constellation may also occur to improve the transmit rate, reduce code complexity. Prior art constellation shaping does not solve the problems in the art and as a result, an improved method and apparatus for constellation shaping is needed.
To overcome the drawbacks of the prior art, a method for trellis constellation shaping is disclosed. In one embodiment, this method comprises receiving two or more input bits and filtering at least one of the two or more input bits to create two or more filtered output bits. The step of filtering at least one input bit introduces at least one extra bit and the output of the filter may be defined as filtered bits. The method then encodes the input bits which are not filtered to create encoded bits and stores the encoded bits and the filtered bits in a buffer to create buffered bits. A processing element may be configured to perform Viterbi type processing on the filtered bits to create processed bits. The method combines at least one of the processed bits with at least one of the buffered bits to create a combined bit set from the buffered bits and then performs mapping on the combined bet set to thereby map the combined bit set into a constellation.
Also disclosed is a system for reducing the average power of a constellation through reshaping. In one embodiment the system comprises an input configured to receive two or more inputs bits and a filter configured to accept and process at least one of the two or more input bits to create two or more filtered bits. In this embodiment the filter introduces at least one extra bit. Also part of this embodiment is an encoder and a bugger. The encoder is configured to received and perform encoder processing on non-filtered input bits to create encoded bits. The buffer is configured to receive the filtered bits and the encoded bits to create buffered bits. As decoder is configured to receive and processes the filtered bits to create one or more decoded bits. Processing by the decoder reduces average energy. In addition, one or more summing junctions are provided and configured to combine and output the decoded bits with the at least one of the buffered bits. In turn, a mapper is provided and configured to map the buffer output and the summing junctions outputs to a constellation point.
Other systems, methods, features and advantages of the invention will be or will become apparent to one with skill in the art upon examination of the following figures and detailed description. It is intended that all such additional systems, methods, features and advantages be included within this description, be within the scope of the invention, and be protected by the accompanying claims.
Trellis shaping is a technique for reducing average transmit power. Information theory shows that a transmit signal may be required to have Gaussian-like distribution in order to maximize mutual information, a necessary step in approaching Shannon's limit. Maximum shaping gain is 1.53 dB and it can be achieved only asymptotically. With modest complexity, only about 0.6-0.8 dB can be achieved. Disclosed herein are descriptions of simulation results of one such technique as well as implementation details. Theory is described in Forney. G. D. Jr. “Trellis Shaping”, IEEE Trans on Information Theory, March 1992, which is incorporated by reference herein.
It can be shown that out of all possible probability distributions for a given variance, Gaussian distribution achieves maximum entropy, i.e. is the richest in information content. It is also a necessary step to approach Shannon's bound. In digital communications, distributions are usually uniform, namely, all the constellation points are equally probable. This may be true if 2″ constellation points are used to transmit n random bits. This probably may be changed using an idea that is similar to that of trellis coding, by increasing the constellation size (typically two times) but making points with smaller energy (closer to the coordinate origin) more probable than the outer points. There are several ways of accomplishing this. Described next is one exemplary technique.
A discussion of the steps to perform shaping is now provided.
First, in order to double the size of the constellation, it is possible to introduce one extra bit (MSB) through the feedforward “filter” 208 HU−T. Entries of this filter 208 depend on the underlying code for which Viterbi decoder 216 operates. It is possible to view the Viterbi decoder 216 and the underlying code as a way of generating a sequence of signs (for x and y components) such that the average energy is minimized. The combined effects of HU−T filter 208 and Viterbi decoder 216 can be undone at the receiver through a simple feedforward “filter” HUT.
The focus is now on the shaping gains that can be expected in a DMT system. In order to make a fair comparison, it is preferred to keep the rate the same and compare the energies of corresponding constellations.
One additional point worth mentioning is the effect of traceback depth on errors. It is clear from the discussions that shaping tries to minimize average energy. In the absence of noise, it should not make any errors. However, at the transmitter, searching for the path having minimum accumulated energy using Viterbi algorithm may be performed. In order to reduce or guarantee no error introduction, it is important that the Viterbi algorithm is implemented without any limitation (e.g., insufficient traceback depth) that would result in an output sequence that does not correspond to a valid state transition sequence. If the traceback depth were as long as one DMT symbol, then this would not be an issue because it would be possible to find a unique optimal path after the entire symbol is processed. On the other end of the extreme is a traceback depth of 1, which will simply pick the lowest energy constellation for each bin, regardless of any disallowed state transitions. A discussion of how the probability of error depends on the traceback depth is now provided.
Probability of the shaping bit being in error (in a 5 bit constellation) is shown in
Several conclusions may be reached by looking at
As an alternative approach, if a traceback depth less than the DMT symbol length must be used, the shaper can still guarantee no decoding errors at a minimal reduction in shaping gain. This is achieved as follows: when the Viterbi Decoder traceback operation finds that the traced back paths have not merged to a single candidate by the end of the trace back buffer, the decoder is forced to flush out the entire trace back buffer and decide the optimal path all the way to the present time. Then the system is reinitialized by making all other states of the present time improbable and starting all future paths as a continuation of the presently decoded path.
Ultimately, what may be desired is BER as a function of SNR with TCM and shaping.
A comparison of curves with the coding gain from TCM alone is now provided. For convenience, corresponding curves for TCM are shown in
Although the, horizontal axis runs the other way and it is not logarithmic, it is still fairly easy to compare gains at different BERs. It can be shown that at 10−5 there is about 0.7 dB (4.3-3.6) of extra SNR gain due to shaping. Similar results can be obtained at 10−4 and 10−3. It appears possible to get almost all of the promised shaping gain (or its average) in
Finally, yet another way of visualizing performance of this system is to plot SNR gain as a function of the rate at certain BER. This is shown in
In this section, details of implementation of the shaper will be described. As shown in
The main purpose of this block is to convert the information MSB into two bits that will be sign bits for x and y coordinates. These two bits may be required to be modified to get all possible combinations (0,0), (0,1), (1,0) and (1,1). These four combinations of sign bits will be mapped into four points (in a fashion similar to that shown in
There is no issue of trellis termination. Consequently, any trellis state may be the ending state, but it may be desirable that the chosen (minimum energy) path is a valid one. So, when the Viterbi decoder reaches the last bin, it will just dump all the states corresponding to the path with minimum accumulated energy. This is in contrast to the Viterbi decoder for TCM, which outputs states corresponding to the path leading to the “zero” state. At the beginning of every DMT symbol, start occurs from a “zero” state, so the delay elements in HUT and HU−T may be required to be initialized to zeros. Again, this process does not care what state they end up in.
The situation is less complex at the receiver. There is only one “filter” as shown in
Squared energies of 4 different points will be fed into the Viterbi decoder. Assuming that the constellations are bounded by 1 (i.e. |x|<1 and |y|<1), and taking into account that the data is unsigned (magnitude squared), it is possible to represent the energy of each point in 1.f format, where f will be no less than 10 bits. Inside the Viterbi decoder, it may be desirable to keep track of the accumulated energy for each path, since in this embodiment, the maximum path length is 32 and the accumulator may be in 6.f format.
Energy of four candidate points at the input to the Viterbi decoder may be required to be scaled according to the bit loading for that bin. This may be necessary since different constellations have slightly different unshaped powers that may be equalized. Otherwise, the shaper will favor certain bins over others.
Reed-Solomon may be used as an outer code. In one embodiment, the BER of interest is at or after the RS decoder. Assuming that the interleaver distributes bursty errors at the Viterbi output to make them more independent, the BER or SER (symbol means byte here) may be determined at the RS decoder input to achieve desired output BER. For this, it is possible to use input-output BER curves for RS codes. One set of such curves is shown in
One can fairly easily read off necessary byte error rate at the input to the RS decoder to achieve the desired output bit error rate. Then from BER plots (like the one in
Interleaver may be another essential block of a concatenated TCM-RS coding system. Errors at the output of the Viterbi decoder are bursty in nature. Typically, when Viterbi makes an error due to a particularly bad sequence of noise samples, output will be incorrect until that path merges with the correct one. After that, there will be no errors for a very long time. From the standpoint of the RS decoder, this means that there will be many RS codewords with no errors and every now and then a codeword with quite a few error bytes. It is apparent that the system may not be using proper resources (check bytes) in the best manner. An interleaver is inserted both at the transmitter and receiver between inner (TCM) and outer (RS) codes. Unfortunately, the interleaver introduces extra delay. Depending on the application, this delay may or may not be tolerable. This section discusses the BER curves of concatenated TCM and RS codes for different interleaver depths.
It can be shown that for this code, there is a rather big difference in BER between interleaving 2 and 8 RS codewords (overhead is the same, yet at BER of 10−4, SNR difference is 0.35 dB).
As for the downside for the RS code in terms of check bytes and how they translate into SNR, it depends on the constellation size. RS overhead is a percentage of the total number of bits. For different constellations, this means that the SNR penalty is different. In reality, for a particular SNR profile (i.e. bitload profile), total overhead due to RS check bytes should be added up and divided equally among the bins. It can also be shown that each bit in a constellation accounts for approximately 3 dB. This way the SNR equivalent of the RS overhead may be calculated. However, this will vary among the loops. In general, if for an RS overhead of 2-5%, and 3-4 RS codewords per DMT symbol then the SNR penalty for the overhead bytes will be 2-4 dB.
Discussed herein are the combined effects of coding and shaping. Both techniques aim at reducing the error rate for a given SNR, but the approaches are different. Simulation results confirm that most of the promised gain (about 0.7 dB) can be achieved regardless of the presence of TCM. The following document is incorporated by reference herein, in its entirety. [F1] Forney, G. D. Jr. “Trellis Shaping”. IEEE Trans on Information Theory, March 1992.
Other systems, methods, features and advantages of the invention will be or will become apparent to one with skill in the art upon examination of the figures and detailed description provided herein. It is intended that all such additional systems, methods, features and advantages be included within this description, be within the scope of the invention, and be protected by the accompanying claims.
In addition, the components in the figures are not necessarily to scale, emphasis instead being placed upon illustrating the principles of the invention. In the figures, like reference numerals designate corresponding parts throughout the different views.
While various embodiments of the invention have been described, it will be apparent to those of ordinary skill in the art that many more embodiments and implementations are possible that are within the scope of this invention.
This patent application is a continuation of U.S. Non-Provisional Patent Application Ser. No. 11/244,488 filed Oct. 5, 2005, which claims priority to U.S. Provisional Patent Application Ser. No. 60/616,046 entitled Method and Apparatus for Signal Coding, filed Oct. 5, 2004, and U.S. Provisional Patent Application Ser. No. 60/616,045 entitled Trellis Constellation Shaping, filed Oct. 5, 2004.
Number | Date | Country | |
---|---|---|---|
60616046 | Oct 2004 | US | |
60616045 | Oct 2004 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 11244488 | Oct 2005 | US |
Child | 12321912 | US |