KR100415116B1 - Method for integrated decoding and integrated decoder of viterbi decoder and turbo decoder - Google Patents

Method for integrated decoding and integrated decoder of viterbi decoder and turbo decoder Download PDF

Info

Publication number
KR100415116B1
KR100415116B1 KR10-2001-0008099A KR20010008099A KR100415116B1 KR 100415116 B1 KR100415116 B1 KR 100415116B1 KR 20010008099 A KR20010008099 A KR 20010008099A KR 100415116 B1 KR100415116 B1 KR 100415116B1
Authority
KR
South Korea
Prior art keywords
decoder
viterbi
state
turbo
integrated
Prior art date
Application number
KR10-2001-0008099A
Other languages
Korean (ko)
Other versions
KR20020067769A (en
Inventor
강명애
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR10-2001-0008099A priority Critical patent/KR100415116B1/en
Publication of KR20020067769A publication Critical patent/KR20020067769A/en
Application granted granted Critical
Publication of KR100415116B1 publication Critical patent/KR100415116B1/en

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/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/2903Methods and arrangements specifically for encoding, e.g. parallel encoding of a plurality of constituent codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/29Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2957Turbo codes and decoding
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/39Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
    • H03M13/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/65Purpose and implementation aspects
    • H03M13/6508Flexibility, adaptability, parametrability and configurability of the implementation
    • H03M13/6513Support of multiple code types, e.g. unified decoder for LDPC and turbo codes

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Error Detection And Correction (AREA)

Abstract

본 발명은 터보 디코더와 비터비 디코더를 함께 사용하는 채널 수신단의 비터비 디코더와 터보 디코더의 통합 디코더 및 통합 디코딩 방법에 있어서, 상기 경판정 비터비 디코더를 상기 터보 디코더의 내부에 구현된 연성-출력 비터비 알고리즘 디코더에 포함시켜 8-상태 연성-출력 비터비 알고리즘 디코더와 256-상태 경판정 비터비 디코더를 함께 구현한 8-상태 연성-출력 비터비 알고리즘/256-상태 비터비 디코더 및 통합 디코딩 방법을 제공한다.The present invention provides an integrated decoder and a combined decoding method of a Viterbi decoder and a turbo decoder of a channel receiver using a turbo decoder and a Viterbi decoder, wherein the hard decision Viterbi decoder is a soft-output implemented in the turbo decoder. 8-state soft-output Viterbi algorithm / 256-state Viterbi decoder and integrated decoding method that is included in Viterbi algorithm decoder and implements 8-state soft-output Viterbi algorithm decoder and 256-state hard decision Viterbi decoder To provide.

Description

비터비 디코더와 터보 디코더의 통합 디코더 및 통합 디코딩 방법{METHOD FOR INTEGRATED DECODING AND INTEGRATED DECODER OF VITERBI DECODER AND TURBO DECODER}Integrated decoder and integrated decoding method of Viterbi decoder and turbo decoder {METHOD FOR INTEGRATED DECODING AND INTEGRATED DECODER OF VITERBI DECODER AND TURBO DECODER}

본 발명은 비터비 디코더(Viterbi Decoder)와 터보 디코더(Turbo Decoder)에 관한 것으로, 특히 모뎀(MODEM: Modulation/Demodulation) 수신기에서의 비터비 디코더와 레지스터-교환 연성출력 비터비 알고리즘(Register - Exchange Soft Output Viterbi Algorithm 이하, RESOVA라 약칭함)를 사용하는 터보 디코더를 통합한 구조를 갖는 디코더 및 통합 디코딩 방법에 관한 것이다.The present invention relates to a Viterbi Decoder and a Turbo Decoder, and more particularly, to a Viterbi decoder and a register-switched flexible output Viterbi algorithm in a Modulation / Demodulation (MODEM) receiver. The present invention relates to a decoder having a structure incorporating a turbo decoder using Output Viterbi Algorithm (hereinafter abbreviated as RESOVA) and an integrated decoding method.

IS-95(Interim Standard-95) 기저대역 모뎀 칩(Chip)들은 일반적으로 비터비 인코더(Encoder)와 터보 인코더 둘을 지원하는 채널(Channel)에 대해 비터비 디코더와 터보 디코더를 모두 구비하여 채널 인코딩 종류에 따라 디코더를 선택, 동작시킨다. 비터비 인코더와 터보 인코더는 모두 트랠리스(Trellis)구조를 사용하는 콘볼루션 코딩(Convolutional Coding)이므로, 이를 디코딩하는 디코더들은 유사한 동작을 하게 된다.Interim Standard-95 (IS-95) baseband modem chips (Chips) typically encode both the Viterbi and Turbo decoders for channels that support both Viterbi and Turbo encoders. Select and operate the decoder according to the type. Since both the Viterbi encoder and the turbo encoder are convolutional coding using a trellis structure, decoders that decode them have a similar operation.

특히 SOVA(Soft Output Viterbi Algorithm, 이하 'SOVA'라 칭함)를 사용하는 터보 디코더의 경우에 내부 디코더로 연성출력(Soft-Output) 비터비 디코더를 사용한다.In particular, in the case of a turbo decoder using SOVA (Soft Output Viterbi Algorithm, hereinafter referred to as SOVA), a soft-output Viterbi decoder is used as an internal decoder.

도 1 내지 도 7은 종래기술에 따른 도면으로서, 이를 참조하여 본 발명이 속하는 기술분야와 종래기술에 따른 문제점을 설명한다.1 to 7 is a diagram according to the prior art, it will be described with reference to the technical field and the problem according to the prior art.

도 1은 종래의 레지스터-교환 연성출력 비터비 알고리즘을 사용하는 터보 디코더의 개략적인 블록 구성도이고, 도 2는 종래의 경판정 비터비 디코더의 개략적인 블록 구성도이며, 도 3은 도 1의 터보 디코더 내의 8-상태 SOVA 디코더의 개략적인 블록 구성도이다.1 is a schematic block diagram of a turbo decoder using a conventional register-switched soft output Viterbi algorithm, FIG. 2 is a schematic block diagram of a conventional hard decision Viterbi decoder, and FIG. A schematic block diagram of an 8-state SOVA decoder in a turbo decoder.

우선 도 1 내지 도 3를 참조하면, 터보 디코더는 내부에 연성-출력 비터비 디코더인 8-상태 SOVA 디코더(10)를 사용하므로 비터비 디코더와의 공유를 더욱 용이하게 할 수 있다. 여기서, 8-상태 SOVA 디코더(10)는 RESOVA를 사용하는 터보 디코드내에 포함된 디코더로서 8-상태 RESOVA 디코더라 칭할 수도 있다. 한편, IS-95 및 IMT-2000(International Mobile Telecommunications-2000) 표준을 지원하는 모뎀 칩들에서는 도 2에 도시된 바와 같이 경판정(Hard-Decision)비터비 디코더(200)를 사용한다. RESOVA를 사용하는 터보 디코더의 경우, 도 3에 도시된 바와 같이, 상태-트레이스백(State-TraceBack, 이하 'State-TB'라 칭함)(34)와 엘엘알-트래이스백(Log Likelihood Ratio-TraceBack, 이하 'LLR-TB'라 칭함)(36)의 '거슬러올라가' 최소경로를 찾는 트레이스백(TraceBack, 이하 'TB'라 칭함)구조 중 State-TB(34)에서는 경판정 비터비 알고리즘을 사용한다.First, referring to FIGS. 1 to 3, the turbo decoder may use an 8-state SOVA decoder 10, which is a soft-output Viterbi decoder, to facilitate sharing with the Viterbi decoder. Here, the 8-state SOVA decoder 10 may be referred to as an 8-state RESOVA decoder as a decoder included in turbo decode using RESOVA. Meanwhile, modem chips supporting the IS-95 and IMT-2000 (International Mobile Telecommunications-2000) standards use a hard-decision Viterbi decoder 200 as shown in FIG. 2. In the case of the turbo decoder using RESOVA, as shown in Figure 3, State-traceback (hereinafter referred to as 'State-TB') 34 and Log Likelihood Ratio (Log Likelihood Ratio-) State-TB (34) uses the hard decision Viterbi algorithm in TraceBack (TraceBack, hereinafter referred to as `` TB '') structure that traces back the minimum path of TraceBack (LLR-TB)). use.

