KR20100117193A - Apparatus for channel encoding in a broadband wireless communication system - Google Patents

Apparatus for channel encoding in a broadband wireless communication system Download PDF

Info

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
Application number
KR1020090035807A
Other languages
Korean (ko)
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 KR1020090035807A priority Critical patent/KR20100117193A/en
Publication of KR20100117193A publication Critical patent/KR20100117193A/en

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/27Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes using interleaving techniques
    • H03M13/2771Internal interleaver for turbo 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/65Purpose and implementation aspects
    • H03M13/6502Reduction of hardware complexity or efficient processing
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/65Purpose and implementation aspects
    • H03M13/6561Parallelized implementations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0041Arrangements at the transmitter end

Abstract

PURPOSE: An apparatus for channel encoding in a broadband wireless communication system is provided to shorten channel coding time by CTC(Convolutional Turbo Code) coding a certain number of pairs of data bits at the same time. CONSTITUTION: A randomizer(210) parallely randomizes a certain number of multiple data bit pairs. A convolution turbo codes encoder(220) stores a plurality of randomized data bit pairs in a plurality of storage area at the same time. The convolution turbo code encodes a data bit pair by using an internal interleaving read address for the storage areas.

Description

광대역 무선 통신 시스템의 채널 부호화 장치{Apparatus for channel encoding in a broadband wireless communication system}Apparatus for channel encoding in a broadband wireless communication system

