I. Field of the Invention
The present invention pertains generally to the field of communications, and more particularly to computation of soft decision input metrics for turbo decoders.
II. Background
Transmission of digital data is inherently prone to interference, which may introduce errors into the transmitted data. Error detection schemes have been suggested to determine as reliably as possible whether errors have been introduced into the transmitted data. For example, it is common to transmit data in packets and add to each packet a cyclic redundancy check (CRC) field, for example of a length of sixteen bits, which carries a checksum of the data of the packet. When a receiver receives the data, the receiver calculates the same checksum on the received data and verifies whether the result of the calculation is identical to the checksum in the CRC field.
When the transmitted data is not used in real time, it may be possible to request retransmission of erroneous data when errors are detected. However, when the transmission is performed in real time, such as, e.g., in voice calls over traditional telephones or cellular phones, video conference calls, etc., it is not possible to request retransmission.
Convolutional codes have been introduced to allow receivers of digital data to correctly determine the transmitted data even when errors may have occurred during transmission. The convolutional codes introduce redundancy into the transmitted data and pack the transmitted data into packets in which the value of each bit is dependent on earlier bits in the sequence. Thus, when errors occur, the receiver can still deduce the original data by tracing back possible sequences in the received data.
To further improve the performance of a transmission channel, some coding schemes include interleavers, which mix up the order of the bits in the packet during coding. Thus, when interference destroys some adjacent bits during transmission, the effect of the interference is spread out over the entire original packet and can more readily be overcome by the decoding process. Other improvements may include multiple-component codes that encode the packet more than once, in parallel or in series. For example, it is known in the art to employ an error correction method that uses at least two convolutional coders in parallel. Such parallel encoding is commonly referred to as turbo coding.
Turbo codes are serial or parallel concatenations of two or more constituent coders separated by one or more code interleavers. Turbo codes are often decoded with a relatively efficient iterative algorithm to achieve low error rates at signal-to-noise ratios (SNRs) approaching the Shannon limit. The interleavers and deinterleavers are inserted between the component code encoders and decoders, respectively.
As discussed above, the interleaver in a turbo coder spreads the codewords output from an encoder so that individual bits of a given codeword are separated from each other and transmitted at different times. Consequently, individual bits of a given code experience independent fading such that the bits affected by an error burst belong to different codewords. At the receiver, the received samples are deinterleaved prior to decoding. Hence, the effect of the error burst is spread over the message so that it is possible to recover the data with the original error-correcting code. The performance of turbo codes depends on the length and structure of the code interleavers used. Various types of interleavers are known in the art including, e.g., diagonal interleavers, convolutional interleavers, block interleavers, interblock interleavers, and pseudo-random interleavers. Good turbo code performance can be achieved by using interleavers having pseudo-random structures.
Turbo coding represents an important advancement in the area of forward error correction (FEC). There are many variants of turbo coding, but most types of turbo coding use multiple encoding steps separated by interleaving steps combined with the use of iterative decoding. This combination provides previously unattainable performance with respect to noise tolerance in a communications system. Namely, turbo coding allows reliable communications at lower energy-per-bit per noise power spectral density (Eb/N0) than was previously possible using the existing forward error correction techniques.
For multiple-component codes such as turbo codes, optimal decoding is often a very complex task, and may require large periods of time not usually available for on-line decoding. The task may, in fact, be almost impossible, requiring theoretical completion times on the order of the age of the universe. Iterative decoding techniques have been developed to overcome this problem. Rather than determining immediately whether received bits are zero or one, the receiver assigns each bit a value on a multilevel scale representative of the probability that the bit is one. A common scale, referred to as log-likelihood ratio (LLR) probabilities, represents each bit by an integer in some range, e.g., {−32,31}. A value of 31 signifies that the transmitted bit was a zero with very high probability, and a value of −32 signifies that the transmitted bit was a one, with very high probability. A value of zero indicates that the logical bit value is indeterminate.
Data represented on the multilevel scale is referred to as “soft data,” and iterative decoding is usually soft-in/soft-out, i.e., the decoding process receives a sequence of inputs corresponding to probabilities for the bit values and provides as output corrected probabilities, taking into account constraints of the code. Generally, a decoder that performs iterative decoding uses soft data from former iterations to decode the soft data read by the receiver. During iterative decoding of multiple-component codes, the decoder uses results from decoding of one code to improve the decoding of the second code. When parallel encoders are used, as in turbo coding, two corresponding decoders may conveniently be used in parallel for this purpose. Such iterative decoding is carried out for a plurality of iterations until it is believed that the soft data closely represents the transmitted data. Those bits that have a probability indicating that they are closer to one (for example, values between 0 and 31 on the scale described above) are assigned binary zero, and the remaining values are assigned binary one.
An LLR is thus a probability metric used by a turbo decoder to determine whether a given symbol was transmitted given a particular received symbol. To compute the LLR, an accurate estimate of the SNR and the channel coefficient (a complex scale factor applied to the transmitted signal by the channel) are required. Accurate LLR values are particularly important in turbo decoding applications in which the LLR inputs are typically subjected to nonlinear operations that can amplify inaccuracies in the LLR values and result in unacceptable decoder performance.
It is computationally intensive to compute LLR metrics for dense signal constellations with the high degree of accuracy required. Either an elaborate computation scheme must be employed or a complex decoder structure must be used. Turbo coders are already significantly more complex to implement than are convolutional coders. Hence, it is has proven to be advantageous to maintain the turbo decoder structure at the cost of using a computationally intensive LLR calculation technique. However, it is undesirable to employ a computationally complex LLR calculation algorithm because of the associated drain on processor and memory resources. Moreover, for certain modulation schemes such as eight-ary phase shift keying (8PSK) and sixteen-ary quadrature amplitude modulation (16QAM) it is exceptionally difficult to compute the LLR metrics. It would be desirable to provide a simplified method for deriving the LLR metrics based upon estimation rather than direct computation. Thus, there is a need for a simplified technique for computing the soft-decision input metrics to a turbo decoder without degrading the performance of the decoder.
The present invention is directed to a simplified technique for computing the soft-decision input metrics to a turbo decoder without degrading the performance of the decoder. Accordingly, in one aspect of the invention, a method of approximating log-likelihood ratio metrics for a plurality of turbo encoded symbols, the plurality of turbo encoded symbol having been modulated with square quadrature amplitude modulation signal constellations having gray code labeling, is provided. The method advantageously includes the steps of extracting a complex-valued modulation symbol soft decision on a modulation symbol, the modulation symbol being associated with a plurality of turbo encoded symbols, the complex-valued modulation symbol soft decision having an in-phase component and a quadrature component; scaling the complex-valued modulation symbol soft decision to obtain a log-likelihood ratio metric for a most-significant code symbol of the modulation symbol; and applying a linear combination of a triangle function and a ramp function to the complex-valued modulation symbol soft decision to obtain log-likelihood ratio metrics for remaining code symbols of the modulation symbol.
In another aspect of the invention, a receiver configured to approximate log-likelihood ratio metrics for a plurality of turbo encoded symbols, the plurality of turbo encoded symbol having been modulated with square quadrature amplitude modulation signal constellations having gray code labeling, is provided. The receiver advantageously includes a demodulator configured to extract a complex-valued modulation symbol soft decision on a received modulation symbol, the modulation symbol being associated with a plurality of turbo encoded symbols, the complex-valued modulation symbol soft decision having an in-phase component and a quadrature component; and a log-likelihood ratio computation module coupled to the demodulator and configured to receive the complex-valued modulation symbol soft decision from the demodulator, scale the complex-valued modulation symbol soft decision to obtain a log-likelihood ratio metric for a most-significant code symbol of the modulation symbol, and apply a linear combination of a triangle function and a ramp function to the complex-valued modulation symbol soft decision to obtain log-likelihood ratio metrics for remaining code symbols of the modulation symbol.
In another aspect of the invention, a receiver configured to approximate log-likelihood ratio metrics for a plurality of turbo encoded symbols, the plurality of turbo encoded symbol having been modulated with square quadrature amplitude modulation signal constellations having gray code labeling, is provided. The receiver advantageously includes means for extracting a complex-valued modulation symbol soft decision on a received modulation symbol, the modulation symbol being associated with a plurality of turbo encoded symbols, the complex-valued modulation symbol soft decision having an in-phase component and a quadrature component; means for scaling the complex-valued modulation symbol soft decision to obtain a log-likelihood ratio metric for a most-significant code symbol of the modulation symbol; and means for applying a linear combination of a triangle function and a ramp function to the complex-valued modulation symbol soft decision to obtain log-likelihood ratio metrics for remaining code symbols of the modulation symbol.
In another aspect of the invention, a receiver configured to approximate log-likelihood ratio metrics for a plurality of turbo encoded symbols, the plurality of turbo encoded symbol having been modulated with square quadrature amplitude modulation signal constellations having gray code labeling, is provided. The receiver advantageously includes a processor; and a processor-readable storage medium coupled to the processor and containing a set of instructions executable by the processor to extract a complex-valued modulation symbol soft decision on a received modulation symbol, the modulation symbol being associated with a plurality of turbo encoded symbols, the complex-valued modulation symbol soft decision having an in-phase component and a quadrature component, scale the complex-valued modulation symbol soft decision to obtain a log-likelihood ratio metric for a most-significant code symbol of the modulation symbol, and apply a linear combination of a triangle function and a ramp function to the complex-valued modulation symbol soft decision to obtain log-likelihood ratio metrics for remaining code symbols of the modulation symbol.
In another aspect of the invention, a method of approximating log-likelihood ratio metrics for a plurality of turbo encoded symbols, the plurality of turbo encoded symbol having been modulated with M-ary phase shift keyed signal constellations having gray code labeling, is provided. The method advantageously includes the steps of extracting a complex-valued modulation symbol soft decision on a modulation symbol, the modulation symbol being associated with a plurality of turbo encoded symbols, the complex-valued modulation symbol soft decision having an in-phase component and a quadrature component; scaling the quadrature component to obtain a log-likelihood ratio metric for a most-significant code symbol of the modulation symbol; scaling the in-phase component to obtain a log-likelihood ratio metric for a second-most-significant code symbol of the modulation symbol; and applying a product of a first number and a second number to the complex-valued modulation symbol soft decision to obtain log-likelihood ratio metrics for remaining code symbols of the modulation symbol, the first number being dependent on a magnitude of the complex-valued modulation symbol soft decision, and the second number being dependent on a phase of the complex-valued modulation symbol soft decision.
In another aspect of the invention, a receiver configured to approximate log-likelihood ratio metrics for a plurality of turbo encoded symbols, the plurality of turbo encoded symbol having been modulated with M-ary phase shift keyed signal constellations having gray code labeling, is provided. The receiver advantageously includes a demodulator configured to extract a complex-valued modulation symbol soft decision on a received modulation symbol, the modulation symbol being associated with a plurality of turbo encoded symbols, the complex-valued modulation symbol soft decision having an in-phase component and a quadrature component; and a log-likelihood ratio computation module coupled to the demodulator and configured to receive the complex-valued modulation symbol soft decision from the demodulator, scale the quadrature component to obtain a log-likelihood ratio metric for a most-significant code symbol of the modulation symbol, scale the in-phase component to obtain a log-likelihood ratio metric for a second-most-significant code symbol of the modulation symbol, and apply a product of a first number and a second number to the complex-valued modulation symbol soft decision to obtain log-likelihood ratio metrics for remaining code symbols of the modulation symbol, the first number being dependent on a magnitude of the complex-valued modulation symbol soft decision, and the second number being dependent on a phase of the complex-valued modulation symbol soft decision.
In another aspect of the invention, a receiver configured to approximate log-likelihood ratio metrics for a plurality of turbo encoded symbols, the plurality of turbo encoded symbol having been modulated with M-ary phase shift keyed signal constellations having gray code labeling, is provided. The receiver advantageously includes means for extracting a complex-valued modulation symbol soft decision on a received modulation symbol, the modulation symbol being associated with a plurality of turbo encoded symbols, the complex-valued modulation symbol soft decision having an in-phase component and a quadrature component; means for scaling the quadrature component to obtain a log-likelihood ratio metric for a most-significant code symbol of the modulation symbol; means for scaling the in-phase component to obtain a log-likelihood ratio metric for a second-most-significant code symbol of the modulation symbol; and means for applying a product of a first number and a second number to the complex-valued modulation symbol soft decision to obtain log-likelihood ratio metrics for remaining code symbols of the modulation symbol, the first number being dependent on a magnitude of the complex-valued modulation symbol soft decision, and the second number being dependent on a phase of the complex-valued modulation symbol soft decision.
In another aspect of the invention, a receiver configured to approximate log-likelihood ratio metrics for a plurality of turbo encoded symbols, the plurality of turbo encoded symbol having been modulated with M-ary phase shift keyed signal constellations having gray code labeling, is provided. The receiver advantageously includes a processor; and a processor-readable storage medium coupled to the processor and containing a set of instructions executable by the processor to extract a complex-valued modulation symbol soft decision on a received modulation symbol, the modulation symbol being associated with a plurality of turbo encoded symbols, the complex-valued modulation symbol soft decision having an in-phase component and a quadrature component, scale the quadrature component to obtain a log-likelihood ratio metric for a most-significant code symbol of the modulation symbol, scale the in-phase component to obtain a log-likelihood ratio metric for a second-most-significant code symbol of the modulation symbol, and apply a product of a first number and a second number to the complex-valued modulation symbol soft decision to obtain log-likelihood ratio metrics for remaining code symbols of the modulation symbol, the first number being dependent on a magnitude of the complex-valued modulation symbol soft decision, and the second number being dependent on a phase of the complex-valued modulation symbol soft decision.
In another aspect of the invention, a device for estimating log-likelihood ratio (LLR) decoder metrics from a soft decision having an in-phase component and a quadrature component, the soft decision having been demodulated in accordance with eight-ary phase shift keyed (8PSK) signal constellations having gray code labeling, is provided. The device advantageously includes a first multiplier configured to multiply the in-phase component by a first constant value to generate a first LLR metric; a second multiplier configured to multiply the quadrature component by the first constant value to generate a second LLR metric; and a module configured to subtract an absolute value of the quadrature component from an absolute value of the in-phase component to (1) produce a difference value, (2) add the absolute value of the in-phase component to the absolute value of the quadrature component to produce a sum value, (3) divide a second constant value by a square root of a sum of a square of the in-phase component and a square of the quadrature component to produce a quotient value, and (4) multiply the difference value, the sum value, and the quotient value to generate a third LLR metric.
In another aspect of the invention, a method of estimating log-likelihood (LLR) decoder metrics from a soft decision having an in-phase component and a quadrature component, the soft decision having been demodulated in accordance with eight-ary phase shift keyed (8PSK) signal constellations having gray code labeling, is provided. The method advantageously includes the steps of multiplying the in-phase component by a first constant value to obtain a first LLR metric; multiplying the quadrature component by the first constant value to obtain a second LLR metric; multiplying a subtraction value equal to a difference between an absolute value of the in-phase component and an absolute value of the quadrature component by an addition value equal to a sum of the absolute value of the in-phase component and the absolute value of the quadrature component to obtain an intermediate value; and multiplying the intermediate value by a division value equal to a quotient of a second constant value and a square root of a sum of a square of the in-phase component and a square of the quadrature component to obtain a third LLR metric.
In another aspect of the invention, a device for estimating log-likelihood (LLR) decoder metrics from a soft decision having an in-phase component and a quadrature component, the soft decision having been demodulated in accordance with eight-ary phase shift keyed (8PSK) signal constellations having gray code labeling, is provided. The device advantageously includes means for multiplying the in-phase component by a first constant value to obtain a first LLR metric; means for multiplying the quadrature component by the first constant value to obtain a second LLR metric; means for multiplying a subtraction value equal to a difference between an absolute value of the in-phase component and an absolute value of the quadrature component by an addition value equal to a sum of the absolute value of the in-phase component and the absolute value of the quadrature component to obtain an intermediate value; and means for multiplying the intermediate value by a division value equal to a quotient of a second constant value and a square root of a sum of a square of the in-phase component and a square of the quadrature component to obtain a third LLR metric.
In another aspect of the invention, a device for estimating log-likelihood (LLR) decoder metrics from a soft decision having an in-phase component and a quadrature component, the soft decision having been demodulated in accordance with eight-ary phase shift keyed (8PSK) signal constellations having gray code labeling, is provided. The device advantageously includes a processor; and a memory element coupled to the processor and containing a set of instructions executable by the processor to multiply the in-phase component by a first constant value to obtain a first LLR metric, multiply the quadrature component by the first constant value to obtain a second LLR metric, multiply a subtraction value equal to a difference between an absolute value of the in-phase component and an absolute value of the quadrature component by an addition value equal to a sum of the absolute value of the in-phase component and the absolute value of the quadrature component to obtain an intermediate value, and multiply the intermediate value by a division value equal to a quotient of a second constant value and a square root of a sum of a square of the in-phase component and a square of the quadrature component to obtain a third LLR metric.
In another aspect of the invention, a device for estimating log-likelihood ratio (LLR) decoder metrics from a soft decision having an in-phase component and a quadrature component, the soft decision having been demodulated in accordance with sixteen-ary quadrature amplitude modulation (16QAM) signal constellations having gray code labeling, is provided. The device advantageously includes a first multiplier configured to multiply the in-phase component by a first constant value to generate a first LLR metric; a second multiplier configured to multiply the quadrature component by the first constant value to generate a second LLR metric; a first module configured to subtract a product of a carrier-signal-to-interference (C/I) ratio and a second constant value from an absolute value of the second LLR metric to generate a third LLR metric; and a second module configured to subtract the product of the C/I ratio and the second constant value from an absolute value of the first LLR metric to generate a fourth LLR metric.
In another aspect of the invention, a method of estimating log-likelihood (LLR) decoder metrics from a soft decision having an in-phase component and a quadrature component, the soft decision having been demodulated in accordance with sixteen-ary quadrature amplitude modulation (16QAM) signal constellations having gray code labeling, is provided. The method advantageously includes the steps of multiplying the in-phase component by a first constant value to obtain a first LLR metric; multiplying the quadrature component by the first constant value to obtain a second LLR metric; subtracting a product of a carrier-signal-to-interference (C/I) ratio and a second constant value from an absolute value of the second LLR metric to obtain a third LLR metric; and subtracting the product of the C/I ratio and the second constant value from an absolute value of the first LLR metric to obtain a fourth LLR metric.
In another aspect of the invention, a device for estimating log-likelihood (LLR) decoder metrics from a soft decision having an in-phase component and a quadrature component, the soft decision having been demodulated in accordance with sixteen-ary quadrature amplitude modulation (16QAM) signal constellations having gray code labeling, is provided. The device advantageously includes means for multiplying the in-phase component by a first constant value to obtain a first LLR metric; means for multiplying the quadrature component by the first constant value to obtain a second LLR metric; means for subtracting a product of a carrier-signal-to-interference (C/I) ratio and a second constant value from an absolute value of the second LLR metric to obtain a third LLR metric; and means for subtracting the product of the C/I ratio and the second constant value from an absolute value of the first LLR metric to obtain a fourth LLR metric.
In another aspect of the invention, a device for estimating log-likelihood (LLR) decoder metrics from a soft decision having an in-phase component and a quadrature component, the soft decision having been demodulated in accordance with sixteen-ary quadrature amplitude modulation (16QAM) signal constellations having gray code labeling, is provided. The device advantageously includes a processor; and a memory element coupled to the processor and containing a set of instructions executable by the processor to multiply the in-phase component by a first constant value to obtain a first LLR metric, multiply the quadrature component by the first constant value to obtain a second LLR metric, subtract a product of a carrier-signal-to-interference (C/I) ratio and a second constant value from an absolute value of the second LLR metric to obtain a third LLR metric, and subtract the product of the C/I ratio and the second constant value from an absolute value of the first LLR metric to obtain a fourth LLR metric.
In
The transmitter 10 includes a computer 12 that includes transmitter software executed via a baseband processor (not shown) within the computer 12. The computer 12 is coupled to a turbo encoder 14 and a time division combiner 16. The turbo encoder is coupled to a channel interleaver 18, which is coupled to a first input of a first multiplier 20. A first Walsh function generator 22 is coupled to a second input of the first multiplier 20. An output of the first multiplier 20 is coupled to a first input of a combiner 24.
An output of the time division combiner 16 is coupled to a first input of a second multiplier 26, a second input of which is coupled to a second Walsh function generator 28. An output of the second multiplier 26 is coupled to a second input of the combiner 24. An output of the combiner 24 is coupled to a quadrature pseudo noise sequence (PN) spreader 30. An output of the PN spreader is input to a modulator 32 that is coupled to an antenna 34.
In operation, signals containing data such as voice data or other file data are delivered from the computer 12 to the turbo encoder 14. The turbo encoder 14 encodes the data signal. The turbo encoder 14 is a standard turbo encoder and operates in accordance with turbo encoding principles and methods well known in the art. In a particular embodiment, the turbo encoder 14 is a serial concatenated turbo encoder in which an interleaver (not shown) is disposed between inner and outer constituent, convolutional encoders (also not shown). In an alternate embodiment, the turbo encoder 14 is a parallel concatenated turbo encoder designed in accordance with principles that are well known in the relevant art.
The encoded data signal output from the turbo encoder 14 is then interleaved by the channel interleaver 18 in preparation for Walsh encoding, pseudo-noise (PN) spreading, and modulation. The channel interleaver 18 may be implemented via a conventional interleaver such as a block interleaver.
The computer 12 also provides a predetermined pilot signal, which in the present specific embodiment is a constant equivalent to 1, to the time division combiner 16 with a control signal. The control signal contains rate-control or power-control information for delivery to a corresponding receiver (as described in detail below) to facilitate power and/or code-rate control to maximize communications system efficiency and throughput.
The time division combiner 16 mixes the control signal with the pilot signal in accordance with conventional time division combining methods. The combined signal is input to the second multiplier 26, where it is multiplied by a predetermined Walsh function provided via the second Walsh function generator 28. Similarly, the interleaved data signal output from the channel interleaver 18 is provided to the first multiplier 20 where it is multiplied by another predetermined Walsh function provided by the first Walsh function generator 22.
The resulting Walsh codes output from the first multiplier 20 and the second multiplier 26 are combined via the combiner 24, spread via the PN spreader 30, and subsequently modulated and converted to radio frequency by the modulator 32 in preparation for transmission over a channel via the antenna 34.
The resulting signal transmitted via the antenna 34 is advantageously a composite signal having a data signal, a pilot signal, and a control signal. Once broadcast over a channel, the composite signal will experience multi-path fading and channel interference that must be efficiently detected and compensated for by the receiver system that receives the transmitted signal.
Those skilled in the art will appreciate that the Walsh functions provided by the first Walsh function generator 22 and the second Walsh function generator 28 may be replaced by PN function generators or a combination of Walsh function generators and PN function generators. In addition, the transmitter 10 may be implemented in a base station and/or a mobile station of a cellular or PCS communication system.
In the present detailed description, the terms signal-to-interference and signal-to-noise are equivalent terms.
In
Another input of the first receiver multiplier 50 is coupled to an output of a PN sequence generator 52. An output of the first receiver multiplier 50 is coupled, in parallel, to inputs of a second receiver multiplier 54 and a third receiver multiplier 56. A first receiver Walsh generator circuit 58 and a second receiver Walsh generator circuit 60 also provide input to the second receiver multiplier 54 and the third receiver multiplier 56, respectively. Outputs of the second receiver multiplier 54 and the third receiver multiplier 56 are coupled to inputs of a first accumulator 62 and a second accumulator 64, respectively. An output of the first accumulator 62 is coupled to a sample separator and despreader that provides output to a C/I estimation circuit and a LLR computation circuit, as described in detail below.
In operation, a signal transmitted over a channel such as the RF signal transmitted by the transmitter 10 of
Subsequently, the first receiver multiplier 50 outputs a partially despread signal, which is split onto two separate paths. On one path, the second receiver multiplier 54 multiplies the partially spread sequence by a Walsh function provided by the first receiver Walsh function generator 58. The provided Walsh function is related to the Walsh function provided by the first Walsh function generator 22 of
Similarly, despread signal samples output from the third receiver multiplier 56 are accumulated by the second accumulator 64, which outputs a data signal comprising data signal samples to the C/I estimation circuit and LLR circuit, as described in detail below.
In
In
In
The C/I estimation circuit 120 includes the PN despreader 122, an M-ary Walsh decover circuit 124, a total received signal energy (Io) computation circuit 126, a first constant circuit 136, a pilot filter 128, a subtractor 132, a first multiplier 134, a pilot energy calculation circuit 138, a look-up table (LUT) 140, a second multiplier 142, and a C/I accumulation circuit 144. In the C/I estimation circuit 120, the PN despreader 122 receives digital in-phase (I) and quadrature (Q) signals output from the ADC 48 of
The output of the energy computation circuit 126 is coupled to a positive terminal of the subtractor circuit 132. A negative terminal of the subtractor circuit 132 is coupled to an output terminal of a first multiplier 134. A first input of the first multiplier 134 is coupled to an output of the first constant circuit 136. A second input of the first multiplier 134 is coupled to an output of the pilot energy calculation circuit 138. The pilot filter 128 provides input to the pilot energy calculation circuit 138.
An output of the subtractor 132 is coupled to the LUT 140. An output of the LUT 140 is coupled, in parallel, to a first input of the second multiplier 142 and a first input of a third multiplier 146 in the path weighting and combining circuit 158. A second input of the second multiplier 142 is coupled to the output of the first multiplier 134. An output of the second multiplier 142 is coupled to the C/I accumulator circuit 144, the output of which provides input to the LLR circuit 96.
The path weighting and combining circuit 158 includes a second constant generation circuit 150, a fourth multiplier 148, the third multiplier 146, the constant divider circuit 130, a complex conjugate circuit 152, a fifth multiplier 154, and a path accumulator circuit 156. In the path weighting and combining circuit 158, a first terminal of the fourth multiplier 148 is coupled to the output of the pilot filter 128, which is also coupled to an input of the pilot energy calculation circuit 138 in the C/I estimation circuit 120. A second terminal of the fourth multiplier 148 is coupled to the second constant generation circuit 150. An output of the fourth multiplier 148 is coupled to a second input of the third multiplier 146. The output of the third multiplier 146 provides input to the complex conjugate circuit 152. The output of the complex conjugate circuit 152 is coupled to a first input of the fifth multiplier 154. An output of the constant divider circuit 130 is coupled to a second input of the fifth multiplier 154. An output of the fifth multiplier 154 is coupled to an input of the path accumulator circuit 156. The output of the path accumulator circuit 156 is coupled to a second input of the LLR circuit 96. The output of the LLR circuit is coupled to an input of a decoder (not shown).
In operation, the PN despreader 122 receives the I and Q signals and despreads L fingers, i.e., L individual paths (I). The PN despreader 122 despreads the I and Q signals using an inverse of the PN sequence used to spread the I and Q signals before transmission over the channel. The construction and operation of the PN despreader 122 is well known in the art.
Despread signals are output from the PN despreader 122 and input to the M-ary Walsh decover circuit 124 and the Io computation circuit 126. The Io computation circuit 126 computes the total received energy (Io) per chip, which includes both a desired signal component and an interference and noise component. The Io computation circuit provides an estimate (Îo) of Io in accordance with the following equation:
in which N is the number of chips per pilot burst, and is 64 in the present specific embodiment, and • represents the received despread signal output from the PN despreader 122.
Those skilled in the art would appreciate that Io may, in the alternative, be computed before despreading by the PN despreader 122. For example, the Io computation circuit 126 may receive direct input from the I and Q signals received from the ADC 48 of
The M-ary Walsh decover circuit 124 decovers orthogonal data signals, called data channels, and pilot signals, called the pilot channel, in accordance with methods known in the art. In the present specific embodiment, the orthogonal data signals correspond to one data channel s that is represented by the following equation:
s=√{square root over (MÊs,l)}·ej{circumflex over (θ)}
in which M is the number of chips per Walsh symbol, Ês,l is the modulation symbol energy of the Ith multipath component, {circumflex over (θ)}l is the phase of the data channel s, and Xt is the information-bearing component of the data channel s. The decovered data channel is provided to a decoder (as described in detail below) and to the constant divider circuit 130 of the path weighting and combining circuit 158.
It should be understood that while the embodiments described herein are adapted for use with signals comprising various Walsh codes, the embodiments are easily adaptable for use with other types of codes by those ordinarily skilled in the art.
The pilot channel is input to the pilot filter 128. The pilot filter 128 is an averaging filter that acts as a lowpass filter, which removes higher frequency noise and interference components from the pilot channel. The output of the pilot filter 128 p is represented by the following equation:
p=M√{square root over (Êp,l)}·ejθ
in which M is the number of chips per Walsh symbol, Êp,l is the pilot chip energy of the Ith multipath component, and θl is the phase of the filtered pilot channel p.
An estimate of the energy of the filtered pilot channel p is computed via the pilot energy calculation circuit 138, which is a square of the complex amplitude of the filtered pilot channel p represented by equation (3). The square of the complex amplitude of the filtered pilot channel p is multiplied by a predetermined scale factor c described by the following equation:
in which Ior is the received energy of the desired signal, i.e., is equivalent to Io less noise and interference components. Ep is the pilot chip energy. The scale factor c is a known forward link constant in many wireless communications systems.
The scale factor c is multiplied by the energy of the filtered pilot signal p via the first multiplier 134 to yield an accurate estimate Îor,l of the energy of the received desired signal (lo less noise and interference components) associated with the Ith multipath component of the received I and Q signals.
The accurate estimate Îor,l is subtracted from the estimate of Io via the subtractor 132 to yield an accurate measurement of the interference energy (Nt,l) associated with the Ith multipath component. Nt,l is then provided to the LUT 140, which outputs the reciprocal of Nt,l to the third multiplier 146 in the path weighting and combining circuit 158 and to the first input of the second multiplier 142. The second input of the second multiplier 142 is coupled to the output of the first multiplier 134, which provides Îor,l at the second input terminal of the second multiplier 142. The second multiplier 142 outputs an accurate estimate of the C/Il (the C/I associated with the Ith multipath component) in accordance with the following equation:
The accurate C/I value is then accumulated over L paths in the received signal via the C/I accumulator circuit 144. The accumulated C/I values are then provided to the LLR circuit 96 and to a rate/power request generation circuit (not shown), the construction of which is known in the art.
In the path weighting and combining circuit 158, the fourth multiplier 148 multiplies the filtered pilot signal p by a constant k provided by the second constant generation circuit 150. The constant k is computed in accordance with the following equation:
in which Es is the modulation symbol energy, Ep is the pilot symbol energy, and M is the number of Walsh symbols per chip as mentioned above. The ratio of Es to Ep is often known or can be determined for both reverse-link and forward-link transmissions.
The output of the fourth multiplier 148 provides an estimate of the channel coefficient {circumflex over (α)} described by the following equation:
{circumflex over (α)}=√{square root over (Ês,l)}·ej{circumflex over (θ)}
in which Ês,l is an estimate of the modulation symbol energy of the Ith multipath component, and {circumflex over (θ)}l is an estimate of the phase of the pilot signal.
The channel estimate is then multiplied by the reciprocal of the interference energy Nt,l associated with the Ith multipath component by the third multiplier 146. The interference energy Nt,l includes both interference and noise components. The complex conjugate circuit 152 then computes the conjugate of the output of the third multiplier 146, which represents maximal ratio path combining weights. The maximal ratio path combining weights are then multiplied by the corresponding data symbol output from the divider circuit 130 via the fifth multiplier 154. The data symbol d is represented by the following equation:
d=√{square root over (Ês,l)}·ej{circumflex over (θ)}
in which the variables are as given for equation (2).
The output of the fifth multiplier 154 represents optimally weighted data signals that are then accumulated over the L paths that comprise the signals via the path combiner circuit 156. The resulting optimally combined data signals are provided to the LLR circuit 96, which facilitates the calculation of optimal soft decoder inputs to a decoder (as described in detail below).
The soft decisions on the modulation symbols resulting from the path combining and repeat combining may be denoted (YI,YQ), with YI denoting the in-phase soft decision and YQ denoting the quadrature soft decision. The soft decisions (YI,YQ) are transformed into LLRs on the code symbols by the LLR circuit 96. The LLRs constitute the soft-decision input to the turbo decoder (not shown). As those of skill in the art would understand, the manner in which the soft decisions (YI,YQ) on the modulation symbols are transformed into LLR metrics on the underlying code symbols, and accordingly, the construction of the LLR circuit 96, is dictated by the modulation scheme employed.
Those skilled in the art would understand that computation of LLR metrics in a Quadrature Phase Shift Keyed (QPSK) modulation scheme is relatively straightforward by comparison to such computations for modulation schemes such as eight-ary phase shift keying (8PSK) and sixteen-ary quadrature amplitude modulation (16QAM). In a QPSK modulation scheme, each complex modulation symbol (YI,YQ) conveys information about two code symbols, c1 and c0. In fact, the in-phase component YI carries all the information about the code symbol c0, while the quadrature component YQ carries all the information about the remaining codeword c1. If (YI,YQ) is normalized in such a way that its mean amplitude is equal to the C/I ratio, the modulation soft decisions YI and YQ may be transformed into LLR metrics on the code symbols c0 and c1 in accordance with the following equations:
LLR(c0)=2√{square root over (2)}YI [9]
and
LLR(c1)=2√{square root over (2)}YQ [10]
Exemplary circuits for computation of LLR metrics in connection with a QPSK modulation scheme are described in U.S. application Ser. No. 09/311,793, filed May 13, 1999, entitled SYSTEM AND METHOD FOR PERFORMING ACCURATE DEMODULATION OF TURBO-ENCODED SIGNALS VIA PILOT ASSISTED COHERENT DEMODULATION, now U.S. Pat. No. 6,377,607, issued Apr. 23, 2002 to Ling et al., and U.S. application Ser. No. 09/310,053, filed May 11, 1999, entitled SYSTEM AND METHOD FOR PROVIDING AN ACCURATE ESTIMATION OF RECEIVED SIGNAL INTERFERENCE FOR USE IN WIRELESS COMMUNICATIONS SYSTEMS, both of which are assigned to the assignee of the present invention and fully incorporated herein by reference.
If an 8PSK modulation scheme is employed, computing the LLR metrics becomes much more difficult. In accordance with one embodiment, the LLR metrics used in connection with an 8PSK modulation scheme with gray code labeling are advantageously estimated. As described above, (YI,YQ) is normalized in such a way that its mean amplitude is equal to the C/I ratio. Because the modulation scheme is 8PSK, each complex modulation symbol (YI,YQ) conveys information about three code symbols, c2, c1, and c0. The first code symbol, c2, is the most-significant symbol of a received, 8PSK-modulated codeword conveying information regarding a transmitted bit. The third code symbol, c0, is the least-significant symbol of the received, 8PSK-modulated codeword. Simplified estimates of the LLR metrics on the code symbols c2, c1, and c0 are advantageously obtained from the modulation symbol soft decisions (YI,YQ) in accordance with the following equations:
LLR(c1)=2.6131YI [12]
and
LLR(c2)=2.6131YQ [13]
In accordance with one embodiment, as shown in
In operation, the in-phase component, YI, of a demodulated soft decision is provided to the first multiplier 202. A constant digital value of 2.6131 is also provided to the first multiplier 202. The first multiplier 202 multiplies the in-phase component YI with the digital value 2.6131, generating an LLR metric, LLR(c1), on the code symbol c1. Those skilled in the art would appreciate that the digital value need not be restricted to precisely 2.6131. Other values could be employed to yield a less accurate estimation of the LLR metric LLR(c1).
The quadrature component, YQ, of the demodulated soft decision is provided to the second multiplier 204. The constant digital value of 2.6131 is also provided to the second multiplier 204. The second multiplier 204 multiplies the quadrature component YQ with the digital value 2.6131, generating an LLR metric, LLR(c2), on the code symbol c2. Those skilled in the art would appreciate that the digital value need not be restricted to precisely 2.6131. Other values could be employed to yield a less accurate estimation of the LLR metric LLR(c2).
The in-phase and quadrature components, YI and YQ, are also provided to the absolute value circuit 210, which generates the absolute values, |YI| and |YQ|, of the components. The absolute values |YI|, |YQ| are provided to the squaring circuit 212, which squares the provided values, generating squared values YI2 and YQ2. The absolute value circuit 210 and the squaring circuit 212 may be implemented with hardware circuits whose construction would be understood by those of skill in the art. The absolute value circuit 210 and the squaring circuit 212 may also be implemented with a conventional processor or DSP executing a stored set of software or firmware instructions. Or a combination of both implementations may be employed. The squared value YI2 is provided to the first adder 214. The squared value YQ2 is also provided to the first adder 214. The first adder 214 adds the squared values and provides the sum, (YI2+YQ2), to the LUT 220.
The LUT 220 is advantageously ROM memory configured to store the quotient of 1.0824 and the square root of a value, for a predefined range of values. In the alternative, the LUT 220 could be implemented as any conventional form of nonvolatile storage medium. A conventional processor or DSP (not shown) may be used to access the LUT 220 and/or to perform the operations carried out by the other circuits of the LLR estimation circuit 200. Those of skill would appreciate that numbers other than 1.0824 could be used, with the result being a less accurate estimation of the LLR metric. For example, in a particular embodiment, the LUT 220 stores the quotient of 1 and the square root of a value, for a predefined range of values.
The LUT 220 generates the quotient of 1.0824 and the square root of the sum of the squared components YI2 and YQ2, and provides the quotient,
to the third multiplier 206. The absolute values of the components, |YI| and |YQ|, are also provided by the absolute value circuit 210 to the second adder 216. The second adder 216 adds the absolute values |YI|, |YQ| and provides the sum, |YI|+|YQ|, to the third multiplier 206. The third multiplier 206 multiplies the sum |YI|+|YQ| with the quotient
and provides the resultant product to the fourth multiplier 208.
The absolute values of the components, |YI| and |YQ|, are also provided by the absolute value circuit 210 to the subtractor 218. The subtractor 218 subtracts the absolute value of the quadrature component, |YQ| from the absolute value of the in-phase component, |YI|, and provides the difference, |YI|−|YQ|, to the fourth multiplier 208. The fourth multiplier 208 multiplies the difference |YI|−|YQ| with the product provided by the third multiplier 206, generating an LLR metric, LLR(c0), on the code symbol c0.
If a 16QAM modulation scheme is employed, computing the LLR metrics is also much more difficult than doing so for a QPSK modulation scheme. In accordance with one embodiment, the LLR metrics used in connection with a 16QAM modulation scheme with gray code labeling are advantageously estimated. As described above, (YI,YQ) is normalized in such a way that its mean amplitude is equal to the C/I ratio. Because the modulation scheme is 16QAM, each complex modulation symbol (YI,YQ) conveys information about four code symbols, c3, c2, c1, and c0. The first code symbol, c3, is the most-significant symbol of a received, 16QAM-modulated codeword conveying information regarding a transmitted bit. The fourth code symbol, c0, is the least-significant symbol of the received, 16QAM-modulated codeword. The in-phase component YI carries all the information about the pair of code symbols c1 and c0, while the quadrature component YQ carries all the information about the remaining code symbols c3 and c2. Simplified estimates of the LLR metrics on the code symbols c2, c1, and c0 are advantageously obtained from the modulation symbol soft decisions (YI,YQ) in accordance with the following equations:
Equations (15) and (17) may advantageously be simplified by replacing the bracketed term in the equations with the value 1, yielding the following equations for LLR(c1) and LLR(c3):
LLR(c1)≈1.2649YI [18]
and
LLR(c3)≈1.2649YQ [19]
In accordance with one embodiment, as shown in
In operation, the in-phase component, YI, of a demodulated soft decision is provided to the first multiplier 302. A constant digital value of 1.2649 is also provided to the first multiplier 302. The first multiplier 302 multiplies the in-phase component YI with the digital value 1.2649, generating an LLR metric, LLR(c1), on the code symbol c1. Those skilled in the art would appreciate that the digital value need not be restricted to precisely 1.2649. Other values could be employed to yield other estimations of the LLR metric LLR(c1).
The quadrature component, YQ, of the demodulated soft decision is provided to the second multiplier 304. The constant digital value of 1.2649 is also provided to the second multiplier 304. The second multiplier 304 multiplies the quadrature component YQ with the digital value 1.2649, generating an LLR metric, LLR(c3), on the code symbol c3. Those skilled in the art would appreciate that the digital value need not be restricted to precisely 1.2649. Other values could be employed to yield other estimations of the LLR metric LLR(c3).
The product output by the first multiplier 302 (i.e., the LLR metric LLR(c1)) is provided to the second absolute value circuit 310. The product output by the second multiplier 304 (i.e., the LLR metric LLR(c3)) is provided to the first absolute value circuit 308. The first absolute value circuit 308 generates the absolute value of the product output by the second multiplier 304, and provides the absolute value to the first subtractor 312. The second absolute value circuit 310 generates the absolute value of the product output by the first multiplier 302, and provides the absolute value to the second subtractor 314. The first and second absolute value circuits 308, 310 may be implemented with hardware circuits whose construction would be understood by those of skill in the art. The absolute value circuits 308, 310 may also be implemented with a conventional processor or DSP executing a stored set of software or firmware instructions. Or a combination of both implementations may be employed.
An estimate of the C/I ratio is provided to the third multiplier 306. A constant digital value of 0.8 is also provided to the third multiplier 306. The third multiplier 306 multiplies the C/I value with the digital value 0.8, and provides the resultant product to the first and second subtractor circuits 312, 314. Those skilled in the art would appreciate that the digital value need not be restricted to precisely 0.8. Other values could be employed to yield less accurate estimations of the LLR metrics.
The first subtractor 312 subtracts the product output by the third multiplier 306 from the absolute value provided by the first absolute value circuit 308, generating an LLR metric, LLR(c2), on the code symbol c2. The second subtractor 314 subtracts the product output by the third multiplier 306 from the absolute value provided by the second absolute value circuit 310, generating an LLR metric, LLR(c0), on the code symbol c0.
Reliable communication at high spectral efficiency is achieved with the use of multi-level modulation schemes (such as QAM or MPSK) together with powerful coding techniques (such as turbo codes). The turbo decoding algorithm uses soft decision estimates of the encoder output in order to recover the encoded data. Most implementations of turbo decoders use the LLR on the binary symbols at the encoder output as their soft decision input. Except for the simplest modulation schemes, such as BPSK or QPSK, the extraction of LLRs from the demodulator soft decisions is a computationally complex task. Therefore, in accordance with one embodiment, a simplified procedure is provided for the approximate computation of LLRs from modulation symbol soft decisions for square QAM constellations (such as, e.g., 16QAM, 64QAM, and 256QAM) and MPSK constellations (such as, e.g., 8PSK and 16PSK).
In a typical communication system 400, as illustrated in
At a receiver (not shown), a demodulator 410 uses the output to generate a sequence of complex-valued soft decisions yn. Each soft decision represents an estimate of a modulation symbol that was transmitted over the channel 408. This estimate is used by an LLR computation module 412 to extract the LLR of the code symbols associated with the given modulation symbols. A turbo decoder 414 uses the sequence of code symbol LLRs to decode the binary data that was originally transmitted.
In one embodiment a square QAM signal constellation and a rule for assigning a block of binary (code) symbols to each point on a signal constellation are defined. The square QAM constellation with index m is defined to be a signal constellation with 4m points, which may be regarded as the Cartesian product of two pulse amplitude modulated (PAM) constellations with 2m points. Each signal point is denoted by its index (i,j), where 0≦i,j<2m. The position of the (i,j)th point on the signal constellation is given by
The above definition ensures that the average energy (i.e., the squared Euclidean norm) of the signal constellation is normalized to 1. Table 1, below, shows the value of the normalizing parameter Δ for various square QAM constellations.
Each signal point is labeled with a binary string that denotes a block of code symbol values associated with the modulation symbol. In a particular embodiment, gray code mapping is used to associate the modulation symbols with blocks of code symbols. Gray code mapping is well known to those of skill in the art. It should be understood that other forms of mapping may be employed. In accordance with the gray code mapping, the label of the (i,j)th point on the constellation is given by
The function gray(i) represents the well known gray-code mapping, with
The values bk(i, j)=0,1 are used to denote the kth component of the label li,j.
The above-described signal constellation for m=1 is depicted in
In one embodiment a Multiple Phase Shift Keying (MPSK) signal constellation and a rule for assigning a block of binary (code) symbols to each point on the signal constellation are defined. An MPSK constellation with index m (also commonly referred to as a 2m-PSK constellation) is defined to be a signal constellation with 2m points located on the unit circle. Each signal point is denoted by its index i, where 0≦i<2m. The position of the ith point on the signal constellation is given by:
Each signal point is labeled with a binary string that denotes a block of code symbol values associated with the modulation symbol. In a particular embodiment, gray code mapping is used to associate the modulation symbols with blocks of code symbols. It should be understood that other forms of mapping may be substituted for gray code mapping. In accordance with gray code mapping, the label of the ith point on the constellation is given by
For m=1, the 2m-PSK constellation is the well known BPSK signal set. For m=2, the 2m-PSK constellation coincides with the 4QAM constellation shown in
In one embodiment binary data at the input of a transmitter is encoded and mapped to points on a signal constellation. Hence, the signal at the channel input may advantageously be modeled by a sequence of modulation symbols x=x1x2x3 . . . drawn from a normalized square QAM constellation. The channel output is given by a sequence y=y1y2y3 . . . , with
yn=√{square root over (En)}ejθ
where En represents the average modulation signal energy at the receiver, determined by the channel gain over the nth symbol duration; θn represents the phase shift introduced by the channel over the nth symbol duration; and wn represents the complex-valued additive Gaussian noise (and pseudorandom (PN) interference) introduced by the channel, other users, multi-path signals, etc., with zero mean and variance E└|wn|2┘=Nt,n.
It is assumed that the receiver has the knowledge of the complex channel gain Pn=√{square root over (En)}ejθ
The above equation yields the following equation:
Stated another way,
If several independent copies of the channel output are available at the receiver (i.e., through temporal (repetition), spatial (antenna), or frequency (multi-path) diversity), the individual maximal ratio dot products may be summed together to obtain the decision variable that maximizes the detection signal-to-noise ratio (SNR). The maximum possible detection SNR for a diversity receiver is the sum of the SNRs associated with the individual maximal ratio dot products:
The decision variable Zn may be regarded as the soft decision estimate of xn, generated by the demodulator.
In one embodiment LLR computation for square QAM constellations is performed. Each modulation symbol represents a particular string of code symbol values, defined by its labeling. Assuming that all modulation symbols are equally likely, the LLR associated with a given code symbol bk, where 0≦k<2m, is given by:
Advantageously, certain simplifications result from the product symmetry of the square QAM signal constellation and the gray code labeling function. In particular, it should be noted that the position ci,j of the (i,j)th point may be written as ci,j=ai+iaj, where ai=(2m−1−2i)·Δ. Also, the value of a code symbol bk(i, j) depends only on i if k<m, and only on j otherwise. Hence, the above expression may be simplified as follows:
In view of the above symmetry, it is sufficient to address the problem of computing the LLRs for code symbols bk, with 0≦k<m. For the 4QAM (QPSK) constellation, the computation simplifies to the well known expressions
LLR(bo)=4·Re[Zn]·ao=2√{square root over (2)}·Re[Zn], LLR(bo)=4·Im[Zn]·bo=2{square root over (2)}·Im[Zn].
In
In one embodiment LLR computation for 2m-PSK constellations is performed. Each modulation symbol represents a particular string of code symbol values, defined by its labeling. Assuming that all modulation symbols are equally likely, the LLR associated with a given code symbol bk, where 0≦k<m, is given by:
The final simplification in the above equations results from the fact that |ci|2=1 for any point on the MPSK constellation. As a result, the code symbol LLRs do not depend on the normalized SNR S. If the modulation symbol soft decisions are expressed in the polar form Zn=Rnejθ
In one embodiment a piece-wise linear approximation for the LLR associated with each code symbol is performed for a square QAM constellation. From
It may be seen that
The following equation may be obtained by substituting specific values of m:
Approximations for LLRk(x), where k<m−1, are advantageously provided. For 0≦k<m−1, LLRk(x) is an even function of x, and LLRk(x)≈0 when x=2k+1SΔ. LLRk(x) may be approximated by triangle functions for small values of x, and by straight lines for large values of x.
It is helpful to separate the two cases k=m−2 and k<m−2.
and for k<m−2, the above expression simplifies to
It is thus sufficient to compute LLRk(0) for each k,m such that 0≦k<m−1.
The case k=m−2 may advantageously be treated separately:
For k<m−2, the following equations hold:
If the above results are specialized to m=2, 3 and 4,
For large values of the normalized SNR S, the above expressions may be approximated as follows:
In one embodiment a trigonometric approximation for the LLR associated with each code symbol is performed for an MPSK constellation. From
For 0≦k<m−1,
In particular, setting k=m−2 and k=m−3 yields, respectively
and
It is necessary simply to evaluate LLRm−1(jR) and LLRk(R) for k<m−1. It may be shown that
For k<m−2,
The above results may be specialized to m=2,3, and 4, to yield the following sets of equations, respectively:
Thus, a novel and improved method and apparatus for computing soft decision input metrics to a turbo decoder has been described. Those of skill in the art would understand that the various illustrative logical blocks, modules, circuits, and algorithm steps described in connection with the embodiments disclosed herein may be implemented as electronic hardware, computer software, or combinations of both. The various illustrative components, blocks, modules, circuits, and steps have been described generally in terms of their functionality. Whether the functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the overall system. Skilled artisans recognize the interchangeability of hardware and software under these circumstances, and how best to implement the described functionality for each particular application. As examples, the various illustrative logical blocks, modules, circuits, and algorithm steps described in connection with the embodiments disclosed herein may be implemented or performed with a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA) or other programmable logic device, discrete gate or transistor logic, discrete hardware components such as, e.g., registers and FIFO, a processor executing a set of firmware instructions, any conventional programmable software module and a processor, or any combination thereof. The processor may advantageously be a microprocessor, but in the alternative, the processor may be any conventional processor, controller, microcontroller, or state machine. The software module could reside in RAM memory, flash memory, ROM memory, EPROM memory, EEPROM memory, registers, hard disk, a removable disk, a CD-ROM, or any other form of storage medium known in the art. Those of skill would further appreciate that the data, instructions, commands, information, signals, bits, symbols, and chips that may be referenced throughout the above description are advantageously represented by voltages, currents, electromagnetic waves, magnetic fields or particles, optical fields or particles, or any combination thereof.
Preferred embodiments of the present invention have thus been shown and described. It would be apparent to one of ordinary skill in the art, however, that numerous alterations may be made to the embodiments herein disclosed without departing from the spirit or scope of the invention. Therefore, the present invention is not to be limited except in accordance with the following claims.
The present application for patent is a Divisional application and claims priority to U.S. patent application Ser. No. 11/671,459, filed Feb. 7, 2007, entitled “METHOD AND APPARATUS FOR COMPUTING SOFT DECISION INPUT METRICS TO A TURBO DECODER,” and assigned to the assignee hereof and hereby expressly incorporated by reference herein; which is a Continuation of U.S. Pat. No. 7,173,974, issued Feb. 6, 2007, entitled “METHOD AND APPARATUS FOR COMPUTING SOFT DECISION INPUT METRICS TO A TURBO DECODER,” and currently assigned to the assignee of the present application and hereby expressly incorporated by reference herein; which is a Continuation of U.S. Pat. No. 6,594,318, issued Jul. 15, 2003, entitled “METHOD AND APPARATUS FOR COMPUTING SOFT DECISION INPUT METRICS TO A TURBO DECODER,” and currently assigned to the assignee of the present application and hereby expressly incorporated by reference herein; which is a Continuation-in-Part of U.S. patent application Ser. No. 09/454,177, filed Dec. 2, 1999, entitled “METHOD AND APPARATUS FOR COMPUTING SOFT DECISION INPUT METRICS TO A TURBO DECODER.”
Number | Name | Date | Kind |
---|---|---|---|
5134635 | Hong et al. | Jul 1992 | A |
5657354 | Thesling et al. | Aug 1997 | A |
5805017 | Razzell | Sep 1998 | A |
6023783 | Divsalar et al. | Feb 2000 | A |
6078626 | Ramesh | Jun 2000 | A |
6088387 | Gelblum et al. | Jul 2000 | A |
6307901 | Yu et al. | Oct 2001 | B1 |
6377607 | Ling et al. | Apr 2002 | B1 |
6594318 | Sindhushayana | Jul 2003 | B1 |
6661832 | Sindhushayana et al. | Dec 2003 | B1 |
7173974 | Sindhushayana | Feb 2007 | B2 |
Number | Date | Country | |
---|---|---|---|
20090323846 A1 | Dec 2009 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 11671459 | Feb 2007 | US |
Child | 12111513 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 10600889 | Jun 2003 | US |
Child | 11671459 | US | |
Parent | 09521358 | Mar 2000 | US |
Child | 10600889 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 09454177 | Dec 1999 | US |
Child | 09521358 | US |