KR100895612B1 - Method For Puncturing Of Block Type Low Density Parity Check Code - Google Patents

Method For Puncturing Of Block Type Low Density Parity Check Code Download PDF

Info

Publication number
KR100895612B1
KR100895612B1 KR1020070051785A KR20070051785A KR100895612B1 KR 100895612 B1 KR100895612 B1 KR 100895612B1 KR 1020070051785 A KR1020070051785 A KR 1020070051785A KR 20070051785 A KR20070051785 A KR 20070051785A KR 100895612 B1 KR100895612 B1 KR 100895612B1
Authority
KR
South Korea
Prior art keywords
puncturing
block
bit
bits
position calculator
Prior art date
Application number
KR1020070051785A
Other languages
Korean (ko)
Other versions
KR20080104684A (en
Inventor
황금찬
김광순
박효열
Original Assignee
연세대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 연세대학교 산학협력단 filed Critical 연세대학교 산학협력단
Priority to KR1020070051785A priority Critical patent/KR100895612B1/en
Publication of KR20080104684A publication Critical patent/KR20080104684A/en
Application granted granted Critical
Publication of KR100895612B1 publication Critical patent/KR100895612B1/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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1148Structural properties of the code parity-check or generator matrix
    • H03M13/1174Parity-check or generator matrices built from sub-matrices representing known block codes such as, e.g. Hamming codes, e.g. generalized LDPC 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/63Joint error correction and other techniques
    • H03M13/635Error control coding in combination with rate matching
    • H03M13/6362Error control coding in combination with rate matching by puncturing
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/65Purpose and implementation aspects
    • H03M13/6508Flexibility, adaptability, parametrability and configurability of the implementation
    • 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/0056Systems characterized by the type of code used
    • H04L1/0067Rate matching
    • H04L1/0068Rate matching by puncturing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mathematical Physics (AREA)
  • Error Detection And Correction (AREA)

Abstract

본 발명은 블록 형태 저밀도 패러티 검사 부호의 천공 방법에 대한 것으로서, 더욱 상세하게는 쌍대각 패러티 블록 구조를 갖는 블록 형태의 저밀도 패러티 검사 부호에 있어서 천공 노드 중 최소의 복구 속도를 갖는 것의 속도가 최대화되도록 패러티 비트 노드를 천공하고 지그재그 형태의 엣지 연결에서 천공 노드가 최대한 균일하게 배치되도록 함으로써, 천공에 의한 성능 열화를 최소화하며, 천공할 노드의 숫자가 블록크기의 정수배가 아닐 경우에도 비트 단위의 효율적인 천공 패턴을 제공하고 HARQ(Hybrid Automatic Repeat and reQuest) 기술을 효과적으로 사용할 수 있는 천공 방법에 관한 것이다.The present invention relates to a method for puncturing a block type low density parity check code, and more particularly, in a block type low density parity check code having a bi-diagonal parity block structure to maximize the speed of the minimum recovery speed among the puncturing nodes. By drilling the parity bit nodes and arranging the puncture nodes as uniformly as possible in the zigzag edge connection, it minimizes performance degradation due to puncturing.Effective puncture in bits even when the number of nodes to be punctured is not an integer multiple of the block size The present invention relates to a drilling method that provides a pattern and effectively uses Hybrid Automatic Repeat and reQuest (HARQ) technology.

이를 위해for teeth

쌍대각 패리티 블록 구조를 가지는 블록 형태의 저밀도 패러티 검사 부호에 있어서,In the block-type low density parity check code having a bi-diagonal parity block structure,

사전에 결정된 블록 그룹을 정하는 단계;Determining a predetermined block group;

상기 그룹 내에서 블록의 위치를 정하는 단계;Positioning a block within the group;

상기 블록 내에서 천공할 비트의 위치를 정하는 단계를 포함하여 구성되는 것을 특징으로 하는 블록 형태 저밀도 패러티 검사 부호의 천공 방법을 제공한다.A method of puncturing a block type low density parity check code, comprising: determining a position of a bit to be punctured in the block.

저밀도 패러티 검사,블록 형태의 저밀도 패러티 검사, 쌍대각 패러티 구조, 천공, Block type low Density Parity Check, LDPC, BLDPC, Dual-Diagonal, Puncturing. Low Density Parity Check, Block Type Low Density Parity Check, Bi-Diagonal Parity Structure, Perforation, Block Type Low Density Parity Check, LDPC, BLDPC, Dual-Diagonal, Puncturing.

Description

블록 형태 저밀도 패러티 검사 부호의 천공 방법{Method For Puncturing Of Block Type Low Density Parity Check Code}Method for Puncturing Of Block Type Low Density Parity Check Code}

도 1은 본 발명에 따른 천공을 위한 비트 위치 탐색 순서를 나타낸 도면, 1 is a view showing a bit position search order for puncturing according to the present invention;

도 2는 본 발명에 따른 가변 부호율 지원을 위한 송수신단의 구성을 나타낸 도면,2 is a diagram illustrating a configuration of a transceiver for supporting variable code rate according to the present invention;

도 3은 본 발명에 따른 HARQ 작동을 위한 송수신단의 구성을 나타낸 도면,3 is a diagram illustrating a configuration of a transceiver for HARQ operation according to the present invention;

도 4는 본 발명에 따른 천공할 블록을 선택하는 순서를 나타낸 도면,4 is a view showing a procedure for selecting a block to be drilled according to the present invention;

도 5는 본 발명에 따른 천공 방법을 나타내는 순서도,5 is a flow chart showing a drilling method according to the present invention,

도 6은 본 발명에 따른 천공 방법을 수식적으로 나타낸 순서도,6 is a flow chart that shows the punching method according to the present invention formulaally,

도 7은 도 6의 순서도를 이용하여 천공할 블록단위 및 비트단위 선택을 도식적으로 나타내는 도면,7 is a diagram schematically illustrating selection of a block unit and a bit unit to be punctured using the flowchart of FIG. 6;

도 8은 천공 방법에 있어서 비트단위의 선택의 효용성을 나타내는 그래프,8 is a graph showing the effectiveness of bit unit selection in the drilling method;

도 9는 부호율이 1/2인 블록 LDPC 모부호에서 천공 알고리즘을 적용하여 천공한 부호의 성능을 나타내는 그래프,9 is a graph showing the performance of a punctured code by applying a puncture algorithm in a block LDPC mother code having a code rate of 1/2;

도 10은 부호율이 1/3인 블록 LDPC 모부호에서 천공 알고리즘을 적용하여 천공한 부호의 성능을 나타내는 그래프이다.10 is a graph showing the performance of a code punctured by applying a puncturing algorithm in a block LDPC mother code having a code rate of 1/3.

본 발명은 블록 형태 저밀도 패러티 검사 부호의 천공 방법에 대한 것으로서, 더욱 상세하게는 쌍대각 패러티 블록 구조를 갖는 블록 형태의 저밀도 패러티 검사 부호에 있어서 천공 노드 중 최소의 복구 속도를 갖는 것의 속도가 최대화되도록 패러티 비트 노드를 천공하고 지그재그 형태의 엣지 연결에서 천공 노드가 최대한 균일하게 배치되도록 함으로써, 천공에 의한 성능 열화를 최소화하며, 천공할 노드의 숫자가 블록크기의 정수배가 아닐 경우에도 비트 단위의 효율적인 천공 패턴을 제공하고 HARQ(Hybrid Automatic Repeat and reQuest) 기술을 효과적으로 사용할 수 있는 천공 방법에 관한 것이다.The present invention relates to a method for puncturing a block type low density parity check code, and more particularly, in a block type low density parity check code having a bi-diagonal parity block structure to maximize the speed of the minimum recovery speed among the puncturing nodes. By drilling the parity bit nodes and arranging the puncture nodes as uniformly as possible in the zigzag edge connection, it minimizes performance degradation due to puncturing.Effective puncture in bits even when the number of nodes to be punctured is not an integer multiple of the block size The present invention relates to a drilling method that provides a pattern and effectively uses Hybrid Automatic Repeat and reQuest (HARQ) technology.

일반적으로, 이동 통신 시스템이 급속하게 발전해나감에 따라 무선 네트워크에서 유선 네트워크의 용량(capacity)에 근접하는 대용량 데이터를 전송할 수 있는 기술 개발이 요구되고 있다. 이렇게, 음성 위주의 서비스를 벗어나 영상, 무선 데이터 등의 다양한 정보를 처리하고 전송할 수 있는 고속 대용량 통신 시스템이 요구됨에 따라 적정한 채널 부호화(channel coding) 방식을 사용하여 시스템 전송 효율을 높이는 것이 시스템 성능 향상에 필수적인 요소로 작용하게 된다. 그러나, 이동 통신 시스템은 이동 통신 시스템의 특성상 데이터를 전송할 때 채널의 상황에 따라 잡음(noise)과, 간섭(interference) 및 페이딩(fading) 등으로 인해 불가피하 게 에러(error)가 발생하고, 따라서 상기 에러 발생으로 인한 정보 데이터의 손실이 발생한다.In general, as the mobile communication system develops rapidly, there is a demand for developing a technology capable of transmitting a large amount of data approaching the capacity of a wired network in a wireless network. In this way, as a high-speed mass communication system capable of processing and transmitting various information such as video and wireless data beyond voice-oriented services is required, improving system transmission efficiency by using an appropriate channel coding method is improved system performance. It becomes an essential element for. However, due to the characteristics of the mobile communication system, the mobile communication system inevitably generates an error due to noise, interference, fading, etc. according to channel conditions when data is transmitted. The loss of the information data due to the error occurs.

따라서, 송신기에서 송신한 정보를 수신기에서 에러 없이 복원하기 위해서 성능이 우수한 부호화기 및 복호기에 대한 필요성이 부각되고 있다. 특히, 이동 통신 시스템의 특성상 무선 채널 환경을 고려해야만 하므로 무선 채널 환경에 의해 발생할 수 있는 에러는 보다 심각하게 고려되어야만 한다.Therefore, there is a need for an encoder and decoder having high performance in order to recover information transmitted from a transmitter without error in a receiver. In particular, due to the characteristics of the mobile communication system, the radio channel environment must be taken into consideration, so that an error caused by the radio channel environment must be considered more seriously.