본 발명은 광대역 무선 통신 시스템의 채널 부호화 장치에 관한 것으로, 더욱 상세하게는 컨볼루션 터보 코드(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 encoder 100 included in the conventional channel encoding apparatus 100 sequentially encodes an input data bit pair by RSC (Recursive Systematic Convolutional) encoding and outputs the first internal encoder 110. And an internal interleaver 120 for interleaving and outputting a bit pair, and a second internal encoder 130 for receiving and outputting the interleaved data bit pair by RSC encoding.

이러한, 종래의 CTC 부호화기(100)에서는 입력되는 L 비트의 데이터 비트열을 각각 2개의 데이터 비트를 포함하는 데이터 비트 쌍 단위로 CTC 부호화한다. 이때, CTC 부호화기(100)에서는 L 비트의 데이터 비트열을 내부 인터리버(120)를 통해 인터리빙하기 위해 메모리(미도시)에 저장하는데 필요한 L/2 클럭, 제1 내부 인코더(110) 및 제2 내부 인코더(130)의 레지스터 초기 값을 검출하는데 필요한 L/2 클럭, 그리고 제1 내부 인코더(110) 및 제2 내부 인코더(130)가 데이터 비트 쌍을 인코딩하여 출력하는데 필요한 L/2 클럭이 소요된다.The conventional CTC encoder 100 performs CTC encoding on an L bit data bit string in units of data bit pairs each including two data bits. At this time, in the CTC encoder 100, the L / 2 clock, the first internal encoder 110 and the second internal required to store the L bit data bit string in a memory (not shown) for interleaving through the internal interleaver 120. The L / 2 clock required to detect the register initial value of the encoder 130 and the L / 2 clock required for the first internal encoder 110 and the second internal encoder 130 to encode and output a pair of data bits are required. .

한편, 최근의 광대역 무선 통신 시스템에서는 게임 및 동영상 등의 멀티미디어 서비스를 위한 대용량 데이터의 고속 전송 기술이 요구되고 있다. 그런데, 종래의 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 conventional CTC encoder 100, a long time is required for the CTC encoding process. Therefore, there is a need for a channel encoding apparatus capable of high-speed processing of channel encoding for large data compared to a conventional channel encoding apparatus.

따라서, 본 발명의 목적은, 광대역 무선 통신 시스템에서 입력 데이터에 대한 채널 부호화 처리 시간을 단축시킬 수 있는 채널 부호화 장치를 제공하는데 있다.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 apparatus 200 according to the embodiment of the present invention includes a randomizer 210, a CTC encoder 220, an interleaver 230, and a packet generator 240.

랜덤화기(210)는 FEC 블록(block) 단위의 데이터 비트열을 입력받아, 상기 입력된 데이터 비트열을 복수의 데이터 비트 쌍 단위로 랜덤화한다. 참고로, 상기 데이터 비트 쌍은 K개(본 발명의 실시예에서는,'K=2'인 것을 예로 나타냄)의 데이터 비트를 포함한다.The randomizer 210 receives a data bit string in units of FEC blocks and randomizes the input data bit string in units of a plurality of data bit pairs. For reference, the data bit pair includes K data bits (in the embodiment of the present invention, 'K = 2' is shown as an example).

이때, 랜덤화기(210)는 매 클럭 마다 복수의 데이터 비트 쌍을 병렬로 랜덤화하여, 상기 랜덤화된 복수의 데이터 비트 쌍을 동시에 CTC 부호화기(220)로 출력한다.At this time, the randomizer 210 randomizes a plurality of data bit pairs in parallel every clock, and outputs the randomized plurality of data bit pairs to the CTC encoder 220 simultaneously.

예를 들어, 랜덤화기(210)는 한 클럭 당 8 비트의 데이터 비트(즉, 4개의 데이터 비트 쌍)를 병렬로 랜덤화한다. 이때, 제1 클럭에 4개의 데이터 비트 쌍을 병렬로 랜덤화하여 CTC 부호화기(220)로 동시에 출력하고, 제2 클럭에 다음 번 4개의 데이터 비트 쌍을 병렬로 랜덤화하여 CTC 부호화기(220)로 동시에 출력한다. 이와 같은 방식으로, 랜덤화기(210)는 N/4 클럭 동안 N개의 데이터 비트 쌍을 랜덤화하여 CTC 부호화기(220)로 출력한다.For example, randomizer 210 randomizes eight bits of data (ie, four pairs of data bits) in parallel in one clock. At this time, four data bit pairs are randomized in parallel to the first clock and simultaneously output to the CTC encoder 220, and the next four data bit pairs are randomized in parallel to the second clock to the CTC encoder 220. Output at the same time. In this manner, randomizer 210 randomizes N data bit pairs for N / 4 clocks and outputs them to CTC encoder 220.

CTC 부호화기(220)는 랜덤화기(210)로부터 입력되는 복수의 데이터 비트 쌍을 특정 부호화율로 부호화한 후 인터리버(230)로 출력한다. 이때, CTC 부호화기(220)는 입력되는 데이터 비트 쌍으로부터 시스티메틱(systematic) 비트 쌍, 제1 패리티(parity) 비트 쌍 및 제2 패리티 비트 쌍을 생성한다. 여기서, 시스티메틱 비트 쌍은 입력되는 원래 데이터 비트 쌍 그대로의 데이터 비트 쌍이고, 제1 패리티 비트 쌍은 원래 데이터 비트 쌍을 특정 부호율로 부호화한 데이터 비트 쌍이며, 제2 패리티 비트 쌍은 원래 데이터 비트 쌍을 CTC 부호화기(220) 내부적으로 인터리빙한 결과를 특정 부호율로 부호화한 데이터 비트 쌍이다.The CTC encoder 220 encodes a plurality of data bit pairs input from the randomizer 210 at a specific coding rate and then outputs the encoded data bits to the interleaver 230. In this case, the CTC encoder 220 generates a systematic bit pair, a first parity bit pair, and a second parity bit pair from the input data bit pair. Here, the systematic bit pairs are data bit pairs as they are input original data bit pairs, the first parity bit pair is a data bit pair obtained by encoding the original data bit pair at a specific code rate, and the second parity bit pair is the original data bit pair. A data bit pair obtained by encoding a data bit pair internally by the CTC encoder 220 at a specific code rate.

특히, 본 발명의 실시예에 따른 CTC 부호화기(220)는 랜덤화기(210)부터 입력되는 복수의 데이터 비트 쌍을 일정 개수(이하, '제1 개수'라고 함)씩 동시에 부호화하여 제1 개수의 출력 데이터를 생성하고, 생성된 제1 개수의 출력 데이터를 저장 영역에 동시에 저장한다.In particular, the CTC encoder 220 according to an embodiment of the present invention simultaneously encodes a plurality of pairs of data bits input from the randomizer 210 by a predetermined number (hereinafter, referred to as 'first number') to determine a first number. The output data is generated, and the generated first number of output data are simultaneously stored in the storage area.

구체적으로, CTC 부호화기(220)는 랜덤화기(210)로부터 입력되는 복수의 데이터 비트 쌍을 입력되는 순서에 따라 제1 개수씩 내부 저장 영역에 동시에 저장한다. 그리고, CTC 부호화기(220)는 매 클럭마다 제1 개수에 상응하는 내부 저장 영역의 읽기 주소를 발생시키고, 내부 저장 영역의 읽기 주소에 상응하는 저장 영역에 저장된 데이터 비트 쌍을 제1 개수씩 획득하여 동시에 부호화함으로써 제2 패리티 비트 쌍을 생성한다. 또한, CTC 부호화기(220)는 랜덤화기(210)로부터 입력되는 복수의 데이터 비트 쌍을 입력되는 순서에 따라 제1 개수씩 동시에 부호화하여 제1 패리티 비트 쌍을 생성한다.In detail, the CTC encoder 220 simultaneously stores the plurality of data bit pairs input from the randomizer 210 in the internal storage area by the first number in the order of input. The CTC encoder 220 generates a read address of the internal storage area corresponding to the first number every clock, obtains a pair of data bits stored in the storage area corresponding to the read address of the internal storage area, by a first number. The second parity bit pair is generated by encoding at the same time. In addition, the CTC encoder 220 generates a first parity bit pair by simultaneously encoding a plurality of data bit pairs input from the randomizer 210 by the first number in the order of input.

예를 들어, 랜덤화기(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 randomizer 210 every clock, the CTC encoder 220 divides the four data bit pairs into four storage areas. For reference, the four storage areas are composed of a plurality of storage spaces each having a different storage address. The CTC encoder 220 simultaneously generates one read address, that is, four read addresses for each storage area, and simultaneously obtains and encodes a pair of data bits from storage spaces of four storage areas corresponding to the read address. do. By doing so, CTC encoder 220 generates a second parity bit pair for four data bit pairs per clock.

그리고, 본 발명의 실시예에 따른 CTC 부호화기(220)는 제1 개수의 데이터 비트 쌍에 대응하여 생성된 시스티메틱 비트 쌍, 제1 패리티 비트 쌍 및 제2 패리티 비트 쌍들을 이용하여 제1 개수의 출력 데이터를 생성한다. 그런 후, CTC 부호화기(220)는 생성한 제1 개수의 출력 데이터를 인터리버(230)로 출력한다.In addition, the CTC encoder 220 according to an embodiment of the present invention uses a first number using a systematic bit pair, a first parity bit pair, and a second parity bit pair generated corresponding to the first number of data bit pairs. Generate output data for. Thereafter, the CTC encoder 220 outputs the generated first number of output data to the interleaver 230.

이때, CTC 부호화기(220)는 제1 개수의 데이터 비트 쌍의 각 데이터 비트 쌍마다 대응하는 시스테메틱 비트 쌍, 제1 패리티 비트 쌍 및 제2 패리티 비트 쌍을 병합(merge) 처리하여 제1 개수의 출력 데이터를 생성한다. 참고로, CTC 부호화기(220)는 생성된 제1 개수의 출력 데이터들을 저장 영역에 동시에 저장한 후, 인터리버(230)로부터 발생되는 읽기 주소에 상응하는 저장 영역에 저장된 출력 데이터를 상기 인터리버(230)로 출력한다.In this case, the CTC encoder 220 merges the corresponding systematic bit pair, the first parity bit pair, and the second parity bit pair for each data bit pair of the first number of data bit pairs to form a first number. Generate output data for. For reference, the CTC encoder 220 simultaneously stores the generated first number of output data in the storage area, and then outputs the output data stored in the storage area corresponding to the read address generated from the interleaver 230. Will output

인터리버(230)는 CTC 부호화기(220)로부터 출력 데이터들을 입력받아 인터리빙(재배열)하여 패킷 생성기(240)로 출력한다. 이때, 인터리버(230)는 CTC 부호화 기(220)를 통해 부호화된 출력 데이터가 저장된 저장 영역에 대한 읽기 주소를 생성한다. 그리고, 인터리버(230)는 생성된 읽기 주소에 상응하는 저장 영역을 활성화시키고, 활성화된 저장 영역에 저장된 출력 데이터를 획득하여 패킷 생성기(240)로 출력함으로써 출력 데이터를 인터리빙 처리한다.The interleaver 230 receives the output data from the CTC encoder 220 and interleaves (rearranges) the output data to the packet generator 240. At this time, the interleaver 230 generates a read address for the storage area in which the output data encoded by the CTC encoder 220 is stored. The interleaver 230 activates a storage area corresponding to the generated read address, and interleaves the output data by obtaining output data stored in the activated storage area and outputting the output data to the packet generator 240.

패킷 생성기(240)는 인터리버(230)로부터 출력되는 데이터들을 특정 부호율에 상응하도록 비트 수를 천공(puncturing) 및 반복(repetition)하여 서브 패킷을 생성한다.The packet generator 240 punches and repetitions the number of bits to correspond to a specific code rate for the data output from the interleaver 230 to generate a sub packet.

이하, 도 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 CTC encoder 220 according to the embodiment of the present invention may include a first CTC internal encoder 221, a CTC input memory 222, a CTC internal interleaver 223, and a second CTC internal encoder ( 224, a merger 225, and a CTC output memory 226.

제1 CTC 내부 인코더(221)는 매 클럭마다 랜덤화기(210)로부터 입력되는 복수의 데이터 비트 쌍을 각각 RSC(Recursive Systematic Convolutional) 부호를 이용하여 동시에 부호화하여 복수의 제1 패리티 비트 쌍을 생성한다. 그리고, 제1 CTC 내부 인코더(221)는 상기 생성된 복수의 제1 패리티 비트 쌍을 병합기(225)로 출력한다.The first CTC internal encoder 221 generates a plurality of first parity bit pairs by simultaneously encoding a plurality of data bit pairs input from the randomizer 210 at each clock by using a Recursive Systematic Convolutional (RSC) code. . The first CTC internal encoder 221 outputs the generated plurality of first parity bit pairs to the merger 225.

도 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 internal encoder 221 is input from the randomizer 210 to the first clock. A 1 B 1, A 2 B 2, A 3 B 3 ) are simultaneously encoded, and as a result of the encoding, four first parity bit pairs (Y1 0 W1 0 , Y1 1 W1 1, Y1 2 W1 2, Y1 3 W1) 3 ) output. That is, N / 4 clocks are required for the first CTC internal encoder 221 to encode N data bit pairs.

CTC 입력 메모리(222)는 각각 상이한 저장 주소를 갖는 복수의 메모리 뱅크로 구성되며, 매 클럭마다 입력되는 복수의 데이터 비트 쌍을 상기 복수의 메모리 뱅크에 나누어 저장한다. 이때, 도 3에서는 CTC 입력 메모리(222)가 메모리 뱅크 0(201), 메모리 뱅크 1(202), 메모리 뱅크 2(203), 메모리 뱅크 3(204)으로 구성되는 것을 나타내었다.The CTC input memory 222 includes a plurality of memory banks each having a different storage address, and stores a plurality of data bit pairs inputted every clock in the plurality of memory banks. 3 illustrates that the CTC input memory 222 includes memory bank 0 201, memory bank 1 202, memory bank 2 203, and memory bank 3 204.

구체적으로, 도 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 randomizer 210. A 1 B 1, A 2 B 2, and A 3 B 3 ) are stored in one clock divided into four memory banks of the CTC input memory 222. In this case, in FIG. 3, an input first data bit pair A 0 , B 0 ) is stored in memory bank 0 201, and the second pair of data bits A 1 ,. B 1 ) is stored in memory bank 1 202, and the third data bit pair A 2 , B 2 ) is stored in memory bank 2 203, and the fourth data bit pair A 3 , B 3 ) is simultaneously stored in memory bank 3 204. In this manner, the CTC input memory 222 has N data bit pairs A 0 B 0 , during N / 4 clock. A 1 B 1, A 2 B 2, A 3 B 3 , ...... A N-1 B N-1 ) are stored sequentially.

