WO1998020617A1 - Soft decision output decoder for decoding convolutionally encoded codewords - Google Patents

Soft decision output decoder for decoding convolutionally encoded codewords Download PDF

Info

Publication number
WO1998020617A1
WO1998020617A1 PCT/US1997/020109 US9720109W WO9820617A1 WO 1998020617 A1 WO1998020617 A1 WO 1998020617A1 US 9720109 W US9720109 W US 9720109W WO 9820617 A1 WO9820617 A1 WO 9820617A1
Authority
WO
WIPO (PCT)
Prior art keywords
state
backward
iteration
trellis
metric
Prior art date
Application number
PCT/US1997/020109
Other languages
French (fr)
Inventor
Andrew J. Viterbi
Nagabhushana T. Sindhushayana
Original Assignee
Qualcomm Incorporated
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Qualcomm Incorporated filed Critical Qualcomm Incorporated
Priority to JP52172498A priority Critical patent/JP3998723B2/en
Priority to EP97945610A priority patent/EP0937336B1/en
Priority to DE69739533T priority patent/DE69739533D1/en
Priority to CA002270668A priority patent/CA2270668C/en
Priority to AU51045/98A priority patent/AU722477B2/en
Priority to AT97945610T priority patent/ATE439705T1/en
Publication of WO1998020617A1 publication Critical patent/WO1998020617A1/en

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/39Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
    • H03M13/3905Maximum a posteriori probability [MAP] decoding or approximations thereof based on trellis or lattice decoding, e.g. forward-backward algorithm, log-MAP decoding, max-log-MAP decoding
    • H03M13/3911Correction factor, e.g. approximations of the exp(1+x) function
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/29Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2957Turbo codes and decoding
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/39Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
    • H03M13/3905Maximum a posteriori probability [MAP] decoding or approximations thereof based on trellis or lattice decoding, e.g. forward-backward algorithm, log-MAP decoding, max-log-MAP decoding
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/39Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
    • H03M13/3972Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using sliding window techniques or parallel windows
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/39Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
    • H03M13/41Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0045Arrangements at the receiver end
    • H04L1/0047Decoding adapted to other signal detection operation
    • H04L1/005Iterative decoding, including iteration between signal detection and decoding operation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0045Arrangements at the receiver end
    • H04L1/0054Maximum-likelihood or sequential decoding, e.g. Viterbi, Fano, ZJ algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0045Arrangements at the receiver end
    • H04L1/0055MAP-decoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0059Convolutional codes
    • H04L1/006Trellis-coded modulation

Definitions

  • the present invention relates to communications systems. More specifically, the present invention relates to systems for encoding and decoding data in digital communication systems.
  • Communication systems facilitate transmission and reception of information from a source to a physically separate receiver.
  • Mobile communications systems are typified by the movement of a receiver relative to a transmitter or vice versa.
  • the communications link between transmitters and receivers in a mobile communications systems is characterized as a fading channel.
  • Mobile satellite communications systems having a transmitter on a spacecraft and a receiver on a ground based vehicle, cellular telephone systems and terrestrial microwave systems are examples of fading communications systems.
  • a fading channel is a channel which is severely degraded. The degradation is due to numerous effects including multipath fading, severe attenuation due to the receipt via multiple paths of reflections of the transmitted signal off objects and structures in the atmosphere and on the surface. Other effects contributing to the impairment of the faded channel include Doppler shift due to the movement of the receiver relative to the transmitter and additive noise.
  • an information signal is first converted into a form suitable for efficient transmission over the channel.
  • Conversion or modulation of the information signal involves varying a parameter of a carrier wave on the basis of the information signal in such a way that the spectrum of the resulting modulated carrier is confined within the channel bandwidth.
  • the original message signal is replicated from a version of the modulated carrier received subsequent to propagation over the channel. Such replication is generally achieved by using an inverse of the modulation process employed by the source transmitter.
  • the field of data communications is particularly concerned with optimizing data throughput of a transmission system with a limited signal to noise ratio (SNR).
  • SNR signal to noise ratio
  • error correcting circuitry such as encoders and decoders, allows system tradeoffs to be made with smaller SNRs or higher data rates to be used with the same bit error rate (BER).
  • BER bit error rate
  • One class of encoders is known as a convolutional encoder.
  • a convolutional encoder converts a sequence of input data bits to a codeword based on a convolution of the input sequence with itself or with another signal. Coding rate and generating polynomials are used to define a convolutional code. Convolutional encoding of data combined with a Viterbi decoder is a well known technique for providing error correction coding and decoding of data. Coding rate and constraint length are used to define a Viterbi decoder.
  • a coding rate (k/n) corresponds to the number of coding symbols produced (n) for a given number of input bits (k).
  • the coding rate of 1/2 has become one of the most popular rates, although other code rates are also generally used.
  • a constraint length (K) is defined as the length of a shift register used in a convolutional encoding of data.
  • the convolutional encoder can be thought of as a Finite Impulse Response filter with binary coefficients and length K - 1. This filter produces a symbol stream with 2 " possible states.
  • the basic principle of the Viterbi algorithm is to take a convolutionally encoded data stream that has been transmitted over a noisy channel and use a finite state machine to efficiently determine the most likely sequence that was transmitted.
  • the probabilities are represented by quantities called metrics, which are proportional to the negative of the logarithm of the probability. Adding of the metrics is therefore the equivalent to the reciprocal of the product of the probabilities. Thus, smaller metrics correspond to higher probability events.
  • the state metric represents the probability that the received set of symbols leads to the state with which it is associated.
  • the branch metric represents the conditional probability that the transition from one state to another occurred assuming that the starting state was actually the correct state and given the symbol that was actually received.
  • the decoder decides which is the more likely state by an add-compare-select (ACS) operation.
  • Add refers to adding each state metric at the preceding level to the two branch metrics of the branches for the allowable transitions.
  • Compare refers to comparing the pair of such metric sums for paths entering a state (node) at the given level.
  • Select refers to selecting the greater of the two and discarding the other. Thus, only the winning branch is preserved at each node, along with the node state metric. If the two quantities being compared are equal, either branch may be selected, for the probability of erroneous selection will be the same in either case.
  • 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 2 " states. In order to compute this probability, all 2 " 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 chain-back operation an inverse of the encoding operation, is performed in which the C decision bits are used to select an output bit, where C is the chainback distance. After many branches the most probable path will be selected with a high degree of certainty.
  • the path memory depth must be sufficiently long to be governed by the signal-to-noise ratio and not the length of the chain-back memory.
  • trellis is a term which describes a tree in which a branch not only bifurcates into two or more branches but also in which two or more branches can merge into one.
  • a trellis diagram is an infinite replication of the state diagram for an encoder. The nodes (states) at one level in the trellis are reached from the node states of the previous level by the transition through one branch, corresponding to one input bit, as determined by the state diagram. Any codeword of a convolutional code corresponds to the symbols along a path (consisting of successive branches) in the trellis diagram.
  • Convolutional codes with Viterbi decoders have been used extensively to achieve reliable communication over power limited channels such as satellite communication systems and interference limited channels such as CDMA wireless communication systems.
  • Ungerboeck entitled “Channel Coding with Multilevel /Phase Signals”, LFEE Transactions of Information Theory, Vol. IT-28, No. 1, January 1982, pp. 55- 67 Ungerboeck used convolutional codes matched to two-dimensional signal constellations, to achieve coding gains of up to 6 dB (with respect to uncoded systems) over band limited channels. This technique is known as trellis coded modulation, and is widely used in data communication over voice-band telephone modems, digital transmission over coaxial cables, etc.
  • the achievements mentioned above represent significant milestones in the continuing effort at reducing the gap between the performance of practical communication systems and the fundamental limits imposed by the Shannon Theorem.
  • the Shannon limit refers to the minimum signal- to-noise ratio needed to communicate reliably over a given communication medium at a given spectral (bandwidth) efficiency.
  • Recently, researchers have developed new classes of error correcting codes such as Turbo Codes and Serial Concatenated Interleaved Codes (SCIC), which provide further increases in performance over classical concatenated codes. These codes have been shown to achieve reliable communication at less than 1 dB above the Shannon limit.
  • the use of Turbo Codes is described in a paper by C.
  • the Turbo Codes as swell as Serial Concatenated Codes employ iterative decoding schemes, in which each iteration uses one or more soft- decision output trellis decoders.
  • the overwhelming success of these codes has refocused attention on soft decision trellis decoders.
  • J. Hagenauer describes a soft output Viterbi algorithm (SOVA) using soft output metric decoders in his paper "Iterative (Turbo) Decoding of Systematic Concatenated Codes with MAP and SOVA Algorithms," Proceedings of the ITG Conference on Source and Channel Coding, Frankfurt Germany, pp. 1-9, October 1994.
  • the inventive decoder decodes a sequence of signals output by an encoder and transmitted over a channel.
  • the inventive decoder includes two "generalized” Viterbi decoders (one for forward decoding and one for backward decoding) and a generalized dual maxima processor.
  • the implementation of a dual maxima processor is described in detail in U.S. Patent No. 5,442,627, entitled “NONCOHERENT RECEIVER EMPLOYING A DUAL-MAXIMA METRIC GENERATION PROCESS", assigned to the assignee of the present invention and incorporated by reference herein.
  • the first "generalized” Viterbi decoder decodes the sequence of signals received over the channel during a forward iteration through a trellis representing the encoder output having a block length T.
  • the first "generalized” Viterbi decoder begins at an initial state t 0 and provides a plurality of forward iteration state metrics ⁇ for each state at each time interval over a window of length L, where L is less than a block length T but otherwise independent of T.
  • the first decoder sums products of the forward state metrics oc t - ⁇ (s') for each previous state s' by a branch metric ⁇ (s',s) between each previous state s' and the selected state s to provide the forward state metric ⁇ t (s) for the selected state s.
  • a second "generalized" Viterbi decoder decodes the sequence of signals received over the channel during a backward iteration through the trellis.
  • the second decoder starts at a second time t 2L and provides a plurality of backward iteration state metrics ⁇ for each state at each time interval.
  • the second decoder sums products of the backward state metrics ⁇ t+1 (s') for each subsequent state s' by a branch metric Y t (s,s') between each subsequent state s' and each selected state s to provide the branch metric ⁇ t (s) for the selected state s.
  • a processor then performs a generalized dual maxima computation at each time using the forward state metric of one state, the backward state metric of another state and the branch metric of the branch connecting the two states for same to provide a measure of the likelihood that a particular sequence of data was transmitted by the encoder.
  • the processor computes a log of the likelihood ratio using the forward and backward state metrics and the branch metrics for a selected state. This is achieved by first computing a max function as an approximation of the measure of the likelihood that a particular sequence of data was transmitted by the encoder. Then, a correction factor is computed for the approximation to provide a more exact measure of the likelihood that a particular sequence of data was transmitted by the encoder.
  • correction factor includes an exponential function of the forward state metric and the backward state metric and the branch metric for a selected state.
  • a third Viterbi decoder is provided for performing a second backward iteration through the trellis.
  • the third decoder provides a second plurality of backward iteration state metrics ⁇ for each state at each time interval starting at a third time t 3L .
  • FIG. 1 is a block diagram of a transmitter and receiver operating over a channel using a conventional MAP decoder.
  • FIG. 2 is a trellis diagram of a blocked (or tailed off) convolutional code which starts and terminates in a zero state.
  • FIG. 3 is a block diagram of a transmitter and receiver operating over a channel and using a simplified LOG-MAP decoder in accordance with the teachings of the present invention.
  • FIG. 4 is a block diagram of an illustrative implementation of the soft output decision decoder of the present invention.
  • FIG. 5 is a trellis diagram of a blocked (or tailed off) convolutional code which starts and terminates in a zero state.
  • FIG. 6 shows the timing for the forward and backward Viterbi decoders in accordance with a first illustrative implementation of the reduced memory simplified LOG-MAP method of the present invention.
  • FIG. 7 is a flow diagram of the first illustrative implementation of the reduced memory simplified LOG-MAP method of the present invention.
  • FIG. 8 shows the timing for the forward and backward Viterbi decoders in accordance with a second illustrative implementation of the reduced memory simplified LOG-MAP method of the present invention.
  • FIG. 9 is a flow diagram of the second illustrative implementation of the reduced memory simplified LOG-MAP method of the present invention.
  • FIG. 1 is a block diagram of a transmitter and receiver operating over a channel using a conventional MAP decoder.
  • the system 10' includes a 1/N convolutional encoder 12' which receives an input sequence u t and outputs a signal stream x t to a modulator 14'.
  • the modulator 14' modulates and spreads the signal in a conventional manner and provides it to the transmitter 16'.
  • the transmitter 16' includes power amplifiers and antennas necessary to transmit the signal over an additive white Gaussian noise (AWGN) channel 17'.
  • AWGN additive white Gaussian noise
  • the signal received over the channel y t is despread and demodulated by a conventional demodulator 19' and forwarded to a MAP decoder 20'.
  • the MAP decoder 20' outputs an estimate of the input sequence ut .
  • V j ⁇ k vector of received symbols for all branches before kth branch
  • V k vector of received symbols for all branches after kth branch
  • the likelihood ratio of eq. (7) provides a measure of the probability that a +1 was transmitted versus a -1 at time t.
  • the function of the decoder is to provide an indication of what has been transmitted and the level of confidence for same as determined by the likelihood ratio (i.e., eq. (7)).
  • the MAP algorithm then, consists of the operation eq. (7) coupled with the recursions of eqs. (5) and (6) which employ the branch likelihood eq. (4). Note that because equation (7) is a ratio, the ⁇ and ⁇ state metrics can be normalized at any node, which keeps all of them from overflowing.
  • the conventional MAP approach as described above has been known in the art for over twenty years and generally ignored because: a) with hard decision outputs, performance is almost the same as for the Viterbi algorithm and b) complexity is much greater because of the multiplication operation required and the additional backward recursion. That is, the entire trellis 30' must be stored.
  • the memory required is on the order of the length of the trellis times the number of states times the storage required for each state.
  • the first revelation comes about as a result of the approximation
  • the soft output decision decoder of the present invention includes a forward Viterbi decoder, a backward Viterbi decoder and a dual maxima processor.
  • FIG. 3 is a block diagram of a transmitter and receiver operating over a channel and using a simplified LOG-MAP decoder in accordance with the teachings of the present invention.
  • the system 10 includes a convolutional encoder 12 which receives an input sequence u t and outputs a signal stream x t to a modulator 14.
  • the modulator 14 modulates the signal in a conventional manner and provides it to the transmitter 16.
  • the transmitter 16 includes power amplifiers and antennas necessary to transmit the signal over the channel 17.
  • the signal received over the channel y t is demodulated by a conventional demodulator 19 and forwarded to the simplified LOG-MAP decoder 20 designed in accordance with the present teachings.
  • the decoder 20 is a soft decision output decoder which outputs an estimate of the input sequence ut .
  • FIG. 4 is a block diagram of an illustrative implementation of the soft output decision decoder 20 of the present invention.
  • the decoder 20 includes a buffer memory 22 which receives the demodulated received signal from the demodulator 19.
  • the buffer memory delays the inputs to a forward Viterbi decoder 24 until enough signals samples are received for a backward Viterbi decoder 26 to initiate a backward recursion through the trellis.
  • the outputs of the forward Viterbi decoder 24 and the backward Viterbi decoder 26 are input to a dual maxima processor 28.
  • the dual maxima processor provides an estimate of the sequence u t under control of a timing circuit 27 and using a correction factor supplied by a read-only memory (ROM) 29 as described more fully below.
  • the dual maxima processor 28 may be implemented with an application specific integrated circuit (ASIC), a digital signal processor (DSP) or a microprocessor by one of ordinary skill in the art.
  • ASIC application specific integrated circuit
  • DSP digital signal processor
  • FIG. 5 is a trellis diagram of a blocked (or tailed off) convolutional code which starts and terminates in a zero state.
  • the trellis 30 is the same as that 30' of FIG. 2 with the exception that the forward and backward recursions are joined together at each node by the dual maxima computation of eq. (7').
  • the second term is a correction factor which is implemented using a lookup table stored in ROM 29.
  • the ROM 29 is driven by
  • the LOG-MAP approach is implemented as two generalized Viterbi decoders coupled by a generalized dual-maxima procedure where the generalization involves adding the correction term to the max (x,y) function of eq. (8) to obtain the function g(s,y) of eq. (9).
  • the received branch symbols be delayed by 2L branch times where L is the length of a window on the trellis 30. Then we set an initial condition of 'V in a linear implementation (or '0' in a log implementation) for the initial node and zero for all other nodes at the initial time t 0 .
  • the forward Viterbi decoder 24 of FIG. 4 starts computing forward state metrics at the initial node at time t 0 for each node every branch time in accordance with equation (5 or 5'). These state metrics are stored in a memory in the processor 28. This process is depicted in the diagram of FIG. 6.
  • FIG. 6 shows the timing for the forward and backward Viterbi decoders in accordance with the first illustrative embodiment of the present invention.
  • the generalized forward Viterbi algorithm computes the forward state metric is shown by segment 42.
  • the forward iteration is suspended and a backward iteration is initiated by the backward Viterbi decoder 26 of FIG. 4.
  • the backward iteration is initiated not from the end of the trellis as with the conventional approach, but from time 2L as though it were the end of a frame of length 2L.
  • the nodes or states of the trellis 30 are all set at the initial value of '1' in a linear implementation or '0' in a log implementation.
  • the metrics are again unreliable as shown by the dashed line 44 in FIG. 6. These metrics become reliable after L as shown by 46.
  • the generalized dual-maxima process may be performed according to equation (7') and soft decisions corresponding to the first L branches are output.
  • Backward metrics are discarded upon computation of the next set of backward metrics.
  • the forward decoding is suspended and the backward Viterbi decoder 26 begins to generate metrics from time 3L. Again, these metrics are unreliable until time 2L as shown by the dashed line 48.
  • the backward Viterbi decoder 26 begins to generate metrics from time 3L. Again, these metrics are unreliable until time 2L as shown by the dashed line 48.
  • L to 2L we now have reliable forward and backward metrics. Hence, we may compute the likelihood ratio during this time interval, using the generalized dual maxima computations.
  • the method of this first illustrative implementation is depicted in the flow diagram of FIG. 7. As depicted in FIG. 7, the above described process is repeated over the entire trellis 30.
  • the memory required is on the order of L times the number of states instead of T times the number of states where T is the trellis frame length and L « T.
  • Those skilled in the art will also be able to choose an optimal frame length.
  • a frame length of L in the range of 5 to 7 constraint lengths was found to be sufficient.
  • FIG. 8 which shows the bit processing times for one forward processor and two backward processors operating in synchronism with the received branch symbols, i.e., computing one set of state metrics during each received branch time (bit time for a binary trellis).
  • the forward decoder 24 of FIG. 4 starts again at the initial node at branch time 2L, computing all state metrics for each node every branch time and storing these in memory.
  • the first and second backward Viterbi decoders are shown generally as '26' in FIG. 4.
  • the first backward decoder starts at the same time as the forward decoder 24 but processes backward from the 2Lth node, setting every initial state metric to the same value, not storing anything until branch time 3L, at which point it has built up reliable state metrics and it encounters the last of the first set of L forward computed metrics.
  • the generalized dual-maxima process is performed according to equation (7'), the Lth branch soft decisions are output, and the backward processor proceeds until it reaches the initial node at time 4L.
  • the second backward decoder begins processing with equal metrics at node 3L, discarding all metrics until time 4L, when it encounters the forward algorithm having computed the state metrics for the 2Lth node.
  • the generalized dual-maxima process is then turned on until time 5L, at which point all soft decision outputs from the 2Lth to the Lth node will have been output.
  • the two backward processors hop forward 4L branches every time they have generated backward 2L sets of state metrics and they time-share the output processor, since one generates useless metrics while the other generates the useful metrics which are combined with those of the forward algorithm.
  • the method of this alternative implementation is illustrated in the flow diagram of FIG. 9. Note that nothing needs to be stored for the backward algorithms except for the metric set of the last node and these only when reliable metrics are being generated.
  • the forward algorithm only needs to store 2L sets of state metrics since after its first 2L computations (performed by time 4L), its first set of metrics will be discarded and the emptied storage can then be filled starting with the forward-computed metrics for the (2L+l)th node (at branch time 4L+1).
  • Minimum decoding delay is set by the length of the block or its corresponding interleaver. If the processors described above operate at just the speed of the received branches, it may be necessary to pipeline the successive iterations and hence multiply the minimum delay by the number of iterations. If, on the other hand, the processors can operate at a much higher speed, then additional delay can be much reduced.

Abstract

A soft decision output decoder (20) and decoding method. The decoeder (20) decodes a sequence of signals output by an encoder (12) and transmitted over a channel (17). The soft decision output decoder (20) includes a first 'generalized' Viterbi decoder (24) for decoding the sequence of signals received over the channel during a forward iteration through a trellis representing the encoder output having a block length T. The first 'generalized' Viterbi decoder (24) begins at an initial state t0 and provides a plurality of forward iteration state metrics α for each state at each time interval over a window of length 2L, where L is on the order of a few constraint lengths and 2L is less than a block length T. A second 'generalized' Viterbi decoder decodes the sequence of signals received over the channel (17) during a backward iteration through the trellis. The second decoder (26) starts at a second time t2L and provides a plurality of backward iteration state metrics β for each state at each time interval. A processor (28) then performs a dual maxima computation at each state using the forward state metric, the backward state metric and the branch metric for same to provide a measure of the likelihood that a particular sequence of data was transmitted by the encoder (12). By performing forward and backward Viterbi decoding with dual maxima computations at each node within a window moved over the treillis, the inventive decoder (20) provides the performance benefits associated with a LOG-MAP decoder while avoiding the excessive memory requirements of same.

Description

SOFT DECISION OUTPUT DECODER FOR DECODING CONVOLUTIONALLY ENCODED CODEWORDS
BACKGROUND OF THE INVENTION
I. Field of the Invention
The present invention relates to communications systems. More specifically, the present invention relates to systems for encoding and decoding data in digital communication systems.
II. Description of the Related Art
Communication systems facilitate transmission and reception of information from a source to a physically separate receiver. Mobile communications systems are typified by the movement of a receiver relative to a transmitter or vice versa. The communications link between transmitters and receivers in a mobile communications systems is characterized as a fading channel. Mobile satellite communications systems, having a transmitter on a spacecraft and a receiver on a ground based vehicle, cellular telephone systems and terrestrial microwave systems are examples of fading communications systems. A fading channel is a channel which is severely degraded. The degradation is due to numerous effects including multipath fading, severe attenuation due to the receipt via multiple paths of reflections of the transmitted signal off objects and structures in the atmosphere and on the surface. Other effects contributing to the impairment of the faded channel include Doppler shift due to the movement of the receiver relative to the transmitter and additive noise.
While both analog and digital communication methods have been used, digital methods afford several advantages including: improved immunity to channel noise and interference, increased capacity, and improved security of communication through the use of encryption.
Typically, an information signal is first converted into a form suitable for efficient transmission over the channel. Conversion or modulation of the information signal involves varying a parameter of a carrier wave on the basis of the information signal in such a way that the spectrum of the resulting modulated carrier is confined within the channel bandwidth. At a user location, the original message signal is replicated from a version of the modulated carrier received subsequent to propagation over the channel. Such replication is generally achieved by using an inverse of the modulation process employed by the source transmitter.
The field of data communications is particularly concerned with optimizing data throughput of a transmission system with a limited signal to noise ratio (SNR). The use of error correcting circuitry, such as encoders and decoders, allows system tradeoffs to be made with smaller SNRs or higher data rates to be used with the same bit error rate (BER).
One class of encoders is known as a convolutional encoder. As is well known in the art, a convolutional encoder converts a sequence of input data bits to a codeword based on a convolution of the input sequence with itself or with another signal. Coding rate and generating polynomials are used to define a convolutional code. Convolutional encoding of data combined with a Viterbi decoder is a well known technique for providing error correction coding and decoding of data. Coding rate and constraint length are used to define a Viterbi decoder.
A coding rate (k/n) corresponds to the number of coding symbols produced (n) for a given number of input bits (k). The coding rate of 1/2 has become one of the most popular rates, although other code rates are also generally used. A constraint length (K) is defined as the length of a shift register used in a convolutional encoding of data. A constraint length of seven (K = 7) is typical in convolutional coding schemes. The convolutional encoder can be thought of as a Finite Impulse Response filter with binary coefficients and length K - 1. This filter produces a symbol stream with 2 " possible states.
The basic principle of the Viterbi algorithm is to take a convolutionally encoded data stream that has been transmitted over a noisy channel and use a finite state machine to efficiently determine the most likely sequence that was transmitted. The fundamental concept of a K = 7 Viterbi decoder is that it is a machine that hypothesizes each of the possible 64 states that the encoder could have been in and determines the probability that the encoder transitioned from each of those states to the next set of 64 possible encoder states, given what was received. The probabilities are represented by quantities called metrics, which are proportional to the negative of the logarithm of the probability. Adding of the metrics is therefore the equivalent to the reciprocal of the product of the probabilities. Thus, smaller metrics correspond to higher probability events.
There are two types of metrics: state metrics, sometimes called path metrics; and branch metrics. The state metric represents the probability that the received set of symbols leads to the state with which it is associated. The branch metric represents the conditional probability that the transition from one state to another occurred assuming that the starting state was actually the correct state and given the symbol that was actually received.
There are two possible states leading to any other state, each corresponding to the occurrence of a zero or a one in the right-most bit of the convolutional encoder shift register. The decoder decides which is the more likely state by an add-compare-select (ACS) operation. Add refers to adding each state metric at the preceding level to the two branch metrics of the branches for the allowable transitions. Compare refers to comparing the pair of such metric sums for paths entering a state (node) at the given level. Select refers to selecting the greater of the two and discarding the other. Thus, only the winning branch is preserved at each node, along with the node state metric. If the two quantities being compared are equal, either branch may be selected, for the probability of erroneous selection will be the same in either case.
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 2 " states. In order to compute this probability, all 2 " 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 chain-back operation, an inverse of the encoding operation, is performed in which the C decision bits are used to select an output bit, where C is the chainback distance. After many branches the most probable path will be selected with a high degree of certainty. The path memory depth must be sufficiently long to be governed by the signal-to-noise ratio and not the length of the chain-back memory.
Though it is not necessary for analyzing either the code characteristics or the performance of the optimal decoder, it is useful in understanding both to exhibit the code on a trellis diagram. The term "trellis" is a term which describes a tree in which a branch not only bifurcates into two or more branches but also in which two or more branches can merge into one. A trellis diagram is an infinite replication of the state diagram for an encoder. The nodes (states) at one level in the trellis are reached from the node states of the previous level by the transition through one branch, corresponding to one input bit, as determined by the state diagram. Any codeword of a convolutional code corresponds to the symbols along a path (consisting of successive branches) in the trellis diagram. Convolutional codes with Viterbi decoders have been used extensively to achieve reliable communication over power limited channels such as satellite communication systems and interference limited channels such as CDMA wireless communication systems. In a paper by G. Ungerboeck entitled "Channel Coding with Multilevel /Phase Signals", LFEE Transactions of Information Theory, Vol. IT-28, No. 1, January 1982, pp. 55- 67, Ungerboeck used convolutional codes matched to two-dimensional signal constellations, to achieve coding gains of up to 6 dB (with respect to uncoded systems) over band limited channels. This technique is known as trellis coded modulation, and is widely used in data communication over voice-band telephone modems, digital transmission over coaxial cables, etc. G.D. Forney, Jr., in his treatise Concatenated Codes, Massachusetts Institute of Technology, 1966, developed a multilevel coding structure (consisting of a convolutional code and a block code) known as a concatenated code, which has been employed in deep space, resulting in very high coding gains.
The achievements mentioned above represent significant milestones in the continuing effort at reducing the gap between the performance of practical communication systems and the fundamental limits imposed by the Shannon Theorem. The Shannon limit refers to the minimum signal- to-noise ratio needed to communicate reliably over a given communication medium at a given spectral (bandwidth) efficiency. Recently, researchers have developed new classes of error correcting codes such as Turbo Codes and Serial Concatenated Interleaved Codes (SCIC), which provide further increases in performance over classical concatenated codes. These codes have been shown to achieve reliable communication at less than 1 dB above the Shannon limit. The use of Turbo Codes is described in a paper by C. Berrou entitled "Near Shannon Limit Error-Correcting Coding and Decoding: Turbo Codes," Proceedings of ICC'93, Geneva, Switzerland, pp. 1064-1070, May 1993. Serial Concatenated Codes are described in S. Benedetto's paper "Serial Concatenation of Interleaved Codes: Performance Analysis, Design, and Iterative Decoding," TDA Progress Report 42-126.
The Turbo Codes as swell as Serial Concatenated Codes employ iterative decoding schemes, in which each iteration uses one or more soft- decision output trellis decoders. The overwhelming success of these codes has refocused attention on soft decision trellis decoders. J. Hagenauer describes a soft output Viterbi algorithm (SOVA) using soft output metric decoders in his paper "Iterative (Turbo) Decoding of Systematic Concatenated Codes with MAP and SOVA Algorithms," Proceedings of the ITG Conference on Source and Channel Coding, Frankfurt Germany, pp. 1-9, October 1994. In addition, J Hagenauer describes a soft output Viterbi algorithm in his paper "Concatenated Viterbi Decoding", Proceedings of the Fourth Joint Swedish-Soviet Int. Workshop on Information Theory, Gotland Sweden, pp. 29-33, August 1989.
While MAP decoders offer significant performance gains over SOVA decoders, it is generally felt that SOVA decoders are simpler and faster. A particular limitation of the MAP approach is that it tends to be memory intensive. Hence, a need remains in the art for a soft output decision decoder which provides the superior performance of the MAP decoder while addressing the shortcomings and limitations of same.
SUMMARY OF THE INVENTION The need in the art is addressed by the soft decision output decoder and decoding method of the present invention. The inventive decoder decodes a sequence of signals output by an encoder and transmitted over a channel. The inventive decoder includes two "generalized" Viterbi decoders (one for forward decoding and one for backward decoding) and a generalized dual maxima processor. The implementation of a dual maxima processor is described in detail in U.S. Patent No. 5,442,627, entitled "NONCOHERENT RECEIVER EMPLOYING A DUAL-MAXIMA METRIC GENERATION PROCESS", assigned to the assignee of the present invention and incorporated by reference herein. The first "generalized" Viterbi decoder decodes the sequence of signals received over the channel during a forward iteration through a trellis representing the encoder output having a block length T. The first "generalized" Viterbi decoder begins at an initial state t0 and provides a plurality of forward iteration state metrics α for each state at each time interval over a window of length L, where L is less than a block length T but otherwise independent of T. In the illustrative embodiment, the first decoder sums products of the forward state metrics oct-ι(s') for each previous state s' by a branch metric γ(s',s) between each previous state s' and the selected state s to provide the forward state metric αt(s) for the selected state s.
A second "generalized" Viterbi decoder decodes the sequence of signals received over the channel during a backward iteration through the trellis. The second decoder starts at a second time t2L and provides a plurality of backward iteration state metrics β for each state at each time interval. In the illustrative embodiment, the second decoder sums products of the backward state metrics βt+1(s') for each subsequent state s' by a branch metric Yt(s,s') between each subsequent state s' and each selected state s to provide the branch metric βt(s) for the selected state s. A processor then performs a generalized dual maxima computation at each time using the forward state metric of one state, the backward state metric of another state and the branch metric of the branch connecting the two states for same to provide a measure of the likelihood that a particular sequence of data was transmitted by the encoder. In the illustrative embodiment, the processor computes a log of the likelihood ratio using the forward and backward state metrics and the branch metrics for a selected state. This is achieved by first computing a max function as an approximation of the measure of the likelihood that a particular sequence of data was transmitted by the encoder. Then, a correction factor is computed for the approximation to provide a more exact measure of the likelihood that a particular sequence of data was transmitted by the encoder. In a specific embodiment, correction factor includes an exponential function of the forward state metric and the backward state metric and the branch metric for a selected state. A similar technique applies to the operation of the two generalized Viterbi decoders.
In an alternative embodiment, a third Viterbi decoder is provided for performing a second backward iteration through the trellis. The third decoder provides a second plurality of backward iteration state metrics β for each state at each time interval starting at a third time t3L. By performing forward and backward Viterbi decoding with dual maxima computations at each node within a window moved over the trellis, the invention provides the performance benefits associated with a LOG-MAP decoder while avoiding the excessive memory requirements of same.
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:
FIG. 1 is a block diagram of a transmitter and receiver operating over a channel using a conventional MAP decoder. FIG. 2 is a trellis diagram of a blocked (or tailed off) convolutional code which starts and terminates in a zero state.
FIG. 3 is a block diagram of a transmitter and receiver operating over a channel and using a simplified LOG-MAP decoder in accordance with the teachings of the present invention.
FIG. 4 is a block diagram of an illustrative implementation of the soft output decision decoder of the present invention.
FIG. 5 is a trellis diagram of a blocked (or tailed off) convolutional code which starts and terminates in a zero state. FIG. 6 shows the timing for the forward and backward Viterbi decoders in accordance with a first illustrative implementation of the reduced memory simplified LOG-MAP method of the present invention.
FIG. 7 is a flow diagram of the first illustrative implementation of the reduced memory simplified LOG-MAP method of the present invention. FIG. 8 shows the timing for the forward and backward Viterbi decoders in accordance with a second illustrative implementation of the reduced memory simplified LOG-MAP method of the present invention.
FIG. 9 is a flow diagram of the second illustrative implementation of the reduced memory simplified LOG-MAP method of the present invention.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Illustrative embodiments and exemplary applications will now be described with reference to the accompanying drawings to disclose the advantageous teachings of the present invention.
While the present invention is described herein with reference to illustrative embodiments for particular applications, it should be understood that the invention is not limited thereto. Those having ordinary skill in the art and access to the teachings provided herein will recognize additional modifications, applications, and embodiments within the scope thereof and additional fields in which the present invention would be of significant utility. The present invention is best illustrated with a preliminary review of the MAP algorithm as is known in the art. The MAP Approach:
FIG. 1 is a block diagram of a transmitter and receiver operating over a channel using a conventional MAP decoder. The system 10' includes a 1/N convolutional encoder 12' which receives an input sequence ut and outputs a signal stream xt to a modulator 14'. The modulator 14' modulates and spreads the signal in a conventional manner and provides it to the transmitter 16'. The transmitter 16' includes power amplifiers and antennas necessary to transmit the signal over an additive white Gaussian noise (AWGN) channel 17'. The signal received over the channel yt is despread and demodulated by a conventional demodulator 19' and forwarded to a MAP decoder 20'. The MAP decoder 20' outputs an estimate of the input sequence ut .
The operation of the conventional MAP decoder 20' is described below with reference to FIG. 2.
FIG. 2 is a trellis diagram of a blocked (or tailed off) convolutional code which starts and terminates in a zero state. Focusing on the kth branch of the trellis 30' the following definitions are useful: uk = bits associated with the kth branch; s = generic state for the kth node (after kth branch); s' = generic state for (k-l)th node (before kth branch); yk = vector or received symbols for kth branch;
Vj<k= vector of received symbols for all branches before kth branch; V k = vector of received symbols for all branches after kth branch; and y = Vj<k/yk/Vj>k = vector of all received symbols over entire trellis.
Then using the independence of symbols y on successive received branches and the Markov property of the trellis, (state s and branch yk depend only on state s'), we have p(s',s,y) = p(s',s, yj<k,yk,yj>k )
= p(s',yj<k)p(yk,s I s')p(yj>kl s) = αk-ι(s')γk(s',s)βk(s) (1)
where
αk-1(s') =p(s',yj<k); αk(s) = p(s,yj<k+1) (2)
Δ βk(s) = j>(yj>k|s); βk-ι(s') = p(ypk-ιls) (3) 7k(s',s)= p(yk,s|s') = p(yk|s,s')p(s|s'). (4) Note from these expressions the recursions
ak(s) = (forward) (5)
Figure imgf000011_0001
&-,(*') = ∑yt ( .s)βΛs) (backward) (6)
with initial and final conditions 0(s) = 1 = β N-
With these preliminaries, we can establish the measure of interest, the soft output for the kth branch. For the sake of simplicity, we consider a binary trellis which pertains to a single bit for each branch, which we denote u (the generation to a several bit branch - as for trellis coded modulation - will be straightforward). The likelihood ratio of uk given y is:
(7)
Figure imgf000011_0002
where the summations of numerator and denominator are over those pairs of states for which uk=+l and uk = -1, respectively and the conditional probabilities of the first ratio are replaced by joint probabilities according to Bayes rule and cancellation of the common term p(y) in numerator and denominator. The likelihood ratio of eq. (7) provides a measure of the probability that a +1 was transmitted versus a -1 at time t. When the likelihood ratio is computed for each time period, the code has been decoded. With hard decision output decoders, if a 'V is more likely than a '0', it is decoded as a Υ, otherwise, it is decoded as a '0'. But with turbo codes, a hard decision is not actually made. Instead, the likelihood ratios are retained as a level of confidence. Accordingly, the function of the decoder is to provide an indication of what has been transmitted and the level of confidence for same as determined by the likelihood ratio (i.e., eq. (7)).
The MAP algorithm, then, consists of the operation eq. (7) coupled with the recursions of eqs. (5) and (6) which employ the branch likelihood eq. (4). Note that because equation (7) is a ratio, the α and β state metrics can be normalized at any node, which keeps all of them from overflowing.
The conventional MAP approach as described above has been known in the art for over twenty years and generally ignored because: a) with hard decision outputs, performance is almost the same as for the Viterbi algorithm and b) complexity is much greater because of the multiplication operation required and the additional backward recursion. That is, the entire trellis 30' must be stored. The memory required is on the order of the length of the trellis times the number of states times the storage required for each state.
With the incentive provided by turbo codes and SCIC and their improved performance employing MAP, interest was rekindled and it was recognized that simplification can be effected without compromising performance, as described below.
LOG-MAP. A DUAL GENERALIZED VITERBI APPROACH
Taking the logarithms of all parameters in equations (4 - 7), we define each as the Latin symbol equivalent of the Greek symbol, a = ln , b = lnβ, c = lnγ and L = lnΛ.
Thus, equations (4 - 7) become
ck(s',s) = In p(yk|s,s') + In P(s|s') the branch metric (4')
ak(s) = ln expI , 0' ) + ck (s' , s)] ; a0(s)=0 (5')
bk-ι(s') = In ∑exptc^ ,s) + bk( )] ; bN(s)=0 (6') s
Lk = /n ∑ exp(ak-1+ck+bk) - In ∑ exp(ak-1+ck+bk) (7')
Note that for a binary tree, the summations in equations (5') and (6') are over just two terms, while in equation (7'), each is over half the connected state-pairs of which there are in all 2m in each subset where m is the number of memory elements of the convolutional encoder 12'. Note also that since the α and β metrics could be normalized by a common factor at each node, the a and b metrics can be reduced by a common amount at each node.
The first revelation comes about as a result of the approximation
Figure imgf000012_0001
with the approximation improving as the values Xj diverge. Then equations (5') and (6') become the Viterbi algorithm recursions forward and backward, respectively, where the latter begins with the final node. Similarly, equation (7') becomes the dual-maxima procedure. Hence, we arrive at a forward and backward Viterbi algorithm, coupled together at each node by a dual- maxima computation. Accordingly, the soft output decision decoder of the present invention includes a forward Viterbi decoder, a backward Viterbi decoder and a dual maxima processor.
FIG. 3 is a block diagram of a transmitter and receiver operating over a channel and using a simplified LOG-MAP decoder in accordance with the teachings of the present invention. The system 10 includes a convolutional encoder 12 which receives an input sequence ut and outputs a signal stream xt to a modulator 14. The modulator 14 modulates the signal in a conventional manner and provides it to the transmitter 16. The transmitter 16 includes power amplifiers and antennas necessary to transmit the signal over the channel 17. The signal received over the channel yt is demodulated by a conventional demodulator 19 and forwarded to the simplified LOG-MAP decoder 20 designed in accordance with the present teachings. The decoder 20 is a soft decision output decoder which outputs an estimate of the input sequence ut .
FIG. 4 is a block diagram of an illustrative implementation of the soft output decision decoder 20 of the present invention. In the illustrative implementation, the decoder 20 includes a buffer memory 22 which receives the demodulated received signal from the demodulator 19. The buffer memory delays the inputs to a forward Viterbi decoder 24 until enough signals samples are received for a backward Viterbi decoder 26 to initiate a backward recursion through the trellis. The outputs of the forward Viterbi decoder 24 and the backward Viterbi decoder 26 are input to a dual maxima processor 28. The dual maxima processor provides an estimate of the sequence ut under control of a timing circuit 27 and using a correction factor supplied by a read-only memory (ROM) 29 as described more fully below. The dual maxima processor 28 may be implemented with an application specific integrated circuit (ASIC), a digital signal processor (DSP) or a microprocessor by one of ordinary skill in the art.
The operation of the decoder 20 is described below with reference to FIG. 5. FIG. 5 is a trellis diagram of a blocked (or tailed off) convolutional code which starts and terminates in a zero state. The trellis 30 is the same as that 30' of FIG. 2 with the exception that the forward and backward recursions are joined together at each node by the dual maxima computation of eq. (7').
Unfortunately, the approximation of equation (8) necessarily produces some degradation. This can be avoided by using the second revelation, the identity
In (ex + ey) = Max(x,y)+/n(l+e"|x"yl) Δ
= g(χ,y) (9)
The second term is a correction factor which is implemented using a lookup table stored in ROM 29. The ROM 29 is driven by |x-y| while sign (x-y) is required to determine Max(x,y).
To obtain a precise form of equation (8) when there are more than two terms in the sum, we nest the operations g() to obtain
/
In e g(xi,g(xn, g(x3,g(x2xι))-) (10) =/ which is required for eq. (7'), as well as for eqs. (5') and (6') when the trellis structure is nonbinary.
But the conclusion is the same with the correction (second term of eq. (9)) providing for the exact form. Hence, in accordance with one aspect of the present teachings, the LOG-MAP approach is implemented as two generalized Viterbi decoders coupled by a generalized dual-maxima procedure where the generalization involves adding the correction term to the max (x,y) function of eq. (8) to obtain the function g(s,y) of eq. (9).
Implementation for Memory Reduction
The remaining drawback of the LOG-MAP approach set forth above is that it is memory intensive. The entire state metric history must be stored, out to the end of the trellis, at which point the backward algorithm begins and decisions can be output starting with the last branch, without need to store any but the last set of state metrics computed backward. This storage requirement is obviously excessive. For a 16-state code, assuming 6-bit state metrics, it would require 96 bits of storage per branch, for a total of 96,000 bits for a 1,000 bit block, judged to be minimal for turbo code performance by those skilled in the art.
This problem is addressed by the present invention. Although the teachings of the invention may be implemented in a number of embodiments, two illustrative embodiments are described herein: one involving a single backward iteration and one involving two backward iterations. The basis for both approaches is the fact that the Viterbi decoder can start cold in any state at any time. Initially the state metrics are of little value, but after a few constraint lengths, the set of state metrics are as reliable as if the process had been started at the initial (or final) node. Let this "learning" period consist of L branches. (For a 16 state code, L=32 should be more than sufficient, amounting to over 6 constraint lengths of the convolutional code.) This applies equally to the backward as well as the forward algorithm and assumes that all state metrics are normalized by subtracting at every node an equal amount from each. Both methods reduce the memory requirement for a 16-state code to just a few thousand bits, independent of the block length T.
MEMORY REDUCTION USING A SINGLE BACKWARD ITERATION
In this implementation, we let the received branch symbols be delayed by 2L branch times where L is the length of a window on the trellis 30. Then we set an initial condition of 'V in a linear implementation (or '0' in a log implementation) for the initial node and zero for all other nodes at the initial time t0. Next, the forward Viterbi decoder 24 of FIG. 4 starts computing forward state metrics at the initial node at time t0 for each node every branch time in accordance with equation (5 or 5'). These state metrics are stored in a memory in the processor 28. This process is depicted in the diagram of FIG. 6.
FIG. 6 shows the timing for the forward and backward Viterbi decoders in accordance with the first illustrative embodiment of the present invention. From time t=0 to time t=L, the generalized forward Viterbi algorithm computes the forward state metric is shown by segment 42. At time t=L, the forward iteration is suspended and a backward iteration is initiated by the backward Viterbi decoder 26 of FIG. 4. The backward iteration is initiated not from the end of the trellis as with the conventional approach, but from time 2L as though it were the end of a frame of length 2L. The nodes or states of the trellis 30 are all set at the initial value of '1' in a linear implementation or '0' in a log implementation. At first, the metrics are again unreliable as shown by the dashed line 44 in FIG. 6. These metrics become reliable after L as shown by 46. Hence, at time L, we have reliable forward and backward metrics. At this point, the generalized dual-maxima process may be performed according to equation (7') and soft decisions corresponding to the first L branches are output. We can now discard the forward metrics from time t = 0 to time t = L. Backward metrics are discarded upon computation of the next set of backward metrics.
Next, the forward Viterbi decoder 24 moves forward from time t = L and forward metrics for each node are computed as above until time 2L. This is shown again by the line segment 42 in FIG. 6. At 2L the forward decoding is suspended and the backward Viterbi decoder 26 begins to generate metrics from time 3L. Again, these metrics are unreliable until time 2L as shown by the dashed line 48. However, from L to 2L, we now have reliable forward and backward metrics. Hence, we may compute the likelihood ratio during this time interval, using the generalized dual maxima computations.
The method of this first illustrative implementation is depicted in the flow diagram of FIG. 7. As depicted in FIG. 7, the above described process is repeated over the entire trellis 30.
Those skilled in the art will appreciate that the memory required is on the order of L times the number of states instead of T times the number of states where T is the trellis frame length and L « T. Those skilled in the art will also be able to choose an optimal frame length. In the illustrative embodiment, a frame length of L in the range of 5 to 7 constraint lengths was found to be sufficient.
Alternative Implementation
For the alternative illustrative implementation, reference is made to
FIG. 8 which shows the bit processing times for one forward processor and two backward processors operating in synchronism with the received branch symbols, i.e., computing one set of state metrics during each received branch time (bit time for a binary trellis). Once again we let the received branch symbols be delayed by 2L branch times. The forward decoder 24 of FIG. 4 starts again at the initial node at branch time 2L, computing all state metrics for each node every branch time and storing these in memory. For this implementation, the first and second backward Viterbi decoders are shown generally as '26' in FIG. 4. The first backward decoder starts at the same time as the forward decoder 24 but processes backward from the 2Lth node, setting every initial state metric to the same value, not storing anything until branch time 3L, at which point it has built up reliable state metrics and it encounters the last of the first set of L forward computed metrics. At this point, the generalized dual-maxima process is performed according to equation (7'), the Lth branch soft decisions are output, and the backward processor proceeds until it reaches the initial node at time 4L. Meanwhile, starting at time 3L, the second backward decoder begins processing with equal metrics at node 3L, discarding all metrics until time 4L, when it encounters the forward algorithm having computed the state metrics for the 2Lth node. The generalized dual-maxima process is then turned on until time 5L, at which point all soft decision outputs from the 2Lth to the Lth node will have been output. The two backward processors hop forward 4L branches every time they have generated backward 2L sets of state metrics and they time-share the output processor, since one generates useless metrics while the other generates the useful metrics which are combined with those of the forward algorithm.
The method of this alternative implementation is illustrated in the flow diagram of FIG. 9. Note that nothing needs to be stored for the backward algorithms except for the metric set of the last node and these only when reliable metrics are being generated. The forward algorithm only needs to store 2L sets of state metrics since after its first 2L computations (performed by time 4L), its first set of metrics will be discarded and the emptied storage can then be filled starting with the forward-computed metrics for the (2L+l)th node (at branch time 4L+1). Thus the storage requirements for a 16-state code using 6-bit state metrics is just 192L bits in all, which for L=32 amounts to approximately 6,000 bits. (Note further that a conventional K = 7 Viterbi decoder with 64 states and a 32-bit path memory requires about 2,000 bits of memory, while a K=9 decoder requires at least a 40-bit path memory resulting in over 10,000 bits of storage). Hence, the LOG- MAP storage requirements are no greater than those of a conventional Viterbi algorithm.
As for processing requirements, it would appear that the Viterbi algorithm load is thus tripled; furthermore, the complexity of the generalized dual-maxima process is no greater than that of the forward or backward Viterbi algorithm processor, so that overall the complexity is not more than quadrupled. Also, the chain-back procedure is avoided. Further, since the code is shorter, the number of states is reduced by a factor of 4 or 16 for the K=7 and 9 examples given. Since the MAP decoder (with short constraint length) is only justified for turbo codes, we must also account for the required number of iterations, which are of the order of 4 to 8. thus a 16- state serial turbo decoder performing 8 iterations imposes double the processing load of a K=9 Viterbi decoder and 8 times that of a K=7 decoder. Minimum decoding delay is set by the length of the block or its corresponding interleaver. If the processors described above operate at just the speed of the received branches, it may be necessary to pipeline the successive iterations and hence multiply the minimum delay by the number of iterations. If, on the other hand, the processors can operate at a much higher speed, then additional delay can be much reduced.
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.
WE CLAIM:

Claims

1. A system for decoding a sequence of signals output by an encoder and transmitted over a channel, said encoder output represented by a trellis having a block length T, said system comprising: first means for Viterbi decoding said sequence of signals received over said channel during a forward iteration through said trellis, said first means providing a plurality of forward iteration state metrics α for each state at each time interval over a window of length 2L, where L is a number of constraint lengths and 2L is less than a block length T, wherein said forward iteration begins at an initial state t0; second means for Viterbi decoding said sequence of signals received over said channel during a backward iteration through said trellis, said second means providing a plurality of backward iteration state metrics β for each state at each time interval starting at a second time; and third means for performing a dual maxima computation at each state using the forward state metric, the backward state metric and the branch metric for same to provide a measure of the likelihood that a particular sequence of data was transmitted by said encoder.
2. The invention of Claim 1 wherein said first means includes means for multiplying a forward state metric αt-1(s') for a previous state s' by a branch metric γt(s',s) to provide said forward state metric αt(s) for a selected state s.
3. The invention of Claim 2 wherein said first means includes means for summing products of the forward state metrics t-1(s') for each previous state s' by a branch metric γt(s',s) between each previous state s' and the selected state s to provide said forward state metric αt(s) for the selected state s.
4. The invention of Claim 1 wherein said second means includes means for multiplying a backward state metric βt+1(s') for a subsequent state s' by a branch metric γt(s,s') to provide said branch metric βt(s) for a selected state s.
5. The invention of Claim 4 wherein said second means includes means for summing products of the backward state metrics βt+1(s') for each subsequent state s' by a branch metric γt(s,s') between each subsequent state s' and each selected state s to provide said branch metric βt(s) for the selected state s.
6. The invention of Claim 1 wherein said means for performing a dual maxima computation includes means for computing a likelihood ratio.
7. The invention of Claim 6 wherein said means for computing a likelihood ratio includes means for computing the log of the likelihood ratio.
8. The invention of Claim 1 wherein said third means includes means for computing a max function as an approximation of the measure of the likelihood that a particular sequence of data was transmitted by said encoder.
9. The invention of Claim 8 wherein said third means includes means for providing a correction factor for said approximation to provide a more exact measure of the likelihood that a particular sequence of data was transmitted by said encoder.
10. The invention of Claim 9 wherein said correction factor includes an exponential function of the forward state metric and the backward state metric and the branch metric for a selected state.
11. The invention of Claim 1 wherein said second means includes means for providing a second backward iteration through said trellis, said second means providing a second plurality of backward iteration state metrics β for each state at each time interval starting at a third time t3L.
12. A soft decision output decoder comprising: means for receiving a sequence of transmitted codewords; means for providing a trellis for decoding of said sequence of codewords, said trellis having a block length T; first means for decoding said sequence of signals received over said channel during a forward iteration through said trellis, said first means providing a plurality of forward iteration state metrics α for each state at each time interval over a window of length 2L, where L is a number of constraint lengths and 2L is less than a block length T, wherein said forward iteration begins at an initial state t0, said first means including means for summing products of forward state metrics αt-1(s') for each previous state s' by a branch metric Yt(s',s) between each previous state s' and a selected state s to provide a forward state metric αt(s) for the selected state s; second means for decoding said sequence of signals received over said channel during a backward iteration through said trellis, said second means including: means for summing products of the backward state metrics βt+ι(s') for each subsequent state s' by a branch metric Yt(s,s') between each subsequent state s' and each selected state s to provide a first plurality of backward iteration state metrics β (s) for each selected state s at each time interval starting at a second time t2L and means for summing products of the backward state metrics βt+ι(s') for each subsequent state s' by a branch metric γt(s,s') between each subsequent state s' and each selected state s to provide a second plurality of backward iteration state metrics βt(s) for each selected state s at each time interval starting at a third time t3L; and third means for performing a dual maxima computation at each state using the forward state metrics, the backward state metrics and the branch metrics for same to provide a measure of the likelihood that a particular sequence of data was transmitted by said encoder.
13. The invention of Claim 12 wherein said means for performing a dual maxima computation includes means for computing a likelihood ratio.
14. The invention of Claim 13 wherein said means for computing a likelihood ratio includes means for computing the log of the likelihood ratio.
15. The invention of Claim 12 wherein said third means includes means for computing a max function as an approximation of the measure of the likelihood that a particular sequence of data was transmitted by said encoder.
16. The invention of Claim 15 wherein said third means includes means for providing a correction factor for said approximation to provide a more exact measure of the likelihood that a particular sequence of data was transmitted by said encoder.
17. The invention of Claim 16 wherein said correction factor includes an exponential function of the forward state metric and the backward state metrics and the branch metric for a selected state.
18. A method for decoding a convolutionally encoded codeword including the steps of: a) providing a trellis representative of an output of an encoder used to encode said codeword, said trellis having a block length T; b) assigning an initial condition to each starting node of the trellis for a forward iteration through the trellis; c) assigning an initial condition to each starting node for a backward iteration through the trellis; d) computing a forward metric for each node in a window of length L on the trellis during a forward iteration, where the window length L is less than the block length T; e) computing, during a backward iteration, a backward metric for each node in a window of length L on the trellis starting at a time 2L from a point at which the forward iteration is initiated; f) computing a dual maxima for each node using the forward metric and the backward metric to decode said codeword; and g) repeat steps d) - f) over entire block.
19. The invention of Claim 18 wherein the step f) includes the step of log mapping.
20. The invention of Claim 18 wherein the step e) includes a step of initiating a second backward iteration starting at time 3L from a point at which the forward iteration is initiated.
21. A method for decoding a convolutionally encoded codeword including the steps of: a) providing a trellis representative of an output of an encoder used to encode said codeword, said trellis having a block length T; b) assigning an initial condition to each starting node of the trellis for a forward iteration through the trellis; c) assigning an initial condition to each starting node for a backward iteration through the trellis; d) using a Viterbi algorithm to compute a forward metric for each node in a window of length L on the trellis during a forward iteration, where the window length L is less than the block length T; e) using a Viterbi algorithm to compute, during a backward iteration, a backward metric for each node in a window of length L on the trellis starting at a time 2L from a point at which the forward iteration is initiated; f) computing a dual maxima for each node using the forward metric and the backward metric to decode said codeword; and g) repeat steps d) - f) over entire block.
22. The invention of Claim 21 wherein the step f) includes the step of log mapping.
23. The invention of Claim 21 wherein the step e) includes a step of initiating a second backward iteration starting at time 3L from a point at which the forward iteration is initiated.
24. A decoder for decoding a sequence of signals output by an encoder, including: a) a forward viterbi decoder; b) a backward viterbi decoder; and c) a dual maxima processor coupled to the forward viterbi decoder and to the backward viterbi decoder.
25. The decoder of Claim 24, further including a buffer memory coupled to the forward viterbi decoder.
PCT/US1997/020109 1996-11-06 1997-11-06 Soft decision output decoder for decoding convolutionally encoded codewords WO1998020617A1 (en)

Priority Applications (6)

Application Number Priority Date Filing Date Title
JP52172498A JP3998723B2 (en) 1996-11-06 1997-11-06 Soft decision output for decoding convolutionally encoded codewords
EP97945610A EP0937336B1 (en) 1996-11-06 1997-11-06 Soft decision output decoder for decoding convolutionally encoded codewords
DE69739533T DE69739533D1 (en) 1996-11-06 1997-11-06 DECODER WITH ANALOG VALUE DECISIONS FOR DECODING FOLDING CODE WORDS
CA002270668A CA2270668C (en) 1996-11-06 1997-11-06 Soft decision output decoder for decoding convolutionally encoded codewords
AU51045/98A AU722477B2 (en) 1996-11-06 1997-11-06 Soft decision output decoder for decoding convolutionally encoded codewords
AT97945610T ATE439705T1 (en) 1996-11-06 1997-11-06 DECODER WITH ANALOG VALUE DECISIONS FOR DECODING CONFLICTIONAL CODE WORDS

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/743,688 US5933462A (en) 1996-11-06 1996-11-06 Soft decision output decoder for decoding convolutionally encoded codewords
US743,688 1996-11-06

Publications (1)

Publication Number Publication Date
WO1998020617A1 true WO1998020617A1 (en) 1998-05-14

Family

ID=24989778

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US1997/020109 WO1998020617A1 (en) 1996-11-06 1997-11-06 Soft decision output decoder for decoding convolutionally encoded codewords

Country Status (14)

Country Link
US (1) US5933462A (en)
EP (3) EP0937336B1 (en)
JP (1) JP3998723B2 (en)
KR (1) KR100566084B1 (en)
CN (1) CN1178397C (en)
AT (1) ATE439705T1 (en)
AU (1) AU722477B2 (en)
CA (1) CA2270668C (en)
DE (1) DE69739533D1 (en)
ES (1) ES2330061T3 (en)
MY (1) MY116167A (en)
TW (1) TW431097B (en)
WO (1) WO1998020617A1 (en)
ZA (1) ZA979958B (en)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000059118A1 (en) * 1999-03-31 2000-10-05 Qualcomm Incorporated Highly parallel map decoder
WO2000069090A1 (en) * 1999-05-11 2000-11-16 Qualcomm Incorporated System and method for providing an accurate estimation of received signal interference for use in wireless communications systems
EP0963048A3 (en) * 1998-06-01 2001-02-07 Her Majesty The Queen In Right Of Canada as represented by the Minister of Industry Max-log-APP decoding and related turbo decoding
GB2360858A (en) * 2000-03-20 2001-10-03 Motorola Inc High-speed maximum a posteriori (MAP ) architecture with optimised memory size and power consumption
US6343368B1 (en) 1998-12-18 2002-01-29 Telefonaktiebolaget Lm Ericsson (Publ) Method and system for fast maximum a posteriori decoding
JP2003523691A (en) * 2000-02-14 2003-08-05 モトローラ・インコーポレイテッド Method and apparatus for decoding inductive convolutional symbols
US6857101B1 (en) 1999-12-14 2005-02-15 Intel Corporation Apparatus and method of storing reference vector of state metric
US7154965B2 (en) 2002-10-08 2006-12-26 President And Fellows Of Harvard College Soft detection of data symbols in the presence of intersymbol interference and timing error
KR100838907B1 (en) * 2000-06-08 2008-06-16 소니 가부시끼 가이샤 Decoder and decoding method
US7433384B2 (en) 2001-05-17 2008-10-07 Qualcomm Incorporated System and method for received signal prediction in wireless communications system
US7545852B2 (en) 2001-05-17 2009-06-09 Qualcomm Incorporated System and method for adjusting combiner weights using an adaptive algorithm in wireless communications system
JP4834863B2 (en) * 2000-09-04 2011-12-14 エスティー‐エリクソン、ソシエテ、アノニム Lossy compression of stakes for turbo decoder
CN104620507A (en) * 2013-05-31 2015-05-13 华为技术有限公司 Decoding method and decoder

Families Citing this family (167)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FI102230B (en) * 1997-02-28 1998-10-30 Nokia Telecommunications Oy Reception method and receiver
FI102335B (en) * 1997-02-28 1998-11-13 Nokia Telecommunications Oy Reception method and receiver
DE59801578D1 (en) * 1997-04-30 2001-10-31 Siemens Ag METHOD AND ARRANGEMENT FOR DETERMINING AT LEAST ONE DIGITAL SIGNAL VALUE FROM AN ELECTRICAL SIGNAL
EP0985292B1 (en) * 1997-05-30 2005-04-20 QUALCOMM Incorporated Method and apparatus for providing error protection for over-the-air file transfer
IT1292066B1 (en) * 1997-06-03 1999-01-25 Italtel Spa NON-COHERENT RECEIVER WITH SEQUENCE ESTIMATION FOR LINEAR NUMERICAL MODULATIONS
US6118825A (en) * 1997-08-11 2000-09-12 Sony Corporation Digital data transmission device and method, digital data demodulation device and method, and transmission medium
US6081802A (en) * 1997-08-12 2000-06-27 Microsoft Corporation System and method for accessing compactly stored map element information from memory
US9118387B2 (en) 1997-11-03 2015-08-25 Qualcomm Incorporated Pilot reference transmission for a wireless communication system
US7184426B2 (en) * 2002-12-12 2007-02-27 Qualcomm, Incorporated Method and apparatus for burst pilot for a time division multiplex system
US6141388A (en) * 1998-03-11 2000-10-31 Ericsson Inc. Received signal quality determination method and systems for convolutionally encoded communication channels
US6108386A (en) * 1998-04-03 2000-08-22 Lucent Technologies Inc. List Viterbi algorithms for continuous data transmission
EP1017178A4 (en) * 1998-05-28 2001-02-21 Sony Corp Soft output decoder for convolution code and soft output decoding method
JP3413759B2 (en) * 1998-07-17 2003-06-09 株式会社ケンウッド BS digital broadcast receiver
US6381728B1 (en) * 1998-08-14 2002-04-30 Qualcomm Incorporated Partitioned interleaver memory for map decoder
JP2000068862A (en) 1998-08-19 2000-03-03 Fujitsu Ltd Error correction coder
US6263467B1 (en) * 1998-08-20 2001-07-17 General Electric Company Turbo code decoder with modified systematic symbol transition probabilities
US7406098B2 (en) 1999-01-13 2008-07-29 Qualcomm Incorporated Resource allocation in a communication system supporting application flows having quality of service requirements
US6393012B1 (en) 1999-01-13 2002-05-21 Qualcomm Inc. System for allocating resources in a communication system
FI106416B (en) * 1999-02-09 2001-01-31 Nokia Mobile Phones Ltd Method and apparatus for estimating the reliability of a decoded symbol sequence
US6598204B1 (en) 1999-02-18 2003-07-22 Imec Vzw System and method of turbo decoding
US6678843B2 (en) 1999-02-18 2004-01-13 Interuniversitair Microelektronics Centrum (Imec) Method and apparatus for interleaving, deinterleaving and combined interleaving-deinterleaving
KR100300306B1 (en) * 1999-05-28 2001-09-26 윤종용 Apparatus and method for adaptive map channel decoding for time-varying channel in the wireless telecommunicaion system
US6516136B1 (en) * 1999-07-06 2003-02-04 Agere Systems Inc. Iterative decoding of concatenated codes for recording systems
JP3924093B2 (en) * 1999-07-15 2007-06-06 富士通株式会社 Viterbi decoder and transmitter
JP3846527B2 (en) * 1999-07-21 2006-11-15 三菱電機株式会社 Turbo code error correction decoder, turbo code error correction decoding method, turbo code decoding apparatus, and turbo code decoding system
US6889053B1 (en) * 1999-07-26 2005-05-03 Lucent Technologies Inc. Likelihood-based geolocation prediction algorithms for CDMA systems using pilot strength measurements
US8064409B1 (en) 1999-08-25 2011-11-22 Qualcomm Incorporated Method and apparatus using a multi-carrier forward link in a wireless communication system
US6778507B1 (en) 1999-09-01 2004-08-17 Qualcomm Incorporated Method and apparatus for beamforming in a wireless communication system
US6343103B1 (en) * 1999-09-03 2002-01-29 Agere Systems Guardian Corp. Methods and apparatus for representation of branch metrics in a communication system decoder
US6563810B1 (en) 1999-09-30 2003-05-13 Qualcomm Incorporated Closed loop resource allocation
US6621804B1 (en) 1999-10-07 2003-09-16 Qualcomm Incorporated Method and apparatus for predicting favored supplemental channel transmission slots using transmission power measurements of a fundamental channel
US6580767B1 (en) 1999-10-22 2003-06-17 Motorola, Inc. Cache and caching method for conventional decoders
US7206580B2 (en) 1999-11-04 2007-04-17 Qualcomm Incorporated Method and apparatus for performing handoff in a high speed communication system
US6400290B1 (en) 1999-11-29 2002-06-04 Altera Corporation Normalization implementation for a logmap decoder
EP1234420A2 (en) * 1999-12-03 2002-08-28 Broadcom Corporation Viterbi slicer for turbo codes
AU4710501A (en) 1999-12-03 2001-06-18 Broadcom Corporation Interspersed training for turbo coded modulation
US6597743B1 (en) * 1999-12-07 2003-07-22 Ericsson Inc. Reduced search symbol estimation algorithm
US6487694B1 (en) * 1999-12-20 2002-11-26 Hitachi America, Ltd. Method and apparatus for turbo-code decoding a convolution encoded data frame using symbol-by-symbol traceback and HR-SOVA
EP1115209A1 (en) * 2000-01-07 2001-07-11 Motorola, Inc. Apparatus and method for performing parallel siso decoding
US7092457B1 (en) * 2000-01-18 2006-08-15 University Of Southern California Adaptive iterative detection
DE10001856A1 (en) 2000-01-18 2001-08-09 Infineon Technologies Ag Method for decoding a data signal
US6980605B2 (en) * 2000-01-31 2005-12-27 Alan Gatherer MAP decoding with parallelized sliding window processing
US6477681B1 (en) * 2000-02-07 2002-11-05 Motorola, Inc. Methods for decoding data in digital communication systems
US6856657B1 (en) 2000-02-10 2005-02-15 Motorola, Inc. Soft output decoder for convolutional codes
US6901117B1 (en) 2000-02-10 2005-05-31 Motorola, Inc. Soft output decoder for convolutional codes
US6868132B1 (en) 2000-02-10 2005-03-15 Motorola, Inc. Soft output decoder for convolutional codes
US6658071B1 (en) 2000-02-14 2003-12-02 Ericsson Inc. Delayed decision feedback log-map equalizer
DE60007956T2 (en) * 2000-02-21 2004-07-15 Motorola, Inc., Schaumburg Device and method for SISO decoding
GB0004765D0 (en) * 2000-03-01 2000-04-19 Mitel Corp Soft-decision decoding of convolutionally encoded codeword
JP2001251226A (en) * 2000-03-03 2001-09-14 Yrp Kokino Idotai Tsushin Kenkyusho:Kk Two-way viterbi equalizer
US6516437B1 (en) * 2000-03-07 2003-02-04 General Electric Company Turbo decoder control for use with a programmable interleaver, variable block length, and multiple code rates
JP2001266498A (en) * 2000-03-23 2001-09-28 Sony Corp Unit and method for reproducing data, unit and method for recording and reproducing data
US7088701B1 (en) 2000-04-14 2006-08-08 Qualcomm, Inc. Method and apparatus for adaptive transmission control in a high data rate communication system
US6307901B1 (en) 2000-04-24 2001-10-23 Motorola, Inc. Turbo decoder with decision feedback equalization
US6606725B1 (en) * 2000-04-25 2003-08-12 Mitsubishi Electric Research Laboratories, Inc. MAP decoding for turbo codes by parallel matrix processing
US6888897B1 (en) 2000-04-27 2005-05-03 Marvell International Ltd. Multi-mode iterative detector
US7184486B1 (en) 2000-04-27 2007-02-27 Marvell International Ltd. LDPC encoder and decoder and method thereof
KR100566745B1 (en) * 2000-05-03 2006-04-03 유니버시티 오브 써던 캘리포니아 Reduced-latency soft-in/soft-out module
US7245594B1 (en) * 2000-05-12 2007-07-17 Qualcomm Incorporated Method and apparatus for fast closed-loop rate adaptation in a high rate packet data transmission
JP3613134B2 (en) * 2000-05-12 2005-01-26 日本電気株式会社 High speed turbo decoder
FR2809249B1 (en) * 2000-05-16 2004-04-23 France Telecom METHOD AND SYSTEM FOR ITERATIVE DETECTION AND DECODING OF RECEIVED SYMBOLS, COUPLED TO A REESTIMATION OF THE TRANSMISSION CHANNEL COEFFICIENTS
JP2001352254A (en) * 2000-06-08 2001-12-21 Sony Corp Decoder and decoding method
US7000177B1 (en) 2000-06-28 2006-02-14 Marvell International Ltd. Parity check matrix and method of forming thereof
US6965652B1 (en) 2000-06-28 2005-11-15 Marvell International Ltd. Address generator for LDPC encoder and decoder and method thereof
US7072417B1 (en) 2000-06-28 2006-07-04 Marvell International Ltd. LDPC encoder and method thereof
US6751206B1 (en) * 2000-06-29 2004-06-15 Qualcomm Incorporated Method and apparatus for beam switching in a wireless communication system
FI109162B (en) * 2000-06-30 2002-05-31 Nokia Corp Method and arrangement for decoding a convolution-coded codeword
US6529527B1 (en) 2000-07-07 2003-03-04 Qualcomm, Inc. Method and apparatus for carrying packetized voice and data in wireless communication networks
US6829313B1 (en) * 2000-07-17 2004-12-07 Motorola, Inc. Sliding window turbo decoder
US6813743B1 (en) * 2000-07-31 2004-11-02 Conexant Systems, Inc. Sliding window technique for map decoders
DE60006108T2 (en) * 2000-08-04 2004-05-19 Motorola, Inc., Schaumburg Linear approximation of the LOG-MAP algorithm for turbo decoding
US6879581B1 (en) 2000-08-22 2005-04-12 Qualcomm Incorporated Method and apparatus for providing real-time packetized voice and data services over a wireless communication network
US7099384B1 (en) 2000-09-01 2006-08-29 Qualcomm, Inc. Method and apparatus for time-division power assignments in a wireless communication system
US7254190B2 (en) * 2000-09-01 2007-08-07 Broadcom Corporation Satellite receiver
EP1329025A1 (en) * 2000-09-05 2003-07-23 Broadcom Corporation Quasi error free (qef) communication using turbo codes
US6452979B1 (en) * 2000-09-06 2002-09-17 Motorola, Inc. Soft output decoder for convolutional codes
US7242726B2 (en) * 2000-09-12 2007-07-10 Broadcom Corporation Parallel concatenated code with soft-in soft-out interactive turbo decoder
US7127664B2 (en) * 2000-09-18 2006-10-24 Lucent Technologies Inc. Reconfigurable architecture for decoding telecommunications signals
US7234100B1 (en) * 2000-09-28 2007-06-19 Intel Corporation Decoder for trellis-based channel encoding
US7099411B1 (en) 2000-10-12 2006-08-29 Marvell International Ltd. Soft-output decoding method and apparatus for controlled intersymbol interference channels
US7068683B1 (en) 2000-10-25 2006-06-27 Qualcomm, Incorporated Method and apparatus for high rate packet data and low delay data transmissions
US6973098B1 (en) 2000-10-25 2005-12-06 Qualcomm, Incorporated Method and apparatus for determining a data rate in a high rate packet data wireless communications system
US6518892B2 (en) 2000-11-06 2003-02-11 Broadcom Corporation Stopping criteria for iterative decoding
US6999430B2 (en) * 2000-11-30 2006-02-14 Qualcomm Incorporated Method and apparatus for transmitting data traffic on a wireless communication channel
US6711208B2 (en) * 2000-12-04 2004-03-23 Qualcomm, Incorporated Estimation of traffic-to-pilot ratios
US6856656B2 (en) * 2000-12-04 2005-02-15 Conexant Systems, Inc. Iterative carrier phase tracking decoding system
WO2002049219A2 (en) * 2000-12-15 2002-06-20 Conexant Systems, Inc. Decoding of trellis codes
US20020122507A1 (en) * 2000-12-15 2002-09-05 Eidson Donald Brian System for carrier phase tracking of multi-dimensional coded symbols
US6865711B2 (en) * 2000-12-15 2005-03-08 Conexant Systems, Inc. System of and method for decoding trellis codes
US6973615B1 (en) 2000-12-15 2005-12-06 Conexant Systems, Inc. System of and method for decoding trellis codes
US7027531B2 (en) * 2000-12-29 2006-04-11 Motorola, Inc. Method and system for initializing a training period in a turbo decoding device
US6952457B2 (en) * 2000-12-29 2005-10-04 Motorola, Inc. Method and system for adapting a training period in a turbo decoding device
US20120246539A1 (en) * 2001-01-02 2012-09-27 Icomm Technologies Inc. Wireless system with diversity processing
US6850499B2 (en) 2001-01-05 2005-02-01 Qualcomm Incorporated Method and apparatus for forward power control in a communication system
US7961616B2 (en) 2001-06-07 2011-06-14 Qualcomm Incorporated Method and apparatus for congestion control in a wireless communication system
US20030007580A1 (en) * 2001-06-08 2003-01-09 Toshio Nagata Blind transport format detection system and method
US7020827B2 (en) * 2001-06-08 2006-03-28 Texas Instruments Incorporated Cascade map decoder and method
WO2003001838A1 (en) 2001-06-26 2003-01-03 Qualcomm Incorporated Method and apparatus for adaptive server selection in a data communication system
US6757520B2 (en) * 2001-06-26 2004-06-29 Qualcomm Incorporated Method and apparatus for selecting a serving sector in a data communication system
US7058035B2 (en) * 2001-06-29 2006-06-06 Qualcomm, Indorporated Communication system employing multiple handoff criteria
EP1276242B1 (en) * 2001-07-10 2006-02-01 Motorola, Inc. Improved high-speed "maximum a posteriori"(MAP) architecture with optimized memory size and power consumption
US7661059B2 (en) * 2001-08-06 2010-02-09 Analog Devices, Inc. High performance turbo and Viterbi channel decoding in digital signal processors
US6961921B2 (en) * 2001-09-06 2005-11-01 Interdigital Technology Corporation Pipeline architecture for maximum a posteriori (MAP) decoders
US20030115061A1 (en) * 2001-09-11 2003-06-19 Broadcom Corporation MPSK equalizer
US6760883B2 (en) * 2001-09-13 2004-07-06 Agere Systems Inc. Generating log-likelihood values in a maximum a posteriori processor
US6763493B2 (en) * 2001-09-21 2004-07-13 The Directv Group, Inc. Method and system for performing decoding using a reduced-memory implementation
US7489744B2 (en) * 2001-09-25 2009-02-10 Qualcomm Incorporated Turbo decoding method and apparatus for wireless communications
US7813740B2 (en) * 2001-10-15 2010-10-12 Qualcomm Incorporated Method and apparatus for managing imbalance in a communication system
US7336952B2 (en) * 2001-10-24 2008-02-26 Qualcomm, Incorporated Method and system for hard handoff in a broadcast communication system
US7453801B2 (en) * 2001-11-08 2008-11-18 Qualcomm Incorporated Admission control and resource allocation in a communication system supporting application flows having quality of service requirements
US6928599B2 (en) * 2001-12-05 2005-08-09 Intel Corporation Method and apparatus for decoding data
GB2383506A (en) * 2001-12-21 2003-06-25 Ubinetics Ltd Trellis decoding in parallel where extra trellis sections are appended
JP2003203435A (en) * 2002-01-09 2003-07-18 Fujitsu Ltd Data reproducing device
FI20020108A0 (en) * 2002-01-21 2002-01-21 Nokia Corp Procedure and apparatus for forming wall metrics in trellis
US7353450B2 (en) * 2002-01-22 2008-04-01 Agere Systems, Inc. Block processing in a maximum a posteriori processor for reduced power consumption
US6697628B1 (en) * 2002-03-01 2004-02-24 Nokia Corporation Apparatus, and associated method, for determining geographical positioning of a mobile station operable in a radio communication system
JP3898574B2 (en) * 2002-06-05 2007-03-28 富士通株式会社 Turbo decoding method and turbo decoding apparatus
KR100487183B1 (en) * 2002-07-19 2005-05-03 삼성전자주식회사 Decoding apparatus and method of turbo code
KR100703307B1 (en) * 2002-08-06 2007-04-03 삼성전자주식회사 Turbo decoding apparatus and method
JP2004080508A (en) * 2002-08-20 2004-03-11 Nec Electronics Corp Decoding method for error correction code, its program, and its device
US7139274B2 (en) * 2002-08-23 2006-11-21 Qualcomm, Incorporated Method and system for a data transmission in a communication system
US7107509B2 (en) * 2002-08-30 2006-09-12 Lucent Technologies Inc. Higher radix Log MAP processor
GB2394627B (en) * 2002-10-23 2004-09-08 Modem Art Ltd Communication unit and method of decoding
US8213390B2 (en) 2002-10-24 2012-07-03 Qualcomm Incorporated Reverse link automatic repeat request
US7564818B2 (en) * 2002-11-26 2009-07-21 Qualcomm Incorporated Reverse link automatic repeat request
US8179833B2 (en) * 2002-12-06 2012-05-15 Qualcomm Incorporated Hybrid TDM/OFDM/CDM reverse link transmission
US7680052B2 (en) * 2002-12-16 2010-03-16 Qualcomm Incorporated Closed loop resource allocation
US20040163030A1 (en) * 2003-02-13 2004-08-19 International Business Machines Corporation Iterative error correcting system
US20040181569A1 (en) * 2003-03-13 2004-09-16 Attar Rashid Ahmed Method and system for a data transmission in a communication system
US20040179469A1 (en) * 2003-03-13 2004-09-16 Attar Rashid Ahmed Method and system for a data transmission in a communication system
US20040179480A1 (en) * 2003-03-13 2004-09-16 Attar Rashid Ahmed Method and system for estimating parameters of a link for data transmission in a communication system
US7746816B2 (en) * 2003-03-13 2010-06-29 Qualcomm Incorporated Method and system for a power control in a communication system
US7246295B2 (en) * 2003-04-14 2007-07-17 Agere Systems Inc. Turbo decoder employing simplified log-map decoding
JP4227481B2 (en) * 2003-07-11 2009-02-18 パナソニック株式会社 Decoding device and decoding method
US7050514B2 (en) * 2003-08-13 2006-05-23 Motorola, Inc. Interference estimation and scaling for efficient metric storage and interference immunity
JP4041445B2 (en) * 2003-09-19 2008-01-30 ソニー・エリクソン・モバイルコミュニケーションズ株式会社 Decoding device, communication device, and decoding method
GB0323211D0 (en) * 2003-10-03 2003-11-05 Toshiba Res Europ Ltd Signal decoding methods and apparatus
CN100542053C (en) * 2004-03-03 2009-09-16 中国科学院沈阳自动化研究所 A kind of method for designing that has adaptivity and High Speed Viterbi decoder
US7555070B1 (en) 2004-04-02 2009-06-30 Maxtor Corporation Parallel maximum a posteriori detectors that generate soft decisions for a sampled data sequence
US7447970B2 (en) * 2004-06-16 2008-11-04 Seagate Technology, Inc. Soft-decision decoding using selective bit flipping
US7197692B2 (en) * 2004-06-18 2007-03-27 Qualcomm Incorporated Robust erasure detection and erasure-rate-based closed loop power control
SE528195C2 (en) * 2004-07-14 2006-09-19 Teliasonera Ab Method and device in a telecommunication system
GB0418263D0 (en) * 2004-08-16 2004-09-15 Ttp Communications Ltd Soft decision enhancement
US7643548B2 (en) * 2004-09-27 2010-01-05 Telefonaktiebolaget Lm Ericsson (Publ) Iterative forward-backward parameter estimation
US7577892B1 (en) 2005-08-25 2009-08-18 Marvell International Ltd High speed iterative decoder
US7861131B1 (en) 2005-09-01 2010-12-28 Marvell International Ltd. Tensor product codes containing an iterative code
US8793560B2 (en) * 2006-03-14 2014-07-29 Qualcomm Incorporated Log-likelihood ratio (LLR) computation using piecewise linear approximation of LLR functions
TW200803341A (en) * 2006-03-14 2008-01-01 Qualcomm Inc Log-likelihood ratio (LLR) computation using piecewise linear approximation of llr functions
US7698624B2 (en) * 2006-03-31 2010-04-13 Trellisware Technologies, Inc. Scheduling pipelined state update for high-speed trellis processing
US7697604B2 (en) * 2006-04-17 2010-04-13 Techwell, Inc. Dual pDFE system with forward-backward viterbi
US7697642B2 (en) 2006-04-17 2010-04-13 Techwell, Inc. Reducing equalizer error propagation with a low complexity soft output Viterbi decoder
US8074155B2 (en) * 2006-09-28 2011-12-06 Broadcom Corporation Tail-biting turbo coding to accommodate any information and/or interleaver block size
US7958437B2 (en) * 2007-03-30 2011-06-07 Seagate Technology Llc MAP detector with a single state metric engine
US8111767B2 (en) * 2007-05-31 2012-02-07 Renesas Electronics Corporation Adaptive sliding block Viterbi decoder
US20090041166A1 (en) * 2007-08-09 2009-02-12 Mbit Wireless, Inc. Method and apparatus to improve information decoding when its characteristics are known a priori
US8358713B2 (en) * 2007-09-10 2013-01-22 Sarath Babu Govindarajulu High throughput and low latency map decoder
US8259868B1 (en) 2007-09-25 2012-09-04 University Of Southern California Conditionally cycle-free generalized tanner graphs based decoding
US8601355B2 (en) * 2008-05-28 2013-12-03 Texas Instruments Incorporated System and method for determining parity bit soft information at a turbo decoder output
US8321769B1 (en) 2008-11-06 2012-11-27 Marvell International Ltd. Multi-parity tensor-product code for data channel
US8255780B2 (en) * 2009-02-18 2012-08-28 Saankhya Labs Pvt Ltd. Scalable VLIW processor for high-speed viterbi and trellis coded modulation decoding
GB0915135D0 (en) 2009-08-28 2009-10-07 Icera Inc Decoding signals received over a noisy channel
US8811200B2 (en) 2009-09-22 2014-08-19 Qualcomm Incorporated Physical layer metrics to support adaptive station-dependent channel state information feedback rate in multi-user communication systems
US8489971B1 (en) * 2010-05-28 2013-07-16 Sk Hynix Memory Solutions Inc. Hardware implementation scheme to adapt coefficients for data dependent noise prediction and soft output viterbi algorithm
US20130142057A1 (en) * 2011-12-01 2013-06-06 Broadcom Corporation Control Channel Acquisition
US10333561B2 (en) * 2015-01-26 2019-06-25 Northrop Grumman Systems Corporation Iterative equalization using non-linear models in a soft-input soft-output trellis
JP7052868B2 (en) 2018-06-08 2022-04-12 日本電気株式会社 Decoding device, decoding method, and program
CN115882873B (en) * 2023-02-23 2023-05-23 成都星联芯通科技有限公司 Low-density parity check code decoding method, device, communication equipment and storage medium

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05207075A (en) * 1992-01-24 1993-08-13 Hitachi Ltd Digital communication system
US5442627A (en) * 1993-06-24 1995-08-15 Qualcomm Incorporated Noncoherent receiver employing a dual-maxima metric generation process
US5629958A (en) * 1994-07-08 1997-05-13 Zenith Electronics Corporation Data frame structure and synchronization system for digital television signal
US5583889A (en) * 1994-07-08 1996-12-10 Zenith Electronics Corporation Trellis coded modulation system for HDTV

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
J. PETERSEN: "Implementierungsaspekte zur Symbol-by-Symbol MAP-Decodierung von Faltungscodes", CODIERUNG FÜR QUELLE, KANAL UND ÜBERTRAGUNG, VORTRAG DER ITG-FACHTAGUNG, no. 130, 26 October 1994 (1994-10-26), MÜNCHEN, pages 41 - 48, XP000503776 *
L.R. BAHL, J. COCKE, F. JELINEK AND J. RAVIV: "Optimal Decoding of Linear Codes for Minimizing Symbol Error Rate", IEEE TRANSACTIONS ON INFORMATION THEORY, vol. 20, March 1974 (1974-03-01), pages 284 - 287, XP000647243 *
P. ROBERTSON, E. VILLEBRUN AND P. HOEHER: "A Comparison of Optimal and Sub-Optimal MAP Decosing Algorithms Operating in the Log Domain", COMMUNICATIONS - GATEWAY TO GLOBALIZATION, PROCEEDINGS OF THE CONFERENCE ON COMMUNICATIONS, vol. 2, 18 June 1995 (1995-06-18) - 22 June 1995 (1995-06-22), SEATTLE, pages 1009 - 1013, XP000533149 *
S. BENEDETTO, D. DIVSALAR, G. MONTORSI AND F. POLLARA: "Soft-Output Decoding Algorithms for Continuous Decoding of Parallel Concatenated Convolutional Codes", 1996 IEEE INTERNATIONAL CONFERENCE ON COMMUNICATIONS (ICC), CONVERGING TECHNOLOGIES FOR TOMORROW'S APPLICATIONS, vol. 1, 23 June 1996 (1996-06-23) - 27 June 1996 (1996-06-27), DALLAS, pages 112 - 117, XP000625652 *

Cited By (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0963048A3 (en) * 1998-06-01 2001-02-07 Her Majesty The Queen In Right Of Canada as represented by the Minister of Industry Max-log-APP decoding and related turbo decoding
US6510536B1 (en) 1998-06-01 2003-01-21 Her Majesty The Queen In Right Of Canada, As Represented By The Minister Of Industry Through The Communications Research Centre Reduced-complexity max-log-APP decoders and related turbo decoders
US6343368B1 (en) 1998-12-18 2002-01-29 Telefonaktiebolaget Lm Ericsson (Publ) Method and system for fast maximum a posteriori decoding
US6754290B1 (en) 1999-03-31 2004-06-22 Qualcomm Incorporated Highly parallel map decoder
JP4955150B2 (en) * 1999-03-31 2012-06-20 クゥアルコム・インコーポレイテッド Highly parallel MAP decoder
KR100803957B1 (en) * 1999-03-31 2008-02-15 퀄컴 인코포레이티드 Highly parallel map decoder
JP2002540713A (en) * 1999-03-31 2002-11-26 クゥアルコム・インコーポレイテッド Highly parallel MAP decoder
WO2000059118A1 (en) * 1999-03-31 2000-10-05 Qualcomm Incorporated Highly parallel map decoder
US6975671B2 (en) 1999-05-11 2005-12-13 Qualcomm Incorporated System and method for providing an accurate estimation of received signal interference for use in wireless communications systems
WO2000069090A1 (en) * 1999-05-11 2000-11-16 Qualcomm Incorporated System and method for providing an accurate estimation of received signal interference for use in wireless communications systems
KR100858208B1 (en) * 1999-05-11 2008-09-10 콸콤 인코포레이티드 System and method for providing an accurate estimation of received signal interference for use in wireless communications systems
US6661832B1 (en) 1999-05-11 2003-12-09 Qualcomm Incorporated System and method for providing an accurate estimation of received signal interference for use in wireless communications systems
US6857101B1 (en) 1999-12-14 2005-02-15 Intel Corporation Apparatus and method of storing reference vector of state metric
JP2003523691A (en) * 2000-02-14 2003-08-05 モトローラ・インコーポレイテッド Method and apparatus for decoding inductive convolutional symbols
JP4844949B2 (en) * 2000-02-14 2011-12-28 モトローラ モビリティ インコーポレイテッド Method and apparatus for decoding inductive convolutional symbols
GB2360858B (en) * 2000-03-20 2004-08-18 Motorola Inc High-speed maximum a posteriori (MAP) architecture with optimized memory size and power consumption
GB2360858A (en) * 2000-03-20 2001-10-03 Motorola Inc High-speed maximum a posteriori (MAP ) architecture with optimised memory size and power consumption
KR100838907B1 (en) * 2000-06-08 2008-06-16 소니 가부시끼 가이샤 Decoder and decoding method
JP4834863B2 (en) * 2000-09-04 2011-12-14 エスティー‐エリクソン、ソシエテ、アノニム Lossy compression of stakes for turbo decoder
US7433384B2 (en) 2001-05-17 2008-10-07 Qualcomm Incorporated System and method for received signal prediction in wireless communications system
US7545852B2 (en) 2001-05-17 2009-06-09 Qualcomm Incorporated System and method for adjusting combiner weights using an adaptive algorithm in wireless communications system
US7154965B2 (en) 2002-10-08 2006-12-26 President And Fellows Of Harvard College Soft detection of data symbols in the presence of intersymbol interference and timing error
CN104620507A (en) * 2013-05-31 2015-05-13 华为技术有限公司 Decoding method and decoder
US9729276B2 (en) 2013-05-31 2017-08-08 Huawei Technologies Co., Ltd. Decoding method and decoder
CN104620507B (en) * 2013-05-31 2017-12-15 华为技术有限公司 A kind of interpretation method and decoder

Also Published As

Publication number Publication date
US5933462A (en) 1999-08-03
ZA979958B (en) 1998-05-25
CA2270668C (en) 2006-06-13
TW431097B (en) 2001-04-21
DE69739533D1 (en) 2009-09-24
CA2270668A1 (en) 1998-05-14
AU5104598A (en) 1998-05-29
ATE439705T1 (en) 2009-08-15
AU722477B2 (en) 2000-08-03
JP2001503588A (en) 2001-03-13
EP2034612A2 (en) 2009-03-11
KR20000053091A (en) 2000-08-25
EP0937336B1 (en) 2009-08-12
MY116167A (en) 2003-11-28
JP3998723B2 (en) 2007-10-31
EP1388945A3 (en) 2004-06-09
EP2034612A3 (en) 2010-06-02
ES2330061T3 (en) 2009-12-03
KR100566084B1 (en) 2006-03-30
CN1236507A (en) 1999-11-24
CN1178397C (en) 2004-12-01
EP0937336A1 (en) 1999-08-25
EP1388945A2 (en) 2004-02-11

Similar Documents

Publication Publication Date Title
US5933462A (en) Soft decision output decoder for decoding convolutionally encoded codewords
US6597743B1 (en) Reduced search symbol estimation algorithm
US7757151B2 (en) Turbo decoder employing simplified log-MAP decoding
EP0625829B1 (en) Post processing method and apparatus symbol reliability generation
KR100491910B1 (en) Method and apparatus for detecting communication signals having unequal error protection
US6731700B1 (en) Soft decision output generator
US6968021B1 (en) Synchronization method and apparatus for modems based on jointly iterative turbo demodulation and decoding
KR100662519B1 (en) Turbo decoder with decision feedback equalization
Kliewer et al. Iterative joint source-channel decoding of variable-length codes using residual source redundancy
US7159168B2 (en) Iterative decoding with likelihood weighting
US5633881A (en) Trellis encoder and decoder based upon punctured rate 1/2 convolutional codes
US6816556B2 (en) Bandwidth-efficient concatenated trellis-coded modulation decoder and decoding method thereof
US20040017857A1 (en) Transmitter, receiver, methods, program and signal adapted to modulations having a large number of states
JP2002535910A (en) Decoding method and decoding device for convolutional code
US20030018941A1 (en) Method and apparatus for demodulation
US7031406B1 (en) Information processing using a soft output Viterbi algorithm
Ho et al. Optimal soft decoding for combined trellis-coded quantization/modulation
WO2005099100A1 (en) Local erasure map decoder
Samy et al. Low complexity iterative decoding of Reed–Solomon convolutional concatenated codes
Osman et al. Performance of multilevel turbo codes with group partitioning over satellite channels
EP0949779A2 (en) Encoding methods and apparatus
MXPA99004107A (en) Soft decision output decoder for decoding convolutionally encoded codewords
Luo Iterative noncoherent sequence detection and decoding of serially concatenated coded MSK

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 97199487.0

Country of ref document: CN

AK Designated states

Kind code of ref document: A1

Designated state(s): AL AM AT AU AZ BA BB BG BR BY CA CH CN CU CZ DE DK EE ES FI GB GE GH HU ID IL IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MD MG MK MN MW MX NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT UA UG UZ VN YU ZW AM AZ BY KG KZ MD RU TJ TM

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GH KE LS MW SD SZ UG ZW AT BE CH DE DK ES FI FR GB GR IE IT LU MC NL

DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: PA/a/1999/004107

Country of ref document: MX

ENP Entry into the national phase

Ref document number: 2270668

Country of ref document: CA

Ref document number: 2270668

Country of ref document: CA

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 51045/98

Country of ref document: AU

ENP Entry into the national phase

Ref document number: 1998 521724

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 1019997004015

Country of ref document: KR

WWE Wipo information: entry into national phase

Ref document number: 1997945610

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 1997945610

Country of ref document: EP

REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

WWP Wipo information: published in national office

Ref document number: 1019997004015

Country of ref document: KR

WWG Wipo information: grant in national office

Ref document number: 51045/98

Country of ref document: AU

WWG Wipo information: grant in national office

Ref document number: 1019997004015

Country of ref document: KR