CA2203899A1 - Cyclic trellis coded modulation - Google Patents

Cyclic trellis coded modulation

Info

Publication number
CA2203899A1
CA2203899A1 CA002203899A CA2203899A CA2203899A1 CA 2203899 A1 CA2203899 A1 CA 2203899A1 CA 002203899 A CA002203899 A CA 002203899A CA 2203899 A CA2203899 A CA 2203899A CA 2203899 A1 CA2203899 A1 CA 2203899A1
Authority
CA
Canada
Prior art keywords
encoder
state
output
present state
input
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.)
Abandoned
Application number
CA002203899A
Other languages
French (fr)
Inventor
Siavash M. Alamouti
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
AT&T Wireless Services Inc
Original Assignee
Individual
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Individual filed Critical Individual
Publication of CA2203899A1 publication Critical patent/CA2203899A1/en
Abandoned legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0059Convolutional codes
    • H04L1/006Trellis-coded modulation
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/23Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using convolutional codes, e.g. unit memory codes
    • H03M13/235Encoding of convolutional codes, e.g. methods or arrangements for parallel or block-wise encoding
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/25Error detection or forward error correction by signal space coding, i.e. adding redundancy in the signal constellation, e.g. Trellis Coded Modulation [TCM]
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/25Error detection or forward error correction by signal space coding, i.e. adding redundancy in the signal constellation, e.g. Trellis Coded Modulation [TCM]
    • H03M13/256Error detection or forward error correction by signal space coding, i.e. adding redundancy in the signal constellation, e.g. Trellis Coded Modulation [TCM] with trellis coding, e.g. with convolutional codes and TCM
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L27/00Modulated-carrier systems
    • H04L27/32Carrier systems characterised by combinations of two or more of the types covered by groups H04L27/02, H04L27/10, H04L27/18 or H04L27/26
    • H04L27/34Amplitude- and phase-modulated carrier systems, e.g. quadrature-amplitude modulated carrier systems
    • H04L27/3405Modifications of the signal space to increase the efficiency of transmission, e.g. reduction of the bit error rate, bandwidth, or average power
    • H04L27/3416Modifications of the signal space to increase the efficiency of transmission, e.g. reduction of the bit error rate, bandwidth, or average power in which the information is carried by both the individual signal points and the subset to which the individual points belong, e.g. using coset coding, lattice coding, or related schemes
    • H04L27/3427Modifications of the signal space to increase the efficiency of transmission, e.g. reduction of the bit error rate, bandwidth, or average power in which the information is carried by both the individual signal points and the subset to which the individual points belong, e.g. using coset coding, lattice coding, or related schemes in which the constellation is the n - fold Cartesian product of a single underlying two-dimensional constellation

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Digital Transmission Methods That Use Modulated Carrier Waves (AREA)
  • Error Detection And Correction (AREA)
  • Dc Digital Transmission (AREA)

Abstract

The use of certain 5-arylpyrazolo[4,3-d]pyrimidin-7-ones, 6-arylpyrazolo[3,4-d]pyrimidin-4-ones, 2-arylquinazolin-4-ones, 2-arylpurin-6-ones and 2-arylpyrido[3,2-d]pyrimidin-4-ones, or a pharmaceutically acceptable salt thereof, or a pharmaceutical composition containing either entity, for the manufacture of a medicament for the curative or prophylactic treatment of erectile dysfunction in a male animal, including man; a pharmaceutical composition for said treatment; and a method of said treatment of said animal with said pharmaceutical composition or with said either entity.

Description

-CYCLIC TRELLIS CODED MODULATION
Field of the Invention The present invention relates to digital communication systems, and, in particular, to forward error correction through trellis coded modulation.
Brief DescriPtion of the Related Art In recent years, much of the research and development in the communications industry has been concentrated in the area of digital signal transmission. As is well known in the art, digital signal transmission typically involves transmission of data with a carrier frequency. The carrier frequency is modulated by data so that a frequency bandwidth is occupied by the transmitted signal. The growing demand for access to data and communication services has placed a significant strain on the available bandwidth. Moreover, there is an ever increasing demand for increased data communication rates for the purpose of decreasing the data transmission time. An increase of the rate of the data typically results in an increased bandwidth requirement, placing a further strain upon the available bandwidth for transmission of signals.
In an effort to increase the data rates without sacrificing the available bandwidth, a number of increasingly sophisticated coded modulation schemes have been developed. For example, quadrature amplitude modulation (QAM) employs both amplitude and phase modulation in order to encode more data within a given frequency bandwidth. Another modulation technique involves multiple phase shift keyin~q ~MPSK) to increase data capacity within a given bandwidth. These high level modulation schemes are very sensitive to channel impairments. That is, the information encoded by means of such techniques is often lost during transmission due to noise, Rayleigh fading and other factors which are introduced over the communication medium.
In order to compensate for the increased sensitivity of these high level modulation schemes, various forward error correction coding techniques are employed. One such error coding technique is trellis coded modulation. Trellis coded modulation is desirable since it combines modulation and error coding operations to provide effective error control coding without sacrificin~q power and bandwidth efficiency. Furthermore, it has been shown that trellis coded modulation schemes perform significantly better than their uncoded equivalents with the same power and bandwidth efficiency. Trellis codes have been developed for many of the high-level, high-rate modulation schemes, including well-known 8-PSK modulation and Square 16 ~AM
modulation. However, designers of past systems have not considered providing a technique of trellis coding which applies to any phase andlor amplitude modulation scheme, as well as codes having various constraint lengths, while providing optimal or near optimal error performance.
Typically, a new set of "optimal" trellis codes must be found individually for each modulation scheme. The "optimal" trellis codes are typically found through algorithms that search all the possible trellis code structures that have simple feedback of feed-forward shift register implementations. Even a small change in system parameters, such as code constraint length, requires a search for an entirely new set of trellis codes.

W O96/17439 PCTnUS95/15388 ~2-Summarv of the Invention The present invention provides a system and method for trellis-coded modulation and demodulation of phase andlor amplitude modulated signals complying with varying signal constellations and constraint lengths, while yielding optimum or near optimum error performance. The cyclic trellis encoding method of the present invention can generate a family of trellis codes whose performance is better than or equal to so called "optimal" codes generated by other techniques. Generally, the cyclic trellis codes do not have a feed-forward or l~d bacl~ shift register implementation.
A method of cyclic trellis encoding a data sequence within an encoder is disclosed. The data sequence is to be mapped according to a predetermined modulation scheme having an associated signal constellation. The signal constellation has defined coordinate points corresponding to phase and amplitude l,h~ll IlLtl~ corresponding to output symbols from the encoder. The method comprises the step of defining an output table of output symbols. The output table has present state rows and input symbol columns. The output symbols are determined as a function of symbols input to the encoder and a present state of the encoder. The method of the present invention further comprises the step of defining the output table, which further comprises the substeps of assigning each of the output symbols to the points of the signal constellation; partitioning the points of the signal constellation into a first subset of output symbols and a second subset of output symbols; loading even ones of the present state rows with output symbols from the first subset; and loading odd ones of the present state rows with output symbols from the second subset.
The method further comprises the step of defining a next-state table of next states for the encoder. The next-state table has present state rows and input symbol columns, wherein the next states are defined as a function of symbols input to the encoder and a present state of the encoder. The method further comprises the step of defining the next-state look-up table, which further comprises the substeps of loading first ones of the present state rows with next states of the encoder until at least one of the first present state rows is full and all of the next state values have been used; and loading other ones of the present state rows with next states that are cyclicly shifted from the next states in each of the first ones of the present state rows until all of the present state rows are filled. The method of the present invention further comprises the step of implementing the output and next-state tables within the encoder so that output symbols from the encoder are determined by input symbols to the encoder and the present state of the encoder in a~ ~ . with the output table, and transitions from the present state of the encoder to the next state of the encoder are performed in accordance with the next-state table. Finally, the method comprises the step of mapping the output symbols into signals having phase and amplitude cha,dLtc\iali~s corresponding to points on the signal constellation.
In a preferred embodiment of the present invention, the coordinate points of the signal constellation are assigned output symbols according to natural mapping techniques when the predominant channel int~;f~,.l is Additive White Gaussian Noise.
In another preferred embodiment the coordinate points of the signal constellation are assigned to Wo 96/17439 PCT/US95/15388 ~3 output symbols according to Gray coding techniques when the predominant channel interference is Raylei~qh fadin~q.
In another embodiment of the present invention, a method of cyclic trellis encoding an input data sequence with an encoder is disclosed. The input data sequence is to be mapped according to a predetermined modulation scheme haviny an associated signal constellation. The signal constellation has defined coordinate points corresponding to phase and amplitude characteristics of output symbols from the encoder. The encoder receives n inputs, corresponding to 2" input values, and outputs n+1 outputs corresponding to 2~~1 output values. The encoder has 2'' possible states. The method of the present invention comprises the steps of defining an output table havin~q 2~ present state rows and 2" input symbol columns, wherein the output symbols from the encoder are determined as a function of input symbols to the encoder and a present state of the encoder; defining the output table which further comprises the substeps of assi~qnin~q values to the points of the signal constellation, where the values correspond to the output symbols; partitioning the signal constellation into a first subset of 2" output symbols and a second subset of 2" output symbols, where the first subset and second subset are symmetric; loading even ones of the present state rows with values correspondin~q to output symbols from the first subset; and loadin~q odd ones of the present state rows with values corresponding to output symbols from the second subset. The method of the present invention further comprises the step of defining a next-state table of a plurality of next states, where the next-state table has 21 present state rows and 2" input symbol columns. The next state of the encoder is determined as a function of the input symbols to the encoder and the present state of the encoder. The step of defining the next-state table further comprises the substeps of dividin~q the next states into 21n subsets wherein each subset has 2" next states; and loading a first one of the present state rows with next states from a first one of the subsets, a second one of the present state rows with the next states from a second one of the subsets, and continuing this loading until the 21-nth present state row is loaded with the next states from the 2''~th one of the subsets. The method of the present invention further comprises the steps of implementing the output and next-state tables within the encoder so that output symbols from the encoder are determined as a function of input symbols to the encoder and the present state of the encoder in accordance with the output table, and transitions from the present state of the encoder to the next state of the encoder are in accordance with the next-state table; and mapping the output symbols from the encoder into signals having phase and amplitude characteristics corresponding to ,c r ~ output symbol points on the signal constellation.
In a preferred embodiment of the invention, the coordinate points of the signal constellation are assigned output symbols according to natural mapping techniques when the predominant channel intc.
is Additive White Gaussian Noise.
In another preferred embodiment of the invention, the coordinate points of the signal constellation are assi~qned output symbols according to Gray codinq techniques when the predominant channel interference is Rayleigh fading.

CA 02203899 l997-04-28 W O96/17439 PCTrUS95/15388 Under another aspect, the present invention provides for a trellis encoder which trellis encodes input data signals, wherein the input data signals are mapped according to a modulation scheme such that a signal constellation defined by the modulation scheme cannot be set partitioned such that each level of set partitioning results in a substantially increased minimum Euclidean distance between points of the signal constellation.
Another embodiment of the present invention calls for a transmitter for a trellis-coded, multi-level modulation communication system. The transmitter comprises a cyclic trellis encoder which receives a sequence of data input symbols and outputs a sequence of encoded output symbols. The cyclic trellis encoder has a set of present states partitioned into subsets. The encoder comprises a state transition table containing a plurality of next state values for the encoder. The next state values are defined based upon the present state of the encoder and the input symbol. The next state values are assi~ned to each of the present state subsets such that the next state values for any present state subset are shifted cyclicly for successive members of the any present state subset. A present state memory element connects to the state transition look-up table and temporarily stores a next state value output by the state transition look-up table.
An encoder output look up table connects,to the present state memory element which selects an output symbol based upon the present state of the encoder and the presently received one of the input symbols.
The present states and the output values are partitioned into two subsets so that the output look-up table outputs a symbol which belongs to a first output subset when in one of the present state subsets and outputs a symbol which belongs to a second output subset when in the other of the present state subsets.
A signal mapper connects to the output look-up table, and maps outputs of the encoder output look-up table into encoded output signals from two symmetric signal constellations. Finally, a transmitter circuit transmits the encoded output signals over a communications medium.
In a preferred embodiment, the signal mapper maps according to 6ray coding techniques. In another preferred embodiment, the signal mapper maps according to natural mapping techniques.
Under another aspect, the apparatus of the present invention comprises a receiver for a trellis coded multi-level modulation communication system. The receiver comprises a trellis decoder which receives a baseband signal. The trellis decoder comprises a means for reconstructing a trellis structure defined by a state transition look-up table wherein a set of present states is partitioned into subsets having u~ ~
members, and next state values assigned to each of the present state subsets are shifted cyclicly for successive members of the present state subset. The trellis decoder further comprises a means for determining input and output symbols associated with branches of the trellis structure as defined by an encoder output look-up table. The present states and the output values are partitioned into two subsets so that the output look-up table outputs a symbol which belongs to a first output subset when in one of the present state subsets, and outputs a symbol which belongs to a second output subset when in the other of the present state subsets. The decoder also includes a calculation circuit which determines the Euclidean distances between points on a phaselamplitude coordinate system corresponding to the received signals and W O96/17439 PCTnUS95/15388 points of a phaselamplitude signal constellation corresponding to signals associated with branches on the trellis structure. Finally, the trellis decoder comprises a comparator circuit which selects the most likely path of the received signal on the trellis structure on the basis of the determined Euclidean distances.
In a further embodiment of the present invention, a method is disclosed of forward error correction coding for a data signal mapped according to a given signal constellation. The method comprises the steps of defining a family of convolutional codes. The family of convolutional codes is characterized in that the family of codes are not capable of being generated by means of a feed-forward or f~,~d bocl~ shift reyister implementation. The step of defining further comprises the substeps of establishing a next-state value corresponding to each present-statelinput-value pair; establishing an output value corresponding to each present-statelinput-value pair; receiving an input data symbol corresponding to an input value; providing an output value in response to the reception of the input value, wherein the output value is determined by the input value and the present state value, and the present state value is determined by the previous next state value; generating an output data symbol, wherein the output symbol is determined by the output value; and encoding a data signal to correspond to the output symbol as determined by a signal mapping scheme.
In accordance with a still further aspect of the present invention, a method of encoding signals mapped according to any signal constellation format comprises the steps of dividing the signal constellation points into two symmetrical sets of symbol points, and cyclic trellis encoding data to be mapped according to the signal constellation.
Under a further aspect, the present invention comprises a data encoder. the data encoder comprises a cyclic trellis encoder and a transmitter coupled to the cyclic trellis encoder.
Under a yet further aspect, the present imention comprises a trellis encoder that may be implemented as a state machine or a look-up table memory or in software, but which cannot be implemented as a shift register. In one embodiment, the cyclic trellis encoder is such as not to allow a feed-forward shift register implementation.According to a further aspect, the cyclic trellis encoder is such as not to allow a fb~d barl~ shift register implementation.
In yet a further embodiment, the present invention is a data encoder for use in data communication application, wherein a plurality of input data values are trellis encoded to form output data. The data encoder comprises an input and an encoder circuit coupled to the input. The encoder circuit has a plurality of present states, and is responsive to the plurality of input data values on the input to transition to a next state. The next states correspond to each input which is cyclicly shifted for different ones of the present states. The encoder further comprises an output coupled to the encoder circuit. The output is ,~
to the encoder circuit to generate output data.
A trellis encoder constructed in accordance with the teachings of the present invention can be adapted to trellis encode data to be mapped for signal constellations. The signal constellations can be set partitioned such that each level of set partitioning results in substantially increased minimum Euclidean distance between points of the signal constellation. The trellis encoder can also be adapted to trellis encode W O96/17439 PCTrUS95115388 data to be mapped for signal constellations which cannot be set partitioned such that each level of set partitioning results in substantially increased minimum Euclidean distance between points of the signal constellation.
Brief DescriDtion of the Drawinas Figures 1A and 1B are graphical representations of signal constellations corresponding to Square 16 QAM and 16 Star ûAM signals, respectively.
Figure 2A is an exemplary convolutional encoder circuit.
Figure 2B is a state table describing the operation of the convolutional encoder of Figure 2A.
Figure 3 is a trellis state transition diagram representing the operation of the convolutional encoder circuit of Figure 2A.
Figures 4A4C are 4-PSK siynal constellations which illustrate the method used to determine trellis path probabilities according to Euclidean distances along a trellis diagram represented in Figure 4D.
Figure 5 is a trellis set partitioning tree for a 4PSK signal r ~tP"
Figure 6iS a schematic representation of a trellis coding tree which graphically depicts the signal constellation space for a conventionally encoded Square 16 ~AM signal constellation at each level of trellis coding.
Figure 7 is a schematic representation of a trellis coding tree which graphically depicts the signal constellation space for a 16 Star ~AM signal constellation at each level of trellis coding in accordance with the method of the present invention.
Figure 8 is a simplified block diagram of a wireless communication system which employs cyclic trellis error encoding.
Figure 9 depicts a single level set partitioning of an 8-PSK si~nal constellation coded by natural coding techniques.
Figure 10 depicts a 16 state, rate 213 encoder output look-up table for any 8 level modulation scheme in AWGN environment which defines the encoder output value given the present state of the encoder and the input applied to the encoder.
Figure 11 depicts a single level set partitioning of an 8-PSK si~nal constellation coded by Gray coding techniques.
Fiyure 12 depicts a 16 state, rate 213 encoder output look-up table for any 8 level modulation scheme in Rayleigh fading environment which defines the encoder output value given the present state of the encoder and the input applied to the encoder.
Figure 13 depicts a 16 state transition table for any 8 level modulation scheme which defines the next state of the encoder given the present state of the encoder and the input to the encoder.
Figure 14 depicts a single level set partitioning of a 16 Star ûAM signal constellation coded by natural coding.
Figure 15 depicts a 16 state, rate 314 encoder output look-up table for any 16 level modulation W o 96/17439 PC~rrUS95/15388 scheme in AW6N environment which defines the encoder output value given the present state of the encoder and the input applied to the encoder.
- Figure 16 depicts a single level set partitioning of a 16 Star QAM signal constellation coded by Gray coding techniques.
Figure 17 depicts an encoder output look-up table for any 16 level modulation scheme in Raylei~qh fading environment which defines the encoder output value given the present state of the encoder and the input applied to the encoder.
Figure 18 depicts a state transition table for any 16 level modulation scheme which defines the next state of the encoder given the present state of the encoder and the input to the encoder.
Figure 19 depicts an encoder output look-up table in generalized form which defines the encoder output value given the present state of the encoder and the input applied to the encoder for any si~qnal constellation and any code constraint length, for applications in AWGN environment.
Figures 20A-20C depict a state transition table in generalized form which defines the next state of the encoder given the present state of the encoder and the input to the encoder for any signal constellation and any code constraint length.
Figure 21 is a schematic block diagram which shows the main structural and functional elements of a cyclic trellis encoder constructed in accordance with the teachings of the present invention.
Figure 22 depicts a state transition table for any 8 level modulation scheme which may be used to avoid catastrophic codes.
Detailed DescriPtion of the Invention Figures lA and lB graphically depict signal constellations for a Square 16 QAM scheme and a 16 Star QAM scheme"~ re ~ . The signal constellations depicted in Figures lA and lB are merely for exemplary purposes to illustrate different signal constellation formats such as may be commonly used in the art. The signal constellations depicted in Figures 1 A and lB are represented in polar coordinate form wherein each point of the signal c ~ ions represents the determinate phase and the amplitude of an information symbol. For example, a point labeled "Q" in Figure lB corresponds to a signal having an amplitude defined as 1 and a phase of 45~, while a point labeled "P" in Figure lB corresponds to a signal having an amplitude defined as 2 which has a phase of 90~. For this particular 16 Star QAM constellation, the inner ring of signal points are amplitude value 1 points and the outer ring of signal points are amplitude value 2 points.
Signal constellations are a convenient way to graphically depict the binary data encoded by means of various phase and amplitude modulation schemes. For example, as shown in Figures lA and lB, there is a 4-bit binary word (nsymboln) associated with each point on the 16point signal constellations. This means that a detector is configured to assign a specified data word for a detected signal having a given amplitude and phase. Thus, for example, in the 16 Star QAM constellation of Figure lB, when a detector ~or decoder) detects a signal which has an amplitude closest to 1, and which has a phase closest to 45~, the detector will assign the data word 0011 ~decimal 3) to that signal. Similarly, when a detector detects Wo 96/17439 PCr/US95115388 ~8-a signal which has an amplitude closest to 2, and which has a phase closest to 90~, the detector will assign the data word 0101 ~decimal 5) to that signal. The data assignments in Figures 1A and lB are merely exemplary. Other assignments are possible, as will be apparent from the discussion below.
To minimize the effects of additive white 6aussian noise (AWGN) as well as the effects of Rayleigh fading and other channel impairrnents, one or more error encoding techniques are used in order to provide for accurate transmission and detection of data, especially when very high level modulation schemes are employed.
TRELLIS-CODED MODULATION
Trellis coded modulation is a forward error correction coding technique which is also well known in the art. Trellis codes are convolutional codes that are designed and optimized according to a specific modulation scheme. A convolutional encoder encodes information symbols based upon the present input symbol and the state of the encoder. The present state of the encoder is determined by the symbols which previously entered the encoder. That is, the encoded symbol is a function of the present input symbol and also symbols that entered the encoder before the present input symbol. Thus, a convolutional encoder has memory.
Convolutional codes are typically implemented by shift registers and summers. The next state and the output of the encoder are functions of the present state of the register or look up table (i.e., the value of the bits presently stored within the reyister or look-up table memory), and the input to the register or look up table.
Figure 2A and the accompanying table 230 shown in Figure 2B illustrate an exemplary embodiment of a convolutional encoder 200 implemented by means of shift registers, and the corresponding state table.
The encoder 200 is simply shown here in order to illustrate the operation and implementation of a convolutional encoder, and is not to be construed as an implementation of the trellis encoder used in accordance with the present invention. The encoder 200 includes shift register memory units 205, 210, 215, as well as summers 220, 225. A one-bit input is encoded into a two bit output to provide rate 112 encoding.
Assuming an initial state of 000 li.e., the reyister units 205, 210, 215 contain bit values of 0, O, O, respectively), and an input value of 0, the next state of the encoder 200 is 000 (a zero bit value shifts in while a zero value shifts out). Consequently, the value of the two bits at the output is 00. This is represented in the first line of the state table 230 in Figure 2B. Note, however, that the present and next state columns only indicate two-bit values since the last state bit is always shifted out and is not significant in determining the next state. Thus, when moving from state to state, the encoder 200 can be considered to have four possible present states and four possible next states, each two-bit values. As another example, assume the encoder 200 to be in the present state 10 ~i.e., the first two registers contain 1,0). An input of 1 will move the encoder 200 to a next state of 11 ~i.e., the first two registers contain 1,1) and generate an output of 01 Idecimal 1). This process is repeated as each successive bit enters the encoder 200 so that a state diagram can be constructed which shows the possible state transitions of the encoder 200 with the .9.
accompanying input and output values which correspond to those transitions.
Figure 3 is a state transition diagram which indicates the possible state transitions of the encoder 200 of Figure 2, alony with the input and output values corresponding to the possible transitions. Because the state transition diagram resembles a trellis in form, such diagrams are often called trellis diagrams, hence the name "trellis coding." Each dot on the trellis diagram of Figure 3 represents a state of the encoder 200.
Dots in the same horizontal row correspond to the same state at different times. Dots in the same vertical column represent different states at the same time li.e., within the duration of the same symbol). Branches between the dots represent possible state transition paths. Thus, for example, there is a branch between the state 01 and the state 00 which indicates that, given the appropriate input, the encoder 200 could go from state 01 to state 00. Since there is no branch between states 01 and 11, nor is there a branch between the states 01 and 01, it is not possible for the encoder 200 to go from state 01 to either of the states 11 or 01 within one symbol duration.
The number pair along each of the branches depicted in Figure 3 indicate the [input, output] values which ~ ,., d to a given branch. The first number represents the input which causes the transition, while the second number represents the output value resultant upon this transition.
As seen from the trellis diagram of Figure 3, the possible state transitions for the encoder 200 are the same for each successive symbol. Thus, the same pattern repeats over and over again for each symbol duration.
As an example, assume the encoder 200 begins in the state 0 Ibinary 00), represented by a dot 300 in Figure 3. Upon application of an input value 1 to the encoder 200, the encoder 200 goes from state 0 to state 2 Ibinary 10), represented by a dot 320, via a path 310. Upon completion of the transition, the encoder 200 outputs a value 3 Ibinary 11). If the value of the next bit applied to the input is 0, then the encoder 200 transitions from state 2 to state 1, represented by a dot 340, via a path 330, while the output of the encoder 200 assumes a value of 2. Finally, upon application of an input bit of 0, the encoder 200 moves from the state 1 to the state 0, represented by a dot 360, via a path 350. Upon entering the state 0, the encoder 200 outputs a value 3. Thus, in the foregoing example, input bits 1-0-0 are encoded by the encoder 200 into output bits 11-10 11, or 3-2-3 in decimal. At the same time, the encoder 200 has transitioned from the state 0 to the state 2, to the state 1, and back to the state 0.
Maximum Likelihood Viterbi Decodin~
As further explained below, convolutional encoding land Viterbi decoding) provides for a reduced number of detected errors at the receiver. Consider again the trellis diagram of Figure 3. For example, assume that a three-bit data stream 1-0-0 is properly encoded as 11-10-11 by the encoder 200 as described above. Also suppose that the receher detects the transmitted signal erroneously as 11-11-11. In order to determine what the original transmitted data is, the decoder performs a maximum likelihood decision based upon the possible state transition paths which the encoder 200 might have taken. Since the encoder is typically set to state 0 at initialization, the decoder assumes that the detected sequence of data bits began in state 0. The decoder then examines all of the paths which began at state 0 and terminate at a state three symbols later as depicted in Figure 3 for the purpose of illustration. For instance, for an ending point at the state 0, at the point 360, there are two possible paths which the encoder may have taken: the path 310, 330, 350, or the path 370, 380, 390. Of course, all the other paths of three symbol duration are also examined to determine the likelihood that the detected bit sequence followed these possible paths, but for the sake of simplicity of illustration, only the paths from state 0 to state 0 are considered here.
In order to identify the most likely path, the decoder determines the probability that the detected data sequence was produced by the first path le.g., the path 310, 330, 350), the probability that the detected data sequence was generated by the second path le.D., the path 370, 380, 390), and so on until a probability has been calculated for each possible path. The path having the highest probability is then selected as the actual path according to either hard or soft decision methods described in greater detail below.
Typically, trellis decoding techniques calculate path probabilities based upon either Hamming or Euclidean distances between the detected signal and the signals generated by the possible trellis paths. In accordance with the teachings of the present invention, Euclidean distances are used as the measure of path probability, as discussed in greater detail below. However, in order to provide a clearer understanding of the method of determining the probability of a possible trellis path, a brief discussion of Hamming distance is also provided, Hamminq Distance IHard Decision DecodinD) Hamming distance is defined as the number of bits by which two binary sequences differ. For example, the hammin~q distance between the binary words 110 and 101 is two, while the hamming distance between the binary words 111 and 011 is one, etc. Based upon a Hamming distance evaluation of the possible paths, the probability that a given path has generated a detected data sequence can be determined as follows. Assuming, as stated above, that the detected data sequence is 11-11-11 (with a proper data sequence of 11-10-11), and the possible paths are the paths 310, 330, 350 and 370, 380, 390, the Hammina distance between the detected signal 11 -11 -11 and the path 310, 330, 350 is 1. That is, because the path 310 generates an output of 3 111), the path 330 9 dtes an output of 2 110), and the path 350 generates an output of 3 111), the binary sequence generated by the path 310, 330, 350 is 11-10 11. This sequence differs from the detected sequence 11-11-11 by a Hammin distance of 1. The Hammin distance between the detected signal 11-11-11 and the signal generated by the path 370, 380, 390 is 6 since the path 370, 380, 390 results in an output binary sequence of 00-00-00. Thus, it is much more likely that the detected sequence 11-11-11 was generated by the path 310, 330, 350, than by the path 370, 380, 390.
Therefore, it is more likely that the sequence of input bits is 1-0 0.
Euclidean Distance (Soft Decision DecodinD) Another measure of the probability that a given path has g at~d a binary sequence is based upon Euclidean distance. Euclidean distance is the length of a straight line between points on a signal Wo 96/17439 PCT/US95/15388 constellation. In aeneral, probability measures based upon Euclidean distances exhibit better accuracy than probability measures based upon Hammin~q distance. This is because probability measurements based upon Euclidean distance take into account the received si~nal phase and amplitude information which is discarded when usinq Hammin~ distance as a probability metric. For example, Fiqures 4A4D illustrate a simple 4-PSK
modulation si~qnal constellation havina four defined points 400, 410, 420, 430 equidistant from the ori~in and correspondinq to output values 00, 01, 10, and 11, respectively. Suppose a sequence of received data symbols are detected to have phase and amplitude values which are represented by the vectors r1-r3 in Fi~qures 4A4C. Usin~q conventional Hamming decodin~ techniques, the vectors r1-r3 would simply be approximated as the data points 00, 10, and 00, respectively, so that valuable phase and amplitude information is lost about the actually detected si~qnal sequence. In accordance with Euclidean techniques, however, the phase and amplitude of the received si~qnal are factored into the determination of the path probability.
As shown in Fi~qure 4D, the probability that the detected si~qnal has been aenerated by the trellis path represented by the dashed line 450 is a decreasin~q function of the sum of the squares of the Euclidean distances dO1, dO2, and dO3 (depicted in Fiaures 4A4C), while the probability that the detected si~qnal has been ~ dtLd by the trellis path represented by the dashedldotted line 470 is a function of the sum of the squares of the Euclidean distances d31, d22, and d33. The areater the sum of the squares of the Euclidian distances alon~q a aiven path, the less likely that path is to be the one which a dtLd the detected signal sequence. In this manner, a more accurate estimation of the transmitted data sequence can be obtained.
It should be understood, of course, that as the number of points in the si~qnal constellation li.e., the number of possible output values~ and the number of states in the trellis encoder increase, the number of possible trellis paths increases as well. Thus, for example, a rate 314 trellis encoder which operates in conjunction with a 16 point constellation will have 8 possible branches meryin~q into and diver~qinp out of each state ~represented by a point~ on the trellis state transition diaaram. In these systems, the probability associated with each path mer~qin~q into a state point is determined. Once these probabilities have been compared, the path with the highest probability is determined and the correspondina data bits in that path are selected as the decoded sequences.
Block and Svmbol-Bv-Svmbol Decodina Methods The selection of a aiven path may be made in accordance with block or symbol-by-symbol decision methods. In the case of a block decision, a predetermined number of received signals formina a set le.~q., 1,000 symbols) are fed into the decoder. The decoder then starts with the first sianal and constructs a trellis with ass~ a~d metrics and path histories for the whole set of 1,000 symbols. The trellis transition path that is most probable is then selected as the path which ~e dtLd the detected symbols. The data input which would have 5 dtLd this path is then determined as the decoded data sequence. Absent any uncorrected errors, this data sequence should correspond to the data sequence fed into the encoder on the transmitter side of the communication system. The process is then repeated with the next block of symbols, -W O 96/17439 PCTrUS95/15388 ~12-and so on.
For symbol-by-symbol decisions, a predetermined number of received signals are fed into the decoder.
For example, assume 25 signals are fed into the decoder. Once the 25th symbol is entered, the trellis decoder determines what path was most probable. The input symbol which would have generated the first branch of the most probable path is then selected as the output of the decoder. The next (e.g., the 26th) received signal is then fed into the decoder and another determination is made of the most probable path for the last 25 symbols (i.e., excluding the first symbol). The input symbol which would have generated the first branch of the most probable path li.e., the path for the most recently detected 25 symbols) is then selected as the next output of the decoder. This procedure is carried on symbol-by-symbol in real time so that only one symbol at a time is decoded for output as opposed to an entire block of data at a time.
Maximizinn Euclidean Distance in Trellis Codinn Gottfried Ungerboeck, in a paper entitled "Channel Coding with MultilevellPhase Signals," published January, 1982 in IEEE TRANSACTIONS ON INFORMATION THEORY, Vol. IT-28, No. 1, and herein incorporated by ~.,h,.. ~ e. argued that error performance of convolutional codes could be improved if designed by maximizing the Euclidean distances between trellis paths which merge into and out of the same state.
This is accomplished by tailoring the convolutional codin~ scheme to the sipnal constellation of a given modulation technique so that the operations of error coding and modulation are essentially combined.
Take as a simple example a 4-PSK signal constellation as shown in Figure 5. The possible outputs of the trellis encoder on the transmitter side are represented as four points which are phase shifted from one another by phase differences of 90~. In any trellis coding scheme the possible output values, as represented in the signal constellation, as well as the states of the trellis decoder are both considered. In order to provide the maximum distinction between encoded si~qnals, so as to allow for more accurate decoding, it is advantageous to assure that transitions to and from the same state differ greatly in their output values (in terms of their Euclidean distances). For example, the trellis diagram of Figure 3, which may, for example, describe state transitions for the 4 PSK signal constellation of Figure 5, has the branches 370, 310 diverging from the same state point 300. Note that the output value for the state transition branch 310 is 3, and the output value for the state transition branch 370 is 0. In accordance with the Ungerboeck teaching, these two output values differ by the maximum Euclidean distance (i.e., a Euclidean distance of /\-2 as represented in Figure 5). In a similar way, state transitions resulting in the same output values are assigned as transitions between two different states. Note, for instance, that the transition path 310 which results in an output value of 3 advances from state 00 to state 10, while a transition path 395 which also results in an output value of 3, advances from state 01 to state 00. The Ungerboeck method thus assures good discrimination between the encoded data signals.
The most common method of trellis encoding in e~r,~ d -e with U ~ b~ ''s teachings is set partitioning, of which a simple example is shown in Figure 5. By partitioning the original 4-PSK signal into two sets of diametrically opposed 2-PSK signals based upon the state of the trellis encoder, the maximum WO g6/17439 PCrlUS95/15388 ~13-Euclidean distance can be maintained between outputs merging into or divergin~q out of the same state. Such set partitioning dia~qrams are commonly referred to as trellis coding trees.
Figure 6 graphically represents a trellis codin~q tree for set partitioning a more complicated Square 16tlAM signal constellation by the Ungerboeck method, which is well known in the art. As shown in Figure 6, a complex signal constellation is broken up into subsets. It is a requirement of Ungerboeck's set partitioning method that the minimum Euclidean distances measured between any of the points on the subset constellations exceed the minimum Euclidean distance between points on the constellation from which the subsets are derived. Thus, for example, as shown in Fi~qure 6, the minimum Euclidean distance between any two points on the original constellation at the top of the trellis coding tree is less than the minimum Euclidean distance between any points of the constellation shown in subsets Bo or Bl. In like fashion, the minimum Euclidean distances between any two points on the constellation subsets C" and C2 is greater than the minimum Euclidean distance between any two points in the subset Bo~ and so on. As detailed above, an increased minimum Euclidean distance between any two points in a signal constellation insures that the probability of mistakin~q similar encoder output sequences is minimized. The error performance of the coded scheme is a function of the minimum Euclidean distance between any two given paths. To reduce the probability of error, the minimum Euclidean distance must be increased.
Difficultv of Set Partitionino Certain Sinnal Constellations Unlike the Square 16 IIAM signal constellation, the 16 Star IIAM signal constellation does not allow for division into subsets such that the minimum Euclidean distance between points increases significantly for each level of partitioning. Figure 7 illustrates the difficulty of set partitioning the 16 Star llAM signal constellation. For the first level of set partitioning there is no difficulty; the constellation divides symmetrically, and the minimum Euclidean distance between the point on the first subset is considerably greater than the minimum Euclidean distance between the points on the original constellation. However, at the second level of set partitionin~q, the minimum Euclidean distances are substantially the same as at the first level of set partitioning. Due to this ch~ .tl.. iati~. of the 16 Star OAM signal constellation, it has been thou~qht that it is not possible to eflc ~ trellis code a 16 Star llAM signal using conventional Ungerboeck coding techniques.
The present invention includes a specially designed trellis encoderldecoder within a transmitlreceive communications system which solves the problems associated with the set partitionin~q of the 16 Star QAM
constellation. The encoderldecoder is constructed to encode according to an inventive method called cyclic trellis coding which has been found to work advantageously for signal constellations such as 16 Star ~lAM
or any arbitrary signal constellation. Cyclic trellis coding is described in detail below.
CYCLIC TRELLIS COOING
Cyclic trellis coding in accordance with the present invention involves a method of error encoding which may be adapted to the 16 Star OAM si~qnal constellation. In addition, cyclic trellis coding according to the present invention can be applied to modulation schemes with any signal constellation that can be WO 96/17439 PCr/US95/15388 ~14-partitioned into two symmetric subsets. Moreover, it has been verified that error performance of a system using cyclic trellis coding, together with a 16 level modulation scheme, is as good or better than systems employing the previously used Ungerboeck codes for trellis encoders havin~q up to 16 states.
The main criteria for the design of cyclic trellis codes is to maximize the distance between the output signals on the branches of a trellis merging into or out of the same state, and to have a regular code structure so that codes of varying constraint length and modulation can be constructed without extensive searches. The cyclic trellis codes have very predictable and regular distance profiles. Cyclic trellis codes are also systematic codes. That is, the first n bits of the n+1-bit encoded output symbol are identical to the corresponding n bit symbol input into the encoder.
S;mPIjfjed CYCIjC Trellis Codina Communication Svstem Figure 8 depicts a simplified block diagram showing the main functional elements of a communication system 800 which employs cyclic trellis coding in accordance with the teachings of the present invention. As will be appreciated by those of ordinary skill in the art, the system 800 depicted in Figure 8 is highly simplified and does not show block interleaving elements, synchronization insertion and detection elements, filtering elements, and other elements which are typically associated with digital communication systems. The system 800 includes a cyclic trellis encoder 810 which couples to a transmitter 830. The transmitter 830 transmits radio frequency (RF~ signals over an antenna 840. The RF signals are is received via a communication channel by an antenna 850 which passes the signals to a receiver 860. The receiver connects to a cyclic trellis decoder 870.
In Q, dt- l, the cyclic trellis coding system 800 receives data which is to be encoded. The data is then cyclicly encoded within the encoder 810 according to the method described with reference to Figures 13 15 below. Once the data has been encoded, the encoder 810 then maps the encoded data into the appropriate signal constellation by introducing the appropriate phase and amplitude ~laU :- - in the signal to encode the signal according to a particular modulation scheme ~e.g., 8-PSK, 16 Star QAM, etc.). Once the signal is mapped, the signal is communicated to the transmitter 830, which transmits the signal over the communication channel via the antenna 840. The antenna 850 receives the signal; the receiver 860 detects the signal on the carrier and outputs the detected signal at the baseband level. Finally, the cyclic trellis decoder 870 decodes the received baseband signal and outputs data corresponding to the data input at the transmitter side.
Method of CYCIjC Trellis Encodinn To cyclic trellis encode a signal in accordance with the present invention, the signal ~
is first partitioned into two sets. This is the same as dividing the possible outputs of the encoder into two sets of output values. The sets into which the output symbols are partitioned depend upon the particular mapping scheme. The mapping scheme which is used depends upon the particular application of the communication system. For applications involving mobile radio communications chd(dcl~ ;d by Rician or Rayleigh fading, the signal mapping, and hence the set partitioning, is performed according to Gray coding.

WO g6/17439 Pcrlussslls388 ~15-For wireline applications, or any other applications, where the primary channel impairment is that of AW6N, the signal mapping, and hence the set partitioning, is performed according to natural mappina.
The possible states of the encoder are also divided into a number of sets. The output and state partitioning is most readily represented in table form. Because a trellis code is entirely determined by five factors li.e., the input, the present state, the next state, the output, and the signal mapping) a trellis code can be wholly represented by two tables, and a signal mapper. The first table represents the encoder output as a function of the present state of the encoder and the input applied to the encoder. The second table l~r es~ ls the next state of the encoder as a function of the present state of the encoder and the input applied to the encoder. The signal mapper determines the coordinates of the output symbols in the signal constellation. For the sake of clarity, because the method of cyclic trellis coding is somewhat universal, the following description proceeds inductively with the presentation of specific examples followed by a summary of the universal method of the present invention.
16 State Cl~clic Trellis Code for 8-PSK Sianals in AWGN
Figure 9 depicts a one level partitioned 8-PSK signal constellation with natural mapping for AWGN
applications. As stated above, applications wherein AWGN is the primary channel impairment require that the output table be defined in accordance with a naturally mapped signal constellation. In natural mapping a reference point is chosen on the signal constellation and it is assigned to symbol 0. The remaining signals are then numbered consecutively around the constellation.
The tables shown in Figures 10 and 13 define the rate 2/3, 16 state cyclic trellis code for 8 PSK
signals in AWGN. A generalized version of such an encoder is shown below, and described in detail with reference to Figure 21. Figure 10 depicts an encoder output look up table which defines the encoder output value given the present state of the encoder and the input applied to the encoder. Figure 13 depicts a next state look up table which defines the next state of the encoder given the present state of the encoder and the input applied to the encoder. Since, in the present example, the encoder is a rate 213 encoder there are two input bits and three output bits corresponding to four possible input values and eight possible output values as depicted in Figure 10. Thus, for example, when an input of 2 (binary 10) is applied to a cyclic trellis encoder presently in the state 9 Ibinary 1001), the encoder outputs a value of 5 (binary 101). That is to say, the encoder encodes the output symbol such that the symbol is mapped onto the point having a value of 5 on the natural-coded 8 PSK signal constellation. Once the symbol corresponding to a value of 5 is output from the encoder, the encoder moves from the state 9 to the state 4, as represented in the table of Figure 13.
As stated above, the cyclic trellis encoding method of the present invention is used to encode signals as defined by the tables shown in Figures 10 and 13. First, the possible output values of the encoder are p~ d into two sets wherein the first set comprises all of the output values of the subset A Isee Figure 9), and the second set comprises all of the output values of the subset B IFigure 9). Thus, in accordance with natural mapping, the first set comprises all of the even output values and the second set W O96/17439 PCTnUS95/15388 comprises all of the odd output values. For each even present state value, an even output value is generated upon application of an input value, such that input values in ascending order (i.e., O, 1, 2, 3) generate even output values in ascending order (i.e., O, 2, 4, 6~. In like fashion, for each odd present state value, an odd output value is generated upon application of an input value, such that input values in ascending order (i.e., O, 1, 2, 3) generate odd output values in ascending order (i.e., 1, 3, 5, 7). This form carries through each of the present state values, as represented in Figure 10.
16 State Cvclic Trellis Code for 8-PSK Sionals in Ravleiah Fadina Figure 11 depicts a one level partitioned 8-PSK signal constellation with Gray-coded mapping for Rayleigh fading applications. As stated above, for wireless communications applications, the mapping scheme is that of Gray coding. As is well known in the art, Gray coding is a method whereby signal constellation points are assigned binary data values such that the Euclidean distances between points in adjacent signal constellations correspond to a Hamming distance of one.
The tables shown in Figures 12 and 13 define the rate 213, 16-state cyclic trellis code for 8-PSK
signals in Rayleigh fading. Figure 12 depicts an encoder output look-up table which defines the encoder output value given the present state of the encoder and the input applied to the encoder. Since, in the present example, the encoder is a rate 213 encoder there are two input bits and three output bits corresponding to four possible input values and eight possible output values as depicted in Figure 12. Thus, for example, when an input of 2 (binary 10) is applied to a cyclic trellis encoder presently in the state 9 (binary 1001), the encoder outputs a value of 4 (binary 100). That is to say, the encoder encodes the output symbol such that the symbol is mapped onto the point having a value of 4 on the Gray-coded 8-PSK
signal constellation. Once the symbol corresponding to a value of 4 is output from the encoder, the encoder moves from the state 9 to the state 4, as represented in the table of Figure 13.As stated above, the cyclic trellis encoding method of the present invention is used to encode signals as defined by the tables shown in Figures 12 and 13. First, the possible output values of the encoder are partitioned into two sets wherein the first set comprises all of the output values of the subset A (see Figure 11), and the second set comprises all of the output values of the subset B (Figure 11). Thus, for even present states (i.e., O, 2, 4, ...14), in accordance with Gray-coded mapping, an output value is generated upon application of an input value such that input values in ascending order (i.e., O, 1, 2, 3) generate the output values from the subset A in ascending order (i.e., O, 3, 5, 6). In like fashion, for each odd present state value, an output value is generated upon application of an input value, such that input values in ascending order (i.e., O, 1, 2, 3) generate output values from the subset B in ascending order (i.e., 1, 2, 4, 7).
When the output value is generated by the encoder as defined by the output look-up table of either Figure 10 or 12 (as called for by the specific application), the encoder goes to the next state as defined by the state transition or next-state look-up table of Figure 13. Although the form of the output look-up table is dependent upon the specific application (i.e., either AWGN or Rayleigh fading applications), the next-state Wo 96117439 PCTtUS95/15388 ~17-look-up table of Figure 13 does not depend upon the predominant channel impairment. The table of Figure 13 is defined by filling up the rows of the next-state table in ascending order until the last next-state value is placed. Thus, in the table of Figure 13, the first row is filled from O to 3, the second row is filled from 4 to 7, the third row is filled from 8 to 11, and the fourth row is filled from 12 to 15. The entire pattern is then repeated with one modification: each row is cyclicly shifted by one place, so that the last value in the row becomes the first, and the other values retain their order but are shifted to the right by one space.
Once all 16 states have been used li.e., the next four rows have been filled), the pattern repeats again so that the last value is taken from the second set of four rows and is placed in the first position while each of the other values is shifted over by one place. This procedure is repeated until all of the present state value rows have been defined. Once the next-state look-up table has been defined, the table can be implemented within an encoder, as described in more detail below, by means of look-up table read only memories IROMs), software, or other means as called for by the particular application.
16 State Cvclic Trellis Code for 16 Star QAM Sianals in AWGN
Figure 14 depicts a one level partitioned 16 Star QAM signal constellation with natural mapping for AWGN applications. Output and next-state tables to define a cyclic trellis encoder for coding of a 16 Star QAM signal in AWGN are depicted in Figures 15 and 18. The table shown in Figure 15 presents the output values as a function of the input and the present state values, while the table shown in Fiqure 18 presents the next-state values as a function of the input and present state values.
In accordance with the teachings of the present invention, a rate 314 cyclic trellis encoder for encoding a 16 Star QAM signal in AWGN partitions the output values into two sets, as represented in the table of Figure 15. As is well known in the art, a rate 314 trellis encoder receives 3 input lines IcDn, ~ dinq to 8 possible input values) and generates outputs on four lines Icorresponding to 16 possible output values). For this particular embodiment of the present invention, it has been found that a 16 state encoder is advantageous, so that there are 16 present state values and 16 next-state values. As shown in the tabb of Figure 15, each of the even present state values generates an output value from the subset A
Isee Figure 14) upon the application of an input value. Similarly, each of the odd present state values generates an output value from the subset B IFigure 14) upon the application of an input value. Thus, in accordance with natural mapping, for each even present state value, an even output value is ~ aILd upon application of an input value, such that input values in ascending order li.e., O, 1, 2, ..., 6, 7) qenerate even output values in ascending order li.e., O, 2, 4, .. , 12, 14). In like fashion, for each odd present state value, an odd output value is generated upon application of an input value, such that input values in ascending order li.e., O, 1, 2, ..., 6, 7) generate odd output values in ascending order li.e., 1, 3, 5, ..., 13, 15). For example, if the trellis encoder is presently in state 7 Ibinary 0111) and an input of 4 Ibinary 0100) is applied, the output value produced by the encoder will be 9 (binary 1001).
16 State Cvclic Trellis Code for 16 Star QAM Sianals in Ravleiqh Fadinq Figure 16 depicts a one level partitioned 16 Star QAM signal constellation with Gray-coded mapping WO 96/17439 PCTtUS95/15388 ~18-for Rayleigh fading applications. Output and next-state tables to define a tyclic trellis encoder for coding of a 16 Star QAM sianal in Rayleigh fading are depicted in Figures 17 and 18. The table shown in Figure 17 presents the output values as a function of the input and the present state values.
In accordance with the teachings of the present invention, a rate 314 cyclic trellis encoder for encoding a 16 Star QAM signal in Rayleigh fading partitions the output values into two sets, as represented in the table of Figure 17. Each of the even present state values generates an output value from the subset A ~see Fiaure 17) upon the application of an input value. Similarly, each of the odd present state values b dl~5 an output value from the subset B ~Figure 17) upon the application of an input value. Thus, in accordance with Gray-coded mapping, for each even present state value, an output value from the subset A is generated upon application of an input value, such that input values in ascending order ~i.e., O, 1, 2, ..., 6, 7) generate output values from the subset A in ascending order ~i.e., O, 3, 5, 6, 9, 10, 12, 15). In like fashion, for each odd present state value, an output value from the subset B is generated upon application of an input value, such that input values in ascending order ~i.e., O, 1, 2,..., 6, 7) generate output values from the subset B in ascending order ~i.e., 1, 2, 4, 7, 8, 11, 13, 14). Thus, for example, if the trellis encoder is presently in state 7 ~binary 0111) and an input of 4 Ibinary 0100) is applied, the output value produced by the encoder will be 8 ~binary 1000).
The table of Figure 18 represents the next state of a 314 cyclic trellis encoder as a function of the input and present state values. Although the output table for the 16 Star QAM signal constellation encoder depends upon whether the communication system is to be used in an AWGN environment or a Rayleigh fading environment, the form of the next state look-up table does not change due to the predominant channel impairment. As shown in Fiaure 18, the next state value is partitioned into multiple sets. That is, the first eight next-state values ~0-7) are assigned, in order, to the first present state value, while the next eight next-state values ~8-15) are assigned, in order, to the second present state value. The first eight next-state values are then assigned again to the third present state value, but this time not in order from O to 7.
Rather, the order is 7, O, 1, 2, 3, 4, 5, 6. Thus, the third next-state row is like the first next-state row, but cyclicly shifted to the right. This pattern is repeated between the fourth and second rows with the 15 being shifted into the first position while the 14 is shifted into the last position of the row. Stated in ~aeneral form, every next state row takes the last value from the row immediately preceding the previous next-state row and places this value in the first position while shifting the other values over by one position.
This procedure is repeated until an entire next-state table is defined. Generally, the cyclic trellis codes of the present invention do not have a feed-forward or lo~d b ~rlr shift register implementation. However, as is well known in the art, an encoder defined by the tables in Figures 15 or 17, and 18 may be implemented as a look-up table, or some other inputloutput state machine circuit.
Cvclic Trellis Codina For AnY Sianal Constellation Specific examples detailing the method of cyclic trellis coding the 8-PSK signal constellation and the 16 Star QAM signal constellation have been described above. The following description sets forth the WO 96/17439 PCI/US95/lS388 general method used for cyclic trellis encoding data mapped into any signal constellation. As detailed in the examples above, the form of the output look-up table for any cyclic trellis coded signal constellation varies depending upon the predominant channel impairment. Thus, if AW6N is the predominant impairment, then natural coding of the signal constellation will be used to determine the output look-up table, while if Rayleigh fading is the predominant impairment, then Gray coding of the si~qnal constellation will be used to determine the output look-up table. The form of the next-state look-up table does not vary with the predominant channel impairment so that the form of the next-state look-up table will be the same for either application.
Given a cyclic trellis encoder which receives n input bits at a time and encodes these into n+1 output bits at a time, there are 2" possible input values and 2n~1 possible output values. Further, the number of states of the trellis encoder can be generally expressed as 2'' states, where k can be any positive integer.
Thus, according to this formulation, a cyclic trellis encoder can be represented by tables llike those described above for 8-PSK and 16 Star ~AM signal constellations) having 2" input values, 2n~1 output values, and 21 present state and next-state values. Therefore, the output table and the next state table have 21 rows and 2" columns.
The first step in defining a generalized encoder output table is to partition the set of 2nt1 output values into two sets. The elements in each set will depend upon whether the table is defined for AWGN
applications or Rayleigh fading applications. The following description is with reference to AWGN applications where natural mapping of the signal constellation is employed. A brief description of the generalized method of defining the output look-up table for Rayleigh fading applications is provided after the detailed description of the method of defining the output look-up table for AWGN applications.
For AWGN applications, the signal constellation is mapped according to natural mapping. Once the signal constellation has been partitioned, in conjunction with natural mapping of the constellation, the first subset contains all of the even output values and the second subset contains all of the odd output values.
The first set is then placed in ascending order (i.e., 0, 2, 4, ..., 2n~1-4, 2n~1-2) in all of the even present state rows. The second set is placed in ascending order (i.e., 1, 3, 5, .. , 2n~1-3, 2n~1-1) in all of the odd present state rows. Such a generalized output table is r a, . l~ ' in Figure 19. The output table shown in Figure 19 may, for example, be implemented within a cyclic trellis encoder by means of a ROM look-up table, or a software look-up table, as will be described in greater detail below with reference to Figure 21.
If the output look-up table is to be defined for Rayleigh fading applications, then the signal constellation is Gray coded. The signal constellation is then partitioned into two symmetrical subsets, A and B. The elements of the output table for even present states are those from subset A in ascending order, while the elements of the output table for the odd present states are those from the subset B in ascending order.
The form of the state transition table is the same for either AW6N applications or Rayleigh fading applications. Defining a state transition, or next-state table involves partitioning the set of 21 present state values into m present state sets, where m equals 2l12" ~i.e., m-2ln, which is the ratio between the number W O96/17439 PCTnUS95115388 ~20 of states and the number of input values). For the present example, only the case where m is greater than or equal to one is explained. Thus, the first present state set, S0, contains the present state values {0, m, 2m, ..., l2n-1~m}, the second present state set, S1, contains the present state values {1, m+1, 2m+1, ....
(2n-1)m+1}, and so on until the last set, S"," which contains the present state values {m-1, 2m-1, (2R-1)m+m-1}. For ease of illustration, Figures 20A-20C illustrate state transition tables for each of the sets So-S",1- It should be understood, however, that the state transition tables depicted in Figures 20A-20C could be combined into one single state transition table, such as represented in Figures 10 and 15, which may be implemented within a cyclic trellis encoder by means of a software realized look-up table, a ROM look-up table, or other inputloutput state circuitry.
In the table depicted in Figure 20A, the rows of the state transition table correspond to the present state values in the first present state set S~. In the first row (i.e., the row corresponding to the present state 0), the first 2" next-state values are assigned in ascending order from 0 to 2n 1. In the second row of the table of Figure 20A (i.e., the row corresponding to the present state value m), the same next-state values are assigned for each input value. However, in row m, a cyclic shift has been performed so that the last value from row 0 is placed in the first position of row m, while each of the remaining values are then placed in ascending order, from 0 to 2n-2, for the remainder of row m. Another shift is performed for the next row in Figure 20A (i.e., the row corresponding to the present state value 2m), so that the next-state values in the row 2m are 2n-2, 2n-1, 0, 1, 2,..., 2n-3. In this manner a cyclic shift is performed every row of Figure 20A (i.e., every mth present state value) until the last present state value in the set SO is reached.
A similar procedure is used to define the tables of Figures 20B and 20C. In the table depicted in Figure 20B, the rows of the state transition table correspond to the present state values in the second present state set S1. In the first row (i.e., the row corresponding to the present state 1), the second 2"
next-state values are assigned in ascending order from 2" to 2n~1-1. In the second row of the table of Figure 20B (i.e., the row corresponding to the present state value m+1~, the same next state values are assigned for each input value. However, in row m+1, a cyclic shift has been performed so that the last value from row 1 is placed in the first position of row m+1, while each of the remainin~ values are then placed in ascending order, from 2" to 2n~1-2, for the remainder of row m+1. Another shift is performed for the next row in Figure 20B (i.e., the row correspondin~q to the present state value 2m+1~, so that the next-state values in the row 2m+1 are 2n~1-2, 2n~1-1, 2n, 2n~1+1, 2n~1+2,..., 2n~1 3. In this manner a cyclic shift is performed every row of Fi~qure 20B (i.e., every mth present state value) until the last present state value in the set S1 is reached.
Figure 20C depicts a table which generally defines the state transitions for the ith set of present state values, Sj. In the first row (i.e., the row corresponding to the present state i), the i+ 1th 2" next-state values are assi~qned in ascending order from 2n~i1 to 2n~i-1. In the second row of the table of Figure 20C
(i.e., the row corresponding to the present state value m+i), the same next state values are assigned for each input value. However, in row m+i, a cyclic shift has been performed so that the last value from row i is wo 96/17439 Pcrluss5ll5388 placed in the first position of row m+i, while each of the remaining values are then placed in ascending order, from 2n~ to 2'~i-2, for the remainder of row m+i. Another shift is performed for the next row in Figure 20C li.e., the row corresponding to the present state value 2m+i), so that the next-state values in the row 2m+i are 2n~i-2, 2n~i-1, 2n~i, 2n~i+1, 2n~i~2,..., 2n~i-3. In this manner a cyclic shift is performed every row of Figure 20C ~i.e., every mth present state value) until the last present state value in the set S
is reached.
The foregoing description of the construction of the state transition tables of Figures 20A-20C has assumed that the ratio between the number of state values of the encoder and the number of input values of the encoder is greater than or equal to one ~i.e., m>-1). If, however, there are more possible input values than encoder states, the following procedure should be followed to cyclicly trellis encode the incoming data signal.
The first present state row is filled by placing the next-state values in ascending order beginning at the first input value column until all of the next-state values have been placed. Since there are more input values than next-state values, the next-state values will not fill the entire first row. Thus, the next-state values are again placed in the first row in ascendin~q order. This process is repeated until the entire first row is filled. Because the number of next-state and input values can only be a power of two, the entire set of next-state values will fit an even number of times into the first row of the state transition table so that there is no spill over into the next row. Once the first row has been filled, the second row is defined by performing a cyclic shift of the first row. The third row is defined by performing a cyclic shift on the second row, etc., until all of the rows have been filled within the state transition look-up table.
According to the above procedure, an entire next-state table is constructed which defines every next-state value as a function of the input value and the present state value. According to this method the constructed encoder output and next-state tables are general enough to be applied to any signal constellation.
As indicated above, the codes generated by the above-described method of cyclic trellis codin~q have been found not to have a feed-forward or f~.,d bacl~ shift register implementation. The tables may be implemented within a cyclic convolutional encoder as look-up tables, as described in detail below.
ProPerties of Cvclic Trellis Codes It will be appreciated by those of ordinary skill in the art that signals coded according to the above-described technique have certain advantageous properties which provide for optimal or near optimal discrimination amon~qst signals output from the cyclic trellis encoder 810.
For instance, trellis state transition structures will have the minimum number of two branch paths for state transitions which originate out of one state and merge back into the same state. For example, the 16 Star ~AM signal which is cyclic trellis encoded will have only four state transition paths which originate from the state zero and merge back into the state zero within two transitions ~i.e., the paths from state O
to state O and again to state O; O to 2 back to 0; 0 to 4 back to 0; and O to 6 back to 0).
Another advantageous property of cyclic trellis codes is that such codes provide maximal or near Wo 96/17439 PCr/US95/15388 ~22-maximal spacin~q between outputs on state transition paths which oriqinate from one state and mer~qe into the same state.
An additional advantageous property of cyclic trellis codes is that such codes can be constructed in a very short period of time for signal constellations of virtually any form. Typically, a cyclic trellis code can be constructed in a matter of minutes for most signal constellations while conventional simulation techniques for generatinq trellis codes take weeks or months by means of iterative computer searches. Thus, the cyclic trellis encoding technique of the present invention offers many si~nificant advantages over the prior systems and methods which ~enerate or employ trellis codes.
The Cvclic Trellis Encoder Fi~qure 21 is a schematic block diagram which shows the main structural elements of the ~qeneral cyclic trellis encoder 810 c ~ d in accordance with the teachings of the present invention. The encoder 810 includes a state transition look-up table 1500, which may, for example, be fabricated from a ROM IC
chip, or realized in software or other inputloutput state machine circuitry. A next state output of the state transition look-up table 1500 connects to a memory element 1510 via a line 1505. The memory element 1510 may, in one embodiment, be implemented as a series of D-flip flops. The output of the memory element 1510 connects to a present state input of the state transition look-up table 1500 via a line 1515 and to a present state input of an output look-up table 1520 via a line 1525. The output look-up table 1520 connects to a signal mapping look-up table 1530 via a line 1535. The state transition look-up table 1500 and the output look-up table 1520 receive n-bit input symbols via lines 1540, 1545, respectively, while the output of the signal mapping look-up table 1530 serves as the n+1 bit output of the cyclic trellis encoder 810.
In operation, the n-bit input symbol enters the state transition look-up table 1500. In addition, the k-bit present state of the encoder, which is supplied by the memory element 1510, is applied to the present state input of the state transition look-up table 1500. Given the k-bit present state and the n-bit input si~qnal, the state transition table 1500 outputs a next-state value over the line 1505. The state transition look-up table 1500 is implemented so that the next-state value ~qenerated by the state transition look-up table 1500 is determined in accordance with the next-state tables of Fi~qures 20A-20C.The next-state value enters the memory element 1510 where the next-state value is stored for one input cycle. That is, upon application of the next n-bit input si~qnal, the next-state value which was applied to the input of the memory element 1510 is passed to the output of the memory element 1510. Thus, the output of the memory element 1510 corresponds to the present state of the trellis encoder 810.
The present state value at the output of the memory element 1510 is applied to the inputs of both the state transition look-up table 1500 and the encoder output look-up table 1520. The output look-up table 1520 receives the present state input via the line 1525 and the input symbol via the line 1545, and ~ dte.~ an encoded n+1-bit output symbol. For applications in AWGN, the output table 1520 is implemented so that the output value ~qenerated by the output look-up table 1520 is determined in accordance Wo 96/17439 PCrlUS95115388 ~23-with the output table of Fiqure 19. For applications in Raylei~qh fading, the output table will be determined by the particular signal constellation and the well known method of 6ray codiny.The output value is then applied to the signal mappinp look-up table 1530 via the line 1535. The siqnal mapping look-up table 1530 assiqns each of the 2n~' possible output values to a point on the 2 point si~nal coostellation in accordance with natural or Gray codin~q, dependinq on the application.
Cvclic Trellis Decoder As will be appreciated by one of ordinary skill in the art, a decoder le.~., the decoder 870 of Fiqure 8) for decodin~q data encoded by means of the above described encoder may be easily realized as a Viterbi decoder. Conventional Viterbi decoders decode the received data stream in accordance with the soft decision Viterbi decodin~q methods described, given the form of the output look-up table 1520, the state transition look-up table 1500, the si~qnal mapping look-up table 1530.
Briefly, the trellis decoder 870 includes a memory circuit which contains information from the state transition table 1500 concernin~q the trellis branches (i.e., the state transition paths) which merge into and out of each state. The decoder 870 also includes a memory circuit which contains information from the output look-up 1520 table concerning the [input, outputl symbol pair associated with each trellis branch.
The decoder 870 further includes a circuit for calculatinq the decoding metrics which are the Euclidean distances between the received signals and the output signals associated with the trellis branches, as well as a comparator circuit for selecting the most likely path as calculated from the decodin~q metrics. 0f course, it should be understood that each of these circuits could be implemented in software.
Before decodin~q, the received siqnal is c~ ,d to a di~ital phase and amplitude value which is fed into the decoder 870. The decoder 870 then determines the decoding metric ~ tPd with each state value as determined by the state transition and output look-up table memory circuits. This process is repeated for many symbols, and the correspondin~ metrics for each state are accumulated. A comparison is made amon~st all of the possible states as described above in the section entitled "Maximum Likelihood Viterbi Decodin~q." Finally the most likely path or sequence of symbols is output by the decoder 870.
CatastroDhic Codes It will be appreciated by those skilled in the art that certain look-up table encoder implementations may result in catastrophic codes. In c..la~l,.r' codes, a finite sequence of errors in the received signal sequence may result in an indefinite sequence of decoding errors. One sign that a code could result in a catastrophic encoder implementation is that in a next-state table, a present state transitions into the same next state with a given output, while another present state transitions into the same next state ~i.e., stays in the same state) with the same given output. Take, for example, the state transition table of Figure 13.
When the encoder is in the state 0 and a zero input is applied to the encoder, the encoder transitions back to the state O with an output of zero. Similarly, when the encoder is in the present state 10 and a zero input is applied to the encoder, the encoder transitions back to the state 10 with an output of zero. Thus, it is possible that such a look-up table implementation of the encoder would cause the encoder to be Wo 96117439 PCrtUS95/15388 catastrophic.
In order to avoid catastrophic codes, a simple modification may be made to the state transition look-up table. For example, the table of Figure 13 could be modified as depicted in the table of Figure 22.
As shown in Figure 22, the next-state values for present state rows 10 and 14 have been switched so that, upon application of a zero input, the present state 10 transitions into the next state 9. In this manner cdta~ rhic codes may be avoided with little or no significant deqradation of error performance.
While various embodiments of the system and method of the present invention have been described, it should be understood that these embodiments have been presented by way of example only, and are not intended to limit the scope of the present invention. Thus, the breadth and scope of the present invention should be defined only in e r~ d ~ with the following claims and their equivalents.

Claims (40)

I CLAIM:
1. A method of forward error correction coding for a data signal mapped according to a given signal constellation, said method comprising the steps of:
defining a family of convolutional codes, said family of convolutional codes being characterized in that said family of codes are not capable of being generated by means of a feed-forward or feed-back shift register implementation, said step of defining further comprising the steps of:
establishing a next-state value corresponding to each present-state/input-value pair;
establishing an output value corresponding to each present-state/input-value pair;
receiving an input data symbol corresponding to an input value;
providing an output value in response to the reception of said input value, wherein said output value is determined by said input value and said present-state value, and said present state value is determined by the previous next state value;
generating an output data symbol, wherein said output symbol is determined by said output value; and encoding a data signal to correspond to said output symbol as determined by a signal mapping scheme.
2. A method of error coding as defined in Claim 1, wherein a data sequence is to be mapped according to a predetermined modulation scheme having an associated signal constellation, said signal constellation having defined coordinate points corresponding to phase and amplitude characteristics corresponding to output symbols from said encoder, and wherein:
said step of establishing an output value comprises defining an output table of output symbols, said output table having present state rows and input symbol columns, wherein said output symbols are determined as a function of symbols input to said encoder and a present state of said encoder, defining said output table further comprising the steps of:
assigning each of said output symbols to said points of said signal constellation;
partitioning said points of said signal constellation into a first subset of output symbols and a second subset of output symbols;
loading even ones of said present state rows with output symbols from said firstsubset; and loading odd ones of said present state rows with output symbols from said second subset; and wherein said step of establishing a next-state value comprises defining a next-state table of next states for said encoder, said next-state table having present state rows and input symbol columns, wherein the next states are defined as a function of symbols input to said encoder and a present state of said encoder, defining said next-state look-up table further comprising the steps of:
loading first ones of said present state rows with next states of said encoder until at least one of said first present state rows is full and all of said next state values have been used; and loading other ones of said present state rows with next states that are cycliclyshifted from said next states in each of said first ones of said present state rows until all of said present state rows are filled; and wherein said step of providing an output value comprises implementing said output and next-state tables within said encoder so that output symbols from said encoder are determined by input symbols to said encoder and the present state of said encoder in accordance with said output table, and transitions from the present state of said encoder to the next state of said encoder are performed in accordance with said next-state table; and wherein said step of encoding a data signal comprises mapping said output symbols into signals having phase and amplitude characteristics corresponding to points on said signal constellation.
3. A method of error encoding as defined in Claim 1, wherein said input data signal is to be mapped according to a predetermined modulation scheme having an associated signal constellation, said signal constellation having defined coordinate points corresponding to phase and amplitude characteristics of output symbols from an encoder, said encoder receiving n inputs, corresponding to 2" possible input values, and outputting n+1 outputs corresponding to 2n+1 possible output values, said encoder further having 2k possible states, and wherein:
said step of establishing an output value comprises defining an output table having 2k present state rows and 2n input symbol columns, wherein output symbols from said encoder are determined as a function of input symbols to said encoder and a present state of said encoder, defining said output table further comprising the steps of:
assigning values to said points of said signal constellation, said values corresponding to said output symbols;
partitioning said signal constellation into a first subset of 2n output symbols and a second subset of 2n output symbols;
loading even ones of said present state rows with values corresponding to outputsymbols from said first subset; and loading odd ones of said present state rows with values corresponding to output symbols from said second subset; and wherein said step of establishing a next-state value comprises defining a next-state table of a plurality of next states, said next-state table having 2k present state rows and 2n input symbol columns, wherein the next state of said encoder is determined as a function of the input symbols to said encoder and the present state of said encoder, defining said next-state table further comprising the steps of:
dividing said next states into 2k-n subsets wherein each subset has 2n next states;
and loading a first one of said present state rows with next states from a first oneof said subsets, a second one of said present state rows with the next states from a second one of said subsets, and continuing this loading until the 2k-nth present state row is loaded with the next states from the 2k-nth one of said subsets; and wherein said step of providing an output value comprises implementing said output and next-state tables within said encoder so that output symbols from said encoder are determined as a function of input symbols to said encoder and the present state of said encoder in accordance with said output table, and transitions from the present state of said encoder to the next state of said encoder are in accordance with said next-state table; and wherein said step of encoding a data signal comprises mapping said output symbols from said encoder into signals having phase and amplitude characteristics corresponding to respective output symbol points on said signal constellation.
4. A data encoder for use in data communication applications, wherein a plurality of input data values are trellis encoded to form output data, said data encoder comprising:
an input;
an encoder circuit coupled to said input, said encoder circuit having a plurality of present states, and responsive to said plurality of input data values on said input to transition to a next state, the next states corresponding to each input being cyclicly shifted for different ones of said present states; and an output coupled to said encoder circuit, said output responsive to said encoder circuit to generate output data.
5. A method of cyclic trellis encoding a data sequence within an encoder, wherein said data sequence is to be mapped according to a predetermined modulation scheme having an associated signal constellation, said signal constellation having defined coordinate points corresponding to phase and amplitude characteristics corresponding to output symbols from said encoder, said method comprising the steps of:
defining an output table of output symbols, said output table having present state rows and input symbol columns, wherein said output symbols are determined as a function of symbols input to said encoder and a present state of said encoder, defining said output table further comprising the steps of:
assigning each of said output symbols to said points of said signal constellation;
partitioning said points of said signal constellation into a first subset of output symbols and a second subset of output symbols;
loading even ones of said present state rows with output symbols from said first subset; and loading odd ones of said present state rows with output symbols from said second subset;
defining a next-state table of next states for said encoder, said next-state table having present state rows and input symbol columns, wherein the next states are defined as a function of symbols input to said encoder and a present state of said encoder, defining said next-state look-up table further comprising the steps of:
loading first ones of said present state rows with next states of said encoder until at least one of said first present state rows is full and all of said next state values have been used; and loading other ones of said present state rows with next states that are cycliclyshifted from said next states in each of said first ones of said present state rows until all of said present state rows are filled;
implementing said output and next-state tables within said encoder so that output symbols from said encoder are determined by input symbols to said encoder and the present state of said encoder in accordance with said output table, and transitions from the present state of said encoder to the next state of said encoder are performed in accordance with said next-state table; and mapping said output symbols into signals having phase and amplitude characteristics corresponding to points on said signal constellation.
6. A method as defined in Claim 5, wherein said coordinate points of said signal constellation are assigned output symbols according to natural mapping techniques when the predominant channel interference Additive White Gaussian Noise.
7. A method as defined in Claim 5, wherein said coordinate points of said signal constellation are assigned to output symbols according to Gray coding techniques when the predominant channel interference is Rayleigh fading.
8. A method of cyclic trellis encoding an input data sequence with an encoder, wherein said input data sequence is to be mapped according to a predetermined modulation scheme having an associated signal constellation, said signal constellation having defined coordinate points corresponding to phase and amplitude characteristics of output symbols from said encoder, said encoder receiving n inputs, corresponding to 2n possible input values, and outputting n+1 outputs corresponding to 2n+1 possible output values, said encoder further having 2k possible states, said method comprising the steps of:
defining an output table having 2k present state rows and 2n input symbol columns, wherein output symbols from said encoder are determined as a function of input symbols to said encoder and a present state of said encoder, defining said output table further comprising the steps of:
assigning values to said points of said signal constellation, said values corresponding to said output symbols;
partitioning said signal constellation into a first subset of 2n output symbols and a second subset of 2n output symbols;
loading even ones of said present state rows with values corresponding to outputsymbols from said first subset; and loading odd ones of said present state rows with values corresponding to output symbols from said second subset;
defining a next-state table of a plurality of next states, said next-state table having 2k present state rows and 2n input symbol columns, wherein the next state of said encoder is determined as a function of the input symbols to said encoder and the present state of said encoder, defining said next-state table further comprising the steps of:
dividing said next states into 2k-n subsets wherein each subset has 2n next states;
and loading a first one of said present state rows with next states from a first oneof said subsets, a second one of said present state rows with the next states from a second one of said subsets, and continuing this loading until the 2k-nth present state row is loaded with the next states from the 2k-nth one of said subsets;
implementing said output and next-state tables within said encoder so that output symbols from said encoder are determined as a function of input symbols to said encoder and the present state of said encoder in accordance with said output table, and transitions from the present state of said encoder to the next state of said encoder are in accordance with said next-state table; and mapping said output symbols from said encoder into signals having phase and amplitude characteristics corresponding to respective output symbol points on said signal constellation.
9. A method as defined in Claim 8, wherein said coordinate points of said signal constellation are assigned output symbols according to natural mapping techniques when the predominant channel interference is Additive White Gaussian Noise.
10. A method as defined in Claim 8, wherein said coordinate points of said signal constellation are assigned output symbols according to Gray coding techniques when the predominant channel interference is Rayleigh fading.
11. A trellis encoder which trellis encodes input data signals, wherein said input data signals are mapped according to a modulation scheme such that a signal constellation defined by said modulation scheme cannot be set partitioned such that each level of set partitioning results in a substantially increased minimum Euclidean distance between points of said signal constellation.
12. A transmitter for a trellis-coded, multi-level modulation communication system comprising:
a cyclic trellis encoder which receives a sequence of data input symbols and outputs a sequence of encoded output symbols, said cyclic trellis encoder having a set of present states partitioned into subsets, said encoder comprising:
a state transition table containing a plurality of next state values for said encoder, wherein the next state values are defined based upon the present state of said encoder and the input symbol, wherein said next state values are assigned to each of said present state subsets such that the next state values for any present state subset are shifted cyclicly for successive members of said any present state subset;
a present state memory element which connects to said state transition look-up table and which temporarily stores a next state value output by said state transition look-up table; and an encoder output look-up table connected to said present state memory element which selects an output symbol based upon said present state of said encoder and said presently received one of said input symbols, and wherein said present states are partitioned into two subsets and the outputs are partitioned into two subsets so that said output look-up table outputs a symbol which belongs to a first output subset when in one of said present state subsets and outputs a symbol which belongs to a second output subset when in the other of said present state subsets;
a signal mapper which connects to said output look-up table, and which maps outputs of said encoder output look-up table into encoded output signals from two symmetric signal constellations; and a transmitter circuit for transmitting said encoded output signals over a communications medium.
13. The transmitter of Claim 12, wherein said signal mapper maps according to Gray coding techniques.
14. The transmitter of Claim 12, wherein said signal mapper maps according to natural mapping techniques.
15. A receiver for a trellis coded multi-level modulation communication system comprising:
a trellis decoder which receives a baseband signal, said trellis decoder comprising:
means for reconstructing a trellis structure defined by a state transition look-up table wherein a set of present states is partitioned into subsets having successive members, and next state values assigned to each of said present state subsets are shifted cyclicly for successive members of said present state subset;
means for determining input and output symbols associated with branches of said trellis structure as defined by an encoder output look up table wherein said present states are partitioned into two subsets and the outputs are partitioned into two subsets so that said output look-up table outputs a symbol which belongs to a first output subset when in one of said present state subsets and outputs a symbol which belongs to a second output subset when in the other of said present state subsets;
a calculation circuit which determines the Euclidean distances between points ona phase/amplitude coordinate system corresponding to the received signals and points of a phase/amplitude signal constellation corresponding to signals associated with branches on said trellis structure; and comparator and selector circuits for selecting the most likely path of the received signal on said trellis structure on the basis of said determined Euclidean distances.
16. A method of encoding signals mapped according to any signal constellation format comprising the steps of:
dividing the signal constellation points into two symmetrical sets of symbol points; and cyclic trellis encoding data to be mapped according to said signal constellation.
17. A data encoder comprising:
a cyclic trellis encoder; and a transmitter coupled to said cyclic trellis encoder.
18. A trellis encoder that may be implemented as a state machine or a look-up table memory or in software, but which cannot be implemented as a shift register.
19. The trellis encoder of Claim 18, wherein said trellis encoder cannot be implemented as a feed-forward shift register.
20. The trellis encoder of Claim 18, wherein said trellis encoder cannot be implemented as a feed-back shift register.
21. A trellis encoder which can be adapted to trellis encode data to be mapped for signal constellations which can be set partitioned such that each level of set partitioning results in substantially increased minimum Euclidean distance between points of said signal constellation, and which can also be adapted to trellis encode data to be mapped for signal constellations which cannot be set partitioned such that each level of set partitioning results in substantially increased minimum Euclidean distance between points of said signal constellation.
22. A method of trellis encoding which is applicable to all signal constellations having an even number of constellation points and wherein all the paths merging out of a state and into the same state are defined so as to provide maximal or near maximal spacing between outputs on said state transition paths for signal constellations selected from the group consisting of 8 PSK, 16 Star QAM, 16 QAM and 16 PSK.
23. A method as defined in Claim 22 wherein all the paths merging out of a state and into the same state are defined so as to provide maximal or near maximal spacing between outputs on said state transition paths for all signal constellations having an even number of constellation points.
24. A state machine encoder with limited state transition paths wherein said state transition paths are defined to provide the minimum number of two branch state transition paths out of all possible state transition paths between the same state.
25. A state machine encoder with limited state transition paths, said paths defined by a next state table having a series of rows and columns, the contents of said rows and columns formed by a sequence of consecutive integers, said table including two rows wherein each row contains the identical integers and wherein the last integer in one of said rows is the first integer in the other row, while the sequence of integers in each of said rows is otherwise maintained.
26. A receiver for a trellis-coded multi-level modulation communication system comprising:
a trellis decoder which receives a baseband signal, said trellis decoder comprising:
first signal processing circuitry for reconstructing a trellis structure defined by a state transition input/output table wherein a set of present states is partitioned into subsets having successive members, and next state values assigned to each of said present state subsets are shifted cyclicly for successive members of said present state subset;
second signal processing circuitry for determining input and output symbols associated with branches of said trellis structure as defined by an encoder output input/output table wherein said present states are partitioned into two subsets and the outputs are partitioned into two subsets so that said encoder output input/output table outputs a symbol which belongs to a first output subset when in one of said present state subsets and outputs a symbol which belongs to a second output subset when in the other of said present state subsets;
a calculation circuit which determines distances between points on a phase/amplitude coordinate system corresponding to the received signals and points of a phase/amplitude signal constellation corresponding to signals associated with branches on said trellis structure; and comparator and selector circuits for selecting the most likely path of the received signal on said trellis structure on the basis of said determined distances.
27. A receiver as defined in Claim 26, wherein said first and second signal processing circuitry include a Viterbi decoder which utilizes soft-decision Viterbi decoding methods.
28. A receiver as defined in Claim 26, further comprising a constellation signal mapper which maps said received signals to points on said phase/amplitude signal constellation.
29. A receiver for a trellis-coded multi-level modulation communication system comprising:
a trellis decoder which receives a baseband signal, said trellis decoder comprising:
a first look-up table for reconstructing signal constellation points divided into two symmetrical sets of symbol points; and a second look-up table for cyclic trellis decoding data mapped according to said signal constellation.
30. A receiver as defined in Claim 29, wherein said first look-up table is defined as an inverse of an output table of output symbols, wherein said output table is defined to have present state rows and input symbol columns, wherein said output symbols are determined as a function of symbols input to a trellis encoder and a present state of said trellis encoder, said output table being further defined by having:
each of said output symbols assigned to said signal constellation points;

said signal constellation points partitioned into a first subset of output symbols and a second subset of output symbols;
even ones of said present state rows loaded with output symbols from said first subset; and odd ones of said present state rows loaded with output symbols from said second subset.
31. A receiver as defined in Claim 29, wherein said second look-up table is defined as an inverse of a next state table, said next-state table defined to have present state rows and input symbol columns, wherein the next states are defined as a function of symbols input to said encoder and a present state of said encoder, said next state look up table further defined to have:
first ones of said present state rows loaded with next states of said encoder until at least one of said first present state rows is full and all of said next state values have been used; and other ones of said present state rows loaded with next states that are cyclicly shifted from said next states in each of said first ones of said present state rows until all of said present state rows are filled.
32. A method of forward error correction coding for a data signal mapped according to a given signal constellation, said method comprising the steps of:
defining a set of convolutional codes using an output table and a next state table, said output table defined according to the following steps:
providing 2k present state rows and 2n input symbol columns in said output table;
assigning values to said points of said signal constellation, said values corresponding to said output symbols, wherein said output symbols are determined as a function of input symbols and a present state value;
partitioning said signal constellation into a first subset of 2n output symbols and a second subset of 2n output symbols;
loading even ones of said present state rows with values corresponding to output symbols from said first subset; and loading odd ones of said present state rows with values corresponding to output symbols from said second subset;
and wherein said next state table is defined according to the following steps:
providing 2k present state rows and 2n input symbol columns;
dividing said next states into 2k-n subsets wherein each subset has 2n next states; and loading a first one of said present state rows with next states from a first one of said subsets, a second one of said present state rows with the next states from a second one of said subsets, and continuing this loading until the 2k-nth present state row is loaded with the next states from the 2k-nth one of said subsets;
implementing said output and next state tables within an encoder so that output symbols from said encoder are determined as a function of input symbols to said encoder and the present state of said encoder in accordance with said output table, and transitions from the present state of said encoder to the next stat of said encoder are in accordance with said next state table; and mapping said output symbols from said encoder into signals having phase and amplitude characteristics corresponding to respective output symbol points on said signal constellation.
33. A method as defined in Claim 32, wherein said coordinate points of said signal constellation are assigned output symbols according to natural mapping techniques when the predominant channel interference is Additive White Gaussian Noise.
34. A method as defined in Claim 32, wherein said coordinate points of said signal constellation are assigned output symbols according to Gray coding techniques when the predominant channel interference is Rayleigh fading.
35. A method of forward error correction coding for a data signal mapped according to a given signal constellation, said method comprising the steps of:
defining an output table of output symbols, said output table having present state rows and input symbol columns, wherein said output symbols are determined as a function of symbols input to an encoder and a present state of said encoder, defining said output table further comprising the steps of:
assigning each of said output symbols to said points of said signal constellation;
partitioning said points of said signal constellation into a first subset of output symbols and a second subset of output symbols;
loading even ones of said present state rows with output symbols from said first subset; and loading odd ones of said present state rows with output symbols from said second subset;
defining a next state table of next states for said encoder, said next-state table having present state rows and input symbol columns, wherein the next states are defined as a function of symbols input to said encoder and a present state of said encoder, defining said next state look-up table further comprising the steps of:
loading first ones of said present state rows with next states of said encoder until at least one of said first present state rows is full and all of said next state values have been used; and loading other ones of said present state rows with next states that are cyclicly shifted from said next states in each of said first ones of said present state rows until all of said present state rows are filled;
implementing said output and next-state tables within said encoder so that output symbols from said encoder are determined by input symbols to said encoder and the present state of said encoder in accordance with said output table, and transitions from the present state of said encoder to the next state of said encoder are performed in accordance with said next state table; and mapping said output symbols into signals having phase and amplitude characteristics corresponding to points on said signal constellation.
36. A method as defined in Claim 35, wherein said coordinate points of said signal constellation are assigned output symbols according to natural mapping techniques when the predominant channel interference is Additive White Gaussian Noise.
37. A method as defined in Claim 35, wherein said coordinate points of said signal constellation are assigned to output symbols according to Gray coding techniques when the predominant channel interference is Rayleigh fading.
38. A method as defined in Claim 12, wherein said signal mapping scheme used in said step of encoding a data signal is Gray coding.
39. A method as defined in Claim 12, wherein said signal mapping scheme used in said step of encoding a data signal is natural mapping.
40. A method as defined in Claim 12, wherein said given signal constellation is a 16 Star QAM signal constellation.
CA002203899A 1994-11-23 1995-11-22 Cyclic trellis coded modulation Abandoned CA2203899A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/344,111 US5675590A (en) 1994-11-23 1994-11-23 Cyclic trellis coded modulation
US08/344,111 1994-11-23

Publications (1)

Publication Number Publication Date
CA2203899A1 true CA2203899A1 (en) 1996-06-06

Family

ID=23349108

Family Applications (1)

Application Number Title Priority Date Filing Date
CA002203899A Abandoned CA2203899A1 (en) 1994-11-23 1995-11-22 Cyclic trellis coded modulation

Country Status (6)

Country Link
US (5) US5675590A (en)
AU (1) AU4503396A (en)
BR (1) BR9509908A (en)
CA (1) CA2203899A1 (en)
MX (1) MX9703831A (en)
WO (1) WO1996017439A1 (en)

Families Citing this family (65)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6889356B1 (en) 1994-11-23 2005-05-03 Cingular Wireless Ii, Llc Cyclic trellis coded modulation
US5675590A (en) 1994-11-23 1997-10-07 At&T Wireless Services, Inc. Cyclic trellis coded modulation
US5659578A (en) * 1994-11-23 1997-08-19 At&T Wireless Services, Inc. High rate Reed-Solomon concatenated trellis coded 16 star QAM system for transmission of data over cellular mobile radio
CA2252664C (en) * 1996-04-26 2002-04-02 At&T Corp. Method and apparatus for data transmission using multiple transmit antennas
DE69737554D1 (en) * 1996-08-05 2007-05-16 Matsushita Electric Ind Co Ltd DATA TRANSMITTER, RECEIVER, PROCESSOR, DEVICE AND SYSTEM FOR MANAGING EQUIPMENT, DATA ENTRY AND RECEIVING SYSTEM AND TRANSMISSION MEDIUM
FR2756996A1 (en) * 1996-12-10 1998-06-12 Philips Electronics Nv DIGITAL TRANSMISSION SYSTEM AND METHOD COMPRISING A PRODUCT CODE COMBINED WITH MULTI-DIMENSIONAL MODULATION
JP2001525100A (en) * 1997-05-14 2001-12-04 シーゲート テクノロジー,インコーポレイテッド Signal space detector for channels using codes with time-varying constraints
US5991336A (en) * 1997-07-25 1999-11-23 Globespan Technologies, Inc. System and method for optimizing high speed data transmission
US6185258B1 (en) 1997-09-16 2001-02-06 At&T Wireless Services Inc. Transmitter diversity technique for wireless communications
US5974091A (en) * 1997-10-30 1999-10-26 Communication Network Systems Composite trellis system and method
US6477208B1 (en) 1997-10-30 2002-11-05 Comtier Composite trellis system and method
EP1808969B1 (en) * 1997-10-31 2014-01-01 AT & T Mobility II, LLC Maximum likehood detection of concatenated space-time codes for wireless applications with transmitter diversity
US6188736B1 (en) * 1997-12-23 2001-02-13 At&T Wireless Svcs. Inc. Near-optimal low-complexity decoding of space-time codes for fixed wireless applications
GB2332834B (en) * 1997-12-29 2000-09-06 Samsung Electronics Co Ltd Convolution encoder
US6031474A (en) * 1998-03-10 2000-02-29 Kay; Stanley E. Half rate coded modulation schemes for Rayleigh fading channels
FI104772B (en) * 1998-03-23 2000-03-31 Nokia Networks Oy Self-optimizing channel correction and detection method and self-optimizing channel correction / detection
US6233286B1 (en) * 1998-03-27 2001-05-15 Lucent Technologies Inc. Path-oriented decoder using refined receiver trellis diagram
US6404573B1 (en) * 1998-05-13 2002-06-11 Seagate Technology Llc Full and half-rate signal space detection for channels with a time-varying MTR
US6263087B1 (en) * 1998-06-26 2001-07-17 Signafy, Inc. Method of encoding bits in a signal
US6459740B1 (en) * 1998-09-17 2002-10-01 At&T Wireless Services, Inc. Maximum ratio transmission
US6870888B1 (en) * 1998-11-25 2005-03-22 Aware, Inc. Bit allocation among carriers in multicarrier communications
US6626960B1 (en) * 1999-09-01 2003-09-30 International Business Machines Corporation Method, system, and program for generating a table to determine boundaries between characters
US6496547B1 (en) 1999-11-30 2002-12-17 Cubic Defense Systems, Inc. Digital FM receiver employing combined sample-and-hold and integrate-and-dump detectors for improved bit error rates
US6741658B1 (en) * 1999-12-29 2004-05-25 Nokia Corporation Apparatus, and associated method, for forming a signal for communication upon a fading channel
DE10008543A1 (en) * 2000-02-24 2001-08-30 Bosch Gmbh Robert Coding method and use of a receiving device with a convolution decoder
JP3987274B2 (en) * 2000-08-21 2007-10-03 株式会社日立国際電気 Multi-level modulation transmission device
US6788750B1 (en) * 2000-09-22 2004-09-07 Tioga Technologies Inc. Trellis-based decoder with state and path purging
US20020108089A1 (en) * 2000-12-15 2002-08-08 Nortel Networks Limited Use of trellis coded modulation to mitigate fading channels in data transmission over air link wireless channels of GPRS/EDGE systems
ES2266107T3 (en) * 2001-01-16 2007-03-01 Koninklijke Philips Electronics N.V. MAPPING BY CODIFIED MODULATION OF BITS INTERRUPTED (BICM).
US7010052B2 (en) * 2001-04-16 2006-03-07 The Ohio University Apparatus and method of CTCM encoding and decoding for a digital communication system
US7243295B2 (en) * 2001-06-12 2007-07-10 Intel Corporation Low complexity channel decoders
US6954885B2 (en) * 2001-12-14 2005-10-11 Qualcomm Incorporated Method and apparatus for coding bits of data in parallel
US7170946B2 (en) * 2002-03-04 2007-01-30 Lucent Technologies Inc. System and method for reviving catastrophic codes
US7225392B2 (en) * 2002-03-04 2007-05-29 Lucent Technologies Inc. Error correction trellis coding with periodically inserted known symbols
US7418050B1 (en) * 2002-05-09 2008-08-26 Qualcomm Incorporated MIMO modulation in a wireless network with at least one degenerate node
US7609777B2 (en) * 2002-08-30 2009-10-27 Alcatel-Lucent Usa Inc. Maximum likelihood a posteriori probability detector
US7415075B2 (en) * 2002-10-29 2008-08-19 Conexant Systems, Inc. Multi-rate encoding and decoding system
US7305608B2 (en) 2003-09-25 2007-12-04 Broadcom Corporation DSL trellis encoding
US7756273B2 (en) * 2003-09-26 2010-07-13 Broadcom Corporation System and method for bit-reversing and scrambling payload bytes in an asynchronous transfer mode cell
US7580412B2 (en) 2003-09-26 2009-08-25 Broadcom Corporation System and method for generating header error control byte for Asynchronous Transfer Mode cell
US7903810B2 (en) * 2003-09-26 2011-03-08 Broadcom Corporation Single instruction for data scrambling
FI20031441A0 (en) * 2003-10-03 2003-10-03 Nokia Corp Feedback information for adjusting the transmission in the communication system
FR2866166B1 (en) * 2004-02-06 2006-06-16 Anagram Technologies Sa VECTORIAL TRELLIS MODULATOR
CN1674480A (en) * 2004-03-25 2005-09-28 皇家飞利浦电子股份有限公司 Convolution coder and decoding method thereof
DE102004025826A1 (en) * 2004-05-24 2005-12-22 Micronas Gmbh Method for recovering a bit sequence from QPSK or QAM symbols
US7191386B2 (en) * 2004-06-29 2007-03-13 Seagate Technology Llc Method and apparatus for additive trellis encoding
US7307453B1 (en) * 2004-10-12 2007-12-11 Nortel Networks Limited Method and system for parallel state machine implementation
DE602005016728D1 (en) 2005-05-04 2009-10-29 Panasonic Corp DATA TRANSMISSIONS IN A MOBILE COMMUNICATION SYSTEM 16-QAM SCHEMAS
US7953595B2 (en) * 2006-10-18 2011-05-31 Polycom, Inc. Dual-transform coding of audio signals
US7966175B2 (en) * 2006-10-18 2011-06-21 Polycom, Inc. Fast lattice vector quantization
US20080104302A1 (en) * 2006-10-26 2008-05-01 Sony Corporation System and method for effectively performing a signal conversion procedure
US7986441B2 (en) * 2007-04-04 2011-07-26 Wong Technologies L.L.C. Embedding watermark into halftone image with low distortion using parity values for overlapping groups of candidate sites
US8498243B2 (en) * 2008-06-11 2013-07-30 Qualcomm Incorporated Apparatus and method for channel error control of non-exclusive multiplexing for control channels
US8861627B2 (en) * 2009-07-15 2014-10-14 Fujitsu Limited Direct mm-wave m-ary quadrature amplitude modulation (QAM) modulator operating in saturated power mode
US9582451B2 (en) 2013-02-01 2017-02-28 Infineon Technologies Ag Receiver architecture
US9491026B2 (en) * 2013-04-12 2016-11-08 Sun Patent Trust Transmission method
US9558224B2 (en) * 2014-01-09 2017-01-31 Netronome Systems, Inc. Automaton hardware engine employing memory-efficient transition table indexing
US9465651B2 (en) * 2014-01-09 2016-10-11 Netronome Systems, Inc. Transactional memory having local CAM and NFA resources
US10362093B2 (en) * 2014-01-09 2019-07-23 Netronome Systems, Inc. NFA completion notification
US9417656B2 (en) * 2014-01-09 2016-08-16 Netronome Systems, Inc. NFA byte detector
WO2018129734A1 (en) * 2017-01-16 2018-07-19 Qualcomm Incorporated Dynamic frozen polar codes
US10341161B2 (en) 2017-07-10 2019-07-02 Tm Ip Holdings, Llc Multi-dimensional signal encoding
WO2019236746A1 (en) 2018-06-05 2019-12-12 Tm Ip Holdings, Llc Transpositional modulation and demodulation
FI20206260A1 (en) * 2020-12-07 2022-06-08 Nokia Technologies Oy Radio transmitter and receiver
US11736320B2 (en) * 2022-02-14 2023-08-22 Ultralogic 6G, Llc Multiplexed amplitude-phase modulation for 5G/6G noise mitigation

Family Cites Families (73)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3988677A (en) * 1975-06-23 1976-10-26 Nasa Space communication system for compressed data with a concatenated Reed-Solomon-Viterbi coding channel
US4503545A (en) * 1980-02-19 1985-03-05 Paradyne Corporation System for evaluating transmission line impairments
US4413251A (en) 1981-07-16 1983-11-01 International Business Machines Corporation Method and apparatus for generating a noiseless sliding block code for a (1,7) channel with rate 2/3
FR2539261B1 (en) * 1983-01-07 1989-07-13 Telecommunications Sa TRANSMITTER FOR MULTI-STATE DIGITAL HERTZIAN BEAMS
JPS59228409A (en) * 1983-06-10 1984-12-21 Nec Corp Automatic equalizer
AU589119B2 (en) * 1984-04-17 1989-10-05 Nec Corporation Digital radio communication system utilizing quadrature modulated carrier waves
US4675863A (en) * 1985-03-20 1987-06-23 International Mobile Machines Corp. Subscriber RF telephone system for providing multiple speech and/or data signals simultaneously over either a single or a plurality of RF channels
US4713817A (en) * 1985-04-25 1987-12-15 Codex Corporation Multidimensional, convolutionally coded communication systems
JPS62298255A (en) * 1986-06-18 1987-12-25 Fujitsu Ltd Identifying device
JPS6387828A (en) * 1986-09-30 1988-04-19 Nec Corp Digital demodulation system
FR2605818B1 (en) * 1986-10-27 1992-09-18 Thomson Csf ALGEBRICAL ENCODER-DECODER OF REED SOLOMON AND BCH BLOCK CODES, APPLICABLE TO DIGITAL TELECOMMUNICATIONS
US4945549A (en) * 1986-11-13 1990-07-31 The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration Trellis coded modulation for transmission over fading mobile satellite channel
GB8628655D0 (en) 1986-12-01 1987-01-07 British Telecomm Data coding
EP0305546B1 (en) * 1987-03-20 1993-06-16 Fujitsu Limited Digital demodulator apparatus
US5115454A (en) * 1987-05-12 1992-05-19 Kucar Andy D Method and apparatus for carrier synchronization and data detection
US4939555A (en) * 1987-05-13 1990-07-03 At&T Bell Laboratories Trellis coding arrangement
EP0301282A1 (en) * 1987-07-31 1989-02-01 BBC Brown Boveri AG Signal transmission method
US4922507A (en) * 1987-12-01 1990-05-01 California Institute Of Technology Multiple trellis coded modulation
JPH061908B2 (en) * 1988-02-02 1994-01-05 郵政省通信総合研究所長 Transmission line distortion compensation method
SE460749B (en) * 1988-03-15 1989-11-13 Ericsson Telefon Ab L M PROCEDURE TO TRANSFER DATA INFORMATION IN A CELL-DIVIDED MOBILE RADIO COMMUNICATION SYSTEM
US4825457A (en) * 1988-04-25 1989-04-25 Lebowitz Mayer M Cellular network data transmission system
JPH07114345B2 (en) * 1988-05-28 1995-12-06 日本電気株式会社 Modulator
US5023889A (en) * 1988-05-31 1991-06-11 California Institute Of Technology Trellis coded multilevel DPSK system with doppler correction for mobile satellite channels
US4993046A (en) * 1988-06-24 1991-02-12 Nippon Telegraph And Telephone Corporation Coded modulation communication system
US4968966A (en) * 1988-10-13 1990-11-06 Motorola, Inc. High data rate simulcast communication system
US4918437A (en) * 1988-10-13 1990-04-17 Motorola, Inc. High data rate simulcast communication system
US4891823A (en) * 1988-10-26 1990-01-02 General Datacomm Inc. Channel encoder for generating rotationally invariant trellis codes
CA2003774C (en) * 1988-11-25 1993-01-26 Atsushi Yoshida Carrier phase synchronizing circuit capable of recovering carrier phase synchronization at a short time
US4905255A (en) * 1989-01-03 1990-02-27 American Telephone And Telegraph Company Decision directed gain control
EP0391783B1 (en) * 1989-04-02 1997-07-09 Sony Corporation Radio communication apparatus
US5168509A (en) * 1989-04-12 1992-12-01 Kabushiki Kaisha Toshiba Quadrature amplitude modulation communication system with transparent error correction
US4941154A (en) * 1989-05-30 1990-07-10 At&T Bell Laboratories Trellis coding method and arrangement for fractional bit rates
US5081649A (en) * 1989-06-01 1992-01-14 Northern Telecom Limited Method of quadrature-phase amplitude modulation
US5052000A (en) * 1989-06-09 1991-09-24 At&T Bell Laboratories Technique for improving the operation of decision feedback equalizers in communications systems utilizing error correction
JPH0687541B2 (en) * 1989-06-22 1994-11-02 シャープ株式会社 Quadrature amplitude modulation wave demodulator
EP0406507B1 (en) * 1989-07-07 1994-06-01 International Business Machines Corporation Block coding scheme for fractional-bit transmission
US5128967A (en) * 1989-07-24 1992-07-07 Motorola, Inc. Symbol state trellis maximum likelihood detection method
JPH03128552A (en) * 1989-07-31 1991-05-31 Nec Corp Modulator/demodulator for data transmission system
US5111483A (en) * 1989-08-07 1992-05-05 Motorola, Inc. Trellis decoder
US5134634A (en) * 1989-08-31 1992-07-28 Nec Corporation Multilevel quadrature amplitude demodulator capable of compensating for a quadrature phase deviation of a carrier signal pair
US5144644A (en) * 1989-10-13 1992-09-01 Motorola, Inc. Soft trellis decoding
US5119401A (en) * 1989-11-17 1992-06-02 Nec Corporation Decision feedback equalizer including forward part whose signal reference point is shiftable depending on channel response
US5023900A (en) * 1989-12-07 1991-06-11 Tayloe Daniel R Cellular radiotelephone diagnostic system
US5095500A (en) * 1989-12-07 1992-03-10 Motorola, Inc. Cellular radiotelephone diagnostic system
US5054110A (en) * 1989-12-29 1991-10-01 Motorola, Inc. Multi-site dispatching system cell registration
US5140615A (en) * 1990-06-12 1992-08-18 Motorola, Inc. Maximal ratio diversity combining technique
US5263033A (en) * 1990-06-22 1993-11-16 At&T Bell Laboratories Joint data and channel estimation using fast blind trellis search
US5134635A (en) * 1990-07-30 1992-07-28 Motorola, Inc. Convolutional decoder using soft-decision decoding with channel state information
US5077790A (en) * 1990-08-03 1991-12-31 Motorola, Inc. Secure over-the-air registration of cordless telephones
AU7320591A (en) 1990-08-16 1992-03-17 Anders Lundquist Fluid-powered turbine with built-in floating elements and current direction intensifiers
US5114644A (en) * 1991-02-13 1992-05-19 Corning Incorporated Fabrication of cordierite bodies
US5251236A (en) * 1991-04-05 1993-10-05 At&T Paradyne Corporation Fractional rate modem with trellis
US5233630A (en) * 1991-05-03 1993-08-03 Qualcomm Incorporated Method and apparatus for resolving phase ambiguities in trellis coded modulated data
JPH0514420A (en) * 1991-07-03 1993-01-22 Sharp Corp Serial signal transmitter
US5311582A (en) * 1991-08-06 1994-05-10 International Teleservice Corporation Integrated cocot and regulated paystation telephone system
US5390236A (en) 1992-03-31 1995-02-14 Klausner Patent Technologies Telephone answering device linking displayed data with recorded audio message
US5331553A (en) * 1992-04-15 1994-07-19 Ugm Medical Systems, Inc. Three dimensional image reconstruction for a positron emission tomograph
US5258987A (en) * 1992-04-16 1993-11-02 At&T Bell Laboratories Multilevel coding using trellis-coded modulation and reed-solomon codes
US5311553A (en) * 1992-06-15 1994-05-10 General Electric Company Trellis coding technique to increase adjacent channel interference protection ratio in land mobile radio systems under peak power constraints
US5311552A (en) * 1992-06-15 1994-05-10 General Electric Company Trellis coding technique to improve adjacent channel interference protection ratio in land mobile radio systems
US5475388A (en) * 1992-08-17 1995-12-12 Ricoh Corporation Method and apparatus for using finite state machines to perform channel modulation and error correction and entropy coding
JP2845705B2 (en) * 1993-01-14 1999-01-13 日本電気株式会社 Multi-level coded modulation communication device
US5428631A (en) * 1993-02-01 1995-06-27 Qualcomm Incorporated Method and apparatus for resolving phase ambiguities in trellis coded modulated data
US5588028A (en) * 1993-02-02 1996-12-24 U.S. Robotics Simplified trellis decoder
US5535228A (en) * 1993-02-19 1996-07-09 Motorola, Inc. Device and method for achieving rotational invariance in a multi-level trellis coding system
US5418798A (en) * 1993-04-09 1995-05-23 At&T Corp. Multidimensional trellis-coded communication system
US5548615A (en) * 1993-05-03 1996-08-20 At&T Corp. Methods and apparatus for rotationally invariant multilevel coding
EP0623831B1 (en) * 1993-05-03 1999-03-03 AT&T Corp. Method of fusion splicing optical fibers
US5481566A (en) * 1993-12-29 1996-01-02 At&T Corp. Method and apparatus to increase efficiency of systematic codes
US5475716A (en) * 1994-01-18 1995-12-12 Gi Corporation Method for communicating block coded digital data with associated synchronization/control data
US5659578A (en) * 1994-11-23 1997-08-19 At&T Wireless Services, Inc. High rate Reed-Solomon concatenated trellis coded 16 star QAM system for transmission of data over cellular mobile radio
US5675590A (en) * 1994-11-23 1997-10-07 At&T Wireless Services, Inc. Cyclic trellis coded modulation
US5570391A (en) * 1995-03-06 1996-10-29 Chung-Chin Chen Trellis coding method using a multilevel delay device

Also Published As

Publication number Publication date
WO1996017439A1 (en) 1996-06-06
US6578173B2 (en) 2003-06-10
US5931965A (en) 1999-08-03
US5784417A (en) 1998-07-21
AU4503396A (en) 1996-06-19
US5907565A (en) 1999-05-25
US20020059551A1 (en) 2002-05-16
US5675590A (en) 1997-10-07
BR9509908A (en) 1997-10-14
MX9703831A (en) 1997-12-31

Similar Documents

Publication Publication Date Title
CA2203899A1 (en) Cyclic trellis coded modulation
US8037396B2 (en) Cyclic trellis coded modulation
EP0523816B1 (en) Apparatus for transmitting streams of information bits and methods for estimating the most likely sequence sent
EP0624018B1 (en) Rotationally invariant multilevel coded systems
US5408502A (en) Apparatus and method for communicating digital data using trellis coded QAM with punctured convolutional codes
US5428631A (en) Method and apparatus for resolving phase ambiguities in trellis coded modulated data
US5469452A (en) Viterbi decoder bit efficient chainback memory method and decoder incorporating same
US5535228A (en) Device and method for achieving rotational invariance in a multi-level trellis coding system
US5408499A (en) Multilevel code for transmission device
EP0154415B1 (en) Coded modulation system
US6977972B1 (en) Method of hybrid soft/hard decision demodulation of signals with multilevel modulation
US7224743B2 (en) Efficient decoding of trellis coded modulation waveforms
CA2308194A1 (en) Time-varying trellis coded psk
CA2088062C (en) Coded qam system
US7088784B2 (en) Coded modulation for partially coherent systems
US5054036A (en) Digital signal coding
Pietrobon et al. Rotationally invariant nonlinear trellis codes for two-dimensional modulation
EP1324558A1 (en) Multiresolution broadcast transmitter and method using Gaussian trellis shaping to reduce average signal power and corresponding multi-stage decoder
US6201836B1 (en) Method and apparatus for combining a Trellis coding scheme with a pre-coding scheme for data signals
WO2003017500A1 (en) Coded modulation scheme for a wireless communication system and methods thereof
WO1999017509A1 (en) Symbol mappings for coded modulations
Pellizzoni et al. Analysis and implementation of an adjustable-rate multilevel coded modulation system
Williams Low complexity block coded modulation
JPH0795762B2 (en) Multilevel QAM communication system
KR100320953B1 (en) Symbol Mapping Method and Device of TCM Using Euclidean Distance And Hamming Distance And Apparatus Thereof

Legal Events

Date Code Title Description
EEER Examination request
FZDE Discontinued