그리고, CTC 입력 메모리(222)는 CTC 내부 인터리버(223)로부터 발생되는 읽기 주소에 상응하는 저장 영역에 저장된 데이터 비트 쌍을 제2 CTC 내부 인코더(224)로 출력한다.The CTC input memory 222 outputs a pair of data bits stored in a storage area corresponding to a read address generated from the CTC internal interleaver 223 to the second CTC internal encoder 224.

참고로, 본 발명의 실시예에 따른 채널 부호화 장치(200)에서는 랜덤화기(210)가 복수의 데이터 비트 쌍을 랜덤화하여 일정 개수씩 출력함과 동시에 상기 랜덤화기(210)로부터 출력된 일정 개수의 데이터 비트 쌍이 CTC 입력 메모리(222)에 저장된다. 이때, 랜덤화기(210)로부터 동시에 출력되는 데이터 비트 쌍의 수는 CTC 입력 메모리(222)의 메모리 뱅크 수와 동일하게 설정된다. 따라서, 랜덤화기(210)로부터 4개씩의 데이터 비트 쌍이 출력되고 CTC 입력 메모리(222)가 4개의 메모리 뱅크로 구성될 때, N개의 데이터 비트 쌍을 CTC 입력 메모리(222)에 저장 처리하는 데는 N/4 클럭이 소요된다.For reference, in the channel encoding apparatus 200 according to the embodiment of the present invention, the randomizer 210 randomizes a plurality of data bit pairs and outputs a predetermined number of them, and at the same time, outputs the random number from the randomizer 210. Pairs of data bits are stored in the CTC input memory 222. At this time, the number of data bit pairs simultaneously output from the randomizer 210 is set equal to the number of memory banks of the CTC input memory 222. Therefore, when four data bit pairs are output from the randomizer 210 and the CTC input memory 222 is composed of four memory banks, N data bit pairs are stored in the CTC input memory 222 to be processed. It takes / 4 clock.

