EP1220455A1 - Décodeur Viterbi, procédé et unité correspondant - Google Patents
Décodeur Viterbi, procédé et unité correspondant Download PDFInfo
- Publication number
- EP1220455A1 EP1220455A1 EP00403711A EP00403711A EP1220455A1 EP 1220455 A1 EP1220455 A1 EP 1220455A1 EP 00403711 A EP00403711 A EP 00403711A EP 00403711 A EP00403711 A EP 00403711A EP 1220455 A1 EP1220455 A1 EP 1220455A1
- Authority
- EP
- European Patent Office
- Prior art keywords
- metric
- path metric
- metrics
- output
- adder
- 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.)
- Withdrawn
Links
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/63—Joint error correction and other techniques
- H03M13/6325—Error control coding in combination with demodulation
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
- H03M13/39—Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
- H03M13/3961—Arrangements of methods for branch or transition metric calculation
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
- H03M13/39—Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
- H03M13/3988—Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes for rate k/n convolutional codes, with k>1, obtained by convolutional encoders with k inputs and n outputs
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
- H03M13/39—Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
- H03M13/41—Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors
- H03M13/4107—Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors implementing add, compare, select [ACS] operations
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/65—Purpose and implementation aspects
- H03M13/6502—Reduction of hardware complexity or efficient processing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0045—Arrangements at the receiver end
- H04L1/0054—Maximum-likelihood or sequential decoding, e.g. Viterbi, Fano, ZJ algorithms
Definitions
- Viterbi decoding is commonly used in the receiving side of digital communication systems where potentially disrupted signals (e.g., disrupted by a fading channel, noise, etc.) must be decoded. Such signals are typically the result of bit-streams that have been encoded using convolutional codes and modulated for transmission, and such received encoded signals are typically decoded using a maximum-likelihood algorithm, generally based on the 'Viterbi algorithm'.
- the main problem of the Viterbi algorithm lies in its arithmetical decoding complexity (thus leading to high power consumption, etc., which is a paramount consideration in battery-operated portable communication devices).
- a lot of research has been done with the aim of reducing complexity associated with the Viterbi algorithm.
- a Viterbi decoder as claimed in claim 1.
- a method of producing metrics for use in a Viterbi decoder, as claimed in claim 3.
- a butterfly unit for use in a Viterbi decoder Add-Compare-Select unit, as claimed in claim 9.
- Convolutional codes are commonly used in digital communication systems in order to encode a bit-stream before transmission.
- a deconvolution has to be performed on the received symbols that have been possibly corrupted by fading due to a multipath channel and by additive noise.
- a classical implementation of the Viterbi algorithm, as shown in FIG. 1, to perform a Maximum-Likelihood decoding of the received data consists of three blocks:
- the present invention concerns techniques for reducing the complexity of a Viterbi decoder.
- the present invention provides a new ACS unit that may be used at certain positions in a Viterbi decoder to simplify the processing required, and provides certain new metrics for use with the new ACS units to decrease the overall complexity of Viterbi decoding.
- the critical element in a Viterbi decoder is usually the ACS unit, of which a typical example is shown in FIG. 2.
- N / 2 ACS butterfly operations have to be performed per trellis transition if a N -state convolutional encoder is used.
- all N / 2 or at least some (for example, a number P between 1 and N / 2 ) ACS butterflies have to work in parallel, requiring an important amount of chip surface in the case of a hardware implementation. Consequently, the power consumption of the ACS units is important compared to the total consumption of the decoder.
- the new butterfly unit 300 has one adder 310 for adding the path metric 1 and branch metric 2, and another adder 320 for adding the path metric 2 and branch metric 2.
- a comparator 330 compares the output of the adder 320 and the path metric 1
- a comparator 340 compares the output of the adder 310 and the path metric 2.
- a selector 350 selects between the output of the adder 320 and the path metric 1, dependent on the comparator 330, to produce the survivor path metric 1;
- a selector 360 selects between the output of the adder 310 and the path metric 2, dependent on the comparator 340, to produce the survivor path metric 2. It is to be noted that only one branch metric value (as shown, branch metric 2) is used in the butterfly unit 300.
- any branch metric m ba ⁇ ( m b 1 , m b 2 ,..., m bl ) may be chosen and subtracted from all other branch metrics.
- This rule is based on the typically valid observation that the encoder output bits remain unchanged if both, the input bit to the encoder and the most significant bit (MSB) of the encoder state are inverted.
- this method has the disadvantage that the resulting metrics m b1 , m b2 , ..., m bl might have a larger dynamic range than the classical metrics m 1 , m 2 , ..., m l .
- the following discussion progresses from the above general case to a slightly specialised case where this disadvantage is resolved.
- z 1 is the complex transmitted symbol
- H * / 1 is the complex conjugate of the channel coefficient
- AWGN additive white gaussian noise
- a code rate of R 1 / 2
- the new metrics m b1 , m b2 , m b3 , m b4 are less complex (2 multiplications, 1 addition) than the classical ones m b1 , m b2 , m b3 , m b4 (2 multiplications, 2 additions, 2 sign inversions).
- FIG. 5 shows equivalent schematic representations of implementations of the four ACS butterflies of FIG. 4.
- the low complexity ACS butterflies Type I and Type II are similar to that of FIG. 3, and similar to each other (the input signals 'path metric 1' and 'path metric 2' being interchanged between the Type I and Type II butterflies).
- the higher complexity ACS butterflies Type III and Type IV are similar to that of FIG. 2 and similar to each other (the input signals 'metric m b2 ' and 'metric m b3 ' being interchanged between the Type III and Type IV butterflies).
- the metrics can also be used in coloured noise environments.
- the proposed technique may be used for any Viterbi decoder in general. However, it is especially interesting for OFDM systems, since the resulting optimised metrics do not require any additional precision, at least if the metric calculation is performed adequately, as presented by the example of Table 1.
Landscapes
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Artificial Intelligence (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Error Detection And Correction (AREA)
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP00403711A EP1220455A1 (fr) | 2000-12-29 | 2000-12-29 | Décodeur Viterbi, procédé et unité correspondant |
US10/023,543 US7042964B2 (en) | 2000-12-29 | 2001-12-17 | Viterbi decoder, method and unit therefor |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP00403711A EP1220455A1 (fr) | 2000-12-29 | 2000-12-29 | Décodeur Viterbi, procédé et unité correspondant |
Publications (1)
Publication Number | Publication Date |
---|---|
EP1220455A1 true EP1220455A1 (fr) | 2002-07-03 |
Family
ID=8174018
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
EP00403711A Withdrawn EP1220455A1 (fr) | 2000-12-29 | 2000-12-29 | Décodeur Viterbi, procédé et unité correspondant |
Country Status (2)
Country | Link |
---|---|
US (1) | US7042964B2 (fr) |
EP (1) | EP1220455A1 (fr) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7043682B1 (en) * | 2002-02-05 | 2006-05-09 | Arc International | Method and apparatus for implementing decode operations in a data processor |
US7515658B2 (en) * | 2004-06-29 | 2009-04-07 | Stmicroelectronics Asia Pacific Pte. Ltd. | Method to adaptively scale the input to a channel decoder |
US20080152044A1 (en) * | 2006-12-20 | 2008-06-26 | Media Tek Inc. | Veterbi decoding method for convolutionally encoded signal |
US8181098B2 (en) * | 2008-06-11 | 2012-05-15 | Freescale Semiconductor, Inc. | Error correcting Viterbi decoder |
TWI422165B (zh) * | 2009-10-16 | 2014-01-01 | Mstar Semiconductor Inc | 解碼方法及其裝置 |
CN102045070B (zh) * | 2009-10-19 | 2015-11-25 | 晨星软件研发(深圳)有限公司 | 译码方法及其装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5742621A (en) * | 1995-11-02 | 1998-04-21 | Motorola Inc. | Method for implementing an add-compare-select butterfly operation in a data processing system and instruction therefor |
FR2769434A1 (fr) * | 1997-08-30 | 1999-04-09 | Hyundai Electronics Ind | Methode de decodage viterbi et decodeur viterbi utilisant la valeur de distance minimale et/ou la valeur metrique de trajet minimale |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5327440A (en) * | 1991-10-15 | 1994-07-05 | International Business Machines Corporation | Viterbi trellis coding methods and apparatus for a direct access storage device |
US5291499A (en) * | 1992-03-16 | 1994-03-01 | Cirrus Logic, Inc. | Method and apparatus for reduced-complexity viterbi-type sequence detectors |
US5414738A (en) * | 1993-11-09 | 1995-05-09 | Motorola, Inc. | Maximum likelihood paths comparison decoder |
US5530707A (en) * | 1994-03-09 | 1996-06-25 | At&T Corp. | Area-efficient decoders for rate-k/n convolutional codes and other high rate trellis codes |
US5815515A (en) * | 1996-03-28 | 1998-09-29 | Lsi Logic Corporation | Edge metric calculation method and apparatus using permutations |
KR100195745B1 (ko) * | 1996-08-23 | 1999-06-15 | 전주범 | 비터비 복호화기의 가산 비교 선택 장치 |
DE69719141T2 (de) * | 1996-10-15 | 2003-07-24 | Matsushita Electric Industrial Co., Ltd. | Vorrichtung zur Zurückverfolgung des Pfades in einem Viterbi Dekodierer |
US6163581A (en) * | 1997-05-05 | 2000-12-19 | The Regents Of The University Of California | Low-power state-sequential viterbi decoder for CDMA digital cellular applications |
US6334202B1 (en) * | 1998-07-22 | 2001-12-25 | Telefonaktiebolaget Lm Ericsson (Publ) | Fast metric calculation for Viterbi decoder implementation |
US6553541B1 (en) * | 1999-04-14 | 2003-04-22 | Texas Instruments Incorporated | Reduced-complexity sequence detection |
IL143337A0 (en) * | 1999-10-05 | 2002-04-21 | Samsung Electronics Co Ltd | Component decoder and method thereof in mobile communication system |
US6901118B2 (en) * | 1999-12-23 | 2005-05-31 | Texas Instruments Incorporated | Enhanced viterbi decoder for wireless applications |
-
2000
- 2000-12-29 EP EP00403711A patent/EP1220455A1/fr not_active Withdrawn
-
2001
- 2001-12-17 US US10/023,543 patent/US7042964B2/en not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5742621A (en) * | 1995-11-02 | 1998-04-21 | Motorola Inc. | Method for implementing an add-compare-select butterfly operation in a data processing system and instruction therefor |
FR2769434A1 (fr) * | 1997-08-30 | 1999-04-09 | Hyundai Electronics Ind | Methode de decodage viterbi et decodeur viterbi utilisant la valeur de distance minimale et/ou la valeur metrique de trajet minimale |
Also Published As
Publication number | Publication date |
---|---|
US20020126776A1 (en) | 2002-09-12 |
US7042964B2 (en) | 2006-05-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1221772B1 (fr) | Pré-codeur pour un turbo-décodeur, pour reconstituer des symboles de parité perforés, ainsi qu'une méthode pour reconstituer un turbo-code | |
US5933462A (en) | Soft decision output decoder for decoding convolutionally encoded codewords | |
EP1841116B1 (fr) | Procédé de décodage pour codes convolutifs en boucle utilisant un algorithme de Viterbi avec profondeur de recherche | |
JP2768169B2 (ja) | データ伝送方式 | |
US7103107B2 (en) | Demodulator, receiver, and communication system | |
EP1081869B1 (fr) | Méthode et appareil pour représenter des métriques de branches dans un décodeur de système de communication | |
EP1220455A1 (fr) | Décodeur Viterbi, procédé et unité correspondant | |
Abdelaziz et al. | Ternary convolutional codes for ternary phase shift keying | |
Raphaeli | Decoding algorithms for noncoherent trellis coded modulation | |
KR100437697B1 (ko) | 다수준 격자부호변조방식의 복호 방법 및 장치 | |
US6476739B1 (en) | Method and processing system for estimating likelihood ratios for input symbol values | |
EP1195909A1 (fr) | Procede et appareil de demodulation | |
JP2001230677A (ja) | ターボ復号器 | |
JP2004512742A (ja) | グレイ符号化された信号からソフトビット情報を生成する方法 | |
US6690752B2 (en) | Sequential decoder for decoding of convolutional codes | |
US7020223B2 (en) | Viterbi decoder and method using sequential two-way add-compare-select operations | |
WO2003023974A1 (fr) | Procede et appareil pour constellation et decodeur | |
JP5586504B2 (ja) | 復号装置 | |
Osman et al. | Performance of multilevel turbo codes with group partitioning over satellite channels | |
Gupta et al. | My Viterbi vs MATLAB Viterbi | |
JP2542734B2 (ja) | 復調装置及び復調方法 | |
JP2002217746A (ja) | 軟判定復号アルゴリズムにおいて使用されるブランチ・メトリックを計算する方法および装置 | |
JP3816752B2 (ja) | 符号同期判定装置 | |
Tomlinson et al. | Small improvements in half-rate convolutional codes with popular constraint lengths for applications in satellite communications | |
JP2001230679A (ja) | ターボ復号器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
AK | Designated contracting states |
Kind code of ref document: A1 Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LI LU MC NL PT SE TR |
|
AX | Request for extension of the european patent |
Free format text: AL;LT;LV;MK;RO;SI |
|
17P | Request for examination filed |
Effective date: 20030103 |
|
AKX | Designation fees paid |
Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LI LU MC NL PT SE TR |
|
AXX | Extension fees paid |
Extension state: RO Payment date: 20030103 Extension state: LV Payment date: 20030103 Extension state: MK Payment date: 20030103 Extension state: SI Payment date: 20030103 Extension state: AL Payment date: 20030103 Extension state: LT Payment date: 20030103 |
|
17Q | First examination report despatched |
Effective date: 20030331 |
|
RAP1 | Party data changed (applicant data changed or rights of an application transferred) |
Owner name: FREESCALE SEMICONDUCTOR, INC. |
|
RIN1 | Information on inventor provided before grant (corrected) |
Inventor name: HEKMANN, RALPH Inventor name: MUCK, MARKUS |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN |
|
18D | Application deemed to be withdrawn |
Effective date: 20101229 |