가공데이터 · 한국어 지식관계

LDPC 부호를 이용하여 재전송을 수행하는 방법 document_id A220623029077

분류
전기전자
라벨 상태 (label_status)
approved
문맥 (context)
본 발명은 LDPC(Low Density Parity Check) 부호화 방법에 관한 것으로서, 보다 상세하게는, 패리티 검사 행렬을 이용하여 LDPC 부호화를 수행하는 방법에 관한 것이다. 도 1은 본 발명 및 종래 기술이 적용되는 이동통신 채널의 구조를 나타내는 도면이다. 이하, 도 1을 참조하여 이동통신 채널의 구조를 설명한다. 송신 단(Transmitter)에서 전송할 데이터를 무선채널에서 손실이나 왜곡 없이 전송하기 위해 채널 코딩(channel coding) 절차를 거친다. 상기 채널 코딩 기법으로는, Convolutional Coding, Turbo Coding, LDPC Coding 등의 다양한 기술이 있다. 상기 채널 코딩(Channel coding) 절차를 거친 데이터(data)는 무선 채널로 전송될 때 여러 개의 비트들이 모여서 하나의 심볼로 전송될 수 있다. 이때, 여러 비트들을 하나의 심볼(symbol)로 매핑(mapping) 되는 절차를 변조(modulation)라 한다. 변조된 데이터는 다중화(Multiplexing) 과정 또는 다중 접속(Multiple Access) 방법을 거쳐 다중 전송을 위한 신호로 변환된다. 상기 다중화 방법으로는, CDM, TDM, FDM 등의 다양한 방법이 존재한다. 상기 다중화(Multiplexing) 블록을 거친 신호는 한 개 이상의 다중 안테나에 전송되기 적합한 구조로 변경되어 무선채널을 통해 수신 단(Receiver)에 전달된다. 무선 채널을 통과하는 과정에서 전송된 데이터는 페이딩(Fading)과 열 잡음을 겪게 되어 데이터에 왜곡이 발생할 수 있다. 상기 변조(Modulation)된 데이터는 무선 채널을 통해 수신 단(Receiver)에 전달된다. 이 과정에서 전송된 데이터는 페이딩(Fading)과 열 잡음 등을 겪게 되어 데이터에 왜곡이 발생할 수 있다. 수신 단에서는 상기 왜곡된 데이터를 수신한 후 상기 송신 단의 일련의 절차를 역순으로 수행한다. 상기 심볼로 매핑(mapping)된 데이터를 비트열로 바꾸는 복조(demodulation) 작업을 수행하고, 채널 디코딩(Channel Decoding) 절차를 거치며 왜곡된 데이터를 원래 데이터로 복원한다. 상기 채널 코딩을 수행하는 장치는, 입력된 데이터(Information bits 또는 Systematic Bits)에 첨가될 패리티 비트(Parity Bits)을 발생시키는 사용되는 패리티 검사 행렬(Parity Check Matrix)인 H 행렬 또는 H행렬로부터 유도되는 생성행렬(Generation Matrix) G 행렬을 저장하고 있다. 즉, 상기 송신 단은, 상기 H 또는 G 행렬과 상기 입력된 데이터를 통해 패리티 비트(Parity Bit)들을 발생하는 인코더(Encoder)를 포함한다. 채널 디코딩(Channel Decoding)을 수행하는 장치는, 수신된 데이터(왜곡된 Systematic Bits + Parity Bits)를 H행렬과 연산을 통하여 상기 입력된 데이터(Systematic Bits)들이 제대로 복구되는지 확인하고 복구 실패시 연산을 재수행한다. 상기 변조(Modulation)는 BPSK(Binary Phase Shift Keying), QPSK(Quadrature Phase Shift Keying), 16-QAM(Quadrature Amplitude Modulation), 64-QAM, 256-QAM 등이 사용된다. 예를 들어, 16-QAM은 변조(Modulation)시 채널 인코딩(Channel Encoding) 절차를 거친 데이터 열을 4 비트 단위로 하나의 심볼에 매핑(mapping)한다. 16-QAM은 복조(Demodulation) 시 무선 채널을 거쳐 수신된 데이터의 하나의 심볼을 4개의 bit로 디매핑(demapping) 한다. 이하, 본 발명과 함께 사용될 수 있는 데이터 재전송 기법에 관하여 설명한다. 상기 데이터 재전송 기법의 종류는 다양한바, 이하 HARQ(Hybrid Automatic Repeat reQuest) 기법에 대하여 설명한다. HARQ는 통신시스템에서 재전송 기법인 ARQ(Automatic Repeat reQuest)와 FEC(Forward Error Correction) 부호를 결합한 기술이다. ARQ 기법은, 수신단에서 수신된 데이터에서 에러(error)가 검출된 경우, 상기 수신 단(Receiver)은 송신 단(Transmitter)으로 재전송을 요청하는 방법이다. ARQ 기법에는 재전송 방법에 따라, Stop-And-Wait, Selective Repeat, Go-Back-N 등이 있다. 상기 Stop-And-Wait 기법은 도 2와 같이 송신 단은 데이터를 송신하고, 수신 단에서 데이터가 성공적으로 수신되었음을 알리는 ACK(Acknowledgement) 메시지를 송신 단이 받으면, 다음 데이터를 송신하고, 송신단 이 수신 단으로부터 데이터가 성공적으로 수신되지 않았다는 NACK 메시지를 받으면, 전송에 실패한 데이터를 다시 보내는 방법이다. 한편, Go-Back-N 방법에서는 송신 단은 N개의 데이터를 우선 보내고, 수신 단으로부터 ACK메시지를 차례대로 수신한다. 도 3은 N=7인 경우를 나타내는데, 이때, ACK을 받지 않고 보내는 데이터의 개수(N)를 윈도우 크기(window size)라고 한다. 송신단은 k 번째 데이터에 대한 NACK 메시지를 받으면, k번째 데이터부터 순차적으로 데이터를 전송한다 도 4는 Selective Repeat 방법을 나타낸다. 상기 Selective Repeat 방법에서는, 상기 Go-Back-N 방법에서와 같이 ACK 또는 NACK 메시지를 받지 않고, 윈도우 크기(Window Size)를 N으로 하여 데이터를 전송하고, NACK 메시지를 받은 데이터에 대해서만 선택적으로 재전송을 수행한다. 상술한 HARQ 기법은 상기 ARQ 방식에서 재전송을 하는 경우에, 먼저 전송된 데이터와 재전송된 데이터를 결합하여, FEC 부호를 통해 복구하는 방법이며, 두 데이터를 결합하는 방법에 따라, Chase Combining과 Incremental Redundancy로 나뉘어진다. Chase Combining 기법은 도 5와 같이 수신단에서 전송 데이터와 재전송 데이터를 결합하여 수신 SNR(Signal to Noise Ratio)를 높여 수신단에서 데이터에 대한 수신 성공율을 높이는 방법이다. 한편, Incremental Redundancy 기법(이하, 'IR 기법'이라 칭함)은 도 6와 같이 송신단에서 재전송 시, Chase Combining 방법과는 달리, 처음 전송에 사용되지 않았던 부호화된 데이터의 일부를 전송하여 수신단에서 수신된 데이터의 부호율(code rate)을 낮추는 방법을 통해 수신 성공률을 높이는 방법이다. 이하 LDPC 부호에 관하여 설명한다. LDPC 부호의 개념을 설명하면 다음과 같다. 선형 부호는 생성행렬 G 또는 패리티 체크 행렬 H로 기술될 수 있다. 선형 부호의 특징은 모든 코드워드 c 에 대하여, 을 만족하도록 부호가 구성된다는 점이다. 이 선형 부호의 일종으로서, 최근에 주목받는 LDPC 부호는 1962년 Gallager에 의하여 처음 제안되었다. 이 부호의 특징으로는 패리티 체크 행렬의 원소가 대부분 0으로 이루어지고, 0이 아닌 원소의 수는 부호 길이에 비하여 적은 수를 가지도록 하여 확률을 기반으로 한 반복적 복호가 가능한 점이다. 처음 제안된 LDPC 부호는 패리티 체크 행렬을 비체계적인(non-systematic) 형태로 정의하였고, 그것의 행과 열에 균일하게 적은 무게(weight)를 갖도록 설계되었다. 여기서, 무게(weight)란 행렬에서 열(column) 또는 행(row)에 포함된 1의 개수를 의미한다. LDPC 부호의 패리티 체크 행렬 H 상에 0이 아닌 원소의 밀도가 적기 때문에 낮은 복호 복잡도를 가지게 된다. 아울러, 복호 성능도 기존의 부호들보다 우수하여 Shannon의 이론적인 한계에 근접하는 좋은 성능을 보인다. 하지만 LDPC 부호는 당시 하드웨어 기술로서 구현이 어려워서 30여 년이 넘게 많은 사람의 관심을 끌지 못하였다. 1980년대 초반 그래프를 이용하여 반복적 복호를 하는 방법이 개발되어, 이를 이용하여 LDPC 부호를 실제로 복호할 수 있는 여러 알고리즘들이 개발되었다. 이를 대표하는 알고리즘으로 합곱 알고리즘(sum-product Algorithm)을 뽑을 수 있다. 이하, LDPC 부호의 특징을 설명한다. LDPC 부호는 높은 오류 정정 성능을 갖고 있으며, 이로 인해 통신 속도와 용량의 개선을 가능하게 한다. 상기 LDPC 부호는 MIMO(Multiple Input Multiple Output) 시스템과 결합하여 수백 Mbit/s의 전송이 가능한 고속 무선 LAN에 적용될 수 있고, 또한 250km/h에서 1Mbit/s 이상의 전송 속도를 갖는 고속 이동 통신에 적용될 수 있고, 또한 40Gbits/s 이상의 광통신에 적용될 수 있다. 또한, 상기 LDPC 부호의 높은 오류 정정 성능으로 인해 전송 품질이 개선되어 저품질의 통신 경로에서 재전송의 회수를 감소시키는 양자 암호화 통신을 가능하게 할 수 있다. 또한, LDPC 부호의 낮은 복잡도와 뛰어난 손실 보상으로 인해, 유실된 패킷을 용이하게 복원할 수 있으며, 이는 인터넷과 이동 통신을 통해 TV 품질과 동일한 품질의 컨텐츠를 전송할 수 있게 한다. LDPC의 장점인 넓은 적용 범위와 큰 용량으로 인하여, 전에는 불가능한 것으로 여겨졌던 100m 범위까지의 10GBASE-T 전송이 LDPC 부호를 통해 실현 가능하다. 동시에 36MHz 대역의 단일 위성 송신기의 전송 용량을 1.3배 늘어난 80M비트/s까지 늘릴 수 있다. 이하, 구조화된(structured) LDPC를 설명한다. LDPC 부호를 사용하기 위해서는 패리티 체크 행렬 H를 사용하는데, 사용하는 행렬 H는 대부분의 0과 일부의 1을 원소(elemnet)로 포함하는데, H 행렬의 크기가 105 비트 이상으로 크기 때문에 H 행렬을 표현하는데 큰 크기의 메모리가 필요하다. 상기 구조화된 LDPC 기법은 LDPC 부호화 및 복호화에 사용되는 상기 H 행렬의 원소들을 도 7과 같이 일정한 크기의 서브 블록(sub-block)으로 표현하는 방법이다. IEEE802.16e에서는 상기 서브 블록을 하나의 정수 인덱스(index)로 표시하여, 상기 H 행렬을 저장하는데 필요한 메모리의 크기를 줄인다. 상기 서브 블록은 다양한 행렬일 수 있는바, 예를 들어 일정한 크기의 퍼뮤테이션 행렬(Permutation Matrix)일 수도 있다. 상기 구조화된 LDPC 기법을 사용하게 되면 특정한 메모리에 1 또는 0으로 구성되는 일정 크기의 행렬을 저장하는 대신, 하나의 정수(즉, 인덱스)만 저장하면 되기 때문에 상기 H 행렬을 표시하는데 필요한 메모리의 크기를 줄일 수 있다. 일례로, IEEE802.16e 표준에 반영된 코드워드(codeword)의 크기가 2304이고, 부호율(code rate)이 2/3인 경우에, LDPC 부호화/복호화를 위해 사용되는 모델 행렬(model matrix)은 도 8과 같다. 모델 행렬은, 이하에서 설명하는 쉬프트 수로 표현되는 적어도 하나의 서브 블록으로 구성된 패리티 검사 행렬을 의미한다. 상기 모델 행렬은 이하에서 설명하는 방법에 의해 패리티 검사 행렬로 확장되어 생성될 수 있다. 따라서 특정한 모델 행렬로 부호화 및 복호화를 수행한다는 의미는 해당 모델 행렬에서 확장되어 생성된 패리티 검사 행렬로 부호화 및 복호화를 수행한다는 의미와 동일하다. 도 8에 도시된 바와 같이, 구조화된 LDPC 행렬은 '-1', '0' 과 양의 정수로 표현될 수 있다. 인덱스가 '-1'인 경우는 특정한 크기의 영 행렬(zero matrix)을 나타내며, 인덱스가 '0'인 경우는 특정한 크기의 단위 행렬(identity matrix)을 나타낸다. '-1'과 '0'을 제외한 양의 정수를 갖는 인덱스는, 상기 인덱스가 쉬프트 수(shift number)를 나타낸다. 서브 블록을 '1'이라는 인덱스로 표현하는 경우, 해당 서브 블록은 단위 행렬에서 특정한 방향으로 '1'번 쉬프트된 것이다. 도 9는 상술한 인덱스, 즉 쉬프트 수(shift number)에 따른 행렬의 표현 방법을 나타낸 도면이다. 특정한 패리티 검사 행렬을 4*4 크기의 행렬(즉, 서브 블록)로 구조화하여 표현하는 경우, 상기 특정한 서브 블록을 '3'이라는 인덱스로 표시하면, 상기 서브 블록은 도 9의 행렬이 된다. 이하, LDPC 부호화 방법을 설명한다. 일반적인 LDPC 부호화(Encoding) 방법은, LDPC 패리티 검사행렬(Parity Check Matrix) H로부터 생성행렬(Generation Matrix) G를 유도해 내어, 정보 비트(information bit)를 부호화(encoding)한다. 상기 생성행렬 G를 유도하기 위해, 상기 검사행렬 H를 가우스 소거(Gaussian Reduction) 방법을 통해 [ PT : I ] 형태로 구성한다. 상기 정보 비트(Information bit)의 수를 k이라 하고, 인코딩된 코드 워드(codeword)의 크기를 n이라고 할 때, 상기 P 행렬은 행의 개수가 k이고 열의 개수가 n-k인 행렬이고, 상기 I는 행 크기가 k 열 크기가 k인 단위 행렬(Identity Matrix)이다. 상기 생성행렬 G 는, 상기 검사행렬 H 가 [ PT : I ]와 같이 표현되었을 때, [ I : P ] 행렬이 된다. 인코딩(Encoding) 되는 k 비트 크기의 정보 비트를 행렬로 표시하면, 행의 개수는 1이고 열의 개수는 k인 행렬 x로 표현할 수 있다. 이 경우 코드 워드 c는 다음과 같은 식으로 설명된다. [수학식 1] 상기 수식에서, x는 정보어 부분(information part 또는 systematic part)을 나타내고, xP는 패리티 부분(parity part)을 나타낸다. 한편, 위와 같이 가우스 소거(Gaussian Reduction) 방법으로 부호화하는 경우에는 계산량이 많아, 상기 H 행렬의 형태를 특수한 구조로 디자인(design)하여 상기 G 행렬을 유도하지 않고, 상기 H 행렬에서 직접 부호화하는 방법을 사용한다. 즉, 상기 G 행렬과 상기 H 행렬에 대한 전치(Transpose) 형태의 HT 간의 곱이 0 이라는 성질(즉, )을 이용하여, 상기 수학식 1에서 HT을 곱하면, 하기 수학식 2 같은 수학식을 얻을 수 있다. 하기 수학식 2에 부합하는 패리티 비트를 정보 비트(x) 뒤에 추가하여 코드워드 c를 얻을 수 있다. [수학식 2] 이하, LDPC 복호화 방법에 대하여 설명한다. 통신시스템에서 부호화된 데이터는 도 1의 무선 채널을 통과하는 과정에서 잡음을 포함하게 되는데, 수신 단에서는 도 10과 같은 절차를 통해 데이터의 복호 과정을 나타낸다. 수신 단의 복호화 블록에서는 부호화된 코드워드(c)에 잡음이 첨가된 수신신호(c')로부터 정보 비트(x)를 구하는데, cHT=0인 성질을 이용하여 찾아낸다. 즉, 수신된 코드워드를 c'라 할 때, c'HT의 값을 계산하여 결과가 0이면, c' 에서 처음 k개의 비트를 상기 정보 비트(x)로 결정한다. 만약, c'HT의 값이 0이 아닌 경우, 그래프를 통한 합곱(sum-product) 알고리즘 등의 복호화 기법을 사용하여, c'HT의 값이 0을 만족하는 c'을 찾아 상기 정보 비트(x)를 복구한다. 이하, LDPC 부호의 부호율(code rate)를 설명한다. 일반적으로, 부호율(R: code rate)은 상기 정보 비트의 크기가 k이고, 실제 전송되는 코드워드의 크기가 n일 때 다음과 같다. [수학식 3] R = k/n LDPC 부호화 및 복호화에 필요한 상기 H 행렬의 행의 크기가 m, 열의 크기가 n인 경우, 부호율은 다음과 같다. [수학식 4] R = 1 - m/n 상술한 바와 같이, 종래의 LDPC 부호는 상기 H 행렬에 의해 부호화 및 복호화를 수행하는바 상기 H 행렬의 구조가 매우 중요하다. 즉, 부호화 및 복호화의 성능이 상기 H 행렬의 구조에 크게 영향을 받기 때문에, 상기 H 행렬의 설계가 무엇보다 중요하다. 이하, 종래 기술의 문제점을 설명한다. 상기 IR 기법에 따라 재전송하는 경우에는, 최초 전송시와 재전송시의 부호율이 달라져야 한다. 이 경우, 서로 다른 부호율을 적용하기 위해서는 서로 다른 모델 행렬을 사용하면 IR 기법을 지원하지 못하는 문제가 발생할 수 있다. 예를 들어, 최초 전송시에 사용했던 제1 모델 행렬과 NACK 신호를 수신한 이후에 사용하는 제2 모델 행렬이 서로 상이한 경우에는 상기 제1 모델 행렬에 의해 생성된 패리티 비트와 상기 제2 모델 행렬에 의해 생성된 패리티 비트가 상이하여 수신 단에서의 결합 수신이 불가능한 문제가 있다.
지시문 (instruction)
주어진 원문을 읽고 필요한 정보를 파악하여, 원문에 근거해 질문에 답하라.
질문 (question)
구조화된 LDPC 기법을 사용하여 패리티 체크 행렬 H를 표현할 때 얻을 수 있는 기술적 효과는 무엇인가?
추론 과정 (compact_reasoning)
  1. 1과제 해석task_interpretation

    구조화된 LDPC 기법이 제공하는 기술적 이점(효과)을 묻는 질문이다.

  2. 2정보 추출information_extraction

    구조화된 LDPC 기법에 대한 설명 부분에서 메모리 관련 내용을 추출한다.

    • 상기 구조화된 LDPC 기법은 LDPC 부호화 및 복호화에 사용되는 상기 H 행렬의 원소들을 도 7과 같이 일정한 크기의 서브 블록(sub-block)으로 표현하는 방법이다.
  3. 3근거 선택evidence_selection

    메모리 크기 감소와 관련된 직접적인 효과 구절을 선별한다.

    • 상기 구조화된 LDPC 기법을 사용하게 되면 특정한 메모리에 1 또는 0으로 구성되는 일정 크기의 행렬을 저장하는 대신, 하나의 정수(즉, 인덱스)만 저장하면 되기 때문에 상기 H 행렬을 표시하는데 필요한 메모리의 크기를 줄일 수 있다.
  4. 4논리 통합logical_integration

    서브 블록을 인덱스로 대체함으로써 저장 공간이 절약된다는 인과관계를 파악한다.

    • IEEE802.16e에서는 상기 서브 블록을 하나의 정수 인덱스(index)로 표시하여, 상기 H 행렬을 저장하는데 필요한 메모리의 크기를 줄인다.
  5. 5결론 도출conclusion_formulation

    H 행렬을 표현하는 데 필요한 메모리 크기를 줄일 수 있다는 결론을 도출한다.

    • 상기 H 행렬을 표시하는데 필요한 메모리의 크기를 줄일 수 있다.
  6. 6답변 생성answer_generation

    질문에 대해 메모리 절감 효과를 중심으로 답변을 작성한다.

    • 상기 H 행렬을 표시하는데 필요한 메모리의 크기를 줄일 수 있다.
최종 답변 (final_answer)
구조화된 LDPC 기법을 사용하면 패리티 체크 행렬(H 행렬)의 원소들을 일정한 크기의 서브 블록으로 표현하고 이를 하나의 정수 인덱스로 표시할 수 있기 때문에, 특정한 메모리에 행렬 전체를 저장하는 대신 인덱스만 저장하면 되어 H 행렬을 표시하는 데 필요한 메모리의 크기를 줄일 수 있다.
핵심 해석 (core_interpretation)
구조화된 LDPC 기법의 핵심은 행렬의 서브 블록을 인덱스로 치환하여 데이터 저장 효율성을 높이는 것이다.