CTC 내부 인터리버(223)는 매 클럭마다 CTC 입력 메모리(222)의 메모리 뱅크 수에 상응하는 읽기 주소를 발생시키고, 발생된 읽기 주소에 상응하는 메모리 뱅크의 저장 공간에 저장된 데이터 비트 쌍들을 획득하여 제2 CTC 내부 인코더(224)로 동시에 출력한다.The CTC internal interleaver 223 generates a read address corresponding to the number of memory banks of the CTC input memory 222 every clock, and obtains data bit pairs stored in the storage space of the memory bank corresponding to the generated read address. Outputs simultaneously to the 2 CTC internal encoder 224.

구체적으로, 본 발명의 실시예에 따른 CTC 내부 인터리버(223)는 읽기 주소 생성부(231) 및 멀티플렉서(232)를 포함한다.Specifically, the CTC internal interleaver 223 according to the embodiment of the present invention includes a read address generator 231 and a multiplexer 232.

읽기 주소 생성부(231)는 CTC 입력 메모리(222)의 메모리 뱅크 수에 상응하는 읽기 주소들을 발생시키고, 발생된 읽기 주소들을 멀티플렉서(232)를 통해 CTC 입력 메모리(222)로 전송한다. 그러면, 상기 읽기 주소들에 상응하는 메모리 뱅크 의 저장 공간이 활성화되어, 활성화된 저장 공간에 저장된 데이터 비트 쌍이 제2 CTC 내부 인코더(224)로 출력된다.The read address generator 231 generates read addresses corresponding to the number of memory banks of the CTC input memory 222 and transmits the read addresses to the CTC input memory 222 through the multiplexer 232. Then, the storage space of the memory bank corresponding to the read addresses is activated, and the data bit pairs stored in the activated storage space are output to the second CTC internal encoder 224.

