IL119604A - Method for encoding data as trellis coded data and apparatus for resolving phase ambiguities - Google Patents

Method for encoding data as trellis coded data and apparatus for resolving phase ambiguities

Info

Publication number
IL119604A
IL119604A IL119604A IL11960492A IL119604A IL 119604 A IL119604 A IL 119604A IL 119604 A IL119604 A IL 119604A IL 11960492 A IL11960492 A IL 11960492A IL 119604 A IL119604 A IL 119604A
Authority
IL
Israel
Prior art keywords
bit
data
output
estimate
differential
Prior art date
Application number
IL119604A
Other versions
IL119604A0 (en
Original Assignee
Qualcomm Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US07/695,397 external-priority patent/US5233630A/en
Application filed by Qualcomm Inc filed Critical Qualcomm Inc
Publication of IL119604A0 publication Critical patent/IL119604A0/en
Publication of IL119604A publication Critical patent/IL119604A/en

Links

Landscapes

  • Error Detection And Correction (AREA)

Description

mm nb ibv mnanb ju jm un-npn H JO T TTIJI O'JIJIJ niTb nvw METHOD FOR ENCODING DATA AS TRELLIS CODED DATA AND APPARATUS FOR RESOLVING PHASE AMBIGUITIES BACKGROUND OF THE INVENTION I. Field of the Invention was d i v i ded ou t from I s rae l Paten t Ann 1 i ca t i OJ1 No . ? Q) 7'p -- an i The present invention^ relates to data communications. More particularly, the present invention relates to a novel and improved method and apparatus for resolving phase ambiguities in trellis coded modulated data.
II. Description of the Related Art The field of data communications is concerned with raising the data throughput of a transmission system with a limited signal to noise ratio (SNR). The use of error correcting circuitry such as the Vilerbi decoder allows system tradeoffs to be made with smaller SNRs or higher data rates to be used with the same bit error rale (UER). The decrease in the SNR needed is generally referred to as coding gain. Coding gain may be determined from simulated bit error performance curves. In a graph of simulated bit error performance curves the UER of uncoded and various code rate data is charted against Eb/N0, where Eb is the energy per bit and N0 is the Gaussian While Noise energy per bit. The coding gain at any point along a bit error performance curve for a particular UER level is determined by subtracting the coded E ND from the uncoded Eb/N0. In the paper "Vilerbi Decoding for Satellite and Space Communication", by J. A. Heller and I. M. Jacobs, IEEE Transactions on Communication Technology, Vol. COM-19, pgs. 835-848, October 1971, extensive results of simulations on various decoder apparatus were reported.
The coding rate and constraint length are used to define the Vilerbi decoder. The coding rale (m/n) corresponds to the number of coding symbols produced (n) for a given number of input bits (m). The coding rale of 1 /2 has become one of the most popular rates, although other code rales are also generally used. One class of codes with m≠l are called [QCPA35PA.C25] punctured codes and are produced by discarding or erasing symbols from the rate 1 /n code. The constraint length (K) is the length of the convolutional code used in the encoding of the data. A constraint length of K=7 is typical in convolutional coding schemes. The convolutional encoder can be thought of as an Finite Impulse Response (FIR) filter with binary coefficients and length K-l. This filter produces a symbol stream with 2K_1 possible states.
The basic principal of the Viterbi algorithm is to take a convolutionally encoded data stream that has been transmitted over a noisy channel and use the properties of the convolutional code to determine the transmitted bit stream. The Viterbi algorithm is a computationally efficient method of updating the conditional probabilities of the best state and the most probable bit sequence transmitted from the possible 2K_1 states. In order to compute this probability, all 2K_1 states for each bit must be computed. The resulting decision from each of these computations is stored as a single bit in a path memory.
A chainback operation, an inverse of the encoding operation, is performed in which the 2K_1 decision bits are used to select an output bit. After many states the most probable path will be selected with a high degree of certainty. The path memory depth must be sufficiently long to allow this probability to approach 1. For a rate 1/2 code, an exemplary path memory depth is about (5·Κ), or 35 states. For a rate 7/8 punctured code the optimal depth increases to 96 states.
Constraint lengths of K less than 5 are too small to provide any substantial coding gain, while systems with K greater than 7 are typically too complex to implement as a parallel architecture on a single VLSI device. As the constraint length increases, the number of interconnections in a fully parallel computation section increases as a function of (2K_1 · L), where L is the number of bits of precision in the state metric computations. Therefore, where K is greater than 7, serial computation devices are generally used which employ large external randorn access memories (RAMs).
In the paper "Channel Coding with Multilevel/Phase Signal" by G. Ungerboeck, IEEE Transactions on Information Theory, Vol. IT-28, pgs. 55-67, January 1982, a trellis coded modulation (TCM) was described.
[OCPA35PA.C25] In Ungerboeck it was shown that within a given spectral bandwidth, it is possible to achieve an Asymptotic Coding Gain of up to 6 dB by employing a rate (k-l)/k convolutional code and doubling the signal set. Unfortunately for each modulation technique and for each bit rate, the maximal coding again is achieved by a different convolutional code. Further disclosed were the results of a search for all convolutional codes for several rates and modulation techniques, and the best codes presented.
In the paper "A Pragmatic Approach to Trellis-Coded Modulation" by A.J. Viterbi, J.K. Wolf, E. Zehavi and R. Padovani, IEEE Communications Magazine, pgs. 11-19, July 1990, a pragmatic approach to trellis coded modulation (PTCM) was disclosed. The underlying concept therein is that a somewhat lower coding gain is achievable by a PTCM based on the "industry standard" rate 1 /2, K=7 convolutional code. Although a lower coding gain is realized, it is very close to the coding gain of Ungerboeck at BERs of interest.
Trellis coding is an attractive coding technique since it possesses an aspect which other coding techniques lack. The power of trellis coding lies in the fact that even though no apparent coding operation is performed on any other bit than the least significant bit of the input data, the decoder is able to provide error correction on all bits. Generally the use of TCM techniques to achieve efficient use of power-bandwidth resources has been limited to low speed applications in digital signal processor implementations. The use of PTCM techniques enable VLSI implementations of an encoder/decoder capable of operating at high rates. A decoder using PTCM techniques is capable of handling different modulation techniques, such as M-ary phase-shift keying (M-ary PSK) including Binary PSK (BPSK), Quadrature PSK (QPSK), 8-PSK, and 16-PSK.
In any phase modulation system, a stable reference is required for coherent demodulation at the receiver. However in a M-ary PSK system, where there is no absolute phase reference, phase ambiguities in the transmitted data may occur in the transmission channel which must be resolved for proper decoding of the received data. Such phase ambiguities, or phase shifts, in the received data can be on the order of 2π/Μ,"4π/Μ, . . . , (Μ-1)(2π/Μ). All phase ambiguities other than integer multiples 4π/Μ can be resolved by known techniques, typically [QCPA35PA.C25] monitoring the growth rate of the state metrics in the Viterbi decoder. However, such techniques do not enable resolution of the phase ambiguities that are integer multiples 4π/Μ. Therefore, the power of trellis coding has been unavailable to high speed data communication systems using M-ary PSK modulation.
It is therefore an object of the present invention to provide a novel method and system for resolving, in an M-ary PSK communication system, phase ambiguities of trellis coded modulated data that are integer multiples 4π/Μ.
SUMMARY OF THE INVENTION The present invention is a novel and improved method and apparatus which utilizes trellis coding in the encoding and decoding of data. In accordance with the present invention an encoder and a decoder are disclosed which overcome the problems of transmission phase ambiguities in M-ary PSK modulation when using trellis coded data.
The encoder receives sets of input data bits, differentially encodes one input data bit of each set and then convolutionally encodes the resultant bit to produce corresponding symbols. In an 8-PSK modulation scheme each set is comprised of two bits while in a 16-PSK modulation scheme each set is comprised of three bits. For 8-PSK modulation the other input data bit from each set of input data bits is directed onto one of two data paths in accordance with the state of the most significant symbol resulting from the convolutional encoding. For 16-PSK modulation the other input data bits from each set of input data bits are directed onto one of two data paths in accordance with the state of the most significant symbol resulting from the convolutional encoding. The data on each data path are independently differentially encoded then remerged into a single output bit stream. The convolutional encoded symbols and the corresponding remerged bit, or bits in the case of 16-PSK modulation, form a signal or phase point used in carrier modulation. In the preferred mapping scheme the least significant bits of the phase point is comprised [QCPA35PA.C25] of the convolutional encoder output while the more significant bits are comprised of the resultant multiplexed differential encoded bits.
The decoder uses a Viterbi decoder and differential decoder to generate an error corrected estimate of the corresponding one bit of the original data. The Viterbi decoder uses branch metrics in the decoding process developed from information contained in the phase of the received signal. The Viterbi decoder output bit is also convolutionally encoded to produce corresponding symbols for use in the recovery of the other corresponding bits. In the case of 8-PSK modulation each most significant data bit is directed onto one of two data paths in accordance with the state of the most significant symbol of the convolutionally re-encoded symbol pair output. Similarly, in the case of 16-PSK modulation the most significant bits of each data bit pair are directed into one of two data bit pair paths in accordance with the state of the most significant symbol of the convolutionally re-encoded symbol pair output. In both cases the data on the two paths are independently differentially decoded then remerged into a single output bit stream. Output from the encoder are the recovered one data bit and other bit, or bits, of the original input data.
BRIEF DESCRIPTION OF THE DRAWINGS The features, objects, and advantages of the present invention will become more apparent from the detailed description set forth below when taken in conjunction with the drawings in which like reference characters identify correspondingly throughout and wherein: Figure 1 is a graph illustrating the signal space for 8-PSK modulation; Figure 2 is a block diagram of an exemplary embodiment of the encoder of the present invention for 8-PSK modulation; Figure 3 is a block diagram of an exemplary embodiment of the decoder of the present invention for data encoded by the encoder of Figure 2; [QCPA35PA.C25] Figure 4 is a graph illustrating the signal space for 16-PSK modulation; Figure 5 is a graph illustrating a data map of the two most significant bits of data in 16-PSK modulation; Figure 6 is a block diagram of an exemplary embodiment of the encoder of the present invention for a 16-PSK modulation; and Figure 7 is a block diagram of an exemplary embodiment of the decoder of the present invention for data encoded by the encoder of Figure 5. Λ DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Referring now to the drawings, Figure 1 illustrates the signal space for 8-PSK modulation for trellis coded data. The signals used in 8-PSK modulation are proportional to: Si = sin ( ¾i ) , (1) for i = 0, 1, . . . , 7, where the signal space is defined by eight sectors Zj such that the signal S, falls at the beginning of a sector Zj. In Figure 1, the sectors Zj are numbered as indicated by the corresponding underlined numeral within each sector. The phase of any point within sector Zi can be expressed by the following relationship: - 0 < ^ (2) for i = 0, 1, . . . , 7.
In the 8-PSK modulation scheme, each sector Zi in which the signal Si corresponds is represented by a three-bit sector value (a, b, c) representative of that sector according to the exemplary mapping scheme illustrated in Figure 1. In other words, the bit value a which is the most significant bit of the sector value identifies the half plane, while the bits (b, c) identify the sector within the half plane. As an illustration of the [QCPA35PA.C25] 52 2 7 mapping scheme in Figure 1, a Ihree-bit seclor value of 111 would be indicative of a signal corresponding lo seclor number 6 (¾) and would be transmitted as a carrier phase shift of 270°. Similarly a carrier signal received having a phase shift of 270° would also correspond to a sector value of 111, provided no phase shift is experienced in the transmission channel.
It should be understood that each sector value corresponds lo one sector, or wedge, of the 1Q planes of Figures 1 and 4. It is critical to understand that the sector values are not the same as traditional "decision^ regions". The sector value for a given sector corresponds lo the three-bit value for 8-PSK, or four-bit value for 16-PSK, mapped lo the phase point bordering the sector on the side clockwise from the center of the sector. Decision regions are generally centered on the transmitted phase points, while in this discussion sectors are immediately counterclockwise from the phase points. Decision regions normally associated with PS modem designs are not relevant to the present discussion.
As mentioned previously, phase ambiguities in the received carrier may result from phase shifts in the transmission channel. In the case of 8-PSK modulation where trellis coded modulation of data is used, phase ambiguities that are integer multiples π/2 need to be resolved by techniques previously unknown. The encoder and decoder as disclosed herein utilizes techniques which enable the resolution of such phase ambiguities.
In a communication system which utilizes TCM with M-ary PSK modulation without an absolute phase reference, the receiver (decoder) phase can differ from Ihe transmitter (encoder) phase, i.e. a phase shift in the transmitted data with respect lo the received data, as discussed above. In the case of 8-PSK modulation, the receiver may differ from the transmitter phase by 0°, 45°, 90°, 135°, 180°, 225°, 270° or 315°. The phase shifts of 45°, 135°, 225° and 315° are delected by a Viterbi or convolutional decoder at the receiver since in these cases the effective error rale of the channel in the absence of noise is 50%. One technique used for detecting these particular phase shifts is monitoring the growth of the state metrics, i.e the normalization rale of the stale metrics is abnormally high. Upon [QCPA35PA.C25] Λ Λ For a phase shift of 180° the coded bits b and c are correct while for Λ Λ phase shifts of 90° and 270° the coded bits b and c are mapped to their inverse with respect to the corresponding transmitted bits. As mentioned previously, the use of a differential encoder in the encoder and n Λ differential decoder in the decoder will ensure that the received bits b Λ and c are correct.
For 8-PS modulation, the Viterbi decoder produces an Λ estimate a ' of the most^slgnificant bit a of the transmitted phase point along with the symbol δ, an estimate of δ discussed later herein. The manner of operation of the Viterbi decoder is the subject of a U.S. Patent No. 5,233,630 entitled "Viterbi Decoder Bit Efficient Chainback Memory Method And Decoder Incorporating Same , "> and assigned to the Assignee of the present invention. Λ Λ In the noiseless case, a ' is the same as a.
With respect to the case of a 180° phase shift the uncoded bit, bit a is always inverled with respect to the corresponding transmitted bit, while for phase shifts of 90° and 270° only certain ones of the uncoded bit a are inverled. I;or purposes of illustration in Table I, each occurrence of an inverled uncoded bit a is highlighted. Whether or not the uncoded Λ Λ bit a is inverled can be identified by the middle bit, bit b , of the three Λ Λ Λ Λ bits (a, b, c ). Although an error corrected version of the bit b is preferably Λ Λ used, bit b', Table I for purposes of illustration considers bit b to not need correction and be the same as the error corrected bit b'.
Referring to Table I, in the case of a 90° phase shift the uncoded bit a is inverted when the error corrected version of the coded middle Λ Λ bit b is a "0". The uncoded bit a is unchanged when the error corrected version of the coded middle bit b is a "1". In the case of a 180° phase shift Ihe uncoded bit a is inverted regardless of the stale of the error corrected Λ version of the coded middle bit b . In the case of a 270° phase shift the uncoded bit a is inverled when Ihe error corrected version of the coded " Λ Λ middle bit b is a "1". The uncoded bit a Is unchanged when the error Λ corrected version of Ihe coded middle bit b is a "0".
[QCPA35PA.C25j Λ Straight differential encoding of the uncoded bit a in the case of a phase shift of 180° will resolve the constant inversion. However, such a technique alone will not resolve inconsistent inversions in the uncoded Λ Λ bit a for phase shifts of 90° and 270°. In these cases the coded middle bit b, preferably the error corrected version thereof, can therefore be used as an indicator of inversions as a supplement to differential encoding.
In the TCM encoder the coded middle bit b is used to split the stream of bits a into two streams ai and ot2. Each of the two streams of uncoded bits cci and ct are differentially encoded with a standard binary differential encoder independently of each other. The coded middle bit b is then used to remerge the two differentially encoded bit streams ai and a2 to produce each bit a.
In the TCM decoder the coded bits b and c are decoded using a Viterbi decoder for error detection and correction. One result of the Λ Viterbi decoding, the bit δ, is then convolu ional encoded to produce the Λ Λ Λ bits b ' and c '. The bit b ' is used to split the stream of ^most significant bits a ' provided by the Viterbi decoder into two streams ai' and a2*. Each of the two streams of uncoded bits -ai' and a2' are differentially decoded with a standard binary differential decoder independently of each other to Λ Λ produce the corresponding bits streams ai and GC2- The coded middle Λ Λ bit b ' is then used to remerge the two differentially encoded bit streams ai Λ Λ and cti to produce each bit a. This technique of separate bit stream Λ differential encoding/decoding using the middle coded bit b ' for Λ differential encoder /decoder selection permits inversions in the bit a ' lo be resolved.
In a communication system using trellis coded modulation, it is necessary to encode the data in a manner that also permits a decoding of the data while overcoming the phase ambiguities caused by the transmission channel. Accordingly, Figure 2 illustrates an exemplary embodiment of a trellis coded modulation (TCM) encoder 10 of the present invention configured for 8-PSK modulation where no phase reference is provided. Encoder 10 receives two bits of input data (α, β) and generates a corresponding three-bit phase point value (a, b, c).
[QCPA35PA.C25] The phase point value is output from encoder 10 to an 8-PSK phase mapper or modem 12 where the phase of a carrier signal is shifted in accordance with the data sector mapping scheme of Figure 1. The output of modem 12 is the phase shifted carrier signal (ø) where: ø = A cos (2π fct + Θ). (3) where: A is the signal amplitude (typically a constant), fc is the carrier frequency, and Θ is the phase offset corresponding to the sector value, and where: Θ = (a · 180°) + (b · 90°) + ((b - c)2 · 45°). (4) Modem 12 may be configured as a conventional phase shift keyed (PSK) digital transmission modem using phase shift techniques well known in the art. For example modem 12 is typically configured to transmit the carrier signal in the form according to equation (1). Using the well known trigonometry formula: cos (x + y) = (cos x · cos y) - (sin x · sin y) (5) a QPSK modem structure may be implemented using an 1 and Q constellation corresponding to Figure 1 to represent the carrier phase shift where : I = cos Θ, and (6) Q = - sin Θ. (7) The I component is mixed directly with the carrier (cos 2π fct) in a first mixer while the Q component is mixed with a 90° phase shifted carrier (sin 2π ίς in a second mixer. The result of each signal mixing is summed in a summer to produce the signal ø where: ø = A cos (2π fct + Θ) = (cos Θ · cos 2π fct) - (sin Θ · sin 2π fct) (8) or ø = A cos (2π fct + 0) = (! · cos 2π fct) + (Q · sin 2π fct). (9) [QCPA35PA.C25] Modem 12 may also be configured to include circuitry for converting the baseband signal to RF frequencies, RF transmission circuitry and an antenna system as is well known in the art.
Encoder 10 in an exemplary form is comprised of multiplexers 14 and 16; differential encoders 18, 20 and 22; and convolutional encoder 24. Encoder 10 is preferably of a VLSI construction with the elements thereof individually of conventional design. Data is input to encoder 10 two bits at a time, bits (α, β), with bit a input to multiplexer 14, and bit β input to differential encoder 20.
In each two-bit input of data, bits (α, β), the bit β is input to differential encoder 22 where it is differentially encoded. Techniques for the differential encoding of bit β, along with circuit designs for differential encoders are well known in the art. Each differentially encoded bit or symbol (δ) corresponding to an input bit β is output from differential encoder 22 as an input to convolutional encoder 24. Convolutional encoder 24 in the exemplary embodiment is a rate 1 /2, =7 convolutional encoder which convolutionally encodes each input bit δ so as to provide two corresponding output bits or symbols (b, c). Techniques for the convolutional encoding of bit 5, along with circuit designs for convolutional encoders, are well known in the art. The bits (b, c) output from encoder 10 are provided as inputs to modem 12.
The most significant bit, bit b, of the bit pair (b, c) is also output from encoder 24 as a select signal to a select input to each of multiplexers 14 and 16. Multiplexer 14 is typically a 1:2 multiplexer which provides data presented at a data input thereof to a selected one of two outputs in accordance with the state of the select signal provided at the select input thereof. In this particular case, the data presented at the input of multiplexer 14 is the bit a of the current bit pair (α, β). With the select signal input coupled to the bit b output of convolutional encoder 24, the state of the bit b generated from bit β of the current bit pair (α, β) determines at which output of multiplexer 14 the bit a is presented. When .the bit b state is in one logic state, for example a logical "0", the bit a is output from multiplexer 14 at a first output as the bit αι· Similarly, when the bit b state is in the other logic state, for example a logical "1", the bit a is output from multiplexer 14 at a second output as the bit aj. In [QCPA35PA.C25] essence, the stream of bits a is broken into two bit streams according to the state of the most significant bit, bit b, of the bit pair (b, c) output from convolutional encoder 24.
Each output of multiplexer 14 is coupled to a respective input of differential encoders 18 and 20. The bit oci is therefore provided to differential encoder 18 while the bit 0.2 is respectively to differential encoder 20. Differential encoders 18 and 20 each differentially encode the respectively received bit ai or 0:2 with respect to a correspondingly previously received bit. The differential encoding of the bits ai and a.2 can be accomplished by any of the techniques well known in the art. Differential encoders 18 and 20 are thus each exercised only when a new input bit is provided thereto. Each of differential encoders 18 and 20 respectively provide an output bit ai or a2 for each corresponding bit ai or 0C2 received. The bits ai or a2 are respectively provided from differential encoders 18 and 20 to separate data inputs of multiplexer 16.
Multiplexer 16 is typically a 2:1 multiplexer which, in accordance with a select signal provided at a select input, provides data at an output selected from data presented at two inputs. The bits a and a2 as presented at the inputs of multiplexer 16 are provided at the output of multiplexer 16, as the bit or symbol a. The bit a is determined in accordance with the state of the bit b generated from bit β of the current bit pair (α, β). In essence, the bit streams ai and a2 are merged into a single bit stTeam corresponding to the most significant bit, bit b, of the bit pair (b, c) output from convolutional encoder 24.
The bit a is provided, along with the bits b and c, at respective inputs of modem 12. Modem 12 assembles the data bits a, b and c in order with the bits a and c respectively being the most significant and least significant bits of a three-bit phase point value. Modem 12 provides the shifted phase carrier signal (0) as discussed above.
Figure 3 illustrates an exemplary embodiment of a modem 30 and TCM decoder 32 of the present invention configured for demodulation of an 8-PSK signal where no phase reference is provided. Modem 30 receives the phase shifted carrier signal 0 which contains information in the form of the phase shift in the carrier. However channel conditions may arise [QCPA35PA.C25] which can result in a phase shift in the transmitted signal o. The received Λ signal ø may be expressed by the following equation: Λ Λ Λ Λ ø = A cos (2π fct + Θ) = A cos (2π fct + θ + ψ) (10) where ψ is the phase shift induced by the transmission channel. Λ Modem 30 converts the received signal ø to quantized 1 and Q components where : Θ = I cos (2π fct ) + Q sin (2π fc ). (11) The I and Q components are provided to decoder 32 where converted to a Λ Λ Λ Λ Λ Λ three-bit sector value (a, b, c ). The sector value (a, b, c ) is again related to the phase of the received signal in accordance with equations (3) and (4). Modem circuitry and techniques well known in the art may be utilized to convert the phase of the received signal to I and Q components. Modem 30 may further include an antenna system, RF circuitry and frequency downconversion circuitry necessary to convert the received signal to baseband as is well known in the art.
Modem 30 provides an output of the I and Q components to decoder 32 for decoding and error correction. Decoder 32 is comprised of branch metrics and sector determination circuitry 34; branch metrics and sector rotation circuitry 36; normalization rate detection circuitry 38; Viterbi decoder 40; multiplexers 42 and 44; differential decoders 46, 48 and 50; and convolutional encoder 52. With the exclusion of circuitry 34 and 38, decoder 32 is also preferably of a VLSI construction with the elements thereof of conventional design. Although circuitry 34 and 38 may also be provided on a single VLSI chip, it is preferred that these elements be provided separately to enable flexibility for the end user and be of a conventional design. It should also be understood that convolutional encoder 52 may be integrated within Viterbi decoder 40.
The I and Q components are provided to determination circuitry 34 which' typically includes an arctangent lookup table (not shown) typically Λ Λ implemented as a read only memory storing values of Θ. The value of Θ is provided to a sector value and branch metric lookup table (not shown), [QCPA35PA.C25] also typically a read only memory, which stores a three-bit sector value along with the branch metrics corresponding to each value of Θ. The sector value and branch metrics are output from determination circuitry 34 to rotation circuitry 36.
Rotation circuitry 36 rotates the three-bit sector value and corresponding branch metrics in the event of a detection by detection circuitry 38 of an usually high normalization rate in Viterbi decoder 40. In the 8-PSK system, a rotation corresponding to a 45° shift in the sector value and related branch metrics is performed. Rotation circuitry 36 may again be configured as a lookup table which is responsive to a signal from detection circuitry 38 for shifting the sector value and branch metrics. Further details on this rotation is discussed below.
Rotation circuitry 36 also contains a delay element (not shown) for providing a delay in the propagation of the sector value as output from rotation circuity 36 due to the computational time required by the Viterbi decoder 40. Λ Λ Λ Using the branch metrics and the sector values (a, b, c ), rotated if necessary, decoder 40 produces best estimates of δ and a, respectively Λ Λ denoted as δ and a1. In the decoding process a simplification in the actual decoding may be used that is the subject of the previously mentioned copending application.
Decoder 40 as previously mentioned also provides an output of normalization data which is used by normalization rate detection circuitry 38 to detect a high normalization rate indicative of channel phase shifts of 45°, 135°, 225° and 315°. Upon detection of a high normalization rate, detection circuitry 38 provides a control signal to rotation circuitry 36 which in response thereto provides a shift in the branch metrics corresponding to a shift in the signal space of π/4, along with a Λ Λ Λ corresponding shift in the sector value bits (a, b, c ). Such a shift in the sector value results in the sector value corresponding to a phase shift of 0°, 90°, 180° and 270°. At each one of these phase shifts the Viterbi decoder is capable of recovering data. However, for cases other than a 0° phase shift, the 0° case being one in which the data is not corrupted by a channel phase shift, the Viterbi decoder is not capable of detecting that the [QCPA35PA.C25] data is in error as a result of a channel phase shift. The Viterbi decoder would therefore produce erroneous estimates of the original data. The present invention augments the Viterbi decoder so as to permit the resolution of phase ambiguity errors in the data caused by a channel phase shift. Λ Decoder 40 provides an output of the bit δ as an input to both differential decoder 50 and convolutional encoder 52. Since the bit δ was differentially encoded prior to convolutional encoding on the transmit end, on the receive end the differential encoding on the bit δ must be Λ Λ decoded to recover the bit β. The bit β is an estimate of the originally encoded bit β.
In order to recover an estimate of the transmitted bit α , designated by a, the bit stream of a ' must be broken into two bit streams with each bit stream independently differentially decoded then recombined into a single bit stream. The breaking of the bit stream into two bit streams and recombining is similar in manner to that of the encoder of Figure 2. Control over the separation and combining of the broken bit stream is provided by the middle bit of the. sector value. However, since errors may occur in the middle bit position of the sector value as received, i.e. in bit b, it is preferred that this error be corrected prior to usage of the bit in decoding the bit stream a '. Therefore the bit δ, which corresponds indirectly to a corrected sector value, is convolutionally encoded to Λ Λ produce the bits (b', c ').
An alternative to re-encoding the bit δ to obtain the Λ Λ Λ bits (b ', c '), from which the bit b ' is used as discussed above, one could obtain a less reliable estimate of these bits directly from the I and Q inputs. Use of the bit b ' generated from error corrected data from Viterbi decoder 40, results in a reduction in errors in this bit with respect to a corresponding bit generated directly from the I and Q components.
Using the preferred technique it should be realized that since the Λ Λ bits (b', c ') are estimates of the originally transmitted bits (b, c) that errors Λ in these estimates may occur. An error in the bit b ' would result in a Λ maximum of three errors in the bit a. However using the preferred [QCPA35PA.C25] re-encoding technique results in a minimization of the possible number of Λ errors in the bit a. Λ Accordingly, the bit δ output from decoder 40 is also provided as an inpu t of convolu tional encoder 52 so as to produce Λ Λ bits b ', c ' which are corrected estimates of the transmitted phase point Λ Λ Λ bits (b, c). The most significant bit (b') of the bit pair (b', c ') is output from convolutional encoder 52 as a select signal to a select input of each of Λ multiplexers 42 and 44. Although the bit c ' is also produced by convolutional encoder 52 this bit is not used.
Multiplexer 42 is typically a 1:2 multiplexer which provides data presented at a data input thereof to a selected one of two outputs in accordance with the state of the select signal provided at the select input thereof. In this particular case, the data presented at the input of multiplexer 42 is the bit a * from the Viterbi decoder. With the select signal input coupled to the bit b' output of convolutional encoder 52, the state of Λ Λ the bit b ' generated from bit δ determines at which ou tput of Λ Λ multiplexer 42 the bit a ' is presented./ When the bit b' state is in one logic state, for example a logical "0", the bit a ' is output from multiplexer 42 at a Λ Λ first output as the bit a 'i. Similarly, when the bit b ' state is in the other logic state, for example a logical "1", ' the bit a ' is output from multiplexer 42 at a second output as the bit a '2 - In essence, the bit stream a ' is broken into two bit streams according to the state of the most Λ Λ Λ significant bit, bit b ' of the bit pair (b ', c ') output from convolutional encoder 52.
Each output of multiplexer 42 is coupled to a respective input of differential decoders 46 and 48. The bit a Ί is therefore provided to decoder 46 while the bit a '2 is respectively to decoder 48. Differential decoders 46 and 48 each differentially decode the respectively received bit a'i or a'2 with respect to a correspondingly previously received bit. The differential decoding of the bits a 'i and a '2 can be accomplished by any of the techniques well known in the art. Differential decoders 46 and 48 are thus each exercised only when a new input bit is provided thereto. Each of Λ Λ differential decoders 46 and 48 respectively provide an output bit c i or 0:2 Λ Λ Λ Λ for each corresponding input bit a 'i or a '2 - The bits a i or a 2 are [QCPA35PA.C25] respectively provided from differential decoders 46 and 48 to separate data inputs of multiplexer 44.
Multiplexer 44 is typically a 2:1 multiplexer which, in accordance with a select signal provided at a select input, provides data at an output Λ Λ selected from data presented at two inputs. The bits ai and CC2 as presented at the inputs of multiplexer 44 are provided at the output of Λ Λ Λ multiplexer 44, as the bit a. The bit a i and (X2 selected for output is Λ Λ determined in accordance with the state of the bit b' generated from bit δ. In essence, the bit stream cti and 0.2 is merged into a single bit stream a Λ Λ Λ corresponding to the most significant bit, bit b ', of the bit pair (b ', c ') output from convolutional encoder 52.
Turning now to the case of 16-PSK modulation, Figure 4 illustrates the signal space and corresponding data mapping. In Figure 4, the signal space is defined by sixteen sectors with the signal falling at the beginning of a sector. In the 16-PSK modulation scheme, each sector to which a signal corresponds is represented by a four-bit sector value (w, x, y, z).
In the case of 16-PSK modulation, the receiver may differ from the transmitter phase by 0°, 22.5°, 45°, 67.5°/ 90°, 112.5°, 135°, 157.5°, 180°, 202.5°, 225°, 247.5°, 270°, 292.5,° 315°, or 3375°. Phase shifts of 22.5°, 67.5°, 112.5°, 157.5°, 202.5°, 247.5°, 292.5,° 315°, or 337.5° are detected at the receiver by a Viterbi decoder since in these cases the effective error rate of the channel in the absence of noise is again 50%. Again a technique used for detecting these particular phase shifts is monitoring the growth of the state metrics, i.e the normalization rate of the state metrics is abnormally high. Upon detecting this phase condition, correction may be made by shifting the branch metrics, such as by simply stepping ahead by π/8 in the signal space.
However, phase shifts of 45°, 90°, 135°, 180°, 225°, 270° and 315° are undetected by the Viterbi decoder and thus other means must be utilized to correct for these conditions. Table II illustrates the transmitted data and corresponding received data for phase shifts in increments of 45°. . Since only a phase shift of 45°, 90°, 135°, 180°, 225°, 270° and 315° and no other noise is assumed in this discussion, the symbols (w, x, y, z) can be used to refer to either the received phase point or the corresponding sector value.
[QCPA35PA.C25] TABLE II TRANSMITTED RECEIVED Λ Λ Λ Λ BITS ( , x, y, z) BITS (νν, χ, ϊ r, z) 0° 45° 90° 135° 180° 225° 270° 315° 0000 1011 1000 1111 1100 0111 0100 0011 0001 1010 1001 1110 1101 0110 0101 0010 0011 0000 1011 1000 1111 1100 0111 0100 0010 0001 1010 1001 1110 1101 0110 0101 0100 0011 0000 1011 1000 mi 1100 0111 0101 0010 0001 1010 1001 1110 1101 0110 0111 0100 0011 0000 1011 1000 mi 1100 0110 0101 0010 0001 1010 1001 1110 1101 1100 0111 0100 0011 0000 1011 1000 1111 1101 0110 0101 0010 0001 1010 1001 1110 1111 1100 0111 0100 0011 0000 1011 1000 1110 1101 0110 0101 0010 0001 1010 1001 1000 1111 1100 0111 0100 0011 0000 1011 1001 1110 1101 0110 0101 0010 0001 1010 1011 1000 1111 1100 0111 0100 0011 0000 1010 1001 1110 1101 0110 0101 0010 0001 From Table II, it can be seen that the two least significant bits of the received phase point, bits y , and z which are coded with a transparent convolutional code, are again always either the right sense or inverted when a phase shift is experienced in the transmission channel. The use of a standard binary differential encoder just prior to the convolutional encoder in the TCM encoder and after the Viterbi decoder in the TCM decoder will correct the phase ambiguities in these two least significant bits. However, the affect of a phase shift on the most significant bits of the phase point as received, bits w and x , is a more difficult problem to overcome, particularly for phase shifts of 45°, 135°, 225° and 315° where one, both or neither of these bits are complemented.
[QCPA35PA.C25] For a phase shift of 90°, 180° and 270° the coded bits (y, z) are correct while for phase shifts of 45°, 135°, 225° and 315° the coded bits (y, z) are mapped to their inverse with respect to the corresponding transmitted bits. As mentioned previously the use of a differential Λ Λ encoder in the encoder and decoder will ensure that the received bits (y, z) are correct.
For 16-PSK modulation, the Viterbi decoder produces an estimate (w1, x') of the most significant bits (w, x) of the transmitted phase Λ point along with the symbol ζ, an estimate of ζ discussed later herein. The manner of operation of the Viterbi decoder is the subject of the previously Λ Λ mentioned copending application. In the noiseless case, (w', x ') is the same as (w, x).
With respect to phase shifts of 90°, 180° and 270°, the uncoded bits bits (w, x) are both always shifted by a fixed amount of rotation with respect to the corresponding transmitted bits. Referring to Figure 5, the uncoded bits (w, x) may be represented by a Gray code. For phase shifts of 90°, 180° and 270° the uncoded bits are respectively rotated by a fixed amount, i.e. -90°, 180° and + 90°, according to the mapping scheme of Figure 5. However, for phase shifts of 45°, 135°, 225° and 270° a fixed amount of rotation is not present in the uncoded bits (w, x).
For purposes of illustration in Table II, each occurrence of a rotated pair of uncoded bits (w, x) is highlighted. In the case of phase shifts of 90°, 180° and 270° the fixed rotation is corrected for by using four-phase (4φ) differential encoding/ decoding. Whether or not a rotation in the uncoded bits (w, x) occurs, a rotation of the bits according to the map of Figure 5, can be identified by the bit y of the four bits (w, x, y, z). Although an error Λ Λ corrected version of the bit y is preferably used, bit y ', Table II for purposes Λ of illustration considers bit y to not need correction and be the same as the Λ error corrected bit y'.
Referring to Table II, in the case of a 45° phase shift the uncoded bits (w, x) are rotated by -90° when the error corrected version of the coded Λ Λ Λ bit y is a "1". The uncoded bits (w, x ) are unchanged when the error Λ corrected version of the coded bit y is a "0". In the case of a 90° phase shift the uncoded bits (w, x) are rotated by -90° regardless of the state of the error [QCPA35PA.C25] Λ corrected version of the coded bit y . In the case of a 135° phase shift the uncoded bits (w, x) are rotated by 180° when the error correcled version of Λ Λ Λ the coded bit y is a "1 ". The uncoded bits (w, x ) are rotated by -90° when Λ the error corrected version of the coded bit y is a "0". In the case of a 180" phase shift the uncoded bits (w, x) are rotated by 180° regardless of the slate of the error corrected version of the coded bit y. Λ Λ In the case of a 225° phase shift the uncoded bits (w, x) are rotated by +90° when the error correcled version of the coded bit y is a "1 ". The uncoded bits (w, x) are rotated by 180° when the error correcled version of Λ the coded bit y is a "0". In the case of a 270° phase shift the uncoded bits (w, x) are rotated by +90° regardless of the stale of the error corrected version of the coded bit y . And finally, in the case of a 315° phase shift the uncoded bits (w, x) are unchanged when the error correcled version of the A Λ Λ coded bit y is a "1 ". However,lhe uncoded bits (w, x ) are rotated by +90° ' Λ when the error correcled version of the coded bit y is a "0".
Straight four-phase differential encoding of the uncoded bits (w, x) in the case of phase shifts of 90°, 180° and 270° will resolve the rotation of the bits. However, such a technique alone will not resolve Λ Λ inconsistent rotations in the uncoded bits (w, x ) for phase shifts Λ of 45°, 135, 225° and and 315°. In these cases the coded bit y, preferably the Λ error corrected version Ihereof (y'), can therefore be used as an indicator of rotation as a supplement to differential encoding.
In the TCM encoder the coded bit y is used to split the stream of bit pairs (η, e), into a two separate streams of bit pairs (η, ε) ι and (η, ε)2· Each of the bit pair streams of uncoded bits (η, ε) ι and (η, ε)2 are differentially encoded with a standard four-phase differential encoder independently of each other. The coded bit y is then used to rcmerge the two differentially encoded bit streams (η, ε)( and (η, )i to produce the bits (w, x).
In the TCM decoder the coded bits (y t z) are decoded using a Viterbi decoder for error detection and correclion. The bit ζ, resulting from the Viterbi decoding, is then convolutional encoded to produce the Λ " Λ Λ Λ Λ bits y ' and z '. The bit ' is used lo split the stream of paired bits (w', x )', Λ Λ also outp-ut from the Viterbi decoder, into two streams, (w', x ')i Λ Λ Λ Λ Λ Λ and (w1, x ')2- Each of the two streams of uncoded bits (w1, x ')i and (w', x ')2 IQCPA35PA.C25] are differentially decoded with a standard four-phase differential decoder independently of each other to produce the corresponding bits Λ Λ Λ Λ Λ streams (η, e )i and (η, ε )2· The coded bit y ' is then used to remerge the two differentially encoded bit streams (η, ε )ι and (η, ε )2 to produce the bits η and ε . This technique of separate bit stream differential encoding/decoding using the coded bit y ' for differential encoder/ decoder Λ Λ selection permits rotations in the bit pair (w', x') to be resolved.
In a communication system using trellis coded modulation, it is necessary to encode the data in a manner that also permits a decoding of the data while overcoming the phase ambiguities caused by the transmission channel. Accordingly, Figure 6 illustrates an exemplary embodiment of a trellis coded modulation encoder 100 of the present invention configured for 16-PSK modulation where again no phase reference is provided. Encoder 100 receives three bits of input data (η, ε, p) and generates the corresponding four-bit phase point value (w, x, y, z).
The phase point value is output from encoder 100 to a 16-PSK mapper or modem 102 where the phase of a carrier signal is shifted in accordance with the the data sector mapping scheme of Figure 4. The output of modem 102 is the phase shifted carrier signal (ø) where again: ø = A cos (2π fct + Θ). (12) where: A is the signal amplitude (typically a constant), fc is the carrier frequency, and Θ is the phase offset corresponding to the sector value, and where: Θ = (w · 180°) + ((w - x)2 · 90°) + (y · 45°) + ((y - z)2 · 22.5°). (13) Modem 102 may be configured as a conventional phase shift keyed (PSK) digital transmission modem using phase shift techniques well known in the art.
Encoder 100 in an exemplary form is comprised of multiplexers 104 and 106; four-phase differential encoders 108 and 110; binary differential encoder 112; and convolutional encoder 114. Encoder 100 is preferably of a VLSI construction with the elements thereof individually of conventional [QCPA35PA.C25] design. Data is input to encoder 100 three bits at a time, bits (η, ε, p), with bits (η, ε) input to multiplexer 104, and bit p input to differential encoder 112.
In each three-bit input (η, ε, p) each bit p is input to differential encoder 112 and differentially encoded with respect to a previously received bit p. Techniques for the differential encoding of bit p, along with circuit designs for differential encoders are well known in the art. Each differentially encoded bit or symbol (ζ) corresponding to an input bit p is output from differential encoder 112 as an input to convolutional encoder 114. Convolutional encoder 114 in the exemplary embodiment is a rate 1 /2, K=7 convolutional encoder which convolutionally encodes each input bit δ so as to provide two corresponding output bits or symbols (y, z). Techniques for the convolutional encoding of bit ζ, along with circuit designs for convolutional encoders, are well known in the art. The bits (y, z) output from encoder 100 are provided as inputs to modem 102.
The most significant bit, bit y, of the bit pair (y, z) is also output from convolutional encoder 114 as a select signal to a select input to each of multiplexers 104 and 106. Multiplexer 104 is typically a 1:2 multiplexer which provides data presented at a data pair input thereof to a selected one of two data pair outputs in accordance with the state of the select signal provided at the select input thereof. In this particular case, the data presented at the data pair input of multiplexer 104 are the bits (η, ε) of the current bit group (η, ε, p). With the select signal input coupled to the bit y , output of convolutional encoder 114, the state of the bit y generated from bit p of the current bit group (η, ε, p) determines at which data pair output of multiplexer 104 the bit pair (η, ε) are presented. When the bit y state is in one logic state, for example a logical "0", the bit pair (η, ε) are output from multiplexer 104 at a first output as the bit pair (η, ε)ι. Similarly, when the bit y state is in the other logic state, for example a logical "1", the bit pair (η, ε) are output from multiplexer 104 at a second output as the bit pair (η, ε)2· In essence, the stream of bit pairs (η, ε) are broken into two bit streams according to the state of the most significant bit, bit y, of the bit pair (y, z) Output from convolutional encoder 114.
[QCPA35PA.C25] Each bit pair output of multiplexer 104 is coupled to a respective bit pair input of differential encoders 108 and 110. The bit pair (η, ε)ι is therefore provided to differential encoder 108 while the bit pair (η, ε)2 is respectively to differential encoder 110. Differential encoders 108 and 110 each differentially encode the respectively received bit pairs (η, ε)ι or (η, ε)2 with respect to a correspondingly previously received bit pair. The differential encoding of the bit pairs (η , ε)ι or (η , ε)2 can be accomplished by any of the techniques well known in the art. Differential encoders 108 and 110 are thus each exercised only when a new input bit pair is provided thereto. Each of differential encoders 108 and 110 respectively provide an output bit pair (w, x)i or (w, x)2 for each corresponding bit pair (η, ε)ι or (η, ε)2 received. The bit pairs (w, x)i and (w, x)2 are respectively provided from differential encoders 108 and 110 to separate data pair inputs of multiplexer 106.
Multiplexer 106 is typically a 2:1 multiplexer which, in accordance with a select signal provided at a select input, provides data at a data pair output selected from data presented at two data pair inputs. The bit pairs (w, x)i and (w, x)2 as presented at the data pair inputs of multiplexer 106 are provided at the data pair output of multiplexer 106, as the bit or symbol pair (w, x). The bit pair (w, x) is determined in accordance with the state of the bit y generated from bit p of the current bit group (η, ε, p). In essence, the bit pair streams (w, x)i and (w, xh are merged into a single bit pair stream corresponding to the most significant bit, bit y, of the bit pair (y, z) output from convolutional encoder 114.
The bit pair (w, x) is provided, along with the bit pair (y, z), at respective inputs of modem 102. Modem 102 assembles the data bits w, x, y and z with the bits ordered (w, x, y and z) from most significant to least significant bits of a four-bit phase point value. Modem 102 provides the shifted phase carrier signal (ø) as discussed above.
Figure 7 illustrates an exemplary embodiment of a modem 120 and TCM decoder 122 of the present invention configured for demodulation of an 16-PSK signal where no phase reference is provided. Modem 120 Λ receives the phase shifted carrier signal ø which contains information in the form of the phase shift in the carrier. However channel conditions [QCPA35PA.C25] may arise which can result in a phase shift in the transmitted signal o. Λ The received signal ø again may be expressed by equation (10). Λ Modem 120 converts the received signal ø to quantized I and Q components according to equation (10). The I and Q components are provided to decoder 122 where converted to a four-bit sector Λ Λ Λ Λ Λ Λ Λ Λ value (w, x,y, z). The sector value (w, x, y, z) is again related to the phase of the received signal in accordance with equations (12) and (13). Modem circuitry and techniques well known in the art may be utilized to convert the phase of the received signal to I and Q components. Modem 120 may further include an antenna system, RF circuitry and frequency downconversion circuitry necessary to convert the received signal to baseband as is well known in the art.
Modem 120 provides an output of the I and Q components to decoder 122 for decoding and error correction. Decoder 122 is comprised of branch metrics and sector determination circuitry 124; branch metrics and sector rotation circuitry 126; normalization rate detection circuitry 128; Viterbi decoder 130; multiplexers 132 and 134; four-phase differential decoders 136 and 138; binary differential decoder 140; and convolutional encoder 142. With the exclusion of circuitry 124 and 128, decoder 122 is again also preferably of a VLSI construction with the elements thereof of conventional design. Although circuitry 124 and 128 may also be provided on a single VLSI chip, it is preferred that these elements be provided separately to enable flexibility for the end user and be of a conventional design. Again, convolutional encoder 142 may be integrated within Viterbi decoder 130.
The I and Q components are provided to determination circuitry 124 which typically includes an arctangent lookup table (not shown) typically implemented as a read only memory storing values of Θ. The value of Θ is provided to a sector value and branch metric lookup table (not shown), also typically a read only memory, which stores a four-bit sector value along with the branch metrics corresponding to each value of Θ. The sector value and branch metrics are output from determination circuitry 124 to rotation circuitry 126.
Rotation circuitry 126 rotates the four-bit sector value and corresponding branch metrics in the event of a detection by detection [QCPA35PA.C25] circuitry 128 of an usually high normalization rate in Viterbi decoder 130. In the 16-PSK system, a rotation corresponding to a 22.5° shift in the sector value and related branch metrics is performed. Rotation circuitry 126 may again be configured as a lookup table which is responsive to a signal from detection circuitry 128 for shifting the sector value and branch metrics. Further details on this rotation is discussed below.
Rotation circuitry 126 also contains a delay element (not shown) for providing a delay in the propagation of the sector value as output from rotation circuity 126 due to the computational time required by the Viterbi decoder 130. Λ Λ Λ Λ Using the branch metrics and the sector values (w, x, y, z), rotated if necessary, decoder 130 produces best estimates of ζ and (w, x), respectively Λ Λ Λ denoted as ζ and (w1, x '). Again the method disclosed in the previously mentioned copending application may be utilized to generate these values.
Decoder 130 as previously mentioned also provides an output of normalization data which is used by normalization rate detection circuitry 128 to detect a high normalization rate indicative of channel phase shifts of 22.5°, 67.5°, 112.5°, 157.5°, 202.5°, 247.5°, 292.5,° 315°, or 337.5°. Upon detection of a high normalization rate, detection circuitry 128 provides a control signal to rotation circuitry 126 which in response thereto provides a shift in the branch metrics corresponding to a shift in the signal space of π/8, along with a corresponding shift in the sector value bits (w, x, y, z). Such a shift in the sector value results in the sector value corresponding to a phase shift of one of 0°, 45°, 90°, 135°, 180°, 225°, 270° and 315°. At each one of these phase shifts the Viterbi decoder is capable of recovering data. However, for cases other than a 0° phase shift, the 0° case being one in which the data is not corrupted by a channel phase shift, the Viterbi decoder is not capable of detecting that the data is in error as a result of a channel phase shift. The Viterbi decoder would therefore produce erroneous estimates of the original data. The present invention augments the Viterbi decoder so as to permit the resolution of phase ambiguity errors in the data caused by a channel phase shift.
[QCPA35PA.C25] Λ Decoder 130 provides an output of the bit ζ as an input to both differential decoder 140 and convolutional encoder 142. Since the bit ζ was differentially encoded prior to convolutional encoding on the transmit Λ end, on the receive end the differential encoding on the bit ζ must be Λ Λ decoded to recover the bit p. The bit p is an estimate of the originally encoded bit p.
In order to recover an estimate of the transmitted bit pair (η, e) i.e. the bit pair (η, ε) the stream of paired bits (w', x") must be broken into two two-bit streams with each bit stream independently four-phase differentially decoded then recombined into a single bit pair stream. The breaking of the bit pair stream into two bit pair streams and recombining is similar in manner to that of the encoder of Figure 6. Control over the separation and combining of the broken bit pair stream is provided by the bit y of the sector value. However, since errors may occur in this bit of the sector value as received, it is preferred that this error be corrected prior to Λ Λ Λ usage of the bit in decoding the bit pair stream (w', x '). Therefore the bit ζ, which corresponds indirectly to a corrected sector value, is Λ Λ convolutionally encoded to produce the bits (y', z')- Again, an alternative to re-encoding the bit ζ to obtain the bits (y', z'), from which the bit y ' is used as discussed above, one could obtain a less reliable estimate of these bits directly from the I and Q inputs. Use of the bit y ' generated from error corrected data from Viterbi decoder 130, results in a reduction in errors in this bit with respect a corresponding bit generated directly from the I and Q components.
Using the preferred technique it should be realized that since the bits (y', z') are estimates of the originally transmitted bits (y, z) that errors in these estimates may occur. However using the preferred re-encoding technique results in a minimization of the possible number of errors in the bit pair (η, ε). Λ Accordingly, the bit ζ output from decoder 130 is also provided as an input of convolu tional encoder 142 so as to produce Λ' Λ bits (y ', z ') which are corrected estimates of the transmitted phase point Λ Λ Λ bits (y, z)... The most significant bit (y*) of the bit pair (y', z ') is output from convolutional encoder 142 as a select signal to a select input of each of [QCPA35PA.C25] multiplexers 132 and 134. Although the bit z ' is also produced by convolutional encoder 142 this bit is not used.
Multiplexer 132 is typically a 1:2 multiplexer which provides data presented at a data pair input thereof to a selected one of two data pair outputs in accordance with the state of the select signal provided at the select input thereof. In this particular case, the data presented at the input Λ Λ of multiplexer 132 is the bit pair (w', x ') from the Viterbi decoder. With the select signal input coupled to the bit y' output of convolutional encoder 142, the state of the bit y ' generated from bit ζ determines at which Λ Λ data pair output of multiplexer 132 the bit pair (w', x ') is presented. When the bit y ' state is in one logic state, for example a logical "0", the bit pair (w', x') is output from multiplexer 132 at a first data pair output as the bit pair (w*, χ')ι· Similarly, when the bit y ' state is in the other logic state, Λ Λ for example a logical "1", the bit pair (w', x ') is output from Λ Λ multiplexer 132 at a second data pair output as the bit pair (w', x ' - In essence, the bit pair stream (w', x ') is broken into two bit pair streams Λ Λ Λ according to the state of the most significant bit, bit y' of the bit pair (y ', z') output from convolutional encoder 142.
Each data pair output of multiplexer 132 is coupled to a respective input of four-phase differential decoders 136 and 138. The bit Λ Λ Λ Λ pair (w', x')i is therefore provided to decoder 136 while the bit pair (w', x')2 is respectively to decoder 138. Differential decoders 136 and 138 each differentially decode, using four-phase techniques, the respectively received bit pair (w', x ')i or (w', x ')2 with respect to a correspondingly previously received bit pair. The differential decoding of the bit pair (w', x')i or (w, x ')2 can be accomplished by any of the techniques well known in the art for four-phase differential decoding. Differential decoders 136 and 138 are thus each exercised only when a new input bit pair is provided thereto. Each of differential decoders 136 and 138 respectively provide an output bit pair (η, ε )i or ( , ε )z for each Λ Λ Λ Λ / Λ corresponding input bit pair (w1, x ')i or (w, χ ')2· The bit pairs (η, ε )ι Λ Λ or (η,·ε )2 are respectively provided from differential decoders 136 and 138 to separate data inputs of multiplexer 134.
Multiplexer 134 is typically a 2:1 multiplexer which, in accordance with a select signal provided at a select input, provides a data pair at a data [QCPA35PA.C25] pair output selected from data pairs presented at two data pair inputs. The Λ Λ Λ Λ bit pairs (η, ε )i and (η, ε )2 as presented at the data pair inputs of multiplexer 134 are provided at the data pair output of multiplexer 134, as Λ Λ Λ Λ Λ Λ the bit pair (η, ε ). The bit pair (η, ε )i or (η, ε )2 selected for output is Λ Λ determined in accordance with the state of the bit y' generated from bit ζ. In essence, the bit pair stream (η, ε)ι and (η, ε ) is merged into a single bit Λ Λ Λ pair stream (η, ε) corresponding to the most significant bit, bit y ', of the bit pair (y', z1) output from convolutional encoder 142.
Utilization of the just described encoder and decoder scheme enables trellis coded modulation to become a practical technique in data communication systems. The present invention therefore permits a viable resolution in the encoding and decoding of trellis coded data to overcome phase ambiguities experienced as a result of the transmission channel. The encoder and decoder may be formed in VLSI form on separate chips or preferably on a single chip. Furthermore, the encoder for both the 8-PSK and 16-PSK modulation may be integrally formed using a sharing of common elements, and similarly so for the decoder. Although the exemplary embodiment of the present invention is disclosed in terms of a rate 1/2, constraint length K=7 code, with 8-PSK and 16-PSK modulation, the teachings of the present invention may be expanded upon to include other code rates, constraint lengths and higher levels of M-ary modulation.
It should also be understood that the present invention is also applicable to not only convolutional codes but also transparent block codes. In such an alternate embodiment of encoders 10 and 100 of Figures 2 and 6, encoders 24 and 114 would be configured as block encoders. In these alternate embodiments consideration must be given to the timing of data flowing through encoders 10 and 100. Block encoders need to have an entire input block of bits β or p to generate a corresponding output block. Since the output bits from the block encoders control the multiplexed encoding of the bits a and (η, ε) it is necessary to insure coordination between the output of the block encoders with the input to the multiplexers of the corresponding bits a and (η, ε). Circuitry such as a memory or shift register(s) prior to the input of multiplexers 1 and 104 would receive the a or (η, ε) bits. The clocking of these bits out of [QCPA35PA.C25] the shift register(s) would be in coordination with the output of the coded bits from the block encoder as provided by the appropriate addressing/ timing logic. This technique would ensure that each bit in the block of encoded bits output from the block encoder would correspond to one of an input a or (η, ε) bit(s) in controlling the multiplexed encoding of these bits.
On the decoding end, Viterbi decoders 40 and 130 would be replaced by corresponding block decoders with the least significant Λ Λ Λ Λ bits (b, c) or (y, z) of the sector value input directly to the block decoder as soft decision data. Encoders 52 and 142 would also be configured as block encoders identical respectively to the block encoders in the corresponding encoder 10 or 100. Again it is necessary to control the timing of the bits a and (w, x) through the multiplexed decoding circuitry. Circuitry such as a memory or shift register(s) with the appropriate addressing/ timing logic would again ensure that each bit in the block of decoded bits output from the block decoder would correspond to one of a re-encoded estimate of the bits b or y that were used in controlling the original encoding of the a and (η, ε) bits. , .■■ The previous description of the preferred embodiments is provided to enable any person skilled in the art to make or use the present invention. The various modifications to these embodiments will be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other embodiments without the use of the inventive faculty. Thus, the present invention is not intended to be limited to the embodiments shown herein but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.
I CLAIM: [QCPA35PA.C25] CANCELLED

Claims (3)

1. -32 - 1 1 960 2 1 . In a decoder for decoding received user data that is trellis coded as phase point data in an M-ary modulation scheme for transmission upon a communication channel which is susceptible to changes in channel conditions so as to induce phase ambiguities in said M-ary modulated signals and resulting in corresponding errors in said phase point data as received, an apparatus for resolving the effect of phase ambiguity errors in said phase point data during the decoding of said trellis coded user data comprising: first decoder means for receiving error corrected estimates of groups of first encoded user data bits, each first encoded user data bit group estimate derived from a corresponding received phase point, decoding each first encoded user data bit group estimate according to a first decoding format so as to provide an output estimate of a first user data bit group, encoding each first encoded user data bit group estimate according to a first coding formal so as to provide a corresponding group of first coded bits; ( second decoder means for receiving estimates of groups of second encoded user data bits, each second encoded user data bit group estimate derived from a corresponding received phase point, said second decoder means responsive to a predetermined bit of each first coded bit group for providing each second encoded user data bit group estimate upon a selected data path of a plurality of data paths, respectively decoding each second encoded user data bit group estimate according to a second decoding formal when provided upon each selected data pa th and providing an output from each selected data path as an estimate of a second user data bit group; and IQC A35PA.C25| -33 - 1 1 9604/2 wherein said first and second user data bit groups represent an estimate of said user data.
2. The apparatus of Claim 1 wherein each of said first encoded user data bit group estimate and said first user data bit group estimate are respectively comprised of a single data bit, each said first coded bit group is comprised of a pair of data bits, and said first decoder means is comprised of: first differential decoder means for receiving and differentially encoding said data bit of said first encoded user data bit group estimate and for providing an output thereof as an estimate of a first user data bit; and convolutional encoder means for receiving and convolulionally encoding said data bit of said first encoded user data bit group estimate and for providing an output of said pair of data bits of said first coded bit group. 3 · The apparatus of Claim 2 wherein each second encoded user data bit group estimate is comprised of a single data bit and said second decoder means is comprised of: first multiplexer means for receiving said data bit of each second encoded user data bit group estimate and a predetermined data bit of said first coded bit group, said first multiplexer means responsive to said predetermined data bit of said first coded bit group for providing said data bit of each second encoded user data bit group estimate as a first output bit at a selected one of two first multiplexer means outputs; second differential encoder means for receiving and differentially , encoding said first output bit when respectively provided thereto from one of said two first multiplexer means outputs, and for providing a corresponding a corresponding second output bit; third differential encoder means for receiving and differentially encoding said first output bit when respectively provided thereto from another one of said two first multiplexer means outputs, and for providing a corresponding third output bit; and second multiplexer means for respectively receiving said second and th i rd output bits, said second multiplexer means responsive to said IQCPA351'A.C25] -3k- 1 1 960 /2 prcdclcrmincd daln bit of said first coded bit group for providing an output of said selected one of said second and th I rd ou tpu t b i ts . k . .' The apparatus of Claim 2 wherein each second encoded user data bit group estimate is comprised of a pair of data bits and said second decoder means is comprised of: first multiplexer means for receiving said data bit pair of each second encoded user data bit group estimate and a predetermined data bit of said first coded bit group, said first multiplexer means responsive to said predetermined data bit of said first coded bit group for providing said data bit pair of each second encoded user data bit group estimate as a first output bit pair at a selected one of two first multiplexer means outputs; second differential encoder means for receiving and differentially encoding said first output bit pair when respectively provided thereto from one of said two first multiplexer means outputs, and for providing a corresponding a corresponding second output bit pair; third differential encoder means for receiving and differentially encoding said first output bit pair when respectively provided thereto from another one of said two first multiplexer means outputs, and for providing a corresponding third output bit pair; and second multiplexer means for respectively receiving said second ar th i rd output bit pairs, said second multiplexer means responsive to said predetermined data bit of said first coded bit group for providing an output of said selected one of said second and output third bit pairs.The apparatus of Claim ^ wherein each of said first encoded user data bit group estimate and said first user data bit group estimate are respectively comprised of a single data bii, each said first coded bit group is comprised of a pair of data bits, and said first decoder means is comprised of: first differential decoder means for receiving and differentially encoding said data bit of said first encoded user data bit group estimate and for providing an output thereof as an estimate of a first user data bit; and IQCI'A35PA.C25) 1 1 9604/2 block encoder means for receiving and transparent block encoding said data bit of said first encoded user data bit group estimate and for providing an output of said pair of data bits of said first coded bit group. .6. In a decoder for decoding trellis coded user data, transmitted as phase point data in an 8-PSK modulation format, in which a Viterbi decoder provides estimates of (1) a first differentially encoded data bit originally subjected in sequence to differential and convolutional encoding for inclusion as a pair of bits of said phase point data, and (2) a differentially encoded second data bit originally subjected to multiplexed differential encoding for inclusion as another bit of said phase point data, a circuit for resolving transmission channel induced phase ambiguities in said phase point data as received at said decoder, comprising: a first differential decoder having an input capable of receiving said first bit estimate, and an output; a convolutional encoder having an input capable of receiving said first bit estimate, a most significant bit output and and a least significant bit output; a first multiplexer having a data input capable of receiving said second bit estimate, a select input coupled to said convolutional encoder most significant bit output and a pair of outputs; a second differential decoder having an input coupled to one of said first multiplexer outputs; a third differential decoder having an input coupled to another one of said first multiplexer outputs; and a second multiplexer having a pair of data inputs each respectively coupled to a different one of said second and third differential decoder outputs, a select input coupled to said convolutional encoder most significant bit output and an output. 7 i ' The circuit of Claim / 6 wherein said convolutional encoder is of a rale 1 /2. 8 . The circuit of Claim & wherein said first, second and third differential encoders are binary differential encoders. (QCPA35PA.C25I -36- 1 1 9604/2 9 . The circuit of Claim η wherein said first, second and third differential encoders are binary differential encoders. ■ In a decoder for decoding trellis coded user data, transmitted as phase point data in an 16-PS modulation format, in which a Viterbi decoder provides estimates of (1) a first differentially encoded data bit origi nally subjected in sequence to differential and convolulional encoding for inclusion as a pair of bits of said phase point data, and (2) a differentially encoded first data bit pair originally subjected to multiplexed differential encoding for inclusion as other bits of said phase point data, a circuit for resolving transmission channel induced phase ambiguities in said phase point data as received at said decoder, comprising: a first differential decoder having an input capable of receiving said first bit estimate, and an output; a convolulional encoder having an input capable of receiving said first bit estimate, a most significant bit output and and a least significant bit output; a first multiplexer having a data input capable of receiving said first bit pair estimate, a select input coupled to said convolutional encoder most significant bit output and a pair of outputs; a second differential decoder having an input coupled to one of said first multiplexer outputs; a third differential decoder having an input coupled to another one of said first multiplexer outputs; and a second multiplexer having a pair of data inputs each respectively coupled to a different one of said second and third differential decoder outputs, a select input coupled to said convolutional encoder most significant bit output and an output. 1 1 . The decode r of Claim i o vv' iere'n said convolutional encoder is of a rale 1 /2. |QCI'A35PA.C25I -37- 1 1 9604/2 1 2 . The decoder of Clai m ro wherein said first differential decode r l s a binary differential decoder, and said second and third differential e ncode rs are four-phase differential decode rs . 1-
3. The decode r of Claim 1= wherein said first differential decode r , is a binary differential decode r a nd saij second and third differential decode rs are four-phase differential decode rs . 1 2* · In a decoder for decoding received user data that is trellis codefel as phase poin t data in an M-ary modulation scheme for transmission upon a communication channel which is susceptible lo changes in channel conditions so as lo induce phase ambiguities in said M-ary modulated signals and resulting in corresponding errors in said phase point data as received, a method for resolving the effect of phase ambiguity errors in said phase point data during the decoding of said trellis coded user data comprising: receiving error corrected estimates of groups of first encoded user data bits wherein each first encoded user data bit group estimate is derived from a corresponding received phase point; decoding each first encoded user data bit group estimate according to a first decoding format so as to provide an output estimate of a first user data bit group; encoding each first encoded user data bit group estimate according lo a first coding formal so as to provide a corresponding group of first coded bits; receiving estimates of groups of second encoded user data bits wherein each second encoded user data bit group estimate is derived from a corresponding received phase point; providing each second encoded user data bit group estimate upon a selected data path of a plurality of data paths in response lo a predetermined bit of each first coded bit group; decoding each second encoded user data bit group estimate according lo a second decoding format when provided upon each selected data path;- [QCPA35PA.C25] -38- 11960V2 providing it 11 output from each selected data palh as an estimate of a λ ' U second user dala bil group; and wherein said iirsl and second user dala bil groups represent an UU estimate of said user dala. The method of Claim 1¾ wherein said step of decoding each λ ' first encoded user data bll group esllmalc comprises Ihe step of differentially decoding each first encoded user dala bll group estimate.The inelhod of Claim l** wherein said slcp of encoding each λ ' iirsl encoded user data bit group esllmalc comprises Ihe slcp of cuuvohilionally encoding each iirsl encoded user dala bil group estimate.The method of Claim wherein said step of decoding each 2 second encoded user dala bil group comprises ihe slcp of differentially decoding each second encoded user dala bil group esllmalc. l8« The method of Claim \k wherein said slcp of encoding each ' first encoded user dala bil group esllinale comprises Ihc slcp of transparent S. HOROWITZ & CO. AGENT FOR THE APPLICANT
IL119604A 1991-05-03 1992-04-30 Method for encoding data as trellis coded data and apparatus for resolving phase ambiguities IL119604A (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US07/695,397 US5233630A (en) 1991-05-03 1991-05-03 Method and apparatus for resolving phase ambiguities in trellis coded modulated data
IL101752A IL101752A (en) 1991-05-03 1992-04-30 Method and apparatus for resolving phase ambiguities in trellis coded modulated data

Publications (2)

Publication Number Publication Date
IL119604A0 IL119604A0 (en) 1997-02-18
IL119604A true IL119604A (en) 1998-01-04

Family

ID=26322441

Family Applications (1)

Application Number Title Priority Date Filing Date
IL119604A IL119604A (en) 1991-05-03 1992-04-30 Method for encoding data as trellis coded data and apparatus for resolving phase ambiguities

Country Status (1)

Country Link
IL (1) IL119604A (en)

Also Published As

Publication number Publication date
IL119604A0 (en) 1997-02-18

Similar Documents

Publication Publication Date Title
US5233630A (en) Method and apparatus for resolving phase ambiguities in trellis coded modulated data
US5428631A (en) Method and apparatus for resolving phase ambiguities in trellis coded modulated data
US5469452A (en) Viterbi decoder bit efficient chainback memory method and decoder incorporating same
CA2176470C (en) Simultaneous demodulation and decoding of a digitally modulated radio signal
US5535228A (en) Device and method for achieving rotational invariance in a multi-level trellis coding system
US5844922A (en) High rate trellis coding and decoding method and apparatus
USRE38010E1 (en) Trellis encoder and decoder based upon punctured rate ½ convolutional codes
US5408499A (en) Multilevel code for transmission device
US6195396B1 (en) Encoding/decoding system using 16-QAM modulation encoded in multi-level blocks
CA2161057C (en) Soft decision digital communication method and apparatus
US6977972B1 (en) Method of hybrid soft/hard decision demodulation of signals with multilevel modulation
US5757856A (en) Differential coder and decoder for pragmatic approach trellis-coded 8-PSK modulation
Pietrobon et al. Rotationally invariant nonlinear trellis codes for two-dimensional modulation
US5173926A (en) Convolutionally-encoded quadrature frequency-modulation system
Simon On the bit-error probability of differentially encoded QPSK and offset QPSK in the presence of carrier synchronization
US5848102A (en) Method and apparatus for encoding/decoding QAM trellis coded data
US5608763A (en) Method and apparatus for decoding a radio frequency signal containing a sequence of phase values
US20050008097A1 (en) Coded modulation scheme for a wirelesss communication system and methods thereof
US20030103582A1 (en) Selective reed-solomon error correction decoders in digital communication systems
NO305629B1 (en) Data transfer ° ring means
IL119604A (en) Method for encoding data as trellis coded data and apparatus for resolving phase ambiguities
EP1326358B1 (en) Scaling of Viterbi decoding based on channel and location information
US20030128777A1 (en) Decision directed phase locked loops (DD-PLL) with multiple initial phase and/or frequency estimates in digital communication systems
US7164734B2 (en) Decision directed phase locked loops (DD-PLL) with excess processing power in digital communication systems
Pellizzoni et al. Analysis and implementation of an adjustable-rate multilevel coded modulation system

Legal Events

Date Code Title Description
FF Patent granted
KB Patent renewed
KB Patent renewed
MM9K Patent not in force due to non-payment of renewal fees
NE Application for restoration - patent lapsed through non-payment of renewal fees (section 60, patents law, 5727-1967)
EXP Patent expired