이러한 에러 발생으로 인한 정보 데이터 손실을 감소시키기 위해서 채널의 특성에 따라 다양한 에러 제어 방식(errorcontrolscheme)들을 사용함으로써 상기 이동 통신 시스템의 신뢰도를 향상시킬 수 있다. 상기 에러 제어 방식들 중에서 가장 보편적으로 사용되고 있는 에러 제어 방식은 전방향 에러 정정 부호(FEC;Forward Error Correction)와 자동 재전송 요구(ARQ;Automatic Repeat request)를 사용하는 방식이다.
채널 오류 제어 방식에서 ARQ방식은 간단하면서도 높은 데이터 신뢰도를 제공한다.
그러나, 채널 오류 비율이 증가함에 따라 그 전송 효율(throughput)이 급격히 감소한다는 단점을 가지고 있다.
그에 반해, FEC 방식은 채널 오류 비율의 변화에 덜 민감하여 비교적 일정한 전송효율을 유지한다.
그러나, FEC는 오류 정정 기능을 향상시키기 위한 부가 정보 (redundancy)가 증가되어 시스템의 전송 효율을 저하시키게 되며 복호기의 복잡도가 증가하게 된다.
ARQ와 FEC가 가지는 각각의 장점과 단점을 상호 보완하여 조합된 채널 오류 제어 방식이 H-ARQ 방식이다.
H-ARQ 시스템은 ARQ 시스템과 FEC 시스템으로 구성된다.
FEC의 기능은, 오류 정정 기능을 통해 계속적으로 발생되는 오류에 의한 재전송 빈도를 줄이는 것이며, 이로써 시스템의 전송 효율이 높아진다.
만약, FEC의 오류 정정 기능에 의해서도 해결되지 않는 오류가 발생할 경우는 오류를 가진 데이터를 사용자에게 전달하지 않고, ARQ 시스템의 재전송을 통해 오류 없는 데이터를 전달하도록 한다.
H-ARQ 방식에서 FEC에 사용되는 부호는 오류 정정 기능과, 동시에 오류 검출 기능을 가져야 한다.
이는 ARQ를 사용하는 시스템에 필수적이며 오류 정정을 위한 채널 부호 이외에 패리티 체크 비트나 CRC (cyclic redundancy check)와 같은 오류 검출 부호가 필요하다.
오류 정정 부호를 사용하게 되면 각 전송과 재전송에 있어서 overhead 부담을 증가시키게 되며, 그 결과로 채널 환경이 양호한 상황에서는 오류 정정 부호 없는 simple-ARQ 방식을 사용할 때보다 전송 효율이 떨어진다.
그러나, 채널 환경이 열악해져 가면서 H-ARQ 방식은 채널 부호가 가지는 오류 정정 능력에 의해 simple-ARQ 방식 보다 전송 효율이 높아지게 된다.
결과적으로 FEC와 ARQ의 적절한 조합은 FEC 만을 사용했을 때보다 더 높은 신뢰성을 갖게 되며, ARQ 만을 사용했을 때보다 더 높은 전송효율을 가질 수 있게 된다.
현재 3GPP HSDPA (high speed downlink packet access)에서 논의되고 있는 H-ARQ 방식인 Chase combining, partial IR, full IR 의 세 가지 방식을 고려한다.
Hybrid ARQ를 구현하기 위해서는 각 전송 패킷의 샘플값을 저장할 수 있는 물리적 공간이 있어야 하며, 이러한 저장 공간의 크기는 단말기 가격에 큰 영향을 미치므로, 가급적 크기가 작을수록 바람직하다.
또한, 전송한 각 패킷의 번호 정보는 여러 패킷의 결합에 사용되기 때문에 다른 정보에 비해 높은 수신 신뢰성이 요구된다.
In order to reduce information data loss due to such an error, reliability of the mobile communication system may be improved by using various error control schemes according to the characteristics of the channel. Among the error control schemes, the most commonly used error control schemes include forward error correction (FEC) and automatic repeat request (ARQ).
In the channel error control scheme, the ARQ scheme provides a simple and high data reliability.
However, as the channel error rate increases, the throughput decreases drastically.
In contrast, the FEC scheme is less sensitive to changes in channel error rate, thus maintaining a relatively constant transmission efficiency.
However, the FEC increases the redundancy to improve the error correction function, thereby reducing the transmission efficiency of the system and increasing the complexity of the decoder.
H-ARQ is a channel error control method that combines the advantages and disadvantages of ARQ and FEC.
The H-ARQ system consists of an ARQ system and an FEC system.
The function of the FEC is to reduce the frequency of retransmissions due to errors that occur continuously through the error correction function, thereby increasing the transmission efficiency of the system.
If an error that is not solved by the error correction function of the FEC occurs, the error-free data is transmitted through the retransmission of the ARQ system without transmitting the error data to the user.
In the H-ARQ scheme, the code used for the FEC should have an error correction function and an error detection function.
This is essential for systems using ARQ and requires error detection codes such as parity check bits or cyclic redundancy check (CRC) in addition to channel codes for error correction.
The use of an error correction code increases the overhead burden for each transmission and retransmission. As a result, the transmission efficiency is lower than that of the simple-ARQ method without an error correction code in a good channel environment.
However, as the channel environment becomes worse, the H-ARQ scheme has higher transmission efficiency than the simple-ARQ scheme due to the error correction capability of the channel code.
As a result, a proper combination of FEC and ARQ can be more reliable than using FEC alone, and higher transmission efficiency than using only ARQ.
Consider H-ARQ scheme, Chase combining, partial IR, and full IR, which are currently discussed in 3GPP HSDPA (high speed downlink packet access).
In order to implement Hybrid ARQ, a physical space for storing sample values of each transport packet should be provided. Since the size of the storage space greatly affects the price of the terminal, the smaller the size, the better.
In addition, since the number information of each transmitted packet is used for combining several packets, higher reception reliability is required than other information.

한편, 상기 에러 정정 부호의 대표적인 부호들로는 컨볼루션 부호(convolutional code), 터보 부호(turbo code)와, 저밀도 패리티 검사(LDPC: Low DensityParity Check, 이하 'LDPC'라 칭하기로 한다) 부호 등이 있다.
상기 터보 부호는 종래 오류 정정을 위해 주로 사용되던 컨벌루션 부호에 비하여 고속 데이터 전송시에 성능 이득이 우수한 것으로 알려져 있으며, 전송 채널에서 발생하는 잡음에 의한 오류를 효과적으로 정정하여 데이터 전송의 신뢰도를 높일 수 있다는 장점을 가진다.
또한, 상기 LDPC 부호는 팩터(factor) 그래프 상에서 합곱(sum-product) 알고리즘(algorithm)에 기반한 반복 복호(iterative decoding) 알고리즘을 사용하여 복호할 수 있다.
Representative codes of the error correction code include a convolutional code, a turbo code, a low density parity check (LDPC) code, and the like.
The turbo code is known to have a better performance gain in high-speed data transmission than the convolutional code, which is mainly used for conventional error correction. The turbo code can effectively correct errors caused by noise generated in a transmission channel to increase reliability of data transmission. Has an advantage.
In addition, the LDPC code can be decoded using an iterative decoding algorithm based on a sum-product algorithm on a factor graph.

LDPC는 1962년 Gallager에 의해 처음 제안되었으며, 패러티 검사 행 렬(Parity Check Matrix) H의 원소들의 대부분이'0'인 선형 블록 부호(Linear block code)로서 당시의 기술력으로는 구현이 불가능한 부호 복잡도로 인해 오랫동안 잊혀져 왔다. 그러나, Mackay와 Neal은 이를 재발견하였고, Gallager의 간단한 확률적(Prababilistic) 복호법을 이용하여 성능이 매우 우수함을 보였다.LDPC was first proposed by Gallager in 1962, and is a linear block code in which most of the elements of the parity check matrix H are '0'. Has long been forgotten. However, Mackay and Neal rediscovered it and showed excellent performance using Gallager's simple probabilistic decoding method.

상기 LDPC 부호는 행렬 안의 '1'의 개수가 적은(sparse)한 랜덤 패러티 검사 행렬 H에 의해 정의된다. 상기 패러티 검사 행렬 H는 수신된 신호에 대한 정상적인 복호 여부를 확인하기 위한 행렬로서, 부호화된 수신 신호와 패러티 검사 행렬 H의곱이 '0'이 되었을 경우 에러가 발생하지 않은 것으로 판단한다. 따라서, 상기 LDPC 부호는 모든 부호화된 수신 신호에 대해 곱하였을 경우 '0'이 될 수 있는 소정의 패러티 검사 행렬을 먼저 설계한 후, 상기 결정된 패러티 검사 행렬에 따른 송신측의 부호화기에서 부호화시키는 연산을 역으로 산출하게 된다.The LDPC code is defined by a random parity check matrix H having a small number of '1's in the matrix. The parity check matrix H is a matrix for checking whether the received signal is normally decoded. When the product of the encoded received signal and the parity check matrix H becomes '0', it is determined that no error occurs. Accordingly, the LDPC code first designs a parity check matrix, which may be '0' when multiplied for all the encoded received signals, and then performs an operation of encoding by the encoder on the transmitting side according to the determined parity check matrix. Inversely, it is calculated.

상기와 같은 LDPC부호는 터보 부호에 비해서 우수한 성능과 낮은 복호 복잡도 및 병렬 처리가 가능한 장점을 가지고 있으나, 상대적으로 높은 부호화 복잡도와 부호기에서 생성행렬을 저장하기 위한 많은 메모리를 요구하는 문제점이 있었다. The LDPC code has advantages such as superior performance, low decoding complexity, and parallel processing, compared to a turbo code, but has a problem of requiring a relatively high coding complexity and a large amount of memory for storing a generation matrix in an encoder.

이러한 문제점을 해결하기 위해서 부호어의 길이에 단순 비례하는 간단한 복잡도를 가지며 효과적으로 간단한 부호화를 할 수 있는 블록 형태의 LDPC (B-LDPC) 부호가 제안되었다. 이러한 B-LDPC부호는 매우 적은 메모리 양으로도 표현이 가능하며 다양한 부호어 길이로 변화가 용이한 장점을 가지고있고, 성능에 있어서도 블록 구조가 아닌 잘 설계된 LDPC부호와 견줄만 하다. 이러한 장점 때문에 IEEE 802.16e (WiMax) 와 같은 표준화 기술에 선택기술로서 채택되었다. In order to solve this problem, a block-type LDPC (B-LDPC) code that has a simple complexity that is simply proportional to the length of a codeword and can be efficiently encoded has been proposed. This B-LDPC code can be represented with very small amount of memory and has the advantage that it can be easily changed with various codeword lengths, and it is comparable to well-designed LDPC code rather than block structure in performance. Because of this advantage, it has been adopted as an optional technology in standardization technologies such as IEEE 802.16e (WiMax).

본 발명에서 다루고 있는 통신 시스템은 통상적인 통신 시스템과 같이 크게 송신기와 수신기로 구성되고, 송신기는 부호화기와 천공기 그리고 변조기로 나눌 수 있다.
수신기는 복조기와 '0' 삽입기, 그리고 복호기로 나눌 수 있다.
송신기에서는 비트 정보를 오류 정정 부호로 부호화 하고, 송신 부호율에 맞게 패리티 비트를 천공한 후 변조기를 통해 송신하게 된다.
수신기에서는 복조를 하고, 천공된 패리티 비트의 위치에 '0'을 삽입하고 복호하게 된다.
복호의 성공 여부는 CRC(순환 잉여 검사)와 같은 오류 검출 부호를 통해 할 수 있다.
만일 복호가 실패하게 되면 수신기는 송신기에 NACK이란 정보를 보내어 천공되었던 패리티를 추가적으로 송신하도록 요청한다.
만일 복호가 성공하면 수신기는 송신기에 ACK이란 정보를 보내고 다음 정보를 송신하도록 요청한다.
이러한 방식을 잉여 증분(IR) 방식의 H-ARQ라고 하며, 본 발명은 상기의 천공기에 대한 것이다.
이러한 천공기를 이용하게 되면 다양한 부호율을 쉽게 지원해줄 수 있지만 천공기를 사용하지 않고 다양한 부호율을 지원하기 위해서는 복잡한 여러 개의 패러티 검사 행렬을 가지고 있어야 한다.
기존의 컨볼루션 부호의 천공기는 최소 거리(minimum distance)를 가장 크게 해주는 천공 위치를 사용하게 되고, 터보부호의 경우에는 입력 정보에 따라서 최소 거리가 다르게 나타나므로, 평균 거리 분포를(Average Distance Spectrum: ADS) 조사하여 천공 위치를 결정하게 된다.
하지만, LDPC부호는 상기의 다른 채널 부호에 비해서 천공 위치를 결정하는 방법에 대한 연구가 미진했으며 최근에 활발히 연구되고 있다.
또한, 잉여 증분(IR) 방식의 Hybrid ARQ 기술은 현재 802.16e에서 지원되지 않는다.
The communication system handled in the present invention is composed of a transmitter and a receiver as a general communication system, and the transmitter can be divided into an encoder, a perforator and a modulator.
The receiver can be divided into a demodulator, a zero inserter and a decoder.
The transmitter encodes the bit information into an error correction code, punctures the parity bit according to the transmission code rate, and transmits the information through a modulator.
The receiver demodulates and inserts a '0' at the position of the punctured parity bit and decodes it.
Success of decoding can be done through an error detection code such as CRC (cyclic redundancy check).
If the decoding fails, the receiver sends NACK information to the transmitter to request additional transmission of parity.
If the decoding succeeds, the receiver sends information called ACK to the transmitter and requests transmission of the next information.
Such a method is called H-ARQ of a surplus incremental (IR) method, and the present invention relates to the above perforator.
Using such a perforator can easily support various code rates. However, to support various code rates without using a perforator, it is necessary to have a complex parity check matrix.
The conventional convolution code perforator uses a perforation location that maximizes the minimum distance, and in the case of the turbo code, the minimum distance is different depending on the input information. ADS) to determine the puncture location.
However, the LDPC code has been poorly studied about the method of determining the puncturing position compared to the other channel codes described above, and has been actively studied recently.
In addition, the Hybrid ARQ technology of the surplus incremental (IR) method is not currently supported in 802.16e.