구체적으로, 본 발명의 실시예에 따른 읽기 주소 생성부(231)는 아래 수학식 1에서와 같이 모듈로(modulo) 연산을 이용하여 CTC 입력 메모리(222)의 각 메모리 뱅크에 대한 읽기 주소 초기 값을 생성한다.Specifically, the read address generator 231 according to the embodiment of the present invention uses the modulo operation as shown in Equation 1 below to read initial value of the read address for each memory bank of the CTC input memory 222. Create

[수학식 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) = (P 0 · j + 1) mod N

case 1: P(j) = (P0·j + 1 + N/2 + P1) mod Ncase 1: P (j) = (P 0 · j + 1 + N / 2 + P 1) mod N

case 2: P(j) = (P0·j + 1 + P2) mod Ncase 2: P (j) = (P 0 · j + 1 + P 2) mod N

case 3: P(j) = (P0·j + 1 + N/2 + P3) mod Ncase 3: P (j) = (P 0 · j + 1 + N / 2 + P 3) mod N

수학식 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 Equation 1, j is a constant value corresponding to the number of N data bit pairs, and P 0 , P 1 , P 2 , and P 3 are preset constant values. In this case, the read address generator 231 performs a P (j) operation by selecting a corresponding case among four cases (case 0, case 1, case 2, and case 3) based on the remaining value obtained by dividing j by 4. do. That is, the read address generator 231 divides the j value by 4, if the remaining value is 1, case 1, if the remaining value is 2, case 2, if the remaining value is 3, case 3, and if the remaining value is 4, P ( j) Perform a function operation. As such, the read address generator 231 generates the j-th read address initial value by calculating the P (j) function of the corresponding case.