따라서 유사한 동작 부분이 있고 동시에 사용되지 않으므로 이를 병렬로 구현하는 것은 하드웨어 복잡도를 증가시키는 문제가 있다.Therefore, there are similar operating parts and are not used at the same time, so implementing them in parallel increases the hardware complexity.

다음으로 도 4는 종래의 터보 인코더의 트랠리스 다이아그램을 도시한 도면이며, 도 5는 종래의 비터비 인코더의 트랠리스 다이아그램을 도시한 도면이다.4 is a diagram illustrating a trellis diagram of a conventional turbo encoder, and FIG. 5 is a diagram illustrating a trellis diagram of a conventional Viterbi encoder.

도 4에 나타낸 트랠리스를 가지는 IS-95C 비터비 인코더의 구속장(Constraint Length)은 '9'이고, 도 5에 나타낸 터보 인코더의 구속장은 '4'이다. 이는 일반적으로 터보 인코더는 재귀(recursive) 인코딩에 의한 구속장 확장효과에 따라 실제 구현상의 구속장이 작기 때문이다. 따라서 1 정보비트 처리를 나타내는 1 스테이지(Stage)에서 비터비 인코더는 28->256의 상태(State)를 가지며, 터보 인코더는 23->8의 상태를 가진다.The constraint length of the IS-95C Viterbi encoder having the trellis shown in FIG. 4 is '9', and the constraint length of the turbo encoder shown in FIG. 5 is '4'. This is because a turbo encoder generally has a small implementation constraint due to a constraint extension effect by recursive encoding. Therefore, in one stage representing one information bit process, the Viterbi encoder has a state of 2 8- > 256, and the turbo encoder has a state of 2 3- > 8.