상기와 같은 문제점을 해결하기 위하여, B-LDPC 부호의 효과적인 천공기술이 필요하다. 최근에 임의의 방식으로 설계된 LDPC부호의 천공 기술은 몇 가지가 제시되어 있다. 이들은 비록 성능이 좋은 천공 패턴을 얻을 수 있지만 복잡한 천공 알고리즘으로 인해 천공 패턴을 실시간으로 얻기가 힘들며, 임의의 천공 패턴을 저장하기 위해서 많은 메모리가 요구된다. 최근에 몇 개의 B-LDPC부호를 위한 천공 패턴이 제시되었지만, 구체적이고 일반적으로 천공패턴을 얻는 것이 아니었고, 단지 블록 단위로의 천공만 가능한 구조였기 때문에 비트 단위의 천공을 해야하는 경우에는 의미가 없게 된다. 그 이후에 비트 단위의 천공방법이 제시되었지만, 실제 B-LDPC 부호의 블록 마다의 비트 치환구조를 제대로 활용하지 못한 단순한 방법이었다.In order to solve the above problems, an effective puncturing technique of the B-LDPC code is required. Recently, some techniques for drilling LDPC codes designed in any manner have been proposed. Although they can obtain a good puncturing pattern, it is difficult to obtain a puncturing pattern in real time due to a complicated puncturing algorithm, and a lot of memory is required to store an arbitrary puncturing pattern. Recently, a puncturing pattern for several B-LDPC codes has been proposed, but since it was not a specific and general puncturing pattern, but only a block puncturing structure, it is meaningless when a bit puncturing is required. do. Since then, a bitwise puncturing method has been proposed, but it was a simple method that did not properly utilize the bit substitution structure for each block of the actual B-LDPC code.

본 발명은 상기와 같은 점을 감안하여 안출한 것으로서, 적은 메모리를 사용하며 천공 패턴을 실시간으로 얻을 수 있고, 천공 노드의 숫자가 블록크기의 정수배가 아닐 경우에도 비트 단위의 효율적인 천공 패턴을 제공하며, HARQ(Hybrid Automatic Repeat and reQuest) 기술을 효과적으로 사용할 수 있는 천공 방법을 제공하는데 그 목적이 있다.The present invention has been conceived in view of the above, it is possible to obtain a puncturing pattern in real time using less memory, and provides an efficient puncturing pattern in bits even when the number of puncture nodes is not an integer multiple of the block size. The purpose of this invention is to provide a drilling method that can effectively use the HARQ (Hybrid Automatic Repeat and reQuest) technology.

상기와 같은 본 발명 블록 형태 저밀도 패러티 검사 부호의 천공 방법에 있어서,In the above-described puncturing method of the block-type low density parity check code of the present invention,

쌍대각 패리티 블록 구조를 가지는 블록 형태의 저밀도 패러티 검사 부호에 있어서,In the block-type low density parity check code having a bi-diagonal parity block structure,

사전에 결정된 블록 그룹을 정하는 단계;Determining a predetermined block group;

상기 그룹 내에서 블록의 위치를 정하는 단계;Positioning a block within the group;

상기 블록 내에서 천공할 비트의 위치를 정하는 단계를 포함하여 구성되는 것을 특징으로 한다.And determining a position of a bit to be punctured in the block.

또한, 상기 사전에 결정된 블록 그룹을 정하는 단계는, 천공된 노드가 최대한 작은 횟수의 반복복호로 복구되는 것을 특징으로 한다.In the determining of the predetermined block group, the punctured node may be recovered by repeated decoding of the smallest number of times.

또한, 상기 사전에 결정된 블록 그룹을 정하는 단계는, 가장 작은 k값을 가지는 k-SR 노드의 수가 최대가 되도록 그룹화 하는 것을 특징으로 한다.In addition, the step of determining the predetermined block group, characterized in that the grouping so that the maximum number of k-SR node having the smallest k value.

또한, 상기 그룹 내에서 블록의 위치를 정하는 단계는, In addition, the step of positioning the block in the group,

남아 있는 블록의 개수가 홀수인지 확인하는 단계;Checking whether the number of remaining blocks is odd;

현재 그룹에서 천공되지 않고 남아있는 블록의 유무를 확인하는 단계를 포함하여 구성되는 것을 특징으로 한다.And determining whether there are any blocks left unperforated in the current group.

또한, 상기 남아 있는 블록의 개수가 홀수인지 확인하는 단계는 mb/2t가 정수인지 확인함으로써 이루어지며, 상기 mb값은 블록의 행의 개수이며, t는 그룹 인덱스를 나타내는 것을 특징으로 한다.In addition, the step of checking whether the number of remaining blocks is odd is made by checking whether m b / 2 t is an integer, wherein the value of m b is the number of rows of blocks, and t represents a group index. .

또한, 상기 블록 내에서 천공할 비트의 위치를 정하는 단계는,In addition, the step of positioning the bits to be punctured in the block,

남아 있는 블록의 개수가 짝수이며 현재 그룹에서 천공되지 않고 남아 있는 블록이 있는 경우 L1(i)에 의하여, 남아 있는 블록의 개수가 홀수이면 L2(i)에 의하여 천공 비트 위치를 결정하며, 상기 L1(i) 및 L2(i)는 각각The number of the remaining blocks the even and to determine the drilling bit positions by, left L 2 (i) if the number is an odd number of blocks by L 1 (i) If the block remains without being punctured in the current group, L 1 (i) and L 2 (i) are each

Figure 112007039111219-pat00001
이며, 상기
Figure 112007039111219-pat00002
Figure 112007039111219-pat00003
그리고
Figure 112007039111219-pat00004
는 c 보다 작거나 같은 최대 정수를 의미하는 것을 특징으로 한다.
Figure 112007039111219-pat00001
And said
Figure 112007039111219-pat00002
Is
Figure 112007039111219-pat00003
And
Figure 112007039111219-pat00004
Is a maximum integer less than or equal to c.

또한, 상기 L1(i) 및 L2(i)는 각각In addition, L 1 (i) and L 2 (i) are each

Figure 112007039111219-pat00005
Figure 112007039111219-pat00005

이며, 상기 u'z(i) 및 u''z(i)는 각각And u ' z (i) and u'' z (i) are each

Figure 112007039111219-pat00006
Figure 112007039111219-pat00006

이고, 상기 uz(i)는 And u z (i) is

Figure 112007039111219-pat00007
Figure 112007039111219-pat00007

인 것을 특징으로 한다.It is characterized by that.

본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한 복수의 표현을 포함한다. 본 출원에서, “포함하다” 또는 “가지다” 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들의 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terminology used herein is for the purpose of describing particular example embodiments only and is not intended to be limiting of the present invention. A singular expression includes a plural expression unless the context clearly indicates otherwise. In this application, the terms “comprises” or “having” are intended to indicate that there is a feature, number, step, action, component, part, or combination thereof described in the specification, and one or more other It is to be understood that the present invention does not exclude the possibility of the presence or the addition of features, numbers, steps, operations, components, parts, or a combination thereof.

이하, 본 발명을 첨부도면을 참조하여 상세하게 설명한다. Hereinafter, the present invention will be described in detail with reference to the accompanying drawings.