예를 들어, 본 발명의 실시예에 따른 읽기 주소 생성부(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 read address generator 231 according to an embodiment of the present invention assigns four variable j values per counter to Equation 1 to simultaneously perform P (j) operations for four cases, As a result, four initial read address values are generated simultaneously. For reference, the four variable j values are set to constant values that are sequentially increased by '1'. As described above, four P (j) functions are calculated by simultaneously assigning four variable j values to Equation 1, thereby performing N P (j) operations during N / 4 counters.

그런 다음, 읽기 주소 생성부(231)는 상기 생성된 읽기 주소 초기 값을 이용하여 CTC 입력 메모리(222)의 각 메모리 뱅크에 상응하는 읽기 주소 정보를 생성한다. 그런 후, 읽기 주소 생성부(231)는 상기 생성된 읽기 주소 정보를 멀티플렉서(232)로 전송한다.Then, the read address generator 231 generates read address information corresponding to each memory bank of the CTC input memory 222 by using the generated read address initial value. Thereafter, the read address generator 231 transmits the generated read address information to the multiplexer 232.

여기서, 상기 읽기 주소 정보는 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 memory 222 and a read address value matching the storage address of each storage area. At this time, the read address generator 231 generates a storage area selection value based on the lower 2 bit value of the generated read address initial value, and generates a read address value based on the quotient of dividing the read address initial value by four. do.

예를 들어, 도 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 read address generator 231 generates four read address initial values through a P (j) function operation of four cases of Equation 1 when the value of the variable j is 1 to 4. P (0), P (1), P (2), and P (3), which are read address information of the memory bank of the CTC input memory 222, are generated using the generated four read address initial values. It was shown.

멀티플렉서(232)는 읽기 주소 생성부(231)로부터 복수의 읽기 주소 정보를 동시에 입력 받고, 입력된 복수의 읽기 주소 정보에 상응하는 CTC 입력 메모리(222)의 각 메모리 뱅크에 저장된 데이터 비트 쌍이 제2 CTC 내부 인코더(224)로 출력되도록 제어한다.The multiplexer 232 receives a plurality of read address information from the read address generator 231 at the same time, and a pair of data bits stored in each memory bank of the CTC input memory 222 corresponding to the plurality of input read address information is second. Control to output to the CTC internal encoder 224.

이때, 멀티플렉서(232)는 기설정된 규칙에 따라 일부 데이터 비트 쌍에 대해 비트 교환을 수행한 후 출력되도록 제어한다. 구체적으로, 멀티플렉서(232)는 상기 변수 j 값들 중 특정 j 값을 이용하여 생성된 읽기 주소 값을 이용하여 획득한 데이터 비트 쌍의 경우 데이터 비트의 순서를 교환하여 출력되도록 한다. 참고로, 상기 특정 j 값은 연속하는 N개의 j 값 중 짝수 또는 홀수 번째 값으로 설정될 수 있다.At this time, the multiplexer 232 controls to output after performing a bit exchange for some data bit pairs according to a predetermined rule. In detail, the multiplexer 232 exchanges the order of the data bits in the case of the data bit pair obtained using the read address value generated using the specific j value among the variable j values. For reference, the specific j value may be set to an even or odd number value among consecutive N j values.

그리고, 도 3에서는 멀티플렉서(232)가 읽기 주소 생성부(231)로부터 생성된 읽기 주소 정보 P(0), P(1), P(2), P(3)를 입력받아, CTC 읽기 메모리(222)로부터 4개의 데이터 비트 쌍이 출력되도록 제어하는 것을 나타내었다.In addition, in FIG. 3, the multiplexer 232 receives read address information P (0), P (1), P (2), and P (3) generated from the read address generator 231, and receives a CTC read memory ( From 222, four data bit pairs are controlled to be output.

제2 CTC 내부 인코더(224)는 CTC 입력 메모리(222)로부터 매 클럭마다 입력되는 복수의 데이터 비트 쌍을 각각 RSC 부호를 이용하여 동시에 부호화하여 복수의 제2 패리티 비트 쌍을 생성한다. 그리고, 제2 CTC 내부 인코더(224)는 상기 생성된 복수의 제2 패리티 비트 쌍을 동시에 병합기(225)로 출력한다.The second CTC internal encoder 224 simultaneously generates a plurality of second parity bit pairs by simultaneously encoding a plurality of data bit pairs input from the CTC input memory 222 every clock using an RSC code. The second CTC internal encoder 224 outputs the generated plurality of second parity bit pairs to the merger 225 at the same time.

도 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 internal encoder 224 simultaneously encodes the first to fourth data bit pairs input from the CTC input memory 222 to the first clock, and as a result of the encoding, four second parity bit pairs. (Y2 0 W2 0 , Y2 1 W2 1, Y2 2 W2 2, Y2 3 W2 3 ) was shown to be output. That is, it takes N / 4 clock for the second CTC internal encoder 224 to encode N data bit pairs.

병합기(225)는 제1 CTC 내부 인코더(221) 및 제2 CTC 내부 인코더(224)로부터 입력되는 복수의 제1 패리티 비트 쌍 및 복수의 제2 패리티 비트 쌍과, 랜덤화기(210)로부터 입력된 원래 데이터 비트 쌍과 동일한 복수의 시스티메틱 비트 쌍을 병합하여 복수의 출력 데이터를 생성한다. 그리고, 병합기(225)는 복수의 출력 데이터를 CTC 출력 메모리(226)의 복수의 저장 영역에 나누어 저장한다.The merger 225 may include a plurality of first parity bit pairs and a plurality of second parity bit pairs input from the first CTC inner encoder 221 and the second CTC inner encoder 224, and the input from the randomizer 210. Generating a plurality of output data by merging a plurality of systematic bit pairs that are identical to the original data bit pair. The merger 225 stores the plurality of output data in a plurality of storage areas of the CTC output memory 226.

도 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 output memory 226. It is shown dividedly stored in the storage area.

CTC 출력 메모리(226)는 각각 복수의 저장 주소를 갖는 복수의 메모리 뱅크로 구성되며, 매 클럭마다 입력되는 복수의 데이터 비트 쌍을 상기 복수의 메모리 뱅크에 동시에 나누어 저장한다.The CTC output memory 226 is composed of a plurality of memory banks each having a plurality of storage addresses, and simultaneously stores a plurality of data bit pairs inputted every clock in the plurality of memory banks.

이때, 도 3에서는 CTC 출력 메모리(226)가 메모리 뱅크 0(261), 메모리 뱅크 1(262), 메모리 뱅크 2(263), 메모리 뱅크 3(264)를 포함하는 것을 나타내었다. 그리고, CTC 출력 메모리(226)는 인터리버(230)로부터 발생된 읽기 주소에 따라 해당 저장 영역의 저장 주소에 매칭되어 저장된 출력 데이터를 인터리버(230)로 전송한 다.3 shows that the CTC output memory 226 includes memory bank 0 261, memory bank 1 262, memory bank 2 263, and memory bank 3 264. The CTC output memory 226 transmits the output data stored in the storage address of the corresponding storage area to the interleaver 230 according to the read address generated from the interleaver 230.

이처럼, 본 발명의 실시예에 따른 CTC 부호화기(220)는, 랜덤화기(210)로부터 입력되는 N개의 데이터 비트 쌍을 CTC 입력 메모리(222)의 4개의 메모리 뱅크에 저장하는데 필요한 N/4 클럭, 제1 내부 CTC 인코더(221) 및 제2 내부 CTC 인코더(224)에서 데이터 비트 쌍을 부호화하는데 필요한 N/4 클럭, 그리고 병합기(225)를 통해 생성된 출력 데이터를 출력하는데 필요한 N/4 클럭이 소요된다.As such, the CTC encoder 220 according to the embodiment of the present invention may include an N / 4 clock required to store N data bit pairs input from the randomizer 210 in four memory banks of the CTC input memory 222. N / 4 clock required for encoding the data bit pairs in the first internal CTC encoder 221 and the second internal CTC encoder 224, and N / 4 clock required for outputting the output data generated through the merger 225. This takes

한편, 도 3에서는 읽기 주소 생성부(231)가 N/4 카운터 동안 상기 수학식 1에서 나타낸 4개의 case의 P(j) 연산을 수행하여 N개의 읽기 주소 초기 값을 생성하는 것을 나타내었다. 그런데, 본 발명의 실시예에 따른 읽기 주소 생성부(231)는 이하 도 4에서 나타낸 알고리즘을 이용하여 좀 더 효율적으로 읽기 주소 초기 값을 생성할 수 있다.Meanwhile, FIG. 3 shows that the read address generator 231 generates N read address initial values by performing P (j) operations of four cases shown in Equation 1 during the N / 4 counter. However, the read address generator 231 according to the embodiment of the present invention may generate the read address initial value more efficiently by using the algorithm shown in FIG. 4.

도 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 Equation 1, and the generated first four read address initial values and a preset reference increment value (JN: Jumping Number) are generated. (Hereinafter referred to as 'JN') shows how to generate the remaining N-4 read addresses. For reference, JN is a constant value to be applied to read address initial values after the first four read address initial values.

그리고, 도 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 Equation 1 with respect to N j values by the read address generator 231 according to the embodiment of the present invention. Initial values and parameter table resulting from generating the JN are shown.

이때, 도 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 Equation 1 above. j) It is calculated through a function operation.

참고로, 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 Equation 1 are represented as PO (i), P1 (i), P2 (i), and P3 (i). In addition, the JN is a predetermined constant value using a result obtained by sequentially substituting the values of the variable j corresponding to the number N of the entire data bit pairs input into Equation 1 above.

구체적으로, '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 Equation 1, the four P (j) function operation result values may be obtained. have. In this manner, the regular increase value JN may be calculated from the result values obtained by sequentially substituting the N j values into the P (j) function operation of Equation 1 above. For example, FIG. 5 shows that when the value of N is 24, the value of JN corresponding to the result of calculating Equation 1 for the values of 24 variables j is 20. In this way, by calculating the value of each JN corresponding to the remaining 11 N values and storing 12 JN values in the parameter table, the read address initial values after the initial read address initial value can be quickly set.

한편, 상기 제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 Equation 1 correspond to the number of pairs of input data bits (N). ) Is divided by 4 times. That is, the counter i is counted for a number of times from 0 to (N / 4-1).

한편, 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 Equation 1 in advance are stored as a parameter table, and the parameter table is used. Generates a read address initial value corresponding to the total number of input data bit pairs. In this way, the calculation process of Equation 1 can be reduced, and thus the read address information can be generated more quickly and simply.

도 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)

광대역 무선 통신 시스템의 채널 부호화 장치에 있어서,In the channel encoding apparatus of a broadband wireless communication system, 입력되는 복수의 데이터 비트 쌍을 일정 개수씩 병렬로 랜덤화하는 랜덤화기;A randomizer for randomizing a plurality of input data bit pairs in parallel by a predetermined number; 상기 랜덤화된 복수의 데이터 비트 쌍을 복수의 저장 영역에 동시에 저장한 후, 상기 복수의 저장 영역에 대한 내부 인터리빙 읽기 주소를 이용하여 부호화하는 컨볼루션 터보 코드(CTC: Convolutional Turbo Code) 부호화기;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 상기 인터리빙된 복수의 데이터 비트 쌍을 데이터 패킷으로 생성하는 패킷 생성기를 포함하는 채널 부호화 장치.And a packet generator for generating the plurality of interleaved data bit pairs as data packets. 제1항에 있어서,The method of claim 1, 상기 CTC 부호화기는, 상기 복수의 데이터 비트 쌍 중 상기 일정 개수의 데이터 비트 쌍을 기설정된 부호율에 따라 동시에 부호화한 제1 패리티 비트 쌍, 상기 복수의 데이터 비트 쌍을 상기 내부 인터리빙하여 일정 개수씩 동시에 부호화한 제2 패리티 비트 쌍 및 상기 복수의 데이터 비트 쌍 중 상기 일정 개수의 데이터 비트 쌍과 동일한 시스티메틱(systematic) 비트 쌍을 생성하여 부호화를 수행하는 것을 특징으로 하는 채널 부호화 장치.The CTC encoder is configured to simultaneously interleave the first parity bit pair and the plurality of data bit pairs internally by a predetermined number of data bit pairs among the plurality of data bit pairs according to a predetermined code rate. And performing encoding by generating a systemic bit pair identical to the predetermined number of data bit pairs among the encoded second parity bit pair and the plurality of data bit pairs. 제1항에 있어서,The method of claim 1, 상기 CTC 부호화기는, 상기 일정 개수에 상응하는 내부 인터리빙 주소 초기 값을 설정하고, 상기 내부 인터리빙 주소 초기 값과 기설정된 기준 증가 값을 기초로 내부 인터리빙 주소 초기 값을 생성하고, 상기 내부 인터리빙 주소 초기 값을 이용하여 상기 상기 내부 인터리빙 읽기 주소를 생성하는 것을 특징으로 하는 채널 부호화 장치.The CTC encoder sets an internal interleaving address initial value corresponding to the predetermined number, generates an internal interleaving address initial value based on the internal interleaving address initial value and a predetermined reference increment value, and the internal interleaving address initial value. And generating the internal interleaving read address by using the SRS. 제3항에 있어서,The method of claim 3, 상기 내부 인터리빙 주소 초기 값은, 상기 복수의 데이터 비트 쌍의 개수를 상기 일정 개수로 나눈 값 미만의 값으로 설정되는 것을 특징으로 하는 채널 부호화 장치.The internal interleaving address initial value is set to a value less than a value obtained by dividing the number of the plurality of data bit pairs by the predetermined number. 제1항에 있어서,The method of claim 1, 상기 CTC 부호화기는, 내부 인터리빙 주소 초기 값을 상기 일정 개수씩 동시에 설정하고, 상기 내부 인터리빙 주소 초기 값을 이용하여 상기 내부 인터리빙 읽기 주소를 생성하는 것을 특징으로 하는 채널 부호화 장치.The CTC encoder is configured to simultaneously set an internal interleaving address initial value by a predetermined number, and generate the internal interleaving read address using the internal interleaving address initial value. 제1항에 있어서,The method of claim 1, 상기 CTC 부호화기는, 내부 인터리빙 주소 초기 값의 하위 2비트 값을 이용 하여 저장 영역 선택 값을 생성하고, 상기 내부 인터리빙 주소 초기 값을 상기 복수의 저장 영역의 개수에 상응하는 상수 값으로 나눈 몫을 이용하여 선택된 저장 영역에 대한 내부 인터리빙 읽기 주소 값을 생성하는 것을 특징으로 하는 채널 부호화 장치.The CTC encoder generates a storage area selection value by using a lower 2 bit value of an internal interleaving address initial value, and uses a quotient obtained by dividing the internal interleaving address initial value by a constant value corresponding to the number of the plurality of storage areas. And generating an internal interleaving read address value for the selected storage area. 입력되는 복수의 데이터 비트 쌍을 기설정된 부호율에 따라 일정 개수씩 동시에 부호화하여 제1 패리티 비트 쌍을 생성하는 제1 인코더;A first encoder generating a first parity bit pair by simultaneously encoding a plurality of input data bit pairs by a predetermined number according to a predetermined code rate; 상기 입력되는 복수의 데이터 비트 쌍을 상기 일정 개수씩 동시에 복수의 저장 영역에 저장하는 입력 메모리;An input memory configured to simultaneously store the input plurality of data bit pairs in the plurality of storage areas 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; 상기 내부 인터리빙된 데이터 비트 쌍을 기설정된 부호율에 따라 상기 일정 개수씩 동시에 부호화하여 제2 패리티 비트 쌍을 생성하는 제2 인코더;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; 상기 복수의 데이터 비트 쌍 중 상기 일정 개수의 데이터 비트 쌍과 동일한 시스티메틱(systematic) 비트 쌍, 상기 제1 패리티 비트 쌍 및 상기 제2 패리티 비트 쌍을 병합하여 상기 일정 개수에 상응하는 출력 데이터를 생성하는 병합기; 및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 상기 생성된 출력 데이터를 상기 일정 개수씩 동시에 저장하는 출력 메모리를 포함하는 컨볼루션 터보 코드(CTC: Convolutional Turbo Code) 부호화 장치.And a convolutional turbo code (CTC) encoding apparatus including an output memory configured to simultaneously store the generated output data by the predetermined number. 제7항에 있어서,The method of claim 7, wherein 상기 내부 인터리버는, 상기 입력 메모리에 저장된 데이터 비트 쌍 중 상기 내부 인코딩 읽기 주소에 상응하는 저장 영역에 저장된 상기 일정 개수의 데이터 비트 쌍을 상기 제2 인코더로 순차적으로 출력하는 것을 특징으로 하는 CTC 부호화 장치.The internal interleaver may sequentially output the predetermined number of data bit pairs stored in a storage area corresponding to the internal encoding read address among the data bit pairs stored in the input memory to the second encoder. . 제7항에 있어서,The method of claim 7, wherein 상기 내부 인터리버는, 상기 일정 개수의 내부 인터리빙 읽기 주소 초기 값을 설정하고, 상기 내부 인터리빙 읽기 주소 초기 값과 기설정된 기준 증가 값을 기초로 상기 내부 인터리빙 읽기 주소를 생성하는 것을 특징으로 하는 CTC 부호화 장치.The internal interleaver sets a predetermined number of internal interleaving read address initial values, and generates the internal interleaving read address based on the initial interleaved read address initial value and a predetermined reference increment value. . 제9항에 있어서, 10. The method of claim 9, 상기 내부 인터리버는, 상기 내부 인터리빙 읽기 주소 초기 값의 각 하위 2 비트의 값을 기준으로 상기 복수의 저장 영역에 대한 저장 영역 선택 값을 생성하는 것을 특징으로 하는 CTC 부호화 장치.And the internal interleaver generates storage area selection values for the plurality of storage areas based on values of each of the lower two bits of the initial value of the internal interleaving read address. 제9항에 있어서,10. The method of claim 9, 상기 내부 인터리버는, 상기 내부 인터리빙 읽기 주소 초기 값을 상기 복수의 저장 영역의 개수에 상응하는 상수 값으로 나눈 몫을 상기 복수의 저장 영역에 각각 상응하는 읽기 주소 값으로 생성하는 것을 특징으로 하는 CTC 부호화 장치.The internal interleaver generates the quotient obtained by dividing the initial interleaving read address initial value by a constant value corresponding to the number of the plurality of storage areas as a read address value corresponding to the plurality of storage areas, respectively. Device.
KR1020090035807A 2009-04-24 2009-04-24 Apparatus for channel encoding in a broadband wireless communication system KR20100117193A (en)

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)

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