The present invention is directed to encoders and decoders for a digital communication system, in general, and, more particularly, to apparatus and method of encoding and decoding utilizing a combination of circular trellis-coded modulation with permuted state structure and simplex signal constellation techniques for use in a digital communication system.
In a digital communication system such as shown by way of example in the block diagram schematic of
The channel symbols are received from the channel by a conventional receiver 22 and passed to a demodulator 24 which makes a definite decision (hard decision) or a quantized approximation (soft decision) for each received symbol to one of the symbols in the predetermined signal constellation. Those symbol values are fed into a channel decoder 26 to decide the code sequence and the corresponding information sequence which may be provided to an information sink. Spreading by a power spectrum spreader 30 maps the channel signals into an extended time or frequency range according to a certain mapping function before transmission. This has advantages in many aspects, such as anti-jamming Despreading by a power spectrum despreader 34 extracts the channels signals from their received spread format.
Adding a spread spectrum (SS) function to a communication system is generally done for power limited channel transmission without substantial limitation on bandwidth of the channel. Two criteria which are satisfied are first, the bandwidth of the transmitted signal should be much larger than the message bandwidth, and second, this bandwidth should be determined by some function that is independent of the message, known as PSEUDONOISE (PN), for example. Two prevalent types of SS are direct sequence (DS) and Frequency Hopping (FH). By using PN to shift the phase of a message in DS or to select the carrier frequency in FH pseudo randomly, the effect of spreading the message spectrum over a larger frequency range is achieved. Both systems can be coupled with a coded modulation scheme for transmission over a power-limited channel. Thus, coding gain and processing gain can be achieved at the same time.
In modem digital communication, the goal is to transmit data at a high rate and with low power. According to a generalization of Shannon's Theorem, one can communicate with arbitrary reliability, i.e. error probability as small as desired, so long as one does not transmit too fast. Performance of communication systems are measured by way of a Shannon graph which plots the ratio of energy per bit (Eb) over the power spectral density of background noise in the channel environment (No) along an abscissa and probability of bit error (PBE) along the ordinate. An exemplary Shannon graph plotted on a log-log scale is shown in
The goal in the design of modem digital communication systems is to bring the associated waterfall curve as close as practically possible to the unrealizable Shannon limit curve 42. Error correction codes embedded in or redundant to the data codes assist in this process, but there is always a price to be paid as the performance is drawn closer and closer to the Shannon limit. This price includes error coding complexity which translates into higher costs and bandwidth or coding rate. As error codes become more and more complex, greater and greater computing power is needed which translates into dollars. Another price to be paid for error correcting codes is coding rate which is the ratio of data bits to total bits transmitted. For example, if for every data bit, two bits are transmitted over the channel, then a code rate of one-half is effected. Therefore, in order to transmit a data sequence with error codes, twice the bandwidth is needed than would be needed if error coding was not used. Thus, code rate translates directly into bandwidth efficiency. Thus, the error correcting capability of the system will be determined as a trade-off given the cost appropriated for the system, and the bandwidth and power requirements that the system has to operate within.
In the real world, a channel may be either power limited or bandwidth limited and there are always trade-offs to be made depending on the application with regard to the type of error correcting codes to be used and the complexity thereof. For example, in satellites or deep space probes that have a tight power budget, signals are to be transmitted with minimum possible energy per data bit in order to preserve the lifetime of the solar batteries providing power. However, antennas may be designed to accommodate very wide transmission bandwidths with little power. Therefore, in this application, it would be desirable to use an error correcting code which may be spread over a wide bandwidth, but uses as little power as possible. On the other hand, in a telephone system that has a very narrow transmission bandwidth, but has a large power capacity, an error correcting code may be chosen to have strong signal-to-noise characteristics with high code rates. Some communication systems are made more efficient by combining the coding and modulation steps into one step, like in trellis coded modulation (TCM) or block coded modulation which will become more evident from the description found herein below.
Error control coding is generally part of the channel coding in which a controlled redundancy to the information sequence is introduced to provide the transmitted code sequence with improved ability to combat error and provide a way for the receiver to detect or correct error during transmission over a noisy channel. Conventional error control codes in practice today may be divided into two general categories: block codes and convolutional codes. In block coding, the information sequence is segmented into blocks of fixed length k. The encoder transforms each block of k information symbols to a r-tuple vector known as a code word according to a certain rule defined by a generator matrix or polynomial, for example. k/r is defined as the code rate—a measure of information bits or symbols (k) per total bits or symbols (r) transmitted. Thus, (r−k) bits are the redundancy or check bits added to perform error detection or correction. The encoder encodes each k information symbols independently. Most decoding methods for block codes are algebraic operations such as syndrome decoding for linear block codes, for example. Reed-Solomon codes, which are a particular sub-set of a family of block codes referred to as BCH codes, is a commercially successful block code used in commercial and military electronic equipment today. Hamming code is another block code in frequent use.
It is understood that block codes may be made to correct as many errors as desired, but at a price, which is a deterioration of code rate. That is, adding more redundant bits increases the number of total bits r being transmitted for the same number of information bits k; thus, reducing the ratio of k/r or code rate. In addition, since the capacity or block of information bits is fixed in length, there may be much waste of resources. By way of example, suppose the system is transmitting English words of varying length with each transmission. Then, in order to ensure that all possible words are transmitted, the length of the block should be fixed to accommodate the longest word to be transmitted. Accordingly, wasted transmission capacity will result for all shorter words, especially those substantially shorter than the longest word.
Convolutional codes, on the other hand, need not use a fixed length of information bits nor do they compute a fixed number of redundant check bits to be appended thereto and thus, provide flexibility to accommodate finite words of varying length. Convolutional codes differ from block codes in that they generate redundancy bits “on-the-fly”. The encoder for generating convolutional codes contains memory so that the r-tuple encoder output at any given time depends not only on the k-tuple input at that time instance but also on the previous K-input k-tuples. K is defined as constraint length (sometimes termed as memory order or stages of a linear shift register). An (k, r, K) convolutional code can be implemented with a k-input, r-output linear sequential circuit with input memory K, with K=max1≦i≦kKi, where Ki is the number of the delay elements or stages in the ith shift register. The rate k/r has the same code rate significance as block codes. An exemplary binary (1,2,2) encoder for convolutional coding is shown in
State diagrams and trellis diagrams are frequently used to represent a convolutional code encoder. Viewing the convolutional encoder as a finite state machine driven by the information sequence results in a state diagram illustrating the state transitions related to each possible k-tuple input.
In circular trellis coding, the information sequence is truncated periodically with length L to have a block structure. In order to provide the same error protection to the last information symbol, a technique called trellis termination is employed to force the encoded trellis path to satisfy the state constraint that the starting and ending states of a trellis path should be the same. Zero tailing, tail biting, and circular trellis with permuted state structure are the three ways to do this. For a trellis code, usually 0 state is assumed. 0 state corresponds to the situation that the contents of the encoder shift register are all zeros initially. Zero tailing is one method used for trellis termination in which a certain number of zeros are appended to the truncated information sequence to force the encoded trellis path to go back to 0 state. For ease of understanding, consider a binary (1, r , K) convolutional code. In this case, K zeros are needed to append. For an information sequence of length L, the resultant code is a ((L+K)r,L) block code of rate (1/r)(L/(L+K))=(1/r)(1−K/(L+K)). The term K/(L+K) is called the rate loss due to zero tailing. To reduce the rate loss, the truncation period L is generally made as long as permissible.
An alternative method that does not introduce code rate loss is tail biting. For a binary (1, r, K) encoder, the encoder is first initialized by inputting the last K information bits of the information sequence into the encoder with its output being ignored, then, is input with all L information bits and the resultant L·r output bits is taken as the code word. The last K information bits will force the encoded path to go back to the initial state of the encoder. This state is fully determined by the input data sequence itself. It is a type of circular trellis coding. The resulting code is a (L, L·r) block code of rate 1/r.
Currently, zero tailing is the dominant practical method for trellis termination because of its simplicity and the fact that many efficient decoding algorithms were developed based on this assumption. Tail biting is only used for research to associate quasi-cyclic block codes with convolutional codes in order to apply convolutional decoding algorithm to block codes. A circular trellis coding with permuted state structure was introduced recently in the Dissertation of Yung-Cheng Lo, entitled “Circular Trellis-Coded Modulation In Spread Spectrum Communications”, Ohio University, August 1997, in which the state constraint is satisfied by designing a permuted state transition table for the encoder without code rate loss or initializing the encoder.
In Lo's Dissertation referenced above, a circular trellis is denoted as T(n, D), where n is the number of exiting branches from each state. D which is called trellis depth is the number of stages needed to reach all the possible states from a starting state. The starting state of an information sequence can be any of the total states in this trellis. When the encoder accepts one q-ary information symbol at one time (this is the case for circular trellis coding with permuted state structure), n=q, i.e., the size of the information symbol alphabet. When it accepts k-tuple q-ary inputs at one time, n=qk In either case, the total number of states in this trellis is S=nD. A state transition table may be built for this type of circular trellis using Zech's logarithm operating in a Galois finite field, GF(S). Then, in GF(S), a natural (1, S−1)-type permutation maybe expressed. By properly choosing the n out of the S “(1, S−1)-type permutation” and letting each of them associate with the state transitions driven by one of the n information symbol alphabets, a state transition table is constructed that guarantees each information sequence of length L≧D+1 will be mapped to a circular trellis path. And, the starting and ending states of this path is a function of the symbols in the information sequence. No zero padding or encoder initialization is needed in this coding scheme.
Moreover, the goal of channel coding is to achieve coding gain which is defined as the reduction in the required Eb/N0 to achieve a specified error probability using the coded system versus an uncoded system, where Eb is the average bit energy of the input data, N0 is the one-sided power spectrum density of channel noise. In conventional communication systems, coding and modulation are separate processes. The coding gain is achieved at the price of bandwidth expansion by transmitting r-tuple code word instead of k-tuple data block in the same time slot. A trellis coded modulation (TCM) method combines coding and modulation into one process. Conventional TCM has been widely used in band-limited channels. With the development of spread spectrum communications, coded modulation for power-limited spread spectrum channels has become the latest research interest.
TCM was introduced to achieve coding gain without bandwidth expansion. More specifically, it combines a multilevel/phase signal constellation with a trellis coding scheme—usually a convolutional code. A larger signal constellation is used to provide the needed coding redundancy while keeping the same channel symbol rate (bandwidth) and average power as those of an uncoded system.
where d(an, a′n) denotes the ED between channel signals anand a′n.
If soft-decision ML decoding is used, the error-event probability Pr(e) will asymptotically approach a lower bound at high signal-to-noise ratio as expressed in the following equation:
Pr(e)≧N(dmin)Q(dmin/2σn),
where N(dmin) denotes the average number of error events with distance dmin, and Q(·) is the Gaussian error probability function. σn2 is the variance of the channel noise.
Therefore, assigning signal points to the coded bits (or the state transitions in a trellis codes) in a way that maximizes the minimum ED is a way to improve system performance. An assignment procedure called “mapping by set partitioning” has been devised, which can always make the maximum minimum ED larger than the minimum distance between signal points in an uncoded system with the same data rate and average power; i.e., it can always get coding gain which can be calculated as:
where Sav is the average signal power.
“Mapping by set partitioning” first successively partitions a channel signal constellation into subsets with increasing minimum distance between symbols in the subsets (refer to
Applying the symbol assignment rules to an 8-state trellis by way of example as shown in
In the CTCM with permuted state structure of the Lo Dissertation referenced above, the goal was to achieve coding gain, processing gain, and power efficiency at the same time. Orthogonal and bi-orthogonal signal constellations were researched, but they are not optimal for power limited channels. It has been shown in the Master's Thesis of Frank A. Alder, entitled “Signal Assignment and Performance of Simplex Signaling in High Dimensional Trellis-Coded Modulation”, Ohio University, August 1998, that a simplex signal set achieves the same error probability as an equally likely orthogonal set while using the minimum energy. It is considered the optimum signal set to achieve power efficiency. A simplex is a set of M signals in an N-dimensional space with N≧M−1, satisfying that for all i, j∈{1,2, . . . , M}, the cross-correlation between signals si and sj is
for normalized signal energy. It can be verified that these M signals have equal distance from each other.
CTCM using simplex signaling was explored in the above referenced Alder Thesis for very small trellises. But no systematic way to build the signal constellation and the symbol assignment therefor has of yet been described. As a result, the error distance property of these codes cannot be analyzed systematically for practical use. In addition, efficient decoding has not been investigated for these codes heretofore.
There are several efficient decoding algorithms developed for conventional TCM, such as sequential decoding, threshold decoding, Viterbi decoding, and the BCJR algorithm, for example. Among them, the Viterbi algorithm, which has been shown to be a dynamic ML decoding algorithm, is the most frequently used in practice. It is optimal in the sense that it minimizes the probability of code word error. The BCJR algorithm is also considered optimal in that it minimizes the probability of symbol (or bit) error, but is much less popular than Viterbi algorithm and is almost never applied in practical systems. The reason for this is that it yields performance in terms of symbol error probability only slightly superior to the Viterbi algorithm, yet it presents a much higher complexity. Both Viterbi and BCJR algorithm require the starting state or the distribution of the starting state be known a priori. This is not the case for circular trellis coding with permuted state structure. The optimum maximum likelihood (ML) decoding for circular trellis is to run the Viterbi algorithm the number of total states times, each for one possible starting state. This is obviously not desirable for large trellis. Hence, it would be desirable to investigate the BCJR algorithm again for use in the decoding process in this case, but first, the probability of the distribution of the starting state needs to be solved. John B. Anderson and Stephen M. Hladik in their paper entitled “Tailbiting MAP Decoders”, IEEE Journal on Selected Areas in Communications, vol. 16, No. 2, February 1998, pp 297–302 (see also U.S. Pat. No. 5,721,746, Feb. 24, 1998) extended BCJR algorithm to tail biting codes and this extension is referred to as the circular BCJR algorithm.
In accordance with one aspect of the present invention, a method of building systematically a multi-dimensional (n, D, L) circular trellis coded modulation (CTCM) encoder with properties of optimal energy efficiency, strong tail biting and maximum minimum distance (dmin) of trellis paths, where n is the size of the symbol alphabet, D is the depth of the trellis, and L is the length of the information symbol sequence comprises the steps of: (a) identifying simplex-transition sets of originating and next states for each stage i of the circular trellis; (b) determining butterfly structures associated with the identified simplex-transition sets wherein the originating and next states of said simplex-transition sets are arranged in an internal order within said butterfly structures; (c) aligning said butterfly structures into a multi-dimensional state transition matrix (STM) in a predetermined order; (d) constructing a simplex of channel symbols from a multi-dimensional signal constellation space for each of said identified simplex-transition sets; (e) aligning each simplex into a multi-dimensional initial input simplex (IIS) matrix in an order in relation to said predetermined order of butterfly structures in said STM; and (f) assigning channel symbols to state transitions of a trellis path by mapping between said simplex-transitions of the STM and said simplexes of said IIS matrix.
In accordance with another aspect of the present invention, a communication system for use in a power limited channel application comprises: a circular trellis coded modulation (CTCM) encoder for converting a sequence of digital information bits of a predetermined length into a corresponding sequence of channel symbols based on a circular trellis path associated with the sequence of digital information bits and a set of simplexes identified for said path from a multi-dimensional signal constellation, said CTCM encoder including means for determining an initial starting state of the trellis path which renders the path circular without the addition of redundant bits to the sequence of digital information bits; a transmitter coupled to said CTCM encoder for transmitting said sequence of channel symbols over said channel; a receiver for receiving a transmission from said transmitter including said sequence of channel symbols and any noise induced therein; a CTCM decoder coupled to said receiver for decoding the received transmission without knowledge of the starting state of the circular trellis path of the CTCM encoder to recover the sequence of information bits.
In accordance with yet another aspect of the present invention, a circular trellis coded modulation (CTCM) encoder for converting a sequence of digital information bits of a predetermined length into a corresponding sequence of channel symbols based on a circular trellis path associated with the sequence of digital information bits and a set of simplexes identified for said path from a multi-dimensional signal constellation comprises: means for determining an initial starting state of the trellis path which renders the path circular without the addition of redundant bits to the sequence of digital information bits; first means for storing a representation of a multi-dimensional matrix of simplexes of channel symbols, said simplexes being arranged in said matrix in an ordered relationship to identified state transitions of the trellis path; and means for converting the sequence of digital information bits into the corresponding sequence of channel symbols of the trellis path by operating on the sequence of digital information bits in accordance with said stored matrix representation. This aspect of the present invention includes a method of circular trellis coded modulation (CTCM) encoding by converting a sequence of digital information bits of a predetermined length into a corresponding sequence of channel symbols based on a circular trellis path associated with the sequence of digital information bits and a set of simplexes identified for said path from a multi-dimensional signal constellation.
In accordance with still another aspect of the present invention, a method of decoding a received sequence of channel symbols, denoted as Y1L=Y1, Y2, . . . , YL, where L is the sequence length, from a channel to obtain a sequence of symbols X1L=X1, X2, . . . , XL, belonging to the signal constellation of an encoder comprises the steps of: (a) hard decoding Yt for each t of the sequence using the probability expression P(Yt/Xt)=max P(Yt/X), for all X, i.e. X1, X2, . . . , XL, where P(Yt/X) is a function of the Euclidean distance between Yt and X and a noise spectrum density of the channel; (b) selecting Yt having the largest P(Yt/Xt) as Yi; (c) circular shifting the sequence Y1L using Yi as the starting symbol; and (d) decoding the circular shifted sequence by an iterative circular BCJR algorithm to obtain a corresponding information symbol sequence.
a)–13(c) illustrate simplex-transition butterfly sets for various stages of a CTCM (4,3).
a)–14(c) illustrate ordered arrangement of states of simplex transitions within butterfly sets.
a)–15(c) illustrate an ordered arrangement of originating and next states of simplex transitions in butterfly sets.
a)–16(l) illustrate an ordered arrangement of simplex transition butterfly sets in a state transition matrix (STM).
a)–17(d) illustrate an ordered arrangement of simplex transition butterfly sets for a CTCM (4,3) in a STM.
a) illustrates signal pairs of an exemplary type B simplex and the “copy” rule associated therewith.
b) illustrates how the members of the type B simplex of
a)–20(b) illustrate the assignment relationship of member symbols of a simplex to the transitions of a butterfly or butterfly set of two different stages of a trellis.
a)–21(c) illustrate an ordering of member symbols of simplex in accordance with “fill” and “copy” rules.
a)–22(k) illustrate a building of an ordered arrangement of member symbols of simplexes into an IIS matrix based on a one-to-one mapping with a corresponding STM.
The building of a trellis-coded modulation encoder suitable for use in a communication system similar to the one described in connection with the embodiment of
The CTCM encoder of the present embodiment employs a circular trellis coding with permuted state structure. The state constraint is satisfied without code rate loss or initializing the encoder. It is done by designing a permuted state transition table for the encoder. A circular trellis may be denoted as T (n, D), where n is the number of exiting branches from each state, and D is called trellis depth, i.e. the number of stages needed to reach all the possible states from a starting state. This starting state may be any of the total states in this trellis. When the encoder accepts one q-ary information symbol at one time (this is the case for circular trellis coding with permuted state structure), n=q, i.e., the size of the information symbol alphabet. When it accepts k-tuple q-ary inputs at one time, n=qk. In either case, the total number of states in this trellis is S=nD.
In the present embodiment, the state transition table of the encoder is based on a family of permutations of the state set. To facilitate the construction of the permutations, the state set is chosen to be the finite field GF(S) and its elements are identified with their logarithms, 1, 2, . . . , S−1 with respect to a primitive base. It is therefore necessary that S be a power of a prime. As the permutations are induced using the field operations, Zech logarithms are instrumental for concise representation. Each of the S permutations involved is an S−1 cycle leaving a different element of GF(S) fixed. Reflecting this structure, the expression ‘a nature (1, S−1) state permutation’ has often been used to refer to these permutations. The permutations are denoted σ, σ1, . . . , σS−1 as a way to refer to permutation σi in terms of its fixed element i. To be precise, for i∈{∞, 1, . . . , S−1}, σi=(Z(i), Z(i−1)+1, Z(i−2)+2, . . . , Z(i−(S−2))+S−2), where Z denotes the Zech logarithm. This collection of permutations has the attractive property that any B-fold composition of elements of the collection has one and only one fixed element as long as B is not a multiple of S. It is this property that affords us the ability to assign to any information sequence a circular trellis path. Reflecting the size of our input alphabet, an effective subset of these permutations is chosen carefully to assure that our state transition table satisfies the desirable properties described below in this application (such as existence of butterflies, n-flies, . . . , etc.) No zero padding or encoder initialization is needed in this coding scheme. For a description in greater detail of a permuted state transition table suitable for use in the present embodiment reference is made to the Dissertation of Yung-Cheng Lo, Ohio University 1997, referenced herein above, which is incorporated by reference herein.
A systematic way to build a multi-dimensional simplex signal constellation and a method of symbol assignment in connection therewith will be described herein below. In the description below, first a design criterion is determined and applied to the multi-dimensional CTCM. Next, a matrix is built to record all sets of state transitions that should be assigned simplexes. Then, a suitable simplex signal constellation and a method of symbol assignment therefor are described.
The goal of designing an error coding scheme for a communication system is to obtain coding gain, i.e., to get reduced error probability compared with an uncoded communication system at a specific signal-to-noise ratio. For a trellis coded modulation scheme, suppose a particular code sequence (trellis path) is transmitted, then the decoder will select one code sequence or trellis path that has the minimum distance to the received sequence in order to minimize the code word error. Denote the probability of making an incorrect decision on the code sequence as Pr(e). For AWGN channel with noise variance σn2, Pr(e) will asymptotically approach the lower bound at high signal to noise ratio, i.e.
Pr(e)≧N(dmin)Q(dmin/2σn) (3)
where dmin is defined as the minimum Euclidean distance (ED) between all pairs of code sequences, N(dmin) denotes the number of paths having distance dmin, and Q(·) is the Gaussian error probability function.
It is observed from the above expression (3) that the minimum distance of the code sequence is of primary importance to its error performance. Usually, dmin will correspond to the minimum distance produced by an error path that splits and remerges with the transmitted path, since we would expect paths that do not remerge to keep accumulating distance. This error path is called the error event of the transmitted path. And the distance from this error event to the transmitted path is called free distance, denoted as dfree. In order to reduce Pr(e), it is desired to maximize dfree, for example. From Equation (3), it is also desirable that the number of code sequences having distance dfree be small.
The symbol error probability, denoted as Pr(s), is usually of more interest than the code word probability Pr(e), and is defined as the ratio of the number of symbol errors over the symbols in the information sequence. In order to minimize the symbol error, it is further desired to have the information sequence corresponding to the decode path have a small number of symbols differing from the information sequence corresponding to the transmitted path. That is to say, the unmerged stages between the error event and the transmitted path should be made as small as possible. The error event having the minimum unmerged stage with the transmitted sequence is called the minimum error event. For a coding scheme with uniformity, taking any code sequence as the transmitted sequence will give the same arguments as above.
Accordingly, by analyzing the error events in a CTCM, sets of state transitions that should be assigned simplexes may be identified. Then, a multi-dimensional matrix may be designed to record them. First, the butterfly structure of trellis codes is given to facilitate the description. A circular trellis T (n, D) with permuted state structure may be denoted in the following description as CTCM(n, D), where n is the size of the information symbol alphabet and D is the trellis depth. Some other related system parameters are information symbol sequence length L, the number of space dimensions N of the signal constellation which will be built, and the total states S=nD.
For all trellis codes, sets of p originating states and sets of q next states that have complete intra-connectivity, but no connectivity with other state sets may be identified. Such structure is called a (p, q) butterfly. The set of the originating states or the next states in a butterfly is named the originating state set or the next state set of that butterfly. In a butterfly, each of the p originating states has transitions to each of the q next states with p*q being the total number of transitions in a butterfly. The state transition table for a CTCM (n, D) built using the method described herein above in connection with Lo's Dissertation shows (n, n) butterflies. Since each state can be a member of one and only one butterfly's originating states set and one and only one butterfly's next states set, there are a total number of S/n=nD−1 butterflies representing all the nD−1·n=nD+1 state transitions in the state transition table.
Take CTCM (4,3) as an example. The state transition table for this example is shown in Table 1 of
For this Example 1, let us consider the error events. As shown herein above, for a circular trellis CTCM (n, D) (with permuted state structure), the smallest information sequence length that can be employed is L=D+1 or 4 for this example. The minimum error events occur in this situation. There are a total number of nD+1 or 256 paths in the trellis for this example. Each starting state associates with n or 4 paths diverging at the beginning and remerging at the last stage D+1 or 4 for this example (see
For CTCM (4,3), Table 2 of
For instance, on the 4 paths associated with starting state 3, the set of state transitions at stage 2 (i.e. transitioning states between column 2 and column 3 of Table 2) constitute a simplex-transition2 denoted as simplex-transition2 {4→1, 14→3, 10→6, 50→35}. For a particular state transition—say 2→3—it can be verified that it appears exactly once in:
In general, for a CTCM (n, D), all nD+1 distinct state transitions are represented in its nD−1 butterflies. So, how the simplex-transitions are reflected in the butterflies may be analyzed. From
For a CTCM (4,3), compare all the simplex-transitions's from Table 2 of
In general, for a CTCM (n, D), the following property is observed for a simplex-transitioni, of the middle stages, i.e. 2≦i≦D.
Property 1
Consider two simplex-transitioni's: if the originating state (or next state) of a transition in one simplex-transitioni is the same as the originating state (or next state) of a transition in the other simplex-transitioni, then the originating state set (or next state set) of one simplex-transitions will be identical to that of the other simplex-transitioni.
From this property, the following statement may be made.
Statement 1
For a simplex-transitioni, find the n butterflies associated with it. Then the other n2−1 transitions in each of these n butterflies constitute the other n2−1 simplex-transitioni's.
As proof, if the n butterflies associated with the first simplex-transitioni are numbered as butterfly m, m=1, 2, . . . , n, the originating states and next states in butterfly m will be labeled using gmj and rmj, j=1, 2, . . . , n. Moreover, each of the n transitions in a simplex-transitioni of a middle stage is contained in a different butterfly (see
Now, consider the other transitions in these n butterflies. For a particular butterfly m′, m′=1, 2, . . . , n, there are other n−1 transitions having rm1 as next state. Label them as gm′k→rm′1, k=2, 3, . . . , n (see
Similarly, there are other n−1 transitions originating from gm′1 in butterfly m′ which may be labeled as gm′1→rm′k, k=2, 3, . . . , n (see
So far, (n−1)+(n−1)=2n−2 more transitions in each of these n butterflies have been considered and they constitute 2n−2 new simplex-transitioni's. The originating and next states in these n butterflies have been labeled as gmj and rmj, j=1, 2, . . . , n, respectively.
The transitions yet to be considered in butterfly m′ are gm′s→rm′t, where s, t=2, 3, . . . , n. For each s and t, consider a new simplex-transitioni containing the transition gm′s→rm′t. From Property 1, it will have the originating state set identical to that of the simplex-transitioni {gms→rm1|m=1, . . . , n}which is the set of states {gms|m=1, . . . , n}. Also, it will have the next state set identical to that of the simplex-transitioni {gm1→rmt|m=1, . . . , n} which is the set of states {rmt|m=1, . . . , n}. This shows that the new simplex-transitioni is {gms→rmt|m=1, . . . , n}. So, it has been shown that the remaining (n−1)·(n−1)=n2−2n+1 unconsidered transitions in each butterfly also constitute the other (n−1)·(n−1)=n2−2n+1 new simplex-transitioni's and that the set of transitions {gmj→rmk|m=1, . . . , n} is a simplex-transitioni, for all j and k, j, k=1, 2, . . . , n.
In summary, it has been proven that in the n butterflies associated with a simplex-transitioni, all the n·(n·n) transitions will constitute a number of n·n simplex-transitioni's. Later in this description, it may be said that these n butterflies constitute simplex-transitioni and a set of n butterflies constituting simplex-transitioni will be referred to as a simplex-transitioni-butterfly-set.
Continuing, for each stage i of the middle stages, i.e. 2≦i≦D, there are a number of nD simplex-transitioni's. The total number of nD−1 butterflies can be grouped into nD−2 sets of n butterflies constituting simplex-transition, each set containing n2 simplex-transitioni's. Any particular butterfly is a member of a set of n butterflies constituting simplex-transitions for all i, 2≦i≦D.
For a CTCM (4,3), all the butterflies and simplex-transitions were solved in Examples 1 and 2 herein above. Using these solutions, the 4 simplex-transition2-butterfly-sets may be identified as: butterfly set {1, 2, 4, 10}, butterfly set {3, 6, 9, 12}, butterfly set {5, 8, 7, 14}, and butterfly set {15, 11, 13, 16}; and the 4 simplex-transition3-butterfly-sets may be identified as butterfly set {1, 3, 5, 15}, butterfly set {2, 6, 8, 11}, butterfly set {4, 9, 7, 13}, and butterfly set {10, 12, 14, 16}.
Note that the butterflies and all the paths at L=D+1 are completely determined by the state transition table, Table 1 of
How to build a convenient structure to record all the butterflies associated with the simplex-transitions will now be described. The proof of Statement 1 above has shown that in a simplex-transitioni-butterfly-set, by proper labeling, the set of transitions {gmj→rmk|m=1, . . . , n} constitute a simplex-transitioni for all j and k, j, k=1, 2, . . . , n. Since a butterfly has been represented as an ordered structure, if we place gm′j in butterflies m′ in the same internal location as gm″j in butterfly m″, m′, m″=1, 2, . . . , n, then the set of n transitions constituting a simplex-transitioni will be in the same internal location of these n butterflies. An exemplary procedure of steps for accomplishing this will be described below.
Procedure 1
Initially, arrange the internal orders of butterflies in a simplex-transitioni-butterfly-set, i=2, 3, . . . , D, then, number these n butterflies as butterfly m, m=1, 2, . . . , n. The originating states and next states in butterfly m are to be labeled using gmj and rmj, j=1, 2, . . . , n.
From this procedure, it can be seen that one of the n butterflies' internal orders will fix all the other n−1 butterflies' internal orders in a simplex-transitioni-butterfly-set.
For a CTCM (4,3), from Example 4 above, it is known that butterfly set {1, 2, 4, 10} is a simplex-transition2-butterfly-set and the internal order of states therein may be arranged according to Procedure 1 above in the following manner:
Thus, for a CTCM (n, D), a total number of nD−1 butterflies exist. Simplex-transition1 of the first stage and simplex-transitionD+1 of the last stage are within a butterfly. Simplex-transitioni, of the middle stages, where 2≦i ≦D, are constituted by sets of n butterflies. Now, if a butterfly is regarded as a unit element with ordered structure, all such butterflies may be arranged in a D−1 dimensional matrix with n location indexes along each matrix dimension. This matrix may be referred to as the state transition matrix (STM). A location in STM is referred to using STM (x1, x2, . . . , xi, . . . , xD−1), where xk is the location index along the kth dimension of STM, xk∈{1, 2, . . . , n}, k=1, 2, . . . , D−1. The expression xk=: mean xk can take any possible value and the expression STM (x1, x2, . . . , xk−1,:, xk+1, . . . , xD−1) will re the n locations of the butterflies along the kth dimension. These n locations have the same location index xj along the jth dimension, where j≠k. Also, the expression xk=:/m, where m∈{1, 2, . . . , n}, means xk can take any possible value except m.
Since any particular butterfly of the middle stages is a member of a set of n butterflies constituting simplex-transitioni, for all i, 2≦i≦D. A method to arrange all the butterflies into the STM such that the set of n butterflies constituting simplex-transitioni are located in the n locations along the (i−1)th dimension of STM, i.e., STM (x1, x2, . . . , xi−2,:, xi, . . . , XD−1), for all i, 2≦i≦D will be described. There are nD−2 possible combinations for xj, j≠i−1. A total number of nD−2 sets of n locations along the (i−1)th dimension are used for placing all the nD−2 sets of n butterflies constituting simplex-transitioni for all i, 2≦i≦D. Also, the internal orders of the set of n butterflies constituting simplex-transitioni, where 2≦i≦D, can be arranged according to Procedure 1 such that the n transitions constituting a simplex-transitions are placed in the same internal location of these n butterflies. Then, in the STM, a simplex-transitioni, 2≦i≦D, will be the n transitions located in the same internal locations of a set of n butterflies along the (i−1)th dimension.
Note that Procedure 1 above only arranges the internal orders of the set of n butterflies constituting simplex-transitioni. When locating or indexing these n butterflies in STM (x1, x2, . . . , xi−2,:, xi, . . . , xD−1), the order of indexing these n butterflies in these locations is not fixed in Procedure 1. It will be shown shortly in the procedure of building the STM that the first set of n butterflies constituting simplex-transitioni can be placed into STM (x1, x2, . . . , xi−2,:, xi, . . . , xD−1) in an arbitrary order, but a particular choice on this fix the order of placing all the other sets of n butterflies constituting simplex-transitions along the (i−1)th dimension of STM. A choice set called STM-FREE, whose member elements indicate a particular choice made for arranging the internal orders or the order of placing the n butterflies constituting simplex-transitioni along the (i−1)th dimension when building STM may be defined in the procedure of building STM found herein below.
Procedure 2
For a CTCM (n, D), its butterflies are numbered from 1 to nD−1.
In
For each x3 where x3≠l3, when repeating steps 2 and 3, the order of placing the butterflies constituting simplex-transition2 with the butterfly in STM (l1, 12, x3, . . . , lD−1) along the first dimension into STM (x1, l2, x3, l4, . . . , lD−1) where x1=:/l1, will be fixed the memberships of these butterflies in the simplex-transition4-butterfly-sets containing the butterflies in STM (x1, l2, l3, l4, . . . , lD−1) where x1=:/l1. The order of placing the butterflies constituting simplex-transition3 with the butterfly in STM (l1, l2, x3, . . . , lD−1) along the second dimension into STM (l1, x2, l3, l4, . . . , lD−1), where x2=:/l2 will be fixed by cross-checking the memberships of these butterflies in the simplex-transition4-butterfly-sets containing the butterflies in STM (l1, x2, l3, l4, . . . , lD−1) where x2=:/l2. Then, from the previous steps, this will consequently fix all other butterflies in this two-dimensional plane—STM (:,:, x3, l4, . . . , lD−1) (see
In
From Procedure 2 above, it is seen that the D+3 times choice defined in STM-FREE totally fix an STM. Changing one butterfly's internal order or the order of placing one set of the n butterflies along the ith dimension will cause corresponding change on all the other butterfly's internal order or the order of placing all the other sets of the n butterflies along the ith dimension, i=1, 2, . . . , D−1 which implies that one butterfly's internal order will fix the internal order of all the other butterflies, i.e., define STM (left side butterfly, right side butterfly). The order of placing one set of the n butterflies along the it, dimension of STM will fix the order of placing all the other sets of n butterflies along the ith dimension, i.e., define STM-FREE (ith dimension). Placing the first selected butterfly in a location other than STM(1, 1, . . . , 1) and keeping the other members in STM-FREE the same will result in a different STM. It can be verified that this resultant STM can also be built by first choosing the butterfly in the this resultant STM(1, 1, . . . , 1) as the first selected butterfly, then placing it in STM (1, 1, . . . , 1) and defining other members in STM-FREE accordingly which shows that we can always place the first selected butterfly in STM(1, 1, . . . , 1) and still can get all the different STM's by defining the other members in STM-FREE. This gives the total number of different STM's for CTCM(n, D) as nD−1·n!·n!·((n−1)!)D−1.
All sets of butterflies constituting simplex-transition2 and simplex-transition3 are listed in Example 4 above. A 2-dimensional STM of this example may be built as follows:
It is now time to describe the construction of a simplex signal constellation in a multi-dimensional space and a mapping rule between the signal constellation and the state transitions of the STM constructed above. The description herein below will begin by providing what a simplex is and how it is represented in the context of a CTCM. Then, the concept of channel symbol assignment will be explained with a number of examples. And, finally, procedures for building a simplex signal constellation of channel symbols in connection with the STM described above and mapping (i.e. symbol assignment) the symbols to the transitions of the STM will be provided.
A. Algebraic Representation of Simplex
A simplex is a set of M signals in an N-dimensional space with N≧M−1. For a circular trellis with permuted state structure, i.e. CTCM(n, D), where n is the size of the information symbol alphabet, a simplex is to be assigned to a set of n state transitions, that is to say the simplex should contain M=n signals. Non-binary transmission are often more efficient than binary transmission, and when M>4, the energy saving of simplex signaling over orthogonal signaling is not considered significant. So, for this embodiment, M=4 is chosen for practicality, i.e. CTCM(4, D). When M=4 and N≧3, a three-dimensional space is the smallest signal space to build a simplex that contains four member signals.
An algebraic representation for an exemplary simplex may now be introduced as follows. A simplex signal si, where i=1, 2, 3, 4, may be represented as a vector (±a, ±b, ±c), where a, b, c∈{1, 2, . . . , N} and N is the dimension of the signal space. This representation means that signal s, has negative (−) or positive (+) unit pulses in the ath, bth and cth space dimension and 0's in all the other space dimensions. The element in this vector representation may be referred to as pulse-location and the ith element where i=1, 2, 3 as pulse-location;. The value of pulse-locations is a signed integer. In signal si, the ±a, ±b and ±c are the values of pulse-location, pulse-location2, and pulse-location3 respectively. This exemplary signaling scheme is called the 3-out-of-N simplex signaling scheme in which a, b, and c are the space dimensions occupied by a signal (or a simplex, or pulse-locations). The corresponding normalized signal si is
This simplex will be written as simplex {si|i=1, 2, 3, 4}. There are two types of simplexes which are found suitable for the exemplary signal constellation.
Type A simplex, also referred to as source simplex, is a simplex in which all its four member signals occupy the same three dimensions a, b, and c. There are only two subtypes of the Type A or source simplex and are referred to as even or odd source simplex (see
Type B simplex is a simplex in which no two member signals occupy the same three dimensions. For the instant example, the total number of the occupied dimensions of a type B simplex is 6 (see
The two location pairs for pulse-locationi are listed in the ith column of this matrix. They are locations (pair(1, i), (2, i)) and locations (pair(3, i), (4,i)). Each of the two locations in a location pair is called a pair location of the other location. From the exemplary pair matrix shown above, it can be verified that for a given signal location, its pair location for pulse-locationi and pulse-locationj, where i≠j, are different.
Each member signal in a type B simplex is a member signal in a type A simplex that occupies the same three space dimensions as its corresponding type B member signal. This type A simplex may be referred to as the related source simplex to the type B member signal. For instance, a member signal (1, 3, 5) in the type B simplex shown in
B. The Concept of Symbol Assignment for the STM
For a CTCM(4, D), a signal constellation may be built with total S·n=4D+1 symbols which may be assigned to the 4D+1 state transitions in STM such that all sets of 4 transitions constituting simplex-transitioni's, i=1, 2, . . . , D+1 (where D+1 is the last stage in the present example) are assigned simplexes. In STM, a simplex-transition1 is in a butterfly and the four transitions in it have a same originating state. A simplex-transitionD+1 is in the same butterfly with all of its transitions having the same next state, but each of its transitions originating from a different originating state in this butterfly. A simplex-transitions, i=2, 3, . . . , D, i.e. the middle stages of the trellis, is the set of 4 transitions in the same internal location of the four butterflies along the (i−1)th dimension of STM with each of its transitions originating from one of the four originating states in the same internal location of these four butterflies.
The concept of symbol assignment then is to relate each of the member signals sj, j=1, 2, 3, 4 of a type B simplex to each of the four originating or next states in the same butterfly in STM, i=1, D+1, or to each of the four originating states, which are in the same internal location of the set of four butterflies along the (i−1)th dimension of STM, i2, 3, . . . , D. In this example, the originating state to which the signal sj is related may be denoted as gk. In our symbol assignment, the four state transitions originating from state gk (a simplex-transition1, denoted as the simplex-transition, originating from state gk) will be assigned the member signals from the related source simplex to signal sj denoted as {overscore (ω)}j. In this way, a simplex-transition1 is assigned a source simplex which may be referred to as {overscore (ω)}j, the related source simplex to this originating state gk or the related source simplex to the simplex-transition1 originating from state gk. Then the 4 simplex-transition 1's originating from gk, for all k, k=1, 2, 3, 4 will be assigned using the four related source simplexes {overscore (ω)}j, j=1, 2, 3, 4.
As shown in
Each of these four simplex-transitionD+1's or simplex-transitioni's, i=2, 3, . . . , D, should also be assigned a simplex. We have shown that there is one and only one way to arrange these four related source simplex {overscore (ω)}j, i=1, 2, 3, 4, to form four type B simplexes, denoted as ξl, l=1, 2, 3, 4, with each member signal of ξl drawn from a different source simplex {overscore (ω)}j. Thus, the order of assigning the signals in source simplex {overscore (ω)}j to the transitions originating from state gk may be arranged such that these four simplex-transitionD+1's or simplex-transitioni's be assigned the four type B simplexes ξl. How to do this may be illustrated by the following example.
Symbol assignment for the transitions originating from four originating state in a butterfly in STM or four originating states in the same internal location of the set of four butterflies along the (i−1)th dimension in STM.
In
The reason is as follows. The symbols assigned to the simplex-transition1 are known from one of the originating states. That is to say, for each last stage simplex-transition4, the symbol assigned to one transition in this simplex-transition4 is known. This symbol is a member signal of one of the four type B simplexes; say, ξm, m=1, 2, 3, 4 in
Similarly, the signals in the type B simplex in
This example shows that after knowing the signals related to the four originating states, the symbols assigned to the simplex-transition1's from any one originating state will fix the symbols assigned to the other simplex-transition1's from the other originating states.
In summary, a total number of S type B simplex signal matrices may be built so that each of the originating states gk in a butterfly in STM, k=1,2,3,4, may be related to a signal Sj in a type B simplex, j=1,2,3,4. In addition, it is desired to have the signals also related to the four originating states, which are in the same internal locations of the set of four butterflies along the (i−1)th dimension of STM, be also member signals from a type B simplex for i=2,3, . . . , D. Then by assigning the related source simplex to sj to the four transitions originating from gk in a proper way, each of all the simplex-transition1's in STM will be assigned a source simplex; and each of the simplex-transitioni's, i=2,3, . . . , D+1, will be assigned a type B simplex. The concept of building these S signals will now be described.
In the description to follow, a type B simplex will be regarded as a unit element or matrix with each simplex signal expressed in a row thereof and having an ordered structure (rows from top to bottom). Each butterfly in STM may be replaced with a type B simplex to form a new matrix which will be referred to as initial input simplex (IIS). Similarly, a location in IIS is referred to using the notation IIS (x1, x2, . . . , x1, . . . , xD−1). If the signals in the same internal location of the four type B simplexes along the (i−1), dimension of IIS can also be made a type B simplex, then a one-to-one mapping may be built between the originating state in STM and signals in IIS, such that a set of four signals in the same internal locations of the four type B simplexes along the (i−1)th dimension of IIS, i.e. IIS (x1, x2, . . . , xi−2,:, xi, . . . , xD−1) is related to the set of four states in the same intern of the set of four butterflies along the (i−1)th of STM—STM(x1, x2, . . . , xi−2,:, xi, . . . if the four originating states in a butterfly in STM are made related to a type B simplex in IIS, then, by properly assigning the simplex-transition, originating from a state, the related source simplex, all the simplex-transitioni, i=1,2, . . . , D+1, will be assigned simplex. In this way, the exemplary simplex signal constellation for CTCM (4, D) will consist of all the source simplexes related to all the signals in IIS. How to build such a type B simplex will be described directly below in accordance with the steps of Procedure 3.
Procedure 3
Build a Type B Simplex
In the present embodiment, a type B simplex occupies six distinct space dimensions which may be numbered from 1 to 6.
Procedure 3 will be extended into a Procedure 4 below to build the IIS Matrix. It starts from a type B simplex placed in the first location in IIS, and then applies “copy” and “fill” operations along each matrix dimension of IIS. The location 1, 2, 3, and 4 in matrix pair will be the location index along the idimension, i=1, 2, . . . , D−1.
Procedure 4
Building an IIS Matrix (with Reference to
In this way, for a CTCM(4, D) trellis, the total number of distinct signal dimensions needed to build IIS is N=6·2D−1. The signal dimension can be a frequency or a time slot when the signal is actually transmitted.
D. The Procedure of Symbol Assignment
The mapping between the originating states in STM and signals in IIS has been described herein above as the guide for building the IIS matrix. As shown in Example 7, the simplex symbol assigned to a particular transition will change if the order of mapping the four signals sj in a type B simplex to the four originating states in a butterfly or the four originating states in the same internal locations of the set of four butterflies along the (i−1)th dimension of STM is changed. The same symbol assignment can be obtained by keeping a fixed mapping order and changing the order of the four originating states in a butterfly (defined by STM-FREE (left side butterfly)) or the order of the four butterflies along the (i−1)th dimension (defined by STM-FREE ((i−1)th dimension). That is to say, the same symbol assignment may be obtained if we fix the mapping order and use a different STM built by changing the STM-FREE (left side butterfly) and STM-FREE ((i−1)th dimension). For symbol assignments in the present embodiment, the mapping order will be fixed and the different symbol assignments will be left to employing different STM-FREEs. The originating state having an internal location in the butterfly located at STM(l1, l2, . . . , lD−1) will be mapped to the signal that has the same internal location in the type B simplex located at IIS (l1, l2, . . . , lD−1). Then, the four transitions from each originating state in STM will be assigned using the related source simplex and, as shown in Example 7, the order of assigning the four signals in this related source simplex to these four transitions can be arranged properly such that each of all the simplex-transitioni's, i=1, 2, . . . , D+1, is assigned a simplex. An example will be presented to exemplify how to make the symbol assignment after the mapping order between the originating states in STM and signals in IIS is fixed.
Symbol assignment for a CTCM(4,3)
In this example, the IIS built as described in connection with
For the more general case of CTCM (4,D) with D≧3, continue the above symbols assignment procedure. At each step, extend the symbol assignment procedure to a new dimension of STM. Consider the set of four originating states in the same internal location of the four butterflies along that dimension. There is one originating state located in the butterfly at the first location index along that dimension. From the previous step, the symbols assigned to the simplex-transition1 from this originating state are known; then from Example 7, the simplex-transition1's from the other three originating states will be fixed. In this way, all the transitions in the set of butterflies along that dimension will be assigned proper symbols at that step.
For a particular state transition, different symbol assignments will be obtained if the symbol assignment procedure is started from a different butterfly or a different originating state in the first butterfly in STM, or if we change the order of assigning the related source simplex to the simplex-transition from the first originating state. Those resultant symbol assignments can also be obtained by using the symbol assignment procedure described above but employing different STMs built by choosing different STM-FREE (first butterfly) (or STM-FREE (first location)) and different STM-FREE (left side butterfly), respectively. In the present embodiment, different symbol assignments will be left to employing different STM-FREEs.
In summary, for a CTCM(4,D) encoder system, the IIS may be built using Procedure 4. The signal constellation consists of all the source simplexes related to all the signals in IIS. Different symbol assignments (different codes) for the CTCM (4, D) result from applying the symbol assignment procedure described above to different STMs built by choosing different STM-FREEs. Also, it has been shown that there is a one to one mapping between each originating state in STM and the symbols in IIS. Moreover, from the symbol assignment procedure for a state transition in STM, knowing its location in STM (i.e. the location of the butterfly containing this transition and the internal location of this transition in this butterfly), the symbol assigned to this transition will be known. That is to say, there is also a one to one mapping between each state transition and each symbol in the signal constellation.
Now that a CTCM encoder has been described herein above for use in the communication system, attention is directed to a CTCM decoder at the receiving end to decode the received channel symbols and reproduce the information code sequence. As indicated in the Background section, both Viterbi and BCJR algorithms have been used for decoding, but both require the starting state or the distribution of the starting state be known a priori to the decoder. This is not the case for the present CTCM encoder embodiment. An optimum ML decoding for a circular trellis in which the starting state is unknown would be to execute the Viterbi algorithm for the number of possible starting states which is obviously not desirable for large trellis. In the Anderson et al. IEEE Paper and U.S. Patent referenced herein above, the BCJR algorithm was extended to tail biting codes and referred to as a circular BCJR algorithm. Thus, a modified circular BCJR algorithm will be considered herein as a suitable CTCM decoder for the present embodiment.
But first, the BCJR algorithm will be described by way of example without derivation. In this example, the source is assumed to be a discrete-time finite-state Markov process. The S distinct states of the Markov source are indexed by the integer m, m=0,1, . . . , S−1. The state of the source at time t is denoted by St and its output by Xt. A state transition sequence extending from time t to t′ is denoted by Sti=St, St+1, . . . , St′and the corresponding code sequence is Xtt′=Xt, Xt+1, . . . ,Xt′, where Xt belongs to some finite discrete alphabet. In coded modulation scheme, a channel symbol is assigned to state transition St−1→St. The Markov source starts in the initial state S0 and produces an output or transmission symbol sequence X1L, ending in the terminal state SL. X1L is the input to a noisy DMC channel whose output or reception is the symbol sequence Y1L=Y1, Y2, . . . , YL. For all 1≦t≦L,
where P(Yj|Xj) is the transition probability of this DMC.
The objective of a BCJR decoder is to examine Y1L and estimate the a posteriori probability (APP) of the states and state transitions of the Markov source, i.e., the conditional probabilities
P(St=m|Y1L)=P(St=m,Y1L)/P(Y1L) (12)
and
P(St−1=m′,St=m|Y1L)=P(St−1=m′,St=m,Y1L)/Y1L) (13)
In reality, BCJR calculates the joint probabilities
λt(m)=P(St=m,Y1L) (14)
and
σt(m′,m)=P(St−1=m′,St=m,Y1L) (15)
P(Y1L) is the probability that
is observed. For a given Y1L, P(Y1L) is a constant. Dividing Equations (15) and (14) by this constant which is available from the decoder will always give Equations (12) and (13). Alternatively, we can normalize λt(m) and σt(m′, m) to obtain the same result.
Three sets of probabilities are defined as follows:
αt(m)=P(St=m,Y1t), (16)
βt(m)=P(Yt+1L|St=m), and (17)
γt(m′,m)=P(St=m,Yt|St−1=m′). (18)
Then,
λt(m)=αt(m)βt(m) and (19)
σt(m′,m)=αt−1(m′)γt(m′,m)βt(m) (20)
where αt(m) and βt(m) can be formed by forward recursion in Equation (21) and backward recursion in Equation (22).
γt(m′,m) can be obtained from Markov data source and channel property.
From the λt or σt
For the recursions in Equations (21) and (22) to apply at t=1 and t=L−1 respectively, α0(m) must be the probability of the encoder starting in state m before stage 1 and βL(m) the probability of the encoder ending in state m after stage L. The standard application of the BCJR algorithm assumes S0=SL=0, so
α0(0)=1 and α0(m)=0, for m≠0 (25)
and
βL(0)=1 and βL(m)=0, for m≠0. (26)
The operations of the decoder for computing λt and σt are outlined below:
After Equations (14) and (15) are obtained, the probability of any event that is a function of states or state transitions can be obtained by summing the appropriate λt(m) or σt(m′, m). Then the event is decoded as the one having the largest probability.
In Anderson's circular BCJR algorithm, the BCJR algorithm may be rewritten in vector and matrix format by defining αt as a row vector and βt as a column vector. Each of these row and column vectors has S elements defined in Equations (16) and (17) above, respectively. Also, γt may be defined as an S×S matrix with each element defined in Equation (18) above. For tailing biting codes,
S0=SL, (27)
then, the following expression may be obtained
This means α0 is the normalized left eigenvector of the matrix γ1 . . . γL corresponding to the largest eigenvalue. Similarly, the right eigenvector of γ1 . . . γL is the proper starting vector for βL in most applications. Anderson's circular BCJR employs successive normalization to control the precision of the calculation without changing the results. This augment depends on the fact that scaling of any or all of the αt, βt or γt during recursions in Equations (21) and (22) simply leads to scaled λt(m) and σt(m′, m) in Equations (19) and (20), but Equations (12) and (13) can always be obtained by normalizing λt(m) and σt(m′, m) to have unit sum. This circular BCJR is referred to as circular BCJR with eigenvectors. Using superscript “o” to indicate a unit-sum vector, the basic steps are
Given Y1L=Y1, Y2, . . . , YL
Anderson also argues that if we iterate the forward recursion enough times and properly normalize the outcomes, then the resulting sequence of outcomes α1 . . . αL, αL+1 . . . α2L, α2L+1 . . . will converge to repetitions of α1o . . . αLo, where α1o . . . αLo is the normalized α obtained from circular BCJR with eigenvectors . The speed of convergence (the number of iterations required by the forward recursion) is affected by the choice of initial α0. Similar argument holds for backward recursion.
This gives rise to an iterative circular BCJR as described below.
Given Y1L=Y1, Y2, . . . , YL
Now, application of the circular BCJR algorithm as a CTCM decoder will be explored for drawbacks. In a CTCM(n, D) encoder, the total number of states is S=nD and the information sequence length is denoted as L. In a circular BCJR with eigenvectors, eigenvectors of the multiplication of a sequence of matrixes γ1 . . . γL are to be calculated, where γt is an S×S matrix, t=1, . . . , L. Each element in γt is a probability. The elements in γ1 . . . γL can be extremely small for a reasonably large L, and due to this, the eigenvectors of this matrix will not converge. When the values of elements in γ1 . . . γL become so small that the computer does not have enough precision to represent them, they will simply be treated as zero. This will cause γ1 . . . γL to be a matrix with all zeros and the eigenvectors obtained will not be correct.
One solution to this drawback is as follows: when calculating γ1 . . . γL, scale γ1 . . . γt whenever it is getting too small and multiply this scaled value with γt+1 to get γ1 . . . . γt+1. Because what is desired is the normalized eigenvectors of γ1 . . . γL scaled γ1 . . . γL will have scaled eigenvectors, and normalizing the scaled eigenvectors will give the same results as normalizing the unscaled ones. With this modification, the normalized eigenvectors of γ1 . . . γL can be calculated for any large L and S.
Also, another drawback is the large delay in decoding by the circular BCJR decoder which will be incurred by the normalization of αt and βt at each trellis stage and for each iteration in circular BCJR (referred to hereinafter as iterative circular BCJR), when L is reasonably large. The normalization is introduced previously to control the calculation precision. But in order to control computation precision, the normalization of αt and βt is only necessary at stages when they are getting too small. This is called “selective normalization”. In iterative, circular BCJR, the iterations stop when the difference on a between consecutive rth and (r−1)th iterations, ∥αrL+to−α(r−1)L+t∥, is sufficiently small, by a suitable measure, for all t, t=1, . . . , L. The superscript “o” indicates the normalized vectors. This requires α to be normalized at each trellis stage t in every iteration. When the modification of “selective normalization” is employed, α is only normalized at stages when it is getting too small; this stop condition should be modified accordingly. Since the speed for αL+to, α2L+to to converge to αto is the same for all t, t=1, . . . , L, one stage may be chosen from the total L stages, α is normalized at this stage no matter if it is too small or not, and the difference of αo at this stage is compared between consecutive iterations to decide if more iterations are needed.
Without loss of generality, the present example chooses stage L and defines Δ=max(abs((αRL0−α(r−1)L0)), where “abs” means the absolute value; then when Δ is sufficiently small, the iteration is stopped and the set of α vectors is obtained at the rth iteration. A similar argument holds for iterations on β.
Although the eigenvectors of γ1 . . . γL can be obtained for any large L and S using a circular BCJR algorithm, the computation load to obtain it is much larger than that involved in iterative circular BCJR with several iterations—especially for large L and S. The circular BCJR with eigenvectors is served more as a theoretical basis to derive the iterative circular BCJR than to be implemented practically in the communication system of the present embodiment. To overcome the aforementioned drawbacks and afford a practical decoding of a CTCM encoded sequence in accordance with another aspect of the present invention, an embodiment of an iterative circular shift BCJR decoder will now be described for use in the communication system of the present embodiment.
An initial α0 and βL will be set in order to run the iterative circular BCJR. Some initial choices of α0 and βL will lead to faster convergence than others will. In the following paragraphs a scheme will be introduced based on a statistical estimate of the starting state on the observation of the received sequence of symbols. In this scheme, the reliability of the estimation is defined and used to select the most reliable symbol in the received sequence. Also, the circular property of the CTCM will be incorporated to make this most reliable symbol as the starting point in the decoding.
A. Statistic Estimation of Starting State in CTCM Decoding
First let the receiver tentatively hard decode each symbol in the received sequence of symbols denoted as Y1L=Y1, Y2, . . . , YL. On the observation of Yt, the decoder hard decodes it to {circumflex over (X)}t, where {circumflex over (X)}t belongs to the channel signal constellation. For the situation that all channel symbols are equally likely, which is true for CTCM, in order to minimize the probability of making an erroneous decision, the receiver should choose {circumflex over (X)}t such that
In an N dimensional space, where N is the space dimension of signal constellation for CTCM (n, D), transmitted and received channel symbols X and Yt, respectively, are represented as X=(x1, x2, . . . , xN) and Yt=(yt1, yt2, . . . , ytN), then for a discrete memoryless AWGN channel with one-sided noise spectrum density N0,
∥Yt−X∥2 is the squared Euclidean distance between Yt and X.
The larger P(Yt|{circumflex over (X)}t) is, the smaller is the likelihood of making an error when decoding Yt to {circumflex over (X)}t, i.e., the more reliable is this decision. P(Yt|{circumflex over (X)}t) is defined as the reliability of decoding Yt to {circumflex over (X)}t or simply the reliability of symbol Yt. In this way, the receiver decodes Y1L to {circumflex over (X)}1L={circumflex over (X)}1, {circumflex over (X)}2, . . . , {circumflex over (X)}L, with reliability information P(Yt∥{circumflex over (X)}1) for each t. P(Yt|{circumflex over (X)}t) is then compared with itself for all t to find the largest one—say, P(Yi|{circumflex over (X)}i)—, for example. Then, Yi is the most reliable symbol. Denote the state transition to be assigned {circumflex over (X)}i as m″→m′″, where m″ and m′″ are two trellis states. If Y1L is circular shift to let Yi be the first symbol in the shifted sequence, denoted as Y1L
βL is set the same as α0 initially.
B. Circular Property of CTCM and Iterative Circular Shift BCJR
The circular property of a trellis path in a CTCM will be used to select the most reliable symbol in Y1L as the starting point for decoding. Denote the information sequence as U=(U1, U2, . . . , Ut, . . . , UL), where Ui belongs to the finite information symbol alphabet. The corresponding starting state is S0, and the state transition sequence is S0→S1→S2→ . . . →St−1→St→ . . . SL−1→S0. The corresponding code sequence is denoted as V=(V1, V2, . . . , Vt, . . . , VL) where Vi belongs to the channel signal constellation. The permuted state transition table employed by CTCM guarantees that a circular shift version of U, denoted as USHIFT(t)=(Ut, Ut+1, . . . , UL, U1, U2, . . . , Ut−1), will have a state transition sequence and a code sequence which are the circular shift versions of those for U. The state transition sequence will be St−1→St→ . . . →SL−1→S0→S1→ . . . →St−2→St−1, and the code sequence will be VSHIFT(t)=(Vt, Vt+1, . . . , VL, V1, V2, . . . , Vt−1).
Therefore, if the circular shift version of receive sequence, Y1L
For decoding a CTCM (n, D) encoded sequence, the symbols in the information sequence are directly related to state transitions other than those in shift register based trellis coding. Therefore, we only need to calculate σ's in the iterative circular shift BCJR. Now, if we let C(j) be the set of transitions St−1=m′→St=m caused by input symbol j, where j belongs to the information symbol alphabet, then after σt(m′, m) is obtained, the probability of the input symbol at stage t is
Then, Ut=j′ may be decoded such that
Some other parameters in iterative circular shift BCJR for decoding CTCM (n, D) encoded signals are specified as follows.
For the calculation of γt in Equation (23) above, we have
Then if we denote the channel symbol assigned to transition m′→m as X(m′,m), we have
In implementation, γt(m′, m) may be stored in memory as a sparse matrix table only for m′ and m where transition m′→m is allowed in order to reduce the computation load and memory usage.
Now, we can summarize exemplary steps for the decoding of a CTCM encoded sequence of channel symbols using the iterative circular shift BCJR. “Selective normalization” and modified stop condition for iterations are included here as well.
Given Y1L=Y1, Y2, . . . , YL:
For simulations of decoding using iterative circular shift BCJR on CTCM (n, D) encoded symbol sequences, bit error probability is calculated in the following paragraphs using two methods. In the first method, the symbol in the information sequence is decoded at each stage, and rewritten as log2 n bits. The second method decodes each of the log2 n bits in each symbol at each stage. This can be done by establishing the relationship between the bits in the symbol and the state transitions at that stage. For example, for a CTCM (4, D) encoder, the information symbol alphabet is {0, 1, 2, 3}. Symbols 0 and 1 have bit 0 at the first place and symbol 0 and 2 have bit 0 at the second place. Accordingly, each symbol in the information sequence Ui may be rewritten as two bits Ui(1)Ui(2). Thus, similar to Equation (44) above, we have
We decode Ut(k)=0, k=1, 2, if P(Ut(k)=0|Y1L)≧0.5, otherwise Ut(k)=1.
The bit error probability in the simulation is the number of different bits between the decoded information sequence and the information sequence inputted to the encoder over total number of bits in the information sequence. Since these two methods both relate their decoding events to the APP of state transitions at each stage, there should be no significant difference between the resultant bit error probabilities.
The speed of convergence for the iterative circular BCJR decoder may be affected by the initialization of α0 and βL and the stop condition for the iterations. For this reason, the convergence property of iterative circular shift BCJR is investigated now. For comparison, an iterative circular BCJR using a different initialization is chosen as a reference decoding scheme. In this reference scheme, since a legal path can start and end at one of all the possible states with equal possibility in CTCM (n, D) encoder, in the absence of better knowledge, initial α0 and βL are set as follows:
Then, the received sequence (not shift version) is decoded using the iterative circular BCJR decoder. The number of iterations required for these two initialization schemes is compared.
In the present example, simulations were done for a CTCM (4, 3) encoder with L=16.
no more than two iterations are needed to converge at Δ<10(−3) for both schemes.
Also,
For iterative circular shift BCJR decoding, the number of iterations needed at two different stop conditions, Δ<10(−10) and Δ<10(−3), are compared with decoding being for the same CTCM (4, 3) encoded sequence with L=16.
Simulation results are now provided by way of example to obtain an overall bit error performance of a CTCM (4,D) encoder and an iterative circular shift BCJR algorithm decoder.
The importance of the minimum distance of a code in determining its error performance is well known. We know the minimum distance of CTCM (4, D) is increased with big steps when the information length L is increased starting from D+1, and then will reach a steady value at some point. Accordingly, the bit error probability will decrease with big steps when L is increased starting from D+1 and then will not decrease as much after L reaches some value. This trend is shown in
For any CTCM (4, D) encoded sequence with L>2D+(0˜2), optimal distance codes may be built.
In summary, a multi-dimensional circular trellis-coded modulation with permuted state structure (CTCM) encoder has been described herein above, particularly suited for a communication system operating in power limited channel applications. The CTCM encoder includes a multi-dimensional simplex signal constellation built to achieve optimal energy efficiency and to maximize the minimum distance among error events for any size trellis. The building method includes analyzing the error events and identifying sets of state transitions that should be assigned simplex to achieve maximum coding gain. Butterfly structures or matrices of trellis coding are related to the identified state transitions and aligned into a multi-dimensional matrix, referred to as a state transition matrix or STM, which is designed in such a way that the identified sets of state transitions are located in the same internal location of the butterflies along a particular matrix dimension. In addition, an algebraic representation of a simplex structure of channel symbols in a multi-dimensional space is built as a unit element or matrix for each state of the STM. These simplex matrices are aligned into another multi-dimensional matrix, referred to as a initial input simplex or IIS matrix in such a way that the simplex matrices along a particular matrix dimension of the IIS matrix have simplex signals in the same internal location of each which taken together form a simplex structure. Thus, a one-to-one correspondence or symbol assignment is established between the states of the STM and the simplex signals or symbols of the IIS matrix, and between the state transitions in STM and symbols of the simplex signal constellation. The construction of STM, IIS matrix and the symbol assignment are applicable to any size CTCM encoder.
As has been explained herein above, with a CTCM encoder having an unknown starting state, the maximum likelihood (ML) decoder (Viterbi decoder) is not suitable for decoding the sequence of channel symbols effected thereby. Accordingly, a modified circular BCJR algorithm decoder, referred to herein as an iterative circular shift BCJR decoder, is developed. In this decoder, the starting state of the sequence of channel symbols is statistically estimated using a tentative hard decision with reliability information, and the circular character of the CTCM encoder is incorporated to render the most reliable symbol in the received sequence of symbols as the starting point for decoding. Exemplary simulations illustrated a good convergence property of the iterative circular shift BCJR decoder for different stop conditions and different sequence lengths. In addition, bit error performance of the iterative circular shift BCJR was compared with corresponding uncoded communication systems to illustrate substantial improvements.
An exemplary CTCM (4, 3) encoder and decoder suitable for embodying the principles of the present invention are shown in the functional block diagram schematics of
Clocking signals generated from a state machine 120, for example, may be used to operate the various functional blocks of the encoder in a sequential manner. For example, a clock signal CLK1 which may generate 2 clock pulses periodically may control the shifting of information bits of the S/R function 100, a clock signal CLK2 may control the sample-and hold functions of blocks 106, 108 and 112, an enable signal EN may enable the calculation of function 104 and the switch position of switch 110, and an enable look-up signal ENLU may control the operation of the look-up table 116, and a clock signal CLK3 may control the sample-and-hold function of the block 118. Operation of these clocking signals will become more evident from the description of operation of the encoder found directly below.
An exemplary operation of the encoder embodiment of
In this state, the state machine 120 again generates the signal CLK1 (2 clock pulses) which shifts the next two bits of the block of information data to the LSB and NLSB registers of the S/R 100. Thereafter, signal CLK2 is generated to capture in the S/H's 106, 108 and 112 the signals at their respective inputs which are the starting state (stage 2) and the information symbol alphabet value (2 bits) uniquely associated therewith. From this new data at its inputs, the table function 114 outputs the next state of the trellis at stage 3. This new transition SS(stage 2)-NS(stage 3) is input to the look-up table 116 which outputs a signal representative of the uniquely associated channel symbol X2 when enabled by signal ENLU generated by the state machine 120. The symbol X2 is captured by the S/H 118 upon the generation of the CLK3 signal. This process is repeated for each information symbol 3 to L of the current data block to produce signals representative of the channel symbols X3 to XL, respectively. With each new data block of 2L bits stored in the S/R function 100, the enable signal EN is generated by the state machine 120 to calculate the initial starting state of the trellis for producing the first channel symbol and then released for the production of the remaining channel symbols X2 to XL. Channel symbols representative of a data block may be transmitted over the channel by the transmitter 20 as they are produced by the CTCM encoder, or in the alternative, the channel symbols may be stored upon production by the CTCM encoder for subsequent transmission at a different rate than the rate being produced, for example, which is a process sometimes referred to as buffering.
Now, the CTCM decoder embodiment depicted in
Referring to
Decoding of the circular shifted sequence begins at functional block 136 wherein the initial α0 is set according to Equation 43 above. In block 138, βL is initially set to α0. An iterative process next begins by setting an index R to one in block 140. In the first block of the iterative process, block 142, a set of αRL+1, . . . , α(R+1)L is calculated in a forward direction using Equations 21 and 23 or 46 above, for example. In block 144, similar calculations as for block 142 are performed, albeit in the reverse direction, to obtain a set βRL+t using Equation 22 above. Thereafter, in block 146, the calculated α and β sets are normalized using Equation 50 above, for example. For the present embodiment, a test to determine if the, ratios are too small for computational purposes is provided in blocks 148 and 150. In block 148, the absolute values of the differences of respective normalized α's ((α0RL−α0(R−1)L) are computed and the maximum of the absolute values, Δ, is selected to be compared to a predetermined limit in decisional block 150. If Δ is not too small, i.e. greater than the predetermined limit, then the index R is increased by one in block 152 and blocks 142, 144, 146, 148 and 150 are repeated. This iterative process will continue until Δ is considered too small by decisional block 150. Thereafter, in block 154, for t equals 1 to L, the set αt is set equal to the set αRL+t, and the set βt is set equal to the set βRL+t, respectively. Finally, in block 156, the circular shifted sequence received from receiver 22, for example, is decoded into its corresponding information symbol sequence Ut, Ut+1, . . . , UL, U1, . . . , Ut−1 using Equations 35, 36, 44 and 45 above, for example. The resulting information symbol sequence may be easily converted to its information code knowing the symbol alphabet of the encoder. The foregoing described CTCM encoder and decoder embodiments may either be implemented in circuitry or in software, i.e. programmed into a microcontroller, for example.
While the present invention has been described herein above in connection with a number of embodiments, it is understood that this description was made purely by way of example and not intended in any way, shape or form to be limiting to the present invention. Rather, the present invention should be construed in breadth and broad scope in accordance with the recitation of the appended claims hereto.
The U.S. Government may have certain rights in the present invention as a result of work performed under and/or for the following Air Force contracts: F30602-96-C-0176 and F30602-99-C-0064.
Number | Name | Date | Kind |
---|---|---|---|
4648057 | Wagstaff et al. | Mar 1987 | A |
5406570 | Berrou et al. | Apr 1995 | A |
5446747 | Berrou | Aug 1995 | A |
5563897 | Pyndiah et al. | Oct 1996 | A |
5721746 | Hladik et al. | Feb 1998 | A |
5907565 | Alamouti | May 1999 | A |
5983388 | Friedman et al. | Nov 1999 | A |
6011950 | Young | Jan 2000 | A |
6108388 | Douillard et al. | Aug 2000 | A |
6115436 | Ramesh et al. | Sep 2000 | A |
6119264 | Berrou et al. | Sep 2000 | A |
6560362 | Piret et al. | May 2003 | B1 |
6578173 | Alamouti | Jun 2003 | B1 |
Number | Date | Country |
---|---|---|
WO 9617439 | Jun 1996 | WO |
Number | Date | Country | |
---|---|---|---|
20020196862 A1 | Dec 2002 | US |