이렇게 다른 수의 상태를 가지므로, 비터비 디코더와 터보 디코더를 하나의 디코더로 통합하는데 주의가 요구되며, 통합 구현에 있어서 복잡도를 줄이기 위해서는 하드웨어적으로 특별한 구조가 요구된다.Because of this different number of states, care must be taken to integrate the Viterbi decoder and the turbo decoder into one decoder, and hardware specific structures are required to reduce the complexity in the integration implementation.

한편, 비터비 알고리즘을 사용하는 디코더들은 하나의 디코드 비트를 결정하기 위하여 구속장에 비례하는 값으로 TB의 양을 나타내는 TB 깊이(Depth) 값을 사용한다. 이러한 하나의 디코드 비트를 결정하기 위한 TB 깊이에 해당하는 ACS(Add-Compare-Select, 가산비교선택 연산기, 이하 'ACS'로 칭함)의 결과 값을 저장하기 위한 메모리를 구비한다.Decoders using the Viterbi algorithm, on the other hand, use a TB depth value representing the amount of TB as a value proportional to the constraint length to determine one decode bit. A memory for storing a result value of an ACS (Add-Compare-Select), which is referred to as an 'ACS', corresponding to a TB depth for determining one decode bit is provided.

도 6은 종래의 레지스터-교환 연성출력 비터비 알고리즘(RESOVA)을 사용하는 터보 디코더의 비엠 연산기 및 에이씨에스 데이터경로 연산기와 메모리의 블록 구성도이며, 도 7은 종래의 비터비 디코더의 비엠 연산기 및 에이씨에스 데이터경로 연산기와 메모리의 블록 구성도이다. 도 6 및 도 7에 도시된 도면을 참조하여 설명하면, 우선 경판정 비터비 디코더의 경우에 있어서 요구되는 메모리 양은 다음과 같이 계산된다.FIG. 6 is a block diagram of a BM operator and an Ace data path calculator and a memory of a turbo decoder using a conventional register-switched soft output Viterbi algorithm (RESOVA), and FIG. 7 is a BM operator of a conventional Viterbi decoder and It is a block diagram of a PC data path calculator and memory. Referring to the drawings shown in Figs. 6 and 7, first, the amount of memory required in the case of the hard decision Viterbi decoder is calculated as follows.

필요한 메모리 = (Sign 1 bit x State 수) x (TB Depth)Memory Required = (Sign 1 bit x State) x (TB Depth)

그리고 터보 디코더의 경우에 있어서 요구되는 메모리 양은 다음과 같이 계산된다.In the case of the turbo decoder, the amount of memory required is calculated as follows.

필요한 메모리 = (Sign 1 bit x State 수) x (State-TB Depth)Required memory = (Sign 1 bit x Number of states) x (State-TB Depth)

+ (Path Matric resolution) x (State 수) x (LLR-TB Depth)+ (Path Matric resolution) x (Number of states) x (LLR-TB Depth)

그리고 LLR-TB에서 갱신한 LLR(Log Likelihood Ratio)결과 값을 반복(iterative) 디코딩에 이용하기 위해 다음에 해당하는 메모리를 사용한다.In order to use the LLR (Log Likelihood Ratio) result value updated in LLR-TB for iterative decoding, the following memory is used.

메모리 = (LLR resolution) x (1회 반복에 적용할 1프레임 내의 심볼 수)Memory = (LLR resolution) x (number of symbols in one frame to apply to one iteration)

따라서, 상술한 바와 같이 유사한 트랠리스와 각기 다른 메모리를 가진 비터비 디코더와 터보 디코더는 한 블록으로 구현될 수 있다.Thus, as described above, the Viterbi decoder and the turbo decoder having similar trellis and different memories may be implemented in one block.

따라서 본 발명의 목적은 종래의 방식에서 유사한 동작을 각기 수행함으로써 복잡한 하드웨어의 복잡도를 줄이기 위한 비터비 디코더와 터보 디코더를 통합하는 디코더 및 통합 디코딩 방법을 제공함에 있다.Accordingly, an object of the present invention is to provide a decoder and integrated decoding method for integrating a Viterbi decoder and a turbo decoder to reduce the complexity of complex hardware by performing similar operations in the conventional manner.

또한 본 발명의 다른 목적은 비터비 디코더와 터보 디코더 구조를 통합함으로써 낭비되던 메모리 자원을 절약하는 비터비 디코더와 터보 디코더 통합 구조를 제공함에 있다.Another object of the present invention is to provide a Viterbi decoder and turbo decoder integrated structure that saves wasted memory resources by integrating the Viterbi decoder and turbo decoder structure.

