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 PDFInfo
- 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
Links
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/29—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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
- H03M13/2903—Methods and arrangements specifically for encoding, e.g. parallel encoding of a plurality of constituent codes
-
- 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/29—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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
- H03M13/2957—Turbo codes and decoding
-
- 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
-
- 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/6508—Flexibility, adaptability, parametrability and configurability of the implementation
- H03M13/6513—Support 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
본 발명은 비터비 디코더(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)
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)
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)
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)
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 |
-
2001
- 2001-02-19 KR KR10-2001-0008099A patent/KR100415116B1/en not_active IP Right Cessation
Patent Citations (3)
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)
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 |