US7010052B2 - Apparatus and method of CTCM encoding and decoding for a digital communication system - Google Patents
Apparatus and method of CTCM encoding and decoding for a digital communication system Download PDFInfo
- Publication number
- US7010052B2 US7010052B2 US09/835,727 US83572701A US7010052B2 US 7010052 B2 US7010052 B2 US 7010052B2 US 83572701 A US83572701 A US 83572701A US 7010052 B2 US7010052 B2 US 7010052B2
- Authority
- US
- United States
- Prior art keywords
- simplex
- sequence
- transition
- butterfly
- state
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related, expires
Links
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/65—Purpose and implementation aspects
- H03M13/6502—Reduction of hardware complexity or efficient processing
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/25—Error detection or forward error correction by signal space coding, i.e. adding redundancy in the signal constellation, e.g. Trellis Coded Modulation [TCM]
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
- H03M13/39—Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
- H03M13/39—Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
- H03M13/41—Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors
- H03M13/4123—Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors implementing the return to a predetermined state
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
- H03M13/39—Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
- H03M13/41—Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors
- H03M13/413—Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors tail biting Viterbi decoding
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/65—Purpose and implementation aspects
- H03M13/6502—Reduction of hardware complexity or efficient processing
- H03M13/6505—Memory efficient implementations
Definitions
- 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.
- digital data information is provided by a source 10 in a coded information sequence to a channel encoder 14 .
- Channel coding in encoder 14 transforms the information sequence to a sequence of code symbols called a code sequence or code word.
- the transformation is designed to improve communication performance by enabling the code sequence to better withstand various channel impairments, such as noise, fading, and jamming.
- a modulator 16 maps the code sequence to a sequence of channel symbols drawn from a predetermined signal constellation, for example.
- Channel symbols may be realized by analog waveforms to be transmitted by a conventional transmitter 20 over a channel which, for the purposes of this description is assumed to be a discrete memoryless channel (DMC) with additive white Gaussian noise (AWGN).
- DMC discrete memoryless channel
- AWGN additive white Gaussian noise
- 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.
- SS spread spectrum
- PN PSEUDONOISE
- DS direct sequence
- FH Frequency Hopping
- 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.
- 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.
- signals are to be transmitted with minimum possible energy per data bit in order to preserve the lifetime of the solar batteries providing power.
- 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.
- an error correcting code may be chosen to have strong signal-to-noise characteristics with high code rates.
- 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.
- 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.
- (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.
- 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.
- the capacity or block of information bits is fixed in length, there may be much waste of resources.
- 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 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).
- 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 FIG. 3 .
- the two code symbol streams V 1 and V 2 output from the encoder of FIG. 3 are multiplexed together. Accordingly, for every one bit of data, there are two bits output rendering a code rate of one-half.
- 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.
- FIG. 4 exemplifies a state diagram for the encoder shown in FIG. 3 . The branch is labeled by the k-tuple input string together with the output code word.
- a trellis diagram can be obtained such as that shown in FIG. 5 .
- a node in a trellis denotes a state.
- a branch represents a state transition driven by a certain input information string. It is labeled by a code symbol the encoder outputs when that state transition occurs.
- the level of trellis at time t 0 is 0, and it increases by one at each time instance. From a starting state, all the states will be reached after a certain trellis level and then a fixed trellis section prevails. This trellis section completely describes the codes.
- a code word corresponding to an information sequence is represented by a sequence of state transitions along the time dimension, which is named as a trellis path. Any encoder defined by a finite state machine may be represented by a trellis and referred to as a trellis encoder.
- a circular trellis encoder is a type of trellis encoder in which each information sequence is mapped to a circular trellis path, i.e. a path having the same starting state and ending state.
- This state may be any one of the states in the circular trellis and is completely determined by the information sequence itself.
- all information conveyed by a trellis diagram may be also recorded in a table, referred to as a state transition table. Each transition in the table indicates the next state of the transition originating from any of the total states and driven by all possible k-tuple inputs.
- Use of convolutional or trellis coding in communication systems presumes that the starting state is known and agreed upon between the encoder and decoder stages thereof.
- the information sequence is truncated periodically with length L to have a block structure.
- 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.
- 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.
- K zeros are needed to append.
- K/(L+K) is called the rate loss due to zero tailing.
- the truncation period L is generally made as long as permissible.
- An alternative method that does not introduce code rate loss is tail biting.
- 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.
- 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.
- 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.
- n q k
- S n D
- 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.
- the goal of channel coding is to achieve coding gain which is defined as the reduction in the required E b /N 0 to achieve a specified error probability using the coded system versus an uncoded system, where E b is the average bit energy of the input data, N 0 is the one-sided power spectrum density of channel noise.
- 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.
- FIG. 6 illustrates two multilevel/phase signal e constellations used by TCM, along with the corresponding uncoded system. The expanded signal set does result in reduced distance between adjacent signal points for a given signal power. However, because of the redundancy introduced by the code, this reduced distance no longer determines the error performance.
- ED Euclidean distance
- 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 ( d min ) Q ( d min /2 ⁇ n ), where N(d min ) denotes the average number of error events with distance d min , and Q( ⁇ ) is the Gaussian error probability function. ⁇ n 2 is the variance of the channel noise.
- mapping by set partitioning first successively partitions a channel signal constellation into subsets with increasing minimum distance between symbols in the subsets (refer to FIG. 7 ) and then maps the signal constellation to code bits according to the following rules: All channel symbols are assigned with equal frequency and symmetry.
- 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.
- 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 (d min ) 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
- STM state transition matrix
- 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.
- CTCM circular trellis coded modulation
- CCM circular trellis coded modulation
- 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.
- CCM circular trellis coded modulation
- FIG. 1 is a block diagram of an exemplary digital communication system suitable for embodying the principles of the present invention.
- FIG. 2 is an exemplary graph depicting performance of a communication system plotted on a log-log scale.
- FIG. 3 is a block diagram of an exemplary binary encoder for convolutional coding.
- FIG. 4 is an exemplary state diagram for the encoder shown in FIG. 3 .
- FIG. 5 is an exemplary trellis diagram showing states and transitions.
- FIG. 6 is an illustration of a coded and an uncoded multilevel/phase signal constellation.
- FIG. 7 is an illustration of successive partitions of a channel signal constellation into subsets with increasing minimum distance between symbols in the subsets.
- FIG. 8 is an exemplary 8-state trellis suitable for applying symbol assignment rules.
- FIG. 9 is a table exemplifying a state transitions with permuted state structure for a CTCM (4,3) encoder.
- FIG. 10 is an illustration depicting 16 butterflies identified from the state transition table of FIG. 9 .
- FIG. 11 is an illustration exemplifying the various paths of a circular trellis.
- FIGS. 13( a )– 13 ( c ) illustrate simplex-transition butterfly sets for various stages of a CTCM (4,3).
- FIGS. 14( a )– 14 ( c ) illustrate ordered arrangement of states of simplex transitions within butterfly sets.
- FIGS. 15( a )– 15 ( c ) illustrate an ordered arrangement of originating and next states of simplex transitions in butterfly sets.
- FIGS. 16( a )– 16 ( l ) illustrate an ordered arrangement of simplex transition butterfly sets in a state transition matrix (STM).
- FIGS. 17( a )– 17 ( d ) illustrate an ordered arrangement of simplex transition butterfly sets for a CTCM (4,3) in a STM.
- FIG. 18 illustrates even and odd source simplex types.
- FIG. 19( a ) illustrates signal pairs of an exemplary type B simplex and the “copy” rule associated therewith.
- FIG. 19( b ) illustrates how the members of the type B simplex of FIG. 19( a ) relate to corresponding source simplexes and the ordered arrangement of such members therein.
- FIGS. 20( 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.
- FIG. 21( a )– 21 ( c ) illustrate an ordering of member symbols of simplex in accordance with “fill” and “copy” rules.
- FIGS. 22( 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.
- FIGS. 24 and 25 are graphs illustrating the number of iterations of ⁇ and ⁇ in CTCM (4,3) decoder simulation in two different decoding schemes.
- FIG. 26 illustrates the bit error probability of decoding the code of the decoding schemes of FIGS. 24 and 25 .
- FIGS. 27 and 28 are graphs illustrating the number of decoding iterations of ⁇ and ⁇ for a CTCM (4,3) decoder averaged over a large number of information sequences.
- FIG. 29 is a graph illustrating the bit error probability of decoding of code under two different stop conditions.
- FIGS. 30 and 31 is a graph illustrating a trend in bit error probability versus information symbol length for decoding CTCM (4,2) and CTCM (4,3) encoded sequences, respectively.
- FIG. 32 is a graph illustrating bit error probability of the optimal distance codes for CTCM (4,D) where D ranges over 2–5.
- FIG. 33 is a block diagram schematic of an exemplary CTCM (4,3) encoder embodiment suitable for use in the communication system of FIG. 1 .
- FIG. 34 is a block diagram schematic of an exemplary CTCM (4,3) decoder embodiment suitable for use in the communication system of FIG. 1 .
- a trellis-coded modulation encoder suitable for use in a communication system similar to the one described in connection with the embodiment of FIG. 1 involves the construction of a state transition table for the trellis of the encoder, the design of a signal constellation, and mapping rules between the symbols in the signal constellation and the state transitions.
- a circular trellis coded modulation (CTCM) encoder embodiment of one aspect of the present invention is described herein below, especially for power-limited channel applications.
- 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.
- n q, i.e., the size of the information symbol alphabet.
- n q k .
- S the total number of states in this trellis
- the state transition table of the encoder is based on a family of permutations of the state set.
- 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.
- 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.
- ⁇ 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.
- 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.
- coding gain i.e., to get reduced error probability compared with an uncoded communication system at a specific signal-to-noise ratio.
- Pr(e) the probability of making an incorrect decision on the code sequence.
- Pr(e) For AWGN channel with noise variance ⁇ n 2 , Pr(e) will asymptotically approach the lower bound at high signal to noise ratio, i.e.
- d min 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.
- free distance denoted as d free .
- Pr(e) it is desired to maximize d free , for example. From Equation (3), it is also desirable that the number of code sequences having distance d free be small.
- the symbol error probability 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.
- 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.
- the information sequence corresponding to the decode path has 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.
- CTCM circular trellis T (n, D) with permuted state structure
- CTCM(n, D) the butterfly structure of trellis codes
- n the size of the information symbol alphabet
- D the trellis depth.
- a (p, q) butterfly 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.
- 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.
- the state transition table for this example is shown in Table 1 of FIG. 9 .
- the states are numbered by integer from 1 to 64. It can be found that any member of the set of states ⁇ 1, 64, 4, 33 ⁇ can transit to state 1, 2, 5, and 34. Then, the set of states ⁇ 1, 64, 4, 33 ⁇ and the set of states ⁇ 1, 2,5, 34 ⁇ build a butterfly with such states being the originating states set and the next states set of this butterfly, respectively.
- This butterfly may be written as butterfly ⁇ [1, 64, 4, 33], [1, 2, 5, 34] ⁇ . All 16 butterflies may be identified from Table 2 and are illustrated in FIG. 10 , where each box represents a butterfly.
- the originating state set and next state set are in the left side and right side of a butterfly, respectively.
- a butterfly as an ordered structure and refer to a particular arrangement of the states in a butterfly as the internal order of a butterfly.
- the location of the state (or transition) in a butterfly is referred to as the internal location of the state (or transition).
- the internal location of an originating state or a next state from top to bottom in a butterfly is 1, 2, 3, and 4.
- the butterflies may be numbered arbitrarily by integer from 1 to 16 as shown in FIG. 10 .
- the minimum error events are the other n ⁇ 1 paths.
- the n state transitions on these n paths should be assigned a simplex and the set of such n state transitions may be considered a simplex-transition.
- the set of originating states or next states of the n transitions in a simplex-transition is called the originating state set or next state set of this simplex-transition.
- the set of state transitions at stage 2 constitute a simplex-transition 2 denoted as simplex-transition 2 ⁇ 4 ⁇ 1, 14 ⁇ 3, 10 ⁇ 6, 50 ⁇ 35 ⁇ .
- simplex-transition 2 ⁇ 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:
- Each butterfly contains n simplex-transition 1 's and n simplex-transition D+1 's.
- a total number of n D ⁇ 1 butterflies contain all the n D simplex-transition 1 's and simplex-transition D+1 's (see FIG. 10 ).
- For the n transitions in a simplex-transitions for the middle stages, i.e. 2 ⁇ i ⁇ D, each transition has a different originating state and a different next state.
- each transition of the middle stages is contained in a different butterfly. Accordingly, for the middle stages, it may be said that there are n butterflies associated with a simplex-transition i .
- each of the n transitions in a simplex-transition i of a middle stage is contained in a different butterfly (see FIG. 14( a )).
- the originating state and next state of the transition contained in butterfly m may be labeled as g m1 and r m1 , respectively, and then this first simplex-transition i is expressed as ⁇ g m1 ⁇ r m1
- m 1, . . . , n ⁇ .
- the next state of transition g m′k ⁇ r m′1 is r m′1 ⁇ r m′1 is also the next state of the transition g m1 ⁇ r m1 in the first simplex-transition i .
- the next state set of this new simplex-transition i will be identical to that of the first simplex-transition i which is the set of states ⁇ r m1
- m 1, . . . , n ⁇ .
- this new simplex-transition i is contained in these n butterflies.
- the transition contained in butterfly m, m ⁇ m′ may be labeled as g mk ⁇ r m1 .
- this new simplex-transition i is expressed as ⁇ g mk ⁇ r m1
- m 1, . . . , n ⁇ .
- a new simplex-transition containing the transition g m′1 ⁇ r m′k will have the originating state set identical to that of the first simplex-transition i , namely the set of states ⁇ g m1
- m 1, . . . , n ⁇ This indicates that this new simplex-transition i is also contained in these n butterflies.
- this new simplex-transition i the transition contained in butterfly m, m ⁇ m′, may be labeled as g m1 ⁇ r mk . Then this new simplex-transition i is expressed as ⁇ g m1 ⁇ r mk
- m 1, . . . , n ⁇ .
- m 1, . . . , n ⁇ which is the set of states ⁇ g ms
- m 1, . . . , n ⁇ .
- n D simplex-transition i there are a number of n D simplex-transition i 's.
- the total number of n D ⁇ 1 butterflies can be grouped into n D ⁇ 2 sets of n butterflies constituting simplex-transition, each set containing n 2 simplex-transition i 's. Any particular butterfly is a member of a set of n butterflies constituting simplex-transitions for all i, 2 ⁇ i ⁇ D.
- the 4 simplex-transition 2 -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-transition 3 -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 ⁇ .
- Simplex-transition 1 of the first stage and simplex-transition D+1 of the last stage are within a butterfly.
- Simplex-transition i of the middle stages, where 2 ⁇ i ⁇ D, are constituted by sets of n butterflies.
- STM state transition matrix
- the expression x k : mean x k can take any possible value and the expression STM (x 1 , x 2 , . . . , x k ⁇ 1 ,:, x k+1 , . . . , x D ⁇ 1 ) will re the n locations of the butterflies along the k th dimension. These n locations have the same location index x j along the j th dimension, where j ⁇ k.
- the expression x k :/m, where m ⁇ 1, 2, . . . , n ⁇ , means x k can take any possible value except m.
- any particular butterfly of the middle stages is a member of a set of n butterflies constituting simplex-transition i , for all i, 2 ⁇ i ⁇ D.
- a total number of n D ⁇ 2 sets of n locations along the (i ⁇ 1) th dimension are used for placing all the n D ⁇ 2 sets of n butterflies constituting simplex-transition i for all i, 2 ⁇ i ⁇ D.
- the internal orders of the set of n butterflies constituting simplex-transition i 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-transition i , 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.
- Procedure 1 above only arranges the internal orders of the set of n butterflies constituting simplex-transition i .
- STM simplex-transition i
- 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-transition i can be placed into STM (x 1 , x 2 , . . . , x i ⁇ 2 ,:, x i , . . .
- 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-transition i along the (i ⁇ 1) th dimension when building STM may be defined in the procedure of building STM found herein below.
- butterfly 8, 9, and 10 constitute simplex-transition 2 with the newly chosen anchor butterfly 5, and the three of simplex-transition 3 -butterfly-set containing butterfly 2, 3, 4 are butterfly ⁇ 8, 11, 2, 14 ⁇ , butterfly ⁇ 10, 12, 4, 15 ⁇ , and butterfly ⁇ 9, 13, 3, 16 ⁇ , respectively. Then butterfly 8, 9 and 10 should all have the same location index along the 2 nd dimension as butterfly 5 and have the same location index along the 1 st dimension as butterflies 2, 4, 3, respectively. Similarly, all the rest of the locations are filled with the proper butterflies.
- butterfly 20, 21, and 22 constitute simplex-transition 2 with butterfly 17 and also assume that butterfly 23, 24, and 25 constitute simplex-transition 3 with butterfly 17. Then the locations of butterfly 20, 21, 22, 23, 24, and 25 will be fixed by cross-checking with simplex-transition 4 -butterfly-sets containing butterfly 2, 3, 4 and 5, 6, 7. Assume butterfly 20 is in the simplex-transition 4 -butterfly-set containing butterfly 2, butterfly 23 is in the simplex-transition 4 -butterfly-set containing butterfly 5, then they should have the same location indexes along the first and second dimension in STM (:,:,2) as butterfly 2 and 5 in STM(:,:,1), respectively.
- STM-FREE i th 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, . . .
- a 2-dimensional STM of this example may be built as follows:
- a simplex is a set of M signals in an N-dimensional space with N ⁇ M ⁇ 1.
- CTCM(n, D) where n is the size of the information symbol alphabet
- a simplex signal s i 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 a th , b th and c th space dimension and 0's in all the other space dimensions.
- the value of pulse-locations is a signed integer.
- the ⁇ a, ⁇ b and ⁇ c are the values of pulse-location, pulse-location 2 , and pulse-location 3 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 s i is 1 3 ⁇ ( ⁇ a , ⁇ b , ⁇ c ) .
- This simplex will be written as simplex ⁇ s i
- 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
- source simplex is a simplex in which all its four member signals occupy the same three dimensions a, b, and c.
- Numbers 1, 2, and 3 refer to the three different dimensions of the simplex, not necessarily the first three dimensions in an N-dimensional space.
- Type B simplex is a simplex in which no two member signals occupy the same three dimensions.
- the total number of the occupied dimensions of a type B simplex is 6 (see FIG. 19( a )).
- a “copy” rule in this representation means that, in a pair of signals, one pulse-location has the same absolute value but opposite sign. For instance, in FIG. 19( a ) in the first two signals, pulse-location is 1, and ⁇ 1, respectively, which means these two signals are related to each other by the “copy” rule for pulse-location 1 .
- Their locations (rows) in this simplex matrix are called a location pair for pulse-location i . It can be verified from the example of FIG. 19( a ) that any two signals can constitute a signal pair for a certain pulse-location i .
- the four member signals in a type B simplex constitute two signal pairs.
- the location (row) of a signal in a simplex matrix is defined from top to bottom as 1, 2, 3, and 4.
- the first two signals and the second two signals are two signal pairs for pulse-location.
- the two location pairs for pulse-location i are listed in the i th 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-location i and pulse-location j , 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.
- a member signal (1, 3, 5) in the type B simplex shown in FIG. 19( a ) is related to a source simplex ⁇ (1, 3, 5), (1, ⁇ 3, ⁇ 5), ( ⁇ 1, 3, ⁇ 5), ( ⁇ 1, ⁇ 3, 5) ⁇ .
- Four member signals in type B simplex will relate to four source simplexes.
- STM a simplex-transition 1 is in a butterfly and the four transitions in it have a same originating state.
- a simplex-transition D+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 originating state to which the signal s j is related may be denoted as g k .
- a simplex-transition 1 denoted as the simplex-transition, originating from state g k
- the member signals from the related source simplex to signal s j denoted as ⁇ overscore ( ⁇ ) ⁇ j
- a simplex-transition 1 is assigned a source simplex which may be referred to as ⁇ overscore ( ⁇ ) ⁇ j , the related source simplex to this originating state g k or the related source simplex to the simplex-transition 1 originating from state g k .
- FIG. 20( a ) which illustrates the transitions in a butterfly, like butterfly 1, for example, in STM built for a CTCM(4, 3) in Example 6 above
- the four simplex-transition 1 's originating states g k also constitute four simplex-transition D+1 's, with each transition in a simplex-transition D+1 drawn from a different simplex-transition 1 .
- FIG. 20( b ) shows the transitions originating from the four originating states in one set of four butterflies along the second dimension in that STM. Note that in FIGS. 20( a ) and 20 ( b ), the set of four transitions from a same originating state, each having a different line style, is a simplex-transition 1 . In FIG. 20( a ), the set of four transitions having the same line style is a simplex-transition D+1 . But, the four transitions having the same line style in FIG. 20( b ) is a simplex-transition 3 .
- the order of assigning the signals in source simplex ⁇ overscore ( ⁇ ) ⁇ j to the transitions originating from state g k may be arranged such that these four simplex-transition D+1 's or simplex-transition i 's be assigned the four type B simplexes ⁇ l . How to do this may be illustrated by the following example.
- the four signals from top to bottom in the type B simplex shown in FIG. 19( a ) may be related to the four originating states 1, 64, 4, and 33, respectively.
- the source simplex in each row from row 1 to row 4 in FIG. 19( b ) will be assigned to the simplex-transition 1 's from originating state 1, 64, 4, and 33, respectively.
- the only combination of arranging these four source simplexes to form four type B simplexes is in FIG. 19( b ).
- any simplex-transition may be chosen and assigned the related source simplex to it arbitrarily. For example, the simplex-transition, from originating state 1 from top to bottom in the butterfly shown in FIG.
- 20( a ) may be assigned the simplex signals (1, 3, 5), (1, ⁇ 3, ⁇ 5), ( ⁇ 1, 3, ⁇ 5), and ( ⁇ 1, ⁇ 3, 5), respectively. Then, the symbols assigned to the other simplex-transition 1 's of this butterfly will be fixed.
- the reason is as follows.
- the signals in the type B simplex in FIG. 19( a ) from top to bottom are related to the four originating states 63, 13, 64 and 32 in FIG. 20( b ).
- one simplex-transition 1 from an originating state may be assigned arbitrarily using the related source simplex. For example, assign the four transitions originating from state 63 from top to bottom the signals (1, ⁇ 3, ⁇ 5), ( ⁇ 1, 3, ⁇ 5), (1, 3, 5), ( ⁇ 1, ⁇ 3, 5), respectively, from type B simplex 2, 3, 1, and 4, as shown in FIG. 19( b ). Then, in a similar manner, all the transitions from originating states 13, 64, and 32 will be assigned proper symbols from the same related source simplexes in the same order. Accordingly, for the four simplex-transition's of the example shown by FIG. 20( b ) from top to bottom are assigned simplex signals from type B simplex 2, 3, 1, and 4, as showed in FIG. 19( b ).
- This example shows that after knowing the signals related to the four originating states, the symbols assigned to the simplex-transition 1 's from any one originating state will fix the symbols assigned to the other simplex-transition 1 's from the other originating states.
- the concept of building these S signals will now be described.
- 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).
- IIS initial input simplex
- a location in IIS is referred to using the notation IIS (x 1 , x 2 , . . . , x 1 , . . . , x D ⁇ 1 ).
- 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 (x 1 , x 2 , . . . , x i ⁇ 2 ,:, x i , . . .
- 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 signal dimension can be a frequency or a time slot when the signal is actually transmitted.
- 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.
- the simplex symbol assigned to a particular transition will change if the order of mapping the four signals s j 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).
- 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).
- 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(l 1 , l 2 , . . . , l D ⁇ 1 ) will be mapped to the signal that has the same internal location in the type B simplex located at IIS (l 1 , l 2 , . . . , l D ⁇ 1 ).
- 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.
- the IIS built as described in connection with FIG. 22( e ) will be used with the STM built in Example 6 (see FIG. 17( d )).
- 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.
- 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.
- the BCJR algorithm will be described by way of example without derivation.
- the source is assumed to be a discrete-time finite-state Markov process.
- the state of the source at time t is denoted by S t and its output by X t .
- X t belongs to some finite discrete alphabet.
- coded modulation scheme a channel symbol is assigned to state transition S t ⁇ 1 ⁇ S t .
- the Markov source starts in the initial state S 0 and produces an output or transmission symbol sequence X 1 L , ending in the terminal state S L .
- P(Y 1 L ) 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.
- S t ⁇ 1 m′ ).
- Equations (14) and (15) 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.
- 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.
- ⁇ t may be defined as an S ⁇ S matrix with each element defined in Equation (18) above.
- S 0 S L
- This circular BCJR is referred to as circular BCJR with eigenvectors.
- Y 1 L Y 1 , Y 2 , . . . , Y L
- ⁇ L can be extremely small for a reasonably large L, and due to this, the eigenvectors of this matrix will not converge.
- 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.
- 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.
- 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.
- ⁇ 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.
- 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.
- Y 1 L Y 1 , Y 2 , . . . , Y L .
- the decoder hard decodes it to ⁇ circumflex over (X) ⁇ t , where ⁇ circumflex over (X) ⁇ t belongs to the channel signal constellation.
- N is the space dimension of signal constellation for CTCM (n, D)
- ⁇ circumflex over (X) ⁇ t ) is defined as the reliability of decoding Y t to ⁇ circumflex over (X) ⁇ t or simply the reliability of symbol Y t .
- the circular property of a trellis path in a CTCM will be used to select the most reliable symbol in Y 1 L as the starting point for decoding.
- the corresponding starting state is S 0
- the state transition sequence is S 0 ⁇ S 1 ⁇ S 2 ⁇ . . . ⁇ S t ⁇ 1 ⁇ S t ⁇ . . . S L ⁇ 1 ⁇ S 0 .
- U SHIFT(t) (U t , U t+1 , . . . , U L , U 1 , U 2 , . . . , U t ⁇ 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 S t ⁇ 1 ⁇ S t ⁇ . . . ⁇ S L ⁇ 1 ⁇ S 0 ⁇ S 1 ⁇ . . .
- V SHIFT(t) (V t , V t+1 , . . . , V L , V 1 , V 2 , . . . , V t ⁇ 1 ).
- bit error probability is calculated in the following paragraphs using two methods.
- the symbol in the information sequence is decoded at each stage, and rewritten as log 2 n bits.
- the second method decodes each of the log 2 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.
- 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.
- each symbol in the information sequence U i may be rewritten as two bits U i (1) U i (2) .
- E b /N 0 is the average bit energy per noise power spectrum density.
- the “decode by symbol” and “decode by bit” refer to the first and second method, respectively.
- 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.
- FIGS. 24 and 25 are graphs showing the number of iterations required by ⁇ and ⁇ in these two decoding schemes, both at stop condition ⁇ 10 ( ⁇ 3) .
- “Equally likely initialization” refers to the reference scheme. The number of iterations is averaged over 10,000 information sequences. For low E b /N 0 , the estimation of starting state in iterative circular shift BCJR is considered no better than the simple initialization in the reference scheme, but for medium and high E b /N 0 , the estimation of starting state leads to faster convergence than the reference scheme.
- FIG. 26 shows the bit error probability of decoding this code using these two decoding schemes. All of the FIGS. 24 , 25 and 26 illustrate that the iterative circular BCJR decoder forgets an erroneous starting ⁇ 0 and ⁇ L very rapidly and converges to the objective steady value after just several iterations.
- FIGS. 27 and 28 are graphs showing the number of iterations required by ⁇ and ⁇ averaged over 10,000 information sequences. They show that at very low E b /N 0 , under stop condition ⁇ 10 ( ⁇ 10) , ⁇ and ⁇ need about twice as many iterations as under stop condition ⁇ 10 ( ⁇ 3) . The difference becomes smaller as E b /N 0 increases.
- FIG. 29 is a graph showing the bit error probability of decoding this code under these two stop conditions. The graph shows that ⁇ and ⁇ obtained at ⁇ 10 ( ⁇ 3) lead to almost the same decode decision as those obtained at ⁇ 10 ( ⁇ 10) . ⁇ 10 ( ⁇ 3) is small enough to control the convergence.
- the bit error probability of an uncoded 4-PSK, regarded as a reference system is also plotted.
- S is the total states in trellis.
- DIS min is the minimum distance of this code. It can be seen that, at bit error probability 10 ( ⁇ 5) , the coding gain for 16, 64, 256, and 1024 states trellis are approximately 5.0 dB, 6.0 dB, 6.6 dB, and 7.2 dB, respectively.
- CTCM circular trellis-coded modulation with permuted state structure
- 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.
- STM state transition matrix
- 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.
- 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.
- 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.
- the maximum likelihood (ML) decoder (Viterbi decoder) is not suitable for decoding the sequence of channel symbols effected thereby.
- ML decoder maximum likelihood decoder
- a modified circular BCJR algorithm decoder referred to herein as an iterative circular shift BCJR 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.
- bit error performance of the iterative circular shift BCJR was compared with corresponding uncoded communication systems to illustrate substantial improvements.
- FIGS. 33 and 34 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 FIGS. 33 and 34 , respectively. Both of these embodiments are suitable for use in a communication system similar to that described in connection with FIG. 1 .
- the encoder embodiment of FIG. 33 may embody the function of the block 14
- the decoder embodiment of FIG. 34 may embody the function of the block 26 .
- a block of 2L bits of information data is provided to a shift-register (S/R) function 100 from the information source 10 , for example, over signal lines 102 .
- S/R shift-register
- the same block of information data is also provided to a functional block 104 which functions to calculate the starting state of the trellis based on the current block of 2L bits of data.
- a suitable look-up table for this example is shown in FIG. 9 as Table 1.
- the output of functional block 104 representative of the initial state (IS) of the trellis is coupled to position P 1 of a functional switch 110 .
- the pole position of switch 110 is coupled to the input of another S/H function 112 .
- the output of function 112 which is representative of a starting state (SS) of the trellis is input to the look-up table 114 .
- the output of the look-up table 114 which is representative of the next state (NS) of the trellis is coupled to position P 2 of switch 110 .
- Signals SS and NS which together represent a transition of the trellis are also coupled to inputs of another look-up table 116 which is generated from the STM and IIS described herein above.
- the look-up table 116 offers a one-to-one mapping between a transition (SS-NS) of the trellis and a simplex channel symbol Xi associated therewith.
- the associated channel symbol Xi is output from the table 116 into another S/H function 118 .
- Clocking signals generated from a state machine 120 may be used to operate the various functional blocks of the encoder in a sequential manner.
- a clock signal CLK 1 which may generate 2 clock pulses periodically may control the shifting of information bits of the S/R function 100
- a clock signal CLK 2 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
- an enable look-up signal ENLU may control the operation of the look-up table 116
- a clock signal CLK 3 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.
- a block of 2L information data bits are supplied over signal lines 102 and stored in the S/R function 100 .
- the block of data bits are also supplied to inputs of the function 104 .
- the enable signal EN is generated by the state machine 120 to enable the function 104 to calculate the initial starting state of the trellis from the block of data bits supplied thereto. This calculation may be based on Zech's logarithm as described herein above.
- Signal EN also controls switch 110 to position P 1 which couples the output signal IS of the function 104 to the input of the S/H 112 .
- the clock signal CLK 2 is generated by the state machine 120 to control the sampling and holding of the S/H functions 106 , 108 and 112 whereby the signals coupled to the inputs thereof are captured and held at the outputs which are input to the transition table 114 .
- the S/H function 112 provides the initial starting state at stage 1 of the trellis and S/H functions 106 and 108 provide the information data symbol or alphabet value (i.e. 0, 1, 2, or 3 for the present embodiment) for the starting state.
- the transition look-up table 114 outputs the next state (i.e. at stage 2 of the trellis).
- the current starting state (stage 1) and next state (stage 2) are input to the look-up table 116 so that when the signal ENLU is generated by the state machine, the look-up table 116 outputs the simplex channel symbol Xi uniquely associated with the transition SS(stage 1)-NS(stage 2).
- the clock signal CLK 3 generated by the state machine 120 controls the sampling and holding of X 1 by the S/H function 118 .
- the switch 110 is controlled to position P 2 which couples the next state output of function 114 to the input of the S/H 112 .
- the state machine 120 again generates the signal CLK 1 (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 CLK 2 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 X 2 when enabled by signal ENLU generated by the state machine 120 .
- the symbol X 2 is captured by the S/H 118 upon the generation of the CLK 3 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 X 3 to X L , respectively.
- 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 X 2 to X L .
- 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.
- the CTCM decoder embodiment depicted in FIG. 34 which is based on an iterative circular shift BCJR algorithm, will be described.
- the most reliable symbol of the received sequence of symbols Y 1 , Y 2 , . . . Y L is selected to determine an initial starting state for the algorithm using statistical estimation techniques as described herein above.
- the received sequence of signals are circular shifted based on the selected symbol and the circular shifted version of the received symbol sequence is decoded using the iterative circular BCJR algorithm to produce the information sequence U L .
- Included in the present embodiment are an improved way of setting the initial values of ⁇ 0 and ⁇ L , and the “selective normalization” process, both of which having been described in detail herein above.
- the sequence of symbols Y 1 , Y 2 , . . . Y L received by the receiver 22 from the channel which may be a memoryless AWGN with a one-sided noise spectrum N 0 , for example, are hard decoded in functional block 130 to produce respective symbols X 1 , X 2 , . . . , X L belonging to the simplex signal constellation of the encoder.
- the hard decode function 130 may include the calculations expressed in Equations 41 and 42 above, for example, in order to provide an initial estimate of the symbols X 1 –X L based on probabilities and to minimize the probability of making an erroneous decision.
- the received sequence of symbols are circular shifted based on the selected symbol Y 1 to yield a circular shifted sequence Y i , Y i+1 , . . . , Y L , Y 1 , . . . , Y i ⁇ 1 with Y i as the initial starting state.
- any of the symbols Y may be selected arbitrarily as the initial starting state for decoding purposes. But, selecting the most reliable symbol Y i as the initial starting state permits a quicker convergence in the decoding process to follow.
- Decoding of the circular shifted sequence begins at functional block 136 wherein the initial ⁇ 0 is set according to Equation 43 above.
- ⁇ L is initially set to ⁇ 0 .
- An iterative process next begins by setting an index R to one in block 140 .
- a set of ⁇ RL+1 , . . . , ⁇ (R+1)L is calculated in a forward direction using Equations 21 and 23 or 46 above, for example.
- 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.
- the calculated ⁇ and ⁇ sets are normalized using Equation 50 above, for example.
- a test to determine if the, ratios are too small for computational purposes is provided in blocks 148 and 150 .
- the absolute values of the differences of respective normalized ⁇ 's (( ⁇ 0 RL ⁇ 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.
- the circular shifted sequence received from receiver 22 is decoded into its corresponding information symbol sequence U t , U t+1 , . . . , U L , U 1 , . . . , U t ⁇ 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.
Landscapes
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Error Detection And Correction (AREA)
Abstract
Description
where d(an, a′n) denotes the ED between channel signals anand a′n.
Pr(e)≧N(d min)Q(d min/2σn),
where N(dmin) denotes the average number of error events with distance dmin, and Q(·) is the Gaussian error probability function. σn 2 is the variance of the channel noise.
where Sav is the average signal power.
- 1. All parallel transitions in the trellis structure are assigned the maximum possible ED.
- 2. All transitions diverging from or merging into a trellis state are assigned the next maximum possible ED separation.
for normalized signal energy. It can be verified that these M signals have equal distance from each other.
Pr(e)≧N(d min)Q(d min/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.
- one simplex-transition1{2→3, 2→8, 2→15, 2→37},
- one simplex-transition2{1→1, 2→3, 5→6, 34→35},
- one simplex-transition3{26→13, 18→49, 2→3, 8→9}, and
- one simplex-transition4{2→3, 14→3, 7→3, 36→3}. (end of example)
-
Step 1. Select any one of these n butterflies, say butterfly m′. Arrange the originating states and next states in the left side and right side in this butterfly arbitrarily and label them as gm′j and rm′j arbitrarily, j=1, 2, . . . , n. -
Step 2. For each k, k=1, 2, . . . , n, identify the simplex-transitioni containing transition gm′k→rm′1. For this simplex-transitioni, label the transition contained in butterfly m, m≠m′, as gmk→rm1. Place gmk and rm1 in butterfly m in the same internal location as gm′k and rm′1 in butterfly m′. -
Step 3. For each k, k=2, 3, . . . , n, identify the simplex-transitioni containing transition gm′1→rm′k. For this particular simplex-transitioni, label the transition in this simplex-transition contained in butterfly m, m≠m′ as gm1→rmk. Place rmk in butterfly m in the same internal location as rm′k in butterfly m′.
Following the proof ofStatement 1, it can be verified that all the other set of n transitions {gms→rmt|m=1, . . . , n}, for all s and t, s, t=2, 3, . . . , n constitute simplex-transitioni, and are in the same internal location of these n butterflies.
- 1. First choose any one of these four butterflies—say
butterfly 2—and arrange the states in an arbitrary way (seeFIG. 15( a)). - 2. For each of the
transitions 7→3, 2→3, 14→3 and 36→3, identify the simplex-transtition2 containing this transition from Table 1 ofFIGS. 12A–12C which are:- simplex-transition2{7→3, 64→1, 25→6, 17→35},
- simplex-transition2{2→3, 1→1, 5→6, 34→35},
- simplex-transition2{14→3, 4→1, 10→6, 50→35} and
- simplex-transition2{36→3, 33→1, 46→6, 39→35}.
Then, the originating states 64, 1, 4, 33 andnext state 1 should be placed in the same internal location inbutterfly 1 as originating 7, 2, 14, 36 andstate next state 3 inbutterfly 2. Similarly, the locations of the originating states and one next state of 4 and 10 will be fixed (seebutterflies FIG. 15( b)).
- 3. For each of the
transitions 7→15, 7→37 and 7→8, the simplex-transition2 containing this transition is- simplex-transition2{7→15, 64→5, 25→11, 17→51},
- simplex-transition2{7→37, 64→34, 25→47, 17→40} and
- simplex-transition2{7→8, 64→2, 25→26, 17→18}.
Then, inbutterfly 1, the 5, 34, 2 should be placed in the same internal location as thenext state 15, 37, 8 innext state butterfly 2. Similarly, the locations of the three other next states of 4 and 10 will be fixed (seebutterfly FIG. 15( c)).
- 1. First, select any butterfly, say
butterfly 1, for example, and record this choice as STM-FREE (first butterfly). There are nD−1 choices. Use n=4, D=4 for this example. Secondly, place this selected butterfly into any location in STM, say—STM (l1, l2, . . . , lD−1). Record a particular choice in STM-FREE (first location). There are nD−1 choices (seeFIG. 16( a), take l1=2, l2=3 and l3=1). Then place the n originating states, represented by dots, in the left side of this butterfly in an arbitrary way (seeFIG. 16( b)) and record a particular arrangement in STM-FREE (left side butterfly). There are n! different arrangements. Finally, place the n next states, also represented by dots, in the right side of this butterfly in an arbitrary way (seeFIG. 16( c)) and record a particular arrangement in STM-FREE (night side butterfly). There are n! different arrangements. STM-FREE (left side butterfly, right side butterfly) completely fixes the internal order of thisbutterfly 1. Name this first selected butterfly as the anchor butterfly. - 2. Build the first dimension. Identify the other n−1 (3 for this example) butterflies that constitute simplex-transition2 with the anchor butterfly (
butterfly 1 for this example). The internal orders of these n−1 butterflies are fixed with respect to the anchorbutterfly using Procedure 1 above. They should be placed into locations along the first dimension of STM and should have the location indexes along all the other dimensions the same as anchor butterfly, i.e., the locations STM (x1, l2, . . . , lD−1) where x1=:/l1. The order of placing them may be arbitrary. There are (n−1)! different ways. Record a particular arrangement in STM-FREE (1st dimension).FIG. 16( d) illustrates thisstep 2, assuming that butterfly set {1, 2, 3, 4} constitute simplex-transition2. - 3. Build the second dimension. Identify the other n−1 (3 for this example) butterflies that constitute simplex-transition3 with the anchor butterfly. The internal orders of these n−1 butterflies are also fixed with respect to the anchor
butterfly using Procedure 1. They should be placed into locations along the 2nd dimension of STM and have the same location indexes along all the other dimensions as the anchor butterfly, i.e., the locations STM (l1, x2, l3, . . . , lD−1) where x2=:/l2. The order of placing them may be arbitrary. There are (n−1)! different ways to place them. Record a particular arrangement in STM-FREE (2nd dimension).FIG. 16( e) illustrates thisstep 3, assuming that butterfly set {5, 1, 6, 7} constitute simplex-transition3. - 4. For each x2 where x2≠l2,regard the butterfly in STM (l1, x2, l3, . . . , lD−1)as the new anchor butterfly. For example,
regard butterfly 5 as the new anchor butterfly and 2 and 3. The other n−1 butterflies constituting simplex-transition2 with this new anchor butterfly will be identified. Their internal order is fixed with respect to thisrepeat steps butterfly using Procedure 1 above. These n−1 butterflies should be placed in locations along the first dimension-STM (x1, x2, l3, . . . , lD−1) where x1=:/l4 and denoted as bk, k=1, 2, 3. This time, the order of placing them along the first dimension is now fixed. Suppose butterfly bk is to be placed in STM (x1, x2, l3, . . . , lD−1) where j∈{1, 2, . . . , n} and j≠l1; that mean bk is a member of the simplex-transition3-butterfly-set containing the butterfly in STM (j, x2, l3, . . . , lD−1) which has been placed in the previous stage. Since a particular butterfly is a member of one and only one simplex-transition3-butterfly-set, so by cross-checking the membership of butterfly bk in the n−1 simplex-transition3-butterfly-sets containing butterflies in STM (x1, l2, l3, . . . , lD−1) where x1=:/l1, the location index of butterfly bk along t dimension is obtained (seeFIG. 16( f)).
- 5. Build the third dimension. Identify the other n−1 butterflies constituting simplex-transition4 as the anchor butterfly; their internal order will be fixed using
Procedure 1. They should be placed in STM (l1, l2, x3, . . . , lD−1) where x3=:/l3. The order of placing them may be arbitrary. There are (n−1)! different ways to place them. Choose a particular arrangement and record it in STM-FREE (3rd dimension). SeeFIGS. 16( g), 16(h), and 16(i), assuming that butterfly {1, 17, 18, 19} constitute simplex-transition4. For each x3 where x3→l3, regard the butterfly in STM (l1, l2, x3, . . . , lD−1) as the anchor butterfly. Repeat steps 2 and 3 above; butterflies from certain simplex-transition2-butterfly-sets and simplex-transition3-butterfly-sets will be identified and placed into the rest of locations in the two-dimensional plane containing this butterfly—STM (:,:, x3, l4, . . . , lD−1) and their locations are also fixed.
- 6. Continuing in the same manner, fill the remaining locations along a new dimension of STM, until completely filling the D−1 dimensional matrix. At step i, the n−1 butterflies constituting simplex-transitions with the anchor butterfly will be placed into locations along the (i−1)th dimension, i.e., the locations STM(l1, l2, . . . , xi−1, li, . . . , lD−1) where xi−1=:/li−1. The order of placing them in these locations may be arbitrary. Record a particular arrangement in STM-FREE ((i−1)th dimension). There are (n−1)! different ways. Then, for each xi−1 where xi−1≠li−1, regard the butterfly in STM(l1, l2, . . . , xi−1, xi−1, li, . . . , xi−1,l1, . . . ,
l step 2 until step i−1, the unfilled locations in STM(:,:, . . . ,:, xi−1, li, . . . , lD−1) will be filled by butterflies from certain simplex-transition2-butterfly-sets, simplex-transition3-butterfly-sets, . . . , simplex-transitioni−1-butterfly-sets. The locations of all these butterflies used to fill are fixed; because when repeatingstep 2 until step i−1, the order of placing the butterflies constituting simplex-transitionk where k=2, 3, . . . , i−1 with this butterfly into STM(l1, l2, . . . , xk−1, lk, . . . , li−2, li, . . . , lD−1) where xk−1=:/lk−1 will be fixed by cross-checking the memberships in the simplex-transitions-butterfly-sets containing the butterflies in STM(l1, l2, . . . , xk−1, lk, . . . , li−2, li, . . . , lD−1) where xk−1=:/lk−1. The locations of those butterflies have been fixed in the previous steps. Then the locations of all of the remaining butterflies that should be placed in STM(:,:, . . . ,:, xi−1, li, . . . , lD−1) are fixed. The internal orders of all butterflies are fixed usingProcedure 1.
- 1. Select any butterfly from the
butterflies 1–16 (seeFIG. 10 ), arrange its internal order arbitrarily, and place it into any location in the STM. For this example,butterfly 1 is chosen and placed in STM (2, 3) (seeFIG. 17( a)). - 2. Build the first dimension.
Simplex-transition2-butterfly-set containingbutterfly 1 is butterfly {1, 2, 4, 10}. So, 2, 4, and 10 are placed in locations STM(1, 3), STM(3, 3) and STM(4, 3) in an arbitrary order. The internal orders of them are fixed with respect tobutterflies butterfly 1 using Procedure 1 (seeFIG. 17( b)). - 3. Build the second dimension.
Simplex-transition3-butterfly-set containingbutterfly 1 is butterfly {1, 3, 5, 15}. So, 3, 5, and 15 are placed into locations STM(2, 1), STM(2, 2), and STM(2, 4) in an arbitrary order. Their internal orders are fixed with respect tobutterflies butterfly 1 using Procedure 1 (seeFIG. 17( c)). Moreover, the other 3 butterflies constituting simplex-transition2 with 3, 5, and 15, which arebutterflies 6, 9, and 12,butterflies 7, 8, and 14 andbutterflies 11, 13, and 16, may be placed into the remaining locations in STM(:,2), STM(:,1), and STM(:,4), respectively. Their location indexes along the first dimension will be fixed by cross-checking the membership in three sets of simplex-transition3-butterfly-set containing butterflies in STM(1, 3), STM(3, 3), and STM(4, 3)which are butterfly set {2, 6, 8, 11}, butterfly set {10, 12, 14, 16}, and butterfly set {4, 9, 7, 13}, respectively. So,butterflies 6, 9, and 12 should be placed into STM(:,2) and have the same location index along the first dimension asbutterflies 2, 4, and 10 in STM(:,3). And their internal orders are fixed with respect tobutterfly 2, 4, and 10 usingbutterfly Procedure 1. Similarly, STM (:,1) and STM (:,4) are filled properly (seeFIG. 17( d)).
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.
-
Step 1. Select any three of these six dimensions and give them any sign to build a signal and place it inlocation 1 of the type B simplex (seeFIG. 21( a)). From the pair equation above,location 1 is the first location in the first location pair for all pulse-locations, i=1, 2, 3. -
Step 2. For each pulse-locationi, i=1, 2, 3, from the pair equation above, find the other location in the first location pair which is location pair(2, i) and “Copy” the exiting value to that location (seeFIG. 21( b)). For pulse-locationi, i=1, 2, 3, its value is copied to 2, 3, and 4, respectively, in this simplex.location -
Step 3. For each pulse-locationi, “fill” the first location in the second location pair, i.e., location pair(3, i), using a new dimension and “copy” to its pair location pair(4, i). The sign of pulse-locationi used to “fill” is the same as the sign of pulse-locationi in the first location of the first location pair (seeFIG. 21( c)). For pulse-location1, the second location pair is location (3, 4), “fill”location 3 using anew space dimension 2; “copy” it tolocation 4 as −2.
C. Building an IIS Matrix
-
Step 1. Take a CTCM (4, 4) trellis as an example (seeFIG. 22( a)). Put the first type B simplex in IIS(1, 1, . . . , 1). -
Step 2. Regard this type B simplex as a unit or matrix. Extend along the first matrix dimension of ITS. First, for each pulse-locationi, i=1, 2, 3, “copy” the existing values to the other location of the first location pair, i.e., IIS (pair(2, i), 1, . . . , 1) (seeFIG. 22( b)). Then, for each pulse-locationi, for the locations in the second location pair, “fill” the first location, IIS (pair(3,i), 1, . . . , 1), using two new dimensions and “copy” to its pair location, IIS (pair(4,i), 1, . . . , 1). The values used to “fill” comply with “copy” rule and have the same sign pattern as pulse-locationi in the first location of the first location pair (seeFIG. 22( c)). -
Step 3. Extend along the second matrix dimension and take all four type B simplexes along the first dimension as a whole from now on. When filling a pulse-locationi, four new dimensions are needed, and “copy” rule and sign pattern for that pulse-locationi are the same as pulse-locationi in IIS (:, 1, . . . , 1). First, for each pulse-locationi, i=1, 2, 3 “copy” the existing values to the second location in the first location pair, IIS (:,pair(2, i), 1, . . . , 1) (seeFIG. 22( d)). Then for each pulse-locationi, “fill” the first location in the second location pair, IIS (:, pair(3,i), 1, . . . , 1), and “copy” to its pair location, IIS (:, pair(4, i), 1, . . . , 1) (seeFIG. 22( e)). -
Step 4. Extend along the third matrix dimension. First, for each pulse-locations, “copy” all the existing values to its pair location which is IIS (:,:, pair(2,i), 1, . . . , 1) (seeFIGS. 22( f), 22(g), and 22(h)). Then, for each pulse-locationi, “fill” the first location in the second location pair, IIS (:,:, pair(3, i), 1, . . . , 1) and “copy” to its pair location, IIS (:,:, pair(4,i), 1, . . . , 1). This time, the “fill” is on a two-dimensional plane with no existing pulse-locationi's on it, so the first location from both location pairs needs to be filled, then “copy” them to their pair location (seeFIGS. 22( i), 22(j), and 22(k)).
Step 5. Continue in the same manner as described for the previous steps until extending IIS to the (D−1)th matrix dimension. Each time, extend IIS to one more dimension, in step j, “copy” the existing values to its pair location along the (i−1)th dimension, i.e., IIS Then, for each pulse-locationi, for the locations in the second location pair along the (j−1)th dimension, “fill” the first location, IIS
and “copy” to its pair location IIS
The “fill” is on a j−2-dimensional matrix with no existing pulse-locationi's on it, so, it contains “fill” the first locations in both the location pairs along the (j−2)th dimension, IIS
and IIS
and “copy” to their pair location, IIS
and IIS
Recursively, that will contain “fill” and “copy” along the (j−3)th dimension, until the “fill” and “copy” along the second dimension of IIS is complete as instep 3.
-
Step 1. Start the symbol assignment from the first originating state in the first butterfly in STM, i.e., butterfly located at STM(1, 1). The originatingstate 26 is related to simplex signal (1, 3, 5). Then the four transitions originating from the state 26 (simplex-transition, havingstate 26 as originating state) should be assigned the related source simplex {(1, 3, 5), (1, −3, −5), (−1, 3, −5), (−1, −3, 5)}. The order of assigning these four signals to these four transitions is flexible. But if a particular one is chosen, as will be shown, it will fix the order of assigning all the simplex-transition1's from all the other originating states in STM using the related source simplexes. Accordingly, the four transitions originating fromstate 26 from top to bottom in this butterfly, i.e., 26→13, 26→27, 26→53 and 26→55 may be assigned the simplex signals (1, 3, 5), (1, −3, −5), (−1, 3, −5), and (−1, −3, 5), respectively, (seeFIG. 19( b)). This order can be identified from the locations of negative signs in these four signals. -
Step 2. Then consider the other three originating 12, 54 and 52 in this butterfly at STM (1, 1) which relate to simplex signals (−1, 4, 6), (2, −3, −6), and (−2, −4, −5), respectively, of the matrix at IIS (1, 1) (seestates FIG. 22( e)). The related source simplex to each of these signals will be assigned to the four transitions originating from 12, 54, and 52, respectively, (seestate FIG. 19( b)). From Example 7, the symbols assigned to the simplex-transition1's originating fromstate 26 will fix the symbols assigned to the other simplex-transition1's from the other originating states in this butterfly. Then, all the transitions in the butterfly located at STM (1, 1) are assigned proper symbols. -
Step 3. Then, transitions in the other n−1 butterflies constituting simplex-transition2 with the first butterfly may be considered. They are located along the first dimension of STM, i.e., at locations STM(x1, 1), where x1=:/1 (seeFIG. 17( d)). For each of the four internal locations that an originating state can have, consider the four originating states in that internal location of the four butterflies located at STM (:, 1). From the previous step, we know the symbols assigned to the simplex-transition1 originating from the originating state in the butterfly located at STM(1, 1). Then from Example 7, the symbols assigned to all the transitions originating from the originating state in butterflies located at STM (2, 1) and STM(3,1) and STM(4,1) will be fixed. For instance, for the four originating 12, 63, 31, and 62 at the same internal location in the STM matrices along the first dimension, knowing the symbols assigned to the simplex-transition1 from originatingstates state 12 will fix the symbols assigned to the simplex-transition1's from originating 63, 31, and 62. In this way, all the other transitions in butterflies located in STM (2,1), STM (3,1), and STM (4,1) are assigned proper symbols.state -
Step 4. After knowing the symbols assigned to the transitions in butterflies located in STM (:, 1), symbols to transitions in the set of four butterflies along the second dimension of STM may also be assigned. Consider the four originating states in the same internal location of these four butterflies. From the previous step, the symbols assigned to the simplex-transition1 from the originating state in STM(:,1) are known. Then from Example 7, the symbols assigned to all the transitions originating from the originating states in STM(:,2) STM(:,3) and STM(:,4)will be fixed. In this manner, all the state transitions of the STM may be assigned proper symbols.
where P(Yj|Xj) is the transition probability of this DMC.
P(S t =m|Y 1 L)=P(S t =m,Y 1 L)/P(Y 1 L) (12)
and
P(S t−1 =m′,S t =m|Y 1 L)=P(S t−1 =m′,S t =m,Y 1 L)/Y 1 L) (13)
In reality, BCJR calculates the joint probabilities
λt(m)=P(S t =m,Y 1 L) (14)
and
σt(m′,m)=P(S t−1 =m′,S t =m,Y 1 L) (15)
is observed. For a given Y1 L, P(Y1 L) 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(S t =m,Y 1 t), (16)
βt(m)=P(Yt+1 L |S t =m), and (17)
γt(m′,m)=P(S t =m,Y t |S t−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
α0(0)=1 and α0(m)=0, for m≠0 (25)
and
βL(0)=1 and βL(m)=0, for m≠0. (26)
- 1. α0(m) and βL(m) are initialized according to Equations (15) and (16).
- 2. As soon as Yt is received, the decoder computes γt(m′,m) using Equation (23) and αt(m) using Equation (21) for all t and m.
- 3. After the complete sequence Y1 L has been received, the decoder recursively computes βt using Equation (22). Then compute λt(m) and σt(m′, m) using Equation (19) and (20).
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 Y1 L=Y1, Y2, . . . , YL
- 1. Find the left eigenvector corresponding to the largest eigenvalue of γ1 . . . γL This is α0.
- 2. Calculate the normalized α's by forward recursion
- 3. Starting from the right eigenvector of γ1 . . . γL form the normalized β's by
- 4. Calculate the normalized λt and σt(m′, m) by
- 1. Do not calculate the eigenvectors of γ1 . . . γL. Set initial α0 in some way.
- 2. Calculate a set of normalized α1 o . . . αL o by the recursions in Equation (29) and (30), a continue this recursion to find αt o, t=L+1, L+2, . . . . Take γt=γl where l=t mod L.
- When ∥αt o−αl o∥ is sufficiently small by a suitable measure, stop. A complete set of α is available in the last L round.
- 3. Execute a similar procedure backward along the trellis circle, to find the set β1 o . . . . βL o.
- Set βL=α0 initially.
- 4. Same as in circular BCJR with eigenvectors.
∥Yt−X∥2 is the squared Euclidean distance between Yt and X.
βL is set the same as α0 initially.
B. Circular Property of CTCM and Iterative Circular Shift BCJR
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.
- 1. Hard decode Y1 L to {circumflex over (X)}1 L={circumflex over (X)}1, {circumflex over (X)}2, . . . , {circumflex over (X)}L and find the most reliable symbol Yt. Denote the state transition to which {circumflex over (X)}i is assigned as m″→m′″. Circular shift Y1 L to Y1 L
SHIFT(i) =Yi, Yi+1, . . . , YL, Y1, Y2, . . . , Yi−1. Decode Y1 LSHIFT(i) in the following steps. - 2. Set initial α0 as in Equation (43).
- 3. Set iteration count r=1. Calculate a set of αrL+1, . . . , α(r+1)L by
αrL+t=αrL+t−1γrL+t, t=1, . . . ,L (48)
using γrL+t=γt. (49)
Normalize αrL+t only when it is too small or t=L using
Calculate Δ=max(abs(αrL 0−α(r−1)L 0)). If Δ is sufficiently small, stop the iterations; the set of α vectors is obtained as αt=αrL+t, t=1, . . . , L. Otherwise, set r=r+1, and repeat the iteration. - 4. Execute a similar procedure backward along the trellis circle to find the set β1 o . . . βL o.
- Set βL=α0 initially.
- 5. Calculate σt(m′, m) using Equation (20)
- 6. Decode the information sequence using Equations (44) and (45), denoted as Û, then the original information sequence corresponding to Y1 L is ÛSHIFT(L−i).
We decode Ut (k)=0, k=1, 2, if P(Ut (k)=0|Y1 L)≧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.
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.
no more than two iterations are needed to converge at Δ<10(−3) for both schemes.
Also,
Claims (38)
Priority Applications (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US09/835,727 US7010052B2 (en) | 2001-04-16 | 2001-04-16 | Apparatus and method of CTCM encoding and decoding for a digital communication system |
| AU2002252356A AU2002252356A1 (en) | 2001-04-16 | 2002-03-15 | Apparatus and method of ctcm encoding and decoding for a digital communication system |
| PCT/US2002/007901 WO2002084887A2 (en) | 2001-04-16 | 2002-03-15 | Apparatus and method of ctcm encoding and decoding for a digital communication system |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US09/835,727 US7010052B2 (en) | 2001-04-16 | 2001-04-16 | Apparatus and method of CTCM encoding and decoding for a digital communication system |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| US20020196862A1 US20020196862A1 (en) | 2002-12-26 |
| US7010052B2 true US7010052B2 (en) | 2006-03-07 |
Family
ID=25270304
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US09/835,727 Expired - Fee Related US7010052B2 (en) | 2001-04-16 | 2001-04-16 | Apparatus and method of CTCM encoding and decoding for a digital communication system |
Country Status (3)
| Country | Link |
|---|---|
| US (1) | US7010052B2 (en) |
| AU (1) | AU2002252356A1 (en) |
| WO (1) | WO2002084887A2 (en) |
Cited By (42)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20040181419A1 (en) * | 2003-03-15 | 2004-09-16 | Davis Linda Mary | Spherical decoder for wireless communications |
| US20050102598A1 (en) * | 2003-10-06 | 2005-05-12 | Digital Fountain, Inc. | Error-correcting multi-stage code generator and decoder for communication systems having single transmitters or multiple transmitters |
| US20060020594A1 (en) * | 2004-07-21 | 2006-01-26 | Microsoft Corporation | Hierarchical drift detection of data sets |
| US20070140375A1 (en) * | 2004-03-25 | 2007-06-21 | France Telecom | Joint-source channel decoding method and associated joint source-channel decoder |
| US20070195894A1 (en) * | 2006-02-21 | 2007-08-23 | Digital Fountain, Inc. | Multiple-field based code generator and decoder for communications systems |
| US20080024335A1 (en) * | 2004-03-22 | 2008-01-31 | Matsushita Electric Industrial Co., Ltd | Local Erasure Map Decoder |
| US20080027734A1 (en) * | 2006-07-26 | 2008-01-31 | Nec (China) Co. Ltd. | Media program identification method and apparatus based on audio watermarking |
| US20080152044A1 (en) * | 2006-12-20 | 2008-06-26 | Media Tek Inc. | Veterbi decoding method for convolutionally encoded signal |
| US20080256418A1 (en) * | 2006-06-09 | 2008-10-16 | Digital Fountain, Inc | Dynamic stream interleaving and sub-stream based delivery |
| US7457791B1 (en) * | 2003-05-30 | 2008-11-25 | Microsoft Corporation | Using invariants to validate applications states |
| US7484096B1 (en) | 2003-05-28 | 2009-01-27 | Microsoft Corporation | Data validation using signatures and sampling |
| US20090031199A1 (en) * | 2004-05-07 | 2009-01-29 | Digital Fountain, Inc. | File download and streaming system |
| US20090067551A1 (en) * | 2007-09-12 | 2009-03-12 | Digital Fountain, Inc. | Generating and communicating source identification information to enable reliable communications |
| US20090189792A1 (en) * | 2002-10-05 | 2009-07-30 | Shokrollahi M Amin | Systematic encoding and decoding of chain reaction codes |
| US20100085163A1 (en) * | 2008-10-08 | 2010-04-08 | Assa Abloy Ab | Decoding scheme for rfid reader |
| US20100145692A1 (en) * | 2007-03-02 | 2010-06-10 | Volodya Grancharov | Methods and arrangements in a telecommunications network |
| US20100211690A1 (en) * | 2009-02-13 | 2010-08-19 | Digital Fountain, Inc. | Block partitioning for a data stream |
| US20100223533A1 (en) * | 2009-02-27 | 2010-09-02 | Qualcomm Incorporated | Mobile reception of digital video broadcasting-terrestrial services |
| US20110019769A1 (en) * | 2001-12-21 | 2011-01-27 | Qualcomm Incorporated | Multi stage code generator and decoder for communication systems |
| US20110096828A1 (en) * | 2009-09-22 | 2011-04-28 | Qualcomm Incorporated | Enhanced block-request streaming using scalable encoding |
| US20110103519A1 (en) * | 2002-06-11 | 2011-05-05 | Qualcomm Incorporated | Systems and processes for decoding chain reaction codes through inactivation |
| US20110134978A1 (en) * | 2009-12-08 | 2011-06-09 | Futurewei Technologies, Inc. | System and Method for Non-Uniform Bit Allocation in the Quantization of Channel State Vectors |
| US20110143700A1 (en) * | 2008-05-30 | 2011-06-16 | Fundacio Centre Techologic De Telecommunicacions De Catalunya | Signal processing device and method for detecting and locating spectral shapes |
| US20110231519A1 (en) * | 2006-06-09 | 2011-09-22 | Qualcomm Incorporated | Enhanced block-request streaming using url templates and construction rules |
| US20110238789A1 (en) * | 2006-06-09 | 2011-09-29 | Qualcomm Incorporated | Enhanced block-request streaming system using signaling or block creation |
| US20110239078A1 (en) * | 2006-06-09 | 2011-09-29 | Qualcomm Incorporated | Enhanced block-request streaming using cooperative parallel http and forward error correction |
| US20130111305A1 (en) * | 2011-05-27 | 2013-05-02 | Shanghai Research Center For Wireless Communications | Channel decoding method and decoder for tail-biting codes |
| US8806050B2 (en) | 2010-08-10 | 2014-08-12 | Qualcomm Incorporated | Manifest file updates for network streaming of coded multimedia data |
| US8958375B2 (en) | 2011-02-11 | 2015-02-17 | Qualcomm Incorporated | Framing for an improved radio link protocol including FEC |
| US9136983B2 (en) | 2006-02-13 | 2015-09-15 | Digital Fountain, Inc. | Streaming and buffering using variable FEC overhead and protection periods |
| US9225961B2 (en) | 2010-05-13 | 2015-12-29 | Qualcomm Incorporated | Frame packing for asymmetric stereo video |
| US9246633B2 (en) | 1998-09-23 | 2016-01-26 | Digital Fountain, Inc. | Information additive code generator and decoder for communication systems |
| US9253233B2 (en) | 2011-08-31 | 2016-02-02 | Qualcomm Incorporated | Switch signaling methods providing improved switching between representations for adaptive HTTP streaming |
| US9264069B2 (en) | 2006-05-10 | 2016-02-16 | Digital Fountain, Inc. | Code generator and decoder for communications systems operating using hybrid codes to allow for multiple efficient uses of the communications systems |
| US9270299B2 (en) | 2011-02-11 | 2016-02-23 | Qualcomm Incorporated | Encoding and decoding using elastic codes with flexible source block mapping |
| US9288010B2 (en) | 2009-08-19 | 2016-03-15 | Qualcomm Incorporated | Universal file delivery methods for providing unequal error protection and bundled file delivery services |
| US9294226B2 (en) | 2012-03-26 | 2016-03-22 | Qualcomm Incorporated | Universal object delivery and template-based file delivery |
| US9380096B2 (en) | 2006-06-09 | 2016-06-28 | Qualcomm Incorporated | Enhanced block-request streaming system for handling low-latency streaming |
| US9419749B2 (en) | 2009-08-19 | 2016-08-16 | Qualcomm Incorporated | Methods and apparatus employing FEC codes with permanent inactivation of symbols for encoding and decoding processes |
| US9602802B2 (en) | 2010-07-21 | 2017-03-21 | Qualcomm Incorporated | Providing frame packing type information for video coding |
| US9843844B2 (en) | 2011-10-05 | 2017-12-12 | Qualcomm Incorporated | Network streaming of media data |
| US9917874B2 (en) | 2009-09-22 | 2018-03-13 | Qualcomm Incorporated | Enhanced block-request streaming using block partitioning or request controls for improved client-side handling |
Families Citing this family (12)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7085691B2 (en) * | 1999-11-04 | 2006-08-01 | Verticalband, Limited | Reliable symbols as a means of improving the performance of information transmission systems |
| US7627056B1 (en) | 2002-03-29 | 2009-12-01 | Scientific Research Corporation | System and method for orthogonally multiplexed signal transmission and reception on a non-contiguous spectral basis |
| US7206359B2 (en) * | 2002-03-29 | 2007-04-17 | Scientific Research Corporation | System and method for orthogonally multiplexed signal transmission and reception |
| FR2853976B1 (en) * | 2003-04-16 | 2005-06-03 | Canon Kk | CODING OF INFORMATION BY CODE OF ALGEBRA GEOMETRY PROVIDING TWO DECODING OPTIONS |
| CN100428352C (en) * | 2005-04-12 | 2008-10-22 | 宏阳科技股份有限公司 | Decoding system for 8 to 14 modulation or 8 to 16 modulation |
| US9942883B2 (en) * | 2006-11-13 | 2018-04-10 | Samsung Electronics Co., Ltd. | Method and apparatus for allocating bandwidth of wireless network where both wide-band and narrow-band signals are transmitted, and method and apparatus for transmitting and receiving data on the network |
| US8630364B2 (en) * | 2008-07-25 | 2014-01-14 | Nokia Siemens Networks Oy | Termination techniques for multi-index continuous phase encoders for wireless networks |
| US20110307079A1 (en) * | 2010-04-29 | 2011-12-15 | Board Of Trustees Of Michigan State University, The | Multiscale intra-cortical neural interface system |
| US20140304549A1 (en) * | 2013-04-05 | 2014-10-09 | Hewlett-Packard Development Company, L.P. | Recovering a failure in a data processing system |
| US9086688B2 (en) * | 2013-07-09 | 2015-07-21 | Fisher-Rosemount Systems, Inc. | State machine function block with user-definable actions on a transition between states |
| JP2015106872A (en) * | 2013-12-02 | 2015-06-08 | ソニー株式会社 | Error correction device, error correction method, and program |
| US10615913B2 (en) * | 2017-09-13 | 2020-04-07 | Ciena Corporation | Forward error correction with compression coding |
Citations (12)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4648057A (en) | 1984-05-18 | 1987-03-03 | The United States Of America As Represented By The Secretary Of The Navy | Robust iterative technique for high-resolution spatial processing and spectral estimation |
| US5406570A (en) | 1991-04-23 | 1995-04-11 | France Telecom And Telediffusion De France | Method for a maximum likelihood decoding of a convolutional code with decision weighting, and corresponding decoder |
| US5446747A (en) | 1991-04-23 | 1995-08-29 | France Telecom | Error-correction coding method with at least two systematic convolutional codings in parallel, corresponding iterative decoding method, decoding module and decoder |
| WO1996017439A1 (en) | 1994-11-23 | 1996-06-06 | At & T Wireless Services, Inc. | Cyclic trellis coded modulation |
| US5563897A (en) | 1993-11-19 | 1996-10-08 | France Telecom | Method for detecting information bits processed by concatenated block codes |
| US5721746A (en) | 1996-04-19 | 1998-02-24 | General Electric Company | Optimal soft-output decoder for tail-biting trellis codes |
| US5983388A (en) | 1997-08-25 | 1999-11-09 | Analog Devices | Forward error correction arrangement (FEC) for multipoint to single point communication systems |
| US6011950A (en) | 1997-07-11 | 2000-01-04 | Viacom International, Inc. | Apparatus and method for using forward error correction setting to enable simultaneous use of multiple modulation systems on terrestrial distribution networks |
| US6108388A (en) | 1995-02-07 | 2000-08-22 | France Telecom | Iterative-structure digital signal reception device, and module and method therefor |
| US6115436A (en) | 1997-12-31 | 2000-09-05 | Ericsson Inc. | Non-binary viterbi decoder using butterfly operations |
| US6119264A (en) | 1996-04-03 | 2000-09-12 | France Telecom & Telediffusion De France S.A. | Data block convolutional coding device and method, and corresponding decoding method and device |
| US6560362B1 (en) * | 1998-11-09 | 2003-05-06 | Canon Kabushiki Kaisha | Encoding and interleaving device and method for serial or hybrid turbocodes |
-
2001
- 2001-04-16 US US09/835,727 patent/US7010052B2/en not_active Expired - Fee Related
-
2002
- 2002-03-15 AU AU2002252356A patent/AU2002252356A1/en not_active Abandoned
- 2002-03-15 WO PCT/US2002/007901 patent/WO2002084887A2/en not_active Ceased
Patent Citations (14)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4648057A (en) | 1984-05-18 | 1987-03-03 | The United States Of America As Represented By The Secretary Of The Navy | Robust iterative technique for high-resolution spatial processing and spectral estimation |
| US5406570A (en) | 1991-04-23 | 1995-04-11 | France Telecom And Telediffusion De France | Method for a maximum likelihood decoding of a convolutional code with decision weighting, and corresponding decoder |
| US5446747A (en) | 1991-04-23 | 1995-08-29 | France Telecom | Error-correction coding method with at least two systematic convolutional codings in parallel, corresponding iterative decoding method, decoding module and decoder |
| US5563897A (en) | 1993-11-19 | 1996-10-08 | France Telecom | Method for detecting information bits processed by concatenated block codes |
| US5907565A (en) | 1994-11-23 | 1999-05-25 | At&T Wireless Services, Inc. | Cyclic trellis coded modulation |
| WO1996017439A1 (en) | 1994-11-23 | 1996-06-06 | At & T Wireless Services, Inc. | Cyclic trellis coded modulation |
| US6578173B2 (en) * | 1994-11-23 | 2003-06-10 | At&T Wireless Services, Inc. | Cyclic trellis-coded modulation |
| US6108388A (en) | 1995-02-07 | 2000-08-22 | France Telecom | Iterative-structure digital signal reception device, and module and method therefor |
| US6119264A (en) | 1996-04-03 | 2000-09-12 | France Telecom & Telediffusion De France S.A. | Data block convolutional coding device and method, and corresponding decoding method and device |
| US5721746A (en) | 1996-04-19 | 1998-02-24 | General Electric Company | Optimal soft-output decoder for tail-biting trellis codes |
| US6011950A (en) | 1997-07-11 | 2000-01-04 | Viacom International, Inc. | Apparatus and method for using forward error correction setting to enable simultaneous use of multiple modulation systems on terrestrial distribution networks |
| US5983388A (en) | 1997-08-25 | 1999-11-09 | Analog Devices | Forward error correction arrangement (FEC) for multipoint to single point communication systems |
| US6115436A (en) | 1997-12-31 | 2000-09-05 | Ericsson Inc. | Non-binary viterbi decoder using butterfly operations |
| US6560362B1 (en) * | 1998-11-09 | 2003-05-06 | Canon Kabushiki Kaisha | Encoding and interleaving device and method for serial or hybrid turbocodes |
Non-Patent Citations (7)
| Title |
|---|
| A Turbo Code Tutorial, William E. Ryan. |
| Alder F. A. et al.: "Simplex Symbol Assignment In Circular Trellis-Coded Modulation", Military Communications Conference Proceedings, Milcom 1999, US, Oct. 31, 1999, pp. 311-315. |
| Anderson J. B. et al., "Tailbiting Map Decoders" IEEE Journal on Selected Areas in Communications, vol. 16, No. 2, Feb. 1, 1998, pp. 297-302. |
| Circular Trellis-Coded Modulation in Spread Spectrum Communications, by Yung-Chen Lo, Aug., 1997 (pp. 114). |
| J.E. Curry, A. R. Lindsey, J. C. Dill, S. Lopez-Permouth: "A Group Theoretic Description of Circular Trellis Coded Modulation" Proceedings of SPIE, vol. 4395, Apr. 17-18, 2001, pp. 47-56. |
| Symbol Assignment and Performance of Simplex Signaling in High Dimensional Trellis-Coded Modulation, by Frank A. Alder, Aug. 1998, (pp. 1-93). |
| Yung-Cheng Lo, et al. "High Dimensional Cicular Trellis-Coded Modulation", Signals, Systems & Computer, IEEE Computer Society Conf. , USA Nov. 2-5, 1997, pp. 560-564. |
Cited By (83)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US9246633B2 (en) | 1998-09-23 | 2016-01-26 | Digital Fountain, Inc. | Information additive code generator and decoder for communication systems |
| US9236976B2 (en) | 2001-12-21 | 2016-01-12 | Digital Fountain, Inc. | Multi stage code generator and decoder for communication systems |
| US20110019769A1 (en) * | 2001-12-21 | 2011-01-27 | Qualcomm Incorporated | Multi stage code generator and decoder for communication systems |
| US9240810B2 (en) | 2002-06-11 | 2016-01-19 | Digital Fountain, Inc. | Systems and processes for decoding chain reaction codes through inactivation |
| US20110103519A1 (en) * | 2002-06-11 | 2011-05-05 | Qualcomm Incorporated | Systems and processes for decoding chain reaction codes through inactivation |
| US9236885B2 (en) | 2002-10-05 | 2016-01-12 | Digital Fountain, Inc. | Systematic encoding and decoding of chain reaction codes |
| USRE43741E1 (en) | 2002-10-05 | 2012-10-16 | Qualcomm Incorporated | Systematic encoding and decoding of chain reaction codes |
| US20090189792A1 (en) * | 2002-10-05 | 2009-07-30 | Shokrollahi M Amin | Systematic encoding and decoding of chain reaction codes |
| US7822150B2 (en) * | 2003-03-15 | 2010-10-26 | Alcatel-Lucent Usa Inc. | Spherical decoder for wireless communications |
| US20040181419A1 (en) * | 2003-03-15 | 2004-09-16 | Davis Linda Mary | Spherical decoder for wireless communications |
| US20090125623A1 (en) * | 2003-05-28 | 2009-05-14 | Microsoft Corporation | Data validation using signatures and sampling |
| US7484096B1 (en) | 2003-05-28 | 2009-01-27 | Microsoft Corporation | Data validation using signatures and sampling |
| US7966279B2 (en) | 2003-05-28 | 2011-06-21 | Microsoft Corporation | Data validation using signatures and sampling |
| US8051288B2 (en) | 2003-05-28 | 2011-11-01 | Microsoft Corporation | Data validation using signatures and sampling |
| US20090132955A1 (en) * | 2003-05-28 | 2009-05-21 | Microsoft Corporation | Data validation using signatures and sampling |
| US20090132461A1 (en) * | 2003-05-28 | 2009-05-21 | Microsoft Corporation | Data validation using signatures and sampling |
| US8122253B2 (en) | 2003-05-28 | 2012-02-21 | Microsoft Corporation | Data validation using signatures and sampling |
| US7457791B1 (en) * | 2003-05-30 | 2008-11-25 | Microsoft Corporation | Using invariants to validate applications states |
| US20070101234A1 (en) * | 2003-10-06 | 2007-05-03 | Digital Fountain, Inc. | Error-correcting multi-stage code generator and decoder for communication systems having single transmitters or multiple transmitters |
| US20050102598A1 (en) * | 2003-10-06 | 2005-05-12 | Digital Fountain, Inc. | Error-correcting multi-stage code generator and decoder for communication systems having single transmitters or multiple transmitters |
| US8887020B2 (en) | 2003-10-06 | 2014-11-11 | Digital Fountain, Inc. | Error-correcting multi-stage code generator and decoder for communication systems having single transmitters or multiple transmitters |
| US7451377B2 (en) * | 2003-10-06 | 2008-11-11 | Digital Fountain, Inc. | Error-correcting multi-stage code generator and decoder for communication systems having single transmitters or multiple transmitters |
| US7139960B2 (en) * | 2003-10-06 | 2006-11-21 | Digital Fountain, Inc. | Error-correcting multi-stage code generator and decoder for communication systems having single transmitters or multiple transmitters |
| US20080024335A1 (en) * | 2004-03-22 | 2008-01-31 | Matsushita Electric Industrial Co., Ltd | Local Erasure Map Decoder |
| US20070140375A1 (en) * | 2004-03-25 | 2007-06-21 | France Telecom | Joint-source channel decoding method and associated joint source-channel decoder |
| US9136878B2 (en) | 2004-05-07 | 2015-09-15 | Digital Fountain, Inc. | File download and streaming system |
| US9236887B2 (en) | 2004-05-07 | 2016-01-12 | Digital Fountain, Inc. | File download and streaming system |
| US20090031199A1 (en) * | 2004-05-07 | 2009-01-29 | Digital Fountain, Inc. | File download and streaming system |
| US20060020594A1 (en) * | 2004-07-21 | 2006-01-26 | Microsoft Corporation | Hierarchical drift detection of data sets |
| US9136983B2 (en) | 2006-02-13 | 2015-09-15 | Digital Fountain, Inc. | Streaming and buffering using variable FEC overhead and protection periods |
| US20070195894A1 (en) * | 2006-02-21 | 2007-08-23 | Digital Fountain, Inc. | Multiple-field based code generator and decoder for communications systems |
| US9270414B2 (en) | 2006-02-21 | 2016-02-23 | Digital Fountain, Inc. | Multiple-field based code generator and decoder for communications systems |
| US9264069B2 (en) | 2006-05-10 | 2016-02-16 | Digital Fountain, Inc. | Code generator and decoder for communications systems operating using hybrid codes to allow for multiple efficient uses of the communications systems |
| US9386064B2 (en) | 2006-06-09 | 2016-07-05 | Qualcomm Incorporated | Enhanced block-request streaming using URL templates and construction rules |
| US9191151B2 (en) | 2006-06-09 | 2015-11-17 | Qualcomm Incorporated | Enhanced block-request streaming using cooperative parallel HTTP and forward error correction |
| US20110238789A1 (en) * | 2006-06-09 | 2011-09-29 | Qualcomm Incorporated | Enhanced block-request streaming system using signaling or block creation |
| US20110231519A1 (en) * | 2006-06-09 | 2011-09-22 | Qualcomm Incorporated | Enhanced block-request streaming using url templates and construction rules |
| US9178535B2 (en) | 2006-06-09 | 2015-11-03 | Digital Fountain, Inc. | Dynamic stream interleaving and sub-stream based delivery |
| US9380096B2 (en) | 2006-06-09 | 2016-06-28 | Qualcomm Incorporated | Enhanced block-request streaming system for handling low-latency streaming |
| US9432433B2 (en) | 2006-06-09 | 2016-08-30 | Qualcomm Incorporated | Enhanced block-request streaming system using signaling or block creation |
| US11477253B2 (en) | 2006-06-09 | 2022-10-18 | Qualcomm Incorporated | Enhanced block-request streaming system using signaling or block creation |
| US20080256418A1 (en) * | 2006-06-09 | 2008-10-16 | Digital Fountain, Inc | Dynamic stream interleaving and sub-stream based delivery |
| US9209934B2 (en) | 2006-06-09 | 2015-12-08 | Qualcomm Incorporated | Enhanced block-request streaming using cooperative parallel HTTP and forward error correction |
| US20110239078A1 (en) * | 2006-06-09 | 2011-09-29 | Qualcomm Incorporated | Enhanced block-request streaming using cooperative parallel http and forward error correction |
| US7957977B2 (en) * | 2006-07-26 | 2011-06-07 | Nec (China) Co., Ltd. | Media program identification method and apparatus based on audio watermarking |
| US20080027734A1 (en) * | 2006-07-26 | 2008-01-31 | Nec (China) Co. Ltd. | Media program identification method and apparatus based on audio watermarking |
| US20080152044A1 (en) * | 2006-12-20 | 2008-06-26 | Media Tek Inc. | Veterbi decoding method for convolutionally encoded signal |
| US20100145692A1 (en) * | 2007-03-02 | 2010-06-10 | Volodya Grancharov | Methods and arrangements in a telecommunications network |
| US9076453B2 (en) | 2007-03-02 | 2015-07-07 | Telefonaktiebolaget Lm Ericsson (Publ) | Methods and arrangements in a telecommunications network |
| US20090067551A1 (en) * | 2007-09-12 | 2009-03-12 | Digital Fountain, Inc. | Generating and communicating source identification information to enable reliable communications |
| US9237101B2 (en) | 2007-09-12 | 2016-01-12 | Digital Fountain, Inc. | Generating and communicating source identification information to enable reliable communications |
| US20110143700A1 (en) * | 2008-05-30 | 2011-06-16 | Fundacio Centre Techologic De Telecommunicacions De Catalunya | Signal processing device and method for detecting and locating spectral shapes |
| US8290459B2 (en) * | 2008-05-30 | 2012-10-16 | Fundacio Centre Tecnologic De Telecomunicacions De Catalunya | Signal processing device and method for detecting and locating spectral shapes |
| US8120466B2 (en) * | 2008-10-08 | 2012-02-21 | Assa Abloy Ab | Decoding scheme for RFID reader |
| US20100085163A1 (en) * | 2008-10-08 | 2010-04-08 | Assa Abloy Ab | Decoding scheme for rfid reader |
| US20100211690A1 (en) * | 2009-02-13 | 2010-08-19 | Digital Fountain, Inc. | Block partitioning for a data stream |
| US20100223533A1 (en) * | 2009-02-27 | 2010-09-02 | Qualcomm Incorporated | Mobile reception of digital video broadcasting-terrestrial services |
| US9281847B2 (en) | 2009-02-27 | 2016-03-08 | Qualcomm Incorporated | Mobile reception of digital video broadcasting—terrestrial services |
| US9876607B2 (en) | 2009-08-19 | 2018-01-23 | Qualcomm Incorporated | Methods and apparatus employing FEC codes with permanent inactivation of symbols for encoding and decoding processes |
| US9660763B2 (en) | 2009-08-19 | 2017-05-23 | Qualcomm Incorporated | Methods and apparatus employing FEC codes with permanent inactivation of symbols for encoding and decoding processes |
| US9288010B2 (en) | 2009-08-19 | 2016-03-15 | Qualcomm Incorporated | Universal file delivery methods for providing unequal error protection and bundled file delivery services |
| US9419749B2 (en) | 2009-08-19 | 2016-08-16 | Qualcomm Incorporated | Methods and apparatus employing FEC codes with permanent inactivation of symbols for encoding and decoding processes |
| US12155715B2 (en) | 2009-09-22 | 2024-11-26 | Qualcomm Incorporated | Enhanced block-request streaming using block partitioning or request controls for improved client-side handling |
| US10855736B2 (en) | 2009-09-22 | 2020-12-01 | Qualcomm Incorporated | Enhanced block-request streaming using block partitioning or request controls for improved client-side handling |
| US20110096828A1 (en) * | 2009-09-22 | 2011-04-28 | Qualcomm Incorporated | Enhanced block-request streaming using scalable encoding |
| US11770432B2 (en) | 2009-09-22 | 2023-09-26 | Qualcomm Incorporated | Enhanced block-request streaming system for handling low-latency streaming |
| US9917874B2 (en) | 2009-09-22 | 2018-03-13 | Qualcomm Incorporated | Enhanced block-request streaming using block partitioning or request controls for improved client-side handling |
| US11743317B2 (en) | 2009-09-22 | 2023-08-29 | Qualcomm Incorporated | Enhanced block-request streaming using block partitioning or request controls for improved client-side handling |
| US8295379B2 (en) * | 2009-12-08 | 2012-10-23 | Futurewei Technologies, Inc. | System and method for non-uniform bit allocation in the quantization of channel state vectors |
| US20110134978A1 (en) * | 2009-12-08 | 2011-06-09 | Futurewei Technologies, Inc. | System and Method for Non-Uniform Bit Allocation in the Quantization of Channel State Vectors |
| US8503559B2 (en) | 2009-12-08 | 2013-08-06 | Futurewei Technologies, Inc. | System and method for non-uniform bit allocation in the quantization of channel state vectors |
| US9225961B2 (en) | 2010-05-13 | 2015-12-29 | Qualcomm Incorporated | Frame packing for asymmetric stereo video |
| US9602802B2 (en) | 2010-07-21 | 2017-03-21 | Qualcomm Incorporated | Providing frame packing type information for video coding |
| US9319448B2 (en) | 2010-08-10 | 2016-04-19 | Qualcomm Incorporated | Trick modes for network streaming of coded multimedia data |
| US9456015B2 (en) | 2010-08-10 | 2016-09-27 | Qualcomm Incorporated | Representation groups for network streaming of coded multimedia data |
| US8806050B2 (en) | 2010-08-10 | 2014-08-12 | Qualcomm Incorporated | Manifest file updates for network streaming of coded multimedia data |
| US8958375B2 (en) | 2011-02-11 | 2015-02-17 | Qualcomm Incorporated | Framing for an improved radio link protocol including FEC |
| US9270299B2 (en) | 2011-02-11 | 2016-02-23 | Qualcomm Incorporated | Encoding and decoding using elastic codes with flexible source block mapping |
| US20130111305A1 (en) * | 2011-05-27 | 2013-05-02 | Shanghai Research Center For Wireless Communications | Channel decoding method and decoder for tail-biting codes |
| US9083385B2 (en) * | 2011-05-27 | 2015-07-14 | Shanghai Research Center For Wireless Communications | Channel decoding method and decoder for tail-biting codes |
| US9253233B2 (en) | 2011-08-31 | 2016-02-02 | Qualcomm Incorporated | Switch signaling methods providing improved switching between representations for adaptive HTTP streaming |
| US9843844B2 (en) | 2011-10-05 | 2017-12-12 | Qualcomm Incorporated | Network streaming of media data |
| US9294226B2 (en) | 2012-03-26 | 2016-03-22 | Qualcomm Incorporated | Universal object delivery and template-based file delivery |
Also Published As
| Publication number | Publication date |
|---|---|
| WO2002084887A2 (en) | 2002-10-24 |
| WO2002084887A3 (en) | 2002-12-12 |
| AU2002252356A1 (en) | 2002-10-28 |
| US20020196862A1 (en) | 2002-12-26 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US7010052B2 (en) | Apparatus and method of CTCM encoding and decoding for a digital communication system | |
| US6016568A (en) | High rate trellis coding and decoding method and apparatus | |
| Heegard et al. | Turbo coding | |
| US6597743B1 (en) | Reduced search symbol estimation algorithm | |
| US4882733A (en) | Method and apparatus for combining encoding and modulation | |
| US4933956A (en) | Simplified decoding of lattices and codes | |
| USRE38010E1 (en) | Trellis encoder and decoder based upon punctured rate ½ convolutional codes | |
| JP2002509680A (en) | Iterative decoding of product code | |
| US20070217522A1 (en) | Source-Channel Approach to Channel Coding with Side Information | |
| US8042027B1 (en) | BM/LLR computation for multi-dimensional TCM/BCM | |
| US6718502B1 (en) | Precoders for partial response channels | |
| US10374858B2 (en) | Transceiving system using a joined linear orthogonal modulation | |
| Ding et al. | An improved blind recognition method for synchronization position and coding parameters of k/n rate convolutional codes in a noisy environment | |
| CN115720129A (en) | A method and system for information transmission of polarization-coded continuous phase modulation | |
| US7051270B2 (en) | Decoder an decoding method | |
| US5848102A (en) | Method and apparatus for encoding/decoding QAM trellis coded data | |
| US20050008097A1 (en) | Coded modulation scheme for a wirelesss communication system and methods thereof | |
| US7170946B2 (en) | System and method for reviving catastrophic codes | |
| US6118826A (en) | Method and apparatus for encoding/decoding QAM trellis coded data | |
| Turin | MAP decoding in channels with memory | |
| US7225392B2 (en) | Error correction trellis coding with periodically inserted known symbols | |
| US8176401B1 (en) | Decoding methods and apparatus for fractional multidimensional trellis coded modulation systems | |
| Daut et al. | Joint source/channel coding using trellis-coded CPFSK | |
| Dill et al. | A novel error-correcting codec for m-ary orthogonal modulations | |
| Jia et al. | Non-Binary Polar Codes for Pulse Position Modulation |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| AS | Assignment |
Owner name: OHIO UNIVERSITY, THE, OHIO Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:DILL, JEFFREY C.;ALDER, FRANK A.;LOPEZ-PERMOUTH, SERGIO R.;AND OTHERS;REEL/FRAME:011732/0408;SIGNING DATES FROM 20010310 TO 20010404 |
|
| FPAY | Fee payment |
Year of fee payment: 4 |
|
| FEPP | Fee payment procedure |
Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
| REMI | Maintenance fee reminder mailed | ||
| LAPS | Lapse for failure to pay maintenance fees | ||
| STCH | Information on status: patent discontinuation |
Free format text: PATENT EXPIRED DUE TO NONPAYMENT OF MAINTENANCE FEES UNDER 37 CFR 1.362 |
|
| STCH | Information on status: patent discontinuation |
Free format text: PATENT EXPIRED DUE TO NONPAYMENT OF MAINTENANCE FEES UNDER 37 CFR 1.362 |
|
| FP | Lapsed due to failure to pay maintenance fee |
Effective date: 20140307 |