상기한 목적을 달성하기 위하여 본 발명의 장치는, 터보 디코더와 비터비 디코더를 함께 사용하는 채널 수신단의 비터비 디코더와 터보 디코더의 통합 디코더에 있어서, 경판정 비터비 디코더를 포함하고, 상기 터보 디코더의 내부 디코더로서 연성-출력 비터비 알고리즘을 사용하는 8-상태 연성-출력 비터비 알고리즘 디코더와, 상기 연성-출력 비터비 알고리즘 디코더와 통합되고, 256-상태 경판정 비터비 디코더인 256-상태 비터비 디코더를 포함하는 것을 특징으로 한다.상기한 목적을 달성하기 위하여 본 발명의 방법은, 터보 인코더와 비터비 인코더를 함께 지원하는 채널의 수신단에서의 통합 디코딩 방법에 있어서, 경판정 비터비 디코더를 포함하는 연성-출력 비터비 알고리즘을 사용하는 8-상태 연성-출력 비터비 알고리즘 디코더와, 256-상태 경판정 비터비 디코더인 256-상태 비터비 디코더를 통합한 통합 비터비터비 디코더가 상기 비터비 인코더와 상기 터보 인코더에 의해 각각 인코딩된 부호화 입력에 따라 구분하여 연산시 사용할 부호화 입력을 서로 다른 메모리에 저장하는 과정과, 상기 통합 비터비 디코더가 상기 구분되어 저장된 부호화 입력에 따라 상기 부호화 입력의 상태를 한번에 계산하여 디코딩하는 과정을 포함하는 것을 특징으로 한다.In order to achieve the above object, an apparatus of the present invention includes a hard decision Viterbi decoder in a Viterbi decoder and a turbo decoder of a channel receiver using a turbo decoder and a Viterbi decoder together, wherein the turbo decoder An 8-state soft-output Viterbi algorithm decoder using a soft-output Viterbi algorithm as an internal decoder of the 256-state beater, which is integrated with the soft-output Viterbi algorithm decoder and is a 256-state hard decision Viterbi decoder. In order to achieve the above object, the method of the present invention provides a hard decision Viterbi decoder in an integrated decoding method at a receiving end of a channel supporting a turbo encoder and a Viterbi encoder. 8-state soft-output Viterbi algorithm decoder using soft-output Viterbi algorithm, including 256-state hardboard An integrated Viterviterbi decoder incorporating a 256-state Viterbi decoder, which is a Viterbi decoder, stores encoding inputs to be used in operation in different memories according to encoding inputs encoded by the Viterbi encoder and the turbo encoder, respectively. And calculating and decoding the state of the encoded input at a time according to the separately stored encoded input by the integrated Viterbi decoder.

도 1은 종래의 레지스터-교환 연성출력 비터비 알고리즘을 사용하는 터보 디코더의 개략적인 블록 구성도,1 is a schematic block diagram of a turbo decoder using a conventional register-switched soft output Viterbi algorithm.

도 2는 종래의 경판정 비터비 디코더의 개략적인 블록 구성도,2 is a schematic block diagram of a conventional hard decision Viterbi decoder;

도 3은 도 1의 터보 디코더 내의 8-상태 SOVA 디코더의 개략적인 블록 구성도,3 is a schematic block diagram of an 8-state SOVA decoder in the turbo decoder of FIG. 1;

도 4는 종래의 터보 인코더의 트랠리스 다이아그램을 도시한 도면,4 is a diagram illustrating a trellis diagram of a conventional turbo encoder;

도 5는 종래의 비터비 인코더의 트랠리스 다이아그램을 도시한 도면,5 is a diagram illustrating a trellis diagram of a conventional Viterbi encoder;

도 6은 종래의 레지스터-교환 연성출력 비터비 알고리즘을 사용하는 터보 디코더의 비엠 연산기 및 에이씨에스 데이터경로 연산기와 메모리의 블록 구성도,6 is a block diagram of a BM operator and an Ace data path calculator and a memory of a turbo decoder using a conventional register-switched soft output Viterbi algorithm.

도 7은 종래의 비터비 디코더의 비엠 연산기 및 에이씨에스 데이터경로 연산기와 메모리의 블록 구성도,FIG. 7 is a block diagram illustrating a BM calculator, an Ace data path calculator, and a memory of a conventional Viterbi decoder; FIG.

도 8은 본 발명의 실시 예에 따른 비터비 디코더와 터보 디코더의 통합된 구조의 개략적인 블록 구성도,8 is a schematic block diagram of an integrated structure of a Viterbi decoder and a turbo decoder according to an embodiment of the present invention;

도 9는 본 발명의 실시 예에 따른 8-상태 레지스터-교환 연성출력 비터비 알고리즘 디코더와 256-상태 경판정 비터비 디코더가 통합 구현된 구조의 개략적인 블록 구성도,9 is a schematic block diagram of a structure in which an 8-state register-switched soft output Viterbi algorithm decoder and a 256-state hard decision Viterbi decoder are integrated according to an embodiment of the present invention;

도 10은 본 발명의 실시 예에 따라 구현된 비터비 디코더와 터보 디코더의 통합 구조에서 비엠 연산기 및 8/256-상태 가산비교선택 연산기와 메모리의 블록 구성도.FIG. 10 is a block diagram of a BM operator, an 8 / 256-state addition comparison selector, and a memory in an integrated structure of a Viterbi decoder and a turbo decoder implemented according to an embodiment of the present invention.

이하 본 발명의 바람직한 실시 예를 첨부한 도면을 참조하여 상세히 설명한다. 상기 첨부 도면의 구성 요소들에 참조부호를 부가함에 있어서는 동일한 구성요소들에 한해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의하여야 한다. 또한 하기 설명 및 첨부 도면에서 구체적인 처리 흐름과 같은 많은 특정 상세들이 본 발명의 보다 전반적인 이해를 제공하기 위해 나타나 있다. 이들 특정 상세들 없이 본 발명이 실시될 수 있다는 것은 이 기술분야에서 통상의 지식을 가진 자에게 자명할 것이다. 그리고 본 발명의 요지를 불필요하게 흐릴 수 있는 공지 기능 및 구성에 대한 상세한 설명은 생략한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings. In the reference numerals to the components of the accompanying drawings, it should be noted that the same reference numerals have the same reference numerals as much as possible even if displayed on different drawings. Also in the following description and in the accompanying drawings, numerous specific details are set forth in order to provide a more thorough understanding of the present invention. It will be apparent to those skilled in the art that the present invention may be practiced without these specific details. And a detailed description of known functions and configurations that may unnecessarily obscure the subject matter of the present invention will be omitted.

도 8은 본 발명의 실시 예에 따른 비터비 디코더와 터보 디코더의 통합된 구조의 개략적인 블록 구성도이며, 도 9는 본 발명의 실시 예에 따른 8-상태 레지스터-교환 연성출력 비터비 알고리즘 디코더와 256-상태 경판정 비터비 디코더가 통합 구현된 구조의 개략적인 블록 구성도이고, 도 10은 본 발명의 실시 예에 따라 구현된 비터비 디코더와 터보 디코더의 통합 구조에서 비엠 연산기 및 8/256-상태 가산비교선택 연산기와 메모리의 블록 구성도이다.8 is a schematic block diagram of an integrated structure of a Viterbi decoder and a turbo decoder according to an embodiment of the present invention, and FIG. 9 is an 8-state register-switched soft output Viterbi algorithm decoder according to an embodiment of the present invention. Is a schematic block diagram of a structure in which a 256-state hard decision Viterbi decoder is integrated and implemented, and FIG. 10 is a BM operator and 8/256 in an integrated structure of a Viterbi decoder and a turbo decoder implemented according to an embodiment of the present invention. -Block diagram of the state addition comparison selection operator and memory.

도 8 내지 도 10을 참조하면, 본 발명의 비터비 디코더와 터보 디코더의 통합 구조에서 도 8의 통합 비터비 디코더인 8-상태 SOVA/256-상태 비터비 디코더(80)는 경판정 비터비 디코더를 터보 디코더의 SOVA 디코더에 포함시켜 8-상태 SOVA 디코더와 256-상태 경판정 비터비 디코더를 함께 구현한다.8 through 10, in the integrated structure of the Viterbi decoder and the turbo decoder of the present invention, the 8-state SOVA / 256-state Viterbi decoder 80, which is the integrated Viterbi decoder of FIG. 8, is a hard decision Viterbi decoder. Is included in the SOVA decoder of the turbo decoder to implement an 8-state SOVA decoder and a 256-state hard decision Viterbi decoder.

그리고 비터비 디코더 모드에서는 터보 디코더에서 사용되는 반복 디코딩에 필요한 부분들이 사용되지 않으므로 도 9의 8/-상태 SOVA/256-상태 비터비 디코더(80)는 출력을 바로 출력단으로 내보낸다. 도 9에 도시된 바와 같이 비터비 디코더 모드에서는 반복 디코딩에 필요한 부분들이 사용되지 않으므로, 8/256-상태 ACS(92)의 출력은 State-TB(94)으로만 인가되며, State-TB(94)는 결과를 LLR-TB(96)로 전송하지 않고 바로 출력단으로 출력한다.In the Viterbi decoder mode, since the portions necessary for repetitive decoding used in the turbo decoder are not used, the 8 / -state SOVA / 256-state Viterbi decoder 80 of FIG. 9 directly outputs the output to the output terminal. As shown in FIG. 9, since portions necessary for repetitive decoding are not used in the Viterbi decoder mode, the output of the 8 / 256-state ACS 92 is applied only to the State-TB 94, and the State-TB 94 ) Does not send the result to the LLR-TB 96 and outputs it directly to the output.

한편, 터보 디코더 모드에서는 도 9의 비엠 연산기(BMC)(90), 8/256-상태 가산비교선택(ACS) 연산기(92), State-TB(94), LLR-TB(96)로 구성되는 8/-상태 SOVA/256-상태 비터비 디코더(80)에서 비터비 디코더 시에는 256개의 상태가, 터보 디코더 시에는 8개의 상태가 존재한다. 그러므로, 터보 디코더 시에는 8개의 상태를 한꺼번에 계산하고, 비터비 디코더 시에는 256개의 상태를 8개의 상태로 묶어 한꺼번에 처리한다. 즉, 256/8 = 32회의 반복 디코딩을 수행한다.On the other hand, in the turbo decoder mode is composed of a BMC (BMC) 90, 8 / 256-state addition comparison selection (ACS) operator 92, State-TB (94), LLR-TB (96) of FIG. In the 8 / -state SOVA / 256-state Viterbi decoder 80, there are 256 states in the Viterbi decoder and eight states in the turbo decoder. Therefore, in the turbo decoder, eight states are calculated at once, and in the Viterbi decoder, 256 states are grouped into eight states and processed at once. That is, 256/8 = 32 iterative decoding are performed.

본 발명에 따른 8/-상태 SOVA/256-상태 비터비 디코더(80)의 메모리는 상기 논리적인 기능과는 무관하게 구현된다. 따라서 터보 디코더에서 LLR-TB(96)에 사용될 경로 매트릭(Path Metric)을 저장하는 도 10의 경로 매트릭(Path Metric)메모리(104)에 비터비 디코더의 경로 매트릭(Path Metric)을 저장한다. 그리고 비터비 디코더 시에는 1 스테이지에 대한 경로 매트릭(Path Metric)만 저장하고, 8개의 상태씩 묶어 32길이로 저장한다.The memory of the 8 / -state SOVA / 256-state Viterbi decoder 80 according to the present invention is implemented irrespective of the logical function. Therefore, the path metric of the Viterbi decoder is stored in the path metric memory 104 of FIG. 10 which stores the path metric to be used for the LLR-TB 96 in the turbo decoder. In the Viterbi decoder, only a path metric for one stage is stored, and each state is stored in 32 lengths.

또한 터보 디코더에서 1프레임 출력 비트에 해당하는 길이의 LLR 메모리(108)에는 비터비 디코더의 서바이버 경로(survivor path)를 저장한다. 이때 LLR 메모리(108)는 각 스테이지에서 한 번씩 저장될 LLR의 전환(resolution)과 비터비 디코더의 8 상태 서바이버 경로(survivor path) 비트들(전체 8비트)에 관련된다. 따라서 LLR의 resolution이 비터비 디코더의 8비트보다 적을 때는 비터비 TB Depth가 1프레임 출력 비트 수보다 작으므로 비터비 TB Depth에 해당하는 메모리와, 1프레임 출력 비트 수 - 비터비 TB Depth에 해당하는 메모리 둘로 나누어서 전자의 것은 8비트로, 후자는 LLR 전환(resolution)으로 구현한다.In addition, the LLR memory 108 having a length corresponding to one frame output bit in the turbo decoder stores a survivor path of the Viterbi decoder. The LLR memory 108 then relates to the resolution of the LLR to be stored once in each stage and the 8 state survivor path bits (8 bits total) of the Viterbi decoder. Therefore, when the resolution of the LLR is less than 8 bits of the Viterbi decoder, the Viterbi TB Depth is smaller than the number of 1-bit output bits. Divided into two memories, the former is 8 bits and the latter is implemented with LLR resolution.

한편 LLR의 전환(resolution)이 비터비 디코더의 8비트보다 클 때는 (LLR resolution) x (1 프레임 출력 비트 수)에 해당하는 하나의 메모리로 구현한다.On the other hand, when the resolution of the LLR is larger than 8 bits of the Viterbi decoder, it is implemented as one memory corresponding to (LLR resolution) x (the number of 1 frame output bits).

터보 디코더가 1스테이지에 1 LLR이 생성되는 것에 반해 비터비 디코더는 1스테이지에 256 상태 서바이버(survivor)들이 생성되고, 이들이 8개씩 묶였으므로 256/8 = 32길이에 해당하는 서바이버 경로 그룹(survivor path group)이 생성되며 1스테이지의 값에 해당한다.While the turbo decoder generates 1 LLR per stage, the Viterbi decoder generates 256 state survivors on stage 1, and these are grouped into 8 groups so that the survivor path group is 256/8 = 32 lengths. group) is created and corresponds to the value of stage 1.

상기와 같은 본 발명의 특징에 따른 비터비 디코더와 터보 디코더 구조가 하나의 통합된 디코더로 구현될 수 있다.The Viterbi decoder and the turbo decoder structure according to the features of the present invention as described above may be implemented as a single integrated decoder.

한편 상기한 본 발명의 설명에서는 구체적인 실시 예에 관해 설명하였으나 여러 가지 변형이 본 발명의 범위를 벗어나지 않고 실시될 수 있다. 따라서 본 발명의 범위는 설명된 실시 예에 의하여 정할 것이 아니고 청구범위와 청구범위의 균등한 것에 의하여 정하여져야 할 것이다.Meanwhile, in the foregoing description of the present invention, specific embodiments have been described, but various modifications may be made without departing from the scope of the present invention. Therefore, the scope of the present invention should not be defined by the described embodiments, but by the claims and equivalents of the claims.

상기한 바와 같이 본 발명에 따른 비터비 디코더와 터보 디코더 구조 통합 방법을 사용하여 종래에 다른 하드웨어로 구현된 터보 디코더와 비터비 디코더를 하나로 구현함으로써, IS-95 및 IMT-2000, UMTS 등 터보 디코더와 비터비 디코더를 함께 사용하는 채널 수신부를 구현하는 경우에 있어서 하드웨어의 복잡도를 줄이는 효과가 있다. 또한 터보 디코더와 비터비 디코더의 구조를 하나로 구현함으로써 터보 디코더와 비터비 디코더에 사용되는 메모리 자원을 절약하는 이점이 있다.As described above, the turbo decoder such as the IS-95, IMT-2000, and UMTS is implemented by implementing a turbo decoder and a Viterbi decoder which are conventionally implemented in different hardware using the Viterbi decoder and turbo decoder structure integration method according to the present invention. In the case of implementing a channel receiver using a combination of a and a Viterbi decoder, there is an effect of reducing the complexity of hardware. In addition, by implementing the structure of the turbo decoder and Viterbi decoder in one, there is an advantage to save the memory resources used in the turbo decoder and Viterbi decoder.

Claims (5)

터보 디코더와 비터비 디코더를 함께 사용하는 채널 수신단의 비터비 디코더와 터보 디코더의 통합 디코더에 있어서,In the integrated decoder of the Viterbi decoder and the turbo decoder of the channel receiver using a turbo decoder and a Viterbi decoder, 경판정 비터비 디코더를 포함하고, 상기 터보 디코더의 내부 디코더로서 연성-출력 비터비 알고리즘을 사용하는 8-상태 연성-출력 비터비 알고리즘 디코더와,An 8-state soft-output Viterbi algorithm decoder comprising a hard decision Viterbi decoder and using a soft-output Viterbi algorithm as an internal decoder of the turbo decoder; 상기 연성-출력 비터비 알고리즘 디코더와 통합되고, 256-상태 경판정 비터비 디코더인 256-상태 비터비 디코더를 포함하는 것을 특징으로 하는 상기 통합 디코더.And a 256-state Viterbi decoder integrated with the soft-output Viterbi algorithm decoder and being a 256-state hard decision Viterbi decoder. 제1항에 있어서,The method of claim 1, 상기 통합된 8-상태 연성-출력 비터비 알고리즘 디코더와 256-상태 비터비 디코더는 디코딩 시 상태를 묶어 한번에 디코딩하도록 계산하는 8/256-상태 가산비교 선택 연산기를 포함하는 것을 특징으로 하는 상기 통합 디코더.The integrated 8-state soft-output Viterbi algorithm decoder and the 256-state Viterbi decoder include an 8 / 256-state addition comparison selector that calculates the decoded bundles of states upon decoding. . 터보 인코더와 비터비 인코더를 함께 지원하는 채널의 수신단에서의 통합 디코딩 방법에 있어서,In the integrated decoding method at the receiving end of the channel supporting the turbo encoder and Viterbi encoder, 경판정 비터비 디코더를 포함하는 연성-출력 비터비 알고리즘을 사용하는 8-상태 연성-출력 비터비 알고리즘 디코더와, 256-상태 경판정 비터비 디코더인 256-상태 비터비 디코더를 통합한 통합 비터비터비 디코더가 상기 비터비 인코더와 상기 터보 인코더에 의해 각각 인코딩된 부호화 입력에 따라 구분하여 연산시 사용할 부호화 입력을 서로 다른 메모리에 저장하는 과정과,Integrated Viterviter integrating an 8-state soft-output Viterbi algorithm decoder using a soft-output Viterbi algorithm with a hard decision Viterbi decoder and a 256-state Viterbi decoder, a 256-state hard decision Viterbi decoder Storing, by the non-decoder, encoded inputs to be used in operation in different memories according to the encoded inputs encoded by the Viterbi encoder and the turbo encoder, respectively; 상기 통합 비터비 디코더가 상기 구분되어 저장된 부호화 입력에 따라 상기 부호화 입력의 상태를 한번에 계산하여 디코딩하는 과정을 포함하는 것을 특징으로 하는 상기 통합 디코딩 방법.And the integrated Viterbi decoder calculates and decodes a state of the encoded input at a time according to the divided and stored encoded inputs. 제3항에 있어서, 상기 디코딩하는 과정은,The method of claim 3, wherein the decoding process comprises: 상기 저장된 부호화 입력이 터보 인코딩된 부호화 입력인 경우 8개의 상태를 한번에 계산하여 터보 디코딩하는 단계와,Calculating and turbo decoding eight states at once when the stored encoded input is a turbo encoded encoded input; 상기 저장된 부호화 입력이 비터비 인코딩된 부호화 입력인 경우 256개의 상태를 상기 터보 디코딩 상태와 맞추어서 8개의 상태로 묶어 한번에 계산하여 비터비 디코딩하는 단계를 포함하는 것을 특징으로 하는 상기 통합 디코딩 방법.And if the stored encoded input is a Viterbi encoded encoded input, calculating the Viterbi decoding by combining 256 states into eight states in accordance with the turbo decoding state and calculating them at once. 제4항에 있어서,The method of claim 4, wherein 상기 비터비 디코딩하는 단계는 상기 비터비 디코딩 처리과정을 32회 반복하여 디코딩함을 특징으로 하는 상기 통합 디코딩 방법.The decoding method of the Viterbi is characterized in that the decoding process by repeating the Viterbi decoding process 32 times.
KR10-2001-0008099A 2001-02-19 2001-02-19 Method for integrated decoding and integrated decoder of viterbi decoder and turbo decoder KR100415116B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-2001-0008099A KR100415116B1 (en) 2001-02-19 2001-02-19 Method for integrated decoding and integrated decoder of viterbi decoder and turbo decoder

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2001-0008099A KR100415116B1 (en) 2001-02-19 2001-02-19 Method for integrated decoding and integrated decoder of viterbi decoder and turbo decoder

Publications (2)

Publication Number Publication Date
KR20020067769A KR20020067769A (en) 2002-08-24
KR100415116B1 true KR100415116B1 (en) 2004-01-13

Family

ID=27694768

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2001-0008099A KR100415116B1 (en) 2001-02-19 2001-02-19 Method for integrated decoding and integrated decoder of viterbi decoder and turbo decoder

Country Status (1)

Country Link
KR (1) KR100415116B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100717275B1 (en) * 2004-02-10 2007-05-15 삼성전자주식회사 Decoding system supporting turbo decoding and viterbi decoding

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI313107B (en) * 2003-11-24 2009-08-01 Unified viterbi/turbo decoder for mobile communication systems
GB2409134B (en) * 2003-12-11 2005-11-09 Motorola Inc A decoder

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001177420A (en) * 1999-10-21 2001-06-29 Sony Internatl Europ Gmbh Turbo decoder, mobile communication unit and turbo decoding method
KR20010075775A (en) * 2000-01-18 2001-08-11 윤종용 Bandwidth-efficient concatenated trellis-coded modulation decoder and method thereof
KR20020020545A (en) * 2000-09-09 2002-03-15 윤종용 Partially shared output buffer architecture of viterbi/turbo decoder in imt2000 mobile modem

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001177420A (en) * 1999-10-21 2001-06-29 Sony Internatl Europ Gmbh Turbo decoder, mobile communication unit and turbo decoding method
KR20010075775A (en) * 2000-01-18 2001-08-11 윤종용 Bandwidth-efficient concatenated trellis-coded modulation decoder and method thereof
KR20020020545A (en) * 2000-09-09 2002-03-15 윤종용 Partially shared output buffer architecture of viterbi/turbo decoder in imt2000 mobile modem

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100717275B1 (en) * 2004-02-10 2007-05-15 삼성전자주식회사 Decoding system supporting turbo decoding and viterbi decoding

Also Published As

Publication number Publication date
KR20020067769A (en) 2002-08-24

Similar Documents

Publication Publication Date Title
US7191377B2 (en) Combined turbo-code/convolutional code decoder, in particular for mobile radio systems
US6445755B1 (en) Two-step soft output viterbi algorithm decoder using modified trace back
CA2352206C (en) Component decoder and method thereof in mobile communication system
US7549113B2 (en) Turbo decoder, turbo decoding method, and operating program of same
US20030097633A1 (en) High speed turbo codes decoder for 3G using pipelined SISO Log-Map decoders architecture
JP2004080508A (en) Decoding method for error correction code, its program, and its device
US7073114B2 (en) Method of decoding utilizing a recursive table-lookup decoding method
US20050091566A1 (en) Method of blindly detecting a transport format of an incident convolutional encoded signal, and corresponding convolutional code decoder
Garrett et al. Low power architecture of the soft-output Viterbi algorithm
US8230307B2 (en) Metric calculations for map decoding using the butterfly structure of the trellis
US7200798B2 (en) Unified serial/parallel concatenated convolutional code decoder architecture and method
US7234100B1 (en) Decoder for trellis-based channel encoding
JP2002111519A (en) Soft input/soft output decoder used for repeated error correction decoding device
KR100390416B1 (en) Method for decoding Turbo
US6950476B2 (en) Apparatus and method for performing SISO decoding
JP3540224B2 (en) Turbo decoder, turbo decoding method, and storage medium storing the method
KR100415116B1 (en) Method for integrated decoding and integrated decoder of viterbi decoder and turbo decoder
US8489972B2 (en) Decoding method and decoding device
Choi et al. Low-power hybrid turbo decoding based on reverse calculation
Cholan Design and implementation of low power high speed Viterbi decoder
JP3823731B2 (en) Error correction decoder
Mathana et al. Low complexity reconfigurable turbo decoder for wireless communication systems
Blazek et al. A DSP-based implementation of a turbo-decoder
KR100436434B1 (en) Turbo decoder that have a state metric, and Calculation method by Using it
Sah Iterative decoding of turbo codes

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20081107

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee