GB2201567A - Improvements in data signal encoders and decoders - Google Patents
Improvements in data signal encoders and decoders Download PDFInfo
- Publication number
- GB2201567A GB2201567A GB08804283A GB8804283A GB2201567A GB 2201567 A GB2201567 A GB 2201567A GB 08804283 A GB08804283 A GB 08804283A GB 8804283 A GB8804283 A GB 8804283A GB 2201567 A GB2201567 A GB 2201567A
- Authority
- GB
- United Kingdom
- Prior art keywords
- sequence
- signals
- dimensional
- signal
- code
- 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.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L27/00—Modulated-carrier systems
- H04L27/32—Carrier systems characterised by combinations of two or more of the types covered by groups H04L27/02, H04L27/10, H04L27/18 or H04L27/26
- H04L27/34—Amplitude- and phase-modulated carrier systems, e.g. quadrature-amplitude modulated carrier systems
- H04L27/3405—Modifications of the signal space to increase the efficiency of transmission, e.g. reduction of the bit error rate, bandwidth, or average power
- H04L27/3416—Modifications 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/3427—Modifications 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
- H04L27/3438—Modifications 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 using an underlying generalised cross constellation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L25/00—Baseband systems
- H04L25/38—Synchronous or start-stop systems, e.g. for Baudot code
- H04L25/40—Transmitting circuits; Receiving circuits
- H04L25/49—Transmitting circuits; Receiving circuits using code conversion at the transmitter; using predistortion; using insertion of idle bits for obtaining a desired frequency spectrum; using three or more amplitude levels ; Baseband coding techniques specific to data transmission systems
- H04L25/497—Transmitting circuits; Receiving circuits using code conversion at the transmitter; using predistortion; using insertion of idle bits for obtaining a desired frequency spectrum; using three or more amplitude levels ; Baseband coding techniques specific to data transmission systems by correlative coding, e.g. partial response coding or echo modulation coding transmitters and receivers for partial response systems
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Spectroscopy & Molecular Physics (AREA)
- Digital Transmission Methods That Use Modulated Carrier Waves (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
Description
1 j 1 1\ 1 k 1 2 2A 15) 6 7 IMPROVEMENTS IN DATA SIGNAL ENCODERS AND
DECODERS The invention relates to data signal encoders and decoders.
The invention is particularly applicable to a data signal encoder for deriving a signal sequence from a multidimensional code for a pdrtial response channel and a decoder therefor.
In recent years, a number of kinds of trellis-type modulation codes have been developed and applied (e.g., in modems) to realize coding gains of 3 to 6 dB over high-signal-to-noise- ratio, band-limited channels such as voice grade telephone channels.
Early trellis codes were due to Ungerboeck (Cisaka et al., U.S. Patent No. 3,877,768; Ungerboeck, "Channel Coding with Multilevel/Phase Signals," IEEE Transactions on Information Theor, Vol. IT-28, pp. 55-67, January, 1982). Ungerboeck's codes for sending n bits per symbol are based on 4subset or 8-subset partitions of o4e-dimensional (PAM) or two-dimensional (QAM) 2 n+1_point signal constellations, combined with a rate-1/2 or rate-2/3 linear binary convolutional code that determines a sequence of subsets. A further set of "uncOded!' bits then determines which signal points within the specified subsets are actually sent. The partition and the code are designed to guarantee a 2 certain minimum squared distance d;in between permissible sequences of signal points. Even after giving effect to the power cost of,,,.an expanded signal constellation (a factor of four (6 dB)-in one dimension, or a factor of two (3 dB) in two dimensions), the increase in minimum squared distance yields a coding 1 4k 1 gain that ranges from about a factor of two (3 dB) for simple codes up to a factor of four (6 dB) for the most complicated codes, for values of n that may be as large as desired.
Gallager (U.S. Parent Application S.N. 577,044, filed February 6, 1984, discussed in Fcrrney et al., "Efficient Modulation for Band-Limited Channels," IEEE J. Select. Areas Commun., Vol. SAC-2, pp. 632-647, 1984) devised a multidimensional trellis code based on a 16-subset partition of a four-dimensional signal constellation, combined with a rate-3/4 convolutional code. The four-dimensional subset is determined by selecting a pair of two-dimensional subsets, and the points of the four-dimensional signal constellation are made up of pairs of points from a two-dimensional signal 2 constellation. With only an 8-state code, a d; in of four times the uncoded minimum sequence distance can be obtained, while the loss due to expanding the signal 1/2 constellation can be reduced to about a factor of 2 (1.5 dB), yielding a net coding gain of the order of 4.5 dB. A similar code was -designed by Calderbank and Sloane ("Four-dimensional Modulation With An Eight-State Trellis Code", AT&T Tech. J., Vol. 64, pp. 1005-1018, 1985; U.S. Patent No. 4,581,601).
Wei (U.S. Patent Application S.N. 727,398, filed April 25, 1985) devised a number of multidimensional codes based on partitions of constellations in four, eight, and sixteen dimensions, combined with rate-(n-l)/n convolutional codes. His multidimensional constellationg again consist of sequences of points-from two-dimensional constituent constellations. The codes are designed to minimize two-dimensional constellation expansion, to obtain 1 -1 d 1 performance (coding gain) versus code complexity over a broad range, and for other advantages such as transparency to phase rotations. Calderbank and Sloane, "New Trellis Codes", IEEE Trans. Inf. Theor # to appear March, 1987; "An Eighr-dimensional T-rellis Code," Proc.
TEE, Vol. 74, pp. 757-759, 1986 have also devised a variety of multidimensional trellis codes, generally with similar performance versus complexity, more constellation expansion, but in some cases fewer states.
All of the above codes are designed for channels in which the principal impairment (apart from phase rotations) is noise, and in particular for channels with no intersymbol interference. The implicit assumption is that any intersymbol interference introduced by the actual channel will be reduced to a negligible level by transmit and receive filters; or, more specifically, by an adaptive linear equalizer in the receiver. Such a system is known to work well if the actual channel does not have severe attenuation 2Q within the transmission bandwidth, but in the case of severe attenuation ("nulls" or "near nulls") the noise power may be strongly amplified in the equalizer ("noise enhancement").
A well-known technique for avoiding such "noise enhancement" is to design the signaling system for controlled intersymbol interference rather than no intersymbol interference. The best-known schemes of this type are called "partial response" signaling schemes (Forney, "Maximum Likelihood Sequence Estimation of Digital Sequences in thR Presence of Intersymbol Interference," IEEE'Trans. Inform. Theor, Vol. IT-18, pp. 363-378, 1972).
1 in a typical (one-dimensional) partial response scheme, the desired output yk at the receiver is designed to be the difference of two successive inputs X, rather than 4' "e" Yk __ xk - xk-1 Yk '0 Xk' In sampled-data notation using the delay operrator D, this means that the desired output sequence y(D) equals x(D)(1-D) rather than x(D); this is thus called a "i-D" partial response system. Because the spectrum of a discrete-time channel with impulse response 1-D has a null at zero frequency (DC), the combination of the transmit and receive filters with the actual channel likewise must have a DC null to achieve this desired response. On a channel which has a null or a near null at DC, a receive equalizer designed for a 1-D desired is response will introduce less noise enhancement than one designed to produce a perfect (no intersymbol interference) response.
Partial response signaling is also used to achieve other objectives, such as reducing sensitivity 2Q to channel impairments near the band edge, easing filtering requirements, allowing for pilot tones at the band edge, or reducing adjacent-channel interference in frequency-division multiplexed systems.
other types of partial response systems include a I+b system which has a null at the Nyquist band edge, and a 1-D 2 system which has nulls at both DC and the Nyquist band edge. A quadrature (two-dimensional) partial response system (QPRS) can be modeled as having a two-dimensional complex input; the (complex) response 1+D results in a QPRS--,roystem which has nulls at both the upper and lower band edges in a carrier-modulated (OAM) bandpass system. All of these partial response systems are closely related to one another, and schemes for one are easily adapted to another, so one can design a system for the 1-D response, say, and easily extend it to the others.
Calderbank, Lee, and Mazo ("Baseband Trellis Codes with A Spectral Null at Zero"; submitted to I=I.EE Trans. Inf. Theory) have proposed a scheme to construct trellis-coded sequences that have spectral nulls, particularly at DC, a problem that is related to the design of partial, response systems, even though its la objectives are in general somewhat different. Calderbank et al. have adapted known multidimensional trellis codes with multidimensional signal constellations to produce signal sequences with spectral nulls by the following technique. The multidimensional is signal constellation has twice,as many signal points as are necessary for the non-partial-response case, and is divided into two equal size disjoint subsets, one of multidimensional signal points whose sum of coordinates is less than or equal to zero, the other whose sum is 2a greater than or equal to zero. A "running digital sum" (RDS) of coordinates, initially set to zero, is adjusted for each selected multidimensional signal point by the sum of its coordinates. If the current RDS is nonnegative, then the current signal point is chosen from'the signal subset whose coordinate sums are less than or equal to zero; if the RDS is negative, then the current signal point is chosen from the other subset. In this way the RDS is kept bounded in a narrow range near zero, which is known to force the signal sequence 30- to have a spectrak.null at DC. At the same time, however, the signal- points are otherwise chosen from the subsets in the same way as they would have been in a non-partial-response system: the expanded 1 multidimensional constellation is divided into a certain number of subsets with favorable distance properties, and a rate-(n-l)/n convolutional code determines a sequence of the subsets such that the minimum squared distance between sequences is guaranteed to be at least d 2 The coding gain is reduced by the min' 1/2 constellation doubling (by a factor of 2 or 1.5 dB, in four dimensions, or by a factor of 2 1/4, or 0.75 dB in eight), but otherwise similar performance is achieved as in the non-partial response case with similar code complexity.
According to one aspect of the invention there is provided an apparatus for deriving an encoded signal point sequence from an input data signal, comprising means for storing at least one constellation of signal points related to a given modulation code, the signal points being replicated within the constellation or constellations according to a specified modulo number, means for selecting multi-bit sequen ces in succession from the input data signal, first selecting means for selecting a set of coset representatives which define a class of congruent co-ordinates in a constellation in accordance with a first portion of a sel ected multi-bit sequencei second selecting means for selecting a congruent signal point from the coset representatives in accordance with a second portion of the selected multi-bit sequence, which selected signal point from the constellation of the modulation code is thus related to the selected multi-bit sequence.
7 Preferably the apparatus is part of a partial response system to an input of which the encoded sequence is transmissable, the system being operable to generate a partial response coded version of each selected signal point sequence, which partial response coded version is a sum of or difference between the selected signal point and a previous, delayed, selected signal point.
One general feature of the invention is generating a sequence of digital signals xk and/or a sequence of digital signals yk (the sequence yk being in accord with a given modulation code), k = 1, 2,..., such that the relationship bet-deen the xk signals and yk signals is x x L Yk k " k - L' an integer. An encoder selects a Si gnals Yk' J' " (Yk' Yk+l' '" 7'k+,T-1) to be congruent to a sequence of T c9set representatives c. (modulo M), bT an integer, specified in accordance with the given modulation code, the J symbols being chosen from one of a plurality of ZT-dimensional constellations, the choice being based or% a previous xj.', k' < k. At least one of the constellations includes both a point with a positive sum of coordinates, and another point with a negative sum of coordinates. The encoder is arranged so that the signals xk have finite variance Sx.
Anot4or general feature of the invention is that the encoder selects the signals x, to be x congruent to a sequence of alternative coset representatives ck (modulo M), where r 8 Ck case where = C k - cl k-L (modulo M), in the 0 Yk = Nk + xk-L' c k = C k + cl k-L (modulo M), in the case where X X Yk "-'2 ' k - k-L Another general feature of the invention is that the yk signals fall within an alphabet of possible yk signals that are spaced apart within the alphabet evenly by a spacing A, and the encoder causes the sequence Yk to have a variance S Y less than 2S 0 and the sequence x k to have a variance S x not much greater than S 2 /4(S S), S being Y. y 0 0 approximately the minimum signal power required to represent n bits per signal with a &-spaced alphabet.
Another general feature of the invention is that the encoder causes the xk and yk signals to have any selected variances S x and S y within predetermined ranges.
In preferred embodiments, the ranges are controlled by a parameter 3, Sx is approximately so /(, _ 132), and S y is approximately 2S 0 Mi + 8).
Another general feature of the invention is apparatus for generating a sequence in a given N-dimensional modulation code, by generating a sequence of one- dimensional signals based on coded and uncoded bits, the modulation code being based on an N-dimensional constellation partitioned into subsets associated with the code, the subsets each representing a plurali4;y of N-dimensional signals, the apparatus comprisin5 an encoder for deriving, for each N-dimensional symbol, a set of N, M-valued one-dimensional coset representatives ck corresponding to congruence classes of each of the N coordinates 9 z (modulo M) of the symbol, each coset representative designating a subset of one-dimensional values in a one-dimensional constellation of possible coordinate values for each of the N dimensions, each one-dimensional signal in the sequence being selected from the possible coordinate values based on uncoded bits.
In preferred embodiments, either the x k or yk sequence may be delivered as an output; L_= 1; "'a Yk Xk - xk-L; the code may be a trellis code or lattice code; M may be 2 or 4 or a multiple of 4 or 2 2i; J may be 1 or the same as the number of dimensions - - in the modulation code; k' = k 1; J is 1 and each constellation is a one-dimensional range of values centered on Bxk-l' 0 < 8 < 1, preferably 3 > 0; there are a finite set of (e.g., two non-disjoint) J-dimensional constellations; Yk and xk may be realvalued or complex valued.
According to a further aspect of the invention there is 20 provided a decoder for decoding an input sequence which is encoded according to a given modulation code, comprising decoding means for decoding the input sequence, monitoring means for deriving an estimated running digital sum of the decoded input sequence and means for monitoring the running digital sum and for indicating when the decoded input is outside a permissible range determined in accordance with the running digital sum.
1 According to a still further aspect of the invention there is provided apparatus for decoding a partial response encoded signal encoded by an encoder according to a given modulation code having a finite number of states, the apparatus comprising a modified maximum liklelihood sequence estimater operable over a predetermined period to select a plurality of partially decoded sequences of integer spaced values, each sequence corresponding to a combination of the finite number of states according to a finite modulo number, such that each sequence is a constituent of the modulation code corresponding to the encoder being in a particular state at the end of the equivalent predetermined period and is related to an output signal point at the end of the equivalent predetermined period that is congruent to a one of the values having the given modulo number.
Another general feature is a decoder for .1 20 decoding a sequence z. = ylc + nIC, k - 1.2, into a decoded sequence yk, where the sequence of signals yk is such that (a) the sequence is from a given modulation code; (b) the running digital sum xk - yk + yk. 1 + yk_2 + has finite variance SX;-(c) the signals yk fall in a 9 predetermined permi ssible range dependent on xk, k' < k; and the sequence n k represents noise. A range violation monitor reconstructs the estimated running digital sum X k." Yk Yk-1 + ''' compares the decoded sequeice yk with a predetermined permissible range ^8 based on the estimated running digital sum XX 1 k' k, and generates an indication whenever the Yk is outside the permissible range.
1 11 Another general feature of the invention is a decoder for decoding a sequence-zk = yk + n k, k 1, 2#.... where the sequence of signals Yk is such that (a) the sequence is from a given modulation code, the code being capable of being generated by an encoder with a finite number Q of states; (b) Yk _ xk 2 Xk-W L an integer, where the sequence x k has finite variance SX,, and the sequence n k represents noise, comprising a modified maximum likelihood sequence estimator adapted to find MQ partial decoded sequences, up to some time K, one sequence for each combination of the finite number Q of states and each of a finite number M of integer-spaced values modulo M, such that each sequence (a) is in the code up to the time K; (b) is corresponds to the encoder being in a given state at the time K; (c) corresponds to a value of xIC at the time K that is congruent to a given one of the values, modulo M.
The invention adapts known modulation codes, particularly trellis codes, for use in partial response systems to achieve the same kinds of advantages that trellis codes have in non-partial response systems -notably, substantial coding gains for arbitrarily large numbers n of bits/symbol with reasonable decoding complexity. The invention also enables the design of trellis codes for partial response systems in such a way as to achieve both a relatively low input signal power Sx and a relatively low output power S y, and permits smoothly trading off these two quantities against each other. Furthermore, higher-dimensional trellis codes ogn be adapted for use in partial response systems which are inherently lowe r-dimensional.
The invention can be put into practice in several wayssome of which will now be described by way of example with reference to the accompanying drawings in which:
12 Figure 1 is a block diagram of a 1-D partial 5 response channel; Figure 2 is.a block diagram of.an encoder for an 8-state Ungerboeck code; Figure 3 is a signal constellation for the Ungerboeck code partitioned into 8 subsets.; Figure 4 is a block diagram of an equivalent encoder for the Ungerboeck code; Figure 5 is a block diagram of a generalized N-dimensional trellis encoder; Figure 6 is a block diagram of a modified Figure 5, based on coset representatives; Figure 7 is a block diagram of an equivalent one-dimensional encoder; Figure 8 is a block diagram of a generalized N-dimensional trellis encoder.; Figure 9 is a block diagram of a generalized encoder with coset precoding Figure 10 is a block diagram combining Figures 8 and 9, Figure 11 is a block diagram of an encoder with RDS-feedback and coset precoding; Figures 12, 13, 14 are alternative embodiments of Figure 11; Figures 15, 16, 17 are block diagrams of three equivalent filtering arrangements; 3,0 Figure 18 is a block diagram of a generalized decoder; Figures 19, 20, 21 areblock diagrams of alternative encoders; 1 4 13 Figure 22 is an alternative signal constellation; Figure 23 is a block diagram of an encoder for use with the constellation of Figure 22; Figures 24, 25, 26 are block diagrams of three equivalent encoders:
Figure 27 is a block diagram of an alternative decoder; Figure 28 is a schematic diagram of an expanded signal constellation; Figure 29 is a rhombus for use with the constellation of Figure 28; Figure 30 is a block diagram of a two- dimensional RDS feedback encoder; Figure 31 is a diagram of the dimensions of a rhombus for use with the constellation of Figure 28-, Figure 32 shows a pair of constellations; and Figure 33 shows two disjoint constellations. Structure and Operation 20 Referring to Figure 1, the invention includes a technique for generating signal sequences to be used as inputs for a partial response channel 10, for example a onedimensional (real) 1-D partial response baseband system with a null at DC. (Later we shall indicate briefly how to modify such a design for other types of partial response systems.) Each output signal zk of such a system is given by Zk 2 yk + n k' where the n k sequence (n(D)) represents noise, and the yk sequence (y(D)) is a partial-response-coded (PRC) sequence defined by.
Yk " xk - Xk-l' where the x k sequence (x(D)) is the sequence of 14 channel inputs. Because Xk Xk-l+ Yk' the xk sequence can be recovered from the PRC sequence by forming a running digital sum of the Yk values (given an initial value for the x k secruence); thus we call the xk sequence the IRDS sequence. The sample variances of the RDS sequence x(D) and the PRC sequence y(D) will be denoted as Sx and S y, respectively.
The discrete-time partial response 1-D (represented by block 12) is a composite of the responses of a chain of transmit filters, an actual channel, receive filters, equalizers, samplers, etc., designed in a conventional way to achieve a composite partial response 1-D with the noise power P (of the noise sequence n(D)) being small relative to the PRC power S Y' We shall thus want to send a relatively large number n of bits per channel input. A detector (not shown) operates on the noisy PRC sequence z(D) to estimate x(D) (or equivalently y(D), since there is a one-to-one relationship between them). If the detector is a maximum likelihood sequence estimator, then, to a first order, the objective is to maximize the minimum squared distance d2. between permissible PRC min sequences y(D).
in some applications, the design constraint will simply be to minimize the sample variance S. of the RDS (input) sequence. In others, the constraint will be on S Y' In still other applications, there will be an effective power constraint somewhere in the 3Q middle of the composite filter chain, so that it will be desirable to keep both S x and S Y small, and in fact to provide for a smooth design tradeoff between them.
A related problem is the design of sequences with spectral nulls, e.g., a null at zero frequency (DC). There the objective may be to design sequences y(D) that can represent n bits per sample, that have a spectral null, that have as small a sample variance S V as possible, but that also have a large minimum squared 2 between possible y(D) sequences. A -distance d;in common auxiliary objective is to keep the variation of the running digital sum (RDS) of the y(D) sequence limited as well, for systems reasons. Because the running digital sum sequence x(D) is, e.g., y(D)/(l-D), and its sample variance Sx is a measure of its variation, the present invention may also be applicable to the design of sequences with spectral nulls.
is A number of design principles are useful in achieving our objectives. The first principle is to design the input (RDS) sequence x(D) so that the output (PRC) sequence y(D), taken N values at a_time, is a sequence of N-dimensional signal points belonging to subsets of an N-dimensional constellation determined by a known N- dimensional trellis code. Then the minimum 2. between PRC sequences will be squared distance d; in 2 at least the d;irl guaranteed by the trellis code. Furthermore, a maximum likelihood sequence estimator for the-trellis code can be easily adapted for use with this system, and while perhaps not optimum, it will achieve 2 the same effective d; in for essentially the same decoding complexity as for the same trellis code in a non-partial response system.
30. An illustrative embodiment of the present invention is based on a known 8-state 2-dimensional trellis code similar to that of Ungerboeck as described in the article cited above, which uses a 128-point two-dimensional constellation to send 6 bits per 16 is (two-dimensional) signal. (This is also similar to the code used in CCITT Recommendation V.33 for a 14.4 kbps data modem.) Figure 2 shows the encoder 20 for this code. For each six-bit symbol 21 delivered from a data source 23, 2 of the 6 input bits to encoder 20 enter a rate-2/3, 8- state convolutional encoder.22. The 3 output bits of this encoder are used in a subset selector 24 to select one of 8 subsets of a 128-point signal constellation, illustrated in Figure 3; there are 16 points in each subset (points in the eight subsets are labelled A through H respectively). The remaining 4 "uncoded bits" 26 (Figure 2) are used in a signal point selector 28 to select from the chosen subset the (two-dimensional) signal point to be transmitted. The 2 of a factor of 5 (7 code achieves a gain in d; in dB) over an uncoded system, but loses about 3 dB in using a 128-point rather than a 64-point constellation, so the net coding gain is about 4 dB-.
one-dimensional form of the 2-dimensional Ungerboeck code The sequence of symbols x k sent over the channel is one-dimensional in a 1-D baseband partial response system. It is helpful (though not essential), therefore, to transform known trellis codes into one-dimensional form. There are two aspects to this transformation: first, to characterize the two-dimensional subsets as compositions of constituent one-dimensional subsets, and second, to characterize the finite two-dimensional constellation as a composition of constituent one-dimensional constellations. We now show how this decomposition is done for the illustrative two-dimensional Ungerboeck code, And then indicate how it may be done in the general case of an N-dimensional trellis code.
The first step is to notice that each of the eight two-dimensional subsets A,-B,..., can be viewed as the union of two smaller two- dimensional subsets, say A 0 and A,, B 0 and Bl, etc., where each of the 16 smaller subsets can be characterized as follows. Let the possible values of each coordinate of a signal point be partitioned into four classes a, b, c, d; then each of the smaller two-dimensional subsets consists of the points whose two coordinates are in a specified pair of la classes. A convenient mathematical expression for this decomposition arises if we scale Figure 3 so that signal points are one unit apart in each dimension (and the coordinates of each point are half-integers); then the classes a, b, c, d are equivalence classes (modulo 4), 15 and each of the 16 sets A., A,# Boo... are the points whose two coordinates are congruent to a given pair (x, y) modulo 4, where x and y may each take on one of the f our values (a, b, c, dj, - e. g. {=1/2, :23/2). These four values are called 2Q (one-dimensional) 'coset representatives'. The points of the constellation of Figure 3 have been labeled with Os and ls to show one possible arrangement of the 16 subsets. For example the Go point 29 has coordinates x = 5/2, y - 9/2, and its coset representatives are (5/2-, 9/2) modulo 4 or (-3/2, 1/2).
We may now modify Figure 2 as follows. Referring to Figure 4, the three output bits of the encoder 22 plus one of the uncoded bits 30 are used as inputs to subset selector 32, which selects one of 16 M subsets based on the four input bits, with uncoded bit 30 selecting between A 0 and A,,, or B 0 and B1. etc., according to which of the original 8 subsets is selected by the three convolutionally encoded bits produced by encoder 22. In effect, encoder 22 and bit 18 represent an 8-state rate-3/4 encoder, with the output selecting one of 16 subsets, although the set of possible signal point sequences has not changed. Next, designate each of these 16 smaller subsets by a pair of one-dimensional coset representatives 34, one for each coordinate, where each coset representative c k may take on one of four values. The pair of coset representatives is denoted (clk'- c2k)' An aspect of the invention is the observation that all of the good codes cited above -- i.e., those of Ungerboeck, Gallaqer, Wei, and Calderbank and Sloane -can be transformed in the same way. That is, any of these N-dimensional trellis codes can be generated by an encoder that selects one of 4 N subsets, where the subsets are specified by N 4-valued one-dimensional coset representatives, corresponding to congruence classes of each coordinate (modulo 4). In some cases it is only necessary to use 2 N_ subsets specified by N 2- valued one-dimensional coset representatives (e.g., {tl/21) corresponding to congruence classes of each coordinate (modulo 2); e.g., for Ungerboeck's 4-state 2D code, Gallager's 8-state 4D code-(and the similar code of Calderbank and Sloane), Wei's 16-state 4D code and 64-state 8D code, etc. Also, we have observed that many good lattice codes can be transformed in this way; e.g., the Schldfli lattice D 4 and the Gosset lattice E 8 can be represented by sequences of 4 or 8 two-valued one-dimensional coset representatives (modulo 2); the Barnes-Wall lattices A 16 and A 32 and the Leech lattice A 24 can be represented by four-valued one-dimensional coset representatives (modulo 4). 19 A general form for all of these codes is shown in Figure 5. The encoder
is N-dimensional and operates once for every N signals to be sent over the channel. In each operation, p bits enter a binary encoder C 33 and are encoded into p + r coded bits. These coded bits select (in selector 35) one of 2P+r subsets of an N-dimensional signal constellation (the subsets corresponding to the 2 p+r cosets of a sublattice A' of an N- dimensional lattice A, the constellation being a finite set of 2n+r points of a translate of the lattice A, such that each subset contains 2 n-p points). A further n - p uncoded bits selects (in selector 37) a signal point from the selected subset. Thus the code transmits n bits for every N-dimensional symbol, using a constellation of 2n+r N-dimensional signal pointsN The encoder C and the lattice partition A/A' ensure a certain minimum squared distance 2 dlin between any two signal point sequences that belong to a possible subset sequence.
The observation above (about the transformability of all good codes) is the result of the mathematical observation that for all of the good trellis and lattice codes cited, the lattice 40 of N-tuples of integer multiples of 4 is a sublattice of the-lattice A' (and in some cases 2Z N is). Then, for some integer g, A' is the union of 21 cosets of 4z N in A'. The practical effect of this observation is that, provided that n > q + p, we can take the p + coded bits plus q uncoded bits into a subset selector that selects one of 2 q+p+r cosets of 4ZN in A, and further that these cosets can be identified by a sequence of N 4-valued one-dimensional coset representatives (clkl C2M '-'cNk), where the cjk represent integer- spaced equivalence classes If (modulo 4). Thus already Figure 5 can be modified as shown in Figure 6. In this modification, we assume that the 2 n+r_po int signal constellation divides evenly into 2 q+p+r subsets, each containinq the same number 5 of signal points (2 n-q-p).
The illustrative Ungerboeck code embodiment.1s an example in which N - 2, A = Z2, A' = 2RZ2, p = 2, p + r = 3, q = 1, and n = 6.
The second st-ep is to decompose the constellation into constituent one-dimensional constellations. For the constellation of Figure 3, each coordinate can take on one of 12 values which can be grouped as 8 'inner points' (e.g., J=1/2, t3/2, 5/2, t7/2)) and 4 'outer points' (e.g., (2:9/2, tli/21), as suggested by boundary 31 in Figure 3. There are 2 inner points and 1 outer point in each of the four one-dimensional equivalence classes (e.g., the class whose coset representative is +1/2 contains the two inner points +1/2 and -7/2, and the-outer point 9/2, because these three points are congruent to +1/2 (modulo 4). Given a coset representative, therefore, it is only necessary to specify whether a point is an inner point or an outer point and, if an inner point, which of the two inner points it is. This can be done with two bits, say b 1k (= inner or outer) and b 2k (= which inner) (or with one three- valued parameter a 0' We may say that the pair (b 1k, b 2k) is a range identifying parameter a k' which takes on one of three values, indicating the following three ranges (a) from 0 to 4 (inner point, positive); -_(b) from -4 to 0 (inner point, negative); (c) from -6 to -4 and from 4 to 6 (outer point).
21 The fact that each range spans a portion of the real line of total width 4 that contains exactly one point congruent to any real number (modulo 4) means that the range-identifying parameter a, . plus the coset representative c k specify a unique signal poin:, for any value of ck' The signal point selector 36 of Figure 4 can then be decomposed as follows. Referring to Figure 7, three uncoded bits 40 enter a range- identifying parameter selection element 42 for each pair of coordinates. One uncoded bit determines whether any outer point is sent. If so, a second bit then determines which coordinate will contain the outer point, and the third bit selects which inner point in the other coordinate. If not, both coordinates are inner points, and the second and third bits select which inner point in each coordinate. Thus, in sum, element 42 maps the three uncoded input bits 40 into two pairs of output bits 44 a 1 = (b ill b12), and a2 = 2Q (b 211 b22), with each pair of bits used to determine one coordinate in conjunction with the corresponding coset representative, c 1 or c 2' generated by coset representative pair selector 46. Thus the whole encoder has been reduced to a form in which each coordinate x k (48)-is selected (in a coordinate selector 50) by 4 bits, two representing ck and two representing ak (b ik' b2k)' All constellations commonly used with the above-cited codes can be decomposed in this way. The 3Q principles are similar to those discussed in ' U.S. Patent 4,597,090 and in Forney et al., "Efficient Modulation..." cited above, where N- dimensional constellations were built up from cons tituent 2-dimensional constellations; a similar buildup from -1 % 22 2-dimensional constituent constellations was used by Wei in conjunction with trellis codes in his U.S. Patent Application, cited above.
The general form of encoder for N-dimensional codes is shown in Figure 8. For every N coordinates, p bits 51 enter an encoder 52 and p -i- r co.ded bits 54 are produced; these plus q uncoded bits 56 enter a selector 58 which selects a sequence of N coset representatives c k (60); the remaining n-p-q uncoded bits 62 are transformed (in a selector 64) into a sequence of range-identifying parameters ak (66) which together with the ck determine (in a signal point selector 68) a sequence of N signal point values x k (70) by a signal point selection function f(c k, ak) which operates on a one-dimensional basis. In general, the range-identifying parameter a k determines a subset of the real line (one-dimensional constellation) of width (measure) 4_which contains exactly one element congruent to any possible ck value (modulo 4), and the function f(ck' ak) selects that element. For all codes cited, the coset representative alphabet may be taken as four integer-spaced values (modulo 4); for some codes, the coset representative alphabet may be taken as two integer-spaced values (modulo 2) (in which case the ranges are of width 2). The size of the a k alphabet is as large as necessary to send n bits per N coordinates. The signal point sequences generated by this form of encoder are generally the same as those in the original code, and in particular, are separated by 3a the same minimum squared distance d 2 as the min original code.
23 Coset Precoding N-dimensional signal point sequences generated by known good trellis codes, when serialized to one-dimensional signal points, cannot in general be used as inputs to the partial response channel of Figure I without degradation of 2 (because of intersyrrmol dLn interference). However, a technique which we call coset precodinq allows the adaptation of these known codes to partial response systems without increase of S x or degradation of d min. The general technique is illustrated in Figure 9.
We use the same convolutional encoder 52 as used by the known trellis code, preferably in the form of Figure 8. The p + r coded output bits 54, rather than selecting a subset directly, are converted (as in Figure 8) in a subset selector/serializer 70 into a sequence c k of N one-dimensional coset representatives c it '''-PCN'T corresponding to the subset that would be selected in a non-partial response system. These 2Q coset repres entatives are then 'precoded' (in a precoder 72) into an alternative (or 'precaded') coset representative sequence c k' (74), where c k' = C k-l' + c k (modulo 4) (In the cases where it is possible to use modulo 2 coset representatives, this precoding can be done modulo 2.) Thus the precoded coset representative sequence 74 is a running digital sum modulo 4 (or 2) of the ordinary coset representative sequence. Precaded coset representatives c k' can then be grouped N at- a time in grouper 75 to specify (in signal point selector/serializer 76) an N- dimensional subset; a signal point can then be selected (based on the uncoded bits 78) in the usual way; and the resulting signal k \ 24 point can be sent out as a sequence x(D) of N one-dimensional signals xk over-the partial response channel (in the same order as they were precoded).
Note that if the c k are half-integers, then the ck' alternate between two sets of 4 values, one set displaced by 1/2 from the other. This has only a minor effect; we can, for example, "dither" alternating coordinates xk by +1/4 and -1/4 so as to accommodate this periodicity. Alternatively, we may let the c k alphabet be integer-valued, e.g., {O, 1, 2, 31; then the c k' are always from the same alphabet, e.g., {zi/2, t3/2). These offsets of ck' or Ck do not affect the d 2 of the code.
min If the encoder is in the form of Figure 8, then Figure 9 can be put in the form of Figure 10, where the same blocks do the same things. In particular, since we have characterized the function f(c k' a k) as one that selects the unique element congruent to c k in a range identified by a k' it does not matter if the precoding changes the c k ' alphabet from the ck alphabet; indeed, the (modulo 4) in the precoder is unnecessary in principle, though possibly useful in practice.
With either Figure 9 or Figure 10, it can be shown that the PRC sequence yk = xk - X k-1 has elements that are congruent to c k (modulo 4), so they fall in the subsets of the original trellis code, and therefore have at least the same 2 The RDS d;in' sequence x k has the same average energy SX as in the original trellis code if the c, alphabet is the saqe k as the Ck alphabet; .even if not, approximate equality still holds. (In the illustrative embodiment, the average energy per coordinate is 10.25, with 1 integer-spaced signals.) If the c k are integers, the xk are independent, identically-distributed random variables, and thus (a) SY = 2S X; (b) the spectrum of: the RDS sequence {X kI is flat (white) within its Nyguist band; (c) the spectrum of the_PRC sequence {yk is the same as that of the partial response channel. Even if the ck are not integers, these statements are still approximately true.
Coset precoding can be modified for other kinds is of partial response systems as follows. For a 1+D (one-dimensional) partial response system, use the same system except with ck-l' subtracted rather than added in precoder 72, so that ck' = C k - Ck-l' (modulo 4). For a 1-D ii system, replace the delay element D by 20 a delay element D L, so that c k' = C k-'L' + c k For a 1+D two-dimensional system, use two 1+D precoders in parallel, with pairs of outputs from the subset selector/serializer as inputs, and with the two outputs determining the real and imaginary (in-phase and quadrature) parts of the two-dimensional signal point to be transmitted.
RDS Feedback Depending on the application, it may be desirable to reduce the average energy S y of the PRC 30 sequence, at the cost of increasing the average,, , energy -S x of the RDS sequence. This will also tend to flatten the PRC spectrum, while raising the low-frequency content of the RDS spectrum. Justesen, "Information Rates and Power Spectra of Digital Codes",IEEE Trans. Inform. Theory, Vol. IT-28, pp. 457-472, 26 1982, has introduced the notion of a "cutoff frequency" f 0 below which the PRC spectrumis small and above which it tends toward flatness, and has shown that f 0 is approximated by f 0 = (S y /2S X)f N' where f N 5 is the Nyquist band edge frequency.) A general method of performing this cradeoff while maintaining the d 2 of the trellis code in min the PRC sequences is to augment the encoder of Figures 9 or 10 as follows.
The PRC sequence may be computed from the RDS sequence; for the 1-D channel, each PRC signal is just Yk xk - x k-l' Referring to Fig. 11, we may let the signal point selector 80 base each x k on x k-1 (by feeding x k back through a delay element 82) as well as on the current precoded coset representative c k' and on the range- identifying parameter a k' in such a way that-large PRC values Yk (calculated in summer 84) are avoided. As long as the signals x k are still chosen to be congruent to the c k' (modulo 4), the signals yk will be congruent to the Ck (modulo 4), and therefore will preserve the d 2 of the min trellis code. (Note that although the idea is to precompute, the PRC value yk to keep it small, what is actually fed back is the previous RDS value x k-11 so that'we call this RDS feedback.) For the illustrative embodiment, this could work as follows. As already noted, the normal selection function f(c k' a k) of selector 80 can be characterized by saying that the 8 inner points are the 8 half-integer values lying in the range fr9m -4 to +4, while the 4 outer points are the 4 half-integer values lying in the range from -6 to -4 and +4 to +6. We can vary the inner point range and outer point range as a function of xk_,, as long as the inner point range I 27 spans a signal points, 2 from each equivalence class, while the outer point range spans 4 signal points, 1 from each equivalence class.
A general way of doing this is to translate all ranges by a translation variable R(xk-1) which is a funcrion of x That is, in the illuszraz4Ave k-l embodiment, the inner point range is modified to be from -4 + R(x._,) to 4 + R(X5), and the outer point - 1 range to be from -6 + R(X k-1) to -4 + R(X k-1) and from 4 + R(x k-1) to 6 + R(x k-l)' The function R(x k-1) should be generally increasing with x k-1 so as to reduce the Yk We have been able to show that the optimum choice is R(xk_l) = axk-l' where 3 is a parameter in the range 0 < 8 < 1. When 3 = 0, the RDS feedback through element 82 disappears and Figure 11 reduces to coset precoding as in Figure 10. With this choice, if S 0 is the value of S X in the ordinary case (2 = 0), then it is approximately true that (a) Sx = S 0 /(1 - a 2); (b) SY = 2S 0/(1 + 3); (c) The spectrum S X (f) of the RDS sequence is proportional to 1/(1 - 22cos () + 3), where e Irf lfN; (d) The spectrum S (f) of the PRC sequence is y 2 proportional to 2(1 - cose)/(1 - 23 cosg + 3 the "cutoff frequency" f 0 is (1-2)f N (e) The xk are limited to the range from -M/2(1+3) to M/2(1-8), and the Yk are limited to the range -M to M, if the range of coordinates in the orignal code is from-- M/2 to M/2.
As 3 approaches 1, S Y approaches S.. and S (f) approaches a flat spectrum with a sharp null at y DC. Meanwhile, SX becomes large and S X(f) 28 approaches a 1/(1-D) spectrum, except that it remains finite near DC. We have been able to show that this is the best possible tradeoff between S x I S y, and S 0 Figures 12, 13, 14 show three equivalent ways 5 of generating xk and/or Yk based on ck, a k, and xk-l' Figure 12 corresponds most c1losely to Figure 11.
In Figure 12, the feedback variable c'k-1 in coset precoder 72 is replaced by xk_,, since c' k-1 = Xk-1 (modulo 4), and only the value of c' k (modulo 4) is used in selector 80. R(a k) denotes the range identified by a k' and R( xk-1) represents the range translation variable introduced by RDS feedback. Since Yk xk - xk-1 = C I k - x k-1 (modulo 4) and c I c + x (modulo 4), k k k-1 Yk ck (modulo 4).
Figures 13 and 14 are mathematically equivalent to Figure 12, in the sense that if they have the same starting value xk_l and the same sequence of inputs (ck' a k), they'will produce the same sets of outputs (xk' Yk)' In Figure 13, Yk is chosen as the unique element c.Ongruent to c k in the range R(a k) + R( xk-1) - Xk-1, and xk is determined from Yk as x k Yk + x (modulo 4), k-1' So Xk C'k Ck + XK-1 and is the unique element in the range R(a k) + R(xk_,) congruent to C'k (modulo 4). In Figure 14, an innovations variable 'k is chosen as the unique element congruent to c" K = Ck + Xk-1 - R(xk-1) (modulo 4) in the range R(a k)' and xk is determined from 'k as x k = i k + R(x - + R( - k-1)' So x k = C"k Xk-1) = C1j,'% (modulo 4), and is the unique element in the range R(ak) + R(xk-1) congruent to C'k (modulo 4).
Figure 12 combines the delay element in the precoder with the delay element necessary f9r RDS feedback, and 29 is most useful if xk is the desired output and the cl k are always from the same alphabet, e.g. (ti/2, t3/21. Figure 13 eliminates the precoder altogether, and is most useful if Yk is the desired output and the 5 Ck are always from the same alphabet, e.g. 1/2, 3/21. Figure 14 takes the range translation variable R(xk_,) outside of the selector, so that the 'k are always chosen from the same range (the union of all R(a k)); the innovations sequence i(D) is approximately a sequence of independent identically distributed random variables 'k (ignoring the minor variations induced by the c'k congruence constraint) and this auxiliary sequence can be useful if a white (spectrally flat) sequence deterministically related to x(D) or y(D) is desired.
Figures 15, 16, 17 illustrate three equivalent filtering arrangements for use with the x(D), y(D), and i(D) sequences of Figures 12, 13, 14. In Figure 15, the RDS sequence x(D) is filtered in a transmit filter H T (f) before being transmitted (as signal s(t)) over the actual channel (not shown). In Figure 16, the PRC sequence y(D) is filtered in a transmit filter H 'T(f) whose response is equivalent to that of a cascade of a 1/(1-D) sampled-data filter and H T (f); since y(D) has a DC null, it does not matter that the response of 1/(1-D) is infinite at DC (particularly if HTM also has a DC null). In Figure 17, the innovations sequence i(D) is filtered in a transmit filter H"T(f) whose response is equivalent to that of a cascade of a 3Q 1/(l-BD) sampled-data filter ar4 HT M; this is equivalent to Figures 15, 16 if R(xk-1) - axk-1; otherwise, the equivalent sampled-data filter is filter corresponding to xk = 'k + R( xk-1), in 1 general nonlinear. Any one of these equivalent forms may be preferable depending on HT(f), R(x k-1), and the implementation technology being used.
Certain modifications of the above RDS feedback systems may be desirable in practice. E-For example, it may be.desirable to change the form of ' the ranges R(a k) from those used when R(x k-l) = 0. For example, in the illustrative embodiment, a simply implemented form of RDS feedback is as follows: when xk-I is positive, let Yk be chosen as usual in the range from -4 to 4 if ak indicates an inner point, but if ak indicates an outer point, let Yk be the number congruent to Ck in the range from -4 to -8; when xk-1 is 1,5 points.
(a) negative, use the range from 4 to 8 for outer Then the range of the PRC sequence Yk is limited to -7 1/2 to +7 1/2, rather than -11 to 11 when there is no RDS feedback; (b) the PRC variance S y is reduced to 13.25 from 20.5, a reduction of 1. 9 dB, and about 1.1 dB above S 0 = 10.25; (c) the mean of Yk is - 3/2 if xk-1 is positive, and + 3/2 if x k-1 is negative, so that the RDS sequence tends to remain in the neighborhood of zero. While it is difficult to compute S x exactly, it follows from the facts that E /2 and E[y.
Nxk-il Sy xk-13 -(3/2) E[jx k-11 3 ithat the mean of the absolute value of x k is SY/3 = 4.42, so that the RDS sequqnce xk is fairly well bounded. (With no RDS feedback, the mean of the absolute value of x k is.2.75); 9 31 (d) the variance of the Yk' given xk-11 is So = 11, about 0.3 dB higher than the SO = 10.25 possible with no RDS feedback. The minimum possible S. for SY = 13.25, SO = 11, is SK = 19.5, corresponding to 3 = 0.66.
2 S.A.nce SX = Six, t E[ 1xl 1, S must be greater than (4.42)f =19.5, so with this simple method we achieve less than the optimal spectral tradeoff; (e) every possible Yk is associated with a unique is pair (c k' a k). As we shall discuss in more detail below, this means that a decoder need not keep track of an estimated running digital sum of the estimated PRC sequence, and that there will be no error propagation in the decoder. In summary, this simple method does not achieve the best power tradeoff between Sx and S y, but does ' effectively limit not only S y but also the peak values of yk, keeps the RDS sequence Xk fairly well bounded, and avoids error propagation at the receiver. Thus these methods allow for trading off of S x versus S y M from the unconstrained case, where the xk sequence is uncorrelated, Sx has the same enerqy So as is necessary to send n bits per symbol in the non-partial- response case, and Sy = 2SXP (ii) almost to the case where the Yk sequence is. uncorrelated, Sy = Sol and S x becomes very large. These tradeaffs are possible for all trellis and lattice codes cited. %N 1 32 Decodin The above methods succeed in generating PRC sequences that belong to a known good code, and therefore have a d 2 at least as great as that of min the code.
Referring to Fig. 18, a suitable detector for the noise received PRC sequence z(D) - y(D) + n(D) is therefore a maximum likelihood sequence estimator (Viterbi algorithm) for the known good code, adapted as 10 follows:
(a) is A first step of decoding may be, for each noisy received PRC value zk "2 Yk "' nk' for each of the four classes of real numbers congruent to the four one-dimensional coset representatives c (modulo 4), j = 1,2,3,4, find (block 92) j.k the closest element Yjk in each class to z k' and its 'metric' z) 2 mjk (Yjk k (squared distance from zk); (b) In a code based on an N-dimensional lattice partition A/A', a second step of decoding may be, for each of the 2p+r cosets of A' in A, to find the best (lowest metric) of the 2q cosets of 4ZN whose union is that coset of A', by summing the respective metrics of the constituent one- dimensional metrics Mjk and comparing these sums (block 94); (C) Decoding can then proceed in the usual manner (block 96), using as a metric for each coset of A' the best metric determined in step (b). The decodRr will ultimately produce an estimate of the sequence of cosets of A', which can be mapped to a sequence of estimated coset representatives ck, which can be mapped to the 33 corresponding Yk# from which the original a k 4 can be recovered if desired (block and xk 98). These last steps require that the decoder A keep track of the running digital sum x of the estimates A k-1 Yk Since the PRC sequences are in the known code, the error probability of this decoder will be at least as good as that of the known code, in the sense of achieving at least the same effective d2 min' Howev6r,.because the PRC sequences are actually only a subset of the known code sequences, such a decoder is not a true maximum likelihood sequence estimator for the PRC sequences. As a result, it may'occasionally decode to a sequence which is not a legitimate PRC sequence.
Legitimate PRC sequences must satisfy the two following additional conditions:
(a) A legitimate finite PRC sequence y(D) must be divisible by 1-D; i.e., the sum of its coordinates must be zero; (b) the range constraints imposed by the signal point selector must be satisfied for all A Yk (or equivalently xk or 1k), based on the reconstructed values of the RDS Xk-10 If this decoder makes a normal decoding error, corresponding to a short period of wrong coset estimates followed by correct coset estimates, it is possible that the corresponding finite PRC error sequence will have a running digital sum other than zero. This will cause a persistent error in the decoder's estimated running digital sum A which may lead to occasional mapping xvi, A ly A errors back to the Yk, ak' and ultimate Xk, even though the cosets ck are correct, for as long as the error in the RDS estimate persists.
1 34 The decoder must therefore continually monitor (block 99) whether the range constraints in the reconstructed ^ and '^ are satisfied. If they are Yk xk not, then it knows that its estimated RDS x' is d^ k-1 incorrect; it should ad-; 1 just X,._ 1 by C...e minimum amount necessary for the range constraint to be sarisfied, assuming that the coset sequence ck is correct. with probability 1, this will eventually result in resynchronization of the estimated RDS to the correct value, and normal decoding can resume. However, there may be a considerable period of error propagation.
Avoidance of Error Propaqation We now give a general method of avoiding error propagation at the receiver. The method works best when the signal constellation consists of all points in A within an N-cube, but is not restricted to that case.
It may be regarded as a generalization of the principles of earlier forms of precoding (modulo M) for use with coded sequences.
The basic idea is that each possible PRC value y,. should correspond to a unique (c, a,) value, when the code can be formulated in one-dimensional form as in Figure 7; or, more generally, that each group of N Yk values should correspond not only to a unique sequence of N ck values but also to a unique set of uncoded bits, if a general N-dimensional signal point selector is used as in Figure 6. Then the inverse map from decoded A to coded and uncoded bits is Yk independent of the decoder's estimate of the running digital sum, so that (a) the decoder need not keep track of the RDS; (b) error propagation does not occur. Thus in Figure 18, block 99 can be eliminated.
1 Figure 19 shows how this may be done where the code can be formulated in one-dimensional form, as in the illustrative embodiment. From c k and a k' a signal point selector selects a value s k = f(ck' ak) as in Figure 8. in the illustrative embodiment, S k takes on one of 12 values, namely, the half-integral values in the range from 6 to 6. In general, sk will take an one of the values from an integer-spaced alphabet in a range of width M; we denote this range by RO, Then, as in Figure 13, Yk is selected as the unique number congruent to s k (modulo M) in the range R 0 + R(x k-l) - x k-l of width M, where R( xk-1) is an RDS feedback translation variable, and x k- i is the previous RDS signal point. The current RDS Xk is computed as Yk + Xk-l' Figures 20 and 21 are equivalent methods of generating xk and/or yk from the sequence sk such that Yk - (modulo M), analogous to Figures 12 = sk and 14. In Figure 21, an innovations variable 'k is generated which is more or less white and uniformly distributed over the range RO, so that its variance 2 So is approximately M /12; thus So = 12 for the illustrative embodiment, a penalty of about 0.7 dB over the value of SO = 10.25 achievable with no RDS feedback. As in Figures 12, 13, 14, all three sequences xk' Yk, and 'k carry the same information, and as in Figures 15, 16, 17, any can be used as the input to a filter which shapes the spectrum for transmission.
The penalty in the innovations variance is elimin'Ated if the original code coordinates are uniformly distribut ' ed over a range RO; i.e., if the original constellation is bounded by an N-cube with side RO - 36 As an illustrative embodiment with a square constellation, we use the same two-dimensional 8-state Ungerboeck encoder as in Figure 2, except with the 128-point constellation of Figure 22 rather than that of Fiqure 3. The constellation consists CAE alternate points from the conventional 256-ooinc 16 x 16 constellation; thus the coordinates have the 16 half-integral values ( t 1/2, t 3/2,..., t 15/2), but with the restriction that the sum of the two coordinates must be an even integer (0, modulo 2). The minimum squared distance between signal points is thus 2, rather than 1; and the d 2. of the code is min 10, rather than 5. The variance of each coordinate is now 21.25 rather than 10.25, which after scaling by 2 is a loss of 0.156 dB relative to the Figure 3 constellation, since the cross is more like a circle than is the square. (In lattice terminology, we are now using the a-way lattice partition RZ 2 /4Z 2 rather than Z 2 /2RZ2).
It will be observed that now each of the eight subsets corresponds to a unique pair of coset representatives (cl,, c 2) modulo 4, such that c 1 + c Therefore, the three coded bits of 2 0 (modulo 2). Figure 2 determine a pair of coset representatives directly in subset selector 24, rather than with the aid of an uncoded bit as in Figure 4. The four uncoded bits then select one of the 16 points in the selected subset. In this case, the uncoded bits may simply be taken two at a time to determine one of thefour ranges -1 to -4, -4 to 0, 0 to 4, or 4 to 8. This is conveniently expressed by letting the two-bit range identifying parameters (a,, a 2) each represent one of the four values {i2, t6); then the coordinate s9lection function is simply s k = f(C k' a k C k 37 + ak' Note that the possible values for sk are the 16 half-inteqral values in the range R 0 from -8 to 8, of width M = 16.
Conventional precoding may then be done modulo 16. The entire encoder is illustrated in B-iq,urre 23. The RDS value xk is the sum sk -f- xk-1 (Modulo 16). In this case the xk values are essentially independent identically distributed (white) random variables, and yk = xk - xk-1 = sk (modulo 16).
To obtain spectral tradeoffs via RDS feedback as in Figures 12, 13, 14, let sk continue to represent the desired congruence class of Yk (modulo 16), and let R(xk-,) be an RDS feedback variable as in Figures 12, 13, 14, ideally equal to Sx k-1. Then Figures 24, 25, 26 show three equivalent methods of obtaining sequences xk and/or Yk - xk - xk-l such that (modulo 16) and S and S have the Yk sk x y desired tradeoff, given S 0 = 21.25. Here R 0 is the range from -8 to 8.
In this case the innovations variable 'k has variance so = 16 /12 = 21.33, essentially the same as the variance'of each coordinate in Figure 22, so that there is no penalty beyond the 0.16 dB involved.in using Fig. 22 rather than Fig. 3.
As already noted, the decoder need not keep track of the RDS, because, given the estimated PRC 4 A 'A sequence, the C d ultimately the Yk k, a k, an original input bit sequence are uniquely determined.
However, if the decoder does keep track of the estimated RDS and thq corresponding ranges that the4 should Yk fall into, it can detect that an error has occucred A whenever the decoded Yk falls outside the estimated is 38 range. Even if not used for error correction, such range violation monitoring can yield an estimate of decoder error rate.
Auqmented Decoders A true maximum likelihood se(Tuence estimator would take into account the entire state of the encoder and channel, which in general will include the value of the-RDS xk-i (the channel state) as well as the state of the encoder C. Such a decoder would achieve the true d 2 of the PRC sequences, and would be free of min error propagation. However, because x k-1 in general takes on a large number of values, in principle possibly an infinite number with RDS feedback, such a decoder may not be practical. In addition, to achieve the true 2 dmin may require an essentially infinite decoding delay because the code/channel combination becomes quasi-catastrophic when n is large, as we shall explain more fully below.
It may be worth considering augmenting the decoder to at least achieve the true d 2. of the min code, however. Because all finite PRC sequences are divisible by 1-b, all finite-weight error sequences must have even weight. Thus, the true d 2 is always min even. In the illustrative embodiment, the true d 2 ' ' is actually 6, not 5. min A general method for achieving the true d2 in such cases while only doubling the min effective number of states in the decoder is as follows. Let the decoder split each state of the encodeg C into two, one corresponding to an even RDS and one to an odd. - During decoding, two sequences then merge into the same state only if their estimated RDS has the same value (modulo 2). Thus, it becomes impossible for two sequences differing by an odd-weight 39 2 error sequence to merge, so that the effective d M:Ln is the weight of the minimum even-weight error sequence in the original code. Further, if there is a decoding error that results in a persistent estimated RDS error, as discussed above, that error must be at least 2, so it will tend to be detected sooner.
The decoder of Figure 18 can be used, modified only as shown in Figure 27. For most codes, each of the subsets of the signal constellation (cosets of A' in A) will contain points all of which have a sum of coordinates which is either even or odd. For example, in Figure 3, four of the eight subsets contain points whose coordinate sum is 0 (modulo 2), and 4 contain points whose coordinate sum is 1 (modulo 2). Thus the is metric of each subset (coset of A' in A) can be determined as before in blocks 92 and 94; the maximum likelihood sequence estimator 196 is then modified to find the best sequence of cosets that (a) is in the code, and (b) has a running digital sum congruent to 2Q zero (modulo 2). The decoded coset sequence is mapped back and xk in block 98 as before, with to Yk adjustment of xk-1 by block 99 if necessary (adjustments will now be by multiples of 2).
There is a drawback to this technique, however, in addition to the doubling of the decoder state space. Two sequences may differ by an odd-weight error sequence followed by a long string of zeros (no differences). The decoder may then follow parallel pairs of states in the decoder trellis for a very long time, without repolving the ambiguity. This 'quasi-catastrophic' behavior can ultimately be resolved by the maximum likelihood sequence estimator only by a range violation 1 due to the differing RDS parity on the two paths. Thus, the decoding delay required to achieve the true 2 d;,, may be very large.
For this reason, it will generally be preferable simply to -choose an encoder C with twice the number of states, and use an unaugmented decoder for C. For example, there is a 16-state 2-dimensional 2 = 6; even though it may Ungerboeck code with d;in have a somewhat larger error coefficient than the 8-state code with an augmented 16-state decoder, we believe that in practice it will be preferable.
It may be worth mentioning that PRC sequences drawn from the 4-state twodimensional Ungerboeck code 2 of 6, since that code has also have a true d; in d 2 4, with the only weight-4 error sequences Min 2 being single coordinate errors of magnitude 2, which are also not divisible by 1-D. A 16-state decoder which keeps track of the RDS modulo 4 can achieve this d 2 However, in this case not only is the code min' quasi-catastrophic, but also the error coefficient is large, so again it would seem that the ordinary 16-state 2D Ungerboeck code would be preferable Quadrature Systems As mentioned earlier, a complex (or quadrature) partial response system (QPRS) may be modeled as a 1 + D sampled-data filter operating on a complex-valued RDS sequence x(D) to produce a complex-valued PRC sequence y(D) = (1 + D) x(D); i.e., yk 251c + 25k-l' When used with doublesideband quadrature amplitude 30%, modulation over a bandpass channel, such a system results in nulls at both band edges, f a:t f N, where f c is the carrier frequency and f. - 1/2T is the width of a single Nyquist band.
41 When N is even and 4Z N is a sublattice of A', as is the case with all good codes previously mentioned, then we can adapt a known good code for use in a QPRS system by using essentially the same principles as before. A Coset of 4Z N can be sDecified by U/2 complex- valued coset represenrat ives c k, where coset representatives take on one of 16 possible values, corresponding to 4 integer-spaced values (modulo 4) for the real and imaginary parts of c k' respectively. The general picture of Figure 8 then holds, except that coset selector 58 and range-identifying parameter selector 64 select N/2 complex-valued coset representatives c k and range-identifying parameters jk, and the signal point selector operates once per quadrature signal and puts out complex-valued signals 25k' Coset precoding as in Figure 9 is done by forming the complex-valued precoded coset c' = c - k -k 2k-l' (modulo 4) once per quadrature symbol. RDSfeedback as in Figures 11, 12, 13 is done by using a function R(ak) that identifies a region of complex space of area 16 that contains exactly one element from any coset of 4Z2., and a complex-valued translation variable R(x k-j), ideally equal to Bx k-1. In the cases where 2Z or 2RZ2 is a sublattice of A', precoding can be done modulo 2 or 2 + 2i, respectively, and R(,gk) can identify a region of area 4 or 8 2 containing exactly one element from any coset of 2Z or 2RZ2. respectively.
Higher-Dimensional Systems 3Q We have shown embodiments in which coordinates of N-dimens-Lonal symbols are formed on a signal-by-signal (one or two-dimensional) basis, with signal-by-signal feedback of the previous RDS value Xk-l Similar kinds of performance can be obtained by 1 42 k..,, 30 systems which select signals on a higher-dimensional basis. In such systems, the precoded coset representatives must be grouped as in Figure 9 so as to select subsets in the appropriate dimension, signal points then selected i,-, that dirmension, and the coordinates then serialized again for transmission over the channel. If the order of cosets is maintained, then such a system retains the property that the PRC sequences are from the given code and have the specified d2.. In such a system it may be more natural to M2n do (RDS) feedback on a higher-dimensional basis rather than on each signal.
N-Dimensional Codes Although representation of codes in one-dimensional form is desirable, it is not essential. In this section we show how codes may be generated directly in N dimensions. In certain forms, the N-dimensional code is entirely equivalent to its one- dimensional counterpart. In other forms, simplified embodiments may be obtained.
Again, we shall use for illustration the a-state 2-dimendional Ungerboecktype code of Figure 2, with the 2-dimensional 128-point constellation of Figure 3. In this constellation, recall that each coordinate takes on values from the alphabet of the 12 half-integral values in the range from -6 to 6; the two-dimensional constellation uses 128 of the 144 possible pairwise combinations of elements of this alphabet.
As a first step, we expand the signal constellation to an infinite number of values, as follows. Let the expanded constellation consist of all pairs of numbers that are congruent to some point in the original (Figure 3) constellation (modulo 12). Thus the 43 points in the expanded constellation consist of pairs of half-integral values. If we regard the original constellation as a cell bounded by a 12 x 12 square 98, then the expanded constellation consists of the infinite repetition of this cell throughout 2-space, as indicated diagrammatically in Figure 28. Note zliat each cell contains only 128 of the 144 possible points; there are 4 x 4 'holes' 99 in the expanded constellation.
The key property of this expanded constellation 101 is that if we place a 12 x 12 square anywhere in the plane (with sides oriented horizontally and vertically), the square will enclose exactly 128 points, one congruent to each of the points in the original constellation. An even more general statement is true:
is if we place a rhombus 102 with horizontal width 12 and vertical height 12 (see Figure 29) anywhere in the plane, it too will enclose 128 points, one congruent to each point in the original constellation, Referring to Figure 30, we may now implement RDS feedback on a two-dimensional basis as follows. Let xk-1 represent the running digital sum of all Yk previous to thecurrent (two- dimensional) symbol. Let R(Xk-1) now denote a region of the plane corresponding to a 12 x 12 rhombus as in Figure 29, with both the shape and the location of the rhombus possibly depending on Xk-l Let (y 91 y) denote the point in v # & v, &-r.1L the original constellation that would be selected (in selectors 104, 105) by the three coded bits and four uncoded bits according to the unconstrained code (Figure 2). Then (in selector 106) select (yk, Yk+1) as the unique, point in the two-dimensional expanded constellation that lies within the region R(xk_,) and is congruent to (yo,k' Yo,k+l) (modulo 44 12); these will be the two coordinates yk. We can obtain (xk, Xk+l) from Xk Yk + x k-l' x k+l Yk+l + Xk as shown.
We now show that this two-dimensional system can produce the same outputs as thxe one-dimensional IRDS feedback system (modulo 12) shown earlier, with the optimal one-dimensional RDS feedback variable R(x k-1) = Bxk-,. Referring to Figure 31, in one dimension, given xk_,, Yk is chosen as the unique value in the range R 0 + ax k-1 - x k-1 congruent to s k (modulo 12), where we now recognize that s k is congruent to y o,k' Hence, one coordinate of the rhombus used in the two-dimensional system can be taken to lie in the same width-12 range. Then, given x k-l and Yk' and thus also xk 2-- Yk + Xk-1' Yk+1 is chosen as the unique value in the range R 0 (1-3)x k = RO (1-O)yk - (1-3)xk_l that is congruent to s YO,k+1 (modulo 12). Thus, lies in the k+l " Yk+1 range RO - (1-3)x k-l (same as Yk), shifted by 2Q -('-B)Yk' Thus, by proper choice of rhombus, we can emulate the performance of a one-dimensional (modulo 12) RDS feedback system'with a two-dimensional system. It will thus have the same advantages, including avoidance of error propagation and near-optimal tradeoff between sx, S y and-SO, and the same disadvantages, notably the increase in S 0 to 12 over the 10. 25 otherwise possible.
We can choose other two-dimensional RDS feedback variables (regions) to further simplify implementation, and achieve other advantages, at the cost of suboptimal power tradeoffs. For example, a system almost identical to the simplified one-dimensional system described earlier results if we 1 let R( xk-1) be the square 120 of side 12 centered at (-2, -2) when xk-1 is positive, and the square 122 centered at (+2, +2) when x k-1 is negative. Thus we use one of the two constellations 124, 126 shown 5 schematically in Figure 32.
As in the previous one-dimensi ' onal system, inner points are always chosen from the same set regardless of xk-1, but outer points are varied so as to bias yk in a positive or negative direction,. The ranges of the yk are strictly limited from -7 1/2 to 7 1/2. In fact, this system is identical to the earlier simplified system, except that Yk+1 is chosen on the basis of Xk-l' rather than xk. In practice, all the measures of performance and spectrum will be very is similar.
Another variant yields a system akin to that of the Calderbank, Lee, and Mazo type. A CLM-type system uses an expanded signal constellation with twice the ordinary number of signal points, divided into two disjoint constellations, one to be used when x k-i is positive, and the other when x k-i is negative. Figure 33, for example, shows a 16 x 16 square constellation divided into two disjoint constellations 110, 112 of 128 points each, such that each such constellation divides evenly into a subsets of 16 points each. One constellation consists of points the sum of whose coordinates is positive or zero and is used when xk-1 is negative; the other consists of points whose coordinate sums are negative or zero and is used when xk-1 is positive. In two dimensions, doubling the constellation size doubles S and thus does not yield y a favorable power tradeoff; however, in higher dimensions the penalty due to the use of two disjoint constellations is less.
46 These ideas can be generalized to N dimensions, as follows. If there is a one-dimensional formulation of the code as in Figure 8, using modulus M, then an N-cube of side M completely surrounds the N-dimensional constellation, and the resulting cell. can be replicated to cover N-space without compromising the minimum squared distance between code sequences that are congruent to original code sequences modulo M. Then we may use an N-dimensional RDS feedback function R( Xk-1), where for all Xk-1. R(x k-1) is a region of N-space of volume that contains exactly one point in each equivalence class of N-vectors modulo M, in an N-dimensional analogue of Figure 30.
is 47
Claims (1)
1. Apparatus for deriving an encoded signal point sequence from an input data signal, comprising means for storing at least.one constellation of signal points related to a given modulation code, the signal points being replicated within the constellation or constellations according to a specified modulo number, means for selecting multi-bit sequences in succession from the input data signal, first selecting means for selecting a set of coset representatives which define a class of congruent co-ordinates in a constellation in accordance with a first portion of a selected multi-bit sequence, second selecting means for selecting a is congruent signal point from the coset representatives in accordance with a second portion of the selected multi-bit sequence, which selected signal point from the constellation of the modulation code is thus related to the selected multi-bit sequence.
2. Apparatus as claimed in claim 1, wherein the first selecting means comprises convolutional encoding means for convolutionally encoding at least a part of the first portion of the selected multi-bit sequence.
3. Apparatus as claimed in claim 1 or 2, wherein the second selecting means comprises range selecting means. the output of- which are a set of range identifying parameters which define a one dimensional subconstellation containing an element congruent to one of the set of selected coset representatives.
Apparatus as claimed in claim li 2 or 3, including 48 means for deriving a running digital sum of a sequence of signal points.
5. Apparatus as claimed in any of claims 1 to 4. wherein the multi-bit sequence is a multi -dimens iona 1 signal, the first selecting means being operable to derive a class representatives.
of o ne dimensional coset 6. Apparatus as claimed in any of claims 1 to 5,. wherein the number of bits in the selected multi-bit code is the same as the number of dimensions in the modulation code.
is 7. Apparatus as claimed in any of claims 1 to 6, including a plurality of constellations at least two of which are disjoint.
8. Apparatus as claimed in any of claims 1 to 7, including a partial response system to an input of which the encoded sequence is transmissable, the system being operable to generate a partial response coded version of each selected signal point sequence, which partial response coded version is a sum of or difference between the selected signal point and a previous, delayed, selected signal point.
9. Apparatus as claimed in claim 8, wherein the first selecting means include precoding means which are operable to derive the set of coset representatives, the precoding means being arranged to receive an initial set of coset representatives and derive a sum of or difference between the initial set and a 49 previous, delayed,, representatives.
selected s et of coset 10. Apparatus as claimed in claim 8 or 9, including a first output at which the partial response coded version of the signal point sequence Is delivered.
11. Apparatus as claimed in claim 8,, 9 or 10j, including a second output at which the signal point sequence is delivered.
is 12. Apparatus as claimed in any of claims 8 to 11 wherein the constellation comprises both a point with a positive sum of co-ordinates and a point with a negative sum of co-ordinates, the first selecting means also including means for monitoring the spectral variance of the encoded signal point sequence, and means for influencing the selection of co-ordinates to adjust the spectral variance of the encoded signal point sequence and/or the variance of the output of the partial response system within a corresponding predetermined range.
13. Apparatus as claimed in any of claims 8 to 12y wherein the output of the partial response system is derived from a Hamming spaced alphabet of possible partial response output signals spaced by a predetermined Hamming distance such that the spectral variance of the partial response output is less than a minimum power (So) required to represent the selected multi-bit sequence with the spaced alphabet.
14. Apparatus as claimed in any of claims 8 to 13, so wherein the partial response output signal is the selected multi-bit sequence encoded according to the modulation code.
15. Apparatus as claimed in any of claims 8 to 14 including means for Hamming spacing a succession of partial response output signals by a specified parameter (B) where the spectral variance of the signal point multi-bit sequence is approximately So/(1-B2) and the variance of the partial response output signal is approximately 2 So/(1+B).
16. Apparatus as claimed in any of claims 8 to 15, wherein the output of the partial response system and the encoded signal point sequence are real and/or complex valued.
51 17. Apparatus as claimed in any of the preceding claims, wherein the given code is a trellis or a. lattice code.
18. Apparatus as claimed in any of the preceding claims, wherein the modulo number is 2 or 4.
19. Apparatus as claimed in any of the preceding claims, including a plurality of constellations having one or more dimensions.
21. A decoder for decoding an input sequence which is encoded according to a given modulation code, comprising decoding means for decoding the input sequence. monitoring means for deriving an estimated running digital sum of the decoded input sequence and means for monitoring the running digital sum and for indicating when the decoded input is outside a permissible range determined in accordance with the running digital sum.
22. A decoder as claimed in claim 21. including means for adjusting the running digital sum when the decoded input is outside the permissible range to bring the decoded input inside the said range.
23. A decoder as claimed in claim 22, including a modified maximum likelihood sequence estimater for generating a group of cosets of a constellation of a given modulation code which cosets are related to the input sequence and the means for adjusting the running digital sum include means for determining the coset I& 52 which biases the running digital sum towards zero which determining means influence the selection of coset by the adjusting means.
24. Apparatus for decoding a partial response encoded signal encoded by an encoder according to a given modulation code having a finite number of states, the apparatus comprising a modified maximum liklelihood sequence estimater operable over a predetermined period to select a plurality of partially decoded sequences of integer spaced values, each sequence corresponding to a combination of the finite number of states according to a finite modulo number, such that each sequence is a constituent of the modulation code corresponding to the encoder being in a particular state at the end of the equivalent predetermined period and is related to an output signal point at the end of the equivalent predetermined period that is congruent to a one of the values having the given modulo number.
25. Apparatus as claimed in claim 24, wherein the modulo number is 2.
26. Apparatus as claimed in claim 24, wherein the modulo number is 4.
27. Apparatus for generating a sequence of digital signals x k and/or a sequence of digital signals yk, k = 1, 2,..., such that the relationship 5 between the x signals and y,. siqnals is y = x ú % K K = X k-L' L an integer, said signals Yk being a sequence in a given modulation code, said apparatus comprising an encoder for selecting J said signals yk, J > " (yk' Yk+l'...yk+j_,) to be congruent to a sequence of J coset representatives ck (modulo M), M an integer, said coset representatives being specified in accordance with said given modulation code, said J symbols being chosen from one of a plurality of J-dimensional constellations, said choice being based on a previous x k" k'<k, at least one of said constellations comprising both a point with a positive sum of coordinates and another point with a negative sum of coordinates, said encoder being arranged so that said signals xk have finite variance Sx.
28. Apparatus f or generating a sequence of digital signals xk and/or a sequence of digital. signals Yk, k = 1, 2,..., such that the relationship between the x k signals and yk signals is Yk Xk " Xi-L' L an integer, said signals yl, being a sequence in a given modulation code, said apparatus comprising an encoder for selecting said signals xk to be congruent to a sequence of alternative coset representatives ck' (modulo M), where ck' = C k -'cIk-L (modulo M), in the case when yk x k + Xk-L' Ck' C k + co k-L (modulo M), in the case where yk = xk xk-L' 1 and where c k is a coset representative specified in accordance with said modulation code.
29. Apparatus for generating a sequence of digital signals x k and/or a sequence of digital signals Yk, k = 1, 2..., capable of representing n bits per signal, such chat the relationship between x and yk is yk = xk xk_r,, L an integer, said xk and yk signals having variances Sx and Sy. said yk signals falling within an alphabet of possible yk signals that are spaced apart within said alphabet evenly by a spacing A, said apparatus comprising an encoder for causing said sequence Yk to have a variance S y less than 2S. and said sequence x to have a variance Sx not much greater than is S/4(S Y-S 0), S 0 being approximately the imum signal-power required to represent n bits per signal with a A-spaced alphabet.
30. The apparatus of claim 29wherein said sequence yk is a sequence in a given modulation code.
31. Apparatus for generating a sequence of digital signals. xk and/or a sequence of digital signals Yk, k = 1, 2,..., such that the relationship between the xk signals and Yk signals is Yk x k " x k-L' L an integer, said x and sequences K 1 K having variances SX and Sy, said symbols yk being a sequence in a given modulation code, said apparatus comprising an encoder for causing said xk and yk signals to have any selectable variances Sx and S 30 within predetermined ranges.
32. -The apparatus of claim 31wherein said k signal sequences are capable of representing n bits per signal, said yk signals fall within an alphabet of 1 1.
possible yk signals that are spaced evenly by an amount &, ranges are controlled by a parameter 0, and Sx is approximately So 1(1_82), and S y is approximately 2SO/(1+3), So being approximately the minimum signal power required to represent n bits Der symbol with a A- sPaced alphabet in accordance with said code.
33. Apparatus for generating a sequence in a given N-dimensional modulation code by generating a sequence of one-dimensional signals, said modulation code being based on an N-dimensional constellation partitioned into subsets associated with said code, said subsets each containing N-dimensional signal points, the choice of said subset being based on coded bits and uncoded bits of said signal points, said apparatus comprising an encoder for deriving from said coded and uncoded bits, for each said N- dimensional symbol, a set of N, M-valued one-dimensional coset representatives Ck corresponding to congruence classes of each of the N coordinates (modulo M), each coset representative designating a subset of one- dimensional values in.a one-dimensional constellation of possible coordinate values for each of said N dimensions, each said one-dimensional signal in said sequence being selected from said possible coordinate values based on uncoded bits.
34. The apparatus of claim 27, 28, 29, or 31 further comprising an output at which said sequence yk is delivered.
35. The apparatus of claim 27, 28, 29 or 31 further comprising an output at which said sequence xk is delivered.
9 36. The apparatus of claim -27, 28, 29 or 31 wherein.L is 1.
37. The apparatus of claim 27, 28, 29 or 31 wherein the relationship between the x, signals and y, signals is yl = x, - X L an inreger.
c :c -L 38. The apparatus of claim 27, 28, 29 or 31 qi. 33 wherein said modulation code is a trellis code.
39. The apparatus of claim 27, 28, 29 or 31 or 33 wherein said modulation code is a lattice code.
40. The apparatus of claim:,27, 28, 29 or 31 or 33 wherein M is 2.
41. The apparatus of claim 27, 2jB, 29 or 31 or 33 wherein M is 4.
4z The apparatus of claim 27, 28, 29 or 31 or 33 wherein M is a multiple of 4.
43. The apparatus of claim 27wherein J is 1.
44. The apparatus of claim 2 wherein i is the same as number N of dimensions in said modulation code. claim 27wherein k' is k-l.
45. The apparatus of A6. The apparatus of claim 27wherein J is 1_ and each said constellation is a one-dimensional range of values centered on Bx k-11 0 < 1.
47. The apparatus of claim 46 wherein 3 > 0.
48. The apparatus of claiM27,dherein there are a fi-nite set of said J-dimensional constellations.
49. The apparatus of claim 48'wherein there are two said J-dimensional constellations.
50. The apparatus of claim 27, 28, 29 or 31 wherein Yk and xk are real valued.
51. The apparatus of claim 27, 28, 29 or 31 wherein yk and xk are complex valued.
52 The apparatus of claim -51 wherein M is 2+2i.
1 1 z k,\ 1 53. The apparatus of claim 27. 28. 29 or 31 wherein at least two of said J-dimensional constellations are not disjoint.
54.% In a decoder for decoding a sequence 5 = YIC + nk, k = 1, 2, -.., into a decoded seauence y,,, where the sequence of signals y. is.such that (a) said sequence is from a given modulation code; (b) the running digital sum xk = Yk-1 + 10 Yk-2 +.. has finite variance S X; (c) said signals Yk fall in a predetermined permissible range dependent on xk', k' < k; (start separate line) and the sequence nk represents noise, a range violation monitor which reconstructs the estimated running digital s + um xk.= Yk + Yk-1 compares said decoded sequence yk with said predetermined permissible range based on said estimated running idigital sum x ll k' < k, and generates an indication when said Yk is outside said permissible range.
55. A decoder according to -claim 54 in which said estimated running digital s is adjusted UM Xk based on said indication so that Yk will be inside said permissible range.
-56. A decoder according to claim 55 in which said adjustment is by the minimum possible amount such that ^ falls inside said permissible range. Yk 57. A decoder for decoding a sequence x k Yk + nk' k = 1, 2,.... where the sequence of 30 signals yk is such that (a) said sequence is from a given modulation code, said code being capable of being generated by an encoder with a finite number 0 of states; t n,, 1 1 1 - 58 (b) Yk -- Xk:c XK-L, L an integer, where said sequence xk has finite variance S X, and the sequence nk represents noise, comprising a modified maximum likelihood sequence estimator adapted to find MQ partial decoded sequences, up to some time K, one such said sequence for each combination of said finite number Q of states and each of a finite number M of integer-spaced values modulo M, such that each said sequence (a) is in said code up to said time K; (b) corresponds to said encoder being in a given said state at said time K; (c) corresponds to a value of xK at said time K that is congruent to a given one of said values, is modulo M.
58. A decoder as in claim 57 wherein M is 2.
59. A decoder as in claim 58 wherein M is 4.
1 Published 1988 at The Patent Office, State House, 6671 High Holborn, London WCIR 4TP. Further copies maybe obtained from The Patent O:Mce. Sales Branch, St Mary Cray, Orpington, Kent BR5 SRI). Printed by Multiplex techniques ltd. St Mary Cray, Kent. Con. 1/87.
1
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US1834587A | 1987-02-24 | 1987-02-24 |
Publications (3)
Publication Number | Publication Date |
---|---|
GB8804283D0 GB8804283D0 (en) | 1988-03-23 |
GB2201567A true GB2201567A (en) | 1988-09-01 |
GB2201567B GB2201567B (en) | 1991-09-25 |
Family
ID=21787463
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
GB8804283A Expired - Lifetime GB2201567B (en) | 1987-02-24 | 1988-02-24 | Improvements in data signal encoders and decoders |
Country Status (9)
Country | Link |
---|---|
JP (1) | JPH06103895B2 (en) |
AU (1) | AU621536B2 (en) |
CA (1) | CA1306543C (en) |
DE (1) | DE3805582C2 (en) |
FR (1) | FR2611332B1 (en) |
GB (1) | GB2201567B (en) |
HK (1) | HK41592A (en) |
NL (1) | NL8800474A (en) |
SG (1) | SG37292G (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0397536A2 (en) * | 1989-05-12 | 1990-11-14 | Codex Corporation | Apparatus for generating sequences of digital signals |
EP0397537A2 (en) * | 1989-05-12 | 1990-11-14 | Codex Corporation | Mapping digital data sequences for data transmission |
CH685525A5 (en) * | 1990-03-12 | 1995-07-31 | Ascom Radiocom Ag | Trellis coded modulation of oscillatory carrier wave |
WO1997016009A1 (en) * | 1995-10-23 | 1997-05-01 | Motorola Inc. | Digital-to-analog communication device and method |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5164963A (en) * | 1990-11-07 | 1992-11-17 | At&T Bell Laboratories | Coding for digital transmission |
DE4201439A1 (en) * | 1992-01-21 | 1993-07-22 | Daimler Benz Ag | High-rate data transmission procedure via digital radio channel - providing multipath propagation compensation by decision feedback equaliser of correctly phased and weighted antenna signal combination |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB1572670A (en) * | 1976-06-18 | 1980-07-30 | Ibm | Data transmission system |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB1250924A (en) * | 1969-06-25 | 1971-10-27 | ||
DE2836445C2 (en) * | 1978-08-19 | 1979-11-15 | Te Ka De Felten & Guilleaume Fernmeldeanlagen Gmbh, 8500 Nuernberg | Circuit arrangement for error detection in digital signals |
GB2118006B (en) * | 1982-03-19 | 1985-09-04 | Gen Electric Co Plc | Transmission systems |
DE3574302D1 (en) * | 1984-10-02 | 1989-12-21 | Toshiba Kk | Optical head apparatus for recording and reproducing data on a recording medium |
NL8403366A (en) * | 1984-11-06 | 1986-06-02 | Philips Nv | DEVICE FOR MONITORING A CMI CODE CONVERTER. |
NL8601603A (en) * | 1986-06-20 | 1988-01-18 | Philips Nv | CHANNEL CODING DEVICE. |
-
1988
- 1988-02-22 AU AU12040/88A patent/AU621536B2/en not_active Expired
- 1988-02-23 CA CA000559516A patent/CA1306543C/en not_active Expired - Lifetime
- 1988-02-23 DE DE19883805582 patent/DE3805582C2/en not_active Expired - Lifetime
- 1988-02-24 JP JP63041783A patent/JPH06103895B2/en not_active Expired - Lifetime
- 1988-02-24 FR FR8802253A patent/FR2611332B1/en not_active Expired - Lifetime
- 1988-02-24 NL NL8800474A patent/NL8800474A/en not_active Application Discontinuation
- 1988-02-24 GB GB8804283A patent/GB2201567B/en not_active Expired - Lifetime
-
1992
- 1992-04-03 SG SG37292A patent/SG37292G/en unknown
- 1992-06-11 HK HK41592A patent/HK41592A/en not_active IP Right Cessation
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB1572670A (en) * | 1976-06-18 | 1980-07-30 | Ibm | Data transmission system |
Non-Patent Citations (2)
Title |
---|
IEEE TRANSACTIONS ON INFORMATION THEORY VOL IT-33 NO. 2 MARCH 1987 PP 177-195 * |
IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. IT-32, NO.6 NOV. 1986 PP 797-815 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0397536A2 (en) * | 1989-05-12 | 1990-11-14 | Codex Corporation | Apparatus for generating sequences of digital signals |
EP0397537A2 (en) * | 1989-05-12 | 1990-11-14 | Codex Corporation | Mapping digital data sequences for data transmission |
EP0397537A3 (en) * | 1989-05-12 | 1992-08-05 | Codex Corporation | Mapping digital data sequences for data transmission |
EP0397536A3 (en) * | 1989-05-12 | 1992-08-05 | Codex Corporation | Apparatus for generating sequences of digital signals |
CH685525A5 (en) * | 1990-03-12 | 1995-07-31 | Ascom Radiocom Ag | Trellis coded modulation of oscillatory carrier wave |
WO1997016009A1 (en) * | 1995-10-23 | 1997-05-01 | Motorola Inc. | Digital-to-analog communication device and method |
Also Published As
Publication number | Publication date |
---|---|
NL8800474A (en) | 1988-09-16 |
JPH06103895B2 (en) | 1994-12-14 |
AU1204088A (en) | 1988-09-08 |
AU621536B2 (en) | 1992-03-19 |
DE3805582C2 (en) | 2001-04-12 |
HK41592A (en) | 1992-06-19 |
GB8804283D0 (en) | 1988-03-23 |
FR2611332A1 (en) | 1988-08-26 |
DE3805582A1 (en) | 1988-09-01 |
FR2611332B1 (en) | 1992-09-11 |
GB2201567B (en) | 1991-09-25 |
CA1306543C (en) | 1992-08-18 |
SG37292G (en) | 1992-05-22 |
JPS63240154A (en) | 1988-10-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5040191A (en) | Partial response channel signaling systems | |
EP0200505B1 (en) | Apparatus for transmitting streams of information bits and methods for estimating the most likely sequence sent | |
Forney et al. | Efficient modulation for band-limited channels | |
US5396518A (en) | Apparatus and method for communicating digital data using trellis coding with punctured convolutional codes | |
Calderbank | Multilevel codes and multistage decoding | |
Ungerboeck | Trellis-coded modulation with redundant signal sets Part I: Introduction | |
Forney et al. | Coset codes for partial response channels; or, coset codes with spectral nulls | |
US7065147B2 (en) | System and method of data communication using turbo trellis coded modulation combined with constellation shaping with or without precoding | |
KR100299289B1 (en) | Slice Predictor for Signal Receivers | |
JP2645432B2 (en) | Communication system receiver, data recovery method, transmitter, and communication system | |
US5159610A (en) | Trellis precoding for modulation systems | |
JPH04322592A (en) | Method and apparatus for encoding modulation | |
KR100924526B1 (en) | Coded modulation for partially coherent systems | |
EP1324558B1 (en) | Multiresolution broadcast transmitter and method using Gaussian trellis shaping to reduce average signal power and corresponding multi-stage decoder | |
EP0383632B1 (en) | Mapping digital data sequences | |
US7003716B2 (en) | Method and apparatus for using multi-dimensional trellis codes over multi-path channels | |
JP2779973B2 (en) | Trellis coding for modulation scheme | |
GB2201567A (en) | Improvements in data signal encoders and decoders | |
US7356088B2 (en) | M-dimension M-PAM trellis code system and associated trellis encoder and decoder | |
EP0397536A2 (en) | Apparatus for generating sequences of digital signals | |
Carden | A Quantized Euclidean Soft-Decision Maximum Likelihood Sequence Decoder: A Concept for Spectrally Efficient TM Systems | |
Pellizzoni et al. | Analysis and implementation of an adjustable-rate multilevel coded modulation system | |
Ho et al. | Joint design of a channel-optimized quantizer and multicarrier modulation | |
Sterian | Wei-type trellis-coded modulation with 2N-dimensional rectangular constellation for N not a power of two | |
EP1443725A1 (en) | Method and apparatus for encoding and decoding trellis modulated data with hyper-cubic constellations |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
732E | Amendments to the register in respect of changes of name or changes affecting rights (sect. 32/1977) | ||
PE20 | Patent expired after termination of 20 years |
Effective date: 20080223 |