KR20100117193A - Apparatus for channel encoding in a broadband wireless communication system - Google Patents
Apparatus for channel encoding in a broadband wireless communication system Download PDFInfo
- Publication number
- KR20100117193A KR20100117193A KR1020090035807A KR20090035807A KR20100117193A KR 20100117193 A KR20100117193 A KR 20100117193A KR 1020090035807 A KR1020090035807 A KR 1020090035807A KR 20090035807 A KR20090035807 A KR 20090035807A KR 20100117193 A KR20100117193 A KR 20100117193A
- Authority
- KR
- South Korea
- Prior art keywords
- internal
- data bit
- read address
- ctc
- value
- Prior art date
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/27—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 using interleaving techniques
- H03M13/2771—Internal interleaver for turbo 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/65—Purpose and implementation aspects
- H03M13/6502—Reduction of hardware complexity or efficient processing
-
- 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/6561—Parallelized implementations
-
- 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/0041—Arrangements at the transmitter end
Abstract
Description
본 발명은 광대역 무선 통신 시스템의 채널 부호화 장치에 관한 것으로, 더욱 상세하게는 컨볼루션 터보 코드(Convolutional Turbo Code, 이하 'CTC'라고 함)를 이용한 채널 부호화 장치에 관한 것이다.The present invention relates to a channel encoding apparatus of a broadband wireless communication system, and more particularly, to a channel encoding apparatus using a convolutional turbo code (hereinafter referred to as 'CTC').
최근 들어, 넓은 영역에서 높은 속도의 무선 통신 서비스를 제공하기 위한 휴대 인터넷 시스템, 와이맥스(WiMAX: Worldwide Interoperability for Microwave Access) 시스템 등의 광대역 무선 통신 시스템의 개발이 활발하게 진행되고 있다.Recently, development of broadband wireless communication systems such as a portable Internet system and a WiMAX (Wireless Interoperability for Microwave Access) system for providing high-speed wireless communication services in a wide area are actively underway.
이와 같은, 광대역 무선 통신 시스템에서는 고속의 데이터 전송 시 신뢰성 향상을 위해 송신단에서 정보 비트(bit)에 오류 정정을 위한 부가 비트를 첨부하여 송신하고, 수신단에서 오류 정정 알고리즘을 이용하여 오류를 보정하는 오류 정정 기술을 사용하고 있다.In such a broadband wireless communication system, an error of correcting an error by using an error correction algorithm is transmitted at the transmitting end by attaching an additional bit for error correction to the information bit at the transmitting end in order to improve reliability in high-speed data transmission. Correction technique is used.
광대역 무선 통신 시스템에서는 이러한 오류 정정(FEC: Forward Error Correction) 기술의 하나인 터보 코드(Turbo Code)를 이용한 채널 부호화 장치가 사용되고 있다. 특히, 매 클럭마다 하나의 데이터 비트를 부호화 처리하는 일반적 터보 코드 방식에 비해 좀 더 빠른 데이터 비트 부호화가 가능한 CTC를 이용한 채널 부호화 장치가 널리 사용되고 있다.In a broadband wireless communication system, a channel encoding apparatus using a turbo code, which is one of such forward error correction (FEC) technologies, is used. In particular, a channel encoding apparatus using a CTC capable of encoding data bits faster than that of a general turbo code method that encodes one data bit every clock has been widely used.
도 1은 종래의 CTC 부호화기의 구조를 계략적으로 나타낸 블록도이다.1 is a block diagram schematically illustrating a structure of a conventional CTC encoder.
도 1에서와 같이, 종래의 채널 부호화 장치에 포함되는 CTC 부호화기(100)는 입력되는 데이터 비트 쌍을 순차적으로 RSC(Recursive Systematic Convolutional) 부호화 처리하여 출력하는 제1 내부 인코더(110), 입력되는 데이터 비트 쌍을 인터리빙하여 출력하는 내부 인터리버(120) 및 상기 인터리빙된 데이터 비트 쌍을 입력받아 RSC 부호화 처리하여 출력하는 제2 내부 인코더(130)를 포함한다.As shown in FIG. 1, the
이러한, 종래의 CTC 부호화기(100)에서는 입력되는 L 비트의 데이터 비트열을 각각 2개의 데이터 비트를 포함하는 데이터 비트 쌍 단위로 CTC 부호화한다. 이때, CTC 부호화기(100)에서는 L 비트의 데이터 비트열을 내부 인터리버(120)를 통해 인터리빙하기 위해 메모리(미도시)에 저장하는데 필요한 L/2 클럭, 제1 내부 인코더(110) 및 제2 내부 인코더(130)의 레지스터 초기 값을 검출하는데 필요한 L/2 클럭, 그리고 제1 내부 인코더(110) 및 제2 내부 인코더(130)가 데이터 비트 쌍을 인코딩하여 출력하는데 필요한 L/2 클럭이 소요된다.The
한편, 최근의 광대역 무선 통신 시스템에서는 게임 및 동영상 등의 멀티미디어 서비스를 위한 대용량 데이터의 고속 전송 기술이 요구되고 있다. 그런데, 종래의 CTC 부호화기(100)를 이용하여 2개의 데이터 비트 단위로 CTC 부호화를 수행하는 경우 CTC 부호화 처리를 하는데 긴 시간이 필요하게 되는 단점이 있었다. 따라서, 기존의 채널 부호화 장치에 비해 대용량 데이터에 대한 채널 부호화의 고속 처 리가 가능한 채널 부호화 장치가 필요한 실정이다.On the other hand, in recent broadband wireless communication systems, a high speed data transmission technology for multimedia services such as games and video is required. However, when the CTC encoding is performed in units of two data bits using the
따라서, 본 발명의 목적은, 광대역 무선 통신 시스템에서 입력 데이터에 대한 채널 부호화 처리 시간을 단축시킬 수 있는 채널 부호화 장치를 제공하는데 있다.Accordingly, an object of the present invention is to provide a channel encoding apparatus capable of shortening the channel encoding processing time for input data in a broadband wireless communication system.
그리고, 본 발명의 다른 목적은, 광대역 무선 통신 시스템에서 복수의 데이터 비트 쌍을 동시에 CTC 부호화할 수 있는 채널 부호화 장치를 제공하는데 있다.Another object of the present invention is to provide a channel encoding apparatus capable of simultaneously performing CTC encoding on a plurality of data bit pairs in a broadband wireless communication system.
상기 목적을 위하여, 본 발명의 일 실시예에 따른 광대역 무선 통신 시스템의 채널 부호화 장치는, 입력되는 복수의 데이터 비트 쌍을 일정 개수씩 병렬로 랜덤화하는 랜덤화기; 상기 랜덤화된 복수의 데이터 비트 쌍을 복수의 저장 영역에 동시에 저장한 후, 상기 복수의 저장 영역에 대한 내부 인터리빙 읽기 주소를 이용하여 부호화하는 컨볼루션 터보 코드(CTC: Convolutional Turbo Code) 부호화기; 상기 부호화된 복수의 데이터 비트 쌍을 기설정된 방식에 따라 인터리빙하는 인터리버; 및 상기 인터리빙된 복수의 데이터 비트 쌍을 데이터 패킷으로 생성하는 패킷 생성기를 포함한다.For this purpose, a channel encoding apparatus of a broadband wireless communication system according to an embodiment of the present invention includes a randomizer for randomizing a plurality of input data bit pairs in parallel by a predetermined number; A convolutional turbo code (CTC) encoder for simultaneously storing the plurality of randomized pairs of data in a plurality of storage regions and then encoding the data using an internal interleaving read address for the plurality of storage regions; An interleaver for interleaving the encoded plurality of data bit pairs according to a predetermined scheme; And a packet generator for generating the interleaved plurality of data bit pairs into a data packet.
그리고, 본 발명의 다른 실시예에 따른 컨볼루션 터보 코드(CTC: Convolutional Turbo Code) 부호화 장치는, 입력되는 복수의 데이터 비트 쌍을 기설정된 부호율에 따라 일정 개수씩 동시에 부호화하여 제1 패리티 비트 쌍을 생성하는 제1 인코더; 상기 입력되는 복수의 데이터 비트 쌍을 상기 일정 개수씩 동시 에 복수의 저장 영역에 저장하는 입력 메모리; 상기 복수의 저장 영역의 개수에 상응하는 내부 인코딩 읽기 주소를 동시에 생성하고, 상기 내부 인코딩 읽기 주소에 상응하는 각 저장 영역에 저장된 데이터 비트 쌍을 내부 인터리빙하는 내부 인터리버; 상기 내부 인터리빙된 데이터 비트 쌍을 기설정된 부호율에 따라 상기 일정 개수씩 동시에 부호화하여 제2 패리티 비트 쌍을 생성하는 제2 인코더; 상기 복수의 데이터 비트 쌍 중 상기 일정 개수의 데이터 비트 쌍과 동일한 시스티메틱(systematic) 비트 쌍, 상기 제1 패리티 비트 쌍 및 상기 제2 패리티 비트 쌍을 병합하여 상기 일정 개수에 상응하는 출력 데이터를 생성하는 병합기; 및 상기 생성된 출력 데이터를 상기 일정 개수씩 동시에 저장하는 출력 메모리를 포함한다.The convolutional turbo code (CTC) encoding apparatus according to another embodiment of the present invention simultaneously encodes a plurality of input data bit pairs by a predetermined number according to a predetermined code rate, thereby performing a first parity bit pair. A first encoder for generating a; An input memory configured to store the input plurality of data bit pairs in a plurality of storage areas at the same time by the predetermined number; An internal interleaver for simultaneously generating internal encoded read addresses corresponding to the number of the plurality of storage regions and internally interleaving pairs of data bits stored in each storage region corresponding to the internal encoded read addresses; A second encoder configured to simultaneously encode the internal interleaved data bit pairs by the predetermined number according to a predetermined code rate to generate a second parity bit pair; Among the plurality of data bit pairs, the same systematic bit pair as the predetermined number of data bit pairs, the first parity bit pair, and the second parity bit pair are merged to output output data corresponding to the predetermined number. Generating merger; And an output memory configured to simultaneously store the generated output data by the predetermined number.
본 발명에 실시예에 따르면, 광대역 무선 통신 시스템에서 입력 데이터 비트에 대한 채널 부호화 시 일정 개수의 데이터 비트 쌍을 동시에 CTC 부호화함으로써 채널 부호화 시간을 단축시킬 수 있다.According to an embodiment of the present invention, in the broadband wireless communication system, channel encoding time may be shortened by simultaneously performing CTC encoding on a certain number of pairs of data bits during channel encoding on input data bits.
그리고, 본 발명의 실시예에 따르면, CTC 부호화 시 일정 개수의 데이터 비트 쌍에 대한 CTC 내부 인터리빙을 동시에 처리함으로써 채널 부호화 시간을 단축시킬 수 있다.In addition, according to an embodiment of the present invention, the channel encoding time can be shortened by simultaneously processing CTC internal interleaving for a predetermined number of data bit pairs during CTC encoding.
또한, 본 발명의 실시예에 따르면, 상기 CTC 내부 인터리빙을 위한 메모리 주소 값을 획득하기 위한 수학식의 연산 절차를 간소화하여 효율적인 CTC 내부 인터리빙을 수행할 수 있다.In addition, according to an embodiment of the present invention, an efficient CTC internal interleaving can be performed by simplifying an operation procedure of an equation for obtaining a memory address value for the CTC internal interleaving.
이하에서는 첨부 도면 및 바람직한 실시예를 참조하여 본 발명을 상세히 설명한다. 참고로, 하기 설명에서 본 발명의 요지를 불필요하게 흐릴 수 있는 공지 기능 및 구성에 대한 상세한 설명은 생략하였다.Hereinafter, the present invention will be described in detail with reference to the accompanying drawings and preferred embodiments. For reference, in the following description, detailed descriptions of well-known functions and configurations that may unnecessarily obscure the subject matter of the present invention are omitted.
도 2는 본 발명의 실시예에 따른 채널 부호화 장치의 구조를 나타낸 블록도이다.2 is a block diagram showing the structure of a channel encoding apparatus according to an embodiment of the present invention.
도 2에서와 같이, 본 발명의 실시예에 따른 채널 부호화 장치(200)는 랜덤화기(210), CTC 부호화기(220), 인터리버(230) 및 패킷 생성기(240)를 포함한다.As shown in FIG. 2, the channel encoding
랜덤화기(210)는 FEC 블록(block) 단위의 데이터 비트열을 입력받아, 상기 입력된 데이터 비트열을 복수의 데이터 비트 쌍 단위로 랜덤화한다. 참고로, 상기 데이터 비트 쌍은 K개(본 발명의 실시예에서는,'K=2'인 것을 예로 나타냄)의 데이터 비트를 포함한다.The
이때, 랜덤화기(210)는 매 클럭 마다 복수의 데이터 비트 쌍을 병렬로 랜덤화하여, 상기 랜덤화된 복수의 데이터 비트 쌍을 동시에 CTC 부호화기(220)로 출력한다.At this time, the
예를 들어, 랜덤화기(210)는 한 클럭 당 8 비트의 데이터 비트(즉, 4개의 데이터 비트 쌍)를 병렬로 랜덤화한다. 이때, 제1 클럭에 4개의 데이터 비트 쌍을 병렬로 랜덤화하여 CTC 부호화기(220)로 동시에 출력하고, 제2 클럭에 다음 번 4개의 데이터 비트 쌍을 병렬로 랜덤화하여 CTC 부호화기(220)로 동시에 출력한다. 이와 같은 방식으로, 랜덤화기(210)는 N/4 클럭 동안 N개의 데이터 비트 쌍을 랜덤화하여 CTC 부호화기(220)로 출력한다.For example,
CTC 부호화기(220)는 랜덤화기(210)로부터 입력되는 복수의 데이터 비트 쌍을 특정 부호화율로 부호화한 후 인터리버(230)로 출력한다. 이때, CTC 부호화기(220)는 입력되는 데이터 비트 쌍으로부터 시스티메틱(systematic) 비트 쌍, 제1 패리티(parity) 비트 쌍 및 제2 패리티 비트 쌍을 생성한다. 여기서, 시스티메틱 비트 쌍은 입력되는 원래 데이터 비트 쌍 그대로의 데이터 비트 쌍이고, 제1 패리티 비트 쌍은 원래 데이터 비트 쌍을 특정 부호율로 부호화한 데이터 비트 쌍이며, 제2 패리티 비트 쌍은 원래 데이터 비트 쌍을 CTC 부호화기(220) 내부적으로 인터리빙한 결과를 특정 부호율로 부호화한 데이터 비트 쌍이다.The
특히, 본 발명의 실시예에 따른 CTC 부호화기(220)는 랜덤화기(210)부터 입력되는 복수의 데이터 비트 쌍을 일정 개수(이하, '제1 개수'라고 함)씩 동시에 부호화하여 제1 개수의 출력 데이터를 생성하고, 생성된 제1 개수의 출력 데이터를 저장 영역에 동시에 저장한다.In particular, the
구체적으로, CTC 부호화기(220)는 랜덤화기(210)로부터 입력되는 복수의 데이터 비트 쌍을 입력되는 순서에 따라 제1 개수씩 내부 저장 영역에 동시에 저장한다. 그리고, CTC 부호화기(220)는 매 클럭마다 제1 개수에 상응하는 내부 저장 영역의 읽기 주소를 발생시키고, 내부 저장 영역의 읽기 주소에 상응하는 저장 영역에 저장된 데이터 비트 쌍을 제1 개수씩 획득하여 동시에 부호화함으로써 제2 패리티 비트 쌍을 생성한다. 또한, CTC 부호화기(220)는 랜덤화기(210)로부터 입력되는 복수의 데이터 비트 쌍을 입력되는 순서에 따라 제1 개수씩 동시에 부호화하여 제1 패리티 비트 쌍을 생성한다.In detail, the
예를 들어, 랜덤화기(210)로부터 매 클럭마다 동시에 4개의 데이터 비트 쌍이 입력되면, CTC 부호화기(220)는 입력되는 4개의 데이터 비트 쌍을 4개의 저장 영역에 나누어 저장한다. 참고로, 4개의 저장 영역은 각각 상이한 저장 주소를 갖는 복수의 저장 공간으로 구성된다. 그리고, CTC 부호화기(220)는 각 저장 영역 당 하나의 읽기 주소 즉, 4개의 읽기 주소를 동시에 발생시키고, 발생된 읽기 주소에 상응하는 4개의 저장 영역의 저장 공간으로부터 데이터 비트 쌍을 동시에 획득하여 부호화한다. 이와 같이 함으로써, CTC 부호화기(220)는 한 클럭 당 4개의 데이터 비트 쌍에 대한 제2 패리티 비트 쌍을 생성한다.For example, when four data bit pairs are simultaneously input from the
그리고, 본 발명의 실시예에 따른 CTC 부호화기(220)는 제1 개수의 데이터 비트 쌍에 대응하여 생성된 시스티메틱 비트 쌍, 제1 패리티 비트 쌍 및 제2 패리티 비트 쌍들을 이용하여 제1 개수의 출력 데이터를 생성한다. 그런 후, CTC 부호화기(220)는 생성한 제1 개수의 출력 데이터를 인터리버(230)로 출력한다.In addition, the
이때, CTC 부호화기(220)는 제1 개수의 데이터 비트 쌍의 각 데이터 비트 쌍마다 대응하는 시스테메틱 비트 쌍, 제1 패리티 비트 쌍 및 제2 패리티 비트 쌍을 병합(merge) 처리하여 제1 개수의 출력 데이터를 생성한다. 참고로, CTC 부호화기(220)는 생성된 제1 개수의 출력 데이터들을 저장 영역에 동시에 저장한 후, 인터리버(230)로부터 발생되는 읽기 주소에 상응하는 저장 영역에 저장된 출력 데이터를 상기 인터리버(230)로 출력한다.In this case, the
인터리버(230)는 CTC 부호화기(220)로부터 출력 데이터들을 입력받아 인터리빙(재배열)하여 패킷 생성기(240)로 출력한다. 이때, 인터리버(230)는 CTC 부호화 기(220)를 통해 부호화된 출력 데이터가 저장된 저장 영역에 대한 읽기 주소를 생성한다. 그리고, 인터리버(230)는 생성된 읽기 주소에 상응하는 저장 영역을 활성화시키고, 활성화된 저장 영역에 저장된 출력 데이터를 획득하여 패킷 생성기(240)로 출력함으로써 출력 데이터를 인터리빙 처리한다.The
패킷 생성기(240)는 인터리버(230)로부터 출력되는 데이터들을 특정 부호율에 상응하도록 비트 수를 천공(puncturing) 및 반복(repetition)하여 서브 패킷을 생성한다.The
이하, 도 3 내지 도 5를 참조하여 본 발명의 실시예에 따른 CTC 부호화기 및 CTC 부호화 방법에 대해서 상세히 설명하도록 한다.Hereinafter, a CTC encoder and a CTC encoding method according to an embodiment of the present invention will be described in detail with reference to FIGS. 3 to 5.
도 3는 본 발명의 실시예에 따른 CTC 부호화기의 구조를 나타내는 블록도이다.3 is a block diagram showing the structure of a CTC encoder according to an embodiment of the present invention.
먼저, 도 3에서와 같이, 본 발명의 실시예에 따른 CTC 부호화기(220)는 제1 CTC 내부 인코더(221), CTC 입력 메모리(222), CTC 내부 인터리버(223), 제2 CTC 내부 인코더(224), 병합기(225) 및 CTC 출력 메모리(226)를 포함한다.First, as shown in FIG. 3, the
제1 CTC 내부 인코더(221)는 매 클럭마다 랜덤화기(210)로부터 입력되는 복수의 데이터 비트 쌍을 각각 RSC(Recursive Systematic Convolutional) 부호를 이용하여 동시에 부호화하여 복수의 제1 패리티 비트 쌍을 생성한다. 그리고, 제1 CTC 내부 인코더(221)는 상기 생성된 복수의 제1 패리티 비트 쌍을 병합기(225)로 출력한다.The first CTC
도 3에서는 제1 CTC 내부 인코더(221)가 제1 클럭에 랜덤화기(210)로부터 입 력되는 제1 내지 제4 데이터 비트 쌍(A0 B0, A1 B1, A2 B2, A3 B3)를 동시에 부호화하고, 부호화의 결과로 4개의 제1 패리티 비트 쌍(Y10 W10, Y11 W11, Y12 W12, Y13 W13)을 출력하는 것을 나타내었다. 즉, 제1 CTC 내부 인코더(221)가 N개의 데이터 비트 쌍을 부호화하는 데는 N/4 클럭이 소요된다.In FIG. 3, the first to fourth data bit pairs A 0 B 0 , in which the first CTC
CTC 입력 메모리(222)는 각각 상이한 저장 주소를 갖는 복수의 메모리 뱅크로 구성되며, 매 클럭마다 입력되는 복수의 데이터 비트 쌍을 상기 복수의 메모리 뱅크에 나누어 저장한다. 이때, 도 3에서는 CTC 입력 메모리(222)가 메모리 뱅크 0(201), 메모리 뱅크 1(202), 메모리 뱅크 2(203), 메모리 뱅크 3(204)으로 구성되는 것을 나타내었다.The
구체적으로, 도 3에서와 같이 랜덤화기(210)로부터 입력되는 제1 내지 제4 데이터 비트 쌍(A0 B0, A1 B1, A2 B2, A3 B3)이 한 클럭에 CTC 입력 메모리(222)의 4개의 메모리 뱅크에 나누어 저장된다. 이때, 도 3에서는 입력되는 제1 데이터 비트 쌍(A0, B0)이 메모리 뱅크 0(201)에 저장되고, 제2 데이터 비트 쌍(A1, B1)이 메모리 뱅크 1(202)에 저장되고, 제3 데이터 비트 쌍(A2, B2)이 메모리 뱅크 2(203)에 저장되며, 제4 데이터 비트 쌍(A3, B3)이 메모리 뱅크 3(204)에 동시에 저장되는 것을 나타내었다. 이와 같은 방식으로, CTC 입력 메모리(222)에는 N/4 클럭 동안 N개의 데이터 비트 쌍(A0 B0, A1 B1, A2 B2, A3 B3,......AN-1 BN-1)이 4개씩 순차적으로 저장된다.Specifically, as shown in FIG. 3, the first to fourth data bit pairs A 0 B 0 , input from the
그리고, CTC 입력 메모리(222)는 CTC 내부 인터리버(223)로부터 발생되는 읽기 주소에 상응하는 저장 영역에 저장된 데이터 비트 쌍을 제2 CTC 내부 인코더(224)로 출력한다.The
참고로, 본 발명의 실시예에 따른 채널 부호화 장치(200)에서는 랜덤화기(210)가 복수의 데이터 비트 쌍을 랜덤화하여 일정 개수씩 출력함과 동시에 상기 랜덤화기(210)로부터 출력된 일정 개수의 데이터 비트 쌍이 CTC 입력 메모리(222)에 저장된다. 이때, 랜덤화기(210)로부터 동시에 출력되는 데이터 비트 쌍의 수는 CTC 입력 메모리(222)의 메모리 뱅크 수와 동일하게 설정된다. 따라서, 랜덤화기(210)로부터 4개씩의 데이터 비트 쌍이 출력되고 CTC 입력 메모리(222)가 4개의 메모리 뱅크로 구성될 때, N개의 데이터 비트 쌍을 CTC 입력 메모리(222)에 저장 처리하는 데는 N/4 클럭이 소요된다.For reference, in the
CTC 내부 인터리버(223)는 매 클럭마다 CTC 입력 메모리(222)의 메모리 뱅크 수에 상응하는 읽기 주소를 발생시키고, 발생된 읽기 주소에 상응하는 메모리 뱅크의 저장 공간에 저장된 데이터 비트 쌍들을 획득하여 제2 CTC 내부 인코더(224)로 동시에 출력한다.The CTC
구체적으로, 본 발명의 실시예에 따른 CTC 내부 인터리버(223)는 읽기 주소 생성부(231) 및 멀티플렉서(232)를 포함한다.Specifically, the CTC
읽기 주소 생성부(231)는 CTC 입력 메모리(222)의 메모리 뱅크 수에 상응하는 읽기 주소들을 발생시키고, 발생된 읽기 주소들을 멀티플렉서(232)를 통해 CTC 입력 메모리(222)로 전송한다. 그러면, 상기 읽기 주소들에 상응하는 메모리 뱅크 의 저장 공간이 활성화되어, 활성화된 저장 공간에 저장된 데이터 비트 쌍이 제2 CTC 내부 인코더(224)로 출력된다.The
구체적으로, 본 발명의 실시예에 따른 읽기 주소 생성부(231)는 아래 수학식 1에서와 같이 모듈로(modulo) 연산을 이용하여 CTC 입력 메모리(222)의 각 메모리 뱅크에 대한 읽기 주소 초기 값을 생성한다.Specifically, the
[수학식 1][Equation 1]
for j = 0, … N-1for j = 0,… N-1
switch (j mod 4):switch (j mod 4):
case 0: P(j) = (P0·j + 1) mod Ncase 0: P (j) = (
case 1: P(j) = (P0·j + 1 + N/2 + P1) mod Ncase 1: P (j) = (
case 2: P(j) = (P0·j + 1 + P2) mod Ncase 2: P (j) = (
case 3: P(j) = (P0·j + 1 + N/2 + P3) mod Ncase 3: P (j) = (
수학식 1에서 j는 N개의 데이터 비트 쌍의 수에 상응하는 상수 값이며, P0, P1, P2, P3는 기설정된 상수 값이다. 이때, 읽기 주소 생성부(231)는 j값을 4로 나눈 나머지 값을 기준으로 4개의 case(case 0, case1, case 2, case 3) 중 해당하는 case를 선택하여 P(j) 연산을 수행한다. 즉, 읽기 주소 생성부(231)는 j 값을 4로 나눈 나머지 값이 1이면 case 1, 나머지 값이 2이면 case 2, 나머지 값이 3이면 case 3, 나머지 값이 4이면 case 4의 P(j) 함수 연산을 수행한다. 이와 같이, 읽기 주소 생성부(231)는 상기 해당하는 case의 P(j) 함수를 연산하여 j 번째 읽기 주소 초기 값을 생성한다.In
예를 들어, 본 발명의 실시예에 따른 읽기 주소 생성부(231)는 한 카운터 당 4개의 변수 j 값을 수학식 1에 대입하여 4개의 case 별로 P(j) 연산을 동시에 수행하고, 연산의 결과로서 4개의 읽기 주소 초기 값을 동시에 생성한다. 참고로, 상기 4개의 변수 j 값은 연속하여 '1'씩 증가하는 상수 값으로 설정된다. 이와 같이, 동시에 4개의 변수 j 값을 상기 수학식 1에 대입하여 4개의 P(j) 함수를 연산함으로써, N/4개의 카운터 동안 N개의 P(j) 연산을 수행할 수 있다.For example, the
그런 다음, 읽기 주소 생성부(231)는 상기 생성된 읽기 주소 초기 값을 이용하여 CTC 입력 메모리(222)의 각 메모리 뱅크에 상응하는 읽기 주소 정보를 생성한다. 그런 후, 읽기 주소 생성부(231)는 상기 생성된 읽기 주소 정보를 멀티플렉서(232)로 전송한다.Then, the
여기서, 상기 읽기 주소 정보는 CTC 읽기 메모리(222)의 메모리 뱅크를 선택하기 위한 저장 영역 선택 값 및 각 저장 영역의 저장 주소에 매칭되는 읽기 주소 값을 포함한다. 이때, 읽기 주소 생성부(231)는 생성된 읽기 주소 초기 값의 하위 2비트 값에 기준하여 저장 영역 선택 값을 생성하고, 상기 읽기 주소 초기 값을 4로 나눈 몫에 기준하여 읽기 주소 값을 생성한다.In this case, the read address information includes a storage area selection value for selecting a memory bank of the CTC read
예를 들어, 도 3에서는 읽기 주소 생성부(231)가 변수 j의 값이 1 내지 4일 때의 수학식 1의 4개의 case의 P(j) 함수 연산을 통해 4개의 읽기 주소 초기 값을 생성하고, 생성한 4개의 읽기 주소 초기 값을 이용하여 CTC 입력 메모리(222)의 메 모리 뱅크의 읽기 주소 정보인 P(0), P(1), P(2), P(3)를 생성한 것을 나타내었다.For example, in FIG. 3, the
멀티플렉서(232)는 읽기 주소 생성부(231)로부터 복수의 읽기 주소 정보를 동시에 입력 받고, 입력된 복수의 읽기 주소 정보에 상응하는 CTC 입력 메모리(222)의 각 메모리 뱅크에 저장된 데이터 비트 쌍이 제2 CTC 내부 인코더(224)로 출력되도록 제어한다.The
이때, 멀티플렉서(232)는 기설정된 규칙에 따라 일부 데이터 비트 쌍에 대해 비트 교환을 수행한 후 출력되도록 제어한다. 구체적으로, 멀티플렉서(232)는 상기 변수 j 값들 중 특정 j 값을 이용하여 생성된 읽기 주소 값을 이용하여 획득한 데이터 비트 쌍의 경우 데이터 비트의 순서를 교환하여 출력되도록 한다. 참고로, 상기 특정 j 값은 연속하는 N개의 j 값 중 짝수 또는 홀수 번째 값으로 설정될 수 있다.At this time, the
그리고, 도 3에서는 멀티플렉서(232)가 읽기 주소 생성부(231)로부터 생성된 읽기 주소 정보 P(0), P(1), P(2), P(3)를 입력받아, CTC 읽기 메모리(222)로부터 4개의 데이터 비트 쌍이 출력되도록 제어하는 것을 나타내었다.In addition, in FIG. 3, the
제2 CTC 내부 인코더(224)는 CTC 입력 메모리(222)로부터 매 클럭마다 입력되는 복수의 데이터 비트 쌍을 각각 RSC 부호를 이용하여 동시에 부호화하여 복수의 제2 패리티 비트 쌍을 생성한다. 그리고, 제2 CTC 내부 인코더(224)는 상기 생성된 복수의 제2 패리티 비트 쌍을 동시에 병합기(225)로 출력한다.The second CTC
도 3에서는 제2 CTC 내부 인코더(224)가 제1 클럭에 CTC 입력 메모리(222)로부터 입력되는 제1 내지 제4 데이터 비트 쌍을 동시에 부호화하고, 상기 부호화의 결과로 4개의 제2 패리티 비트 쌍(Y20 W20, Y21 W21, Y22 W22, Y23 W23)을 출력하는 것을 나타내었다. 즉, 제2 CTC 내부 인코더(224)가 N개의 데이터 비트 쌍을 부호화하는 데는 N/4 클럭이 소요된다.In FIG. 3, the second CTC
병합기(225)는 제1 CTC 내부 인코더(221) 및 제2 CTC 내부 인코더(224)로부터 입력되는 복수의 제1 패리티 비트 쌍 및 복수의 제2 패리티 비트 쌍과, 랜덤화기(210)로부터 입력된 원래 데이터 비트 쌍과 동일한 복수의 시스티메틱 비트 쌍을 병합하여 복수의 출력 데이터를 생성한다. 그리고, 병합기(225)는 복수의 출력 데이터를 CTC 출력 메모리(226)의 복수의 저장 영역에 나누어 저장한다.The
도 3에서는 병합기(225)를 통해서 각각 4개씩의 시스티메틱 비트 쌍과 제1 및 제2 패리티 비트 쌍을 병합 처리하여 생성한 4개의 출력 데이터(A0 B0 Y10 Y20 W10 W20, A1 B1 Y11 Y21 W11 W21, A2 B2 Y12 Y22 W12 W22, A3 B3 Y13 Y23 W13 W23)가 CTC 출력 메모리(226)의 각 저장 영역에 나누어 저장되는 것을 나타내었다.In FIG. 3, four output data generated by merging four systematic bit pairs and first and second parity bit pairs through a merger 225 (A 0 B 0 Y 1 0 Y 2 0 W 1 0 W 2) 0 , A 1 B 1 Y1 1 Y2 1 W1 1 W2 1 , A 2 B 2 Y1 2 Y2 2 W1 2 W2 2 , A 3 B 3 Y1 3 Y2 3 W1 3 W2 3 ) are each in the
CTC 출력 메모리(226)는 각각 복수의 저장 주소를 갖는 복수의 메모리 뱅크로 구성되며, 매 클럭마다 입력되는 복수의 데이터 비트 쌍을 상기 복수의 메모리 뱅크에 동시에 나누어 저장한다.The
이때, 도 3에서는 CTC 출력 메모리(226)가 메모리 뱅크 0(261), 메모리 뱅크 1(262), 메모리 뱅크 2(263), 메모리 뱅크 3(264)를 포함하는 것을 나타내었다. 그리고, CTC 출력 메모리(226)는 인터리버(230)로부터 발생된 읽기 주소에 따라 해당 저장 영역의 저장 주소에 매칭되어 저장된 출력 데이터를 인터리버(230)로 전송한 다.3 shows that the
이처럼, 본 발명의 실시예에 따른 CTC 부호화기(220)는, 랜덤화기(210)로부터 입력되는 N개의 데이터 비트 쌍을 CTC 입력 메모리(222)의 4개의 메모리 뱅크에 저장하는데 필요한 N/4 클럭, 제1 내부 CTC 인코더(221) 및 제2 내부 CTC 인코더(224)에서 데이터 비트 쌍을 부호화하는데 필요한 N/4 클럭, 그리고 병합기(225)를 통해 생성된 출력 데이터를 출력하는데 필요한 N/4 클럭이 소요된다.As such, the
한편, 도 3에서는 읽기 주소 생성부(231)가 N/4 카운터 동안 상기 수학식 1에서 나타낸 4개의 case의 P(j) 연산을 수행하여 N개의 읽기 주소 초기 값을 생성하는 것을 나타내었다. 그런데, 본 발명의 실시예에 따른 읽기 주소 생성부(231)는 이하 도 4에서 나타낸 알고리즘을 이용하여 좀 더 효율적으로 읽기 주소 초기 값을 생성할 수 있다.Meanwhile, FIG. 3 shows that the
도 4는 본 발명의 실시예에 따른 읽기 주소 생성 방법을 설명하기 위한 순서도이다. 그리고, 도 5는 본 발명의 실시예에 따른 CTC 내부 인터리버의 매개 변수 테이블을 나타낸 도면이다.4 is a flowchart illustrating a read address generation method according to an embodiment of the present invention. 5 is a diagram illustrating a parameter table of a CTC internal interleaver according to an embodiment of the present invention.
도 4에서는, N개의 데이터 비트 쌍 입력 시 상기 수학식 1을 이용하여 최초 4개의 읽기 주소 초기 값을 생성하고, 상기 생성된 최초 4개의 읽기 주소 초기 값 및 기설정된 기준 증가 값(JN: Jumping Number, 이하 'JN'이라고 함)을 이용하여 나머지 N-4 개의 읽기 주소를 생성하는 방법을 나타내었다. 참고로, JN은 상기 최초 4개의 읽기 주소 초기 값 이후의 읽기 주소 초기 값들에 적용될 상수 값이다.In FIG. 4, when the N data bit pairs are input, the first four read address initial values are generated using
그리고, 도 5에서는 본 발명의 실시예에 따른 읽기 주소 생성부(231)가 N개 의 j 값에 대해 상기 수학식 1의 P(j) 함수를 연산한 결과를 이용하여 상기 최초 4개의 읽기 주소 초기 값들 및 상기 JN을 생성한 결과인 매개 변수 테이블을 나타내었다.In FIG. 5, the first four read addresses using the result of calculating the P (j) function of
이때, 도 5에서는 본 발명의 실시예에 따른 광대역 무선 통신 시스템에서 사용되는 FEC 블록의 크기를 12개로 구분한 매개 변수 테이블을 나타내었다. 참고로, 상기 매개 변수 테이블에는, 상기 12개의 FEC 블록 크기에 대해 각각의 최초 읽기 주소 초기 값 및 JN이 매칭되어 저장되어 있다.5 shows a parameter table in which the size of the FEC block used in the broadband wireless communication system according to the embodiment of the present invention is divided into 12 pieces. For reference, the initial read address initial value and the JN of each of the 12 FEC block sizes are matched and stored in the parameter table.
먼저, 상기 수학식 1을 이용하여 최초 읽기 주소 초기 값(P0, P1, P2, P3)을 설정한다(S410).First, the initial read address initial values P0, P1, P2, and P3 are set using Equation 1 (S410).
이때, 본 발명의 실시예에 따른 읽기 주소 생성 방법에서는, N개의 데이터 비트 쌍이 나누어 저장된 저장 영역의 개수에 상응하는 복수의 읽기 주소를 동시에 발생시킨다.At this time, in the method of generating a read address according to an embodiment of the present invention, a plurality of read addresses corresponding to the number of storage regions in which N data bit pairs are divided and stored are simultaneously generated.
예를 들어, 4개의 저장 영역에 나누어 저장된 데이터 비트 쌍들을 동시에 4개씩 획득하기 위해서는 카운터 당 4개의 읽기 주소를 동시에 발생시킨다.For example, in order to simultaneously acquire four data bit pairs divided and stored in four storage areas, four read addresses per counter are generated simultaneously.
구체적으로, 단계 S410에서는 카운터 값 i가 0일 때 4개의 최초 읽기 주소 초기 값이 설정되고, 4개의 최초 읽기 주소 초기 값은 상기 수학식 1에서 j 값이 0 내지 3일 때 각 case의 P(j) 함수 연산을 통해 계산된다.Specifically, in step S410, four initial read address initial values are set when the counter value i is 0, and the four initial read address initial values are set to P of each case when j values are 0 to 3 in
참고로, 48 비트의 FEC 블록 즉, 24개의 데이터 비트 쌍(N=24)이 입력될 때, 4개의 최초 읽기 주소 초기 값은 도 5의 매개 변수 테이블에서와 같이 P0 = 1, P1 = 18, P2 = 11, P3 = 4의 값을 갖는다. 그리고, 상기 4개의 최초 읽기 주소 초기 값의 각 하위 2 비트 값에 기준하여 복수의 저장 영역 중 해당 저장 영역을 선택하기 위한 저장 영역 선택 값이 생성되고, 상기 4개의 최초 읽기 주소 초기 값을 각각 4로 나눈 몫이 읽기 주소 값으로 생성된다.For reference, when a 48-bit FEC block, that is, 24 data bit pairs (N = 24) is input, the four initial read address initial values are P0 = 1, P1 = 18, as shown in the parameter table of FIG. It has a value of P2 = 11 and P3 = 4. A storage area selection value for selecting a corresponding storage area among a plurality of storage areas is generated based on each of the lower two bit values of the four initial read address initial values, and each of the four initial read address initial values is 4. The quotient divided by is generated as the read address value.
다음, 기설정된 읽기 주소 초기 값들(이하, '제1 읽기 주소 초기값'이라고 함)에 기설정된 JN을 각각 더하여 제2 읽기 주소 초기 값을 설정한다(S420).Next, a second read address initial value is set by adding preset JNs to preset read address initial values (hereinafter, referred to as 'first read address initial value') (S420).
이때, 도 4에서는 상기 수학식 1을 통해 설정되는 4개의 읽기 주소 초기 값을 PO(i), P1(i), P2(i), P3(i)로 나타내었다. 또한, 상기 JN은 입력되는 전체 데이터 비트 쌍의 개수(N)에 상응하는 변수 j의 값들을 상기 수학식 1에 순차적으로 대입하여 연산한 결과를 이용하여 기설정된 상수 값이다.In FIG. 4, four initial read address values set through
구체적으로, '1'의 값씩 증가하는 j의 값을 상기 수학식 1의 4개의 case 별 P(j) 함수 연산에 각각 대입하여 연산하면, 4개의 P(j) 함수 연산 결과 값을 획득할 수 있다. 이와 같은 방식으로, N개의 j 값을 순차적으로 상기 수학식 1의 P(j) 함수 연산에 대입하여 획득한 결과 값들로부터 규칙적인 증가 값(JN)을 연산할 수 있다. 예를 들어, 도 5에서는 N의 값이 24일 때, 24개의 변수 j의 값에 대해서 상기 수학식 1을 연산한 결과에 상응하는 JN의 값이 20인 것을 나타내었다. 이와 같은 방식으로, 나머지 11개의 N 값에 상응하는 각 JN의 값을 연산하여 12개의 JN 값을 매개 변수 테이블에 저장해둠으로써 최초 읽기 주소 초기 값 이후의 읽기 주소 초기 값들을 신속하게 설정할 수 있다.Specifically, if the value of j increasing by the value of '1' is substituted into each of the four case-specific P (j) function operations of
한편, 상기 제1 읽기 주소 초기 값에 JN을 더한 제2 읽기 주소 초기 값은 입력되는 전체 데이터 비트 쌍의 수(N)를 초과하지 않는다.Meanwhile, the second read address initial value obtained by adding JN to the first read address initial value does not exceed the number N of the entire data bit pairs.
따라서, 단계 S420 이후 제2 읽기 주소 초기 값이 각각 전체 데이터 비트 쌍의 수(N) 이상의 값을 갖는지 판단하고, 상기 이상의 값을 갖는 경우 제2 읽기 주소 초기 값이 상기 N 값 이하의 값을 갖도록 연산 처리하여 제3 읽기 주소 초기 값을 생성한다(S430).Therefore, after step S420, it is determined whether the second read address initial value has a value greater than or equal to the number N of all data bit pairs, and when the second read address initial value has the above value, the second read address initial value has a value less than or equal to the N value. An operation process generates a third read address initial value (S430).
구체적으로, 단계 S430에서 판단한 결과, 제2 읽기 주소 초기 값 중 상기 N 값 이상의 값을 갖는 제2 읽기 주소 초기 값에 대해서는 상기 N 값을 제한 제3 읽기 주소 초기 값을 생성하고, 제2 읽기 주소 초기 값 중 상기 N 값 미만의 값을 갖는 제2 읽기 주소 초기 값에 대해서는 단계 S420에서 설정된 제2 읽기 주소 초기 값 그대로의 제3 읽기 주소 초기 값을 생성한다.In detail, as a result of the determination in step S430, for the second read address initial value having the value equal to or greater than the N value among the second read address initial values, the third read address initial value is limited to the N value, and the second read address is generated. For the second read address initial value having a value less than the N value among the initial values, a third read address initial value as the second read address initial value set in step S420 is generated.
그런 다음, 상기 N 값 이하의 값을 갖는 제3 읽기 주소 초기 값을 출력하여 복수의 읽기 주소 정보를 생성한다(S440).Then, a plurality of read address information is generated by outputting an initial value of a third read address having a value equal to or less than the N value (S440).
이때, 읽기 주소 정보는 저장 영역 선택 값 및 읽기 주소 값을 포함한다. 여기서, 제3 읽기 주소 초기 값의 각 하위 2비트에 기준하여 복수의 저장 영역 중 해당 저장 영역을 선택하기 위한 저장 영역 선택 값을 생성하고, 제3 읽기 주소 초기 값을 각각 4로 나눈 몫을 읽기 주소 값으로 생성한다.In this case, the read address information includes a storage area selection value and a read address value. Here, a storage area selection value for selecting a corresponding storage area among a plurality of storage areas is generated based on each of the lower 2 bits of the third read address initial value, and the quotient of dividing the third read address initial value by 4 is read. Create with address value.
예를 들어, 도 5의 매개 변수 테이블을 참고할 때, 입력되는 전체 데이터 비트 쌍이 24개(N=24)이면 기설정된 최초 읽기 주소 값(즉, 제1 읽기 주소 초기 값)은 P0 = 1, P1 = 18, P2 = 11, P3 = 4이고, 다음의 읽기 주소 초기 값(즉, 제2 읽기 주소 초기 값)은 P0 = 21, P1 = 38, P2 = 31, P3 = 24의 값(즉, i = 1 일 때의 제2 읽기 주소 초기 값)을 갖는다. 이때, 제2 읽기 주소 초기 값 중 P1, P2, P3는 각각 N 값 이상의 값을 가지므로, 각각 N 값을 제하는 연산을 수행한다. 그 결과, i = 1일 때의 제3 읽기 주소 초기 값은 P0 = 21, P1 = 14, P2 = 7, P3 = 0의 값을 갖는다. 그러면, 제3 읽기 주소 초기 값들의 하위 2비트는 P0에서 '01', P1에서 '10', P2에서 '11', P3에서 '00'이고, 이에 따라 P0, P1, P2, P3는 각각 제1 내지 제4 저장 영역을 선택하는 저장 영역 선택 값이다. 또한, 제3 읽기 주소 초기 값을 각각 4로 나눈 몫은 P0에서 5, P1에서 3, P2에서 1, P3에서 0이고, 상기 몫들은 각각 읽기 주소 값이 된다. 이와 같은 방식으로, N/4 카운터(즉, i = 6) 동안 24 개의 데이터 비트 쌍에 대한 읽기 주소 정보를 생성할 수 있다.For example, referring to the parameter table of FIG. 5, if there are 24 total data bit pairs input (N = 24), the preset initial read address value (that is, the first read address initial value) is P0 = 1, P1. = 18, P2 = 11, P3 = 4, and the next read address initial value (that is, the second read address initial value) is P0 = 21, P1 = 38, P2 = 31, P3 = 24, i. Second read address initial value when = 1). At this time, since P1, P2, and P3 of the initial values of the second read address each have a value of N or more, the operation of subtracting the N value is performed. As a result, the initial value of the third read address when i = 1 has a value of P0 = 21, P1 = 14, P2 = 7, P3 = 0. Then, the lower two bits of the third read address initial values are '01' at P0, '10' at P1, '11' at P2, and '00' at P3, so that P0, P1, P2, and P3 are each A storage area selection value for selecting the first to fourth storage areas. In addition, the quotients of the third read address initial value divided by 4 are 5 at P0, 3 at P1, 1 at P2, and 0 at P3, respectively, and the shares are read address values. In this way, read address information for 24 data bit pairs can be generated during the N / 4 counter (i.e. i = 6).
그런 다음, 상기 생성된 복수의 읽기 주소 정보에 상응하는 카운터 i 값이 (N/4)-1 값을 초과하는지 판단한다(S450).Then, it is determined whether the counter i value corresponding to the generated plurality of read address information exceeds the (N / 4) -1 value (S450).
이때, 본 발명의 실시예에 따른 읽기 주소 생성 방법에서는 4개의 읽기 주소가 동시에 생성되는 것을 나타내었으며, 따라서 상기 수학식 1의 4개의 case의 P(j) 함수는 각각 입력 데이터 비트 쌍 수(N)를 4로 나눈 횟수만큼 연산된다. 즉, 상기 카운터 i는 0부터 (N/4-1)까지의 횟수 동안 카운팅 된다. In this case, the read address generation method according to the embodiment of the present invention shows that four read addresses are generated at the same time. Therefore, the P (j) functions of the four cases of
한편, S450 단계에서 i의 값이 (N/4)-1 값 미만의 값일 경우 상기 S420 단계로 회귀하여 i의 값을 '1'증가시켜 상기 수학식 1을 연산한다. 반면, S450 단계에서 i의 값이 (N/4)-1의 값을 초과하면 읽기 주소 생성 연산을 종료한다.On the other hand, if the value of i is less than the (N / 4) -1 value in step S450 to return to step S420 to increase the value of i '1' to calculate the equation (1). On the other hand, when the value of i exceeds the value of (N / 4) -1 in step S450, the read address generation operation ends.
이처럼, 본 발명의 실시예에 따른 읽기 주소 생성 방법에 따르면, 사전에 상기 수학식 1을 수행하여 생성한 최초 읽기 주소 초기 값 및 JN 값을 매개변수 테이블로 저장하고, 상기 매개변수 테이블을 이용하여 입력되는 전체 데이터 비트 쌍의 수에 상응하는 읽기 주소 초기 값을 생성한다. 이와 같이 함으로써, 상기 수학식 1의 연산 과정을 줄일 수 있어 좀 더 신속하고 간편하게 읽기 주소 정보를 생성할 수 있다.As described above, according to the method of generating a read address according to an embodiment of the present invention, the initial read address initial value and the JN value generated by performing
도 6은 본 발명의 실시예에 따른 채널 부호화 방법을 설명하기 위한 순서도 이다.6 is a flowchart illustrating a channel encoding method according to an embodiment of the present invention.
도 6에서와 같이, 본 발명의 실시예에 따른 채널 부호화 방법에서는, 먼저 입력되는 복수의 데이터 비트 쌍을 병렬로 랜덤화한다(S610).As shown in FIG. 6, in the channel encoding method according to the embodiment of the present invention, a plurality of data bit pairs inputted first are randomized in parallel (S610).
그리고, 상기 랜덤화된 복수의 데이터 비트 쌍에 대해 동시에 CTC 부호화를 수행한다(S620).Then, CTC encoding is simultaneously performed on the plurality of randomized data bit pairs (S620).
구체적으로, CTC 부호화 시 상기 복수의 데이터 비트 쌍에 대해, 입력 데이터 비트 쌍과 동일한 시스티메틱 비트 쌍, 입력 데이터 비트 쌍을 RSC 부호를 이용하여 부호화한 제1 패리티 비트 쌍 및 입력 데이터 비트 쌍을 인터리빙한 후 RSC 부호를 이용하여 부호화한 제2 패리티 비트 쌍을 생성한다. 이때, 시스티메틱 비트 쌍과 제1 및 제2 패리티 비트 쌍들을 각각 병합 처리하여 CTC 부호화된 복수의 데이터 비트 쌍(즉, 출력 데이터)을 생성한다.Specifically, in the CTC encoding, the first parity bit pair and the input data bit pair obtained by encoding the same systematic bit pair and the input data bit pair using the RSC code for the plurality of data bit pairs. After interleaving, a second parity bit pair encoded using an RSC code is generated. In this case, the systematic bit pair and the first and second parity bit pairs are merged to generate a plurality of CTC-coded data bit pairs (ie, output data).
그런 다음, 상기 CTC 부호화된 복수의 데이터 비트 쌍에 대해 인터리빙을 수행한다(S630).Then, interleaving is performed on the plurality of CTC-coded data bit pairs (S630).
마지막으로, 상기 인터리빙된 복수의 데이터 비트 쌍을 데이터 패킷으로 생성한다(S640). 이때, 상기 인터리빙된 복수의 데이터 비트 쌍에서 각각 불필요한 비트를 삭제(천공)하거나 반복하여 상기 데이터 패킷을 생성한다.Finally, the plurality of interleaved data bit pairs are generated as data packets (S640). At this time, unnecessary bits are deleted (punched) or repeated in the plurality of interleaved data bit pairs to generate the data packet.
도 7은 도 6에서의 CTC 부호화 단계를 설명하기 위한 순서도이다.FIG. 7 is a flowchart for explaining a CTC encoding step in FIG. 6.
도 7에서와 같이, 본 발명의 실시예에 따른 채널 부호화 시 CTC 부호화 단계에서는, 먼저 입력되는 랜덤화된 복수개의 데이터 비트 쌍들을 M 개씩 입력 저장 영역에 동시에 저장한다(S710). 이때, 입력되는 전체 데이터 비트 쌍 중 M 개의 데이터 비트 쌍이 M 개의 저장 영역에 동시에 저장된다.As shown in FIG. 7, in the CTC encoding step according to the embodiment of the present invention, first, a plurality of M randomized pairs of data bits that are input first are simultaneously stored in the input storage region (S710). At this time, M data bit pairs among all input data bit pairs are simultaneously stored in M storage areas.
그런 다음, M 개의 저장 영역에 대한 M 개의 읽기 주소를 동시에 발생시키고, 상기 저장된 데이터 비트 쌍들 중 M 개의 읽기 주소에 상응하는 주소에 저장된 데이터 비트 쌍부터 M 개씩 순차적으로 인터리빙한다(S720).Thereafter, M read addresses for the M storage areas are simultaneously generated, and M read data pairs are sequentially interleaved from M bit pairs stored at an address corresponding to M read addresses among the stored data bit pairs (S720).
그리고, 입력되는 데이터 비트 쌍들을 M 개씩 부호화하여 M 개의 제1 패리티 비트 쌍을 생성하고, 상기 인터리빙된 M 개의 데이터 비트 쌍을 부호화하여 M 개의 제2 패리티 비트 쌍을 생성한다(S730).In operation S730, M input data pairs are encoded by M to generate M first parity bit pairs, and the M interleaved M data bit pairs are encoded to generate M second parity bit pairs (S730).
그런 후, 입력되는 원래 데이터 비트 쌍과 동일한 M 개의 데이터 비트 쌍, 상기 M개의 제1 패리티 비트 쌍 및 상기 M개의 제2 패리티 비트 쌍에 대해 병합처리를 수행하여 M개의 출력 데이터를 생성한다(S740).Thereafter, M output data is generated by performing merge processing on the M data bit pairs, the M first parity bit pairs, and the M second parity bit pairs identical to the input original data bit pairs (S740). ).
상기 생성된 M개의 출력 데이터를 M개의 출력 저장 영역에 나누어 동시에 저장한다(S750).The generated M output data are divided and stored in M output storage areas at the same time (S750).
이와 같이, 출력 저장 영역에 저장된 출력 데이터들은 이후 인터리버로부터 발생된 읽기 주소에 상응하는 저장 영역에 저장된 출력 데이터부터 인터리빙된다.As such, the output data stored in the output storage area are then interleaved from the output data stored in the storage area corresponding to the read address generated from the interleaver.
지금까지 본 발명을 바람직한 실시예를 참조하여 상세히 설명하였지만, 본 발명이 속하는 기술분야의 당업자는 본 발명이 그 기술적 사상이나 필수적 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있으므로, 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로서 이해해야만 한다.Although the present invention has been described in detail with reference to the preferred embodiments, those skilled in the art to which the present invention pertains can implement the present invention in other specific forms without changing the technical spirit or essential features, The examples are to be understood in all respects as illustrative and not restrictive.
그리고, 본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 특정되는 것이며, 특허청구범위의 의미 및 범위 그리고 그 등가개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.In addition, the scope of the present invention is specified by the appended claims rather than the detailed description, and all changes or modifications derived from the meaning and scope of the claims and their equivalent concepts are included in the scope of the present invention. Should be interpreted as
도 1은 종래의 CTC 부호화기의 구조를 계략적으로 나타낸 블록도이다.1 is a block diagram schematically illustrating a structure of a conventional CTC encoder.
도 2는 본 발명의 실시예에 따른 채널 부호화 장치의 구조를 나타낸 블록도이다.2 is a block diagram showing the structure of a channel encoding apparatus according to an embodiment of the present invention.
도 3는 본 발명의 실시예에 따른 CTC 부호화기의 구조를 나타내는 블록도이다.3 is a block diagram showing the structure of a CTC encoder according to an embodiment of the present invention.
도 4는 본 발명의 실시예에 따른 읽기 주소 생성 방법을 설명하기 위한 순서도이다.4 is a flowchart illustrating a read address generation method according to an embodiment of the present invention.
도 5는 본 발명의 실시예에 따른 CTC 내부 인터리버의 매개 변수 테이블을 나타낸 도면이다.5 is a diagram illustrating a parameter table of a CTC internal interleaver according to an embodiment of the present invention.
도 6은 본 발명의 실시예에 따른 채널 부호화 방법을 설명하기 위한 순서도 이다.6 is a flowchart illustrating a channel encoding method according to an embodiment of the present invention.
도 7은 도 6에서의 CTC 부호화 단계를 설명하기 위한 순서도이다.FIG. 7 is a flowchart for explaining a CTC encoding step in FIG. 6.
Claims (11)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020090035807A KR20100117193A (en) | 2009-04-24 | 2009-04-24 | Apparatus for channel encoding in a broadband wireless communication system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020090035807A KR20100117193A (en) | 2009-04-24 | 2009-04-24 | Apparatus for channel encoding in a broadband wireless communication system |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20100117193A true KR20100117193A (en) | 2010-11-03 |
Family
ID=43403846
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020090035807A KR20100117193A (en) | 2009-04-24 | 2009-04-24 | Apparatus for channel encoding in a broadband wireless communication system |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20100117193A (en) |
-
2009
- 2009-04-24 KR KR1020090035807A patent/KR20100117193A/en not_active Application Discontinuation
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2376702C2 (en) | Turbo decoder which uses linear congruent sequences | |
CN101553990B (en) | Determination of interleaver sizes for turbo codes | |
US20130318416A1 (en) | Rate Matching And Channel Interleaving For A Communications System | |
KR101588306B1 (en) | Turbo-product codes (tpc) with interleaving | |
JP4553330B2 (en) | Encoding apparatus and method, decoding apparatus and method, information processing apparatus and method, and storage medium | |
CN110999095B (en) | Block-wise parallel freeze bit generation for polarization codes | |
CN103873071B (en) | A kind of forward error correction coding, interpretation method and device, communication equipment and system | |
CN101371448B (en) | Fast encoding and decoding methods and related devices | |
US8555133B2 (en) | Rate matching apparatus and rate matching method thereof | |
KR102244117B1 (en) | Method and apparatus for processing rate matching of polar codes | |
CN101151806B (en) | Memory efficient interleaving / de-interleaving utilizing the periodicity of the mapping function | |
US20070220377A1 (en) | Interleaving apparatus and method in communication system | |
KR20060121312A (en) | Convolutional turbo code interleaver | |
US20200067638A1 (en) | Encoding method and apparatus | |
Yoo et al. | Reverse rate matching for low-power LTE-advanced turbo decoders | |
KR20100117193A (en) | Apparatus for channel encoding in a broadband wireless communication system | |
CN101667839B (en) | Interleaving method | |
JP2023519407A (en) | Coding method and apparatus for data communication | |
CN109391365B (en) | Interleaving method and device | |
KR20120071511A (en) | Method and apparatus for data rate matching for mobile communication systems | |
CN116318552B (en) | Interleaving or de-interleaving method for Turbo code, device, communication chip and device thereof | |
CN111600613B (en) | Verification method, verification device, decoder, receiver and computer storage medium | |
JP2010004100A (en) | Transmission data generator | |
JP2003188737A (en) | Interleave processing method and interleave processor | |
CN109495208B (en) | Encoding method and device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E601 | Decision to refuse application |