본 발명은 블록 쌍 대각 패리티 구조를 가진 모든 B-LDPC부호에 적용된다. 본 발명의 천공 방법은 미리 정의된 수의 블록들로 구성되는 정보 영역과 패러티 영역을 포함하는 저밀도 패러티 검사행렬을 가지는 B-LDPC 부호를 기반으로 하며, 천공을 수행하기 전에 사전에 결정된 블록 그룹(S10)에 따라서 블록의 위치(S20)를 정하고 정해진 블록 내에서 천공할 비트의 위치(S30)를 정한다.The present invention applies to all B-LDPC codes having a block pair diagonal parity structure. The puncturing method of the present invention is based on a B-LDPC code having a low density parity check matrix including an information region and a parity region composed of a predefined number of blocks, and a predetermined block group ( According to S10, the position S20 of the block is determined, and the position S30 of the bit to be punctured within the determined block is determined.

이하, 도 1을 참조하여 가변 부호율 지원을 위해 본 발명의 천공기와 분배기가 사용되는 송수신단의 구조에 대하여 설명한다.Hereinafter, a structure of a transmitter / receiver using a puncturer and a divider according to the present invention to support variable code rates will be described with reference to FIG. 1.

우선 정보비트를 입력받아 부호화기 (S110)에서 부호화되어 출력된 부호화 비트는 천공기 (S120)로 입력된다. 천공기의 부호화 비트 선택기 (S123)은 천공 위치 연산기 (S122)에 의해서 송신할 부호화 비트만을 선택한다. 이 때 천공 위치 연산기는 부호율 제어기 (S121)에서 모부호어의 길이와 부호율 및 송신할 부호율에 따른 천공량에 대한 정보를 받아 실시간으로 천공 위치 연산을 수행하여 선택기에게 천공할 비트를 알려주고 선택기 (S123)은 전체 부호화 비트 중에서 천공되지 않은 비트만을 선택한다. 선택된 부호화 비트는 변조기 (S130)를 거쳐 심볼로 변환되고 송신기 (S140)을 거쳐 송신된다. First, the information bits are received, and the encoded bits encoded and output by the encoder S110 are input to the puncturer S120. The encoding bit selector S123 of the puncturer selects only the encoding bits to be transmitted by the puncturing position calculator S122. At this time, the puncturing position calculator receives the information about the length of the parent code and the puncturing amount according to the code rate to be transmitted from the code rate controller (S121) and performs the puncturing position calculation in real time to inform the selector of the bits to be punctured. The selector S123 selects only bits that are not punctured among all coded bits. The selected coded bits are converted into symbols through a modulator (S130) and transmitted via a transmitter (S140).

한편, 수신기 (S150)에서는 송신된 심볼이 입력되고 복조기 (S160)을 거쳐 부호화 비트단위의 임시 결정 변수로 변환되어 분배기 (S170)에 입력된다. 분배기의 부호화 비트 분배 및 ‘0’삽입기 (S171)는 천공 위치 연산기 (S172)에 의해서 수신된 임시 결정 변수를 분배시키고 천공된 위치에는 ‘0’을 입력시킨다. 이 때, 천공 위치 연산기 (S172)는 송신단의 부호율 제어기 (S121)로부터 별도의 제어 채널을 통해, 모부호에 대한 정보와 천공량에 대한 정보를 받아 실시간으로 천공 위치를 계산하고 부호화 비트 분배 및 ‘0’삽입기에게 천공된 비트의 위치를 알려주고, 부호화 비트 분배 및 삽입기 (S171)는 천공된 위치를 제외한 위치에 수신된 임 시 결정 변수를 분배시키고, 천공된 위치에‘0’을 삽입한다. 이러한 순서로 출력된 임시 결정 변수들은 복호기(S180)으로 입력되어 복호되고 정보비트로 출력된다.Meanwhile, in the receiver S150, the transmitted symbol is input, converted into a temporary decision variable in units of coding bits through the demodulator S160, and input to the divider S170. The coded bit distribution and '0' inserter S171 of the distributor divides the temporary decision variable received by the puncturing position calculator S172 and inputs '0' into the punctured position. At this time, the puncturing position calculator (S172) receives the information on the parent code and the puncturing amount through a separate control channel from the code rate controller (S121) of the transmitting end, calculates the puncturing position in real time, and distributes the coded bits. The '0' inserter is notified of the position of the punctured bit, the coded bit distribution and inserter (S171) distributes the received temporary decision variables at positions other than the punctured position, and inserts '0' at the punctured position. do. The temporary decision variables output in this order are input to the decoder S180, decoded, and output as information bits.

이하, 도 2를 참조하여 HARQ를 지원하기 위한 송수신 장치에 대하여 설명한다.Hereinafter, a transceiver for supporting HARQ will be described with reference to FIG. 2.

우선 정보비트는 부호화기(S210)에 입력되어 부호화 비트로 변환되고 천공기(S220)에 입력된다. 천공기에 입력된 부호화 비트는 송신 부호화 비트 버퍼(S221)에 저장된다. 부호화 비트 선택기(S224)은 천공 위치 연산기 (S223)의 정보에 따라 현재 송신할 부호화 비트만를 버퍼(S221)로부터 선택하여 출력한다. 이 때, 천공 위치 연산기 (S223)는 HARQ 제어기로 (S222)로부터 모부호에 대한 정보, 천공량, 그리고 재전송횟수에 대한 정보를 받아 실시간으로 천공위치 연산을 수행하여 천공된 위치를 선택기 (S224)에 알려주고 선택기는 송신 부호화 비트 버퍼 (S221)로부터 천공되지 않는 위치의 부호화 비트를 선택한다. 출력된 부호화 비트는 변조기 (S230)에서 심볼로 변환되고 송신기 (S240)을 거쳐서 송신된다. First, the information bits are input to the encoder S210, converted into encoded bits, and input to the puncturer S220. The encoded bits input to the puncturer are stored in the transmission encoded bit buffer (S221). The encoding bit selector S224 selects and outputs only the encoding bit to be transmitted currently from the buffer S221 according to the information of the puncturing position calculator S223. At this time, the puncturing position calculator (S223) receives the information on the mother code, the puncturing amount, and the number of retransmissions from the HARQ controller (S222) to perform the puncturing position calculation in real time to select the punctured position (S224). The selector selects the coded bits at positions not punctured from the transmit coded bit buffer S221. The output encoded bits are converted into symbols by the modulator S230 and transmitted via the transmitter S240.

송신된 심볼은 수신기 (S250)에 입력되고 복조기 (S260)에서 부호화 비트 단위의 임시결정변수로 복조된다. 복조된 임시 결정 변수는 분배기 (S270)에서 천공 위치 연산기 (S271)의 정보에 따라 부호화 비트 분배기 (S272)를 통해 수신 부호화 비트 버퍼 (S274)에 분배된다. 한번도 전송이 되지 않은 부호화 비트의 위치에는 천공 위치 연산기의 정보에 따라‘0’삽입기 (S273)를 통해‘0’이 버퍼(S274)에 저장된다. 이때 천공 위치 연산기 (S271)는 천공된 위치를 부호화 비트 분배기 (S272)와‘0’삽입기 (S273)에 전달하고, 분배기 (S272)는 천공되지 않은 위치에 입력된 임시 결정 변수를 수신 부호화 비트 버퍼 (S274)의 해당 위치에 저장한다. 마찬가지로‘0’삽입기 (S273)은 수신 부호화 비트 버퍼(S274)의 천공된 위치에 ‘0’을 삽입한다. 버퍼 (S274)에 저장된 0’을 포함한 모든 임시결정 변수들은 복호기 (S280)에 전달되어 복호되고 패리티 검사기(S280)로 전달된다. The transmitted symbol is input to the receiver S250 and demodulated to a temporary decision variable in units of coding bits in the demodulator S260. The demodulated temporary decision variable is distributed to the received encoded bit buffer S274 through the encoded bit divider S272 according to the information of the puncturing position calculator S271 in the divider S270. At the position of the coded bit that has never been transmitted, '0' is stored in the buffer S274 through the '0' inserter S273 according to the information of the puncturing position calculator. At this time, the puncturing position calculator S271 transmits the punctured position to the encoding bit divider S272 and the '0' inserter S273, and the divider S272 receives the temporary decision variable input to the unpunctured position. It is stored in the corresponding position of the buffer S274. Similarly, the '0' inserter S273 inserts '0' at the punctured position of the reception encoding bit buffer S274. All temporary decision variables including 0 'stored in the buffer S274 are transmitted to the decoder S280, decoded, and passed to the parity checker S280.

패리티 검사기에서는 패리티 검사를 수행하여, 통과되면 송신단에 ACK를 전송하고 정보비트를 검출하고, 실패하면 송신단에 NACK를 전송하여 이 정보를 송신단의 HARQ제어기(S222)에서 다음 패킷 전송을 위한 제어 정보로 사용한다. The parity checker performs a parity check, and if it passes, transmits an ACK to the transmitting end and detects an information bit. If it fails, the parity checker transmits a NACK to the transmitting end. use.

이하, 첨부도면을 참조하여 쌍대각 구조를 가진 블록 형태 저밀도 패러티 검사 부호의 천공 방법에 대하여 설명한다.Hereinafter, a method of puncturing a block-type low density parity check code having a bi-diagonal structure will be described with reference to the accompanying drawings.

일반적으로, n개의 열과 m개의 행을 가지는 B-LDPC의 패리티 검사 행렬 H 는 다음과 같이 정보부분과 패리티 부분으로 나누어 쓸 수 있다.

Figure 112007039111219-pat00008
여기서 z는 블록의 행 또는 열의 길이이며,
Figure 112007039111219-pat00009
그리고
Figure 112007039111219-pat00010
이다. 블록 쌍 대각 패리티 구조
Figure 112007039111219-pat00011
의 형태는 다음 수학식 1과 같이 표현할 수 있다. In general, the parity check matrix H of a B-LDPC having n columns and m rows can be divided into an information part and a parity part as follows.
Figure 112007039111219-pat00008
Where z is the length of the row or column of the block,
Figure 112007039111219-pat00009
And
Figure 112007039111219-pat00010
to be. Block Pair Diagonal Parity Structure
Figure 112007039111219-pat00011
Can be expressed as Equation 1 below.

Figure 112007039111219-pat00012
Figure 112007039111219-pat00012

상기에서 행렬

Figure 112007039111219-pat00013
는 3개의 0이 아닌 블록을 가지고 있으며
Figure 112007039111219-pat00014
는 쌍 대각 블록을 가진
Figure 112007039111219-pat00015
크기의 행렬이다. 여기서
Figure 112007039111219-pat00016
의 i번째 행과 j번째 열은 i와 j가 같을 때는
Figure 112007039111219-pat00017
크기의 단위행렬 I이며,
Figure 112007039111219-pat00018
일 때는
Figure 112007039111219-pat00019
이다. 여기서
Figure 112007039111219-pat00020
Figure 112007039111219-pat00021
크기의 단위행렬을 오른쪽으로
Figure 112007039111219-pat00022
번 순환이동 시키고 나서의 행렬이다.
Figure 112007039111219-pat00023
의 위치는 블록 단위로 l 번째 행에 위치한다. IEEE 802.16e에서 사용되는 B-LDPC부호들은
Figure 112007039111219-pat00024
이고, 효과적인 인코딩을 위해서
Figure 112007039111219-pat00025
, 그리고
Figure 112007039111219-pat00026
으로 설계되어있다. q는 블록 사이즈 z와 서로 소가 되도록 결정된다. 그러면 모든 패리티 블록안의 비트들끼리는
Figure 112007039111219-pat00027
의 길이를 가지는 사이클 한 개와
Figure 112007039111219-pat00028
의 길이를 가지는 사이클 한 개와
Figure 112007039111219-pat00029
의 길이를 가지는 사이클 z개로 서로 연결이 되며, 이를 각각 연결 1, 연결 2 그리고 연결 3 이라 정의한다.Matrix above
Figure 112007039111219-pat00013
Has three non-zero blocks
Figure 112007039111219-pat00014
Has a pair of diagonal blocks
Figure 112007039111219-pat00015
Is a matrix of magnitudes. here
Figure 112007039111219-pat00016
The i th row and the j th column of are equal to i
Figure 112007039111219-pat00017
Unit matrix I of size,
Figure 112007039111219-pat00018
When
Figure 112007039111219-pat00019
to be. here
Figure 112007039111219-pat00020
Is
Figure 112007039111219-pat00021
Unit matrix of size to the right
Figure 112007039111219-pat00022
This is the matrix after the first cycle.
Figure 112007039111219-pat00023
The position of is in the lth row in block units. B-LDPC codes used in IEEE 802.16e
Figure 112007039111219-pat00024
For efficient encoding
Figure 112007039111219-pat00025
, And
Figure 112007039111219-pat00026
Is designed. q is determined to be small with the block size z. Then the bits in every parity block
Figure 112007039111219-pat00027
One cycle with the length of
Figure 112007039111219-pat00028
One cycle with the length of
Figure 112007039111219-pat00029
Z cycles with lengths are connected to each other and are defined as connection 1, connection 2 and connection 3, respectively.

이하, 도 4을 참조하여 상기에 언급한 블록 그룹화 순서에 대하여 설명한다. Hereinafter, the above-described block grouping order will be described with reference to FIG. 4.

우선, 가장 작은 값을 가지는 k-SR노드의 수를 최대화한다. 여기에서 디그리(degree) 2인 블록만을 선택한다. 우선 (2n+1) 번째 블록을 (n=0,1,...,mb/2-1) 첫 번째 블록 그룹으로 정한다. 이렇게 함으로써 최대의 개수인 mbz/2 개의 1-SR 노드가 얻어지고 각 1-SR 노드는 복구시 모든 연결된 체크노드로부터 신뢰도를 갱신한다. 첫 번째 블록 그룹의 모든 비트가 천공되면 2(2n+1)번째 블록을 (n=0,1,...,mb/4-1) 두 번째 블록 그룹으로 정한다. 이렇게 함으로써 최대의 개수인 mbz/4 개의 2-SR 노드가 얻어지고 각 2-SR 노드는 복구시 모든 연결된 체크노드로부터 신뢰도를 갱신한다. 이러한 방식으로 t번째 블록 그룹에서는 2t-1(2n+1)번째 블록에서 (n=0,1,...mb-1) 2t-1-SR노드 (t=1,2,...)의 수가 최대화되고 이런 방법을 남아있는 블록의 개수가 홀수가 될 때까지 계속한다. 남아있는 블록의 개수가 홀수이면 천공되지 않은 디그리 2를 가진 블록이 마지막 블록 그룹이 된다.First, maximize the number of k-SR nodes having the smallest value. Select only blocks of degree 2 here. First, set the (2n + 1) th block as the first block group (n = 0,1, ..., m b / 2-1). In this way, a maximum number of m b z / 2 1-SR nodes are obtained, and each 1-SR node updates reliability from all connected check nodes in recovery. If all bits of the first block group are punctured, the 2 (2n + 1) th block is defined as (n = 0,1, ..., m b / 4-1) as the second block group. In this way, a maximum number of m b z / 4 2-SR nodes is obtained, and each 2-SR node updates reliability from all connected check nodes in recovery. In this way, in the t-th block group, in the 2 t-1 (2n + 1) th block, (n = 0,1, ... m b -1), the 2 t-1 -SR node (t = 1,2 ,. Continue until the number of blocks is maximized and the number of remaining blocks is odd. If the number of blocks remaining is odd, the block with the unpunctured degree 2 becomes the last block group.

이하, 도 5 및 도 6을 참조하여 천공 방법에 대하여 설명한다.Hereinafter, the drilling method will be described with reference to FIGS. 5 and 6.

우선, 그룹 인덱스 t는 1로 현재 천공비트의 수 i는 0으로 초기화 (S410)한다. i가 Np 가 되면 (S420) 천공 과정을 중지한다 (S490). 상기 Np는 총 천공할 비트의 수이다. 만일 mb/2t가 정수이고 (S430) 현재 그룹에서 천공되지 않고 남아있는 블록이 있다면, 즉 i<(2t-1)mbz/2t이면 (S440), i번째 천공비트의 위치는 L1(i)에 의해서 결정한다 (S450). 현재의 블록 그룹내의 모든 비트가 천공되었다면 (S440), 그룹 인덱스 t를 1만큼 증가시킨다 (S480). 만일 mb/2t가 정수가 아니면 (S430), 즉, 그룹 인덱스가 증가된 직후, 남아있는 블록의 개수가 홀수이면, i번째 천공비트의 위치는 L2(i)에 의해서 결정된다. (S460). 한 개의 비트를 천공한 후에는 i를 1만큼 증가시키고 (S470) 천공 작업을 계속한다 (S420). First, the group index t is 1 and the number i of the current puncturing bits is initialized to 0 (S410). When i becomes Np (S420), the puncturing process is stopped (S490). Np is the total number of bits to puncture. If m b / 2 t is an integer (S430) and there are blocks left unperforated in the current group, i.e. i <(2 t -1) m b z / 2 t (S440), the position of the i th puncturing bit Is determined by L 1 (i) (S450). If all bits in the current block group are punctured (S440), the group index t is increased by 1 (S480). If m b / 2 t is not an integer (S430), that is, immediately after the group index is increased, if the number of remaining blocks is odd, the position of the i th puncturing bit is determined by L 2 (i). (S460). After punching one bit, i is increased by 1 (S470) and the drilling operation is continued (S420).

i번째 천공 비트의 위치는 블록 선택과 비트선택의 단계로 나눌 수 있다. The position of the i th puncturing bit may be divided into a block selection and a bit selection step.

간단한 선택방법으로서, 선택된 블록 그룹에서 가장 왼쪽의 블록을 선택하고 선택된 블록에서 가장 왼쪽의 비트를 선택할 수 있다. 이 경우에 i번째 천공 비트의 위치 결정은 수학식 2와 같다.As a simple selection method, the leftmost block may be selected from the selected block group and the leftmost bit may be selected from the selected block. In this case, the positioning of the i th puncturing bit is expressed by Equation 2 below.

Figure 112007039111219-pat00030
Figure 112007039111219-pat00030

상기

Figure 112007039111219-pat00031
Figure 112007039111219-pat00032
그리고
Figure 112007039111219-pat00033
는 c 보다 작거나 같은 최대 정수를 의미한다. remind
Figure 112007039111219-pat00031
Is
Figure 112007039111219-pat00032
And
Figure 112007039111219-pat00033
Is the largest integer less than or equal to c.

이러한 방법은 쉽고 단순한 방법이지만, 천공비트의 균일한 분포를 보장하지 않는다. 따라서 상대적으로 낮은 신뢰도를 가지는 비트 노드가 존재하게 되고 성능 열화가 발생하게 된다. This method is easy and simple, but does not guarantee a uniform distribution of the puncturing bits. Therefore, a bit node having a relatively low reliability is present and performance degradation occurs.

상기와 같은 문제를 해결하기 위해, 지그재그 엣지 연결에서 균일하게 천공비트를 분포시키기 위한 균일 선택 수열 un을 다음 수학식 3과 같이 정의한다. In order to solve the above problem, a uniform selection sequence u n for uniformly distributing the puncturing bits in the zigzag edge connection is defined as in Equation 3 below.

Figure 112007039111219-pat00034
Figure 112007039111219-pat00034

상기에서, k는 자연수이고 un(i), (i=0,1,...,n-1) 은 수열 un에서의 i번째 원소이다. 상기의 수열 un은 실시간으로 쉽게 구하기 위해서 재귀적으로 계산될 수 있다. In the above, k is a natural number and u n (i), (i = 0,1, ..., n-1) is the i th element in the sequence u n . The above sequence u n can be calculated recursively in order to easily obtain in real time.

또한 수열 un의 부분 수열

Figure 112007039111219-pat00035
은 또 다른 균일 선택 수열이 된다. Also the partial sequence of the sequence u n
Figure 112007039111219-pat00035
Becomes another uniform selection sequence.

그러므로 상기의 균일 선택 수열을 블록 선택 수열로서 사용하면, 각 연결들에 대해서 균일한 선택이 가능하다. Therefore, by using the above uniform selection sequence as the block selection sequence, uniform selection is possible for each connection.

또한 상기의 블록 내의 비트 선택에 있어서 어떤 비트를 천공할 경우에도 균일하게 하기 위해서는 비트 선택에서도 상기의 균일 선택 수열을 사용하면 된다. The above uniform selection sequence may also be used for bit selection in order to make uniform even when any bit is punctured in the above-described bit selection in the block.

하지만

Figure 112007039111219-pat00036
인 블록들은 내부의 비트 연결을 치환시키게 되므로, 비트 치환정보와 균일 선택 수열을 동시에 사용하여야 지그재그 엣지 연결에서 완전히 균일하게 천공 비트를 할당할 수 있다. 따라서 비트 치환정보를 이용한 변형된 균일 선택 수열은 다음과 같이 수학식 4로 정의한다.However
Figure 112007039111219-pat00036
Since the in-blocks replace the internal bit connection, the bit replacement information and the uniform selection sequence must be used at the same time so that the puncturing bits can be completely uniformly allocated in the zigzag edge connection. Therefore, the modified uniform selection sequence using the bit substitution information is defined by Equation 4 as follows.

Figure 112007039111219-pat00037
Figure 112007039111219-pat00037

상기의 수학식 4를 이용하여, 제안된 천공 비트의 위치의 결정을 다음의 수학식 5와 같이 나타낼 수 있다.Using Equation 4, the determination of the position of the proposed puncturing bit may be expressed as Equation 5 below.

Figure 112007039111219-pat00038
Figure 112007039111219-pat00038

이하, 도 7를 참조하여 본 발명의 실시예에 대하여 설명한다.Hereinafter, an embodiment of the present invention will be described with reference to FIG. 7.

도 7의 윗부분은 제안한 블록 그룹화만 사용했을 경우이고, 아랫 부분은 본 블록 그룹화 후에 블록 선택과 비트 선택을 상기의 내용처럼 균일하게 천공한 경우의 실시 예를 보인 것이다. 여기에서 z = 4, b1 = q, p = bi = 0 for 2 < i < 8 이 고 총 천공비트의 수는 6인 경우이다. The upper part of FIG. 7 shows a case where only the proposed block grouping is used, and the lower part shows an embodiment in which the block selection and the bit selection are uniformly punctured as described above after the block grouping. Where z = 4, b 1 = q, p = b i = 0 for 2 <i <8 and the total number of puncture bits is six.

블록 그룹화만 사용한 경우 첫 번째 블록 그룹 중에서 가장 왼쪽의 천공되지 않은 블록을 선택하고 그 블록 안에서 가장 왼쪽의 천공되지 않은 비트를 선택한다. 즉 블록 그룹화만 사용하게 되면 5번 비트 -> 6번 비트-> 7번 비트-> 8번 비트-> 13번 비트-> 14번 비트의 순서로 천공을 하게 된다. 상기의 6개의 비트를 천공하고 난 후, 각 연결 1,2, 그리고 3에서 보면 천공된 비트가 균일하게 분포되어 있지 않은 것을 확인할 수 있다.If only block grouping is used, the leftmost unperforated block is selected from the first block group, and the leftmost unperforated bit is selected within that block. In other words, if only block grouping is used, perforation is performed in the order of 5 bit-> 6 bit-> 7 bit-> 8 bit-> 13 bit-> 14 bit. After punching the six bits, it can be seen from the connections 1,2 and 3 that the punched bits are not evenly distributed.

하지만, 블록 선택과 비트 선택을 비트 치환을 고려한 균일 선택 수열을 이용하여 천공하게 되면, 5번 비트 -> 7번 비트-> 8번 비트-> 6번 비트-> 21번 비트-> 23번 비트의 순서대로 천공을 하게 된다. 그리고 천공한 결과, 모든 3종류의 연결들에서 천공된 비트가 균일하게 분포되어 있음을 확인할 수 있다. 처음 4개의 비트는 수열

Figure 112007039111219-pat00039
를 사용하여 마지막 2개의 비트는 수열
Figure 112007039111219-pat00040
를 사용하여 위치를 결정하게 된 것이다. However, if block selection and bit selection are punctured by using a uniform selection sequence considering bit substitution, bit 5-> bit 7-> bit 8-> bit 6-> bit 21-> bit 23 Perforations are made in the order of. As a result of the puncturing, it can be seen that the punched bits are uniformly distributed in all three types of connections. The first four bits are a sequence
Figure 112007039111219-pat00039
The last two bits using a sequence
Figure 112007039111219-pat00040
To determine the location.

상기와 같은 결과를 통해, 본 발명을 사용하게 되면 임의의 천공 비트의 수의 경우에도 연결 1,2, 그리고 3에서 균일하게 천공 노드가 분포하게 됨을 알 수 있다.Through the above results, it can be seen that using the present invention, even in the case of any number of puncturing bits, the puncturing nodes are uniformly distributed in the connections 1,2 and 3.

이하, 도 8, 도 9, 도 10을 참조하여 본 발명의 효과에 대하여 상세히 설명한다.Hereinafter, the effects of the present invention will be described in detail with reference to FIGS. 8, 9, and 10.

도 8에서는 4가지의 천공비트 선택에 대하여 두 가지의 부호율을 기준으로 그 성능이 비교되었다. 여기서는 부호율 1/2, 부호어 길이 2304, z=96인 IEEE 802.16e의 B-LDPC부호가 모부호로 사용되었고, 그 모 부호로부터 부호율 5/6 (7/8)의 천공부호가 922 (987)개의 비트를 본 발명의 천공으로 만들어졌다. In FIG. 8, the performance of the four puncturing bits is compared based on two code rates. In this case, the B-LDPC code of IEEE 802.16e with code rate 1/2, codeword length 2304 and z = 96 is used as the mother code, and the puncturing code of code rate 5/6 (7/8) is 922 from the mother code. (987) bits were made with the perforation of the present invention.

상기의 해당 천공량은 블록의 크기로 나누어 떨어지지 않으므로 기존의 블록 단위의 천공을 하는 기술로는 상기와 같은 부호율을 얻지 못함을 알 수 있다. Since the corresponding puncturing amount is not divided by the size of the block, it can be seen that the code rate as described above cannot be obtained by the conventional puncturing technique.

도 8에서 'LF' 방법는 제안된 블록 그룹 방법을 사용하지 않고 단순히 가장 왼쪽의 비트를 선택하여 천공하는 방법이다. 이런 경우에는 큰 k값을 가진 k-SR 노드가 상당수 존재하게 되므로 성능이 매우 나빠진다. In FIG. 8, the 'LF' method is a method of puncturing by simply selecting the leftmost bit without using the proposed block group method. In this case, there are many k-SR nodes with large k values, so the performance is very poor.

두 번째로 'PG/LFB/WBS’방법은 블록 선택에 있어서는 제안된 블록 그룹 방법 후 가장 왼쪽의 블록을 선택하는 방식을 택하고 비트 선택에 있어서는 의도적으로 치환 후 바로 오른쪽의 비트를 선택하는 (즉 가장 나쁜 선택을 하는) 방법이다. 'LF'와 'PG/LFB/WBS’의 성능 차이에서 볼 수 있듯이 제안된 블록 그룹방법은 천공된 B-LDPC부호의 상당한 성능개선을 얻을 수 있으며 이러한 그룹방법은 몇 가지의 특별한 경우만 가능한 것이 아니라 일반적으로 사용 가능한 것이기 때문에 중요한 의미가 있다.Secondly, the 'PG / LFB / WBS' method selects the leftmost block after the proposed block group method for block selection, and intentionally selects the right bit after substitution for bit selection (i.e. The worst choice). As can be seen from the performance difference between 'LF' and 'PG / LFB / WBS', the proposed block group method can achieve a significant performance improvement of perforated B-LDPC codes. It is important because it is generally available.

세 번째로 제안된 블록 그룹화만 사용하는 ‘그룹화만 한 방법'은 블록 그룹화를 한 후 가 장 왼쪽 블록을 선택하고 블락 내에서 가장 오른쪽 비트를 선택하는 방법으로서,‘제안된 방법’과 PG/LFB/WBS’방법의 성능의 사이에서 성능을 얻을 수 있다. 또한 모부호의 치환정보가 없을 경우에 심각한 성능손해 없이 간단하게 사용할 수 있는 장점이 있다.The third grouping method, which uses only the proposed block grouping, is to select the leftmost block and select the rightmost bits in the block after grouping the blocks. The proposed method and the PG / LFB Performance can be achieved between the performance of the / WBS 'method. In addition, there is an advantage that can be used simply without serious performance loss in the absence of substitution information of the parent code.

네 번째로 제안된 천공 비트 선택에 있어서 균일하게 블록을 선택하고 치환방식과 결합되어 균일하게 비트를 선택한 '제안된 방법’으로서, 도 6에서 볼 수 있듯이 가장 우수한 프레임 오율 성능을 보이고 있다. 또한, '제안된 방법’과 ‘PG/LFB/WBS’방법의 성능차이에서 제안된 블록 선택과 비트 선택은 상당한 성능이득을 가져다준다는 것을 알 수 있다. Fourth, the proposed method of uniformly selecting blocks and uniformly selecting bits in combination with the substitution method in the proposed puncturing bit selection shows the best frame error rate performance as shown in FIG. 6. In addition, it can be seen that the proposed block selection and bit selection have significant performance gains in the performance difference between the proposed method and the PG / LFB / WBS method.

도 9에서는 같은 IEEE 802.16e의 부호율 1/2, 부호어 길이 2304의 B-LDPC 모부호로부터 얻어진 부호율 2/3, 부호어 길이 1728, 그리고 부호율 3/4, 부호어 길이 1536인 천공된 B-LDPC부호와, 동일한 부호율과 길이를 가지는 천공되지 않은 IEEE802.16e의 부호 및 터보부호와 성능을 비교하였다. In Fig. 9, a puncturing rate of code rate 1/2 of the IEEE 802.16e code rate, code rate 2/3 obtained from a B-LDPC mother code of codeword length 2304, codeword length 1728, code rate 3/4, and codeword length 1536 are shown. The performance of the B-LDPC code and the uncoded IEEE802.16e code and turbo code with the same code rate and length are compared.

도 9에서 알 수 있듯이, 본 발명으로 얻어진 천공된 부호가 기존의 천공되지 않은 부호 및 터보 부호보다 낮은 신호대 잡음비(SNR)의 환경을 제외하고는 성능이 더 우수하다.As can be seen in FIG. 9, the perforated code obtained by the present invention is superior in performance except in the environment of a lower signal-to-noise ratio (SNR) than the conventional unperforated code and turbo code.

도 10에서는 girth을 최대화하도록 하는 조건으로 생성된 부호율 1/3, 부호어 길이 3456의 B-LDPC 모부호로부터 각각의 부호율 1/2, 2/3, 그리고 3/4, 각각의 부호어 길이 2304, 1728, 그리고 1536인 3가지의 천공된 B-LDPC부호를 본 발명에 의해 생성하였다. 그리고 터보 부호 및 IEEE802.16e의 천공되지 않은 B-LDPC 부호와 동일한 조건에서 프레임 오율의 성능을 비교하였다. In Figure 10, code rates 1/3, 2/3, and 3/4, respectively, from code rate 1/3, codeword length 3456 generated B-LDPC mother code under conditions that maximize girth. Three perforated B-LDPC codes of length 2304, 1728, and 1536 were generated by the present invention. And the performance of frame error rate was compared under the same condition as turbo code and unperforated B-LDPC code of IEEE802.16e.

도 10으로부터 제안된 천공부호가 터보 부호 및 천공되지 않은 부호보다 성능이 우수한 것을 알 수 있다. 따라서, 본 발명의 천공기법을 이용하여, 한 개의 좋은 모 B-LDPC부호로부터 상업적인 표준에 쓰이는 부호보다 우수한 가변 부호율 B-LDPC부호를 얻을 수 있다. It can be seen from FIG. 10 that the proposed puncturing code outperforms the turbo code and the unpunched code. Therefore, using the puncturing technique of the present invention, a variable code rate B-LDPC code can be obtained from one good mother B-LDPC code, which is superior to the code used in commercial standards.

이상에서는 본 발명을 특정의 바람직한 실시예에 대하여 도시하고 설명하였으나, 본 발명은 이러한 실시예에 한정되지 않으며, 당해 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 특허청구범위에서 청구하는 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 실시할 수 있는 다양한 형태의 실시예들을 모두 포함한다. While the invention has been shown and described with respect to certain preferred embodiments, the invention is not limited to these embodiments, and those of ordinary skill in the art claim the invention as claimed in the appended claims. It includes all the various forms of embodiments that can be implemented without departing from the spirit.

상기와 같은 본 발명 블록 형태 저밀도 패러티 검사 부호의 천공 방법에 의하면,According to the puncturing method of the present invention block type low density parity check code as described above,

첫째, 쌍대각 패리티 구조를 가지는 B-LDPC 부호를 위한 보다 효율적인 비트 단위의 천공을 할 수 있고,First, more efficient bitwise puncturing for a B-LDPC code having a bi-diagonal parity structure can be achieved.

둘째, 임의의 천공 패턴들을 저장하기 위한 메모리가 필요로 하지 않으며 수식화된 천공 패턴을 통해 실시간으로 천공을 할 수 있으며, Secondly, it does not need memory to store arbitrary puncturing patterns and can puncture in real time through the formulated puncturing pattern,

둘째, 어떠한 쌍대각 구조를 가진 B-LDPC부호에 있어서도 적용가능한 천공 패턴 생성이 가능하고,Second, it is possible to generate a perforation pattern applicable to the B-LDPC code having a bi-diagonal structure,

셋째, 어떠한 비트 단위의 천공량, 즉 어떠한 부호율의 변화에 있어서도 가장 우수한 성능을 가진 구조적인 천공패턴을 제공할 수 있으며,Third, it is possible to provide a structural puncturing pattern having the best performance in any bit rate, that is, any code rate change,

넷째, 사전에 결정된 블록 그룹에 따라서 천공할 블록 및 비트를 정하므로 이를 통해 천공된 부호의 성능을 기본적으로 보장할 수 있고,Fourth, since the blocks and bits to be punctured are determined according to a predetermined block group, the performance of the punctured code can be basically guaranteed through this.

다섯째, 지그재그 엣지의 연결에서 천공된 비트가 균일하게 분포하도록 천공하므로 천공비트의 및 그와 인접한 천공되지 않는 비트의 신뢰도 열화가 균일하게 분포되어 보다 우수한 복호 성능을 얻을 수 있으며,Fifth, since the perforated bits are uniformly distributed in the zigzag edge connection, the degradation of reliability of the perforated bits and the non-perforated bits adjacent thereto are uniformly distributed to obtain better decoding performance.

여섯째, 본 발명의 천공 방법으로 임의의 형태의 H-ARQ 기술을 적용할 수 있다.Sixth, any form of H-ARQ technique can be applied to the puncture method of the present invention.

Claims (27)

삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 천공에 필요한 정보를 전달하는 부호율 제어기;A code rate controller for transmitting information necessary for puncturing; 상기 부호율 제어기에 연결되어 주어진 정보를 이용하여 천공 비트의 위치를 계산하는 천공 위치 연산기(a);A puncturing position calculator (a) coupled to the code rate controller for calculating a puncturing bit position using given information; 상기 천공 위치 연산기(a)에 연결되어 천공기에 입력된 부호화 비트 중에서 천공되지 않은 비트를 선택하여 전달하는 부호화 비트 선택기를 포함하여 구성되는 송신기와,A transmitter connected to the puncturing position calculator (a) and including an encoding bit selector for selecting and transmitting an unpunctured bit among the encoding bits input to the puncturer; 상기 송신기의 부호율 제어기에 제어 채널을 통해 정보를 받고 천공 비트의 위치를 계산하는 천공 위치 연산기(b);A puncturing position calculator (b) for receiving information through a control channel to the code rate controller of the transmitter and calculating a puncturing bit position; 상기 천공 위치 연산기(b)에 연결되어 부호화 비트 단위의 임시 결정 변수를 분배하고 천공 비트의 위치에 '0'을 삽입하여 출력하는 부호화 비트 분배 및 '0' 삽입기를 포함하여 구성되는 수신기,A receiver connected to the puncturing position calculator (b) and configured to distribute a temporal decision variable in units of coding bits and to insert and output '0' at a puncturing bit position and to output a '0' inserter; 를 포함하여 구성되는 가변 부호율을 지원하는 통신 시스템에 있어서, In a communication system supporting a variable code rate configured to include, 상기 송신기의 천공 위치 연산기(a)와 수신기의 천공 위치 연산기(b)는 천공 비트의 위치를 실시간으로 계산하며, The puncturing position calculator (a) of the transmitter and the puncturing position calculator (b) of the receiver calculate the positions of the puncturing bits in real time, 상기 천공 위치 연산기(a), (b)는,The puncture position calculator (a), (b), 사전에 결정된 블록 그룹을 정하는 단계;Determining a predetermined block group; 상기 그룹 내에서 블록의 위치를 정하는 단계;Positioning a block within the group; 상기 블록 내에서 천공할 비트의 위치를 정하는 단계를 포함하여 구성되는 한편, While positioning the bits to be punctured within the block, 상기 천공에 있어서 천공할 블록의 위치와 비트를 정하는 각 t단계에서 (t=1,2,...),(T = 1, 2, ...) in each t step of determining the position and bit of the block to be drilled 2t-1(2n+1) 번째 블록들이 ((n=0,1,...,mb/2t-1) t번째 단계의 블록들로 선택되고, 2 t-1 (2n + 1) th blocks are selected as ((n = 0,1, ..., m b / 2 t -1) tth blocks, 각 t단계의 시작에서 천공되지 않고 남아 있는 블록의 개수가 홀수인지 확인하고, At the beginning of each t step, check that the number of blocks remaining unpunctured is odd, 현재 그룹에서 천공되지 않고 남아있는 블록의 유무를 확인하는 단계를 포함하여 구성되는 것을 특징으로 하는 가변 부호율을 지원하는 통신 시스템.And determining whether there are blocks left unperforated in the current group. 청구항 7에 있어서, The method according to claim 7, 상기 천공되지 않고 남아 있는 블록의 개수가 홀수인지 확인하는 단계는 t가 1만큼 증가된 직후에 mb/2t가 정수인지 확인함으로써 이루어지며, 상기 mb값은 블록 단위의 행의 개수이며, t는 블록과 비트를 선택하는 단계를 나타내는 것을 특징으로 하는 가변 부호율을 지원하는 통신 시스템.The step of checking whether the number of blocks remaining unperforated is odd is performed by checking whether m b / 2 t is an integer immediately after t is increased by 1, and the m b value is the number of rows in a block unit. t denotes a step of selecting a block and a bit. 천공에 필요한 정보를 전달하는 부호율 제어기;A code rate controller for transmitting information necessary for puncturing; 상기 부호율 제어기에 연결되어 주어진 정보를 이용하여 천공 비트의 위치를 계산하는 천공 위치 연산기(a);A puncturing position calculator (a) coupled to the code rate controller for calculating a puncturing bit position using given information; 상기 천공 위치 연산기(a)에 연결되어 천공기에 입력된 부호화 비트 중에서 천공되지 않은 비트를 선택하여 전달하는 부호화 비트 선택기를 포함하여 구성되는 송신기와,A transmitter connected to the puncturing position calculator (a) and including an encoding bit selector for selecting and transmitting an unpunctured bit among the encoding bits input to the puncturer; 상기 송신기의 부호율 제어기에 제어 채널을 통해 정보를 받고 천공 비트의 위치를 계산하는 천공 위치 연산기(b);A puncturing position calculator (b) for receiving information through a control channel to the code rate controller of the transmitter and calculating a puncturing bit position; 상기 천공 위치 연산기(b)에 연결되어 부호화 비트 단위의 임시 결정 변수를 분배하고 천공 비트의 위치에 '0'을 삽입하여 출력하는 부호화 비트 분배 및 '0' 삽입기를 포함하여 구성되는 수신기,A receiver connected to the puncturing position calculator (b) and configured to distribute a temporal decision variable in units of coding bits and to insert and output '0' at a puncturing bit position and to output a '0' inserter; 를 포함하여 구성되는 가변 부호율을 지원하는 통신 시스템에 있어서, In a communication system supporting a variable code rate configured to include, 상기 송신기의 천공 위치 연산기(a)와 수신기의 천공 위치 연산기(b)는 천공 비트의 위치를 실시간으로 계산하며, The puncturing position calculator (a) of the transmitter and the puncturing position calculator (b) of the receiver calculate the positions of the puncturing bits in real time, 상기 천공 위치 연산기(a), (b)는,The puncture position calculator (a), (b), 사전에 결정된 블록 그룹을 정하는 단계;Determining a predetermined block group; 상기 그룹 내에서 블록의 위치를 정하는 단계;Positioning a block within the group; 상기 블록 내에서 천공할 비트의 위치를 정하는 단계를 포함하여 구성되는 한편, While positioning the bits to be punctured within the block, 상기 블록 내에서 천공할 비트의 위치를 정하는 단계는,Positioning the bits to be punctured in the block, 현재 전혀 천공되지 않고 남아 있는 블록의 개수가 짝수이면서 현재 그룹에서 천공되지 않고 남아 있는 블록이 있는 경우 L1(i)에 의하여, 또한 천공되지 않고 남아 있는 블록의 개수가 홀수이면 L2(i)에 의하여 천공 비트 위치를 결정하며, 상기 L1(i) 및 L2(i)는 각각L 1 (i) if there are even blocks that remain unpunctured at this time and are still unpunctured in the current group, and L 2 (i) if the number of blocks that remain unpunctured is odd. Determine the puncturing bit position, where L 1 (i) and L 2 (i) are respectively
Figure 112008086559511-pat00041
이며, 상기
Figure 112008086559511-pat00042
Figure 112008086559511-pat00043
그리고
Figure 112008086559511-pat00044
는 c 보다 작거나 같은 최대 정수를 의미하는 것을 특징으로 하는 가변 부호율을 지원하는 통신 시스템.
Figure 112008086559511-pat00041
And said
Figure 112008086559511-pat00042
Is
Figure 112008086559511-pat00043
And
Figure 112008086559511-pat00044
Is a communication system supporting a variable code rate, the maximum integer being less than or equal to c.
청구항 9에 있어서,The method according to claim 9, 상기 L1(i) 및 L2(i)는 각각L 1 (i) and L 2 (i) are each
Figure 112007039111219-pat00045
Figure 112007039111219-pat00045
이며, 상기 u'z(i) 및 u''z(i)는 각각And u ' z (i) and u'' z (i) are each
Figure 112007039111219-pat00046
Figure 112007039111219-pat00046
이고, 상기 uz(i)는 And u z (i) is
Figure 112007039111219-pat00047
Figure 112007039111219-pat00047
인 것을 특징으로 하는 가변 부호율을 지원하는 통신 시스템.Communication system supporting a variable code rate, characterized in that.
삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 부호화 비트를 저장하는 송신 부호화 비트 버퍼;A transmit encoded bit buffer for storing encoded bits; 궤환 신호 및 천공에 필요한 정보를 제어하는 HARQ 제어기;A HARQ controller for controlling feedback signals and information necessary for puncturing; 상기 HARQ 제어기에 연결되어 정보를 받아 천공 위치를 연산하는 천공 위치 연산기(a);A puncturing position calculator (a) connected to the HARQ controller and receiving the information to calculate the puncturing position; 상기 부호화 비트 버퍼와 천공 위치 연산기(a)에 연결되어 송신할 부호화 비트만을 선택하는 부호화 비트 선택기를 포함하여 구성되는 송신기와,A transmitter connected to the encoding bit buffer and the puncturing position calculator (a) and including an encoding bit selector for selecting only encoding bits to be transmitted; 상기 송신기의 HARQ 제어기에 제어 채널을 통해 정보를 받고 천공 위치를 연산하는 천공 위치 연산기(b);A puncturing position calculator (b) that receives information through a control channel to the HARQ controller of the transmitter and calculates a puncturing position; 상기 천공 위치 연산기(b)에 연결되어 수신 부호화 비트를 분배하는 부호화 비트 분배기;A coded bit divider connected to the puncturing position calculator (b) to distribute received coded bits; 상기 천공 위치 연산기(b)에 연결되어 전송이 되지 않은 부보화 비트 위치에 '0'을 삽입하는 '0' 삽입기;A '0' inserter connected to the puncturing position calculator (b) to insert a '0' into a sub-compensation bit position that has not been transmitted; 상기 부호화 비트 분배기와 상기 '0'삽입기에 연결되어 수신 부호화 비트를 저장하는 수신 부호화 비트 버퍼를 포함하여 구성되는 수신기,A receiver coupled to the encoded bit divider and the '0' inserter and including a received encoded bit buffer for storing received encoded bits; 를 포함하여 구성되는 HARQ를 지원하는 통신 시스템에 있어서, In a communication system supporting HARQ configured to include, 상기 송신기의 천공 위치 연산기(a)와 수신기의 천공 위치 연산기(b)는 천공 비트의 위치를 실시간으로 계산하며, The puncturing position calculator (a) of the transmitter and the puncturing position calculator (b) of the receiver calculate the positions of the puncturing bits in real time, 상기 천공 위치 연산기(a), (b)는,The puncture position calculator (a), (b), 사전에 결정된 블록 그룹을 정하는 단계;Determining a predetermined block group; 상기 그룹 내에서 블록의 위치를 정하는 단계;Positioning a block within the group; 상기 블록 내에서 천공할 비트의 위치를 정하는 단계를 포함하여 구성되는 한편, While positioning the bits to be punctured within the block, 상기 천공에 있어서 천공할 블록의 위치와 비트를 정하는 각 t단계에서 (t=1,2,...),(T = 1, 2, ...) in each t step of determining the position and bit of the block to be drilled 2t-1(2n+1) 번째 블록들이 ((n=0,1,...,mb/2t-1) t번째 단계의 블록들로 선택되고, 2 t-1 (2n + 1) th blocks are selected as ((n = 0,1, ..., m b / 2 t -1) tth blocks, 각 t단계의 시작에서 천공되지 않고 남아 있는 블록의 개수가 홀수인지 확인하고, At the beginning of each t step, check that the number of blocks remaining unpunctured is odd, 현재 그룹에서 천공되지 않고 남아있는 블록의 유무를 확인하는 단계를 포함하여 구성되는 것을 특징으로 하는 HARQ를 지원하는 통신 시스템.A communication system supporting HARQ, characterized in that it comprises a step of checking the presence of blocks that are not punctured in the current group. 청구항 17에 있어서, The method according to claim 17, 상기 천공되지 않고 남아 있는 블록의 개수가 홀수인지 확인하는 단계는 t가 1만큼 증가된 직후에 mb/2t가 정수인지 확인함으로써 이루어지며, 상기 mb값은 블록 단위의 행의 개수이며, t는 블록과 비트를 선택하는 단계를 나타내는 것을 특징으로 하는 HARQ를 지원하는 통신 시스템.The step of checking whether the number of blocks remaining unperforated is odd is performed by checking whether m b / 2 t is an integer immediately after t is increased by 1, and the m b value is the number of rows in a block unit. t denotes a step of selecting a block and a bit. 부호화 비트를 저장하는 송신 부호화 비트 버퍼;A transmit encoded bit buffer for storing encoded bits; 궤환 신호 및 천공에 필요한 정보를 제어하는 HARQ 제어기;A HARQ controller for controlling feedback signals and information necessary for puncturing; 상기 HARQ 제어기에 연결되어 정보를 받아 천공 위치를 연산하는 천공 위치 연산기(a);A puncturing position calculator (a) connected to the HARQ controller and receiving the information to calculate the puncturing position; 상기 부호화 비트 버퍼와 천공 위치 연산기(a)에 연결되어 송신할 부호화 비트만을 선택하는 부호화 비트 선택기를 포함하여 구성되는 송신기와,A transmitter connected to the encoding bit buffer and the puncturing position calculator (a) and including an encoding bit selector for selecting only encoding bits to be transmitted; 상기 송신기의 HARQ 제어기에 제어 채널을 통해 정보를 받고 천공 위치를 연산하는 천공 위치 연산기(b);A puncturing position calculator (b) that receives information through a control channel to the HARQ controller of the transmitter and calculates a puncturing position; 상기 천공 위치 연산기(b)에 연결되어 수신 부호화 비트를 분배하는 부호화 비트 분배기;A coded bit divider connected to the puncturing position calculator (b) to distribute received coded bits; 상기 천공 위치 연산기(b)에 연결되어 전송이 되지 않은 부보화 비트 위치에 '0'을 삽입하는 '0' 삽입기;A '0' inserter connected to the puncturing position calculator (b) to insert a '0' into a sub-compensation bit position that has not been transmitted; 상기 부호화 비트 분배기와 상기 '0'삽입기에 연결되어 수신 부호화 비트를 저장하는 수신 부호화 비트 버퍼를 포함하여 구성되는 수신기,A receiver coupled to the encoded bit divider and the '0' inserter and including a received encoded bit buffer for storing received encoded bits; 를 포함하여 구성되는 HARQ를 지원하는 통신 시스템에 있어서, In a communication system supporting HARQ configured to include, 상기 송신기의 천공 위치 연산기(a)와 수신기의 천공 위치 연산기(b)는 천공 비트의 위치를 실시간으로 계산하며, The puncturing position calculator (a) of the transmitter and the puncturing position calculator (b) of the receiver calculate the positions of the puncturing bits in real time, 상기 천공 위치 연산기(a), (b)는,The puncture position calculator (a), (b), 사전에 결정된 블록 그룹을 정하는 단계;Determining a predetermined block group; 상기 그룹 내에서 블록의 위치를 정하는 단계;Positioning a block within the group; 상기 블록 내에서 천공할 비트의 위치를 정하는 단계를 포함하여 구성되는 한편, While positioning the bits to be punctured within the block, 상기 블록 내에서 천공할 비트의 위치를 정하는 단계는,Positioning the bits to be punctured in the block, 현재 전혀 천공되지 않고 남아 있는 블록의 개수가 짝수이면서 현재 그룹에서 천공되지 않고 남아 있는 블록이 있는 경우 L1(i)에 의하여, 또한 천공되지 않고 남아 있는 블록의 개수가 홀수이면 L2(i)에 의하여 천공 비트 위치를 결정하며, 상기 L1(i) 및 L2(i)는 각각L 1 (i) if there are even blocks that remain unpunctured at this time and are still unpunctured in the current group, and L 2 (i) if the number of blocks that remain unpunctured is odd. Determine the puncturing bit position, where L 1 (i) and L 2 (i) are respectively
Figure 112008086559511-pat00048
이며, 상기
Figure 112008086559511-pat00049
Figure 112008086559511-pat00050
그리고
Figure 112008086559511-pat00051
는 c 보다 작거나 같은 최대 정수를 의미하는 것을 특징으로 하는 HARQ를 지원하는 통신 시스템.
Figure 112008086559511-pat00048
And said
Figure 112008086559511-pat00049
Is
Figure 112008086559511-pat00050
And
Figure 112008086559511-pat00051
Is a communication system supporting HARQ, which means a maximum integer less than or equal to c.
청구항 19에 있어서,The method according to claim 19, 상기 L1(i) 및 L2(i)는 각각L 1 (i) and L 2 (i) are each
Figure 112007039111219-pat00052
Figure 112007039111219-pat00052
이며, 상기 u'z(i) 및 u''z(i)는 각각And u ' z (i) and u'' z (i) are each
Figure 112007039111219-pat00053
Figure 112007039111219-pat00053
이고, 상기 uz(i)는 And u z (i) is
Figure 112007039111219-pat00054
Figure 112007039111219-pat00054
인 것을 특징으로 하는 HARQ를 지원하는 통신 시스템.A communication system supporting HARQ, characterized in that the.
삭제delete 삭제delete 삭제delete 쌍대각 패리티 블록 구조를 가지는 블록 형태의 저밀도 패러티 검사 부호에 있어서,In the block-type low density parity check code having a bi-diagonal parity block structure, 사전에 결정된 블록 그룹을 정하는 단계;Determining a predetermined block group; 상기 그룹 내에서 블록의 위치를 정하는 단계;Positioning a block within the group; 상기 블록 내에서 천공할 비트의 위치를 정하는 단계를 포함하여 구성되는 한편, While positioning the bits to be punctured within the block, 상기 천공에 있어서 천공할 블록의 위치와 비트를 정하는 각 t단계에서 (t=1,2,...),(T = 1, 2, ...) in each t step of determining the position and bit of the block to be drilled 2t-1(2n+1) 번째 블록들이 ((n=0,1,...,mb/2t-1) t번째 단계의 블록들로 선택되고, 2 t-1 (2n + 1) th blocks are selected as ((n = 0,1, ..., m b / 2 t -1) tth blocks, 각 t단계의 시작에서 천공되지 않고 남아 있는 블록의 개수가 홀수인지 확인하고, At the beginning of each t step, check that the number of blocks remaining unpunctured is odd, 현재 그룹에서 천공되지 않고 남아있는 블록의 유무를 확인하는 단계를 포함하여 구성되는 것을 특징으로 하는 블록 형태 저밀도 패러티 검사 부호의 천공 방법.A method for puncturing a block type low density parity check code, characterized in that it comprises the step of checking for the existence of blocks that are not punctured in the current group. 청구항 24에 있어서, The method of claim 24, 상기 천공되지 않고 남아 있는 블록의 개수가 홀수인지 확인하는 단계는 t가 1만큰 증가된 직후에 mb/2t가 정수인지 확인함으로써 이루어지며, 상기 mb값은 블록 단위의 행의 개수이며, t는 블록과 비트를 선택하는 단계를 나타내는 것을 특징으로 하는 블록 형태 저밀도 패러티 검사 부호의 천공 방법.The step of checking whether the number of blocks remaining without puncturing is an odd number is performed by checking whether m b / 2 t is an integer immediately after t is increased by 10,000. The m b value is the number of rows in a block unit. t is a method of puncturing a block type low density parity check code, characterized in that the step of selecting a block and a bit. 쌍대각 패리티 블록 구조를 가지는 블록 형태의 저밀도 패러티 검사 부호에 있어서,In the block-type low density parity check code having a bi-diagonal parity block structure, 사전에 결정된 블록 그룹을 정하는 단계;Determining a predetermined block group; 상기 그룹 내에서 블록의 위치를 정하는 단계;Positioning a block within the group; 상기 블록 내에서 천공할 비트의 위치를 정하는 단계를 포함하여 구성되는 한편, While positioning the bits to be punctured within the block, 상기 블록 내에서 천공할 비트의 위치를 정하는 단계는,Positioning the bits to be punctured in the block, 현재 전혀 천공되지 않고 남아 있는 블록의 개수가 짝수이면서 현재 그룹에서 천공되지 않고 남아 있는 블록이 있는 경우 L1(i)에 의하여, 또한 천공되지 않고 남아 있는 블록의 개수가 홀수이면 L2(i)에 의하여 천공 비트 위치를 결정하며, 상기 L1(i) 및 L2(i)는 각각L 1 (i) if there are even blocks that remain unpunctured at this time and are still unpunctured in the current group, and L 2 (i) if the number of blocks that remain unpunctured is odd. Determine the puncturing bit position, where L 1 (i) and L 2 (i) are respectively
Figure 112008086559511-pat00055
이며, 상기
Figure 112008086559511-pat00056
Figure 112008086559511-pat00057
그리고
Figure 112008086559511-pat00058
는 c 보다 작거나 같은 최대 정수를 의미하는 것을 특징으로 하는 블록 형태 저밀도 패러티 검사 부호의 천공 방법.
Figure 112008086559511-pat00055
And said
Figure 112008086559511-pat00056
Is
Figure 112008086559511-pat00057
And
Figure 112008086559511-pat00058
Is a puncturing method of a block type low density parity check code, characterized in that it means a maximum integer less than or equal to c.
청구항 26에 있어서,The method of claim 26, 상기 L1(i) 및 L2(i)는 각각L 1 (i) and L 2 (i) are each
Figure 112007039111219-pat00059
Figure 112007039111219-pat00059
이며, 상기 u'z(i) 및 u''z(i)는 각각And u ' z (i) and u'' z (i) are each
Figure 112007039111219-pat00060
Figure 112007039111219-pat00060
이고, 상기 uz(i)는 And u z (i) is
Figure 112007039111219-pat00061
Figure 112007039111219-pat00061
인 것을 특징으로 하는 블록 형태 저밀도 패러티 검사 부호의 천공 방법.A puncturing method for a block-type low density parity check code, characterized in that.
KR1020070051785A 2007-05-29 2007-05-29 Method For Puncturing Of Block Type Low Density Parity Check Code KR100895612B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020070051785A KR100895612B1 (en) 2007-05-29 2007-05-29 Method For Puncturing Of Block Type Low Density Parity Check Code

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070051785A KR100895612B1 (en) 2007-05-29 2007-05-29 Method For Puncturing Of Block Type Low Density Parity Check Code

Publications (2)

Publication Number Publication Date
KR20080104684A KR20080104684A (en) 2008-12-03
KR100895612B1 true KR100895612B1 (en) 2009-05-06

Family

ID=40366263

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070051785A KR100895612B1 (en) 2007-05-29 2007-05-29 Method For Puncturing Of Block Type Low Density Parity Check Code

Country Status (1)

Country Link
KR (1) KR100895612B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109391373A (en) * 2017-08-11 2019-02-26 中兴通讯股份有限公司 Data repeating method, base station, terminal and system

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102137730B1 (en) * 2014-04-17 2020-07-24 삼성전자주식회사 QoE Provisioning Method And QoE Provisioning Apparatus for Mobile Video Application
KR102191303B1 (en) 2014-04-17 2020-12-15 삼성전자 주식회사 a method amd an apparatus for generating a codeword and a method and an apparatus of recovering a codeword
WO2016137255A1 (en) * 2015-02-27 2016-09-01 한국전자통신연구원 Parity puncturing device for variable-length signaling information encoding, and parity puncturing method using same
KR102453472B1 (en) 2015-02-27 2022-10-14 한국전자통신연구원 Apparatus of parity puncturing for encoding variable-length signaling information and method using the same
BR112017018314B1 (en) 2015-02-27 2023-10-31 Electronics And Telecommunications Research Institute PARITY PUNCHING APPARATUS AND METHOD, AND INVERSE PARITY PUNCHING APPARATUS

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070054088A (en) * 2005-11-22 2007-05-28 삼성전자주식회사 Apparatus and method for transmitting/receiving signal in a communication system

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070054088A (en) * 2005-11-22 2007-05-28 삼성전자주식회사 Apparatus and method for transmitting/receiving signal in a communication system

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
E. Choi, S. Suh and J. Kim, "Rate Compatible Puncturing for Low Density Parity Check Codes with Dual Diagonal Parity Structure," in proc. IEEE 2005' PIMRC, vol. 4, pp. 2642-2646, Sept., 2005.

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109391373A (en) * 2017-08-11 2019-02-26 中兴通讯股份有限公司 Data repeating method, base station, terminal and system
CN109391373B (en) * 2017-08-11 2022-01-28 中兴通讯股份有限公司 Data retransmission method, base station, terminal and system

Also Published As

Publication number Publication date
KR20080104684A (en) 2008-12-03

Similar Documents

Publication Publication Date Title
US10425258B2 (en) Method and apparatus for transmitting and receiving data in a communication system
KR101191196B1 (en) Method of encoding and decoding using a parity check matrix
KR100966043B1 (en) Apparatus and method for transmitting/receiving signal in a communication system using low density parity check codes
US8356227B2 (en) Method of encoding/decoding using low density check code matrix
US8737519B2 (en) Apparatus and method for channel coding in a communication system
JP3701263B2 (en) Data transmission / reception apparatus and method in CDMA mobile communication system
JP4930512B2 (en) Wireless communication system, transmitting apparatus and receiving apparatus
US7882414B2 (en) Apparatus and method for transmitting/receiving signal supporting variable coding rate in a communication system
US8286065B2 (en) Method and apparatus for channel encoding and decoding in a communication system using low-density parity-check codes
US8074138B2 (en) Decoding apparatus and method thereof
KR101922555B1 (en) Method and apparatus transmitting and receiving information in broadcasting/communication system
US8201046B2 (en) Method of encoding/decoding using low density check code matrix
US6560748B2 (en) Encoding device
JP2021502718A (en) Methods and equipment for processing LDPC encoded data
KR100895612B1 (en) Method For Puncturing Of Block Type Low Density Parity Check Code
JP2013511237A (en) Data transmission / reception method and apparatus in communication system
JP2007515122A (en) Data transmission / reception method and apparatus by coding having non-uniform error probability in mobile communication system
US10027441B2 (en) Method and apparatus for decoding data in receiver that uses non-binary low density parity check code
KR101503656B1 (en) Apparatus and method for channel encoding and decoding in communication system using low-density parity-check codes
KR20080106738A (en) Encoding and decoding apparatus and method of low density parity check code
KR20090060106A (en) Apparatus and method for encoding and decoding channel in communication system using low-density parity-check codes
KR101503133B1 (en) Apparatus and method for channel encoding and decoding in communication system using low-density parity-check codes
US20230253984A1 (en) Method and apparatus for data decoding in communication or broadcasting system
KR101191197B1 (en) Method of decoding using a plurality of parity check matrices
JP2012109841A (en) Transmitter, receiver, transmission method and reception method

Legal Events

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

Payment date: 20130311

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20140304

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee