US20040158798A1 - Error correction circuit and error correction method - Google Patents

Error correction circuit and error correction method Download PDF

Info

Publication number
US20040158798A1
US20040158798A1 US10/772,611 US77261104A US2004158798A1 US 20040158798 A1 US20040158798 A1 US 20040158798A1 US 77261104 A US77261104 A US 77261104A US 2004158798 A1 US2004158798 A1 US 2004158798A1
Authority
US
United States
Prior art keywords
data
series
path
maximum likelihood
error correction
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
US10/772,611
Inventor
Hiroyuki Senda
Akira Kisoda
Takehiro Kamada
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
InterDigital Patent Holdings Inc
Original Assignee
Hiroyuki Senda
Akira Kisoda
Takehiro Kamada
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from JP20236498A external-priority patent/JP2000036763A/en
Application filed by Hiroyuki Senda, Akira Kisoda, Takehiro Kamada filed Critical Hiroyuki Senda
Priority to US10/772,611 priority Critical patent/US20040158798A1/en
Publication of US20040158798A1 publication Critical patent/US20040158798A1/en
Assigned to INTERDIGITAL PATENT HOLDINGS, INC. reassignment INTERDIGITAL PATENT HOLDINGS, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: PANASONIC INTELLECTUAL PROPERTY CORPORATION OF AMERICA
Abandoned legal-status Critical Current

Links

Images

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/63Joint error correction and other techniques
    • H03M13/6325Error control coding in combination with demodulation
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/23Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using convolutional codes, e.g. unit memory codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/25Error detection or forward error correction by signal space coding, i.e. adding redundancy in the signal constellation, e.g. Trellis Coded Modulation [TCM]
    • H03M13/256Error detection or forward error correction by signal space coding, i.e. adding redundancy in the signal constellation, e.g. Trellis Coded Modulation [TCM] with trellis coding, e.g. with convolutional codes and TCM
    • HELECTRICITY
    • 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/27Coding, 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 using interleaving techniques
    • H03M13/2703Coding, 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 using interleaving techniques the interleaver involving at least two directions
    • H03M13/2707Simple row-column interleaver, i.e. pure block interleaving
    • 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/2933Coding, 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 using a block and a convolutional code
    • 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/2933Coding, 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 using a block and a convolutional code
    • H03M13/2936Coding, 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 using a block and a convolutional code comprising an outer Reed-Solomon code and an inner convolutional code
    • 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/3961Arrangements of methods for branch or transition metric calculation
    • 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
    • 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
    • H03M13/4161Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors implementing path management
    • H03M13/4169Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors implementing path management using traceback
    • 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
    • H03M13/4161Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors implementing path management
    • H03M13/4192Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors implementing path management using combined traceback and register-exchange
    • 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/63Joint error correction and other techniques
    • H03M13/635Error control coding in combination with rate matching
    • H03M13/6362Error control coding in combination with rate matching by puncturing
    • 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/65Purpose and implementation aspects
    • H03M13/6502Reduction of hardware complexity or efficient processing
    • 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/65Purpose and implementation aspects
    • H03M13/6502Reduction of hardware complexity or efficient processing
    • H03M13/6505Memory efficient implementations

Definitions

  • the present invention relates to an error correction circuit for decoding digitally transmitted data which has been subjected to trellis coded modulation (TCM).
  • TCM trellis coded modulation
  • An 8VSB (Vestigial Sideband) modulation system is employed for the terrestrial digital broadcasting in the U.S. References describing the 8VSB modulation system include, for example, “Digital Television Standard”, ATSC, Annex D, 16 Sep. 1995 (hereinafter, “Reference 1”), and “Guide to the Use of the ATSC Digital Television Standard”, ATSC, pp. 96-126, 4 Oct. 1995 (hereinafter, “Reference 2”).
  • References 1 and 2 describe encoding and decoding of data based on trellis coded modulation (hereinafter, abbreviated as “TCM”) which has been employed for the 8VSB modulation system.
  • TCM trellis coded modulation
  • a convolutional encoder having 4 internal states is used as a TCM encoder.
  • FIG. 22 illustrates a transmitter based on the 8VSB modulation system.
  • the transmitter comprises terminals 5000 , 5004 and 5005 , a randomizer 5001 , a Reed-Solomon encoder 5002 , an interleaver 5003 , a trellis encoder unit 5006 , and a multiplexer (MUX) 5007 .
  • the transmitter further comprises a pilot inserter 5008 , a VSB modulator 5009 , and an RF upconverter 5010 .
  • a 188-byte MPEG transport stream (including 1 synchronization byte and 187 data bytes) is input to the terminal 5000 .
  • the randomizer 5001 randomizes data input through the terminal 5000 , and outputs the randomized data.
  • the Reed-Solomon encoder 5002 performs a Reed-Solomon encoding operation on the randomized data, and outputs the Reed-Solomon-encoded data with 20 Reed-Solomon parity bytes being added to each packet.
  • the interleaver 5003 performs a convolution byte interleave operation on the Reed-Solomon-encoded data at a depth which is about 1/6 (52 data segments) of a data field. The interleaver 5003 does not interleave the synchronization byte, and only interleaves the data bytes.
  • the trellis encoder unit 5006 performs a trellis encoding operation at a code rate of 2/3 on the data from the interleaver 5003 , and maps the encoded data onto an 8-level data series.
  • a segment sync is input to the terminal 5004
  • a field sync is input to the terminal 5005 .
  • the multiplexer 5007 adds the segment sync and the field sync to the trellis-encoded and mapped data, and frames the obtained data so as to output framed data.
  • the pilot inserter 5008 adds a pilot signal to the framed data.
  • the framed data is subjected to VSB modulation by the VSB modulator 5009 , up-converted by the RF up-converter 5010 , and then output through an antenna as an RF signal.
  • FIG. 23 illustrates a receiver based on the 8VSB modulation system.
  • the receiver comprises a tuner 5011 , an IF filter and synchronous detector 5012 , a sync and timing generator 5013 , an NTSC 30 interference remover 5014 , an equalizer 5015 , a phase noise remover 5016 , a trellis decoder unit 5017 , a deinterleaver 5018 , a Reed-Solomon decoder 5019 , a derandomizer 5020 , and a terminal 5021 .
  • the tuner 5011 tunes to and selectively receives the RF signal from the transmitter, and outputs the received signal.
  • the IF filter and synchronous detector 5012 passes the received signal through an IF filter to convert it to a signal having a predetermined frequency.
  • the converted signal is synchronously detected to convert it to a baseband signal.
  • the sync and timing generator 5013 detects a synchronization signal of the baseband signal so as to time the baseband signal.
  • the baseband signal contains an NTSC co-channel Interference component
  • the baseband signal is input to the equalizer 5015 after the NTSC co-channel interference component is detected by the NTSC interference remover 5014 and removed by a comb filter in the NTSC interference remover 5014 .
  • the baseband signal is directly input to the equalizer 5015 .
  • the waveform of the baseband signal is equalized by the equalizer 5015 , and any phase noise contained therein is removed by the phase noise remover 5016 , after which the baseband signal is input to the trellis decoder unit 5017 as encoded data.
  • the trellis decoder unit 5017 performs a trellis decoding operation on the encoded data and outputs the trellis-decoded data.
  • the trellis-decoded data is subjected to a convolution byte deinterleave operation by the deinterleaver 5018 , a Reed-Solomon decoding operation by the Reed-Solomon decoder 5019 and a derandomizing operation by the derandomizer 5020 , and then output through the terminal 5021 .
  • Such a receiver unit may employ the following methods for decoding data which has been encoded by a 4-state trellis encoder: a method in which the encoded data is decoded based on state transitions among 4 states, in the case where a comb filter is not used (no NTSC co-channel interference component is contained); and a method in which the encoded data is decoded based on state transitions among 8 states, in the case where a comb filter is used (an NTSC co-channel interference component is contained).
  • the 8 states comprise states resulting from the trellis encoder and other states resulting from the comb filter.
  • Reference 3 describes a decoding method using a 4-state trellis decoder, as a decoding method based on state transitions among 4 states for use in the case where a comb filter is not used, and also describes a method using an 8-state trellis decoder, as a decoding method based on transitions among 8 states for use in the case where a comb filter is used.
  • FIG. 24 is a block diagram illustrating a conventional trellis decoder unit for decoding encoded data by selectively using a 4-state trellis decoder and an 8-state trellis decoder.
  • the trellis decoder unit corresponds to the trellis decoder unit 5017 in FIG. 23.
  • the trellis decoder unit comprises terminals 5100 and 5112 , switches 5101 and 5111 , terminals 5101 a , 5101 b , 5111 a and 5111 b , demultlplexers (DEMUXs) 5102 and 5105 , and multiplexers (MUXs) 5104 and 5110 .
  • DEMUXs demultlplexers
  • MUXs multiplexers
  • the trellis decoder unit further comprises 8-state trellis decoders 5103 a - 5103 l, 4-state decoders 5106 a - 5106 l , postcoders 5107 a - 5107 l , adders (modulo 2 ) 5108 a - 5108 l , and 1-symbol delay circuits 5109 a - 5109 l.
  • the encoded data is input from the phase noise remover 5016 of FIG. 23 to the terminal 5100 .
  • the switch 5101 is turned to the terminal 5101 a so as to input the encoded data to the demultiplexer 5102 .
  • the demultiplexer 5102 divides the encoded data by symbols so as to input the obtained data for the respective symbols to the 8-state trellis decoders 5103 a - 5103 l , respectively.
  • no data is input to the 8-state trellis decoders 5103 a - 5103 l , while the demultiplexer 5102 switches its selection to the next one of the 8-state trellis decoders 5103 a - 5103 l .
  • the decoded data from each of the a-state trellis decoders 5103 a - 5103 l is input to the multiplexer 5104 , where the data is multiplexed together and output to the deinterleaver 5018 illustrated in FIG. 23.
  • the switch 5101 is turned to the other terminal 5101 b so as to input the encoded data to the demultiplexer 5105 .
  • the demultiplexer 5105 divides the encoded data by symbols to input the obtained data for the respective symbols to the 4-state trellis decoders 5106 a - 5106 l , respectively.
  • the decoded data X 2 X 1 from each of the postcoders 5107 a - 5107 l is input to the multiplexer 5110 , where the data is multiplexed together and output to the deinterleaver 5018 illustrated in FIG. 23.
  • the switch 5111 when an NTSC co-channel interference component is contained, the switch 5111 is turned to the terminal 5111 a so as to select the 8-state trellis decoder. When no NTSC co-channel interference component is contained, the switch 5111 is turned to the terminal 5111 b so as to select the 4-state trellis decoder.
  • FIG. 25 illustrates a 4-state trellis decoder.
  • the 4-state trellis decoder comprises terminals 5200 , 5205 and 5206 , a branch metric production circuit 5201 , an ACS (Add Compare Select) circuit 5202 , a path metric memory 5203 , and a trace back memory 5204 .
  • ACS Address Select
  • the encoded data from the demultiplexer 5105 illustrated in FIG. 24 is input to the input terminal 5200 of the 4-state trellis decoder 5106 illustrated in FIG. 25.
  • the 4-state trellis decoder 5106 decodes the encoded data as follows using a Viterbi algorithm.
  • state S i at time t (t is an integer) to state S x at time t+1 which are respectively used as symbol subsets, and each branch extends to the next state.
  • state S k at time t+1 There are two possible state transitions from time t to state S k at time t+1 (i.e., one from state S i at time t and another from state S j at time t).
  • the branch metric production circuit 5201 produces a branch metric for each branch for each encoded data, and outputs the produced branch metric to the ACS circuit 5202 .
  • the ACS circuit 5202 adds the branch metric for each branch to a path metric for each state stored in the path metric memory 5203 , and selects the smaller one of the obtained sums to be used as a new path metric for the state.
  • the new path metric for the state is stored in the path metric memory 5203 .
  • Data corresponding to the selected path for the state (containing a candidate for data Y 2 and path selection information) is stored in the trace back memory 5204 .
  • the trace back memory 5204 traces back a predetermined cut-off path length along a surviving path which contains a state whose new path metric is smallest so as to determine a subset and data Y 1 to reconstruct the data, thereby determining data Y 2 .
  • the data Y 2 is output to the terminal 5205 and the data Y 1 is output to the terminal 5206 .
  • FIG. 26 illustrates an 8-state trellis decoder.
  • the 8-state trellis decoder comprises terminals 5300 , 5307 and 5308 , a delay circuit 5301 , a branch metric production circuit 5302 , an ACS circuit 5303 , a path metric memory 5304 , a trace back memory 5305 , and a slicer 5306 .
  • the encoded data from the demultiplexer 5102 of FIG. 24 is input to the terminal 5300 of the 8-state trellis decoder 5103 .
  • the 8-state trellis decoder 5103 decodes the encoded data as follows using a Viterbi algorithm.
  • the branch metric production circuit 5302 produces a branch metric for each branch for each encoded data, and outputs the produced branch metric to the ACS circuit 5303 .
  • the ACS circuit 5303 adds the branch metric for each branch to a path metric for each state stored in the path metric memory 5304 , and selects the smaller one of the obtained sums to be used as a new path metric for the state.
  • the new path metric for the state is stored in the path metric memory 5304 .
  • Data corresponding to the selected path for the state (containing a candidate for a coset and path selection information) is stored in the trace back memory 5305 .
  • the trace back memory 5305 traces back a predetermined cut-off path length along a surviving path which contains a state whose new path metric is smallest so as to determine the coset and the data X 1 .
  • the data X 1 is output to the terminal 5307 .
  • the delay circuit 5301 delays the data from the terminal 5300 for a period of time corresponding to an amount of delay by the trace back memory 5305 before the data is output to the slicer 5306 .
  • the slicer 5306 determines the data X 2 by identifying the coset based on the delayed data, and outputs the data X 2 to the terminal 5308 .
  • the device When the, above-described conventional device performs a decoding operation by using a 4-state trellis decoder, the device first decodes the subset and data Y 1 to reconstruct the data, thereby decoding data Y 2 .
  • the data X 1 is first decoded, and then the data X 2 is decoded by using the slicer to identify the coset based on the delayed data. Consequently, the decoding operation for the data X 3 requires the delay circuit and the slicer, and the decoding method is complicated.
  • a communication system based on TCM includes the digital CATV in the U.S.
  • the digital CATV employs a 64 QAM (Quadrature Amplitude Modulation) system and a 256 QAM system.
  • the 64 QAM and 256 QAM systems in the U.S. are described, for example, in “ITU-T Recommendation J.83 ANNEXB” (hereinafter, “Reference 4”).
  • Reference 4 describes an error correction technique which is employed in the 64 QAM system and the 256 QAM system in the U.S.
  • FIG. 27 illustrates a transmitter 701 and a receiver 706 of the digital CATV in the U.S.
  • a transmission path 705 is provided between the transmitter 701 and the receiver 706 .
  • the transmitter 701 comprises a terminal 700 , an MPEG framing section 702 , an error correction encoding section 703 , and a QAM modulation section 704 .
  • the receiver 706 comprises a QAM demodulation section 707 , an error correction decoding section 708 , an MPEG framing section 709 , and a terminal 710 .
  • Data in the MPEG2 transport stream format is input to the terminal 700 .
  • the MPEG framing section 702 of the transmitter 701 performs a linear encoding operation on the input data so that the parity check sum of the data is 0 ⁇ 47 (i.e., “47” in hexadecimal expression).
  • the error correction encoding section 703 performs an error correction encoding operation on the linearly-encoded data.
  • the QAM modulation section 704 performs a QAM modulation operation on the error-correction-encoded data, and transmits the QAM-modulated data to the receiver 706 via the transmission path 705 .
  • the QAM demodulation section 707 of the receiver 706 performs a QAM demodulation operation on the data received via the transmission path 705 .
  • the error correction decoding section 708 performs an error correction operation on the QAM-demodulated data.
  • the MPEG framing section 709 detects an error by multiplying the error-corrected data by a parity check matrix (so as to check whether the parity check sum is 0 ⁇ 47), and converts the data to an MPEG2 transport stream format.
  • FIGS. 28A and 28B illustrate the error correction encoding section 703 and the error correction decoding section 708 , respectively.
  • the error correction encoding section 703 illustrated in FIG. 28A comprises a terminal 800 , a Reed-Solomon encoder 801 , an interleaver 602 , a randomizer 803 , and a trellis encoder 804 .
  • the interleaver 802 performs a convolution interleave operation on the Reed-Solomon-encoded data.
  • the randomizer 803 randomizes the interleaved data.
  • the trellis encoder 804 performs a trellis encoding operation on the randomized data at a code rate of 14/15 (for the 64 QAM system; a code rate of 19/20 is used for the 256 QAM system).
  • the trellis-encoded data is QAM-modulated by the QAM modulation section 704 and then transmitted onto the transmission path 705 .
  • the error correction decoding section 708 illustrated in FIG. 28B comprises a trellis decoder 805 , a derandomizer 806 , a deinterleaver 807 , a Reed-Solomon decoder 808 , and a terminal 809 .
  • the trellis decoder 805 performs a trellis decoding operation on the QAM-demodulated data from the QAM demodulation section 707 .
  • the deinterleaver 807 performs a convolution deinterleave operation on the derandomized data.
  • the Reed-Solomon decoder 808 performs a Reed-Solomon decoding operation on the interleaved data.
  • the Reed-Solomon-decoded data is output after being converted to the MPEG2 transport stream format by the MPEG framing section 709 .
  • FIG. 29 illustrates a parser 901 provided in the stage following the trellis encoder 804 (the parser 901 is not illustrated in FIG. 28A), the trellis encoder 804 , and a QAM mapper 907 provided in the QAM modulation section 704 .
  • terminals 900 , 908 and 909 there are provided terminals 900 , 908 and 909 , a non-encoding section 902 , an encoding section 903 , a differential precoder 904 , a 1/2 convolutional encoder and 4/5 puncturer 905 , and another 1/2 convolutional encoder and 4/5 puncturer 906 .
  • the “1/2 convolutional encoder” as used herein refers to a convolutional encoder for convolutional-encoding data at a code rate of 1/2
  • the “4/5 puncturer” as used herein refers to a puncturer for puncturing data at a code rate of 4/5.
  • the trellis encoder 804 comprises the non-encoding section 902 and the encoding section 903 .
  • the encoding section 903 comprises the differential precoder 904 and the two 1/2 convolutional encoder and 4/5 puncturers 905 and 906 .
  • the output from the randomizer 803 of FIG. 28A is input to the terminal 900 .
  • the parser 901 divides the data series (I 0 -I 13 , Q 0 -Q 13 ) input from the terminal 900 into bits to be non-encoded (I 0 -I 9 , Q 0 -Q 9 ) and bits to been coded (I 10 -I 17 , Q 10 -Q 13 )
  • the differential precoder 904 performs a differential encoding operation on the bits to be encoded (I 10 -I 13 , Q 10 -Q 13 ).
  • Each of the 1/2 convolutional encoder and 4/5 puncturers 905 and 906 performs a convolution operation at a code rate of 1/2 and a puncturing operation at a code rate of 4/5 on the differential-encoded data so as to obtain the encoded bits (I 10 ′-I 14 ′, Q 10 ′-Q 14 ′).
  • the QAM mapper 907 performs a 64 QAM mapping operation on the non-encoded bits (I 0 -I 9 , Q 0 -Q 9 ) and the encoded bits (I 10 ′-I 14 ′, Q 10 ′-Q 14 ′), and outputs the obtained I data through the terminal 908 and the obtained Q data through the terminal 909 .
  • FIG. 30 illustrates an operation of the parser 901 of FIG. 29.
  • data 1000 , 1001 , 1002 and 1003 each contains 7 bits of data (RS#1-RS#4) which has been Reed-Solomon-decoded, interleaved and randomized.
  • the data 1000 and the data 1001 are I symbols, and the data 1002 and the data 1003 are Q symbols.
  • Data 1004 and data 1006 contain non-encoded bits (I 0 -I 6 ), and data 1005 contains non-encoded bits (I 7 -I 9 ) and encoded bits (I 10 -I 13 ).
  • Data 1007 contains the non-encoded bits (I 7 -I 9 ), and data 1008 contains the encoded bits (I 10 ′-I 14 ′).
  • the I symbol 1000 and the lower 3 bits (I 7 -I 9 ) of the I symbol 1001 input to the parser 901 are divided into two series of non-encoded bits (I 1 , I 3 , I 5 , I 7 , I 9 ) and (I 0 , I 2 , I 4 , I 6 , I 8 ).
  • the upper 4 bits (I 10 -I 13 ) of the I symbol 1001 input to the parser 901 as the encoded bits, are differential-encoded, convolutional-coded, and punctured, so as to obtain 5 bits of data (I 10 ′-I 14 ′).
  • the Q symbols input to the passer 901 are processed in substantially the same manner.
  • FIG. 31 illustrates in greater detail the differential precoder 904 of FIG. 29.
  • the precoder 904 comprises terminals 1100 , 1101 , 1103 and 1104 .
  • the differential precoder 904 performs a differential encoding operation on the I data I 10 -I 17 and the Q data Q 10 -Q 13 based on the following differential encoding formulae (1) and (2) (where j is an integer), and outputs the differential-encoded data X j , Y j through the terminals 1103 and 1104 .
  • FIG. 32 is a block diagram illustrating in greater detail the 1/2 convolutional encoder and 4/5 puncturer 905 , 906 of FIG. 29.
  • the 1/2 convolutional encoder and 4/5 puncturer comprises terminals 1200 , 1209 , 1210 and 1211 , a convolutional encoder 1201 for encoding data at a code rate of 1/2, delay circuits 1203 - 1206 , adders 1202 and 1207 (modulo 2), and a puncturer 1208 for encoding data at a code rate of 4/5.
  • the I data (I 10 -I 13 )(X 3 ) which has been differential-encoded by the differential precoder 904 is input through the terminal 1200 (as indicated by “in” in the figure).
  • a convolution operation at a code rate of 1/2 is performed on the data (I 10 -I 13 ) so as to output (I 10 , I 11 , I 10 +I 12 , I 11 +I 13 ) to the terminal 1209 (“out1”) and (I 10 , I 10 +I 11 , I 10 +I 11 +I 12 , I 10 +I 11 +I 12 +I 13 ) to the terminal 1210 (“out2”).
  • the Q data (Y j ) from the differential precoder 904 in processed in substantially the same manner as the I data.
  • FIGS. 33A, 33B and 33 C illustrate an arrangement of 64 QAM encoding points in the QAM mapper 907 of FIG. 29.
  • the QAM mapper 907 has the arrangement of 64 QAM encoding points as illustrated in FIG. 33A.
  • the Q data is derived from values along the vertical axis, and the I data 1 a derived from values along the horizontal axis.
  • C( 1 ) C( 2 ) C( 4 ) and C( 5 ) are non-encoded bits, and C( 3 ) and C( 6 ) are encoded bits (see FIG. 29).
  • FIG. 29 As illustrated in FIG.
  • Reference 5 describes a method for decoding non-encoded bits by decoding encoded bits with a Viterbi decoder and by using date obtained by convolutional-encoding (re-encoding) the Viterbi-decoded data.
  • FIG. 34 illustrates in greater detail the trellis decoder 805 and a deparser 1412 provided in the, stage following the trellis decoder 805 (the deparser 1412 is not illustrated in FIG. 28B).
  • a non-decoded bit decoding section 1402 comprises an area determination section 1403 , a delay circuit 1404 , a convolutional encoder 1405 for encoding data at a code rate of 1/2, a puncturer 1406 for encoding data at a code rate of 4/5, and a selection section 1407 .
  • a encoded bit decoding section 1408 comprises a depuncturer 1409 , a Viterbi decoder 1410 , and a differential postcoder 1411 .
  • the trellis decoder 805 comprises the non-decoded bit decoding section 1402 and the encoded bit decoding section 1408 .
  • the encoded bit decoding section 1408 receives the QAM-demodulated I data and Q data through the terminals 1400 and 1401 , respectively.
  • the depuncturer 1409 depunctures the I data and the Q data, and outputs the depunctured I data (I dp ) and Q data (Q dp ).
  • the Viterbi decoder 1410 performs a Viterbi decoding operation on the depunctured I data (I dp ) and Q data (Q dp ).
  • the differential postcoder 1411 performs a differential decoding operation on the Viterbi-decoded I data (I v ) and Q data (Q v ), and outputs the differential-decoded data.
  • the non-decoded bit decoding section 1402 receives the QAM-demodulated I data and Q data at the area determination section 1403 .
  • the area determination section 1403 selects one of the areas which are numbered from 1 to 49 as in FIG. 33A, and outputs area information “A” which indicates the determined area.
  • each area has the four different encoding points (“ ⁇ ”, “ ⁇ ”, “ ”, “ ”) at the four corners thereof, respectively.
  • An outermost area such as area 1 or area 2, preferably includes the peripheral area around it.
  • the delay circuit 1404 delays the area information “A”.
  • the 1/2 convolutional encoder 1405 performs a convolution operation at a code rate of 1/2 on the Viterbi-decoded I data (I v ) and Q data (Q v ).
  • the 4/5 puncturer 1406 performs a puncturing operation at a code rate of 4/5 on the convolutional-encoded I data (I 0 ) and Q data (Q 0 ), and decodes the encoded bits C( 3 ) and C( 6 ), so as to output the decoded data to the selection section 1407 .
  • the selection section 1407 decodes the non-encoded bits based on the area information “Ad”, and the encoded bits C( 3 ) and C( 6 ) which have been decoded.
  • the encoded and non-encoded bits which have been decoded as described above are input to the deparser 1412 .
  • the deparser 1412 puts together the I bits and the Q bits, respectively, so as to output them through the terminal 1413 as I symbols and Q symbols.
  • the non-decoded bits are decoded by using, in combination: the area information; and the data obtained by convolutional-encoding (re-encoding) and puncturing the Viterbi-decoded data by the convolutional encoder 1405 and the puncturer 1406 . Accordingly, error propagation may occur during the convolutional-encoding (re-encoding) operation, particularly when C/N is poor, thereby increasing the error rate. Moreover, the decoding operation is complicated.
  • Two conventional devices for encoding and decoding data based on TCM have been described above. They both perform a trellis decoding operation on encoded data, in which it is required to perform a convolutional-encoding (re-encoding) operation on the encoded data.
  • the former device performs a convolution operation on the encoded data by the trellis decoder 5103 illustrated in FIG. 26, whereas the latter device performs a convolution operation on the encoded data by the convolutional encoder 1405 illustrated in FIG. 34.
  • the error rate may rapidly increase if error propagation occurs.
  • the prior art devices require the delay circuit 5301 illustrated in FIG. 26 or the delay circuit 1404 illustrated in FIG. 34, and the data is delayed before used, thereby complicating the data processing operation and the circuit configuration.
  • an error correction circuit for receiving and decoding a trellis-encoded signal of a series of data Z q , Z q ⁇ 1 , . . . ,Z 1 which comprises convolutional-encoded bits and unencoded bits, the convolutional-encoded bits being obtained by convolutional-encoding lower t bits X t , X t ⁇ 1 , . . . ,X 1 of an input p-bit series of data X p , X p ⁇ 1 , . . .
  • the circuit comprises: a maximum likelihood decoder for preselecting one of m parallel paths of transition from state x at time k to state y at time k+1.
  • the maximum likelihood decoder comprises: a selection section for selecting one of them parallel paths transition from state x at time k to state y at time k+1; and a calculation section for obtaining a path metric using a branch metric.
  • the error correction circuit receives and decodes data which is produced by mapping the series of data Z q , Z q ⁇ 1 , . . . ,Z 1 onto j points.
  • the series of data Z q , Z q ⁇ 1 , . . . ,Z 1 is obtained by performing a trellis encoding operation on a first series of data Y r , Y r ⁇ 1 , . . . ,Y t ⁇ 1 (r>t ⁇ 1) and a second series of data Y t , Y t ⁇ 1 , . . .
  • the maximum likelihood decoder is operable to perform n different maximum likelihood decoding methods for maximum-likelihood-decoding the received data based on a plurality of states.
  • the maximum likelihood decoder selects one of the n maximum likelihood decoding methods so as to maximum-likelihood-decode the received data based on the selected maximum likelihood decoding method.
  • the error correction circuit further comprises a postcoder for postcoding or not postcoding the decoded data from the maximum likelihood decoder. Whether the decoded data is postcoded or not depends upon the n maximum likelihood decoding methods.
  • the maximum likelihood decoder further comprises: a branch metric production section for producing first path information indicating the selected path and a branch metric according to the n maximum likelihood decoding methods; a calculation section for obtaining a path metric based on the branch metric obtained by the branch metric production section and for obtaining second path information based on the path metric; a path metric memory for storing the path metric obtained by the calculation section; a path memory for storing the first path information obtained by the selection section and the second path information obtained by the calculation section; and a trace back section for obtaining decoded data based on the path metric obtained by the calculation section and the first and second path information stored in the path memory.
  • the maximum likelihood decoder further comprises: a branch metric production section for producing first path information indicating the selected-path and a branch metric based on the n maximum likelihood decoding methods; a calculation section for obtaining a path metric based on the branch metric obtained by the branch metric production section and for obtaining second path information based on the path metric; a path metric memory for storing the path metric obtained by the calculation section; a path memory for storing the first path information obtained by the selection section and the second path information obtained by the calculation section; and a register exchange section for obtaining the decoded data based on the path information and the path metric obtained by the calculation section and the candidate for the decoded data comprising the first path information and the second path information stored in the path memory.
  • the postcoder comprises a memory for storing upper bits of the decoded data from the maximum likelihood decoder.
  • the maximum likelihood decoder comprises a branch metric production section.
  • the branch metric production section references contents of a diagram so as to derive first path information indicating the selected path and a branch metric from the received data, wherein the contents of the diagram are obtained by associating the first series of data Y r , Y r ⁇ 1 , . . . ,Y t+1 , the second series of data Y t , Y t ⁇ 1 , . . . ,Y 1 , and the received data, which is produced by mapping the series of data Z q , Z q ⁇ 1 , . . . ,Z 1 onto j points, with one another.
  • the maximum likelihood decoder comprises a branch metric production section.
  • the branch metric production section references contents of a diagram so as to derive first path information indicating the selected path and a branch metric from data which is obtained by passing the received data through a linear filter, wherein the contents of the diagram are obtained by associating the series of data X p , X p ⁇ 1 , . . . ,X 1 and data obtained by passing, through the linear filter, data which is produced by mapping the series of data Z q , Z q ⁇ 1 , . . . ,Z 1 onto j points, with each other.
  • the linear filter comprises a comb filter.
  • the maximum likelihood decoder comprises a branch metric production section.
  • the branch metric production section references contents of a diagram so as to derive a candidate for the decoded data and a branch metric from the received data, wherein the contents of the diagram are obtained by associating the first series of data Y r , Y r ⁇ 1 , . . . ,Y r+1 , the second series of data Y t , Y t ⁇ 1 , . . . ,Y 1 , and the received data, which is produced by mapping the series of data Z q , Z q ⁇ 1 , . . . ,Z 1 onto j points, with one another.
  • the maximum likelihood decoder comprises a branch metric production section.
  • the branch metric production section references contents of a diagram so as to derive a candidate for the decoded data and a branch metric from data obtained by passing the received data through a linear filter, wherein the contents of the diagram are obtained by associating the series of data X p , X p ⁇ 1 , . . . ,X 1 and data obtained by passing, through the linear filter, data which is produced by mapping the series of data Z q , Z q ⁇ 1 , . . . ,Z 1 onto j points, with each other.
  • the linear filter comprises a comb filter.
  • the maximum likelihood decoder performs a decoding operation using a Viterbi algorithm.
  • the error correction circuit receives and decodes data which is produced by mapping the trellis-encoded signal onto a 2-dimensional data series.
  • the error correction circuit further comprises a section for demapping a series of data which is obtained through a maximum likelihood decoding operation on the 2-dimensional data series by the maximum likelihood decoder.
  • the error correction circuit further comprises a section for delaying the demapped series of data.
  • the error correction circuit receives and decodes data which is produced by mapping the trellis-encoded signal onto a 2-dimensional data series.
  • the c-bit trellis-encoded signal is a series of data Z q , Z q ⁇ 1 , . . . ,Z 1 which comprises convolutional-encoded bits and unencoded bits, the convolutional-encoded bits being obtained by performing a differential encoding operation on lower t bits X t , X t ⁇ 1 , . . . ,X 1 of the input p-bit series of data X p , X p ⁇ 1 , . . .
  • the error correction circuit further comprises: a section for performing a differential decoding operation on a first series of data which is produced through a maximum likelihood decoding operation on the 2-dimensional data series by the maximum likelihood decoder; and a section for demapping a second series of data which is produced through a maximum likelihood decoding operation on the 2-dimensional data series by the maximum likelihood decoder.
  • the error correction circuit further comprises a section for delaying the demapped series of data.
  • the error correction circuit receives and decodes data which is produced by mapping the trellis-encoded signal onto a 2-dimensional data series.
  • the c-bit trellis-encoded signal is a series of data Z q , Z q ⁇ 1 , . . . ,Z 1 which comprises punctured bits and unencoded bits, the punctured bits being obtained by convolutional-encoding lower t bits X t , X t ⁇ 1 , . . . ,X 1 of the input p-bit series of data X p , X p ⁇ 1 , . . .
  • the error correction circuit further comprises: a section for depuncturing the 2-dimensional data series; a section for puncturing a second series of data which is produced through a maximum likelihood decoding operation on the depunctured series of data by the maximum likelihood decoder; and a section for demapping the punctured series of data.
  • the error correction circuit further comprises a section for delaying the demapped series of data.
  • the error correction circuit receives and decodes data which is produced by mapping the trellis-encoded signal onto a 2-dimensional data series.
  • the c-bit trellis-encoded signal is a series of data Z q , Z q ⁇ 1 , . . . ,Z 1 which comprises punctured bits and unencoded bits, the punctured bits being obtained by performing a differential encoding operation on lower t bits X t , X t ⁇ 1 , . . . ,X 1 of the input p-bit series of data X p , X p ⁇ 1 , . . .
  • X 1 (where p ⁇ 2, q ⁇ p, and p>t ⁇ 1), convolutional-encoding the differential-encoded bits, and puncturing the convolutional-encoded bits, and the unencoded bits being obtained by not convolutional-encoding upper (p-t) bits thereof.
  • the error correction circuit further comprises: a section for depuncturing the 2-dimensional data series; a section for performing a differential decoding operation on a first series of data which is produced through a maximum likelihood decoding operation on the depunctured series of data by the maximum likelihood decoder: a section for puncturing a second series of data which is produced through a maximum likelihood decoding operation on the depunctured series of data by the maximum likelihood decoder; and a section for demapping the punctured series of data.
  • the error correction circuit further comprises a section for delaying the demapped series of data.
  • the maximum likelihood decoder comprises: a section for producing a branch metric; a section for addition, comparison and selection of branch metrics and path metrics; a path metric memory for storing a plurality of path metrics; a plurality of path memories; and a trace back processing section for outputting a first series of data which is obtained by decoding a series of encoded data, and a second series of data which is obtained by decoding a series of data which contains information of a series of unencoded data.
  • the maximum likelihood decoder comprises: a section for producing a branch metric; a section for addition, comparison and selection of branch metrics and path metrics; a path metric memory for storing a plurality of path metrics; a plurality of path memories; and a register exchange section for outputting a first series of data which is obtained by decoding a series of encoded data, and a second series of data which is obtained by decoding a series of data which contains information of a series of unencoded data.
  • an error correction circuit comprises a maximum likelihood decoder for performing a maximum likelihood decoding operation on a series of data.
  • the maximum likelihood decoder comprises: a section for producing a branch metric; a section for addition, comparison and selection of branch metrics and path metrics; a path metric memory for storing a plurality of path metrics, a plurality of path memories, and a trace back processing section for outputting a first series of data which is obtained by decoding a series of encoded data, and a second series of data which is obtained by decoding a series of data which contains information of a series of unencoded data.
  • an error correction circuit comprises a maximum likelihood decoder for performing a maximum likelihood decoding operation on a series of data.
  • the maximum likelihood decoder comprises: a section for producing a branch metric; a section for addition, comparison and selection of branch metrics and path metrics; a path metric memory for storing a plurality of path metrics; a plurality of path memories; and a register exchange section for outputting a first series of data which is obtained by decoding a series of encoded data, and a second series of data which is obtained by decoding a series of data which contains information of a series of unencoded data.
  • an error correction method for receiving and decoding a trellis-encoded signal of a series of data Z q , Z q ⁇ 1 , . . . ,Z 1 which comprises convolutional-encoded bits and unencoded bits, the convolutional-encoded bits being obtained by convolutional-encoding lower t bits X t , X t ⁇ 1 , . . . ,X 1 of an input p-bit series of data X p , X p ⁇ 1 , . . .
  • the method comprises: a maximum likelihood decoding step of preselecting one of m parallel paths of transition from state x at time k to state y at time k+1.
  • the maximum likelihood decoding step comprises: a selection step of selecting one of the m parallel paths transition from state x at time k to state y at time k+1; and a calculation step of obtaining a path metric using a branch metric.
  • the error correction method is for receiving and decoding data which is produced by mapping the series of data Z q , Z q ⁇ 1 , . . . ,Z 1 onto j points.
  • the series of data Z q , Z q ⁇ 1 , . . . ,Z 1 is obtained by performing a trellis encoding operation on a first series of data Y r , Y r ⁇ 1 , . . . ,Y t+1 (r>t ⁇ 1) and a second series of data Y t , Y t ⁇ 1 , . . .
  • the maximum likelihood decoding step is operable to perform n different maximum likelihood decoding methods for maximum-likelihood-decoding the received data based on a plurality of states, wherein the maximum likelihood decoder selects one of the n maximum likelihood decoding methods so as to maximum-likelihood-deoode the received data based on the selected maximum likelihood decoding method.
  • the error correction method further comprises a postcoding step of postcoding or not postcoding the decoded data from the maximum likelihood decoding step. Whether the decoded data is postcoded or not depends upon the n maximum likelihood decoding methods.
  • the maximum likelihood decoding step comprises: a branch metric production step of producing first path information indicating the selected path and a branch metric according to the n maximum likelihood decoding methods; a calculation step of obtaining a path metric based on the branch metric obtained in the branch metric production step and obtaining second path information based on the path metric; a path metric memory step of storing the path metric obtained in the calculation step; a path memory step of storing the first path information obtained in the selection step and the second path information obtained in the calculation step; and a trace back step of obtaining decoded data based on the path metric obtained in the calculation step and the first and second path information stored in the path memory step.
  • the maximum likelihood decoding step comprises: a branch metric production step of producing first path information indicating the selected path and a branch metric based on the n maximum likelihood decoding methods; a calculation step of obtaining a path metric based on the branch metric obtained in the branch metric production step and obtaining second path information based on the path metric; a path metric memory step of storing the path metric obtained in the calculation step; a path memory step of storing the first path information obtained in the selection step and the second path information obtained in the calculation step; and a register exchange step of obtaining the decoded data based on the path information and the path metric obtained in the calculation step and the candidate for the decoded data comprising the first path information and the second path information stored in the path memory step.
  • the postcoder comprises a step of storing upper bits of the decoded data from the maximum likelihood decoding step.
  • the maximum likelihood decoding step comprises a branch metric production step.
  • the branch metric production step comprises referencing contents of a diagram so as to derive first path information indicating the selected path and a branch metric from the received data, wherein the contents of the diagram are obtained by associating the first series of data Y r , Y r ⁇ 1 , . . . ,Y t+1 , the second series of data Y t , Y t ⁇ 1 , . . . ,Y 1 , and the received data, which is produced by mapping the series of data Z q , Z q ⁇ 1 , . . . ,Z 1 onto j points, with one another.
  • the maximum likelihood decoding step comprises a branch metric production step.
  • the branch metric production step comprises referencing contents of a diagram so as to derive first path information indicating the selected path and a branch metric from data which is obtained by passing the received data through a linear filter, wherein the contents of the diagram are obtained by associating the series of data X p , X p ⁇ 1 , . . . ,X 1 and data obtained by passing, through the linear filter, data which is produced by mapping the series of data Z q , Z q ⁇ 1 , . . . ,Z 1 onto j points, with each other.
  • the linear filter comprises a comb filter.
  • the maximum likelihood decoding step comprises a branch metric production step.
  • the branch metric production step comprises referencing contents of a diagram so as to derive a candidate for the decoded data and a branch metric from the received data, wherein the contents of the diagram are obtained by associating the first series of data Y r , Y r ⁇ 1 , . . . , Y t+1 , the second series of data Y t , Y t ⁇ 1 , . . . , Y 1 , and the received data, which is produced by mapping the series of data Z q , Z q ⁇ 1 , . . . , Z 1 onto j points, with one another.
  • the maximum likelihood decoding step comprises a branch metric production step.
  • the branch metric production step comprises referencing contents of a diagram so as to derive a candidate for the decoded data and a branch metric from data obtained by passing the received data through a linear filter, wherein the contents of the diagram are obtained by associating the series of data X p , X p ⁇ 1 , . . . , X 1 and data obtained by passing, through the linear filter, data which is produced by mapping the series of data Z q , Z q ⁇ 1 , . . . ,Z 1 onto j points, with each other.
  • the linear filter comprises a comb filter.
  • the maximum likelihood decoding step comprises performing a decoding operation using a Viterbi algorithm.
  • the invention described herein makes possible the advantage of providing an error correction circuit for decoding encoded data without requiring a convolutional-encoding (re-encoding) operation on the encoded data.
  • FIG. 1 is a block diagram illustrating an error correction circuit according to Embodiment 1 of the present invention.
  • FIG. 2 is a block diagram illustrating a receiver based on an 8VSB modulation system incorporating the error correction circuit of FIG. 1:
  • FIG. 3 is a block diagram illustrating a 4-state/8-state trellis decoder provided in the error correction circuit of FIG. 1;
  • FIG. 4 is a flow chart illustrating a decoding process by the 4-state/8-state trellis decoder of FIG. 3;
  • FIG. 5 is a block diagram illustrating a switch and postcoder provided in the error correction circuit of FIG. 1;
  • FIG. 6 is a block diagram illustrating a circuit configuration for producing the contents of a state transition diagram for the error correction circuit of FIG. 1;
  • FIG. 7 illustrates a 4-state transition diagram for the error correction circuit of FIG. 1;
  • FIG. 8A is a table illustrating the relationship between data W 3 W 2 W 1 W 0 (15 levels) after being passed through a comb filter and data X 2 ;
  • FIG. 8B is a table illustrating the relationship between 15 levels after being passed through a comb filter and data X 1 ;
  • FIG. 9A is an a state transition diagram
  • FIG. 9B is a table illustrating 15 levels after being passed through a comb filter
  • FIG. 9C is a table Illustrating level L/data X 2 X 1 for respective branches;
  • FIG. 9D is a state transition diagram used commonly for 8-state transition and for 4-state transition;
  • FIG. 9K is a table illustrating level L/data X 2 X 1 for respective branches;
  • FIG. 10 is a trellis diagram illustrating 8-state transitions
  • FIG. 11A illustrates a method for calculating a branch metric for a state transition from time 0 to time 1 in FIG. 10;
  • FIG. 11B illustrates a method for calculating a path metric for the same state transition
  • FIG. 12A illustrates a method for calculating a branch metric for a state transition from time 1 to time 2 in FIG. 10;
  • FIG. 12B illustrates a method for calculating a path metric for the same state transition
  • FIG. 13A illustrates a method for calculating a branch metric for a state transition from time 2 to time 3 in FIG. 10;
  • FIG. 13B illustrates a method for calculating a path metric for the same state transition
  • FIG. 14A illustrates a method for calculating a branch metric for a state transition from time 3 to time 4 in FIG. 10;
  • FIG. 14B illustrates a method for calculating a path metric for the same state transition
  • FIGS. 15 A- 15 C illustrate the relationship between data W 3 W 2 W 1 W 0 (15 levels) according to Embodiment 1 and 7 cosets according to a conventional device;
  • FIG. 16 is a block diagram illustrating a trellis decoder and a deparser of an error correction circuit according to Embodiment 2 of the present invention.
  • FIG. 17 is a block diagram illustrating a Viterbi decoder provided in the encoded bit decoding section of FIG. 16;
  • FIG. 18A illustrates a state transition diagram according to Embodiment 2 of the present invention
  • FIG. 18B is a table illustrating the relationship between out1, out2 and the signal level according to the present invention.
  • FIG. 19 illustrates a differential postcoder of FIG. 16
  • FIG. 20 is a block diagram illustrating a trellis decoder and a deparser according to Embodiment 2 of the present invention.
  • FIG. 21A illustrates an arrangement of 64 QAM encoding points according to Embodiment 2 of the present invention
  • FIG. 21B illustrates an encoding point according to Embodiment 2 of the present invention
  • FIG. 21C is a chart illustrating encoded bits C( 3 ) and C( 6 ) according to Embodiment 2 of the present invention:
  • FIG. 22 is a block diagram illustrating e conventional transmitter based on the 8VSB modulation system
  • FIG. 23 is a block diagram illustrating a conventional receiver based on the 8VSB modulation system
  • FIG. 24 is a block diagram illustrating a conventional trellis decoder which decodes data by selectively using a 4-state trellis decoder and an 8-state trellis decoder;
  • FIG. 25 is a block diagram illustrating a conventional 4-state trellis decoder
  • FIG. 26 is a block diagram illustrating a conventional 8-state trellis decoder
  • FIG. 27 is a block diagram illustrating a transmitter and a receiver of a conventional digital CATV
  • FIG. 28A is a block diagram illustrating an error correction encoding section provided in the transmitter of FIG. 27;
  • FIG. 28B is a block diagram illustrating an error correction decoding section provided in the receiver of FIG. 27;
  • FIG. 29 is a block diagram illustrating a parser, a trellis encoder, and a QAM mapper provided in the error correction encoding section of FIG. 28A;
  • FIG. 30 illustrates an operation of the parser of FIG. 29
  • FIG. 31 illustrates a differential precoder of FIG. 29
  • FIG. 32 is a block diagram illustrating a 1/2 convolutional encoder and 4/5 puncturer of FIG. 29;
  • FIG. 33A illustrates an arrangement of 64 QAM encoding points in the QAM mapper of FIG. 29;
  • FIG. 33B illustrates an encoding point in the QAM mapper of FIG. 29
  • FIG. 33C is a chart illustrating encoded bits C( 3 ) and C( 6 ) in the QAM mapper of FIG. 29;
  • FIG. 34 is a block diagram illustrating a trellis decoder and a deparser.
  • FIG. 1 is a block diagram illustrating an error correction circuit according to Embodiment 1 of the present invention.
  • FIG. 2 is a block diagram illustrating a receiver based on the 8VSB modulation system incorporating the error correction circuit of FIG. 1.
  • the receiver comprises a tuner 5500 , an IF filter and synchronous detector 5501 , a sync and timing generator 5502 , an NTSC interference remover 5503 , an equalizer 5504 , a phase noise remover 5505 , a trellis decoder unit 5507 , a trellis segment deinterleaver unit 5508 , a deinterleaver 5509 , a Reed-Solomon decoder 5510 , a derandomizer 5511 , and a terminal 5512 .
  • the tuner 5500 tunes to and selectively receives an RF signal from a transmitter, and outputs the received signal.
  • the IF filter and synchronous detector 5501 passes the received signal through an IF filter to convert it to a signal having a predetermined frequency, and synchronously detects the received signal to convert it to a baseband signal.
  • the sync and timing generator 5502 detects a synchronization signal for the baseband signal so as to time the baseband signal.
  • the baseband signal contains an NTSC co-channel interference component
  • the baseband signal is input to the equalizer 5504 after the NTSC co-channel interference component is detected by the NTSC interference remover 5503 and removed by a comb filter in the NTSC interference remover 5503 .
  • the baseband signal is directly input to the equalizer 5504 .
  • the waveform of the baseband signal is equalized by the equalizer 5504 , and any phase noise contained therein is removed by the phase noise remover 5505 , after which the baseband signal is input to the trellis decoder unit 5507 as encoded data.
  • the trellis decoder unit 5507 performs a trellis decoding operation on the encoded data and outputs the trellis-decoded data.
  • the trellis-decoded data is subjected to an in-segment deinterleave operation by the trellis segment deinterleaver unit 5508 , a convolution byte deinterleave operation by the deinterleaver 5509 , a Reed-Solomon decoding operation by the Reed-Solomon decoder 5510 and a derandomizing operation by the derandomizer 5511 , and then output through the terminal 5512 .
  • the error correction circuit illustrated in FIG. 1 corresponds to the trellis decoder unit 5507 in FIG. 2.
  • the error correction circuit comprises terminals 100 and 103 , a 4-state/8-state trellis decoder 101 , and a switch and postcoder 102 .
  • the term “4-state/8-state trellis decoder” as used herein refers to a trellis decoder which is used commonly for 4-state transition and for 8-state transition.
  • the encoded data from the phase noise remover 5505 of FIG. 2 is input through the terminal 100 .
  • the 4-state/8-state trellis decoder 101 decodes the encoded data and outputs the decoded data.
  • the switch and postcoder 102 performs a postcoding operation on the decoded data, when no NTSC co-channel interference component is contained (for 4-state transition).
  • the switch and postcoder 102 does not perform a postcoding operation on the decoded data, and the decoded data is directly output to the terminal 103 , when an NTSC co-channel interference component is contained (for 8-state transition).
  • Embodiment 1 of the present invention requires only one 4-state/8-state trellis decoder 101 and only one switch and postcoder 102 , thereby significantly reducing the circuit scale from that of the conventional device illustrated in FIG. 24 which comprises a plurality of trellis decoders and a plurality of postcoders.
  • FIG. 3 illustrates the 4-state/8-state trellis decoder 101 .
  • the 4-state/8-state trellis decoder 101 comprises terminals 200 and 206 , a branch metric production circuit 201 , an ACS circuit 202 , path metric memories 203 a - 203 l , a trace back processing circuit 204 , and path memories 205 a - 205 l.
  • the branch metric production circuit 201 comprises a selection circuit 207 and a branch metric calculation circuit 208 .
  • the encoded data from the phase noise remover 5505 of FIG. 2 is input to the terminal 200 .
  • the 4-state/8-state trellis decoder 101 decodes the encoded data using a Viterbi algorithm. The decoding process will be described below with reference to the flow chart of FIG. 4.
  • the selection circuit 207 compares the encoded data with possible data points taken by each of the branches (i.e., one from state S i to state S k and another from state S j to state S k ), and selects one of the possible data points taken by the branches which is closest to the encoded data (step S 1 ), so as to produce a candidate for data Y 2 (first path information for 4-state transition) or a candidate for data X 2 (first path information for 8-state transition).
  • the candidates for data Y 2 and data X 2 are stored in a path memory (one of the path memories 205 a - 205 l ) (step S 2 ).
  • a candidate for data Y 2 Y 1 (a candidate for decoded data for 4-state transition) or a candidate for data X 2 X 1 (a candidate for decoded data for 8-state transition) is produced and stored in the path memory.
  • the branch metric calculation circuit 208 calculates a branch metric for the parallel path closest to the encoded data (step S 3 ). A square of Euclidean distance is used for the branch metric.
  • the branch metric production circuit 201 produces a branch metric for each branch for each encoded data and a candidate for data Y 2 (first path information for 4-state transition) or a candidate for data X 2 (first path information for 8-state transition), and outputs them to the ACS circuit 202 .
  • a candidate for data Y 2 Y 1 (a candidate for decoded data for 4-state transition) or a candidate for data X 2 X 1 (a candidate for decoded data for 8-state transition) is produced and output to the ACS circuit 202 .
  • the ACS circuit 202 adds the branch metric for each branch to the path metric for each state stored in the path metric memory (one of the path metric memories 203 a - 203 l ) (step S 4 ), so as to compare the obtained sums with each other and select the smallest sum to be a new path metric for the state.
  • the new path metrics for the respective states are stored in the above-described path metric memory (one of path metric memories 203 a - 203 l ) (step S 5 ).
  • Data corresponding to the selected path for each state is stored in the path memory (one of the path memories 205 a - 205 l ) having a number corresponding to that of the path metric memory.
  • the trace back processing circuit 204 traces back a predetermined cut-off path length along a surviving path which contains a state whose new path metric is smallest so as to determine data Y 2 Y 1 (for 4-state transition) or data X 2 X 1 (for 8-state transition), and the determined data is output to the terminal 206 (step S 6 ).
  • the path metric memories 203 a - 203 l and the path memories 205 a - 205 l , along with 1-symbol delay circuits 306 a - 306 l of a postcoder 302 (described later), are successively selected in the same order according to a trellis encoding rule of the trellis encoder unit 5006 of FIG. 22.
  • the 4-state/8-state trellis decoder 101 is provided with the path metric memories 203 a - 203 l and the path memories 205 a - 205 l so that each path metric memory stores the path metric for each state and that each path memory stores data for each state (i.e., the first path information and the second path information (for the trace back system), or a candidate for decoded data (for the register exchange system)).
  • each path metric memory stores the path metric for each state and that each path memory stores data for each state (i.e., the first path information and the second path information (for the trace back system), or a candidate for decoded data (for the register exchange system)).
  • FIG. 5 illustrates in greater detail the switch and postcoder 102 .
  • the switch and postcoder 102 comprises terminals 300 and 304 , switches 301 and 303 , further terminals 301 a , 301 b , 303 a and 303 b , the postcoder 302 , the adder 305 (modulo 2), and the 1-symbol delay circuits 306 a - 306 l.
  • the decoded data from the 4-state/8-state trellis decoder 101 is input to the terminal 300 .
  • the switch 300 is turned to the terminal 301 a when an NTSC co-channel interference component is contained (for 8-state transition), and to the terminal 301 b when no NTSC co-channel interference component is contained (for 4-state transition).
  • the postcoder 302 passes data Y, through a feed forward loop to convert it to data X 2 , and outputs the decoded data X 2 X 1 .
  • the switch 303 is turned to the terminal 303 a when an NTSC co-channel interference component is contained, and to the terminal 303 b when no NTSC co-channel interference component is contained, so that data X 2 X 1 is output to the terminal 304 .
  • the switch and postcoder 102 is provided with the 1-symbol delay circuits 306 a - 306 l , and data Y 2 for 4-state transition is stored in each of the path metric memories 203 a - 203 l and the path memories 205 a - 205 l .
  • the switch and postcoder 102 makes it possible to implement the error correction circuit of FIG. 1.
  • FIG. 6 is a block diagram illustrating a circuit configuration for producing the contents of the state transition-diagram.
  • the circuit comprises, terminals 400 , 401 , 405 , 406 , 407 and 408 , a precoder 402 , adders (modulo 2) 402 a , 403 b , 404 b , 404 d and 404 f, 1-symbol delay circuits 402 b , 403 a , 403 a , 404 a , 404 a and 404 e , a trellis encoder 403 , and a comb filter 404 .
  • the delay circuits provided in the precoder 402 , the trellis encoder 403 , and the comb filter 404 are all 1-symbol delay circuits for delaying information by 1 bit.
  • the trellis encoder 403 performs a trellis encoding operation on data Y 2 Y 1 to obtain data Z 2 Z 1 Z 0 .
  • a comb filter used on the receiving side is provided on the transmitting side.
  • data Z 2 Z 1 Z 0 is passed through the comb filter 404 to obtain data W 3 W 2 W 1 W 0 (15 levels).
  • FIG. 7 is a 4-state transition diagram. Referring to FIG. 7, S 0 , S 1 , S 2 and S 3 each denote a state, D 1 and D 2 denote delayed information of the delay circuits 403 a and 403 c of FIG. 6, respectively, and R/Y 2 Y 1 denotes symbol/data.
  • FIG. 8A is a table illustrating the relationship between data W 3 W 2 W 1 W 0 (15 levels) after being passed through the comb filter and data X 2 .
  • FIG. 8B is a table illustrating the relationship between the 15 levels after being passed through the comb filter and data X 1 .
  • Y 2 cannot be uniquely determined from W 3 W 2 Z 3 (see FIG. 6), but X 2 can be uniquely determined therefrom.
  • Z 3 is determined simultaneously with W 1 and W 0 which are determined by the trellis encoder 403 and the comb filter 404 .
  • input data X 2 X 1 can be determined from W 3 W 2 W 1 W 0 by the trellis decoder 101 (FIG. 1).
  • FIG. 9A is an 8-state transition diagram.
  • FIG. 9B is a table illustrating the 15 levels after being passed through the comb filter.
  • FIG. 9C is a table illustrating level L/Data X 2 X 1 for each branch.
  • S 0 , S 1 , S 2 , S 3 , S 4 , S 5 , S 6 and S 7 each denote a state
  • D 1 , D 2 and D 3 denote delayed information of the delay circuits 404 c , 403 a and 403 c of FIG. 6, respectively
  • L/X 2 X 1 denotes level/data.
  • FIG. 9A With D 0 (considering only D 1 and D 2 ), the state transition of FIG. 9A becomes equivalent to the 4-state transition of FIG. 7 but with the number of parallel paths being increased from two to three. This is shown in FIGS. 9D and 9E. As can be seen from FIGS. 9D and 9E, there are three paths (( ⁇ 12, ⁇ 8/10), ( ⁇ 4, 0/00), (4, 8/10)) from state S 0 to state S 0 , for example. One of the three paths is selected based on the received signal level. Thus, it is possible to use a trellis decoder commonly for 4-state transition and for 8-state transition.
  • FIG. 10 is a trellis diagram illustrating 8-state transitions. In FIG. 10, each state has one surviving path (indicated by a solid line).
  • FIGS. 11 A- 14 B illustrate a method for calculating a branch metric and a path metric for a state transition from time t (t is an integer) to time t+1 in FIG. 10.
  • FIGS. 15 A- 15 C illustrate the relationship between data W 3 W 2 W 1 W 0 (15 levels) according to Embodiment 1 and 7 cosets according to the conventional device. As is apparent from FIGS. 15 A- 15 C, it is possible to perform the decoding operation using the 15 levels as in Embodiment 1 which is substantially the same as that of the conventional device using cosets.
  • the branch metric and the path metric for the state transition from time 0 to time 1 in FIG. 10 are calculated.
  • There are two state transitions to state S 0 at time 1 i.e., one from state S 0 at time 0 and another from state S 1 at time 0).
  • P mS0 ( 0 )+B mA ( 1 ) and P mS1 (O)+B mC ( 1 ) are compared with each other. Since P mS0 ( 0 )+B mA ( 1 ) is the smaller value, the path metric P mS0 ( 1 ) for state S 0 at time 1 is calculated as follows:
  • the path metric Pm(t) at time t is normalized so that the minimum value of the path metric is 0.
  • the branch metrics and the path metrics for the other states at time 1 are also calculated as described above and as illustrated In FIGS. 11A and 11B.
  • the symbols A-J in B mA ( 1 )-B mJ ( 1 ) respectively correspond to the symbols A-J provided to the branches in FIGS. 9A, 9C, 15 A and 15 C.
  • B mA ( 1 )-B mJ ( 1 ) are the branch metrics for the branches A-J.
  • branch metrics and the path metrics for the other state transitions from time t to time t+1 are similarly calculated as illustrated in FIGS. 12 A- 14 B.
  • the path metric at time 4 is smallest for state S 5 .
  • the maximum-likelihood-decoded data X 2 X 1 is “10” (the branch is associated with data X 2 X 1 as illustrated in FIG. 9C).
  • a candidate for data X 2 (first path information) and selection information (second path information) are stored in the path memory and a maximum likelihood decoding operation is performed on data X 2 X 1 for the trace back system
  • a candidate for data X 3 X 1 (a candidate for decoded data) is stored in the path memory and a maximum likelihood decoding operation is performed on data X 2 X 1 for the register exchange system. While a case of 8-state transition has been described above, a process substantially the same as that for 8-state transition can be used for 4-state transition to perform a maximum likelihood decoding operation on data Y 2 Y 1 .
  • the most likely path for the transition from time 0 to time 1 is the path from state S 0 to state S 0 as determined by tracing back the predetermined cut-off path length along the surviving path from state S 0 at time 4.
  • the prior art requires the delay circuit 5301 and the slicer 5306 .
  • the trace back processing circuit 204 is used in Embodiment 1 as the 4-state/8-state trellis decoder 101 , a register exchange circuit may alternatively be used in place of the trace back processing circuit 204 .
  • a square of Euclidean distance is used in Embodiment 1 for the branch metric, any other suitable value can alternatively be used, e.g., an absolute value of Euclidean distance.
  • the branch metric production circuit 201 first compares the encoded data with possible data points taken by each of the branches (i.e., one from state S i to state S k and another from state S j to state S k ) to select one of the data points closest to the encoded data, and a candidate for data X 2 (first path information for the trace back system) or a candidate for data X 2 X 1 (a candidate for the decoded data for the register exchange system) is produced so as to calculate the branch metric for the data closest to the encoded data.
  • a candidate for data X 2 first path information for the trace back system
  • a candidate for data X 2 X 1 a candidate for the decoded data for the register exchange system
  • all the squares of Euclidean distance for the encoded data and possible data points taken by each of the branches (i.e., one from state S i to state S k and another from state S i to state S k ) maybe first calculated, so as to use the smallest square value as the branch metric for that branch, thereby using the data corresponding to the branch metric as a candidate for data X 2 (first path information for the trace back system) or a candidate for data X 2 X 1 (a candidate for the decoded data for the register exchange system).
  • the error correction circuit of Embodiment 1 does not require the slicer 5306 of the conventional device illustrated in FIG. 26 and does not perform the convolution operation, thereby avoiding the possibility of error propagation.
  • the conventional device requires the delay circuit 5301 illustrated in FIG. 26.
  • the delay circuit 5301 illustrated in FIG. 26 For example, in order to delay 10 bits of information by the delay circuit 5301 , (4 ⁇ 8+10) bits need to be stored.
  • the memory capacity required for the error correction circuit of Embodiment 1 is reduced by about 40% from that required for the conventional device.
  • FIG. 16 is a block diagram illustrating a trellis decoder and a deparser of an error correction circuit according to Embodiment 2 of the present invention.
  • the trellis decoder and the deparser of Embodiment 2 are provided in place of the trellis decoder and the deparser illustrated in FIG. 34, and in place of the trellis decoder 805 illustrated in FIG. 28B.
  • terminals 2100 , 2101 and 2110 there are provided terminals 2100 , 2101 and 2110 , an encoded bit decoding section 2102 , a depuncturer 2103 , a Viterbi decoder 2104 , a differential postcoder 2105 , a non-encoded bit decoding section 2106 , a 4/5 puncturer 2107 , a QAM demapper 2108 , and a deparser 2109 .
  • the trellis decoder comprises the non-encoded bit decoding section 2106 and the encoded bit decoding section 2102 .
  • the encoded bit decoding section 2102 receives QAM-demodulated I data and Q data through the terminals 2100 and 2101 , respectively.
  • the depuncturer 2103 depunctures the I data and Q data.
  • the Viterbi decoder 2104 performs a Viterbi decoding operation on the depunctured I data I dp and Q data Q dp , and produces Viterbi-decoded I data I v1 and Q data Q v1 , and I data I v2 and Q data Q v2 to be used for decoding the non-encoded bits.
  • the differential postcoder 2105 performs a differential decoding operation on the encoded bits based on the Viterbi-decoded I data Iv, and Q data Q v1 .
  • the Viterbi decoder 2104 inputs the Viterbi-decoded I data I v2 (I data denotes a signal level) and Q data Q v2 (Q data denotes a signal level) to the 4/5 puncturer 2107 in the non-encoded bit decoding section 2106 .
  • the 4/5 puncturer 2107 performs a puncturing operation at a code rate of 4/5 on the Viterbi-decoded I data I v2 (I data denotes a signal level) and Q data Q v2 (Q data denotes a signal level).
  • the QAM demapper 2108 demaps the punctured I data I p (I data denotes a signal level) and Q data Q p (Q data denotes a signal level) so as to produce and output non-encoded bits.
  • the encoded and non-encoded bits which have been decoded as described above are input to the deparser 2109 .
  • the deparser 2109 puts together the I bits and the Q bits, respectively, so as to output them through the terminal 2110 as I symbols and Q symbols.
  • FIG. 17 is a block diagram illustrating the Viterbi decoder 2104 provided in the encoded bit decoding section 2102 of FIG. 16.
  • the Viterbi decoder 2104 comprises terminals 2200 , 2206 and 2207 , a selection circuit 2206 , a branch metric production section 2201 , an ACS (Add Compare Select) section 2202 , path metric memories 2203 a and 2203 b , a trace back processing section 2204 , and path memories 2205 a and 2205 b.
  • FIG. 18A is a state transition diagram.
  • S 0 -S 15 each denote a state
  • D 4 , D 3 , D 2 and D 1 each denote delayed information of the respective delay circuits 1203 - 1206 (illustrated in FIG. 32) of the trellis encoder 804 in the error correction encoding section 703 (illustrated in FIG. 28A)
  • “out1 out2/in” denotes outputs 1,2/input of the 1/2 convolutional encoder 1201 illustrated in FIG. 32.
  • the Viterbi decoder 2104 produces data I v1 , Q v1 , I v2 Q v2 using the state transition diagram illustrated in FIG. 18A.
  • the depunctured I data I dp or Q data Q dp to input through the terminal 2200 Each transition from one state to another has two branches.
  • the selection circuit 2208 compares the encoded data with possible data points taken by each of the branches, and selects one of the data points which is closest to the encoded data.
  • the branch metric production section 2201 calculates the branch metric for the closest data point, and outputs it to the ACS section 2202 .
  • a square of Euclidean distance is used for the branch metric. However, a branch metric corresponding to punctured data of out1 Is not calculated.
  • the ACS section 2202 adds the branch metric for each branch to a path metric for each state stored in the path metric memory 2203 a or 2203 b , and selects the smaller one of the obtained sums to be used as a new path metric for the state.
  • the new path metric for the state is stored in the same one of the path metric memories 2203 a and 2203 b .
  • Data corresponding to the new path metric for each state is stored in one of the path memories 2205 a and 2205 b having a number corresponding to that of the path metric memory.
  • the data stared in the path memory 2203 a or 2203 b includes the delayed information (“0” or “1”) of D, on the transition origin side of FIG. 18A (“D 4 ”, on the left side in FIG. 18A), and the signal levels respectively corresponding to out1 and out2 (i.e., one of “ ⁇ 7, ⁇ 3, +1, +5” when out1 or out2 is “0”, or one of “ ⁇ 5, ⁇ 1, +3, +7” when out1 or out2 is “1”).
  • the punctured data of out1 i.e., the signal level corresponding to out1
  • the signal level corresponding to out1 is not stored in the path memory.
  • the trace back processing section 2204 traces back a predetermined cut-off path length along the surviving path which contains the state whose new path metric is smallest no as to determine data I v1 , Q v1 , I v2 , Q v2 , and outputs the data I v2 and Q v2 through the terminal 2206 and the data I v1 and Q v1 through the terminal 2207 .
  • FIG. 19 illustrates in greater detail the postcoder 2105 of FIG. 16.
  • the postcoder 2105 comprises terminals 2400 , 2401 , 2401 and 2403 .
  • the differential postcoder 2105 performs a differential decoding operation on the I data and Q data based on the following differential encoding formulae (3) and (4) (where j is an integer), and outputs the differential-encoded data W j and Z j through the terminals 2402 and 2403 , respectively.
  • Embodiment 2 of the present invention provides a Viterbi decoder for decoding a first series of data obtained by decoding a series of encoded data, and a second series of data obtained by decoding a series of data which contains information of a series of unencoded data.
  • a Viterbi decoder for decoding a first series of data obtained by decoding a series of encoded data
  • a second series of data obtained by decoding a series of data which contains information of a series of unencoded data.
  • FIG. 20 is a block diagram illustrating a trellis decoder and a deparser of an error correction circuit according to Embodiment 3 of the present invention.
  • the trellis decoder and the deparser of Embodiment 3 are provided in place of the trellis decoder and the deparser illustrated in FIG. 19, and in place of the trellis decoder 805 illustrated in FIG. 28B.
  • terminals 2500 , 2501 and 2510 there are provided terminals 2500 , 2501 and 2510 , an encoded bit decoding section 2505 , a depuncturer 2506 , a Viterbi decoder 2507 , a differential postcoder 2508 , a non-encoded bit decoding section 2502 , a QAM demapper 2503 , a delay circuit 2504 , and a deparser 2509 .
  • the trellis decoder comprises the non-encoded bit decoding section 2502 and the encoded bit decoding section 2505 .
  • the encoded bit decoding section 2505 receives QAM-demodulated I data and Q data through the terminals 2500 and 2501 , respectively.
  • the depuncturer 2506 depunctures the I data and Q data.
  • the Viterbi decoder 2507 performs a Viterbi decoding operation on the depunctured I data I dp and Q date Q dp , and produces Viterbi-decoded I data I v and Q data Q v .
  • the differential postcoder 2508 performs a differential decoding operation on the Viterbi-decoded I data I v and Q data Q v , and produces encoded bits.
  • the non-encoded bit decoding section 2502 receives the QAM-demodulated I data and Q data at the QAM demapper 2503 .
  • the QAM demapper 2503 performs a demapping operation based on the I data and Q data, and produces non-encoded bits.
  • the delay circuit 2504 delays the decoded non-encoded bits.
  • the encoded and non-encoded bits which have been decoded as described above are input to the deparser 2509 .
  • the deparser 2509 puts together the I bits and the Q bits, respectively, so as to output them through the terminal 2510 as I symbols and Q symbols.
  • FIGS. 21 A- 21 C illustrate an arrangement of 64 QAM encoding points in the QAM demapper 2503 of FIG. 20.
  • C( 1 ) C( 2 ) C( 4 ) and C( 5 ) are non-encoded bits, and C( 3 ) and C( 6 ) are encoded bits (see FIG. 29).
  • Embodiment 3 of the present invention provides a demapper for decoding a series of demodulated data to obtain a series of unencoded data.
  • it is possible to decode the series of unencoded data (non-encoded bits) without convolutional-encoding (re-encoding) the series of Viterbi-decoded data.
  • a trace back processing section is used as a Viterbi decoder.
  • a register exchange processing section may be used in place of the trace back processing section.
  • the branch metric production section described above does not calculate a branch metric corresponding to punctured data of out1
  • the branch metric corresponding to punctured data of out1 may be a constant (e.g., 1).
  • decoding operations for the 64 QAM system are described above, similar decoding operations can be performed for other systems, e.g., the 256 QAM system.
  • both the differential encoding/decoding operations and the puncturing/depuncturing operations are performed in the above-described embodiments.
  • either one, or both, of the differential encoding/decoding operations and the puncturing/depuncturing operations may be omitted, while it is still possible to perform the encoding and decoding operations which are substantially the same as those of Embodiments 2 and 3 based on the present invention.
  • the present invention can be effectively used as long as trellis encoding and mapping onto 2-dimensional m values are performed on the transmitting side, while maximum likelihood decoding and demapping are performed on the receiving side.
  • Embodiments 2 and 3 provide: a Viterbi decoder for decoding a first series of data obtained by decoding a series of encoded data, and a second series of data obtained by decoding a series of data which contains information of a series of unencoded data; or a demapper for decoding a series of modulated data to obtain a series of unencoded data.
  • a Viterbi decoder for decoding a first series of data obtained by decoding a series of encoded data, and a second series of data obtained by decoding a series of data which contains information of a series of unencoded data
  • a demapper for decoding a series of modulated data to obtain a series of unencoded data.
  • the present invention can be used with trellis-encoded signals including encoded data and unencoded data.
  • the present invention performs a Viterbi decoding operation by selecting one of a plurality of parallel paths of a branch through calculation of the branch metric thereof, thereby eliminating the need to decode non-encoded bits by re-convolutional-encoding the Viterbi-decoded data as in the prior art. Therefore, the present invention simplifies the circuit to be used, as compared to a circuit used with the conventional method in which the encoded lower bit is Viterbi-decoded, and a re-convolution is performed to decode the unencoded upper bit.
  • the re-convolution operation by a re-convolutional encoder may result in error propagation corresponding to the constraint length of the re-convolutional encoder, whereas substantially no error propagation occurs in the method of the present invention.
  • characteristics such as the SIN ratio are better than those obtained with the conventional method.
  • the transition state of the convolutional encoder may change from 4-state transition to 8-state transition when a comb filter for removing an NTSC co-channel interference component is provided on the receiving side.
  • one state resulting from the comb filter is associated with an increase in one parallel path, so that a decoder can be used commonly for 8-state transition and for 4-state transition, thereby simplifying the circuit.
  • the data processing can be performed with a single Viterbi decoder on the receiving side by providing one circuit that can be used as both a branch metric production circuit and an ACS circuit, thereby reducing the circuit scale.

Abstract

The present invention provides an error correction circuit for receiving and decoding a trellis-encoded signal of a series of data Zq, Zq−1, . . . ,Z1 which comprises convolutional-encoded bits and unencoded bits, the convolutional-encoded bits being obtained by convolutional-encoding lower t bits Xt, Xt−1, . . . ,X1 of an input p-bit series of data Xp, Xp−1, . . . ,X1 (where p≧2, q≧p, and p>t≧1), and the unencoded bits being obtained by not convolutional-encoding upper (p-t) bits thereof. The circuit includes: a maximum likelihood decoder for preselecting one of m parallel paths of transition from state x at time k to state y at time k+1.

Description

    BACKGROUND OF THE INVENTION
  • 1. Field of the Invention [0001]
  • The present invention relates to an error correction circuit for decoding digitally transmitted data which has been subjected to trellis coded modulation (TCM). [0002]
  • 2. Description of the Related Art [0003]
  • An 8VSB (Vestigial Sideband) modulation system is employed for the terrestrial digital broadcasting in the U.S. References describing the 8VSB modulation system include, for example, “Digital Television Standard”, ATSC, Annex D, 16 Sep. 1995 (hereinafter, “[0004] Reference 1”), and “Guide to the Use of the ATSC Digital Television Standard”, ATSC, pp. 96-126, 4 Oct. 1995 (hereinafter, “Reference 2”).
  • [0005] References 1 and 2 describe encoding and decoding of data based on trellis coded modulation (hereinafter, abbreviated as “TCM”) which has been employed for the 8VSB modulation system. A convolutional encoder having 4 internal states is used as a TCM encoder.
  • FIG. 22 illustrates a transmitter based on the 8VSB modulation system. Referring to FIG. 22, the transmitter comprises [0006] terminals 5000, 5004 and 5005, a randomizer 5001, a Reed-Solomon encoder 5002, an interleaver 5003, a trellis encoder unit 5006, and a multiplexer (MUX) 5007. The transmitter further comprises a pilot inserter 5008, a VSB modulator 5009, and an RF upconverter 5010.
  • A 188-byte MPEG transport stream (including 1 synchronization byte and 187 data bytes) is input to the [0007] terminal 5000. The randomizer 5001 randomizes data input through the terminal 5000, and outputs the randomized data. The Reed-Solomon encoder 5002 performs a Reed-Solomon encoding operation on the randomized data, and outputs the Reed-Solomon-encoded data with 20 Reed-Solomon parity bytes being added to each packet. The interleaver 5003 performs a convolution byte interleave operation on the Reed-Solomon-encoded data at a depth which is about 1/6 (52 data segments) of a data field. The interleaver 5003 does not interleave the synchronization byte, and only interleaves the data bytes.
  • The [0008] trellis encoder unit 5006 performs a trellis encoding operation at a code rate of 2/3 on the data from the interleaver 5003, and maps the encoded data onto an 8-level data series. A segment sync is input to the terminal 5004, and a field sync is input to the terminal 5005. The multiplexer 5007 adds the segment sync and the field sync to the trellis-encoded and mapped data, and frames the obtained data so as to output framed data. The pilot inserter 5008 adds a pilot signal to the framed data. The framed data is subjected to VSB modulation by the VSB modulator 5009, up-converted by the RF up-converter 5010, and then output through an antenna as an RF signal.
  • FIG. 23 illustrates a receiver based on the 8VSB modulation system. Referring to FIG. 23, the receiver comprises a [0009] tuner 5011, an IF filter and synchronous detector 5012, a sync and timing generator 5013, an NTSC 30 interference remover 5014, an equalizer 5015, a phase noise remover 5016, a trellis decoder unit 5017, a deinterleaver 5018, a Reed-Solomon decoder 5019, a derandomizer 5020, and a terminal 5021.
  • The [0010] tuner 5011 tunes to and selectively receives the RF signal from the transmitter, and outputs the received signal. The IF filter and synchronous detector 5012 passes the received signal through an IF filter to convert it to a signal having a predetermined frequency. The converted signal is synchronously detected to convert it to a baseband signal. The sync and timing generator 5013 detects a synchronization signal of the baseband signal so as to time the baseband signal. When the baseband signal contains an NTSC co-channel Interference component, the baseband signal is input to the equalizer 5015 after the NTSC co-channel interference component is detected by the NTSC interference remover 5014 and removed by a comb filter in the NTSC interference remover 5014. When no NTSC co-channel interference component is contained, the baseband signal is directly input to the equalizer 5015. The waveform of the baseband signal is equalized by the equalizer 5015, and any phase noise contained therein is removed by the phase noise remover 5016, after which the baseband signal is input to the trellis decoder unit 5017 as encoded data. The trellis decoder unit 5017 performs a trellis decoding operation on the encoded data and outputs the trellis-decoded data. The trellis-decoded data is subjected to a convolution byte deinterleave operation by the deinterleaver 5018, a Reed-Solomon decoding operation by the Reed-Solomon decoder 5019 and a derandomizing operation by the derandomizer 5020, and then output through the terminal 5021.
  • Such a receiver unit may employ the following methods for decoding data which has been encoded by a 4-state trellis encoder: a method in which the encoded data is decoded based on state transitions among 4 states, in the case where a comb filter is not used (no NTSC co-channel interference component is contained); and a method in which the encoded data is decoded based on state transitions among 8 states, in the case where a comb filter is used (an NTSC co-channel interference component is contained). The 8 states comprise states resulting from the trellis encoder and other states resulting from the comb filter. [0011]
  • The decoding operation for use with TCM is described, for example, in Japanese National Phase PCT Laid-open Publication No. 10-502776 which discloses a trellis coded modulation system for HDTV (hereinafter, “[0012] Reference 3”). Reference 3 describes a decoding method using a 4-state trellis decoder, as a decoding method based on state transitions among 4 states for use in the case where a comb filter is not used, and also describes a method using an 8-state trellis decoder, as a decoding method based on transitions among 8 states for use in the case where a comb filter is used.
  • FIG. 24 is a block diagram illustrating a conventional trellis decoder unit for decoding encoded data by selectively using a 4-state trellis decoder and an 8-state trellis decoder. [0013]
  • The trellis decoder unit corresponds to the [0014] trellis decoder unit 5017 in FIG. 23.
  • Referring to FIG. 24, the trellis decoder unit comprises [0015] terminals 5100 and 5112, switches 5101 and 5111, terminals 5101 a, 5101 b, 5111 a and 5111 b, demultlplexers (DEMUXs) 5102 and 5105, and multiplexers (MUXs) 5104 and 5110. The trellis decoder unit further comprises 8-state trellis decoders 5103 a-5103 l, 4-state decoders 5106 a-5106 l, postcoders 5107 a-5107 l, adders (modulo 2) 5108 a-5108 l, and 1-symbol delay circuits 5109 a-5109 l.
  • The encoded data is input from the [0016] phase noise remover 5016 of FIG. 23 to the terminal 5100. When the encoded data contains an NTSC co-channel interference component, the switch 5101 is turned to the terminal 5101 a so as to input the encoded data to the demultiplexer 5102. The demultiplexer 5102 divides the encoded data by symbols so as to input the obtained data for the respective symbols to the 8-state trellis decoders 5103 a-5103 l, respectively. During a segment sync period (in which the data is not trellis-encoded), no data is input to the 8-state trellis decoders 5103 a-5103 l, while the demultiplexer 5102 switches its selection to the next one of the 8-state trellis decoders 5103 a-5103 l. The decoded data from each of the a-state trellis decoders 5103 a-5103 l is input to the multiplexer 5104, where the data is multiplexed together and output to the deinterleaver 5018 illustrated in FIG. 23.
  • When the encoded data from the [0017] phase noise remover 5016 of FIG. 23 contains no NTSC co-channel interference component, the switch 5101 is turned to the other terminal 5101 b so as to input the encoded data to the demultiplexer 5105. Like the demultiplexer 5102, the demultiplexer 5105 divides the encoded data by symbols to input the obtained data for the respective symbols to the 4-state trellis decoders 5106 a-5106 l, respectively. During a segment sync period, no data is input to the 4-state trellis decoders 5106 a-5106 l, while the demultiplexer 5105 switches its selection to the next one of the 4-state trellis decoders 5106 a-5106 l. Data Y2Y1 from each of the 4-state trellis decoders 5106 a-5106 l is input to the postcoders 5107 a-5107 l, respectively, where the data Y2 is passed through a feed forward loop to obtain data X2. As a result, decoded data X2X1 is obtained. The decoded data X2X1 from each of the postcoders 5107 a-5107 l is input to the multiplexer 5110, where the data is multiplexed together and output to the deinterleaver 5018 illustrated in FIG. 23.
  • Accordingly, when an NTSC co-channel interference component is contained, the [0018] switch 5111 is turned to the terminal 5111 a so as to select the 8-state trellis decoder. When no NTSC co-channel interference component is contained, the switch 5111 is turned to the terminal 5111 b so as to select the 4-state trellis decoder.
  • FIG. 25 illustrates a 4-state trellis decoder. Referring to FIG. 25, the 4-state trellis decoder comprises [0019] terminals 5200, 5205 and 5206, a branch metric production circuit 5201, an ACS (Add Compare Select) circuit 5202, a path metric memory 5203, and a trace back memory 5204.
  • The encoded data from the [0020] demultiplexer 5105 illustrated in FIG. 24 is input to the input terminal 5200 of the 4-state trellis decoder 5106 illustrated in FIG. 25. The 4-state trellis decoder 5106 decodes the encoded data as follows using a Viterbi algorithm.
  • There are two possible state transitions from state S[0021] i at time t (t is an integer) to state Sx at time t+1 which are respectively used as symbol subsets, and each branch extends to the next state. There are two possible state transitions from time t to state Sk at time t+1 (i.e., one from state Si at time t and another from state Sj at time t). The branch metric production circuit 5201 produces a branch metric for each branch for each encoded data, and outputs the produced branch metric to the ACS circuit 5202. The ACS circuit 5202 adds the branch metric for each branch to a path metric for each state stored in the path metric memory 5203, and selects the smaller one of the obtained sums to be used as a new path metric for the state. The new path metric for the state is stored in the path metric memory 5203. Data corresponding to the selected path for the state (containing a candidate for data Y2 and path selection information) is stored in the trace back memory 5204. The trace back memory 5204 traces back a predetermined cut-off path length along a surviving path which contains a state whose new path metric is smallest so as to determine a subset and data Y1 to reconstruct the data, thereby determining data Y2. The data Y2 is output to the terminal 5205 and the data Y1 is output to the terminal 5206.
  • FIG. 26 illustrates an 8-state trellis decoder. Referring to FIG. 26, the 8-state trellis decoder comprises [0022] terminals 5300, 5307 and 5308, a delay circuit 5301, a branch metric production circuit 5302, an ACS circuit 5303, a path metric memory 5304, a trace back memory 5305, and a slicer 5306.
  • The encoded data from the [0023] demultiplexer 5102 of FIG. 24 is input to the terminal 5300 of the 8-state trellis decoder 5103. Like the 4-state trellis decoder 5106, the 8-state trellis decoder 5103 decodes the encoded data as follows using a Viterbi algorithm.
  • There are two possible state transitions from state S[0024] i at time t to state Sk at time t+1. There are two possible state transitions to state Sk at time t+1 (i.e., one from state Si at time t and another from state Sj at time t). The branch metric production circuit 5302 produces a branch metric for each branch for each encoded data, and outputs the produced branch metric to the ACS circuit 5303. The ACS circuit 5303 adds the branch metric for each branch to a path metric for each state stored in the path metric memory 5304, and selects the smaller one of the obtained sums to be used as a new path metric for the state. The new path metric for the state is stored in the path metric memory 5304. Data corresponding to the selected path for the state (containing a candidate for a coset and path selection information) is stored in the trace back memory 5305. The trace back memory 5305 traces back a predetermined cut-off path length along a surviving path which contains a state whose new path metric is smallest so as to determine the coset and the data X1. The data X1 is output to the terminal 5307. The delay circuit 5301 delays the data from the terminal 5300 for a period of time corresponding to an amount of delay by the trace back memory 5305 before the data is output to the slicer 5306. The slicer 5306 determines the data X2 by identifying the coset based on the delayed data, and outputs the data X2 to the terminal 5308.
  • When the, above-described conventional device performs a decoding operation by using a 4-state trellis decoder, the device first decodes the subset and data Y[0025] 1 to reconstruct the data, thereby decoding data Y2. When decoding encoded data using an 8-state trellis decoder, the data X1 is first decoded, and then the data X2 is decoded by using the slicer to identify the coset based on the delayed data. Consequently, the decoding operation for the data X3 requires the delay circuit and the slicer, and the decoding method is complicated.
  • Moreover, the prior art requires 12 4-state trellis decoders and 12 8-state trellis decoders, thereby increasing the circuit scale. [0026]
  • A communication system based on TCM includes the digital CATV in the U.S. The digital CATV employs a 64 QAM (Quadrature Amplitude Modulation) system and a 256 QAM system. The 64 QAM and 256 QAM systems in the U.S. are described, for example, in “ITU-T Recommendation J.83 ANNEXB” (hereinafter, “[0027] Reference 4”). Reference 4 describes an error correction technique which is employed in the 64 QAM system and the 256 QAM system in the U.S.
  • FIG. 27 illustrates a [0028] transmitter 701 and a receiver 706 of the digital CATV in the U.S. In FIG. 27, a transmission path 705 is provided between the transmitter 701 and the receiver 706. The transmitter 701 comprises a terminal 700, an MPEG framing section 702, an error correction encoding section 703, and a QAM modulation section 704. The receiver 706 comprises a QAM demodulation section 707, an error correction decoding section 708, an MPEG framing section 709, and a terminal 710.
  • Data in the MPEG2 transport stream format is input to the terminal [0029] 700. The MPEG framing section 702 of the transmitter 701 performs a linear encoding operation on the input data so that the parity check sum of the data is 0×47 (i.e., “47” in hexadecimal expression). The error correction encoding section 703 performs an error correction encoding operation on the linearly-encoded data. The QAM modulation section 704 performs a QAM modulation operation on the error-correction-encoded data, and transmits the QAM-modulated data to the receiver 706 via the transmission path 705.
  • The [0030] QAM demodulation section 707 of the receiver 706 performs a QAM demodulation operation on the data received via the transmission path 705. The error correction decoding section 708 performs an error correction operation on the QAM-demodulated data. The MPEG framing section 709 detects an error by multiplying the error-corrected data by a parity check matrix (so as to check whether the parity check sum is 0×47), and converts the data to an MPEG2 transport stream format.
  • FIGS. 28A and 28B illustrate the error [0031] correction encoding section 703 and the error correction decoding section 708, respectively.
  • The error [0032] correction encoding section 703 illustrated in FIG. 28A comprises a terminal 800, a Reed-Solomon encoder 801, an interleaver 602, a randomizer 803, and a trellis encoder 804.
  • The Reed-[0033] Solomon encoder 801 encodes the linearly-encoded data from the MPEG framing section 702 into RS (128, 122) (1 symbol=7 bits). The interleaver 802 performs a convolution interleave operation on the Reed-Solomon-encoded data. The randomizer 803 randomizes the interleaved data. The trellis encoder 804 performs a trellis encoding operation on the randomized data at a code rate of 14/15 (for the 64 QAM system; a code rate of 19/20 is used for the 256 QAM system). The trellis-encoded data is QAM-modulated by the QAM modulation section 704 and then transmitted onto the transmission path 705.
  • The error [0034] correction decoding section 708 illustrated in FIG. 28B comprises a trellis decoder 805, a derandomizer 806, a deinterleaver 807, a Reed-Solomon decoder 808, and a terminal 809.
  • The [0035] trellis decoder 805 performs a trellis decoding operation on the QAM-demodulated data from the QAM demodulation section 707. The deinterleaver 807 performs a convolution deinterleave operation on the derandomized data. The Reed-Solomon decoder 808 performs a Reed-Solomon decoding operation on the interleaved data. The Reed-Solomon-decoded data is output after being converted to the MPEG2 transport stream format by the MPEG framing section 709.
  • Next, the error correction encoding operation will be further described (for more detail, see Reference 1). [0036]
  • FIG. 29 illustrates a [0037] parser 901 provided in the stage following the trellis encoder 804 (the parser 901 is not illustrated in FIG. 28A), the trellis encoder 804, and a QAM mapper 907 provided in the QAM modulation section 704.
  • Referring to FIG. 29, there are provided [0038] terminals 900, 908 and 909, a non-encoding section 902, an encoding section 903, a differential precoder 904, a 1/2 convolutional encoder and 4/5 puncturer 905, and another 1/2 convolutional encoder and 4/5 puncturer 906. The “1/2 convolutional encoder” as used herein refers to a convolutional encoder for convolutional-encoding data at a code rate of 1/2, and the “4/5 puncturer” as used herein refers to a puncturer for puncturing data at a code rate of 4/5.
  • The [0039] trellis encoder 804 comprises the non-encoding section 902 and the encoding section 903. The encoding section 903 comprises the differential precoder 904 and the two 1/2 convolutional encoder and 4/5 puncturers 905 and 906.
  • The output from the [0040] randomizer 803 of FIG. 28A is input to the terminal 900. The parser 901 divides the data series (I0-I13, Q0-Q13) input from the terminal 900 into bits to be non-encoded (I0-I9, Q0-Q9) and bits to been coded (I10-I17, Q10-Q13) The differential precoder 904 performs a differential encoding operation on the bits to be encoded (I10-I13, Q10-Q13). Each of the 1/2 convolutional encoder and 4/5 puncturers 905 and 906 performs a convolution operation at a code rate of 1/2 and a puncturing operation at a code rate of 4/5 on the differential-encoded data so as to obtain the encoded bits (I10′-I14′, Q10′-Q14′). The QAM mapper 907 performs a 64 QAM mapping operation on the non-encoded bits (I0-I9, Q0-Q9) and the encoded bits (I10′-I14′, Q10′-Q14′), and outputs the obtained I data through the terminal 908 and the obtained Q data through the terminal 909.
  • Thus, for the 64 QAM system, 28 bits of data are input through the terminal [0041] 900, 20 bits of which are input to the non-encoding section 902, with the remaining 8 bits being input to the encoding section 903, and a trellis encoding operation at a code rate of 14/15 is performed so as to obtain 30 bits of data. Then, a 64 QAM mapping operation is performed so as to output the I data and the Q data through the terminals 908 and 909, respectively.
  • For the 256 QAM system, 30 bits of data out of the 39 bits of input data (10 non-encoded bits of data are additionally provided in the 256 QAM system as compared to the 64 QAM system) are input to the non-encoding section, with the remaining 8 bits of data being input to the encoding section, and a trellis encoding operation at a code rate of 19/20 is performed so as to obtain 40 bits of data. Then, a 256 QAM mapping operation is performed, and the obtained data is output as I data and Q data. [0042]
  • FIG. 30 illustrates an operation of the [0043] parser 901 of FIG. 29. In FIG. 30, data 1000, 1001, 1002 and 1003 each contains 7 bits of data (RS#1-RS#4) which has been Reed-Solomon-decoded, interleaved and randomized. The data 1000 and the data 1001 are I symbols, and the data 1002 and the data 1003 are Q symbols. Data 1004 and data 1006 contain non-encoded bits (I0-I6), and data 1005 contains non-encoded bits (I7-I9) and encoded bits (I10-I13). Data 1007 contains the non-encoded bits (I7-I9), and data 1008 contains the encoded bits (I10′-I14′).
  • The [0044] I symbol 1000 and the lower 3 bits (I7-I9) of the I symbol 1001 input to the parser 901 are divided into two series of non-encoded bits (I1, I3, I5, I7, I9) and (I0, I2, I4, I6, I8). The upper 4 bits (I10-I13) of the I symbol 1001 input to the parser 901, as the encoded bits, are differential-encoded, convolutional-coded, and punctured, so as to obtain 5 bits of data (I10′-I14′). The Q symbols input to the passer 901 are processed in substantially the same manner.
  • FIG. 31 illustrates in greater detail the [0045] differential precoder 904 of FIG. 29. Referring to FIG. 31, the precoder 904 comprises terminals 1100, 1101, 1103 and 1104.
  • The I data I[0046] 10-I13(=Wj) from the parser 901 is input to the terminal 1100, and the Q data Q10-Q13(=Zj) from the parser 901 is input to the terminal 1101. The differential precoder 904 performs a differential encoding operation on the I data I10-I17 and the Q data Q10-Q13 based on the following differential encoding formulae (1) and (2) (where j is an integer), and outputs the differential-encoded data Xj, Yj through the terminals 1103 and 1104.
  • X j =W j +X j−1 Z j(X j−1 +Y j−1)  (1)
  • Y j =Z j +W j +Y j−1 +Z j(X j−1 +Y j−1)  (2)
  • FIG. 32 is a block diagram illustrating in greater detail the 1/2 convolutional encoder and 4/5 [0047] puncturer 905, 906 of FIG. 29. Referring to FIG. 32, the 1/2 convolutional encoder and 4/5 puncturer comprises terminals 1200, 1209, 1210 and 1211, a convolutional encoder 1201 for encoding data at a code rate of 1/2, delay circuits 1203-1206, adders 1202 and 1207 (modulo 2), and a puncturer 1208 for encoding data at a code rate of 4/5.
  • The I data (I[0048] 10-I13)(X3) which has been differential-encoded by the differential precoder 904 is input through the terminal 1200 (as indicated by “in” in the figure). A convolution operation at a code rate of 1/2 is performed on the data (I10-I13) so as to output (I10, I11, I10+I12, I11+I13) to the terminal 1209 (“out1”) and (I10, I10+I11, I10+I11+I12, I10+I11+I12+I13) to the terminal 1210 (“out2”). The 4/5 puncturer 1208 punctures the output of each of the terminals 1209 and 1210 based on the puncture matrix (0001, 1111) so as to output (I10, I10+I11, I10+I11+I12, I11+I13, I10+I11+I12+I17)=(I10′-I14′) to the terminal 1211. The Q data (Yj) from the differential precoder 904 in processed in substantially the same manner as the I data.
  • FIGS. 33A, 33B and [0049] 33C illustrate an arrangement of 64 QAM encoding points in the QAM mapper 907 of FIG. 29.
  • The [0050] QAM mapper 907 has the arrangement of 64 QAM encoding points as illustrated in FIG. 33A. The Q data is derived from values along the vertical axis, and the I data 1 a derived from values along the horizontal axis. As illustrated in FIG. 33B, each encoding point is represented as (I bit, Q bit)=(C(1) C(2) C(3), C(4) C(5) C(6)). C(1) C(2) C(4) and C(5) are non-encoded bits, and C(3) and C(6) are encoded bits (see FIG. 29). As illustrated in FIG. 33C, there are four combinations (indicated respectively by the symbols “”, “▪”, “
    Figure US20040158798A1-20040812-P00001
    ”, “
    Figure US20040158798A1-20040812-P00002
    ”) of the encoded bits C(3) and C(6), each of which can be either “1” or “0”. The bit being “0” corresponds to signal levels “−7, −3, +1, +5”, and the bit being “1” corresponds to signal levels “−5, −1, +3, +7”. The I data and the 0 data corresponding to the encoding point (C(1) C(2) C(3), C(4) C(5) C(6)) are obtained and output with reference to the arrangement of 64 QAM encoding points of FIG. 33A.
  • Next, the error correction decoding operation will be further described. [0051]
  • A decoding operation for decoding convolutional-encoded and punctured data is described, for example, in Japanese Laid-open Publication No. 8-288967 which discloses a transmission system and a transceiver therefor, and a trellis decoder (hereinafter, “[0052] Reference 5”). Reference 5 describes a method for decoding non-encoded bits by decoding encoded bits with a Viterbi decoder and by using date obtained by convolutional-encoding (re-encoding) the Viterbi-decoded data.
  • FIG. 34 illustrates in greater detail the [0053] trellis decoder 805 and a deparser 1412 provided in the, stage following the trellis decoder 805 (the deparser 1412 is not illustrated in FIG. 28B).
  • Referring to FIG. 34, there are provided [0054] terminals 1400, 1401 and 1413. A non-decoded bit decoding section 1402 comprises an area determination section 1403, a delay circuit 1404, a convolutional encoder 1405 for encoding data at a code rate of 1/2, a puncturer 1406 for encoding data at a code rate of 4/5, and a selection section 1407. A encoded bit decoding section 1408 comprises a depuncturer 1409, a Viterbi decoder 1410, and a differential postcoder 1411.
  • The [0055] trellis decoder 805 comprises the non-decoded bit decoding section 1402 and the encoded bit decoding section 1408.
  • The encoded [0056] bit decoding section 1408 receives the QAM-demodulated I data and Q data through the terminals 1400 and 1401, respectively. The depuncturer 1409 depunctures the I data and the Q data, and outputs the depunctured I data (Idp) and Q data (Qdp). The Viterbi decoder 1410 performs a Viterbi decoding operation on the depunctured I data (Idp) and Q data (Qdp). The differential postcoder 1411 performs a differential decoding operation on the Viterbi-decoded I data (Iv) and Q data (Qv), and outputs the differential-decoded data.
  • The non-decoded bit decoding section [0057] 1402 receives the QAM-demodulated I data and Q data at the area determination section 1403. The area determination section 1403 selects one of the areas which are numbered from 1 to 49 as in FIG. 33A, and outputs area information “A” which indicates the determined area.
  • Referring to FIG. 33A, there are provided 49 areas of 64 QAM encoding point such that each area has the four different encoding points (“”, “▪”, “[0058]
    Figure US20040158798A1-20040812-P00001
    ”, “
    Figure US20040158798A1-20040812-P00002
    ”) at the four corners thereof, respectively. An outermost area, such as area 1 or area 2, preferably includes the peripheral area around it.
  • The [0059] delay circuit 1404 delays the area information “A”. The 1/2 convolutional encoder 1405 performs a convolution operation at a code rate of 1/2 on the Viterbi-decoded I data (Iv) and Q data (Qv). The 4/5 puncturer 1406 performs a puncturing operation at a code rate of 4/5 on the convolutional-encoded I data (I0) and Q data (Q0), and decodes the encoded bits C(3) and C(6), so as to output the decoded data to the selection section 1407.
  • Utilizing the fact that the four encoding points (“”, “▪”, “[0060]
    Figure US20040158798A1-20040812-P00001
    ”, “
    Figure US20040158798A1-20040812-P00002
    ”) belonging to the same area have respectively different combinations of the encoded bits C(3) and C(6), the selection section 1407 decodes the non-encoded bits based on the area information “Ad”, and the encoded bits C(3) and C(6) which have been decoded.
  • The encoded and non-encoded bits which have been decoded as described above are input to the [0061] deparser 1412. The deparser 1412 puts together the I bits and the Q bits, respectively, so as to output them through the terminal 1413 as I symbols and Q symbols.
  • In the above-described prior art, the non-decoded bits are decoded by using, in combination: the area information; and the data obtained by convolutional-encoding (re-encoding) and puncturing the Viterbi-decoded data by the [0062] convolutional encoder 1405 and the puncturer 1406. Accordingly, error propagation may occur during the convolutional-encoding (re-encoding) operation, particularly when C/N is poor, thereby increasing the error rate. Moreover, the decoding operation is complicated.
  • Two conventional devices for encoding and decoding data based on TCM have been described above. They both perform a trellis decoding operation on encoded data, in which it is required to perform a convolutional-encoding (re-encoding) operation on the encoded data. The former device performs a convolution operation on the encoded data by the [0063] trellis decoder 5103 illustrated in FIG. 26, whereas the latter device performs a convolution operation on the encoded data by the convolutional encoder 1405 illustrated in FIG. 34.
  • When a convolutional-encoding (re-encoding) operation is performed on the decoding side, as above-described, the error rate may rapidly increase if error propagation occurs. Moreover, the prior art devices require the [0064] delay circuit 5301 illustrated in FIG. 26 or the delay circuit 1404 illustrated in FIG. 34, and the data is delayed before used, thereby complicating the data processing operation and the circuit configuration.
  • SUMMARY OF THE INVENTION
  • According to one aspect of this invention, an error correction circuit is provided for receiving and decoding a trellis-encoded signal of a series of data Z[0065] q, Zq−1, . . . ,Z1 which comprises convolutional-encoded bits and unencoded bits, the convolutional-encoded bits being obtained by convolutional-encoding lower t bits Xt, Xt−1, . . . ,X1 of an input p-bit series of data Xp, Xp−1, . . . ,X1 (where p≧2, q≧p, and p>t≧1), and the unencoded bits being obtained by not convolutional-encoding upper (p-t) bits thereof. The circuit comprises: a maximum likelihood decoder for preselecting one of m parallel paths of transition from state x at time k to state y at time k+1.
  • In one embodiment of the invention, the maximum likelihood decoder comprises: a selection section for selecting one of them parallel paths transition from state x at time k to state y at [0066] time k+1; and a calculation section for obtaining a path metric using a branch metric.
  • In one embodiment of the invention, the error correction circuit receives and decodes data which is produced by mapping the series of data Z[0067] q, Zq−1, . . . ,Z1 onto j points. The series of data Zq, Zq−1, . . . ,Z1 is obtained by performing a trellis encoding operation on a first series of data Yr, Yr−1, . . . ,Yt−1 (r>t≧1) and a second series of data Yt, Yt−1, . . . ,Y1, the first series of data being obtained by preceding upper bits of the input series of data Xp, Xp−1, . . . ,X1 (p≧2), and the second series of data comprising lower bits of the input series of data Xp, Xp−1, . . . , X1. The maximum likelihood decoder is operable to perform n different maximum likelihood decoding methods for maximum-likelihood-decoding the received data based on a plurality of states. The maximum likelihood decoder selects one of the n maximum likelihood decoding methods so as to maximum-likelihood-decode the received data based on the selected maximum likelihood decoding method.
  • In one embodiment of the invention, the error correction circuit further comprises a postcoder for postcoding or not postcoding the decoded data from the maximum likelihood decoder. Whether the decoded data is postcoded or not depends upon the n maximum likelihood decoding methods. [0068]
  • In one embodiment of the invention, the maximum likelihood decoder further comprises: a branch metric production section for producing first path information indicating the selected path and a branch metric according to the n maximum likelihood decoding methods; a calculation section for obtaining a path metric based on the branch metric obtained by the branch metric production section and for obtaining second path information based on the path metric; a path metric memory for storing the path metric obtained by the calculation section; a path memory for storing the first path information obtained by the selection section and the second path information obtained by the calculation section; and a trace back section for obtaining decoded data based on the path metric obtained by the calculation section and the first and second path information stored in the path memory. [0069]
  • In one embodiment of the invention, the maximum likelihood decoder further comprises: a branch metric production section for producing first path information indicating the selected-path and a branch metric based on the n maximum likelihood decoding methods; a calculation section for obtaining a path metric based on the branch metric obtained by the branch metric production section and for obtaining second path information based on the path metric; a path metric memory for storing the path metric obtained by the calculation section; a path memory for storing the first path information obtained by the selection section and the second path information obtained by the calculation section; and a register exchange section for obtaining the decoded data based on the path information and the path metric obtained by the calculation section and the candidate for the decoded data comprising the first path information and the second path information stored in the path memory. [0070]
  • In one embodiment of the invention, the postcoder comprises a memory for storing upper bits of the decoded data from the maximum likelihood decoder. [0071]
  • In one embodiment of the invention, the maximum likelihood decoder comprises a branch metric production section. The branch metric production section references contents of a diagram so as to derive first path information indicating the selected path and a branch metric from the received data, wherein the contents of the diagram are obtained by associating the first series of data Y[0072] r, Yr−1, . . . ,Yt+1, the second series of data Yt, Yt−1, . . . ,Y1, and the received data, which is produced by mapping the series of data Zq, Zq−1, . . . ,Z1 onto j points, with one another.
  • In one embodiment of the invention, the maximum likelihood decoder comprises a branch metric production section. The branch metric production section references contents of a diagram so as to derive first path information indicating the selected path and a branch metric from data which is obtained by passing the received data through a linear filter, wherein the contents of the diagram are obtained by associating the series of data X[0073] p, Xp−1, . . . ,X1 and data obtained by passing, through the linear filter, data which is produced by mapping the series of data Zq, Zq−1, . . . ,Z1 onto j points, with each other.
  • In one embodiment of the invention, the linear filter comprises a comb filter. [0074]
  • In one embodiment of the invention, the maximum likelihood decoder comprises a branch metric production section. The branch metric production section references contents of a diagram so as to derive a candidate for the decoded data and a branch metric from the received data, wherein the contents of the diagram are obtained by associating the first series of data Y[0075] r, Yr−1, . . . ,Yr+1, the second series of data Yt, Yt−1, . . . ,Y1, and the received data, which is produced by mapping the series of data Zq, Zq−1, . . . ,Z1 onto j points, with one another.
  • In one embodiment of the invention, the maximum likelihood decoder comprises a branch metric production section. The branch metric production section references contents of a diagram so as to derive a candidate for the decoded data and a branch metric from data obtained by passing the received data through a linear filter, wherein the contents of the diagram are obtained by associating the series of data X[0076] p, Xp−1, . . . ,X1 and data obtained by passing, through the linear filter, data which is produced by mapping the series of data Zq, Zq−1, . . . ,Z1 onto j points, with each other.
  • In one embodiment of the invention, the linear filter comprises a comb filter. [0077]
  • In one embodiment of the invention, the maximum likelihood decoder performs a decoding operation using a Viterbi algorithm. [0078]
  • In one embodiment of the invention, the error correction circuit receives and decodes data which is produced by mapping the trellis-encoded signal onto a 2-dimensional data series. The error correction circuit further comprises a section for demapping a series of data which is obtained through a maximum likelihood decoding operation on the 2-dimensional data series by the maximum likelihood decoder. [0079]
  • In one embodiment of the invention, the error correction circuit further comprises a section for delaying the demapped series of data. [0080]
  • In one embodiment of the invention, the error correction circuit receives and decodes data which is produced by mapping the trellis-encoded signal onto a 2-dimensional data series. The c-bit trellis-encoded signal is a series of data Z[0081] q, Zq−1, . . . ,Z1 which comprises convolutional-encoded bits and unencoded bits, the convolutional-encoded bits being obtained by performing a differential encoding operation on lower t bits Xt, Xt−1, . . . ,X1 of the input p-bit series of data Xp, Xp−1, . . . , X1 (where p≧2, q≧p, and p>t≧1) and convolutional-encoding the differential-encoded bits, and the unencoded bits being obtained by not convolutional-encoding upper (p-t) bits thereof. The error correction circuit further comprises: a section for performing a differential decoding operation on a first series of data which is produced through a maximum likelihood decoding operation on the 2-dimensional data series by the maximum likelihood decoder; and a section for demapping a second series of data which is produced through a maximum likelihood decoding operation on the 2-dimensional data series by the maximum likelihood decoder.
  • In one embodiment of the invention, the error correction circuit further comprises a section for delaying the demapped series of data. [0082]
  • In one embodiment of the invention, the error correction circuit receives and decodes data which is produced by mapping the trellis-encoded signal onto a 2-dimensional data series. The c-bit trellis-encoded signal is a series of data Z[0083] q, Zq−1, . . . ,Z1 which comprises punctured bits and unencoded bits, the punctured bits being obtained by convolutional-encoding lower t bits Xt, Xt−1, . . . ,X1 of the input p-bit series of data Xp, Xp−1, . . . , X1 (where p≧2, q≧p, and p>t≧1) and puncturing the convolutional-encoded bits, and the unencoded bits being obtained by not convolutional-encoding upper (p-t) bits thereof. The error correction circuit further comprises: a section for depuncturing the 2-dimensional data series; a section for puncturing a second series of data which is produced through a maximum likelihood decoding operation on the depunctured series of data by the maximum likelihood decoder; and a section for demapping the punctured series of data.
  • In one embodiment of the invention, the error correction circuit further comprises a section for delaying the demapped series of data. [0084]
  • In one embodiment of the invention, The error correction circuit receives and decodes data which is produced by mapping the trellis-encoded signal onto a 2-dimensional data series. The c-bit trellis-encoded signal is a series of data Z[0085] q, Zq−1, . . . ,Z1 which comprises punctured bits and unencoded bits, the punctured bits being obtained by performing a differential encoding operation on lower t bits Xt, Xt−1, . . . ,X1 of the input p-bit series of data Xp, Xp−1, . . . , X1 (where p≧2, q≧p, and p>t≧1), convolutional-encoding the differential-encoded bits, and puncturing the convolutional-encoded bits, and the unencoded bits being obtained by not convolutional-encoding upper (p-t) bits thereof. The error correction circuit further comprises: a section for depuncturing the 2-dimensional data series; a section for performing a differential decoding operation on a first series of data which is produced through a maximum likelihood decoding operation on the depunctured series of data by the maximum likelihood decoder: a section for puncturing a second series of data which is produced through a maximum likelihood decoding operation on the depunctured series of data by the maximum likelihood decoder; and a section for demapping the punctured series of data.
  • In one embodiment of the invention, the error correction circuit further comprises a section for delaying the demapped series of data. [0086]
  • In one embodiment of the invention, the maximum likelihood decoder comprises: a section for producing a branch metric; a section for addition, comparison and selection of branch metrics and path metrics; a path metric memory for storing a plurality of path metrics; a plurality of path memories; and a trace back processing section for outputting a first series of data which is obtained by decoding a series of encoded data, and a second series of data which is obtained by decoding a series of data which contains information of a series of unencoded data. [0087]
  • In one embodiment of the invention, the maximum likelihood decoder comprises: a section for producing a branch metric; a section for addition, comparison and selection of branch metrics and path metrics; a path metric memory for storing a plurality of path metrics; a plurality of path memories; and a register exchange section for outputting a first series of data which is obtained by decoding a series of encoded data, and a second series of data which is obtained by decoding a series of data which contains information of a series of unencoded data. [0088]
  • According to another aspect of this invention, an error correction circuit comprises a maximum likelihood decoder for performing a maximum likelihood decoding operation on a series of data. The maximum likelihood decoder comprises: a section for producing a branch metric; a section for addition, comparison and selection of branch metrics and path metrics; a path metric memory for storing a plurality of path metrics, a plurality of path memories, and a trace back processing section for outputting a first series of data which is obtained by decoding a series of encoded data, and a second series of data which is obtained by decoding a series of data which contains information of a series of unencoded data. [0089]
  • According to another aspect of this invention, an error correction circuit comprises a maximum likelihood decoder for performing a maximum likelihood decoding operation on a series of data. The maximum likelihood decoder comprises: a section for producing a branch metric; a section for addition, comparison and selection of branch metrics and path metrics; a path metric memory for storing a plurality of path metrics; a plurality of path memories; and a register exchange section for outputting a first series of data which is obtained by decoding a series of encoded data, and a second series of data which is obtained by decoding a series of data which contains information of a series of unencoded data. [0090]
  • According to another aspect of this invention, an error correction method is provided for receiving and decoding a trellis-encoded signal of a series of data Z[0091] q, Zq−1, . . . ,Z1 which comprises convolutional-encoded bits and unencoded bits, the convolutional-encoded bits being obtained by convolutional-encoding lower t bits Xt, Xt−1, . . . ,X1 of an input p-bit series of data Xp, Xp−1, . . . ,X1 (where p≧2, q≧p, and p>t≧1), and the unencoded bits being obtained by not convolutional-encoding upper (p-t) bits thereof. The method comprises: a maximum likelihood decoding step of preselecting one of m parallel paths of transition from state x at time k to state y at time k+1.
  • In one embodiment of the invention, the maximum likelihood decoding step comprises: a selection step of selecting one of the m parallel paths transition from state x at time k to state y at [0092] time k+1; and a calculation step of obtaining a path metric using a branch metric.
  • In one embodiment of the invention, the error correction method is for receiving and decoding data which is produced by mapping the series of data Z[0093] q, Zq−1, . . . ,Z1 onto j points. The series of data Zq, Zq−1, . . . ,Z1 is obtained by performing a trellis encoding operation on a first series of data Yr, Yr−1, . . . ,Yt+1 (r>t≧1) and a second series of data Yt, Yt−1, . . . ,Y1, the first series of data being obtained by preceding upper bits of the input series of data Xp, Xp−1, . . . ,X1 (p≧2), and the second series of data comprising lower bits of the input series of data Xp, Xp−1, . . . ,X1. The maximum likelihood decoding step is operable to perform n different maximum likelihood decoding methods for maximum-likelihood-decoding the received data based on a plurality of states, wherein the maximum likelihood decoder selects one of the n maximum likelihood decoding methods so as to maximum-likelihood-deoode the received data based on the selected maximum likelihood decoding method.
  • In one embodiment of the invention, the error correction method further comprises a postcoding step of postcoding or not postcoding the decoded data from the maximum likelihood decoding step. Whether the decoded data is postcoded or not depends upon the n maximum likelihood decoding methods. [0094]
  • In one embodiment of the invention, the maximum likelihood decoding step comprises: a branch metric production step of producing first path information indicating the selected path and a branch metric according to the n maximum likelihood decoding methods; a calculation step of obtaining a path metric based on the branch metric obtained in the branch metric production step and obtaining second path information based on the path metric; a path metric memory step of storing the path metric obtained in the calculation step; a path memory step of storing the first path information obtained in the selection step and the second path information obtained in the calculation step; and a trace back step of obtaining decoded data based on the path metric obtained in the calculation step and the first and second path information stored in the path memory step. [0095]
  • In one embodiment of the invention, the maximum likelihood decoding step comprises: a branch metric production step of producing first path information indicating the selected path and a branch metric based on the n maximum likelihood decoding methods; a calculation step of obtaining a path metric based on the branch metric obtained in the branch metric production step and obtaining second path information based on the path metric; a path metric memory step of storing the path metric obtained in the calculation step; a path memory step of storing the first path information obtained in the selection step and the second path information obtained in the calculation step; and a register exchange step of obtaining the decoded data based on the path information and the path metric obtained in the calculation step and the candidate for the decoded data comprising the first path information and the second path information stored in the path memory step. [0096]
  • In one embodiment of the invention, the postcoder comprises a step of storing upper bits of the decoded data from the maximum likelihood decoding step. [0097]
  • In one embodiment of the invention, the maximum likelihood decoding step comprises a branch metric production step. The branch metric production step comprises referencing contents of a diagram so as to derive first path information indicating the selected path and a branch metric from the received data, wherein the contents of the diagram are obtained by associating the first series of data Y[0098] r, Yr−1, . . . ,Yt+1, the second series of data Yt, Yt−1, . . . ,Y1, and the received data, which is produced by mapping the series of data Zq, Zq−1, . . . ,Z1 onto j points, with one another.
  • In one embodiment of the invention, the maximum likelihood decoding step comprises a branch metric production step. The branch metric production step comprises referencing contents of a diagram so as to derive first path information indicating the selected path and a branch metric from data which is obtained by passing the received data through a linear filter, wherein the contents of the diagram are obtained by associating the series of data X[0099] p, Xp−1, . . . ,X1 and data obtained by passing, through the linear filter, data which is produced by mapping the series of data Zq, Zq−1, . . . ,Z1 onto j points, with each other.
  • In one embodiment of the invention, the linear filter comprises a comb filter. [0100]
  • In one embodiment of the invention, the maximum likelihood decoding step comprises a branch metric production step. The branch metric production step comprises referencing contents of a diagram so as to derive a candidate for the decoded data and a branch metric from the received data, wherein the contents of the diagram are obtained by associating the first series of data Y[0101] r, Yr−1, . . . , Yt+1, the second series of data Yt, Yt−1, . . . , Y1, and the received data, which is produced by mapping the series of data Zq, Zq−1, . . . , Z1 onto j points, with one another.
  • In one embodiment of the invention, the maximum likelihood decoding step comprises a branch metric production step. The branch metric production step comprises referencing contents of a diagram so as to derive a candidate for the decoded data and a branch metric from data obtained by passing the received data through a linear filter, wherein the contents of the diagram are obtained by associating the series of data X[0102] p, Xp−1, . . . , X1 and data obtained by passing, through the linear filter, data which is produced by mapping the series of data Zq, Zq−1, . . . ,Z1 onto j points, with each other.
  • In one embodiment of the invention, the linear filter comprises a comb filter. [0103]
  • In one embodiment of the invention, the maximum likelihood decoding step comprises performing a decoding operation using a Viterbi algorithm. [0104]
  • Thus, the invention described herein makes possible the advantage of providing an error correction circuit for decoding encoded data without requiring a convolutional-encoding (re-encoding) operation on the encoded data. [0105]
  • This and other advantages of the present invention will become apparent to those skilled in the art upon reading and understanding the following detailed description with reference to the accompanying figures.[0106]
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • FIG. 1 is a block diagram illustrating an error correction circuit according to [0107] Embodiment 1 of the present invention;
  • FIG. 2 is a block diagram illustrating a receiver based on an 8VSB modulation system incorporating the error correction circuit of FIG. 1: [0108]
  • FIG. 3 is a block diagram illustrating a 4-state/8-state trellis decoder provided in the error correction circuit of FIG. 1; [0109]
  • FIG. 4 is a flow chart illustrating a decoding process by the 4-state/8-state trellis decoder of FIG. 3; [0110]
  • FIG. 5 is a block diagram illustrating a switch and postcoder provided in the error correction circuit of FIG. 1; [0111]
  • FIG. 6 is a block diagram illustrating a circuit configuration for producing the contents of a state transition diagram for the error correction circuit of FIG. 1; [0112]
  • FIG. 7 illustrates a 4-state transition diagram for the error correction circuit of FIG. 1; [0113]
  • FIG. 8A is a table illustrating the relationship between data W[0114] 3W2W1W0 (15 levels) after being passed through a comb filter and data X2;
  • FIG. 8B is a table illustrating the relationship between 15 levels after being passed through a comb filter and data X[0115] 1;
  • FIG. 9A is an a state transition diagram; [0116]
  • FIG. 9B is a table illustrating [0117] 15 levels after being passed through a comb filter;
  • FIG. 9C is a table Illustrating level L/data X[0118] 2X1 for respective branches;
  • FIG. 9D is a state transition diagram used commonly for 8-state transition and for 4-state transition; [0119]
  • FIG. 9K is a table illustrating level L/data X[0120] 2X1 for respective branches;
  • FIG. 10 is a trellis diagram illustrating 8-state transitions; [0121]
  • FIG. 11A illustrates a method for calculating a branch metric for a state transition from [0122] time 0 to time 1 in FIG. 10;
  • FIG. 11B illustrates a method for calculating a path metric for the same state transition; [0123]
  • FIG. 12A illustrates a method for calculating a branch metric for a state transition from [0124] time 1 to time 2 in FIG. 10;
  • FIG. 12B illustrates a method for calculating a path metric for the same state transition; [0125]
  • FIG. 13A illustrates a method for calculating a branch metric for a state transition from [0126] time 2 to time 3 in FIG. 10;
  • FIG. 13B illustrates a method for calculating a path metric for the same state transition; [0127]
  • FIG. 14A illustrates a method for calculating a branch metric for a state transition from [0128] time 3 to time 4 in FIG. 10;
  • FIG. 14B illustrates a method for calculating a path metric for the same state transition; [0129]
  • FIGS. [0130] 15A-15C illustrate the relationship between data W3W2W1W0 (15 levels) according to Embodiment 1 and 7 cosets according to a conventional device;
  • FIG. 16 is a block diagram illustrating a trellis decoder and a deparser of an error correction circuit according to [0131] Embodiment 2 of the present invention;
  • FIG. 17 is a block diagram illustrating a Viterbi decoder provided in the encoded bit decoding section of FIG. 16; [0132]
  • FIG. 18A illustrates a state transition diagram according to [0133] Embodiment 2 of the present invention;
  • FIG. 18B is a table illustrating the relationship between out1, out2 and the signal level according to the present invention; [0134]
  • FIG. 19 illustrates a differential postcoder of FIG. 16; [0135]
  • FIG. 20 is a block diagram illustrating a trellis decoder and a deparser according to [0136] Embodiment 2 of the present invention;
  • FIG. 21A illustrates an arrangement of 64 QAM encoding points according to [0137] Embodiment 2 of the present invention;
  • FIG. 21B illustrates an encoding point according to [0138] Embodiment 2 of the present invention;
  • FIG. 21C is a chart illustrating encoded bits C([0139] 3) and C(6) according to Embodiment 2 of the present invention:
  • FIG. 22 is a block diagram illustrating e conventional transmitter based on the 8VSB modulation system; [0140]
  • FIG. 23 is a block diagram illustrating a conventional receiver based on the 8VSB modulation system; [0141]
  • FIG. 24 is a block diagram illustrating a conventional trellis decoder which decodes data by selectively using a 4-state trellis decoder and an 8-state trellis decoder; [0142]
  • FIG. 25 is a block diagram illustrating a conventional 4-state trellis decoder; [0143]
  • FIG. 26 is a block diagram illustrating a conventional 8-state trellis decoder; [0144]
  • FIG. 27 is a block diagram illustrating a transmitter and a receiver of a conventional digital CATV; [0145]
  • FIG. 28A is a block diagram illustrating an error correction encoding section provided in the transmitter of FIG. 27; [0146]
  • FIG. 28B is a block diagram illustrating an error correction decoding section provided in the receiver of FIG. 27; [0147]
  • FIG. 29 is a block diagram illustrating a parser, a trellis encoder, and a QAM mapper provided in the error correction encoding section of FIG. 28A; [0148]
  • FIG. 30 illustrates an operation of the parser of FIG. 29; [0149]
  • FIG. 31 illustrates a differential precoder of FIG. 29; [0150]
  • FIG. 32 is a block diagram illustrating a 1/2 convolutional encoder and 4/5 puncturer of FIG. 29; [0151]
  • FIG. 33A illustrates an arrangement of 64 QAM encoding points in the QAM mapper of FIG. 29; [0152]
  • FIG. 33B illustrates an encoding point in the QAM mapper of FIG. 29; [0153]
  • FIG. 33C is a chart illustrating encoded bits C([0154] 3) and C(6) in the QAM mapper of FIG. 29; and
  • FIG. 34 is a block diagram illustrating a trellis decoder and a deparser.[0155]
  • DESCRIPTION OF THE PREFERRED EMBODIMENTS
  • (Embodiment 1) [0156]
  • FIG. 1 is a block diagram illustrating an error correction circuit according to [0157] Embodiment 1 of the present invention. FIG. 2 is a block diagram illustrating a receiver based on the 8VSB modulation system incorporating the error correction circuit of FIG. 1.
  • Referring to FIG. 2, the receiver comprises a [0158] tuner 5500, an IF filter and synchronous detector 5501, a sync and timing generator 5502, an NTSC interference remover 5503, an equalizer 5504, a phase noise remover 5505, a trellis decoder unit 5507, a trellis segment deinterleaver unit 5508, a deinterleaver 5509, a Reed-Solomon decoder 5510, a derandomizer 5511, and a terminal 5512.
  • The [0159] tuner 5500 tunes to and selectively receives an RF signal from a transmitter, and outputs the received signal. The IF filter and synchronous detector 5501 passes the received signal through an IF filter to convert it to a signal having a predetermined frequency, and synchronously detects the received signal to convert it to a baseband signal. The sync and timing generator 5502 detects a synchronization signal for the baseband signal so as to time the baseband signal. When the baseband signal contains an NTSC co-channel interference component, the baseband signal is input to the equalizer 5504 after the NTSC co-channel interference component is detected by the NTSC interference remover 5503 and removed by a comb filter in the NTSC interference remover 5503. When no NTSC co-channel interference component is contained, the baseband signal is directly input to the equalizer 5504. The waveform of the baseband signal is equalized by the equalizer 5504, and any phase noise contained therein is removed by the phase noise remover 5505, after which the baseband signal is input to the trellis decoder unit 5507 as encoded data. The trellis decoder unit 5507 performs a trellis decoding operation on the encoded data and outputs the trellis-decoded data. The trellis-decoded data is subjected to an in-segment deinterleave operation by the trellis segment deinterleaver unit 5508, a convolution byte deinterleave operation by the deinterleaver 5509, a Reed-Solomon decoding operation by the Reed-Solomon decoder 5510 and a derandomizing operation by the derandomizer 5511, and then output through the terminal 5512.
  • The error correction circuit illustrated in FIG. 1 corresponds to the [0160] trellis decoder unit 5507 in FIG. 2.
  • Referring to FIG. 1, the error correction circuit comprises [0161] terminals 100 and 103, a 4-state/8-state trellis decoder 101, and a switch and postcoder 102. The term “4-state/8-state trellis decoder” as used herein refers to a trellis decoder which is used commonly for 4-state transition and for 8-state transition.
  • The encoded data from the phase noise remover [0162] 5505 of FIG. 2 is input through the terminal 100. The 4-state/8-state trellis decoder 101 decodes the encoded data and outputs the decoded data. The switch and postcoder 102 performs a postcoding operation on the decoded data, when no NTSC co-channel interference component is contained (for 4-state transition). The switch and postcoder 102 does not perform a postcoding operation on the decoded data, and the decoded data is directly output to the terminal 103, when an NTSC co-channel interference component is contained (for 8-state transition).
  • The circuit according to [0163] Embodiment 1 of the present invention requires only one 4-state/8-state trellis decoder 101 and only one switch and postcoder 102, thereby significantly reducing the circuit scale from that of the conventional device illustrated in FIG. 24 which comprises a plurality of trellis decoders and a plurality of postcoders.
  • FIG. 3 illustrates the 4-state/8-[0164] state trellis decoder 101. Referring to FIG. 3, the 4-state/8-state trellis decoder 101 comprises terminals 200 and 206, a branch metric production circuit 201, an ACS circuit 202, path metric memories 203 a-203 l, a trace back processing circuit 204, and path memories 205 a-205 l.
  • The branch [0165] metric production circuit 201 comprises a selection circuit 207 and a branch metric calculation circuit 208.
  • The encoded data from the phase noise remover [0166] 5505 of FIG. 2 is input to the terminal 200. The 4-state/8-state trellis decoder 101 decodes the encoded data using a Viterbi algorithm. The decoding process will be described below with reference to the flow chart of FIG. 4.
  • There are two (for 4-state transition) or three (for 8-state transition) possible parallel paths from state S[0167] i at time t (t is an integer) to state Sk at time t+1. There are two possible state transitions to state Sk at time t+1 (i.e., one from state Si at time t and another from state Si at time t). The selection circuit 207 compares the encoded data with possible data points taken by each of the branches (i.e., one from state Si to state Sk and another from state Sj to state Sk), and selects one of the possible data points taken by the branches which is closest to the encoded data (step S1), so as to produce a candidate for data Y2 (first path information for 4-state transition) or a candidate for data X2 (first path information for 8-state transition). The candidates for data Y2 and data X2 are stored in a path memory (one of the path memories 205 a-205 l) (step S2). For a register exchange system, a candidate for data Y2Y1 (a candidate for decoded data for 4-state transition) or a candidate for data X2X1 (a candidate for decoded data for 8-state transition) is produced and stored in the path memory.
  • The branch [0168] metric calculation circuit 208 calculates a branch metric for the parallel path closest to the encoded data (step S3). A square of Euclidean distance is used for the branch metric. The branch metric production circuit 201 produces a branch metric for each branch for each encoded data and a candidate for data Y2 (first path information for 4-state transition) or a candidate for data X2 (first path information for 8-state transition), and outputs them to the ACS circuit 202. For a register exchange system, a candidate for data Y2Y1 (a candidate for decoded data for 4-state transition) or a candidate for data X2X1 (a candidate for decoded data for 8-state transition) is produced and output to the ACS circuit 202.
  • The [0169] ACS circuit 202 adds the branch metric for each branch to the path metric for each state stored in the path metric memory (one of the path metric memories 203 a-203 l) (step S4), so as to compare the obtained sums with each other and select the smallest sum to be a new path metric for the state. The new path metrics for the respective states are stored in the above-described path metric memory (one of path metric memories 203 a-203 l) (step S5). Data corresponding to the selected path for each state (path selection information (second path information)) is stored in the path memory (one of the path memories 205 a-205 l) having a number corresponding to that of the path metric memory. The trace back processing circuit 204 traces back a predetermined cut-off path length along a surviving path which contains a state whose new path metric is smallest so as to determine data Y2Y1 (for 4-state transition) or data X2X1 (for 8-state transition), and the determined data is output to the terminal 206 (step S6).
  • The path metric memories [0170] 203 a-203 l and the path memories 205 a-205 l, along with 1-symbol delay circuits 306 a-306 l of a postcoder 302 (described later), are successively selected in the same order according to a trellis encoding rule of the trellis encoder unit 5006 of FIG. 22.
  • However, during the segment sync period (in which the data is not trellis-encoded), no encoded data is input to the 4-state/8-[0171] state trellis decoder 101, while memory selections are switched to the next one of the path metric memories 203 a-203 l and to the next one of the path memories 205 a-205 l, respectively.
  • As described above, the 4-state/8-[0172] state trellis decoder 101 is provided with the path metric memories 203 a-203 l and the path memories 205 a-205 l so that each path metric memory stores the path metric for each state and that each path memory stores data for each state (i.e., the first path information and the second path information (for the trace back system), or a candidate for decoded data (for the register exchange system)). Thus, it is possible to repeatedly and successively perform the 4-state and 8-state decoding operations. The use of the 4-state/8-state trellis decoder 101 makes it possible to implement the error correction circuit of FIG. 1.
  • FIG. 5 illustrates in greater detail the switch and [0173] postcoder 102. Referring to FIG. 5, the switch and postcoder 102 comprises terminals 300 and 304, switches 301 and 303, further terminals 301 a, 301 b, 303 a and 303 b, the postcoder 302, the adder 305 (modulo 2), and the 1-symbol delay circuits 306 a-306 l.
  • The decoded data from the 4-state/8-[0174] state trellis decoder 101 is input to the terminal 300. The switch 300 is turned to the terminal 301 a when an NTSC co-channel interference component is contained (for 8-state transition), and to the terminal 301 b when no NTSC co-channel interference component is contained (for 4-state transition). When the terminal 301 b is selected, the postcoder 302 passes data Y, through a feed forward loop to convert it to data X2, and outputs the decoded data X2X1.
  • The [0175] switch 303 is turned to the terminal 303 a when an NTSC co-channel interference component is contained, and to the terminal 303 b when no NTSC co-channel interference component is contained, so that data X2X1 is output to the terminal 304.
  • The 1-symbol delay circuits [0176] 306 a-306 l, along with the path metric memories 203 a-203 l and the path memories 205 a-205 l, are successively selected in the same order according to a trellis encoding rule of the trellis encoder unit 5006 of FIG. 22.
  • However, during the segment sync period (in which the data is not trellis-encoded), no decoded data is input to the switch and [0177] postcoder 102, while delay circuit selection is switched to the next one of the 1-symbol delay circuits 306 a-306 l.
  • As described above, the switch and [0178] postcoder 102 is provided with the 1-symbol delay circuits 306 a-306 l, and data Y2 for 4-state transition is stored in each of the path metric memories 203 a-203 l and the path memories 205 a-205 l. Thus, it is possible to repeatedly and successively perform the 4-state and 8-state decoding operations. The use of the switch and postcoder 102 makes it possible to implement the error correction circuit of FIG. 1.
  • Next, the contents of the state transition diagram used in the 4-state/8-[0179] state trellis decoder 101 for decoding the encoded data will be described in detail.
  • FIG. 6 is a block diagram illustrating a circuit configuration for producing the contents of the state transition-diagram. Referring to FIG. 6, the circuit comprises, [0180] terminals 400, 401, 405, 406, 407 and 408, a precoder 402, adders (modulo 2) 402 a, 403 b, 404 b, 404 d and 404 f, 1- symbol delay circuits 402 b, 403 a, 403 a, 404 a, 404 a and 404 e, a trellis encoder 403, and a comb filter 404.
  • In the circuit illustrated in FIG. 6, the delay circuits provided in the [0181] precoder 402, the trellis encoder 403, and the comb filter 404 are all 1-symbol delay circuits for delaying information by 1 bit. The upper bit X2 of the 2-bit input data X2X1 is Input to the terminal 400, with the lower bit X1 (X1=Y1) thereof being input to the terminal 401. The precoder 402 precodes data X2 to obtain data Y2 (Y2=Z2). The trellis encoder 403 performs a trellis encoding operation on data Y2Y1 to obtain data Z2Z1Z0. For the case where there is NTSC co-channel interference, it can be considered that a comb filter used on the receiving side is provided on the transmitting side. Then, data Z2Z1Z0 is passed through the comb filter 404 to obtain data W3W2W1W0 (15 levels). The D1 and D3 are the same delayed information, and D4 and D5 are also the same delayed information (i.e., D1=D3, D4=D5).
  • FIG. 7 is a 4-state transition diagram. Referring to FIG. 7, S[0182] 0, S1, S2 and S3 each denote a state, D1 and D2 denote delayed information of the delay circuits 403 a and 403 c of FIG. 6, respectively, and R/Y2Y1 denotes symbol/data.
  • For 4-state transition, there are two paths (−7/00 and +1/10) for the transition from state S[0183] 0 to state S0, as illustrated in the figure. One of the two paths is selected based on the received signal level.
  • For 4-state transition, data Y[0184] 2Y1 is decoded using the state transition diagram of FIG. 7.
  • FIG. 8A is a table illustrating the relationship between data W[0185] 3W2W1W0 (15 levels) after being passed through the comb filter and data X2. FIG. 8B is a table illustrating the relationship between the 15 levels after being passed through the comb filter and data X1.
  • Referring to FIG. 8A, it can be seen that Y[0186] 2 cannot be uniquely determined from W3W2Z3 (see FIG. 6), but X2 can be uniquely determined therefrom. Z3 is determined simultaneously with W1 and W0 which are determined by the trellis encoder 403 and the comb filter 404. Thus, referring to FIG. 6, input data X2X1 can be determined from W3W2W1W0 by the trellis decoder 101 (FIG. 1).
  • FIG. 9A is an 8-state transition diagram. FIG. 9B is a table illustrating the 15 levels after being passed through the comb filter. FIG. 9C is a table illustrating level L/Data X[0187] 2X1 for each branch. In FIGS. 9A-9C, S0, S1, S2, S3, S4, S5, S6 and S7 each denote a state, D1, D2 and D3 denote delayed information of the delay circuits 404 c, 403 a and 403 c of FIG. 6, respectively, and L/X2X1 denotes level/data.
  • Without D[0188] 0 (considering only D1 and D2), the state transition of FIG. 9A becomes equivalent to the 4-state transition of FIG. 7 but with the number of parallel paths being increased from two to three. This is shown in FIGS. 9D and 9E. As can be seen from FIGS. 9D and 9E, there are three paths ((−12, −8/10), (−4, 0/00), (4, 8/10)) from state S0 to state S0, for example. One of the three paths is selected based on the received signal level. Thus, it is possible to use a trellis decoder commonly for 4-state transition and for 8-state transition.
  • Next, an exemplary trellis decoding process by the error correction circuit of [0189] Embodiment 1 based on the a state transition as illustrated in FIGS. 9A-9C will be described with reference to FIGS. 10-15C.
  • FIG. 10 is a trellis diagram illustrating 8-state transitions. In FIG. 10, each state has one surviving path (indicated by a solid line). [0190]
  • FIGS. [0191] 11A-14B illustrate a method for calculating a branch metric and a path metric for a state transition from time t (t is an integer) to time t+1 in FIG. 10.
  • FIGS. [0192] 15A-15C illustrate the relationship between data W3W2W1W0 (15 levels) according to Embodiment 1 and 7 cosets according to the conventional device. As is apparent from FIGS. 15A-15C, it is possible to perform the decoding operation using the 15 levels as in Embodiment 1 which is substantially the same as that of the conventional device using cosets.
  • The relationship between the 15 levels of [0193] Embodiment 1 and the 7 cosets of the conventional device is also illustrated in the tables of FIGS. 11A, 12A, 13A and 14A.
  • The calculation of branch metrics and path metrics for the state transition from time t to time t+1 of FIG. 10 will be described. For example, consider a case where the received signal level after being passed through the comb filter varies from −9.4, to +4.1, −5.7, and then to +7.2. In this example, state transitions after [0194] time 0 is considered, and therefore the path metric Pm(0) at time 0 is 0 for each state. The path metric Pm(t+1) at time t+1 is the sum of the path metric Pm(t) at time t and the branch metric Bm(t+1) at time t+1. Thus, Pm(t+1)=Pm(t)+Bm(t+1).
  • First, the branch metric and the path metric for the state transition from [0195] time 0 to time 1 in FIG. 10 are calculated. The two branches (2×3=6) transiting to state S0 at time 1 are considered. There are two state transitions to state S0 at time 1 (i.e., one from state S0 at time 0 and another from state S1 at time 0).
  • Three signal levels −8, 0 and +8 may be taken by the transition branch from state S[0196] 0 at time 0 to state S0 at time 1. Of the three signal levels, the signal l vel −8 which is closest to the received signal level −9.4 (indicated by “L=” in FIG. 10) is selected. Then, the branch metric for the transition is calculated as follows:
  • B mA(1)=(−9.4−(−8))2=1.96
  • Therefore, the path metric for the path is calculated as follows: [0197]
  • P mS0(0)+B mA(1)=0+1.96=1.96
  • Similarly, three signal levels −12, −4 and +4 may be taken by the transition branch from state S[0198] 1 at time 0 to state S0 at time 1. Of the three signal levels, the signal level −12 which is closest to the received signal level −9.4 is selected. Then, the branch metric for the transition is calculated as follows:
  • B mC(1)=(−9.4−(−12))2=6.76
  • Therefore, the path metric for the path is calculated as follows: [0199]
  • P mS1(0)+BmC(1)0+6.76=6.76
  • P[0200] mS0(0)+BmA(1) and PmS1(O)+BmC(1) are compared with each other. Since PmS0(0)+BmA(1) is the smaller value, the path metric PmS0(1) for state S0 at time 1 is calculated as follows:
  • P mS0(1)=(PmS0(0)+BmA(1))−0.36=B mA(1)−0.36=1.96−0.36=1.6
  • The path metric Pm(t) at time t is normalized so that the minimum value of the path metric is 0. [0201]
  • The branch metrics and the path metrics for the other states at [0202] time 1 are also calculated as described above and as illustrated In FIGS. 11A and 11B. The symbols A-J in BmA(1)-BmJ(1) respectively correspond to the symbols A-J provided to the branches in FIGS. 9A, 9C, 15A and 15C. Thus, BmA(1)-BmJ(1) are the branch metrics for the branches A-J.
  • The branch metrics and the path metrics for the other state transitions from time t to time t+1 are similarly calculated as illustrated in FIGS. [0203] 12A-14B.
  • Referring to FIG. 10, and assuming the cut-off path length to be 4, for example, the path metric at [0204] time 4 is smallest for state S5. Then, the most likely state at time 0 is state S0 as determined by tracing back the predetermined cut-off path length (=4) along the surviving path. Therefore, the most likely path for the transition from time 0 to time 1 is the path from state S0 to state S0. Thus, the maximum-likelihood-decoded data X2X1 is “10” (the branch is associated with data X2X1 as illustrated in FIG. 9C). It is currently believed in the art that the cut-off path length is preferably about 5-6 times of the constraint length (i.e., 4×5 to 4×6=20 to 24 for 8-state transition), while the cut-off path length is set to be 32 for both 4-state transition and 8-state transition in Embodiment 1 allowing for desirable decoding operations. According to Embodiment 1, a candidate for data X2 (first path information) and selection information (second path information) are stored in the path memory and a maximum likelihood decoding operation is performed on data X2X1 for the trace back system, whereas a candidate for data X3X1 (a candidate for decoded data) is stored in the path memory and a maximum likelihood decoding operation is performed on data X2X1 for the register exchange system. While a case of 8-state transition has been described above, a process substantially the same as that for 8-state transition can be used for 4-state transition to perform a maximum likelihood decoding operation on data Y2Y1.
  • On the contrary, when using the conventional 8-state trellis decoder illustrated in FIG. 26, the most likely path for the transition from [0205] time 0 to time 1 is the path from state S0 to state S0 as determined by tracing back the predetermined cut-off path length along the surviving path from state S0 at time 4. Thus, a maximum likelihood decoding operation is performed to obtain data X1=“0” and coset UA=“−8, 0, +8”. The maximum-likelihood-decoded coset UA=“−8, 0, +8” is used by the slicer 5306 for a decoding operation to obtain data X2=“1”. Thus, the prior art requires the delay circuit 5301 and the slicer 5306.
  • As described above, according to the embodiment of the present invention, it is possible to use a trellis decoder commonly for 4-state transition and for 8-state transition, and to directly decode data X[0206] 2X1 by using the 8-state transition diagram.
  • While the trace back [0207] processing circuit 204 is used in Embodiment 1 as the 4-state/8-state trellis decoder 101, a register exchange circuit may alternatively be used in place of the trace back processing circuit 204. Moreover, while a square of Euclidean distance is used in Embodiment 1 for the branch metric, any other suitable value can alternatively be used, e.g., an absolute value of Euclidean distance.
  • As described above, according to [0208] Embodiment 1 of the present invention, the branch metric production circuit 201 first compares the encoded data with possible data points taken by each of the branches (i.e., one from state Si to state Sk and another from state Sj to state Sk) to select one of the data points closest to the encoded data, and a candidate for data X2 (first path information for the trace back system) or a candidate for data X2X1 (a candidate for the decoded data for the register exchange system) is produced so as to calculate the branch metric for the data closest to the encoded data. Alternatively, all the squares of Euclidean distance for the encoded data and possible data points taken by each of the branches (i.e., one from state Si to state Sk and another from state Si to state Sk) maybe first calculated, so as to use the smallest square value as the branch metric for that branch, thereby using the data corresponding to the branch metric as a candidate for data X2 (first path information for the trace back system) or a candidate for data X2X1 (a candidate for the decoded data for the register exchange system). While a plurality of memories are used for each of the path metric memory and the path memory of the 4-state/8-state trellis decoder 101 and for the 1-symbol delay circuit of the postcoder 302, a single memory or a shared memory may alternatively be used, and the memory may be divided into a plurality of memory areas.
  • As described above, the error correction circuit of [0209] Embodiment 1 does not require the slicer 5306 of the conventional device illustrated in FIG. 26 and does not perform the convolution operation, thereby avoiding the possibility of error propagation.
  • When using an 8-state trellis decoder, the conventional device requires 4 bits of information (a candidate for a coset (3 bits) and a candidate for data X[0210] 1 (1 bit)) to be stored for each state in the trace back memory 5305, while the error correction circuit of Embodiment 1 only requires 2 bits of information (a candidate for data X2 (1 bit) and path selection information (information corresponding to a candidate for data X1 (1 bit)) to be stored for each state in the path memory. Therefore, the error correction circuit of Embodiment 1 only requires a memory capacity which is 1/2 (2 bits/4 bits=1/2) of that required for the conventional device. Thus, the memory capacity required for the error correction circuit of Embodiment 1 is reduced by 50% from that required for the conventional device.
  • Moreover, the conventional device requires the [0211] delay circuit 5301 illustrated in FIG. 26. For example, in order to delay 10 bits of information by the delay circuit 5301, (4×8+10) bits need to be stored. On the contrary, Embodiment 1 only requires (2×8) bits to be stored. Therefore, the error correction circuit of Embodiment 1 only requires a memory capacity which is about 0.4 times ((2×8)/(4×8+10)=16/42=0.4) of that required for the conventional device. Thus, the memory capacity required for the error correction circuit of Embodiment 1 is reduced by about 60% from that required for the conventional device.
  • Furthermore, for the entire 8-state trellis decoder, the error correction circuit of [0212] Embodiment 1 only requires a memory capacity which is about 0.6 times ((1+1)/(1+42/16)=0.6) of that required for the conventional device. Thus, the memory capacity required for the error correction circuit of Embodiment 1 is reduced by about 40% from that required for the conventional device.
  • (Embodiment 2) [0213]
  • FIG. 16 is a block diagram illustrating a trellis decoder and a deparser of an error correction circuit according to [0214] Embodiment 2 of the present invention. The trellis decoder and the deparser of Embodiment 2 are provided in place of the trellis decoder and the deparser illustrated in FIG. 34, and in place of the trellis decoder 805 illustrated in FIG. 28B.
  • Referring to FIG. 16, there are provided [0215] terminals 2100, 2101 and 2110, an encoded bit decoding section 2102, a depuncturer 2103, a Viterbi decoder 2104, a differential postcoder 2105, a non-encoded bit decoding section 2106, a 4/5 puncturer 2107, a QAM demapper 2108, and a deparser 2109.
  • The trellis decoder comprises the non-encoded [0216] bit decoding section 2106 and the encoded bit decoding section 2102.
  • The encoded [0217] bit decoding section 2102 receives QAM-demodulated I data and Q data through the terminals 2100 and 2101, respectively. The depuncturer 2103 depunctures the I data and Q data. The Viterbi decoder 2104 performs a Viterbi decoding operation on the depunctured I data Idp and Q data Qdp, and produces Viterbi-decoded I data Iv1 and Q data Qv1, and I data Iv2 and Q data Qv2 to be used for decoding the non-encoded bits. The differential postcoder 2105 performs a differential decoding operation on the encoded bits based on the Viterbi-decoded I data Iv, and Q data Qv1.
  • The [0218] Viterbi decoder 2104 inputs the Viterbi-decoded I data Iv2 (I data denotes a signal level) and Q data Qv2 (Q data denotes a signal level) to the 4/5 puncturer 2107 in the non-encoded bit decoding section 2106. The 4/5 puncturer 2107 performs a puncturing operation at a code rate of 4/5 on the Viterbi-decoded I data Iv2 (I data denotes a signal level) and Q data Qv2 (Q data denotes a signal level). The QAM demapper 2108 demaps the punctured I data Ip (I data denotes a signal level) and Q data Qp (Q data denotes a signal level) so as to produce and output non-encoded bits.
  • The encoded and non-encoded bits which have been decoded as described above are input to the [0219] deparser 2109. The deparser 2109 puts together the I bits and the Q bits, respectively, so as to output them through the terminal 2110 as I symbols and Q symbols.
  • FIG. 17 is a block diagram illustrating the [0220] Viterbi decoder 2104 provided in the encoded bit decoding section 2102 of FIG. 16.
  • Referring to FIG. 17, the [0221] Viterbi decoder 2104 comprises terminals 2200, 2206 and 2207, a selection circuit 2206, a branch metric production section 2201, an ACS (Add Compare Select) section 2202, path metric memories 2203 a and 2203 b, a trace back processing section 2204, and path memories 2205 a and 2205 b.
  • FIG. 18A is a state transition diagram. In the state transition diagram, S[0222] 0-S15 each denote a state, D4, D3, D2 and D1 each denote delayed information of the respective delay circuits 1203-1206 (illustrated in FIG. 32) of the trellis encoder 804 in the error correction encoding section 703 (illustrated in FIG. 28A), and “out1 out2/in” denotes outputs 1,2/input of the 1/2 convolutional encoder 1201 illustrated in FIG. 32. The Viterbi decoder 2104 produces data Iv1, Qv1, Iv2Qv2 using the state transition diagram illustrated in FIG. 18A.
  • An operation of the [0223] Viterbi decoder 2104 for decoding data using the state transition diagram and the Viterbi algorithm of FIGS. 18A and 18B will be described.
  • Referring to FIG. 17, the depunctured I data I[0224] dp or Q data Qdp to input through the terminal 2200. Each transition from one state to another has two branches. The selection circuit 2208 compares the encoded data with possible data points taken by each of the branches, and selects one of the data points which is closest to the encoded data. The branch metric production section 2201 calculates the branch metric for the closest data point, and outputs it to the ACS section 2202.
  • A square of Euclidean distance is used for the branch metric. However, a branch metric corresponding to punctured data of out1 Is not calculated. [0225]
  • There are two possible transitions to the next state (from two different states), and the [0226] ACS section 2202 adds the branch metric for each branch to a path metric for each state stored in the path metric memory 2203 a or 2203 b, and selects the smaller one of the obtained sums to be used as a new path metric for the state. The new path metric for the state is stored in the same one of the path metric memories 2203 a and 2203 b. Data corresponding to the new path metric for each state is stored in one of the path memories 2205 a and 2205 b having a number corresponding to that of the path metric memory.
  • The data stared in the [0227] path memory 2203 a or 2203 b includes the delayed information (“0” or “1”) of D, on the transition origin side of FIG. 18A (“D4”, on the left side in FIG. 18A), and the signal levels respectively corresponding to out1 and out2 (i.e., one of “−7, −3, +1, +5” when out1 or out2 is “0”, or one of “−5, −1, +3, +7” when out1 or out2 is “1”). However, the punctured data of out1 (i.e., the signal level corresponding to out1) is not stored in the path memory.
  • The trace back [0228] processing section 2204 traces back a predetermined cut-off path length along the surviving path which contains the state whose new path metric is smallest no as to determine data Iv1, Qv1, Iv2, Qv2, and outputs the data Iv2 and Qv2 through the terminal 2206 and the data Iv1 and Qv1 through the terminal 2207.
  • FIG. 19 illustrates in greater detail the [0229] postcoder 2105 of FIG. 16. Referring to FIG. 19, the postcoder 2105 comprises terminals 2400, 2401, 2401 and 2403.
  • The I data I[0230] v1 (=Xj) from the Viterbi decoder 2104 is input through the terminal 2400, and the Q data Qv1 (=Yj) from the Viterbi decoder 2104 is input through the terminal 2401. The differential postcoder 2105 performs a differential decoding operation on the I data and Q data based on the following differential encoding formulae (3) and (4) (where j is an integer), and outputs the differential-encoded data Wj and Zj through the terminals 2402 and 2403, respectively.
  • W j =X j +X j−1 +Z j (X j−1 +Y j−1)  (3)
  • Z j =X j +Y j +X j−1+Yj−1  (4)
  • As described above, [0231] Embodiment 2 of the present invention provides a Viterbi decoder for decoding a first series of data obtained by decoding a series of encoded data, and a second series of data obtained by decoding a series of data which contains information of a series of unencoded data. Thus, it is possible to decode the series of unencoded data (non-encoded bits) without convolutional-encoding (re-encoding) the series of Viterbi-decoded data.
  • (Embodiment 3) [0232]
  • FIG. 20 is a block diagram illustrating a trellis decoder and a deparser of an error correction circuit according to [0233] Embodiment 3 of the present invention. The trellis decoder and the deparser of Embodiment 3 are provided in place of the trellis decoder and the deparser illustrated in FIG. 19, and in place of the trellis decoder 805 illustrated in FIG. 28B.
  • Referring to FIG. 20, there are provided [0234] terminals 2500, 2501 and 2510, an encoded bit decoding section 2505, a depuncturer 2506, a Viterbi decoder 2507, a differential postcoder 2508, a non-encoded bit decoding section 2502, a QAM demapper 2503, a delay circuit 2504, and a deparser 2509.
  • The trellis decoder comprises the non-encoded [0235] bit decoding section 2502 and the encoded bit decoding section 2505.
  • The encoded [0236] bit decoding section 2505 receives QAM-demodulated I data and Q data through the terminals 2500 and 2501, respectively. The depuncturer 2506 depunctures the I data and Q data. The Viterbi decoder 2507 performs a Viterbi decoding operation on the depunctured I data Idp and Q date Qdp, and produces Viterbi-decoded I data Iv and Q data Qv. The differential postcoder 2508 performs a differential decoding operation on the Viterbi-decoded I data Iv and Q data Qv, and produces encoded bits.
  • The non-encoded [0237] bit decoding section 2502 receives the QAM-demodulated I data and Q data at the QAM demapper 2503. The QAM demapper 2503 performs a demapping operation based on the I data and Q data, and produces non-encoded bits. The delay circuit 2504 delays the decoded non-encoded bits.
  • The encoded and non-encoded bits which have been decoded as described above are input to the [0238] deparser 2509. The deparser 2509 puts together the I bits and the Q bits, respectively, so as to output them through the terminal 2510 as I symbols and Q symbols.
  • FIGS. [0239] 21A-21C illustrate an arrangement of 64 QAM encoding points in the QAM demapper 2503 of FIG. 20.
  • In the [0240] QAM demapper 2503, the 64 QAM encoding points are arranged as illustrated in FIG. 21A, and the non-encoded bits corresponding to the Q data along the vertical axis thereof and the I data along the horizontal axis thereof are derived. As illustrated in FIG. 21B, each encoding point is represented as (I bit, Q bit)=(C(1) C(2) C(3), C(4) C(5) C(6)). C(1) C(2) C(4) and C(5) are non-encoded bits, and C(3) and C(6) are encoded bits (see FIG. 29). As illustrated in FIG. 21C, there are four combinations (indicated respectively by the symbols “”, “▪”, “
    Figure US20040158798A1-20040812-P00001
    ”, “
    Figure US20040158798A1-20040812-P00002
    ”) of the encoded bits C(3) and C(6), each of which can be either “1” or “0”. The bit being “0” corresponds to signal levels “−7, −3, +1, +5”, and the bit being “1” corresponds to signal levels “−5, −1, +3, +7”. I bits and Q bits respectively corresponding to the I data and the Q data are obtained with reference to the arrangement of 64 QAM encoding points of FIG. 21A. Non-encoded bits are extracted from the I bits and the Q bits, and output.
  • As described above, [0241] Embodiment 3 of the present invention provides a demapper for decoding a series of demodulated data to obtain a series of unencoded data. Thus, it is possible to decode the series of unencoded data (non-encoded bits) without convolutional-encoding (re-encoding) the series of Viterbi-decoded data.
  • In [0242] Embodiments 2 and 3 above, a trace back processing section is used as a Viterbi decoder. Alternatively, a register exchange processing section may be used in place of the trace back processing section.
  • Moreover, while a square of Euclidean distance is used in [0243] Embodiment 3 for the branch metric, any other suitable value can alternatively be used, e.g., an absolute value of Euclidean distance. Furthermore, while the branch metric production section described above does not calculate a branch metric corresponding to punctured data of out1, the branch metric corresponding to punctured data of out1 may be a constant (e.g., 1).
  • Moreover, while decoding operations for the 64 QAM system are described above, similar decoding operations can be performed for other systems, e.g., the 256 QAM system. [0244]
  • Furthermore, both the differential encoding/decoding operations and the puncturing/depuncturing operations are performed in the above-described embodiments. However, either one, or both, of the differential encoding/decoding operations and the puncturing/depuncturing operations may be omitted, while it is still possible to perform the encoding and decoding operations which are substantially the same as those of [0245] Embodiments 2 and 3 based on the present invention. The present invention can be effectively used as long as trellis encoding and mapping onto 2-dimensional m values are performed on the transmitting side, while maximum likelihood decoding and demapping are performed on the receiving side.
  • As described above, [0246] Embodiments 2 and 3 provide: a Viterbi decoder for decoding a first series of data obtained by decoding a series of encoded data, and a second series of data obtained by decoding a series of data which contains information of a series of unencoded data; or a demapper for decoding a series of modulated data to obtain a series of unencoded data. Thus, it is possible to implement an error correction circuit capable of decoding a series of unencoded data (non-encoded bits) without convolutional-encoding (re-encoding) a series of Viterbi-decoded data.
  • As is apparent from the detailed description of the embodiments of the present invention, the present invention can be used with trellis-encoded signals including encoded data and unencoded data. The present invention performs a Viterbi decoding operation by selecting one of a plurality of parallel paths of a branch through calculation of the branch metric thereof, thereby eliminating the need to decode non-encoded bits by re-convolutional-encoding the Viterbi-decoded data as in the prior art. Therefore, the present invention simplifies the circuit to be used, as compared to a circuit used with the conventional method in which the encoded lower bit is Viterbi-decoded, and a re-convolution is performed to decode the unencoded upper bit. Moreover, in the prior art, the re-convolution operation by a re-convolutional encoder may result in error propagation corresponding to the constraint length of the re-convolutional encoder, whereas substantially no error propagation occurs in the method of the present invention. Thus, characteristics such as the SIN ratio are better than those obtained with the conventional method. [0247]
  • In the terrestrial digital broadcasting system currently used in the U.S., the transition state of the convolutional encoder may change from 4-state transition to 8-state transition when a comb filter for removing an NTSC co-channel interference component is provided on the receiving side. According to the present invention, one state resulting from the comb filter is associated with an increase in one parallel path, so that a decoder can be used commonly for 8-state transition and for 4-state transition, thereby simplifying the circuit. [0248]
  • Moreover, according to the present invention, even when a plurality of convolutional encoders are provided on the transmitting side, the data processing can be performed with a single Viterbi decoder on the receiving side by providing one circuit that can be used as both a branch metric production circuit and an ACS circuit, thereby reducing the circuit scale. [0249]
  • Various other modifications will be apparent to and can be readily made by those skilled in the art without departing from the scope and spirit of this invention. Accordingly, it is not intended that the scope of the claims appended hereto be limited to the description as set forth herein, but rather that the claims be broadly construed. [0250]

Claims (40)

What is claimed is:
1. An error correction circuit for receiving and decoding a trellis-encoded signal of a series of data Zq, Zq−1, . . . ,Z1 which comprises convolutional-encoded bits and unencoded bits, the convolutional-encoded bits being obtained by convolutional-encoding lower t bits Xt, Xt−1, . . . ,X1 of an input p-bit series of data Xp, Xp−1, . . . , X1 (where p≧2, q≧p, and p>t≧1), and the unencoded bits being obtained by not convolutional-encoding upper (p-t) bits thereof, the circuit comprising:
a maximum likelihood decoder for preselecting one of m parallel paths of transition from state x at time k to state y at time X+1.
2. An error correction circuit according to claim 1, wherein the maximum likelihood decoder comprises:
a selection section for selecting one of the m parallel paths transition from state x at time k to state y at time k+1; and
a calculation section for obtaining a path metric using a branch metric.
3. An error correction circuit according to claim 1, wherein:
the error correction circuit receives and decodes data which is produced by mapping the series of data Zq, Zq−1, . . . ,Z1 onto j points;
the series of data Zq, Zq−1, . . . ,Z1 is obtained by performing a trellis encoding operation on a first series of data Yr, Yr−1, . . . ,Yt+1 (r>t≧1) and a second series of data Yt, Yt−1, . . . ,Y1, the first series of data being obtained by preceding upper bits of the input series of data Xp, Xp−1, . . . , X1 (p≧2), and the second series of data comprising lower bits of the input series of data Xp, Xp−1, . . . , X1;
the maximum likelihood decoder is operable to perform n different maximum likelihood decoding methods for maximum-likelihood-decoding the received data based on a plurality of states, wherein the maximum likelihood decoder selects one of the n maximum likelihood decoding methods so as to maximum-likelihood-decode the received data based on the selected maximum likelihood decoding method.
4. An error correction circuit according to claim 3, further comprising a postcoder for postcoding or not postcoding the decoded data from the maximum likelihood decoder, wherein whether the decoded data is postcoded or not depends upon the n maximum likelihood decoding methods.
5. An error correction circuit according to claim 3, wherein the maximum likelihood decoder further comprises:
a branch metric production section for producing first path information indicating the selected path and a branch metric according to the n maximum likelihood decoding methods;
a calculation section for obtaining a path metric based on the branch metric obtained by the branch metric production section and for obtaining second path information based on the path metric;
a path metric memory for storing the path metric obtained by the calculation section;
a path memory for storing the first path information obtained by the selection section and the second path information obtained by the calculation section; and a trace back section for obtaining decoded data based on the path metric obtained by the calculation section and the first and second path information stored in the path memory.
6. An error correction circuit according to claim 3, wherein the maximum likelihood decoder further comprises:
a branch metric production section for producing first path information indicating the selected path and a branch metric based on the n maximum likelihood decoding methods;
a calculation section for obtaining a path metric based on the branch metric obtained by the branch metric production section and for obtaining second path information based on the path metric;
a path-metric memory for storing the path metric obtained by the calculation section;
a path memory for storing the first path information obtained by the selection section and the second path information obtained by the calculation section; and
a register exchange section for obtaining the decoded data based on the path information and the path metric obtained by the calculation section and the candidate for the decoded data comprising the first path information and the second path information stored in the path memory.
7. An error correction circuit according to claim 4, wherein the postcoder comprises a memory for storing upper bits of the decoded data from the maximum likelihood decoder.
8. An error correction circuit according to claim 3, wherein:
the maximum likelihood decoder comprises a branch metric production section; and
the branch metric production section references contents of a diagram so as to derive first path information indicating the selected path and a branch metric from the received data, wherein the contents of the diagram are obtained by associating the first series of data Yr, Yr−1, . . . ,Yt+1, the second series of data Yt, Yt−1, . . . ,Y1, and the received data, which is produced by mapping the series of data Zq, Zq−1, . . . ,Z1 onto j points, with one another.
9. An error correction circuit according to claim 3, wherein:
the maximum likelihood decoder comprises a branch metric production section; and
the branch metric production section references contents of a diagram so as to derive first path information indicating the selected path and a branch metric from data which is obtained by passing the received data through a linear filter, wherein the contents of the diagram are obtained by associating the series of data Xp, Xp−1, . . . ,X1 and data obtained by passing, through the linear filter, data which is produced by mapping the series of data Zq, Zq−1, . . . ,Z1 onto j points, with each other.
10. An error correction circuit according to claim 9, wherein the linear filter comprises a comb filter.
11. An error correction circuit according to claim 3, wherein:
the maximum likelihood decoder comprises a branch metric production section; and
the branch metric production section references contents of a diagram so as to derive a candidate for the decoded data and a branch metric from the received data, wherein the contents of the diagram are obtained by associating the first series of data Yr, Yr−1, . . . ,Yt−1 the second series of data Yt, Yt−1, . . . ,Y1, and the received data, which is produced by mapping the series of data Zq, Zq−1, . . . ,Z1 onto j points, with one another.
12. An error correction circuit according to claim 3, wherein:
the maximum likelihood decoder comprises a branch metric production section; and
the branch metric production section references contents of a diagram so as to derive a candidate for the decoded data and a branch metric from data obtained by passing the received data through a linear filter, wherein the contents of the diagram are obtained by associating the series of data Xp, Xp−1, . . . ,X1 and data obtained by passing, through the linear filter, data which is produced by mapping the series of data Zq, Zq−1, . . . ,Z1 onto j points, with each other.
13. An error correction circuit according to claim 12, wherein the linear filter comprises a comb filter.
14. An error correction circuit according to claim 3, wherein the maximum likelihood decoder performs a decoding operation using a Viterbi algorithm.
15. An error correction circuit according to claim 1, wherein:
the error correction circuit receives and decodes data which is produced by mapping the trellis-encoded signal onto a 2-dimensional data series; and
the error correction circuit further comprises a section for demapping a series of data which is obtained through a maximum likelihood decoding operation on the 2-dimensional data series by the maximum likelihood decoder.
16. An error correction circuit according to claim 15, further comprising a section for delaying the demapped series of data.
17. An error correction circuit according to claim 1, wherein:
the error correction circuit receives and decodes data which is produced by mapping the trellis-encoded signal onto a 2-dimensional data series:
the c-bit trellis-encoded signal is a series of data Zq, Zq−1, . . . ,Z1 which comprises convolutional-encoded bits and unencoded bits, the convolutional-encoded bits being obtained by performing a differential encoding operation on lower t bits Xt, Xt=1, . . . ,X1 of the input p-bit series of data Xp, Xp−1, . . . ,X1 (where p≧2, q≧p, and p>t≧1) and convolutional-encoding the differential-encoded bits, and the unencoded bits being obtained by not convolutional-encoding upper (p-t) bits thereof; and
the error correction circuit further comprises:
a section for performing a differential decoding operation on a first series of data which is produced through a maximum likelihood decoding operation on the 2-dimensional data series by the maximum likelihood decoder; and
a section for demapping a second series of data which is produced through a maximum likelihood decoding operation on the 2-dimensional data series by the maximum likelihood decoder.
18. An error correction circuit according to claim 17, further comprising a section for delaying the demapped series of data.
19. An error correction circuit according to claim 1, wherein:
the error correction circuit receives and decodes data which is produced by mapping the trellis-encoded signal onto a 2-dimensional data series;
the c-bit trellis-encoded signal is a series of data Zq, Zq−1, . . . ,Z1 which comprises punctured bits and unencoded bits, the punctured bits being obtained by convolutional-encoding lower t bits Xt, Xt−1, . . . ,X1 of the input p-bit series of data Xp, Xp−1, . . . ,X1 (where p≧2, g≧p, and p>t≧1) and puncturing the convolutional-encoded bits, and the unencoded bits being obtained by not convolutional-encoding upper (p-t) bits thereof; and
the error correction circuit further comprises:
a section for depuncturing the 2-dimensional data series;
a section for puncturing a second series of data which is produced through a maximum likelihood decoding operation on the depunctured series of data by the maximum likelihood decoder; and
a section for demapping the punctured series of data.
20. An error correction circuit according to claim 19, further comprising a section for delaying the demapped series of data.
21. An error correction circuit according to claim 1, wherein:
the error correction circuit receives and decodes data which is produced by mapping the trellis-encoded signal onto a 2-dimensional data series;
the c-bit trellis-encoded signal is a series of data Zq, Zq−1, . . . ,Z1 which comprises punctured bits and unencoded bits, the punctured bits being obtained by performing a differential encoding operation on lower t bits Xt, Xt−1, . . . ,X1 of the input p-bit series of data Xp, Xp−1, . . . , X1 (where p≧2, q≧p, and p>t≧1), convolutional-encoding the differential-encoded bits, and puncturing the convolutional-encoded bits, and the unencoded bits being obtained by not convolutional-encoding upper (p-t) bits thereof; and
the error correction circuit further comprises:
a section for depuncturing the 2-dimensional data series;
a section for performing a differential decoding operation on a first series of data which is produced through a maximum likelihood decoding operation on the depunctured series of data by the maximum likelihood decoder;
a section for puncturing a second series of data which is produced through a maximum likelihood decoding operation on the depunctured series of data by the maximum likelihood decoder; and
a section for demapping the punctured series of data.
22. An error correction circuit according to claim 21, further comprising a section for delaying the demapped series of data.
23. An error correction circuit according to claim 1, wherein the maximum likelihood decoder comprises:
a section for producing a branch metric;
a section for addition, comparison and selection of branch metrics and path metrics:
a path metric memory for storing a plurality of path metrics:
a plurality of path memories; and
a trace back processing section for outputting a first series of data which is obtained by decoding a series of encoded data, and a second series of data which is obtained by decoding a series of data which contains information of a series of unencoded data.
24. An error correction circuit according to claim 1, wherein the maximum likelihood decoder comprises:
a section for producing a branch metric;
a section for addition, comparison and selection of branch metrics and path metrics;
a path metric memory for storing a plurality of path metrics;
a plurality of path memories; and
a register exchange section for outputting a first series of data which is obtained by decoding a series of encoded data, and a second series of data which is obtained by decoding a series of data which contains information of a series of unencoded data.
25. An error correction circuit, comprising a maximum likelihood decoder for performing a maximum likelihood decoding operation on a series of data, wherein the maximum likelihood decoder comprises:
a section for producing a branch metric:
a section for addition, comparison and selection of branch metrics and path metrics;
a path metric memory for storing a plurality of path metrics;
a plurality of path memories; and
a trace back processing section for outputting a first series of data which is obtained by decoding a series of encoded data, and a second series of data which is obtained by decoding a series of data which contains information of a series of unencoded data.
26. An error correction circuit, comprising a maximum likelihood decoder for performing a maximum likelihood decoding operation on a series of data, wherein the maximum likelihood decoder comprises:
a section for producing a branch metric;
a section for addition, comparison and selection of branch metrics and path metrics;
a path metric memory for storing a plurality of path metrics;
a plurality of path memories; and
a register exchange section for outputting a first series of data which is obtained by decoding a series of encoded data, and a second series of data which is obtained by decoding a series of data which contains information of a series of unencoded data.
27. An error correction method for receiving and decoding a trellis-encoded signal of a series of data Zq, Zq−1, . . . ,Z1 which comprises convolutional-encoded bits and unencoded bits, the convolutional-encoded bits being obtained by convolutional-encoding lower t bits Xt, Xt−1, . . . ,X1 of an input p-bit series of data Xp, Xp, . . . ,X1 (where p≧2, q≧p, and p>t≧1), and the unencoded bits being obtained by not convolutional-encoding upper (p-t) bits thereof, the method comprising:
a maximum likelihood decoding step of preselecting one of m parallel paths of transition from state x at time k to state y at time k+1.
28. An error correction method according to claim 27, wherein the maximum likelihood decoding step comprises:
a selection step of selecting one of the m parallel paths transition from state x at time k to state y at time k+1; and
a calculation step of obtaining a path metric using a branch metric.
29. An error correction method according to claim 27, wherein:
the error correction method is for receiving and decoding data which is produced by mapping the series of data Zq, Zq−1, . . . ,Z1 onto j points:
the series of data Zq, Zq−1, . . . ,Z1 is obtained by performing a trellis encoding operation on a first series of data Yr, Yr−1, . . . ,Yt+1 (r>t≧1) and a second series of data Yt, Yt−1, . . . ,Y1, the first series of data being obtained by precoding upper bits of the input series of data Xp, Xp, . . . ,X1 (p≧2), and the second series of data comprising lower bits of the input series of data Xp, Xp−1, . . . ,X1;
the maximum likelihood decoding step is operable to perform n different maximum likelihood decoding methods for maximum-likelihood-decoding the received data based on a plurality of states, wherein the maximum likelihood decoder selects one of the n maximum likelihood decoding methods so as to maximum-likelihood-decode the received data based on the selected maximum likelihood decoding method.
30. An error correction method according to claim 29, further comprising a postcoding step of postcoding or not postcoding the decoded data from the maximum likelihood decoding step, wherein whether the decoded data is postcoded or not depends upon the n maximum likelihood decoding methods.
31. An error correction method according to claim 29, wherein the maximum likelihood decoding step comprises:
a branch metric production step of producing first path information indicating the selected path and a branch metric according to the n maximum likelihood decoding methods:
a calculation step of obtaining a path metric based on the branch metric obtained in the branch metric production step and obtaining second path information based on the path metric;
a path metric memory step of storing the path metric obtained in the calculation step;
a path memory step of storing the first path information obtained in the selection step and the second path information obtained in the calculation step; and
a trace back step of obtaining decoded data based on the path metric obtained in the calculation step and the first and second path information stored in the path memory step.
32. An error correction method according to claim 29, wherein the maximum likelihood decoding step comprises:
a branch metric production step of producing first path information indicating the selected path and a branch metric based on the n maximum likelihood decoding methods:
a calculation step of obtaining a path metric based on the branch metric obtained in the branch metric production step and obtaining second path information based on the path metric;
a path metric memory step of storing the path metric obtained in the calculation step;
a path memory step of storing the first path information obtained in the selection step and the second path information obtained in the calculation step; and
a register exchange step of obtaining the decoded data based on the path information and the path metric obtained in the calculation step and the candidate for the decoded data comprising the first path information and the second path information stored in the path memory step.
33. An error correction method according to claim 30, wherein the postcoder comprises a step of storing upper bits of the decoded data from the maximum likelihood decoding step.
34. An error correction method according to claim 29, wherein:
the maximum likelihood decoding step comprises a branch metric production step; and
the branch metric production step comprises referencing contents of a diagram so as to derive first path information indicating the selected path and a branch metric from the received data, wherein the contents of the diagram are obtained by associating the first series of data Yr, Yr−1, . . . ,Yt+1, the second series of data Yt, Yt−1, . . . ,Y1, and the received data, which is produced by mapping the series of data Zq, Zq−1, . . . ,Z1 onto j points, with one another.
35. An error correction method according to claim 29, wherein:
the maximum likelihood decoding step comprises a branch metric production step; and
the branch metric production step comprises referencing contents of a diagram so as to derive first path information indicating the selected path and a branch metric from data which is obtained by passing the received data through a linear filter, wherein the contents of the diagram are obtained by associating the series of data Xp, Xp−1, . . . ,X1 and data obtained by passing, through the linear filter, data which is produced by mapping the series of data Zq, Zq−1, . . . ,Z1 onto j points, with each other.
36. An error correction method according to claim 35, wherein the linear filter comprises a comb filter.
37. An error correction method according to claim 29, wherein:
the maximum likelihood decoding step comprises a branch metric production step; and
the branch metric production step comprises referencing contents of a diagram so as to derive a candidate for the decoded data and a branch metric from the received data, wherein the contents of the diagram are obtained by associating the first series of data Yr, Yr−1, . . . ,Yt+1, the second series of data Yt, Yt−1, . . . ,Y1, and the received data, which is produced by mapping the series of data Zq, Zq−1, . . . ,Z1 onto j points, with one another.
38. An error correction method according to claim 29, wherein:
the maximum likelihood decoding step comprises a branch metric production step; and
the branch metric production step comprises referencing contents of a diagram so as to derive a candidate for the decoded data and a branch metric from data obtained bypassing the received data through a linear filter, wherein the contents of the diagram are obtained by associating the series of data Xp, Xp−1, . . . ,X1 and data obtained by passing, through the linear filter, data which is produced by mapping the series of data Zq, Zq−1, . . . ,Z1 onto j points, with each other.
39. An error correction method according to claim 38, wherein the linear filter comprises a comb filter.
40. An error correction method according to claim 29, wherein the maximum likelihood decoding step comprises performing a decoding operation using a Viterbi algorithm.
US10/772,611 1998-05-13 2004-02-05 Error correction circuit and error correction method Abandoned US20040158798A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US10/772,611 US20040158798A1 (en) 1998-05-13 2004-02-05 Error correction circuit and error correction method

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
JP10-150533 1998-05-13
JP15053398 1998-05-13
JP20236498A JP2000036763A (en) 1998-07-16 1998-07-16 Error correction circuit
JP10-202364 1998-07-16
US09/311,394 US6738949B2 (en) 1998-05-13 1999-05-13 Error correction circuit and error correction method
US10/772,611 US20040158798A1 (en) 1998-05-13 2004-02-05 Error correction circuit and error correction method

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US09/311,394 Division US6738949B2 (en) 1998-05-13 1999-05-13 Error correction circuit and error correction method

Publications (1)

Publication Number Publication Date
US20040158798A1 true US20040158798A1 (en) 2004-08-12

Family

ID=26480100

Family Applications (2)

Application Number Title Priority Date Filing Date
US09/311,394 Expired - Lifetime US6738949B2 (en) 1998-05-13 1999-05-13 Error correction circuit and error correction method
US10/772,611 Abandoned US20040158798A1 (en) 1998-05-13 2004-02-05 Error correction circuit and error correction method

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US09/311,394 Expired - Lifetime US6738949B2 (en) 1998-05-13 1999-05-13 Error correction circuit and error correction method

Country Status (1)

Country Link
US (2) US6738949B2 (en)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060088119A1 (en) * 2004-10-26 2006-04-27 Ati Technologies Inc. Trellis decoder for decoding data stream including symbols coded with multiple convolutional codes
US7191387B1 (en) * 2002-01-15 2007-03-13 Ikanos Communication Inc. Method and apparatus for forward error correction
US20070104284A1 (en) * 2005-11-08 2007-05-10 Lg Electronics Inc. Digital television transmitter/receiver and method of processing data in digital television transmitter/receiver
US20070153933A1 (en) * 2005-12-16 2007-07-05 Lg Electronics Inc. Dtv transmitter and method of coding data in dtv transmitter
US20080056388A1 (en) * 2000-09-26 2008-03-06 Choi In H Digital television system
US20100007785A1 (en) * 2000-10-02 2010-01-14 In Hwan Choi Vsb transmission system
US20100034307A1 (en) * 2004-01-27 2010-02-11 Samsung Electronics Co., Ltd. Digital broadcast transmitting/receiving system having an improved receiving performance and signal processing method thereof
US20100037106A1 (en) * 2000-12-28 2010-02-11 Lg Electronics Inc. Vsb transmission system for processing supplemental transmission data
US20110007822A1 (en) * 2001-04-18 2011-01-13 Lg Electronics Inc. Vsb communication system
US20110129019A1 (en) * 2001-01-19 2011-06-02 In Hwan Choi Vsb reception system with enhanced signal detection for processing supplemental data

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6999521B1 (en) * 1999-12-23 2006-02-14 Lucent Technologies Inc. Method and apparatus for shortening the critical path of reduced complexity sequence estimation techniques
US6690739B1 (en) * 2000-01-14 2004-02-10 Shou Yee Mui Method for intersymbol interference compensation
US6744822B1 (en) * 2000-08-14 2004-06-01 Koninklijke Philips Electronics N.V. FEC scheme for encoding two bit-streams
US6952458B1 (en) * 2000-10-02 2005-10-04 Globespanvirata, Inc. Demapping system and method
TWI232652B (en) * 2000-10-08 2005-05-11 Koninkl Philips Electronics Nv Device for reconstructing a runlength constrained sequence
US20020075869A1 (en) * 2000-12-18 2002-06-20 Shah Tushar Ramanlal Integration of network, data link, and physical layer to adapt network traffic
US7333512B2 (en) * 2000-12-18 2008-02-19 Rmi Corporation Dynamic mixing TDM data with data packets
US7631340B2 (en) 2001-04-18 2009-12-08 Lg Electronics Inc. VSB communication system
KR100988224B1 (en) 2002-04-16 2010-10-18 톰슨 라이센싱 Apparatus and method for providing trellis decoded data, and trellis decoder
US7111226B1 (en) * 2002-05-31 2006-09-19 Broadcom Corporation Communication decoder employing single trellis to support multiple code rates and/or multiple modulations
US7599348B2 (en) * 2003-11-04 2009-10-06 Lg Electronics Inc. Digital E8-VSB reception system and E8-VSB data demultiplexing method
US20050204258A1 (en) * 2004-02-13 2005-09-15 Broadcom Corporation Encoding system and method for a transmitter in wireless communications
JP4428156B2 (en) * 2004-06-28 2010-03-10 ソニー株式会社 Decoding apparatus and method, program recording medium, program, and recording / reproducing apparatus
US7801248B2 (en) * 2004-11-19 2010-09-21 Qualcomm Incorporated Interference suppression with virtual antennas
US20090252202A1 (en) * 2004-12-10 2009-10-08 Koninklijke Philips Electronics, N.V. Method and apparatus for enhanced decoding in multi-band ultra-wideband communications
WO2007091779A1 (en) 2006-02-10 2007-08-16 Lg Electronics Inc. Digital broadcasting receiver and method of processing data
US20070266303A1 (en) * 2006-04-27 2007-11-15 Qualcomm Incorporated Viterbi decoding apparatus and techniques
WO2007126196A1 (en) 2006-04-29 2007-11-08 Lg Electronics Inc. Digital broadcasting system and method of processing data
WO2007136166A1 (en) * 2006-05-23 2007-11-29 Lg Electronics Inc. Digital broadcasting system and method of processing data
US7873104B2 (en) 2006-10-12 2011-01-18 Lg Electronics Inc. Digital television transmitting system and receiving system and method of processing broadcasting data
KR101253185B1 (en) * 2007-03-26 2013-04-10 엘지전자 주식회사 Digital broadcasting system and data processing method
KR101285887B1 (en) 2007-03-26 2013-07-11 엘지전자 주식회사 Digital broadcasting system and method of processing data in digital broadcasting system
KR101285888B1 (en) 2007-03-30 2013-07-11 엘지전자 주식회사 Digital broadcasting system and method of processing data in digital broadcasting system
KR101134064B1 (en) * 2007-05-14 2012-04-13 삼성전자주식회사 Aparatus of pucturing of error control codes and method using the aparatus
WO2009005326A2 (en) 2007-07-04 2009-01-08 Lg Electronics Inc. Digital broadcasting system and method of processing data
US8433973B2 (en) * 2007-07-04 2013-04-30 Lg Electronics Inc. Digital broadcasting system and method of processing data
KR20090012180A (en) 2007-07-28 2009-02-02 엘지전자 주식회사 Digital broadcasting system and method of processing data in digital broadcasting system
CA2697468C (en) * 2007-08-24 2012-08-21 Lg Electronics Inc. Digital broadcasting system and method of processing data in digital broadcasting system
WO2011099367A1 (en) * 2010-02-09 2011-08-18 日本電気株式会社 A/d conversion device and a/d conversion correcting method
CN103202012B (en) * 2010-10-26 2016-04-20 三菱电机株式会社 Digital broacast receiver
KR101411086B1 (en) 2010-12-24 2014-06-27 미쓰비시덴키 가부시키가이샤 Reception device and method
JP2014050040A (en) * 2012-09-03 2014-03-17 Nippon Hoso Kyokai <Nhk> Time-space trellis coding mimo transmission device and receiving device
US11769041B2 (en) 2018-10-31 2023-09-26 Advanced Micro Devices, Inc. Low latency long short-term memory inference with sequence interleaving
CN111353575A (en) * 2018-12-20 2020-06-30 超威半导体公司 Tiled format for convolutional neural networks

Citations (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4669084A (en) * 1985-05-23 1987-05-26 Harris Corporation Error correction processing scheme for sequential codec
US4730322A (en) * 1985-09-27 1988-03-08 California Institute Of Technology Method and apparatus for implementing a maximum-likelihood decoder in a hypercube network
US4868830A (en) * 1985-09-27 1989-09-19 California Institute Of Technology Method and apparatus for implementing a traceback maximum-likelihood decoder in a hypercube network
US4905317A (en) * 1986-04-03 1990-02-27 Kabushiki Kaisha Toshiba Path memory control method in Viterbi decoder
US5379306A (en) * 1991-08-28 1995-01-03 Matsushita Graphic Communication Systems, Inc. Viterbi decoding method
US5408502A (en) * 1992-07-13 1995-04-18 General Instrument Corporation Apparatus and method for communicating digital data using trellis coded QAM with punctured convolutional codes
US5502736A (en) * 1992-05-26 1996-03-26 Nec Corporation Viterbi decoder for decoding error-correcting encoded information symbol string
US5651032A (en) * 1993-11-04 1997-07-22 Kabushiki Kaisha Toshiba Apparatus and method for trellis decoder
US5740203A (en) * 1995-09-14 1998-04-14 Thomson Consumer Electronics, Inc. Trellis demapper of a convolutional decoder for decoding pragmatic trellis codes suitable for use in a multi-channel receiver of satellite, terrestrial and cable transmitted FEC compressed-digital television data
US5757834A (en) * 1994-09-27 1998-05-26 Alcatel Telspace Device for synchronizing branches of a Viterbi decoder included in a multidimensional trellis coded digital data receiver
US5838729A (en) * 1996-04-09 1998-11-17 Thomson Multimedia, S.A. Multiple mode trellis decoder for a digital signal processing system
US5844922A (en) * 1993-02-22 1998-12-01 Qualcomm Incorporated High rate trellis coding and decoding method and apparatus
US5944850A (en) * 1996-12-10 1999-08-31 U.S. Philips Corporation Digital transmission system and method comprising a punctured product code combined with a quadrature amplitude modulation
US5974091A (en) * 1997-10-30 1999-10-26 Communication Network Systems Composite trellis system and method
US5991341A (en) * 1997-02-21 1999-11-23 Samsung Electronics Co., Ltd. TCM decoder of high definition television receiver and decoding method
US5996112A (en) * 1996-03-28 1999-11-30 Lsi Logic Corporation Area-efficient surviving paths unit for Viterbi decoders
US6034997A (en) * 1997-08-19 2000-03-07 Stanford Telecommunications, Inc. Trellis decoding with multiple symbol noncoherent detection and interleaving to combat frequency offset
US6041432A (en) * 1994-03-04 2000-03-21 Sony Corporation Apparatus and method for detecting signal points using signal point-mapping
US6094739A (en) * 1997-09-24 2000-07-25 Lucent Technologies, Inc. Trellis decoder for real-time video rate decoding and de-interleaving
US6131180A (en) * 1997-11-03 2000-10-10 Ericsson, Inc. Trellis coded modulation system
US6178209B1 (en) * 1998-06-19 2001-01-23 Sarnoff Digital Communications Method of estimating trellis encoded symbols utilizing simplified trellis decoding
US6233289B1 (en) * 1996-07-17 2001-05-15 Seagate Technolgy, Inc. High rate trellis code for partial response channels
US6269129B1 (en) * 1998-04-24 2001-07-31 Lsi Logic Corporation 64/256 quadrature amplitude modulation trellis coded modulation decoder
US6385258B1 (en) * 1998-10-29 2002-05-07 Nec Corporation Viterbi decoder for use in a mobile communication system
US6411663B1 (en) * 1998-04-22 2002-06-25 Oki Electric Industry Co., Ltd. Convolutional coder and viterbi decoder
US6421395B1 (en) * 1999-02-09 2002-07-16 Lucent Technologies Inc. Termination of coded or uncoded modulation with path-oriented decoder

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2669350B2 (en) 1994-07-07 1997-10-27 日本電気株式会社 Maximum likelihood sequence estimator with variable number of states
JPH09147493A (en) 1995-11-29 1997-06-06 Hitachi Ltd Method for recording and reproducing digital signal and device therefor
KR19980079114A (en) 1997-04-30 1998-11-25 배순훈 Method and apparatus for decoding trellis code data
US6144710A (en) 1998-04-23 2000-11-07 Lucent Technologies, Inc. Joint maximum likelihood sequence estimator with dynamic channel description

Patent Citations (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4669084A (en) * 1985-05-23 1987-05-26 Harris Corporation Error correction processing scheme for sequential codec
US4730322A (en) * 1985-09-27 1988-03-08 California Institute Of Technology Method and apparatus for implementing a maximum-likelihood decoder in a hypercube network
US4868830A (en) * 1985-09-27 1989-09-19 California Institute Of Technology Method and apparatus for implementing a traceback maximum-likelihood decoder in a hypercube network
US4905317A (en) * 1986-04-03 1990-02-27 Kabushiki Kaisha Toshiba Path memory control method in Viterbi decoder
US5379306A (en) * 1991-08-28 1995-01-03 Matsushita Graphic Communication Systems, Inc. Viterbi decoding method
US5502736A (en) * 1992-05-26 1996-03-26 Nec Corporation Viterbi decoder for decoding error-correcting encoded information symbol string
US5408502A (en) * 1992-07-13 1995-04-18 General Instrument Corporation Apparatus and method for communicating digital data using trellis coded QAM with punctured convolutional codes
US5844922A (en) * 1993-02-22 1998-12-01 Qualcomm Incorporated High rate trellis coding and decoding method and apparatus
US6016568A (en) * 1993-02-22 2000-01-18 Qualcomm Incorporated High rate trellis coding and decoding method and apparatus
US5651032A (en) * 1993-11-04 1997-07-22 Kabushiki Kaisha Toshiba Apparatus and method for trellis decoder
US6041432A (en) * 1994-03-04 2000-03-21 Sony Corporation Apparatus and method for detecting signal points using signal point-mapping
US5757834A (en) * 1994-09-27 1998-05-26 Alcatel Telspace Device for synchronizing branches of a Viterbi decoder included in a multidimensional trellis coded digital data receiver
US5740203A (en) * 1995-09-14 1998-04-14 Thomson Consumer Electronics, Inc. Trellis demapper of a convolutional decoder for decoding pragmatic trellis codes suitable for use in a multi-channel receiver of satellite, terrestrial and cable transmitted FEC compressed-digital television data
US5996112A (en) * 1996-03-28 1999-11-30 Lsi Logic Corporation Area-efficient surviving paths unit for Viterbi decoders
US5838729A (en) * 1996-04-09 1998-11-17 Thomson Multimedia, S.A. Multiple mode trellis decoder for a digital signal processing system
US6233289B1 (en) * 1996-07-17 2001-05-15 Seagate Technolgy, Inc. High rate trellis code for partial response channels
US5944850A (en) * 1996-12-10 1999-08-31 U.S. Philips Corporation Digital transmission system and method comprising a punctured product code combined with a quadrature amplitude modulation
US5991341A (en) * 1997-02-21 1999-11-23 Samsung Electronics Co., Ltd. TCM decoder of high definition television receiver and decoding method
US6034997A (en) * 1997-08-19 2000-03-07 Stanford Telecommunications, Inc. Trellis decoding with multiple symbol noncoherent detection and interleaving to combat frequency offset
US6094739A (en) * 1997-09-24 2000-07-25 Lucent Technologies, Inc. Trellis decoder for real-time video rate decoding and de-interleaving
US5974091A (en) * 1997-10-30 1999-10-26 Communication Network Systems Composite trellis system and method
US6131180A (en) * 1997-11-03 2000-10-10 Ericsson, Inc. Trellis coded modulation system
US6411663B1 (en) * 1998-04-22 2002-06-25 Oki Electric Industry Co., Ltd. Convolutional coder and viterbi decoder
US6269129B1 (en) * 1998-04-24 2001-07-31 Lsi Logic Corporation 64/256 quadrature amplitude modulation trellis coded modulation decoder
US6178209B1 (en) * 1998-06-19 2001-01-23 Sarnoff Digital Communications Method of estimating trellis encoded symbols utilizing simplified trellis decoding
US6385258B1 (en) * 1998-10-29 2002-05-07 Nec Corporation Viterbi decoder for use in a mobile communication system
US6421395B1 (en) * 1999-02-09 2002-07-16 Lucent Technologies Inc. Termination of coded or uncoded modulation with path-oriented decoder

Cited By (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100275095A1 (en) * 2000-09-26 2010-10-28 In Hwan Choi Digital television system
US9756334B2 (en) 2000-09-26 2017-09-05 Lg Electronics Inc. Digital television system
US8743971B2 (en) 2000-09-26 2014-06-03 Lg Electronics Inc. Digital television system
US8428150B2 (en) 2000-09-26 2013-04-23 Lg Electronics Inc. Digital television system
US20080056388A1 (en) * 2000-09-26 2008-03-06 Choi In H Digital television system
US20100007785A1 (en) * 2000-10-02 2010-01-14 In Hwan Choi Vsb transmission system
US8320485B2 (en) * 2000-10-02 2012-11-27 Lg Electronics Inc. VSB transmission system
US20100037106A1 (en) * 2000-12-28 2010-02-11 Lg Electronics Inc. Vsb transmission system for processing supplemental transmission data
US20100033636A1 (en) * 2000-12-28 2010-02-11 In Hwan Choi Vsb transmission system for processing supplemental transmission data
US8130833B2 (en) 2000-12-28 2012-03-06 Lg Electronics Inc. VSB transmission system for processing supplemental transmission data
US8059718B2 (en) 2000-12-28 2011-11-15 Lg Electronics Inc. VSB transmission system for processing supplemental transmission data
US8164691B2 (en) 2001-01-19 2012-04-24 Lg Electronics Inc. VSB reception system with enhanced signal detection for processing supplemental data
US20110129019A1 (en) * 2001-01-19 2011-06-02 In Hwan Choi Vsb reception system with enhanced signal detection for processing supplemental data
US20110007822A1 (en) * 2001-04-18 2011-01-13 Lg Electronics Inc. Vsb communication system
US7191387B1 (en) * 2002-01-15 2007-03-13 Ikanos Communication Inc. Method and apparatus for forward error correction
US20100034307A1 (en) * 2004-01-27 2010-02-11 Samsung Electronics Co., Ltd. Digital broadcast transmitting/receiving system having an improved receiving performance and signal processing method thereof
US8199839B2 (en) 2004-01-27 2012-06-12 Samsung Electronics Co., Ltd. Digital broadcast transmitting/receiving system having an improved receiving performance and signal processing method thereof
US20060088119A1 (en) * 2004-10-26 2006-04-27 Ati Technologies Inc. Trellis decoder for decoding data stream including symbols coded with multiple convolutional codes
US8068549B2 (en) * 2004-10-26 2011-11-29 Broadcom Corporation Trellis decoder for decoding data stream including symbols coded with multiple convolutional codes
US20100246733A1 (en) * 2004-10-26 2010-09-30 Haosong Fu Trellis decoder for decoding data stream including symbols coded with multiple convolutional codes
US7733972B2 (en) * 2004-10-26 2010-06-08 Broadcom Corporation Trellis decoder for decoding data stream including symbols coded with multiple convolutional codes
US8254485B2 (en) * 2005-11-08 2012-08-28 Lg Electronics Inc. Digital television transmitter/receiver and method of processing data in digital television transmitter/receiver
US20120076226A1 (en) * 2005-11-08 2012-03-29 Lg Electronics Inc. Digital Television Transmitter/Receiver and Method of Processing Data in Digital Television Transmitter/Receiver
US8094742B2 (en) * 2005-11-08 2012-01-10 Lg Electronics Inc. Digital television transmitter/receiver and method of processing data in digital television transmitter/receiver
US20070104284A1 (en) * 2005-11-08 2007-05-10 Lg Electronics Inc. Digital television transmitter/receiver and method of processing data in digital television transmitter/receiver
US8194784B2 (en) 2005-12-16 2012-06-05 Lg Electronics Inc. DTV transmitter and method of coding data in DTV transmitter
US7787559B2 (en) * 2005-12-16 2010-08-31 Lg Electronics, Inc. DTV transmitter and method of coding data in DTV transmitter
US20070153933A1 (en) * 2005-12-16 2007-07-05 Lg Electronics Inc. Dtv transmitter and method of coding data in dtv transmitter
USRE46393E1 (en) 2005-12-16 2017-05-02 Lg Electronics Inc. DTV transmitter and method of coding data in DTV transmitter
US20100278276A1 (en) * 2005-12-16 2010-11-04 Hyoung Gon Lee Dtv transmitter and method of coding data in dtv transmitter

Also Published As

Publication number Publication date
US6738949B2 (en) 2004-05-18
US20020152441A1 (en) 2002-10-17

Similar Documents

Publication Publication Date Title
US6738949B2 (en) Error correction circuit and error correction method
US8640001B2 (en) Robust digital communication system
US7823052B2 (en) Trellis encoding device for encoding transmission stream and method thereof
US7277505B2 (en) Mapping arrangement for digital communication system
US20060245505A1 (en) Digital television signals using linear block coding
US8290035B2 (en) Systems for reducing adverse effects of deep fades in DTV signals designed for mobile reception
US20110222609A1 (en) 8VSB DTV signals with PCCC and subsequent trellis coding
US8111769B2 (en) Transmissions with reduced code rate in 8VSB digital television
US20100100793A1 (en) Digital television systems employing concatenated convolutional coded data
KR100768770B1 (en) Enhanced Slice Prediction Feedback
US8213466B2 (en) Robust digital communication system
CA2625158C (en) System for processing and transmitting digital broadcasting signal and method thereof
KR100891693B1 (en) Mapping arrangement for digital communication system

Legal Events

Date Code Title Description
STCB Information on status: application discontinuation

Free format text: EXPRESSLY ABANDONED -- DURING EXAMINATION

AS Assignment

Owner name: INTERDIGITAL PATENT HOLDINGS, INC., DELAWARE

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:PANASONIC INTELLECTUAL PROPERTY CORPORATION OF AMERICA;REEL/FRAME:038479/0915

Effective date: 20160325