KR102509968B1 - 통신 또는 방송 시스템에서 harq 적용시 전송 방법 및 장치 - Google Patents
통신 또는 방송 시스템에서 harq 적용시 전송 방법 및 장치 Download PDFInfo
- Publication number
- KR102509968B1 KR102509968B1 KR1020170128254A KR20170128254A KR102509968B1 KR 102509968 B1 KR102509968 B1 KR 102509968B1 KR 1020170128254 A KR1020170128254 A KR 1020170128254A KR 20170128254 A KR20170128254 A KR 20170128254A KR 102509968 B1 KR102509968 B1 KR 102509968B1
- Authority
- KR
- South Korea
- Prior art keywords
- parity check
- check matrix
- bits
- ldpc
- index
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements 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/18—Automatic repetition systems, e.g. Van Duuren systems
- H04L1/1812—Hybrid protocols; Hybrid automatic repeat request [HARQ]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/0001—Systems modifying transmission characteristics according to link quality, e.g. power backoff
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0057—Block codes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements 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/18—Automatic repetition systems, e.g. Van Duuren systems
- H04L1/1867—Arrangements specially adapted for the transmitter end
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Quality & Reliability (AREA)
- Error Detection And Correction (AREA)
Abstract
본 개시는 LTE와 같은 4G 통신 시스템 이후 보다 높은 데이터 전송률을 지원하기 위한 5G 또는 pre-5G 통신 시스템에 관련된 것이다. 본 발명은 LDCP 코드를 이용해 인코딩된 데이터에 HARQ를 적용할 경우 효과적인 재전송을 위한 방법을 개시한다. 본 발명은 LDPC(저밀도 패리티 검사) 코드로 인코딩된 데이터를 수신기로 초기 전송하는 단계, 상기 수신기로부터 부정 수신 확인(NACK)을 수신하는 단계, 데이터 재전송을 위한 재전송 관련 정보를 결정하는 단계, 및 상기 재전송 관련 정보를 기반으로 상기 NACK에 대응해 상기 LDPC 코드로 인코딩된 데이터를 재전송하는 단계를 포함한다.
Description
본 발명은 통신 또는 방송 시스템에서 HARQ를 적용한 전송 방법 및 장치에 관한 것이다.
4G 통신 시스템 상용화 이후 증가 추세에 있는 무선 데이터 트래픽 수요를 충족시키기 위해, 개선된 5G 통신 시스템 또는 pre-5G 통신 시스템을 개발하기 위한 노력이 이루어지고 있다. 이러한 이유로, 5G 통신 시스템 또는 pre-5G 통신 시스템은 4G 네트워크 이후 (Beyond 4G Network) 통신 시스템 또는 LTE 시스템 이후 (Post LTE) 이후의 시스템이라 불리어지고 있다.
높은 데이터 전송률을 달성하기 위해, 5G 통신 시스템은 초고주파(mmWave) 대역 (예를 들어, 60기가(60GHz) 대역과 같은)에서의 구현이 고려되고 있다. 초고주파 대역에서의 전파의 경로손실 완화 및 전파의 전달 거리를 증가시키기 위해, 5G 통신 시스템에서는 빔포밍(beamforming), 거대 배열 다중 입출력(massive MIMO), 전차원 다중입출력(Full Dimensional MIMO: FD-MIMO), 어레이 안테나(array antenna), 아날로그 빔형성(analog beam-forming), 및 대규모 안테나 (large scale antenna) 기술들이 논의되고 있다.
또한 시스템의 네트워크 개선을 위해, 5G 통신 시스템에서는 진화된 소형 셀, 개선된 소형 셀 (advanced small cell), 클라우드 무선 액세스 네트워크 (cloud radio access network: cloud RAN), 초고밀도 네트워크 (ultra-dense network), 기기 간 통신 (Device to Device communication: D2D), 무선 백홀 (wireless backhaul), 이동 네트워크 (moving network), 협력 통신 (cooperative communication), CoMP (Coordinated Multi-Points), 및 수신 간섭제거 (interference cancellation) 등의 기술 개발이 이루어지고 있다.
이 밖에도, 5G 시스템에서는 진보된 코딩 변조(Advanced Coding Modulation: ACM) 방식인 FQAM (Hybrid FSK and QAM Modulation) 및 SWSC (Sliding Window Superposition Coding)과, 진보된 접속 기술인 FBMC(Filter Bank Multi Carrier), NOMA(non-orthogonal multiple access), 및 SCMA(sparse code multiple access) 등이 개발되고 있다.
통신/방송 시스템에서, 링크(link) 성능은 채널의 여러 가지 잡음(noise), 페이딩(fading) 현상 및 심벌 간 간섭(inter-symbol interference, ISI)에 의해 현저히 저하될 수 있다. 따라서 차세대 이동 통신, 디지털 방송 및 휴대 인터넷과 같이 높은 데이터 처리량과 신뢰도를 요구하는 고속 디지털 통신/방송 시스템들을 구현하기 위해서 잡음, 페이딩 및 심벌 간 간섭을 극복하기 위한 기술을 개발하는 것이 요구된다. 잡음 등을 극복하기 위한 연구의 일환으로 최근에는 정보의 왜곡을 효율적으로 복원하여 통신의 신뢰도를 높이기 위한 방법으로서 오류정정부호 (error correcting code)에 대한 연구가 활발히 이루어지고 있다.
본 발명은 설계된 패리티 검사 행렬로부터 다양한 부호어 길이를 지원하는 LDPC 부호화 및 복호화 방법 및 장치를 제공한다. 또한 본 발명은 LDPC 부호를 기반으로 하는 HARQ 전송 방법 및 장치를 제공한다.
상기와 같은 문제점을 해결하기 위한 본 발명은 LDPC(저밀도 패리티 검사) 코드로 인코딩된 데이터를 수신기로 초기 전송하는 단계, 상기 수신기로부터 부정 수신 확인(NACK)을 수신하는 단계, 데이터 재전송을 위한 재전송 관련 정보를 결정하는 단계, 및 상기 재전송 관련 정보를 기반으로 상기 NACK에 대응해 상기 LDPC 코드로 인코딩된 데이터를 재전송하는 단계를 포함하는 것을 특징으로 한다.
또한 수신기의 데이터 수신 방법에 있어서, LDPC(저밀도 패리티 검사) 코드로 인코딩된 데이터를 송신기로부터 수신하는 단계, 상기 데이터 디코딩 결과에 기반해 상기 송신기로 부정 수신 확인(NACK)을 전송하는 단계, 데이터 재전송을 위한 재전송 관련 정보를 결정하는 단계, 및 상기 재전송 정보를 기반으로 상기 NACK에 대응해 재전송되는 상기 LDPC 코드로 인코딩된 데이터를 재수신하는 단계를 포함하는 것을 특징으로 한다.
또한, 데이터를 전송하는 송신기에 있어서, 수신기와 신호를 송수신하는 송수신부 및 LDPC(저밀도 패리티 검사) 코드로 인코딩된 데이터를 수신기로 초기 전송하고, 상기 수신기로부터 부정 수신 확인(NACK)을 수신하고, 데이터 재전송을 위한 재전송 관련 정보를 결정하고, 상기 재전송 관련 정보를 기반으로 상기 NACK에 대응해 상기 LDPC 코드로 인코딩된 데이터를 재전송하도록 제어하는 제어부를 포함하는 것을 특징으로 한다.
또한, 데이터를 수신하는 수신기에 있어서, 송신기와 신호를 송수신하는 송수신부 및 LDPC(저밀도 패리티 검사) 코드로 인코딩된 데이터를 송신기로부터 수신하고, 상기 데이터 디코딩 결과에 기반해 상기 송신기로 부정 수신 확인(NACK)을 전송하고, 데이터 재전송을 위한 재전송 관련 정보를 결정하고, 상기 재전송 정보를 기반으로 상기 NACK에 대응해 재전송되는 상기 LDPC 코드로 인코딩된 데이터를 재수신하도록 제어하는 제어부를 포함하는 것을 특징으로 한다.
본 발명은 가변 길이와 가변 레이트에 대해 적용할 수 있는 LDPC 부호를 기반으로 HARQ 방식을 지원할 수 있다.
도 1은 시스테메틱(systematic) LDPC 부호어 구조도를 도시한 도면이다.
도 2는 4 개의 행(row)와 8 개의 열(column)로 이루어진 LDPC 부호의 패리티 검사 행렬 H1의 일 예와 이를 태너 그래프(tanner graph)로 도시한 도면이다.
도 3은 패리티 검사 행렬의 기본적인 구조를 도시한 도면이다.
도 4는 본 발명의 일 실시 예에 따른 송신 장치의 블록 구성도이다.
도 5 는 본 발명의 일 실시 예에 따른 수신 장치의 블록 구성도이다.
도 6a 및 6b는 본 발명에서 사용되는 LDPC 패리티 검사 행렬의 특징을 기술한 도면이다.
도 7a 및 7b는 LDPC 복호화를 위해 임의의 검사 노드와 변수 노드에서 수행되는 메시지 패싱 동작을 도시한 도면이다.
도 8은 본 발명의 일 실시 예에 따른 송신 방법을 도시한 순서도이다.
도 9a 및 9b는 본 발명의 일 실시 예에 따른 송신 방법을 도시한 순서도이다.
도 10은 LDPC 부호어 및 상기 재전송을 위한 기설정된 특정 비트의 위치를 도시한 도면이다.
도 11a 및 11b는 부호율에 따라 재전송시 중복되는 부호어를 도시한 도면이다.
도 11c는 인터리버를 달리 사용하는 경우에 전송되는 부호어를 도시한 도면이다.
도 12a 및 12b는 초기 부호율에 따라 재전송 시작점을 결정하는 방법을 도시한 도면이다.
도 13a는 본 발명에 따른 rv 값의 위치를 결정하는 방법을 기술한 순서도이다.
도 13b는 본 발명의 값에 따라 전송되는 비트를 도시한 도면이다.
도 14a는 재전송되는 심볼이 동일한 경우 변조 심볼 매핑 방법을 도시한 도면이다.
도 14b는 재전송되는 심볼이 동일하지 않을 경우 변조 심볼 매핑 방법을 도시한 도면이다.
도 15는 각 심볼마다 순환 쉬프트를 적용하는 방법을 도시한 도면이다.
도 16a는 본 발명을 수행하는 장치를 도시한 블록도이다.
도 16b는 본 발명의 실시예에 따른 변조 심볼 매핑 방법을 도시한 순서도이다.
도 17은 본 발명의 실시예에 따른 데이터 재전송 방법을 도시한 도면이다.
도 18은 본 발명의 일 실시 예에 따른 부호화 장치의 구성을 나타내는 블록도이다.
도 19는 본 발명의 일 실시 예에 따른 복호화 장치의 구성을 나타내는 블록도이다.
도 20은 본 발명의 실시예에 따른 복호화 장치를 도시한 블록도이다.
도 21 및 22는 본 발명의 실시예에 따라 동작할 수 있는 송신기 및 수신기를 도시한 도면이다.
도 23은 본 발명에 따라 신호 전송시 특정 BLER을 만족시키는 SNR 값을 도시한 도면이다.
도 24는 블록 인터리버를 도시한 도면이다.
도 25는 본 발명에 따른 송신 순서를 도시한 도면이다.
도 2는 4 개의 행(row)와 8 개의 열(column)로 이루어진 LDPC 부호의 패리티 검사 행렬 H1의 일 예와 이를 태너 그래프(tanner graph)로 도시한 도면이다.
도 3은 패리티 검사 행렬의 기본적인 구조를 도시한 도면이다.
도 4는 본 발명의 일 실시 예에 따른 송신 장치의 블록 구성도이다.
도 5 는 본 발명의 일 실시 예에 따른 수신 장치의 블록 구성도이다.
도 6a 및 6b는 본 발명에서 사용되는 LDPC 패리티 검사 행렬의 특징을 기술한 도면이다.
도 7a 및 7b는 LDPC 복호화를 위해 임의의 검사 노드와 변수 노드에서 수행되는 메시지 패싱 동작을 도시한 도면이다.
도 8은 본 발명의 일 실시 예에 따른 송신 방법을 도시한 순서도이다.
도 9a 및 9b는 본 발명의 일 실시 예에 따른 송신 방법을 도시한 순서도이다.
도 10은 LDPC 부호어 및 상기 재전송을 위한 기설정된 특정 비트의 위치를 도시한 도면이다.
도 11a 및 11b는 부호율에 따라 재전송시 중복되는 부호어를 도시한 도면이다.
도 11c는 인터리버를 달리 사용하는 경우에 전송되는 부호어를 도시한 도면이다.
도 12a 및 12b는 초기 부호율에 따라 재전송 시작점을 결정하는 방법을 도시한 도면이다.
도 13a는 본 발명에 따른 rv 값의 위치를 결정하는 방법을 기술한 순서도이다.
도 13b는 본 발명의 값에 따라 전송되는 비트를 도시한 도면이다.
도 14a는 재전송되는 심볼이 동일한 경우 변조 심볼 매핑 방법을 도시한 도면이다.
도 14b는 재전송되는 심볼이 동일하지 않을 경우 변조 심볼 매핑 방법을 도시한 도면이다.
도 15는 각 심볼마다 순환 쉬프트를 적용하는 방법을 도시한 도면이다.
도 16a는 본 발명을 수행하는 장치를 도시한 블록도이다.
도 16b는 본 발명의 실시예에 따른 변조 심볼 매핑 방법을 도시한 순서도이다.
도 17은 본 발명의 실시예에 따른 데이터 재전송 방법을 도시한 도면이다.
도 18은 본 발명의 일 실시 예에 따른 부호화 장치의 구성을 나타내는 블록도이다.
도 19는 본 발명의 일 실시 예에 따른 복호화 장치의 구성을 나타내는 블록도이다.
도 20은 본 발명의 실시예에 따른 복호화 장치를 도시한 블록도이다.
도 21 및 22는 본 발명의 실시예에 따라 동작할 수 있는 송신기 및 수신기를 도시한 도면이다.
도 23은 본 발명에 따라 신호 전송시 특정 BLER을 만족시키는 SNR 값을 도시한 도면이다.
도 24는 블록 인터리버를 도시한 도면이다.
도 25는 본 발명에 따른 송신 순서를 도시한 도면이다.
이하 본 발명의 바람직한 실시 예를 첨부된 도면의 참조와 함께 상세히 설명한다. 그리고, 본 발명을 설명함에 있어서, 관련된 공지 기능 혹은 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단된 경우, 그 상세한 설명은 생략한다. 그리고 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
본 발명의 주요한 요지는 유사한 기술적 배경을 가지는 여타의 시스템에도 본 발명의 범위를 크게 벗어나지 아니하는 범위에서 약간의 변형으로 적용 가능하며, 이는 본 발명의 기술분야에서 숙련된 기술적 지식을 가진 자의 판단으로 가능할 것이다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시 예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시 예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시 예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
1960년대에 Gallager에 의해서 처음 소개된 저밀도 패리티 체크(Low Density Parity Check, 이하 LDPC) 부호는 당시 기술 수준에서 구현하기 어려운 복잡도로 인해 오랫동안 잊혀져 왔다. 하지만, 1993년 Berrou와 Glavieux, Thitimajshima에 의해 제안된 터보(turbo) 부호가 셰논(Shannon)의 채널 용량에 근접하는 성능을 보임에 따라 터보 부호의 성능과 특성에 대한 많은 해석이 이루어지면서 반복 복호(iterative decoding)와 그래프를 기반으로 하는 채널 부호화에 대한 많은 연구가 진행되었다. 이를 계기로 1990년대 후반에 LDPC 부호가 재연구되면서 LDPC 부호에 대응되는 태너(Tanner) 그래프 상에서 합-곱(sum-product) 알고리즘에 기반한 반복 복호(iterative decoding)를 적용하여 복호화를 수행하면 LDPC 부호 또한 셰논의 채널 용량에 근접하는 성능을 가지게 됨이 밝혀졌다.
LDPC 부호는 일반적으로 패리티 검사 행렬(parity-check matrix)로 정의되며 태너 그래프로 통칭되는 이분(bipartite) 그래프를 이용하여 표현될 수 있다.
도 1은 시스테메틱(systematic) LDPC 부호어 구조도를 도시한 도면이다.
도 1에 따르면, LDPC 부호는 Kldpc 개 비트 혹은 심볼로 구성되어 있는 정보어(102)를 입력받아 LDPC 부호화를 하여 Nldpc 개 비트 혹은 심볼로 구성되어 있는 부호어(100)(codeword)를 생성한다. 이하 설명의 편의를 위해, Kldpc 개 비트를 포함하는 정보어(102)를 입력받아 Nldpc 개 비트로 구성되는 부호어(100)가 생성되는 것으로 가정한다. 즉, Kldpc 개의 입력 비트인 정보어 (102)를 LDPC 부호화하면, 부호어 (100)가 생성된다. 즉, 부호어는 다수의 비트로 구성되어 있는 비트열이며, 부호어 비트는 부호어를 구성하는 각각의 비트를 의미한다. 또한, 정보어는 다수의 비트로 구성되어 있는 비트열이며, 정보어 비트는 정보어를 구성하는 각각의 비트를 의미한다. 이때, 시스테메틱 부호인 경우, 부호어 로 구성된다. 여기에서, 는 패리티 비트(104)이고, 패리티 비트의 개수 Nparity는 Nparity=Nldpc - Kldpc이다.
LDPC 부호는 선형 블록 부호(linear block code)의 일종으로 아래의 수학식 1과 같은 조건을 만족하는 부호어를 결정하는 과정을 포함한다.
[수학식 1]
수학식 1에서, H는 패리티 검사 행렬, C는 부호어, ci는 부호어의 i 번째 비트, Nldpc는 부호어 길이를 의미한다. 여기서 hi는 패리티 검사 행렬(H)의 i번째 열(column)을 의미한다.
패리티 검사 행렬 H는 LDPC 부호어의 비트 개수와 동일한 Nldpc 개의 열(column)로 구성되어 있다. 수학식 1은 패리티 검사 행렬의 i 번째 열(hi)과 i 번째 부호어 비트 ci의 곱의 합이 '0'이 됨을 의미하므로, i 번째 열(hi)은 i 번째 부호어 비트 ci와 관계가 있음을 의미한다.
도 2를 참조하여 LDPC 부호의 그래프 표현 방법에 대해 설명하기로 한다.
도 2는 4 개의 행(row)와 8 개의 열(column)로 이루어진 LDPC 부호의 패리티 검사 행렬 H1의 일 예와 이를 태너 그래프(Tanner graph)로 도시한 도면이다. 도 2를 참조하면, 패리티 검사 행렬 H1은 열이 8개 있기 때문에 길이가 8인 부호어(codeword)를 생성하며, H1을 통해 생성된 부호는 LDPC 부호를 의미하며, 각 열은 부호화된 8 비트에 대응된다.
도 2를 참조하면, 패리티 검사 행렬 H1을 기반으로 부호화 및 복호화하는 LDPC 부호의 태너 그래프는 8 개의 변수 노드(variable node)들 즉, x1(202), x2(204), x3(206), x4(208), x5(210), x6(212), x7(214), x8(216)와 4 개의 검사 노드(check node)(218, 220, 222, 224)들로 구성되어 있다. 여기서, LDPC 부호의 패리티 검사 행렬 H1의 i 번째 열과 j 번째 행은 각각 변수 노드 xi와 j 번째 검사 노드에 대응된다. 또한, LDPC 부호의 패리티 검사 행렬 H1의 j 번째 열과 j 번째 행이 교차하는 지점의 1의 값, 즉 0이 아닌 값의 의미는, 도 2와 같이 태너 그래프 상에서 변수 노드 xi와 j 번째 검사 노드를 연결하는 선분(edge)이 존재함을 의미한다.
LDPC 부호의 태너 그래프에서 변수 노드와 검사 노드의 차수(degree)는 각 노드들에 연결되어 있는 선분의 개수를 의미하며, 이는 LDPC 부호의 패리티 검사 행렬에서 해당 노드에 대응되는 열 또는 행에서 0이 아닌 원소(entry)들의 개수와 동일하다. 예를 들어, 도 2에서 변수 노드들 x1(202), x2(204), x3(206), x4(208), x5(210), x6(212), x7(214), x8(216)의 차수는 각각 순서대로 4, 3, 3, 3, 2, 2, 2, 2가 되며, 검사 노드들(218, 220, 222, 224)의 차수는 각각 순서대로 6, 5, 5, 5가 된다. 또한, 도 2의 변수 노드에 대응되는 도 2의 패리티 검사 행렬 H1의 각각의 열에서 0이 아닌 원소들의 개수는 상술한 차수들 4, 3, 3, 3, 2, 2, 2, 2와 순서대로 일치하며, 도 2의 검사 노드들에 대응되는 도 2의 패리티 검사 행렬 H1의 각각의 행에서 0이 아닌 원소들의 개수는 상술한 차수들 6, 5, 5, 5와 순서대로 일치한다.
LDPC 부호는 도 2에서 나열한 bipartite 그래프 상에서 합곱(sum-product) 알고리즘(algorithm)에 기반한 반복 복호(iterative decoding) 알고리즘을 사용하여 복호할 수 있다. 여기서, 합곱 알고리즘은 메시지 패싱 알고리즘(message passing algorithm)의 일종이며, 메시지 패싱 알고리즘이라 함은 이분 그래프 상에서 에지를 통해 메시지들을 교환하고, 변수 노드 혹은 검사 노드로 입력되는 메시지들로부터 출력 메시지를 계산하여 업데이트하는 알고리즘을 나타낸다.
여기에서, i 번째 변수 노드의 메시지를 기반으로 i 번째 부호화 비트의 값을 결정할 수 있다. i 번째 부호화 비트의 값은 경판정(hard decision)과 연판정(soft decision) 모두 가능하다. 그러므로, LDPC 부호어의 i 번째 비트인 ci의 성능은 태너 그래프의 i 번째 변수 노드의 성능에 대응되며, 이는 패리티 검사 행렬의 i 번째 열의 1의 위치 및 개수에 따라 결정될 수 있다. 다시 말해, 부호어의 Nldpc 개의 부호어 비트들의 성능은 패리티 검사 행렬의 1의 위치 및 개수에 의해 성능이 좌우 될 수 있으며, 이는 LDPC 부호의 성능은 패리티 검사 행렬에 따라 많은 영향을 받음을 의미한다. 따라서 우수한 성능을 갖는 LDPC 부호를 설계 하기 위해서는 좋은 패리티 검사 행렬을 설계하는 방법이 필요하다.
통신 및 방송 시스템에서 사용되는 패리티 검사 행렬은 구현의 용이성을 위해 통상적으로 준순환(quasi-cyclic) 형태의 패리티 검사 행렬을 사용하는 준순환 LDPC 부호(또는 QC-LDPC 부호, 이하 QC-LDPC 부호)가 많이 사용된다.
QC-LDPC 부호는 작은 정사각 행렬의 형태를 가지는 0-행렬(zero matrix)이나 순환 순열 행렬(circulant permutation matrices)로 구성된 패리티 검사 행렬을 가짐을 특징으로 한다.
다음과 같은 참조문헌 [Myung2006]을 참고하여 보다 구체적으로 QC-LDPC 부호에 대해서 설명한다.
Reference [Myung2006]
S. Myung, K. Yang, and Y. Kim, "Lifting Methods for Quasi-Cyclic LDPC Codes," IEEE Communications Letters. vol. 10, pp. 489-491, June 2006.
상기 참조문헌[Myung2006]을 살펴보면, 다음 수학식 2와 같이 크기의 순열 행렬(permutation matrix) 을 정의한다. 여기서 는 행렬 상기 행렬 P에서의 i번째 행(row), j번째 열(column)의 원소(entry)를 의미한다.(0 ≤i, j < L)
[수학식 2]
상기와 같이 정의된 순열 행렬 P에 대해서 (0 ≤ i < L)는 크기의 항등 행렬(identity matrix)의 각 원소들을 i 번 만큼 오른쪽 방향으로 순환 이동(circular shift) 시킨 형태의 순환 순열 행렬임을 알 수 있다.
가장 간단한 QC-LDPC 부호의 패리티 검사 행렬 H는 다음 수학식 3와 같은 형태로 나타낼 수 있다.
[수학식 3]
만일 을 크기의 0-행렬이라 정의할 경우, 상기 수학식 3에서 순환 순열 행렬 또는 0-행렬의 각 지수 는 {-1, 0, 1, 2, ..., L-1} 값 중에 하나를 가지게 된다. 또한 상기 수학식 3의 패리티 검사 행렬 H는 열 블록이 n개, 행 블록이 m개이므로, 크기를 가지게 됨을 알 수 있다. 또한 상기 순환 순열 행렬의 크기는 ZxZ로 표현될수도 있다.
통상적으로 상기 수학식 3의 패리티 검사 행렬에서 각 순환 순열 행렬 및 0-행렬을 각각 1과 0으로 치환(replace)하여 얻은 크기의 이진(binary) 행렬을 패리티 검사 행렬 H의 모행렬(mother matrix) M(H)라 하고, 각 순환 순열 행렬 또는 0-행렬의 지수만을 선택하여 수학식 4와 같이 얻은 크기의 정수 행렬을 패리티 검사 행렬 H의 지수 행렬 E(H)라 한다.
[수학식 4]
한편, 패리티 검사 행렬에 따라 LDPC 부호의 성능이 결정될 수 있다. 따라서, 우수한 성능을 갖는 LDPC 부호를 위해 패리티 검사 행렬을 설계하는 것이 필요하다. 또한 다양한 입력 길이와 부호율을 지원 할 수 있는 LDPC 부호화 및 복호화 방법이 필요하다.
상기 참조문헌[Myung2006]을 살펴보면, QC-LDPC 부호의 효율적인 설계를 위해서 리프팅(Lifting)이라 알려진 방법을 사용한다. 리프팅은 주어진 작은 모행렬로부터 순환 순열 행렬 또는 0-행렬의 크기를 결정하는 L 값을 특정한 규칙에 따라 설정함으로써 효율적으로 매우 큰 패리티 검사 행렬을 설계하는 방법이다. 기존 리프팅 방법과 이렇게 리프팅을 통해 설계된 QC-LDPC 부호의 특징을 간단히 정리하면 다음과 같다.
먼저 LDPC 부호 C0가 주어져 있을 때 리프팅 방법을 통해 설계될 S개의 QC-LDPC 부호를 C1, ..., CS라 하고, 상기 각 QC-LDPC 부호의 패리티 검사 행렬의 행블록 및 열블록의 크기에 해당하는 값은 Lk라 한다. 여기서 C0는 C1, ..., CS 부호의 모행렬을 패리티 검사 행렬로 가지는 가장 작은 LDPC 부호에 해당하며 행블록 및 열블록의 크기에 해당하는 L0 값은 1이다. 또, 편의상 각 부호 Ck의 패리티 검사 행렬 는 크기의 지수 행렬 을 가지며 각 지수 들은 {-1, 0, 1, 2, ..., Lk - 1} 값 중에 하나로 선택된다.
참조문헌[Myung2006]을 살펴보면, 리프팅은 C0 → C1 →...→ CS와 같은 단계로 이루어지며 Lk +1 = qk + 1Lk (qk +1은 양의 정수, k=0,1,..., S-1)와 같은 특징을 가진다. 또한 리프팅 과정의 특성에 의해 CS의 패리티 검사 행렬 만 저장하고 있으면 리프팅 방식에 따라 다음 수학식 5를 이용하여 상기 QC-LDPC 부호 C0, C1, ..., CS를 모두 나타낼 수 있다.
[수학식 5]
[수학식 6]
상기 수학식 5 또는 6의 리프팅 방식은 각 QC-LDPC 부호 Ck의 패리티 검사 행렬에서 행블록 또는 열블록의 크기에 해당하는 Lk들이 서로 배수 관계(multiple)를 가지게 되어, 지수 행렬 또한 특정 방식에 의해 선택된다. 이와 같은 기존 리프팅 방식은 리프팅을 통해 설계된 각 패리티 검사 행렬의 대수적 또는 그래프 특성을 좋게 하여 오류 마루(error floor) 특성을 개선한 QC-LDPC 부호를 쉽게 설계할 수 있게 돕는다.
하지만, 각 Lk 값들이 서로 배수 관계에 있기 때문에 각 부호의 길이가 크게 제한되는 단점이 있다. 예를 들어 각 Lk 값들에 대해 Lk +1 = 2×Lk와 같은 최소한의 리프팅 방식을 적용하였다고 가정시, 이 경우 각 QC-LDPC 부호의 패리티 검사 행렬의 크기는 만을 가질 수 있다. 즉, 리프팅을 10 단계 적용할 경우(S=10) 패리티 검사 행렬은 10개의 크기만을 가질 수 있게 된다.
이와 같은 이유로 기존 리프팅 방식은 다양한 길이를 지원하는 QC-LDPC 부호를 설계하는데 있어서 다소 불리한 특성을 가지고 있다. 하지만, 통상적으로 사용되는 이동 통신 시스템에서는 다양한 형태의 데이터 전송을 고려하여 매우 높은 수준의 길이 호환성(length compatibility)을 요구하게 된다. 이러한 이유로 기존 방식으로는 LDPC 부호를 이동 통신 시스템에서 적용하기 어려운 문제점이 있다.
먼저 리프팅 방법을 통해 설계될 S개의 LDPC 부호를 C1, ..., CS라 하고, 상기 각 LDPC 부호의 패리티 검사 행렬 Ci의 행블록 및 열블록의 크기에 해당하는 값은 Z라 한다. 또, 편의상 각 부호 Ci의 패리티 검사 행렬 는 크기의 지수 행렬 을 가진다. 각 지수 들은 {-1, 0, 1, 2, ..., Z-1} 값 중에 하나로 선택된다. (본 발명에서는 편의상 0-행렬을 나타내는 지수를 -1로 표현하고 있지만 시스템의 편의에 따라 다른 값으로 변경될 수 있다.)
따라서 가장 큰 패리티 검사 행렬을 가지는 LDPC 부호 CS의 지수 행렬은 라 한다. (여기서 는 Z 값 중 최대 값이라 한다) 이 때 Z값이 보다 작을 때에 대한 각 LDPC 부호의 패리티 검사 행렬을 구성하는 순환 순열 행렬 및 0-행렬을 나타내는 지수는 다음과 같은 수학식 7 또는 수학식 8에 따라 결정될 수 있다.
[수학식 7]
[수학식 8]
하지만, [Myung2006]에서는 Z의 값을 서로 배수 관계가 만족하도록 한정하므로, 다양한 길이를 지원하는데 적합하지 않다. 예를 들어 패리티 검사 행렬 의 지수 행렬 또는 모행렬 의 열의 개수 n이 36이라 하고, Z의 값을 1, 2, 4, 8, ……, 128과 같은 8 단계 리프팅을 통해 얻을 수 있는 길이의 종류는 36, 72, 144, ……, 4608 이 되어 가장 짧은 길이와 가장 긴 길이의 차이가 매우 크게 된다.
본 발명에서는 Z의 값이 서로 배수 관계가 아닌 경우에도 상기 수학식 9 또는 수학식 10에 적용한 지수 방법을 그대로 적용할 수 있으며 성능 열화가 거의 없는 패리티 검사 행렬을 설계하는 방법을 제시한다. 참고로 상기 수학식 9 또는 수학식 10에 제시한 방법은 모듈로 연산에 기반한 리프팅 방식을 적용하였을 경우에 지수 변환 방법으로서, 참조문헌 [Myung2006]에 나타낸 것처럼 플로어링(flooring) 연산 또는 다른 연산에 기초하여 다양한 방법이 존재할 수 있음은 자명하다. 다음 수학식 9 또는 수학식 10은 Z값이 보다 작을 때에 대해 플로어링 연산에 기반한 리프팅을 적용하여 설계한 패리티 검사 행렬의 지수 변환 방법을 나타낸다.
[수학식 9]
[수학식 10]
이하에서는 길이에 대한 호환성 문제가 있는 기존 리프팅 방식의 문제점을 해결하기 위한 패리티 검사 행렬의 설계 방법 및 그 이용 방법에 대해서 설명한다.
먼저 본 발명에서는 변형된 리프팅 과정을 다음과 같이 정의한다.
1) Z 값들 중 최대 값을 Zmax 라 한다.
3) Z는 D, 2D, 3D, …, SD (= Zmax) 값 중 하나를 가진다.
(편의상 Z = k×D에 대응되는 패리티 검사 행렬을 Hk, 상기 패리티 검사 행렬에 대응되는 LDPC 부호를 Ck라 한다.)
상기에서 언급한 리프팅 방법 이외에도 다양한 리프팅 방법을 사용하여 가변 길이를 지원할 수 있다.
다음으로 참조문헌 [Myung2005]을 참고하여 QC-LDPC 부호의 부호화 방법에 대해 더 자세히 설명한다.
Reference [Myung2005]
S. Myung, K. Yang, and J. Kim, " Quasi-Cyclic LDPC Codes for Fast Encoding," IEEE Transactions on Information Theory, vol. 51, No.8, pp. 2894-2901, Aug. 2005.
도 3은 본 발명에서 제안하는 패리티 검사 행렬의 기본적인 구조를 도시한 도면이다.
상기 참조문헌 [Myung2005]을 살펴보면, 도 3과 같이 순환 순열 행렬로 구성된 특수한 형태의 패리티 검사 행렬이 정의되어 있다. 또한 상기 도 3의 패리티 검사 행렬에서 다음 수학식 11 또는 수학식 12의 관계를 만족하면 효율적인 부호화가 가능함이 나타나 있다.
[수학식 11]
[수학식 12]
이와 같이 상기 수학식 7 및 수학식 8을 만족하게 되면, 참조문헌 [Myung2005] 상에서 로 정의된 행렬이 항등 행렬이 되어 부호화 과정에서 효율적인 부호화가 가능함이 잘 알려져 있다.
본 발명에서는 편의상 하나의 블록에 대응되는 순환 순열 행렬이 1 개인 경우만 설명하였으나 이하 하나의 블록에 여러 개의 순환 순열 행렬이 포함된 경우에도 동일한 발명을 적용할 수 있음을 밝혀둔다.
도 4는 본 발명의 일 실시 예에 따른 송신 장치의 블록 구성도이다.
구체적으로, 도 4와 같이 송신 장치(400)는 가변 길이 입력 비트들을 처리하기 위해, 세그멘터이션부(410), 제로 패딩부(420), LDPC 인코더(430), 레이트 매칭부(440), 변조부(450)를 포함할 수 있다.
여기에서 도 4에 도시된 구성요소는 가변 길이 입력 비트들에 대한 인코딩 및 변조(encoding and modulation)를 수행하는 구성요소로서, 이는 일 예일 뿐이며, 경우에 따라 도 4에 도시된 구성요소 중 일부는 생략 또는 변경될 수 있고, 다른 구성요소가 더 추가될 수도 있다.
도 5 는 본 발명의 일 실시 예에 따른 수신 장치의 블록 구성도이다.
구체적으로, 도 5와 같이 수신 장치(500)는 가변 길이 정보들을 처리하기 위해, 복조부(510), 레이트 디매칭부(520), LDPC 디코더(530), 제로 제거부(540) 및 디세그멘테이이션부(550)를 포함할 수 있다.
여기에서 도 5에 도시된 구성요소는 도 4에 도시된 구성요소에 대응되는 기능을 수행하는 구성요소로서, 이는 일 예일 뿐이고 경우에 따라 일부는 생략 또는 변경될 수 있고, 다른 구성요소가 더 추가될 수도 있다.
도 6a 및 6b는 본 발명에서 사용되는 LDPC 패리티 검사 행렬의 특징을 기술한 도면이다.
다양한 부호율 및 IR(Incremental Redundancy)을 기반으로 하는 HARQ (Hybrid Automatic Repeat reQuest) 기법을 고려하여 설계된 패리티 검사 행렬의 실시 예를 도 6a 및 6b에 나타내었다. 도 6a 및 6b에 따르면, incremental redundancy bits 에 대응되는 패리티 검사 행렬의 차수는 1인 특징을 가지고 있다. 또한 상기 차수가 1인 열 블록들은 하나의 순환 순열 행렬과 ‘0’행렬로 구성된다. 상기 패리티 검사 행렬의 형태에 의하여 incremental redundancy bits들은 single parity check extension으로 생성된다. 상기 incremental redundancy bits는 초기 전송에도 전송 될 수 있다.
도 6a에 따르면, 본 발명에서 사용되는 LDPC 패리티 검사 행렬은 부호율에 따라 그 크기가 달라지게 된다. 일례로 높은 부호율을 적용할 경우 패리티 검사 행렬은 부행렬 1(sub-matrix 1, 600)에 해당되며, 이는 정보어 비트와 패리티 1 비트를 위한 부분을 포함하고 있다. 그러나 이보다 낮은 부호율이 적용될 경우의 패리티 검사 행렬은 부행렬 2(610)에 해당하며 이는 부행렬 1이 포함하고 있는 부분뿐만 아니라 IR 비트와 싱글 패리티 검사 코드를 위한 시스테마틱 파트(systematic part)를 포함하게 되며, 패리티 검사 행렬에 포함된 상기 IR 비트와 시스테마틱 파트는 코딩 레이트가 낮아질수록 더욱 커지게 된다.
도 6b는 도 6a를 보다 자세히 도시한 것으로, 패리티 검사 행렬의 정보어 비트를 위한 부분은 Kb개의 열 블록으로 구성되어 있다. 또한 부행렬 2의 경우 Nb개의 열 블록으로 구성되어 있으며, 이 경우 부호어의 길이는 Nb × Z가 된다.
단일 패리티 검사 부호와의 연접 방식을 적용한 패리티 검사 행렬은 확장성이 용이하기 때문에 IR(Incremental Redundancy) 기법을 적용하는데 장점이 있다. 상기 IR 기법은 HARQ (Hybrid Automatic Repeat reQuest) 지원을 위해 중요한 기술이기 때문에 효율적이면서 우수한 성능을 가지는 IR 기법은 HARQ 시스템의 효율성을 증가시킨다. 상기 패리티 검사 행렬들에 기초한 LDPC 부호들은 단일 패리티 검사 부호로 확장된 부분을 이용하여 새로운 패리티를 생성하여 전송함으로써 효율적이면서 우수한 성능의 IR 기법을 적용할 수 있다.
참고로 본 발명에서 설명하는 패리티 검사 행렬에 대응되는 LDPC 부호에 단축(shortening)과 천공(puncturing)을 적절히 적용하면 다양한 블록 길이와 부호율을 가지는 LDPC 부호화 기법을 적용할 수 있음은 자명하다. 다시 말해, 패리티 검사 행렬에 대응되는 LDPC 부호에 적절한 단축을 적용하여 다양한 정보어 길이를 지원할 수 있으며, 천공을 적절히 적용하여 다양한 부호율을 지원할 수 있으며, 적절한 길이만큼 단일 패리티 검사 비트를 생성 및 전송함으로써 효율적인 IR 기법을 적용할 수 있다.
한편, LDPC 부호는 도 2에서 나열한 이분 그래프 상에서 합곱 알고리즘에 기반한 반복 복호 알고리즘을 사용하여 복호될 수 있으며, 합곱 알고리즘은 메시지 패싱 알고리즘의 일종이다.
이하에서는 도 7a 및 7b를 참조하여 LDPC 복호화 시 일반적으로 사용되는 메시지 패싱 동작에 대해서 설명하기로 한다.
도 7a 및 7b는 LDPC 복호화를 위해 임의의 검사 노드와 변수 노드에서 수행되는 메시지 패싱 동작을 도시한 도면이다.
도 7a에는 검사 노드 m(700)과 검사 노드 m(700)에 연결되는 다수의 변수 노드들(710, 720, 730, 740)이 도시되어 있다. 또한, 도시되어 있는 Tn ',m은 변수 노드 n'(710)에서 검사 노드 m(700)으로 패싱되는 메시지를 나타내며, En,m은 검사 노드 m(700)에서 변수 노드 n(730)으로 패싱되는 메시지를 나타낸다. 여기서, 검사 노드 m(700)에 연결되어 있는 모든 변수 노드들의 집합을 N(m)이라고 정의하고, N(m)에서 변수 노드 n(730)을 제외한 집합을 N(m)\n이라고 정의하기로 한다.
이 경우, 합곱 알고리즘에 기반한 메시지 업데이트(update) 규칙은 하기 수학식 13와 같이 나타낼 수 있다.
[수학식 13]
여기에서, Sign(En,m)은 메시지 En,m의 부호(sign)를 나타내고, |En,m|은 메시지 En,m의 크기(magnitude)를 나타낸다. 한편, 함수 는 하기의 수학식 14와 같이 나타낼 수 있다.
[수학식 14]
한편, 도 7b에는 변수 노드 x(750)과 변수 노드 x(750)에 연결되는 다수의 검사 노드들(760, 770, 780, 790)이 도시되어 있다. 또한, 도시되어 있는 Ey ',x은 검사 노드 y'(760)에서 변수 노드 x(750)로 패싱되는 메시지를 나타내며, Ty,x은 변수 노드 x(750)에서 변수 노드 y(780)로 패싱되는 메시지를 나타낸다. 여기서, 변수 노드 x(750)에 연결되어 있는 모든 변수 노드들의 집합을 M(x)이라고 정의하고, M(x)에서 검사 노드 y(780)을 제외한 집합을 M(x)\y라고 정의하기로 한다. 이 경우, 합곱 알고리즘에 기반한 메시지 업데이트(update) 규칙은 하기 수학식 15과 같이 나타낼 수 있다.
[수학식 15]
여기에서, Ex는 변수 노드 x의 초기 메시지 값을 의미한다.
또한, 노드 x의 비트 값을 판정할 경우에는 하기 수학식 16과 같이 나타낼 수 있다.
[수학식 16]
이 경우, Px값에 따라 노드 x에 대응하는 부호화 비트를 판정할 수 있다.
도 7a 및 7b에서 상술한 방식은 일반적인 복호화 방법이라는 점에서 더 이상 구체적인 설명은 생략하도록 한다. 다만, 도 7a 및 7b에서 설명한 방법 외에도 변수 노드와 검사 노드에서의 패싱되는 메시지 값을 결정하는 데 있어 다른 방법이 적용될 수도 있다(Frank R. Kschischang, Brendan J. Frey, and Hans-Andrea Loeliger, "Factor Graphs and the Sum-Product Algorithm," IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 47, NO. 2, FEBRUARY 2001, pp498-519).
아래에서는 상기 도 4를 기반으로 송신기 동작에 대해 구체적으로 설명한다.
구체적으로, 도 4와 같이, 송신 장치(400)는 가변 길이 입력 비트들을 처리하기 위해, 세그먼테이션부(410), 제로 패딩부(420), LDPC 인코더(430), 레이트 매칭부(440) 및 변조부(450)를 포함할 수 있다.
여기에서, 도 4 에 도시된 구성요소는, 가변 길이 입력 비트들에 대한 인코딩 및 변조(encoding and modulation)를 수행하는 구성요소로서, 이는 일 예일 뿐이며, 경우에 따라 도 4 에 도시된 구성요소 중 일부는 생략 또는 변경될 수 있고, 다른 구성요소가 더 추가될 수도 있다.
한편, 도 4에 도시된 LDPC 인코더(430)는 도 8에 도시된 LDPC 인코더(810)가 수행하는 동작을 수행할 수 있다.
한편, 송신 장치(400)는 필요한 파라미터(가령, 입력 비트 길이, ModCod(modulation and code rate), 제로 패딩을 위한 파라미터, LDPC 코드의 부호율/코드 길이, 인터리빙(interleaving)을 위한 파라미터, 리피티션(repetition)을 위한 파라미터, 펑처링(Puncturing)을 위한 파라미터, 재전송을 위한 파라미터 및 변조 방식 등)를 결정하고, 결정된 파라미터를 기초로 부호화하여 도 5의 수신 장치(500)로 전송할 수 있다.
입력 비트들의 수가 가변적이라는 점에서, 입력 비트들의 수가 기설정된 값보다 큰 경우, 입력 비트는 기설정된 값 이하의 길이를 갖도록 세그먼테이션(segmentation)될 수 있다. 또한 세그먼트된 블록 각각은 하나의 LDPC 코딩된 블록에 대응될 수 있다. 다만, 입력 비트들의 수가 기설정된 값보다 작거나 같은 경우, 입력 비트는 세그먼테이션되지 않는다. 입력 비트들은 하나의 LDPC 코딩된 블록에 대응될 수 있다.
세그멘테이션 된 코드블록의 길이를 동일하게 함으로써, 각 코드블록의 LDPC 부호의 부호화 복호화 파라미터를 동일하게 하여 구현 복잡도를 낮출 수 있다. 또한 각 코드블록의 패딩되는 ‘0’비트들을 최대한 동일하게 함으로써 부호화 성능을 우수하게 할 수 있다.
레이트매칭부(440)의 입력 비트들은 상기 LDPC 인코딩부 (430)의 출력 비트들로 C =(i 0 , i 1 , i 2 , ... , i Kldpc -1, p 0 , p 1 , p 2 , ... , p Nldpc - Kldpc -1 ) 이다. i k (0≤k< K ldpc )는 LDPC 인코딩부 (430)의 입력 비트들을 의미하며 p k (0≤k< N ldpc - K ldpc )는 LDPC 패리티 비트들을 의미한다. 상기 레이트 매칭부(440)은 인터리버(441)와 펑처링/리피티션/제로 제거부(442)를 포함한다.
변조부(450)는 레이트매칭부(440)에서 출력되는 비트열을 변조하여 수신 장치(가령, 도 5의 500)로 전송한다.
구체적으로, 변조부(450)는 레이트매칭부(440)에서 출력되는 비트들을 디멀티플렉싱(demultiplexing)하고, 이를 성상도(constellation)에 맵핑할 수 있다.
즉, 변조부(450)는 레이트매칭부(440)에서 출력되는 비트들을 시리얼-투-패러렐(serial-to-parallel) 변환하여, 일정한 개수의 비트로 구성된 셀(cell)을 생성할 수 있다. 여기에서, 각 셀을 구성하는 비트의 개수는 성상도에 맵핑되는 변조 심볼을 구성하는 비트의 개수와 동일할 수 있다.
이후, 변조부(450)는 디멀티플렉싱된 비트들을 성상도에 맵핑할 수 있다. 즉, 변조부(450)는 디멀티플렉싱된 비트들을 QPSK, 16-QAM, 64-QAM, 256-QAM, 1024-QAM, 4096-QAM 등의 다양한 변조 방식을 통해 변조하여 변조 심볼을 생성하고, 이를 성상점(constellation point)에 맵핑할 수 있다. 이 경우, 디멀티플렉싱된 비트들은 변조 심볼 개수만큼의 비트를 포함하는 셀을 구성한다는 점에서, 각 셀이 순차적으로 성상점에 맵핑될 수 있다.
그리고, 변조부(450)는 성상도에 맵핑된 신호를 변조하여 수신 장치(500)로 전송할 수 있다. 예를 들어, 변조부(450)는 OFDM(Orthogonal Frequency Division Multiplexing) 방식으로 이용하여 성상도에 맵핑된 신호를 OFMD 프레임에 맵핑하고, 이를 할당된 채널을 통해 수신 장치(500)로 전송할 수 있다.
한편, 송신 장치(400)는 부호화, 인터리빙 및 변조에 이용되는 각종 파라미터를 기저장하고 있을 수 있다. 여기에서, 부호화에 이용되는 파라미터는 LDPC 부호의 부호율, 부호어 길이, 패리티 검사 행렬에 대한 정보가 될 수 있다. 그리고, 인터리빙에 이용되는 파리미터는 인터리빙 룰에 대한 정보가 될 수 있으며, 변조에 이용되는 파리미터는 변조 방식에 대한 정보가 될 수 있다. 또한 펑처링에 관한 정보는 펑처링 길이가 될 수 있다. 또한 리피티션에 관한 정보는 리피티션 길이가 될 수 있다. 상기 패리티 검사 행렬에 대한 정보는 본 발명에서 제시하는 패리티 행렬을 사용할 경우 상기 수학식 3과 수학식 4에 의한 순환 행렬의 지수 값을 저장할 수 있다.
이 경우, 송신 장치(400)를 구성하는 각 구성요소는 이러한 파라미터를 이용하여 동작을 수행할 수 있다.
한편, 도시하지 않았지만 경우에 따라 송신 장치(400)는 송신 장치(400)의 동작을 제어하기 위한 제어부(미도시)를 더 포함할 수도 있다.
본 발명에서는 상기 LDPC 부호에 기반한 HARQ (Hybrid Automatic Repeat reQuest) 지원을 위해 상기 레이트 매칭부(440) 방법 및 장치에 대해 기술한다.
도 8은 본 발명에 따른 송신기 동작을 도시한 순서도이다. 이하에서는 도 8을 기반으로 본 발명에서 개시하는 LDPC 부호 기반의 전송 방법을 설명한다.
810 단계에서 송신기는 전송을 위한 변조 심볼의 변조 차수(modulation order)와 전송 블록 크기((Transport block size, TBS)와 rvidx(redundancy version index, 혹은 redundancy version)를 결정한다. 상기 값들은 제어 정보로 전송될 수도 있고 관련 파라미터들을 기반으로 소정의 규칙에 의해 결정될 수 있다. 상기 Redundancy version index(rvidx)는 redundancy version의 인덱스 값으로 기설정된 최대 값보다 작은 정수이며, 전송 시작 비트의 위치를 결정하는 파라미터이다. 상기 rvidx의 개수는 시스템에 따라 다를 수 있으며 LTE 표준 상에서는 rvidx가 0, 1, 2 또는 3으로 4개가 존재한다. 상기 rvidx는 송신기에서 매 전송시마다 결정하고 전송시 수신기에 알려줄 수 있다. 혹은 rvidx는 수신기에서 결정하여 송신기에 알려주고, 송신기는 결정된 rvidx를 사용할 수 있다. 또 다른 방법으로는 rvidx는 기설정된 순서와 재전송 횟수에 따라 결정될 수 있다. LTE 시스템에서 상향 링크 재전송시 rvidx 값 결정은 0, 2, 3, 1 순서대로 결정 되며 이 값은 modulo 4 연산에 의해 업데이트된다. 상기 변조 차수와 rvidx 는 860 단계에서 결정 할 수 있다.
820 단계에서 송신기는 결정된 TBS 값을 기반으로 전송 블록(Transport Block, TB)을 코드 블록(Code Block, CB) 단위로 분할(segmentation)한다. 상기 segmentation 과정에 의하여 코드 블록 크기(Code Block Size, CBS)값이 결정된다. 830 단계에서 송신기는 상기 결정된 CBS 와 LDPC 부호의 패리티 검사 행렬의 파라미터에 의하여 패리티 검사 행렬의 정보어 파트의 열 블록(column block) 개수인 Kb값과 QC-LDPC 부호를 구성하는 순환 순열 행렬 또는 0-행렬의 사이즈 Z값을 결정한다. 이후 840 단계에서 송신기는 재전송을 고려한 패리티 검사 행렬의 열 블록의 개수 Nb와 패리티 검사 행렬(PCM)의 각 순환 순열 행렬 의 지수 값 shift value들과 재전송을 고려한 부호어 비트의 개수 Ncb를 결정한다. 상기 Ncb는 Nb×Z와 동일한 값일 수 있으며 소정의 규칙에 의해 Nb×Z과 다르게 결정될 수 있으며 또한 840 단계 이후에 결정될 수 있다. 상기 Nb는 LDPC 부호의 패리티 검사 행렬의 열 블록의 개수로 CBS 길이에 따라 다를 수 있다. LDPC 부호의 패리티 검사 행렬의 열 블록의 최대 개수는 Nb_max로 결정되어 있고 상기 Nb는 Nb_max보다 작거나 같다.
상기 Ncb는 rvidx의 최대 값에 따라 다를 수 있다. 특정 부호율 및 특정 UE 카테고리(category) 또는 패리티 검사 행렬 또는 상향링크/다운링크(UL/DL)에 또는 정보어의 길이 중 적어도 하나의 요소에 따라 rvidx의 범위(rvidx의 개수 및 최대 값)가 다를 수 있으므로, 이에 따라 실제 부호화되는 비트의 개수는 다를 수 있다. 또한 Ncb는 rvidx 범위와 상관 없이 특정 부호율 및 특정 UE 카테고리(category) 또는 패리티 검사 행렬 또는 상향링크/다운링크(UL/DL)에 또는 정보어의 길이 중 적어도 하나의 요소에 따라 다르게 결정 될 수 있다.
[과정 850와 과정 860의 제 1 실시예]
850 단계에서 송신기는 상기 결정된 파라미터들을 기반으로 LDPC 부호화 및 인터리빙을 수행한다. 상기 인터리빙은 필요한 경우에만 수행될 수 있다. 상기 LDPC 부호화에 사용되는 패리티 검사 행렬은 다수가 존재할 수 있으며, 소정의 규칙에 의하여 다수의 패리티 검사 행렬 중 부호화에 사용되는 패리티 검사 행렬을 결정하도록 한다. 또한 상기 LDPC 부호화시에 사용되는 패리티 검사 행렬의 크기는 rvidx와 부호율에 따라 다를 수 있다. 실제 부호화는 Ncb까지 수행되거나 rvidx 값을 기반으로 하여 현재 전송에 필요한 비트들에 대해서만 수행될 수 있다. 일례로, rvidx가 0일 경우 부호화는 전송에 필요한 비트(=E)와 정보어 비트 중 천공 되는 비트 수 (0 또는 Z 또는 2xZ)를 더한 값인 E 또는 (E+Z) 또는 (E+2xZ) 에 대해서만 수행될 수 있다.
860 단계에서 송신기는 LDPC 부호화 비트들 중 전송 되는 비트들의 시작 위치 k0와 전송되는 비트의 개수 E를 결정한다. 상기 시작 위치 k0는 상기 rvidx에 의해 결정된다. 송신기는 870 단계에서 과정 850의 출력 비트 스트림 (w0, w1, w2,…,wNcb) 중 를 전송한다. 즉 과정 850의 출력 비트 스트림 W = (w0, w1, w2,…,wNcb)과 부호어 비트의 개수 Ncb와 전송 비트의 개수 E와 전송 시작 비트의 index k0를 기반으로 아래와 같이 비트 스트림이 전송된다. 상기 전송 비트의 개수 E는 할당된 부반송파(subcarrier) 수와 변조 방식에 기반하여 결정되는 값으로 860단계 이전에 결정 할 수 있다. ek는 wk 중에서 선택되어 전송되는 비트를 의미한다.
상기에서 <NULL>은 제로로 패딩된 비트를 의미 한다. 또한 상기에서 정보어 비트들 중 특정 비트들은 항상 전송하지 않을 수 있다.
870 단계의 또 다른 실시예로, 정보어 비트 중 특정 비트들을 항상 전송하지 않은 경우를 고려 할 수 있다. 상기 특정 비트들을 punctured systematic bits라고 한다.
[과정 850와 과정 860의 제 2 실시예]
출력 비트 스트림 (w0, w1, w2,... , wNcb) 중 항상 천공 되는 정보어 비트를 제외한 비트 스트림 (x0, x1, x2,..., xNcb_ext)과 부호어 비트의 개수 Ncb와 전송 비트의 개수 E와 전송 시작 비트의 index k0를 기반으로 아래와 같이 비트 스트림이 전송된다. 여기서 Ncb_ext = Ncb - Nsym_p 으로 Nsym_p는 항상 천공 되는 정보어 비트의 개수이다. 일예로 2*Z 정보어 비트가 천공될 경우 Ncb_ext = Ncb -2*Z 이다. 또한 단축되는 Ns 비트들을 제외할 경우 Ncb_ext = Ncb - Nsym_p - Ns 이다. 상기 전송 비트의 개수 E는 할당된 부반송파(subcarrier) 수와 변조 방식에 기반하여 결정되는 값으로 860단계 이전에 결정 할 수 있다. ek는 xk 중에서 선택되어 전송되는 비트를 의미한다.
혹은
혹은
혹은
여기서 m은 rv_idx의 개수이다. 상기 전송이 시작되는 비트의 위치( 비트 인덱스) 인 K0는 본발명 다양한 실시예들로 이하에서 좀더 상세히 서술 하도록 한다.
[과정 850와 과정 860의 제 3 실시예]
출력 비트 스트림 (w0, w1, w2,..., wNcb) 중 항상 천공 되는 정보어 비트를 제외한 비트 스트림 (x0, x1, x2,..., xNcb_ext)과 부호어 비트의 개수 Ncb와 전송 비트의 개수 E와 전송 시작 비트의 index k0를 기반으로 아래와 같이 비트 스트림이 전송된다. 여기서 Ncb_ext = Ncb - Nsym_p 으로 Nsym_p는 항상 천공 되는 정보어 비트의 개수이다. 일예로 2*Z 정보어 비트가 천공될 경우 Ncb_ext = Ncb - 2*Z 이다. 또한 단축되는 Ns 비트들을 제외할 경우 Ncb_ext = Ncb - Nsym_p - Ns 이다. 상기 전송 비트의 개수 E는 할당된 부반송파(subcarrier) 수와 변조 방식에 기반하여 결정되는 값으로 860단계 이전에 결정 할 수 있다. ek는 xk 중에서 선택되어 전송되는 비트를 의미한다.
혹은
혹은
혹은
여기서 m은 rv_idx의 개수이다. 상기 전송이 시작되는 비트의 위치( 비트 인덱스) 인 K0는 본발명 다양한 실시예들로 이하에서 좀더 상세히 서술 하도록 한다.
도 9는 본 발명에 따라 데이터가 부호화되는 과정을 도시한 도면이다. 도 9에 따르면, 송신기에서 전송 블록(transport block)은 정보어 블록(information block)으로 분할(segmentation)되고, 정보어 블록에는 제로 패딩 비트가 포함되어 총 길이가 Kb×Z, 즉 Z의 배수가 되게 된다. 이후 정보어 블록은 LDPC 인코딩되고, 부호어의 총 길이는 Nb×Z가 된다. 상기 부호어 비트들은 인터리빙될 수 있다. k0 값의 위치가 결정되고, 송신기는 제로 패딩되었던 비트를 제거한 후 부호어 비트를 전송하게 된다.
본 발명에 따르면 송신기는 상기 rvidx로부터 전송 시작 비트의 위치를 의미하는 k0(=Sidx) 값을 결정하고, 상기 결정된 k0값을 인덱스로 갖는 부호어 비트부터 순차적으로 전송하도록 한다. 전송시에는 상기 rv_idx(= 0, 1, 2 or 3)에 따른 모든 Sidx를 결정할 필요는 없고, rvidx에 기반하여 전송 시작 비트의 index(즉 Sidx 혹은 k0)를 결정하여 전송 할 수 있다. Redundancy version (RV) 이 m개로 정의 될 경우 RV= {rv0, rv1, .., rv(m-1)} 이고, rvidx = {0, 1, 2, …, m-1}이다. rvidx에 기반한 시작 비트의 인덱스 S={s0, s1, …, s(m-1)} 이다.
도 9a는 상기 실시예 2와 실시예 3을 도시한 도면이다. 정보어 비트중 일부가 항상 천공되어 circular buffer에 입력되지 않을 경우를 도시 하였다.
본 발명에서는 첫 번째로 데이터 재전송 시 전송 순서, 즉 RV(Redundancy Version)의 순서를 결정하는 방법에 대해 기술한다. RV의 순서는 MCS(Modulation and coding scheme)의 인덱스에 따라 다르게 설정될 수 있다. 즉 redundancy version의 순서는 MCS index(IMCS)에 따라 정의된다.
현재 LTE 표준에서는 아래 표 1과 같은 HARQ 모드를 제공한다.
[표 1]
특히 LTE 상향링크(UL) 전송에서는 Non-adpative HARQ 운용시 재전송의 경우, 기지국은 데이터 스케줄링을 위한 별도의 하향링크 제어 정보(DCI, 즉 UL grant)를 전송하지 않고 하향링크(DL) 물리 HARQ 채널(PHICH) 상으로 NACK을 전송하면 단말은 자동으로 정해진 시점에 RV (Redundancy Version) 0, 2, 3 및 1 순서대로 재전송을 수행한다.
그러나 LDPC 코드를 이용할 경우 데이터 전송시 부호율(code rate)가 변경될 경우 LDPC 코드를 위한 행렬이 변경될 수 있으므로 추가적인 고려 사항이 발생한다. 본 발명은 IR 모드를 지원하기 위하여 LDPC 부호어 비트들을 rvidx에 기반하여 특정 비트의 위치부터 전송하는 방법을 제안한다.
도 10은 LDPC 부호어 및 상기 재전송을 위한 기설정된 특정 비트의 위치를 도시한 도면이다. 도 10에 따르면, LDPC 부호어 비트들 중 특정 비트들의 위치가 rv(redundancy version)에 의해 지정될 수 있다. 도 8의 경우 rv0(1000), rv1(1010), rv2(1020), … , rvm-1(1030)의 m개의 특정 비트의 위치가 rv 또는 rvidx 값에 의해 지정되었다. rv0(1000)의 rvidx는 0 이며 rv1(1010)의 rvidx는 1 이며 rv2(1020)의 rvidx는 2 이며 rvm-1(1030)의 rvidx는 (m-1)이다. 송신기는 LDPC 부호어를 생성한 이후 rv가 지칭하는 위치부터 전송할 수 있다. 일례로 처음 전송시에는 rv0가 지칭하는 비트부터 전송하고, 두 번째 전송일 경우에는 rv1이 지칭하는 비트부터 전송할 수 있다.
본 발명에서는 상기 초기 전송 또는 재전송에 따른 시작 위치들을 소정의 규칙에 의해 따라 결정하며, 특히 초기 전송 부호율에 따라 전송 순서를 변경하는 방법을 개시한다. 혹은 재전송 부호율에 따라 순서를 변경하는 방법을 개시한다. 상기 전송 순서는 rvidx의 순서 혹은 전송 시작 비트 index의 순서를 의미한다.
상기 소정의 규칙에 의해 결정된 시작 위치부터 데이터가 전송될 경우 부가적인 시그널링 비트들이 필요 없으므로 시스템 오버헤드를 줄일 수 있는 장점이 있다. 반면 미리 정해진 소정의 규칙에 의해 데이터가 전송되기 때문에 부호율에 따라 추가적으로 얻을 수 있는 부호화 이득의 한계가 있을 수 있다.
도 11a 및 11b는 부호율에 따라 재전송시 중복되는 부호어를 도시한 도면이다. 본 발명에 따른 도 6a 및 6b의 패리티 검사 행렬을 기반으로 부호화되는 LDPC 부호를 적용할 경우 재전송시 유의할 점은 다음과 같다. 상기 도 6a 및 6b에서 패리티 검사 행렬를 기반으로 부호화 된 패리티 비트들 중 incremental redundancy bits 파트에 있는 패리티 비트 중 정보어 비트에 가까운 앞쪽 패리티 비트가 그 중요도가 높으므로 재전송시 패리티 비트가 순서대로 선택될 경우 높은 부호화 이득을 얻을 수 있다. 또한 재전송시 발생하는 비트의 중복을 줄일수록 그 효율이 높아지게 된다. 즉 최대한 중복 없이 순차적으로 전송될 경우 높은 부호화 이득을 얻을 수 있다. 즉 더 낮은 오류 확률로 전송될 수 있다.
도 11a에서 도시한 바와 같이 부호율이 낮을 때 송신기가 초기 전송(1100)시 RV는 rv0 (rvidx = 0)이고 제1 재전송(1110)시 RV는 rv1(rvidx = 1)이고, 제2 재전송(1120)시 RV는 rv2(rvidx = 2)이면 중복되어 전송되는 비트들이 많기 때문에 부호화 이득을 최대로 얻을 수 없다. 그러므로 초기 전송 시 RV는 rv0이고 제1재전송의 RV는 rv1이 아닌 값을 사용하는 경우 높은 부호화 이득을 얻을 수 있다.
그러나, 도 11b에서 도시한 바와 같이 부호율이 높을 경우 초기 전송(1150)시 RV는 rv0이고, 제1 재전송(1160)시 RV는 rv1이면, rv0와 rv1가 지칭하는 비트부터 전송되는 부호어 비트들 중 중복되어 전송되는 비트들의 개수는 낮은 부호율로 전송 되는 경우에 비해 적거나 없을 수 있다. 그러므로 도 11a의 경우보다 더 높은 부호화 이득을 얻을 수 있다.
이러한 점을 고려해 본 발명에서 제안하는 재전송시 전송 순서를 결정하는 방법은 아래와 같다.
첫 번째로, 초기 전송 부호율에 따라 상기 기설정된 전송 순서 중 하나를 선택해 적용할 수 있다. 일례로 rv값이 총 4개일 경우 이하와 같은 4개의 전송 순서 중 하나를 부호율에 따라 선택해 적용할 수 있다.
[표 2]
두 번째로 상기 전송 순서를 명시해 주는 방법 중 일례로 할당된 MCS(modulation and coding scheme) 인덱스에 따라 상기 4개의 전송 순서 중 하나를 선택해 부호어를 전송할 수 있다.
[표 3]
상기 표3의 MCS table에 부호율(code rate)은 명시 되지 않을 수 있다.
세 번째로 본 발명에 따르면 MCS 인덱스와 TBS(transport block size)와 부호어 비트가 전송될 부반송파(sub-carrier)들의 개수 등에 의해 결정되는 실제 부호율(effective code rate, Reff)과 기설정된 부호율에 대한 임계값(Rth_i, i=0, 1, 2, …, Norder -1)을 비교해 상기 비교 결과에 따라 특정 RV 순서를 사용해 더 우수한 성능을 보일 수 있다. 이러한 방법은 아래 수학식 17을 따라 수행될 수 있다. 상기 Reff는 TBS(Transport Block Size) 비트 개수와 전송되는 상기 TBS 기반 부호어 비트들의 비율이다. 상기 실제 부호율을 계산 하는 방법은 프레임 구조에 따라 다양할 수 있으며, 일례로 (TBS+NCRC)/(NPRB×(PRB당 자원 요소(resource element, RE)의 수 - #RE for reference signaling)× modulation order) 일 수 있다. 여기서 NCRC는 CRC 비트의 개수로 0일 수 있다. NPRB는 할당된 자원 블록(Resource Block)의 개수를 의미하고 #RE for reference signaling는 기준 신호 전송(reference signalling)이 할당된 자원 요소의 개수를 의미한다. TBS는 특정 ITBS와 NPRB 가 적용된 경우 전송할 수 있는 비트의 수를 의미한다. 또는 상기 TB(Transport Block)가 다수의 CB(Code Block)으로 세그멘테이션되고 CB 단위 혹은 CBG(CB group) 단위로 재전송될 경우, Reff는 CB의 크기 또는 CBG의 비트 개수와 CB 또는 CBG가 전송되는 부호어 비트의 개수의 비율일 수 있다.
[수학식 17]
RV index order indicator = i if Reff < Rth_i ( 0≤ i < Norder )
상기 Norder 는 상기 표2에서 명시한 가능한 RV index order indicator의 최대 값으로 RV index order의 최대 가지 수를 의미한다. 상기 Reff 는 상기 IMCS을 기반으로 결정할 수도 있다.
이러한 방법을 이용할 경우 송신기는 DCI 등 시그널링을 이용해 수신기가 직접 rvidx 값을 알려주지 않더라도 기설정된 순서대로 데이터 전송을 수행할 수 있다.
또한 패리티 검사 행렬 별로 서로 다른 패턴의 rvidx 순서가 사용될 수 있으며 또는 MCS 인덱스와 변조 차수에 따라 결정된 TBS 인덱스 또는 MCS 인덱스 (IMCS)와 NPRB(데이터 전송시 사용되는 물리 자원의 크기)에 따라 rvidx 순서가 결정될 수 있다.
또는 본 발명에 따르면 비적응적으로(non-adoptive) rvidx 순서를 고정한 후 초기 전송 부호율에 따라 인터리버(interleaver)를 달리 사용하여 전송해 동일한 효과를 얻을 수 있다.
도 12a 및 12b는 인터리버를 달리 사용하는 경우에 전송되는 부호어를 도시한 도면이다. 도 12a 및 12b에 따르면 1200은 전송 순서가 고정되어 rv0, rv1, rv2 및 rv3의 순서로 부호어가 전송됨을 의미한다. 이 때 부호어 비트들(=c0, c1, c2, …, cN-1)을 rvidx에 의해 지정되는 Sidx를 인덱스로 하는 비트들을 기반으로 하여 비트 그룹들로 구분한다. 첫 번째 비트 그룹(Bit Group0)는 cs0부터 c{s1-1}으로 구성되어 있다. 두 번째 비트 그룹(Bit Group1)는 cs1부터 c{s2-1}으로 구성되어 있다. 세 번째 비트 그룹(Bit Group2)는 cs2부터 c{s3-1}으로 구성되어 있다. 네 번째 비트 그룹 (Bit Group3)은 cs3부터 c{N}로 구성되어 있다. 다섯 번째 비트 그룹 (Bit Group4)은 cs0부터 c{s1-1}로 구성되어 있다.
이 때 인터리버 1을 적용할 경우 인터리버 1은 비트 그룹들을 Bit Group4, Bit Group0, Bit Group2, Bit Group1 및 Bit Group3 순서로 배열하며(1210) 이 경우 부호어 전송시 송신기는 인터리버를 사용하지 않았을 때와 동일한 rvidx 순서를 사용하더라도 실제 전송되는 비트의 시작점을 변경할 수 있다. 인터리버 3을 적용할 경우 인터리버 3(1230)은 비트 그룹들을 bit group 0, 3, 1 및 2의 순서로 배열하며, 이 경우 역시 송신기는 인터리버를 사용하지 않았을 때와 동일한 rvidx 순서를 사용하더라도 실제 전송되는 비트의 시작점을 변경할 수 있다. 그러므로 부호율에 따라 인터리버를 사용하여 상기와 같이 부호율에 따라 rvidx 순서를 다르게 하는 것과 동일한 효과를 얻을 수 있다. 그러므로 시그널링 오버헤드를 줄이기 위한 방법으로 rvidx 순서를 기 설정된 순서에 의해 사용하고 초기 전송 부호율에 따라 다른 인터리버를 사용하여 부호화 이득을 얻을 수 있도록 한다.
또한 본 발명에서는 rvidx (redundancy version index)로 지정되는 비트의 index, 즉 Sidx 값을 결정하는 방법을 개시한다. 상기에서 설명한 바와 같이 부호어 비트들을 전송할 때 결정된 rvidx로부터 Sidx값을 결정하고 결정된 Sidx값을 인덱스로 갖는 비트부터 순차적으로 전송하도록 한다.
첫 번째로, 초기 전송 시 부호율에 따라 최대 rvidx 값 (=m-1)을 고려한 부호어 비트들의 개수를 결정하여 각 rvidx들에 의해 지칭되는 Sidx 값들의 간격을 조절할 수 있다. 초기 전송 시 부호율이 높을 경우 최대 rvidx 값에 기반한 재전송시의 부호율은 LDPC 부호가 지원 할 수 있는 최소 부호율보다 높을 수 있다. 일례로, 초기 전송 시 부호율이 8/9, 지원할 수 있는 최소 부호율이 1/5, rvidx의 최대 값 (m-1)이 3일 경우 최대 재전송 수행시 부호율은 8/36(=8/9×1/4)으로 1/5보다 높다. 이 경우 부호어 비트의 개수(=Ncb)를 부호율 8/36을 기반으로 결정하고 이를 기반으로 Sidx를 설정할 경우 부호어 비트의 개수(=Ncb)를 부호율 1/5을 기반으로 결정하고, 이를 기반으로 Sidx를 설정할 경우보다 더 높은 부호화 이득을 얻을 수 있다.
또한 본 발명에 따르면, rvidx의 최대 값이 (m-1)이라고 할 경우 부호어 비트의 길이 Ncb을 k/R*m과 같거나 작은 값으로 설정하도록 한다. k는 정보어 비트의 개수로 CBS와 동일 하거나 혹은 Kb×Z와 동일할 수 있다. 상기 부호율 R은 MCS 테이블에서 IMCS 에 따른 값으로 명시할 수도 있고 유효 부호율(effective code rate)를 사용할 수도 있다. 상기 유효 부효율는 정보어 비트의 개수와 전송을 위해 할당된 RB의 개수(즉 자원의 크기)에 따라 변경될 수 있다.
일례로 Ncb는 이하 수학식 18에 기반하여 결정하도록 한다.
[수학식 18]
정보어 비트 중 특정 Nsym_p 비트들을 항상 전송하지 않은 경우를 고려 할 수 있다. 상기 특정 비트들을 punctured systematic bits라고 한다.
이 경우 상기 제 2 실시예의 Ncb_ext는 이하 수학식 18-A에 기반하여 결정하도록 한다.
[수학식 18-1]
상기 Ns는 단축 비트의 개수이다.
상기 Ncb 및 Ncb_ext는 limited buffer를 사용할 경우 limited buffer size와 상기 값들을 비교하여 더 작은 값을 선택하도록 한다.
상기 Nb는 LDPC 부호의 패리티 검사 행렬의 열 블록의 개수로 CBS 길이에 따라 달라질 수 있다. 상기 Nb는 패리티 검사 행렬의 최대 열 블록의 개수 Nbmax 보다 작거나 같은 값이다. 또한 상기에서 언급한 바와 같이 Ncb는 특정 부호율 및 특정 UE 카테고리(category)에 속하는지 또는 패리티 검사 행렬 또는 상향링크 또는 하향링크(UL/DL) 여부 또는 정보어의 길이 중 적어도 하나의 요소에 따라 다르게 결정될 수 있다. k는 CBS와 동일한 값이거나 CBS에 제로 패딩(zero padding) 비트의 개수를 더한 값인 LDPC 부호의 입력 비트의 개수(Kb×Z) 일 수 있다. 이 때 0, 1, … , (m-1) 중 하나의 값으로 결정된 rvidx 에 기반한 Sidx 값 또는 전송 시작 비트의 인덱스 k0는 아래 수학식 19에 따라 결정할 수 있다.
[수학식 19]
초기 전송 부호율에 따라 상기 m 값이 다를 수 있다. 또는 패리티 검사 행렬에 따라 m값이 다를 수 있으며, UE 카테고리(category) 혹은 DL 또는 UL 여부에 따라 다를 수 있다. a 는 rvidx=0인 S0의 위치를 의미한다. a는 LDPC 부호의 패리티 검사 행렬의 서브 행렬의 크기 Z와 동일 하거나 Z의 배수 혹은 0일 수 있다.
송신기는 실제 부호화를 수행시 Ncb까지 수행할 수 있고 또는 전송시 필요한 비트까지만 수행할 수도 있다.
두 번째로, Sidx 값들 즉 k0 값은 패리티 검사 행렬을 결정하기 위한 리프팅 값(lifting value) Z의 배수가 되도록 한다. 이는 디코더(decoder) 동작을 용이하게 하기 위한 방법이다. 도 13a는 재전송 시작점을 결정하는 방법을 도시한 도면으로 특히 상기의 방법으로 결정된 rvidx에 의해 결정된 Sidx 값을 도시한 도면이다. 도 13에 도시된 바와 같이 Sidx 값의 위치는 Z의 배수에 위치한다. 본 발명에서는 이를 위해 제로 패딩(zero padding) 비트들을 포함한 상태에서 Sidx값들이 결정되도록 한다.
이 때 Sidx는 아래 수학식 20과 같이 결정될 수 있다.
[수학식 20]
상기 rvidx는 0≤i<m이고 상기 m은 부호율에 따라 다를수 있다. Ncb는 재전송을 고려한 부호어 비트의 개수로 상기 수학식 17과 같이 결정될 수 있다. 또는 Ncb = min(Nbmax*Z, Nmax)로 결정될 수 있다. Nbmax는 도 6a과 도 6b에서 도시한 패리티 검사 행렬의 열 블록의 최대 개수이다. Nmax는 기설정된 최대 부호화 비트의 개수이다. Nmax를 설정하지 않았을 경우에는 Ncb = Nbmax×Z 가 될 수 있다. 또한 상기에서 언급한 바와 같이 Ncb는 특정 부호율 및 특정 UE 카테고리(category) 또는 패리티 검사 행렬 또는 상향링크 또는 하향링크(UL/DL) 여부 또는 정보어의 길이 중 적어도 하나의 요소에 따라 다르게 결정 될 수 있다. a 는 rvidx=0인 S0의 위치를 의미한다. a는 LDPC 부호의 패리티 검사 행렬의 서브 행렬의 크기 Z와 동일하거나 Z의 배수 혹은 0일 수 있다. 실제 부호화는 Ncb까지 수행되거나 전송시 필요한 비트(=E)에 대해서만 수행될 수도 있다.
세 번째로, 부호율에 따라서 Sidx간의 간격을 다르게 설정할 수 있다. 구체적으로, 전송 시작점의 위치는 아래 수학식 21과 같이 결정될 수 있다.
[수학식 21]
상기 는 상위 레이어 시그널링(higher layer signaling, 이는 RRC signaling으로도 해석할 수 있다) 또는 MAC CE 또는 하향링크 물리 계층 신호(L1 DL control)에 의해 미리 설정(configuration)된 값일 수 있고, 또는 직접 송수신기가 계산할 수 있다. 또한 상기 는 부호율 및 정보어 길이(즉 CBS)에 따라 달리 결정될 수 있다. 구체적으로 MCS 인덱스 또는 MCS 인덱스와 변조 차수에 따라 결정된 TBS 인덱스 또는 MCS 인덱스와 NPRB(데이터 전송시 사용되는 물리 자원의 크기)에 따라 미리 결정되어 있을 수 있다. 일례로 이고 상기 R은 초기 전송 부호율로 MCS 인덱스에 의해 결정될 수 있다. 또한 상기 는 패리티 검사 행렬 및 UE 카테고리에 따라 다를 수 있다. rvidx는 0≤i<m이고 상기 m은 부호율에 따라 다를 수 있다. Ncb는 재전송을 고려한 부호어 비트의 개수로 상기 수학식 17과 같이 결정될 수 있다. 또는 Ncb = min(Nbmax×Z, Nmax)로 결정될 수 있다. 또는 Ncb = min(Nb×Z, Nmax)로 결정될 수 있다. Nbmax는 도 6a과 도 6b에서 도시한 패리티 검사 행렬의 열 블록의 최대 개수이고, Nb는 Nbmax보다 작거나 같은 값으로 소정의 규칙에 의해 결정된다. Nmax는 기설정된 최대 부호화 비트의 개수이다. Nmax를 설정하지 않았을 경우에는 Ncb = Nbmax×Z 또는 Ncb = Nb×Z 로 설정된다. 또한 상기에서 언급한 바와 같이 Ncb는 특정 부호율 및 특정 UE 카테고리(category) 또는 패리티 검사 행렬 또는 상향링크 또는 하향링크(UL/DL) 여부 또는 정보어의 길이 중 적어도 하나의 요소에 따라 다르게 결정될 수 있다. a 는 rvidx=0인 S0의 위치를 의미한다. a는 LDPC 부호의 패리티 검사 행렬의 서브 행렬의 크기 Z와 동일 하거나 Z의 배수 혹은 0일 수 있다. 이 때 실제 부호화는 Ncb까지 수행되거나 전송시 필요한 비트(=E, 이는 전송하는 부호어 비트의 개수로 이해될 수 있다)에 대해서만 수행될 수도 있다. 또한 상기 세 번째 방법에 의하여 Sidx를 결정할 경우 작은 idx의 Sidx 값이 큰 idx의 Sidx 보다 더 클 수 있다. 즉 S1>S2 일 수 있다.
상기와 같은 방법을 사용할 경우 RV값이 rvi 즉 rvidx=i일 경우 전송된 비트들과 RV값이 rvi+1 즉 rvidx= (i+1)일 경우 전송된 비트들 중 동일한 비트들의 개수를 최소화 할 수 있으므로 재전송시 RV를 순차적으로 사용하여 부호화 이득을 최대화 할 수 있다.
상기 실시예2와 실시예3에서 언급한 바와 같이 특정 정보어 비트들이 항상 전송되지 않을 경우, 상기 수학식 21의 Ncb 값은 상기 수학식 18-1에 의해 결정 될 수 있다. 실시예 2의 경우 상기 수학식 21에서 a는 0일 수 있다.
이하에서는 상기 에 대해 상세히 설명한다. HARQ-IR 방식을 사용할 경우 상기 기술한 바와 같이 재전송을 통해 최대한 새로운 부호어 비트를 전송해야 부호어 이득을 얻을 수 있다. 그러므로 부호율에 따라 rv값에 따른 전송 시작 비트의 위치를 달리해야 부호어 이득을 최대로 얻을 수 있다. 이 때 구체적인 전송 시작점의 위치는 아래 수학식 22와 같이 특정 값 를 기반으로 하여 패리티 검사 행렬의 순환 순열 행렬의 사이즈의 배수로 결정될 수 있다.
[수학식 22]
상기 a는 rvidx = 0 일때 전송 시작 비트의 위치로 기 설정된 값일 수 있다. 상기 실시예2와 실시예3에서 언급한 바와 같이 특정 정보어 비트들이 항상 전송되지 않을 경우, 상기 수학식 22의 Ncb 값은 상기 수학식 18-A에 의해 결정 될 수 있다. 실시예 2의 경우 상기 수학식 22의 a는 0일 수 있다.
상기 은 부호율 및 정보어 길이(즉 CBS)에 따라 달라질 수 있다. 구체적으로 MCS 인덱스 또는 MCS 인덱스와 변조 차수에 따라 결정된 TBS 인덱스 또는 MCS 인덱스와 NPRB(데이터 전송시 사용되는 물리 자원의 크기)에 따라 미리 결정되어 있을 수 있다. 또한 수학식 22의 및 a는 특정 부호율 및 특정 정보어 길이 (TBS(transport block size), CBS(code block size), CBGS(code block group size) 등) 및 특정 UE 카테고리(category) 또는 패리티 검사 행렬 또는 상향링크 또는 햐향링크(UL/DL) 전송 여부 또는 정보어의 길이 중 적어도 하나의 요소에 따라 다르게 결정될 수 있다. 예를 들어 상기 하나의 요소에 의해서 는 항상 고정된 값을 사용할 수 있다.
[수학식 23]
상기 R은 부호율로 미리 상위 레이어 시그널링(higher layer signaling, 이는 RRC signaling으로도 해석할 수 있다) 또는 MAC CE 또는 하향링크 물리 계층 신호(L1 DL control)에 의해 설정(configuration)된 값일 수 있고, 또는 직접 송수신기가 계산할 수 있다. 또는 MCS table에서 표시된 값일 수 있다. 또는 R=f(k/E) 일 수 있으며 이는 상기 R은 k/E를 변수로 하는 임의의 함수라는 의미이다. k는 정보어 비트의 개수(LDPC 부호의 정보어의 길이, TBS 혹은 CBS 혹은 CBG의 비트 개수와 필요 시 CRC 비트를 포함한 길이)이고 E는 전송하는 부호어 비트의 개수를 의미한다. 전송하는 부호어 비트의 개수 E는 상기 정보어 비트가 부호화되어 전송되는 프레임 구조, 레이어(Layer)의 개수, 변조 방식 등에 따라 결정될 수 있다. Kb는 LDPC 부호의 패리티 검사 행렬의 정보어 파트의 column block의 개수를 의미하며 LDPC 부호의 정보어의 길이(k)에 따라 달라지게 된다. 일례로 Kb=k/Z 가 될 수 있다. 그러므로 상기 kb 값은 k 및 Z에 따라 달라지게 된다. 상기 Z는 LDPC 부호의 패리티 검사 행렬의 순환 순열 행렬의 크기이다. 상기 LDPC 부호의 정보어는 CB (혹은 TB에 CRC를 포함한 비트열)에 제로비트를 패딩한 비트열을 의미한다.
또는 MCS table에서 1/R 값을 정수화하여 사용할 수 있다. 즉, MCS table에서 각 MCS index 마다 정의된 소정의 정수값을 또는 (1/R)로 정의하도록 한다. 이 때 부호율이 높을수록 값은 작다.
[수학식 24]
상기 수학식 21 또는 수학식 22를 기반으로 전송 시작 비트를 결정할 경우, 상기 는 이전 전송의 전송 부호율을 기반으로 결정하는 것이 더 우수한 성능을 보장 할 수 있다. 상기 재전송시 이전 전송(또는 초기 전송)과 전송 부호율이 동일하다는 의미는 재전송시 전송되는 부호화 비트의 개수가 이전 전송(또는 초기 전송)시 전송되는 부호어 비트의 개수와 동일한 경우로, 일 예로 할당된 MCS 인덱스와 서브 캐리어의 개수 (혹은 PRB의 개수)가 동일한 경우를 의미한다. 재전송시의 전송 부호율이 이전 전송(또는 초기 전송)시 전송 부호율과 다를 경우 이전 전송시 전송 부호율 혹은 MCS 인덱스를 기반으로 하여 상기 수학식 23 또는 상기 수학식 24의 R값 또는 IMCS가 사용될 수 있다. 이 경우 송수신기는 이전 전송시 전송 부호율 또는 전송된 부호어 비트의 개수 또는 MCS 및/또는 NPRB 등을 저장할 필요가 있다.
또는 아래와 같이 하향링크 제어 정보(downlink control information)에 포함된 RV 모드 지시자(RV mode indicator)를 기반으로 값을 결정하는 방법을 결정 할 수 있다. 이 때 하향링크에 대한 제어 정보에 포함된 RV 모드 지시자는 초기 전송에서 데이터 전송을 위해 사용한 부호율과 현재 전송(재전송)에서 사용하는 부호율이 같은지 여부를 지시할 수 있고, 상향링크에 대한 제어 정보에 포함된 RV 모드 지시자는 초기 전송에서 데이터 전송을 위해 사용된 부호율과 앞으로 전송할 데이터의 부호율이 같은지 여부를 지시할 수 있다.
상기 지시자에 따라 이전 전송과 현재 전송의 전송 파라미터(parameter)들이 동일할 경우 (예를 들어 지시자가 0인 경우), 현재 전송 파라미터(일례로 전송 부호율 및 정보어 비트 등)에 기반하여 상기 이 결정될 수 있고, 이전 전송과 현재 전송의 파라미터들이 동일하지 않을 경우 (예를 들어 지시자가 1인 경우) 소정의 고정된 값(예를 들어 rv index 개수)을 기반으로 이 결정될 수 있다.
아래에서는 값의 특징을 더 기술한다. 도 13b는 값에 따라 전송되는 비트를 도시한 도면이다. 도 13b에 따르면, kb, Nb 값이 같더라도 R과 값이 다름에 따라 재전송시 전송되는 비트의 수가 다름을 알 수 있다. 구체적으로 (a)의 경우 부호율 R이 8/9이고 값이 24일 때 3번째 전송시(2번째 재전송시) 전송되는 비트는 1300이 되고, (b)의 경우 R이 1/2이고 값이 44일 때 2번째 전송시 전송되는 비트는 1310이 된다.
상기 는 특정 부호율 범위 내에서는 같은 값을 가질 수 있다. 또는 특정 MCS index 범위 내에서는 같은 값을 가질 수 있다. 일례로, 부호율 5/6부터 8/9에서는 일 수 있다. 상기 부호율 또는 는 설정 가능(configurable)할 수 있으며, 를 결정하는 방법은 상기에서 언급한 바와 같이 특정 부호율 및 특정 정보어 길이(TBS, CBS, CBGS 등) 및 상향링크 또는 하향링크 전송 여부에 따라 혹은 단말 카테고리(UE category) 중 적어도 하나의 요소에 따라 다를 수 있다.
또한 상기 수학식 22의 은 부호율과 정보어 길이의 조합에 따라 다르게 사용될 수 있다. 일례로 정보어 길이가 작을 경우 동일 부호율에 대하여 은 정보어의 길이가 길 경우의 보다 클 수 있다. 이는 정보어 길이가 작을 경우의 부호어 비트의 개수 Ncb가 정보어 길이가 길 경우의 Ncb 보다 클 수 있기 때문이다. 이 때 전송되는 LDPC 부호어의 길이가 길면 수신기 측의 복호기 메모리의 사이즈가 증가하여야 하므로 부호어의 길이 (또는 Ncb)는 정보어 길이에 따라 제한할 수 있다. 또한 Ncb 및 Nb는 단말의 버퍼 크기(user buffer size) 및 HARQ 과정(HARQ processing)의 개수에 따라 다를 수 있다. 그러므로 상기 최대 rv index 개수 및 은 UE 카테고리(category)에 따라 다를 수 있다.
본 발명의 다른 실시예로, 전송 시작점의 위치들은 특정 부호율, 변조 방식, 비트 인터리버, 정보어 길이(TBS(transport block size), CBS(code block size), CBGS(code block group size) 등), 전송 비트의 길이, 패리티 검사 행렬, 특정 UE 카테고리 (category), 상향링크 또는 햐향링크(UL/DL) 전송 여부 중 적어도 하나의 요소에 따라 다르게 결정될 수 있다. 고차 변조 방식을 사용할 경우 이미 전송 했던 비트들 중 일부 비트를 다시 재전송 하면서 변조 심볼에 매핑 되는 위치를 변경 시켜 줄 경우 성능이 더 우수 할 수 있다. 그러므로 고차 변조 방식으로 전송 할 경우 동일한 비트들을 재전송 하는 경우를 고려하여 RV 모드 지시자에 따른 전송 시작점의 위치를 결정 하는 것이 시스템 성능을 향상 시킬 수 있다.
간단한 방법으로는 전송 시작점들을 포함된 RV 모드 지시자(RV mode indicator)의 개수만큼의 원소를 갖는 set으로 정의 할 수 있다. 이때 전송 시작점의 위치들을 나타내는 set은 특정 부호율, 변조 방식, 정보어 길이(TBS(transport block size), CBS(code block size), CBGS(code block group size) 등), 전송 비트의 길이, 패리티 검사 행렬, 특정 UE 카테고리(category), 상향링크 또는 햐향링크(UL/DL) 전송 여부 중 적어도 하나의 요소에 따라 다르게 결정 하도록 한다.
일예로, 패리티 검사 행렬의 column block의 개수가 68이고 이중 2개의 column block과 관련있는 입력 비트들이 항상 천공되어 전송되지 않을 경우 부호어 비트들 (Ncb)는 66*Z이며, 전송 시작점의 위치는 set은 아래와 같이 정의 할 수 있다. 상기 Z는 LDPC 부호의 패리티 검사 행렬의 순환 순열 행렬의 크기이다.이하 전송 시작점의 위치는 상기 항상 천공되는 비트들을 제외한 비트들 부터의 위치를 의미한다.
Set1 = {0, 17*Z, 33*Z, 50*Z}
Set2 = {0, 25*Z, 33*Z, 50*Z}
Set3 = {0, 28*Z, 33*Z, 50*Z}
If (R >= 0.89 and MOD=256 QAM) or (R >= 0.89 and MOD=64QAM) or (R>= 0.89 and MOD=16 QAM) then starting positions set is set3
else if (R >= 0.82 and MOD=256 QAM) or (R >= 0.82 and MOD=64QAM) or (R>= 0.77 and MOD= 16 QAM) or (R>= 0.77 and MOD= QPSK) then starting positions set is set2
else then starting positions set is set1
다른 일예로 패리티 검사 행렬의 column block의 개수가 68일 경우 모든 부호율과 변조 방식에 대해 상기 Set들 set1, set2, set3 중 적어도 하나의 set을 사용하도록 한다.
상기 set은 Set1 = {0, 17, 33, 50}, Set2 = {0, 25, 33, 50}, Set3 = {0, 28, 33, 50}으로도 표현될 수 있다.
다른 일예로 패리티 검사 행렬의 column block의 개수가 68이고 2개의 column block과 관련 있는 비트들이 항상 천공되어 전송되지 않을 경우 RV 모드 지시자(RV mode indicator)가 지칭하는 전송 시작점의 위치들을 나타내는 set은 {0, 15*Z, 23*Z, 37*Z}일 수 있다. 상기 set은 {0, 15, 23, 37}으로도 표현될 수 있다.
도 23a에서는 set 1과 set3을 사용하여 전송 시작점을 결정 하였을 때 부호율 및 변조 방식에 따라 BLER=0.01을 만족하는 SNR 차이를 표기 하였다. 도시한 바와 같이 부호율 및 변조 방식에 따라 다른 set을 사용할 경우 더 낮은 SNR을 기반으로 BLER=0.01을 만족 할 수 있음을 알 수 있다.
일예로, 패리티 검사 행렬의 column block의 개수가 52이고 이중 2개의 column block과 관련있는 입력 비트들이 항상 천공되어 전송되지 않을 경우 부호어 비트들 (Ncb)는 50*Z이며, 전송 시작점의 위치는 set은 아래와 같이 정의 할 수 있다. 상기 Z는 LDPC 부호의 패리티 검사 행렬의 순환 순열 행렬의 크기이다. 이하 전송 시작점의 위치는 상기 항상 천공되는 비트들을 제외한 비트들 부터의 위치를 의미한다.
Set4 = {0, 13*Z, 25*Z, 38*Z}
Set5 = {0, 18*Z, 25*Z, 38*Z}
If (R >= 0.62 and MOD=256 QAM) or (R >= 0.62 and MOD=64QAM) or (R>= 0.53 and MOD=16 QAM) or (R>= 0.53 and MOD= QPSK) then starting positions set is set4
else starting positions set is set5
상기 Set4 = {0, 13, 25, 38}, Set5 = {0, 18, 25, 38}으로도 표현될 수 있다.
다른 일예로 패리티 검사 행렬의 column block의 개수가 52일 경우 모든 부호율과 변조 방식에 대해 상기 Set들 set1, set2, set3 중 적어도 하나의 set을 사용하도록 한다.
다른 일예로 패리티 검사 행렬의 column block의 개수가 52이고 2개의 column block과 관련 있는 비트들이 항상 천공되어 전송되지 않을 경우 RV 모드 지시자(RV mode indicator)가 지칭하는 전송 시작점의 위치들을 나타내는 set은 {0, 11*Z, 16*Z, 25*Z}일 수 있다. 상기 set은 {0, 11, 16, 25}로 표현될 수 있다.
도 23b에서는 set 4과 set5을 사용하여 전송 시작점을 결정 하였을 때 부호율 및 변조 방식에 따라 BLER=0.01을 만족하는 SNR 차이를 표기 하였다. 도시한 바와 같이 부호율 및 변조 방식에 따라 다른 set을 사용할 경우 더 낮은 SNR을 기반으로 BLER=0.01을 만족 할 수 있음을 알 수 있다.
상기 set을 표기 할 때 Z는 제외 할 수 있다.
상기 실시예들에서 R은 부호율로 미리 상위 레이어 시그널링(higher layer signaling, 이는 RRC signaling으로도 해석할 수 있다) 또는 MAC CE 또는 하향링크 물리 계층 신호(L1 DL control)에 의해 설정(configuration)된 값일 수 있고, 또는 직접 송수신기가 계산할 수 있다. 또는 MCS table에서 표시된 값일 수 있다. 또는 R=f(k/E) 일 수 있으며 이는 상기 R은 k/E를 변수로 하는 임의의 함수라는 의미이다. k는 정보어 비트의 개수(LDPC 부호의 정보어의 길이, TBS 혹은 CBS 혹은 CBG의 비트 개수와 필요 시 CRC 비트를 포함한 길이)이고 E는 전송하는 부호어 비트의 개수를 의미한다. 전송하는 부호어 비트의 개수 E는 상기 정보어 비트가 부호화되어 전송되는 프레임 구조, 레이어(Layer)의 개수, 변조 방식 등에 따라 결정될 수 있다. LDPC 부호의 정보어는 CB (혹은 TB에 CRC를 포함한 비트열)에 제로비트를 패딩한 비트열을 의미한다.
본 발명은 재전송 수행시 변조 심볼 매핑 방법 및 장치에 대해 개시한다. 부호어 비트가 변조 심볼로 변환 후 전송되어 수신될 경우 부호어 비트가 매핑 되었던 변조심볼을 구성하는 비트의 위치에 따라 디코딩시 비트의 LLR(log likelihood ratio, 로그우도율)이 높거나 낮을 수 있다. 이 때 계속 동일한 방법으로 심볼 변조시 높은 LLR을 가질 수 있는 위치의 비트가 계속 같은 위치에서 전송되고 낮은 LLR을 가질 수 있는 위치의 비트가 계속 같은 위치에서 전송된다면 재전송이 수행되더라도 낮은 LLR을 가진 비트의 경우 계속하여 낮은 LLR을 가질 가능성이 높아진다. 이러한 문제를 해결하기 위한 방법이 아래에 기술된다.
도 14a는 재전송시 동일한 비트들이 변조 심볼 중 동일한 위치로 전송될 경우 변조 심볼 매핑 방법을 도시한 도면이다. 도 14a의 (a)는 재전송되는 심볼이 동일 하게 매핑될 경우 1400 위치의 비트가 재전송이 수행되더라도 계속 msb(most significant bit, 최상위 비트)로 매핑되어 전송됨을 도시하고 있다. 본원발명을 적용할 경우 부호어 비트를 심볼로 변조시 한 심볼에 해당하는 비트 내에서 rvidx만큼 쉬프트(shift)가 수행될 경우 1400 비트는 1410 위치가 되어 lsb(least significant bit, 최하위 비트)가 된다. 심볼 변조시 msb와 lsb의 LLR은 차이가 있으므로 1400 비트 뿐만 아니라 1400 비트 옆 비트 또한 초기 전송 및 재전송시 높고 낮은 LLR 을 가지도록 전송되므로 고른 성능을 보일 수 있다.
도 14b는 재전송되는 심볼이 동일하지 않을 경우 변조 심볼 매핑 방법을 도시한 도면이다. 재전송시 매핑되는 변조 심볼을 구성하는 비트가 동일하지 않다면 1450 위치의 비트를 rv만큼 쉬프트해 1460 위치가 되더라도 초기 전송과 마찬가지로 msb가 될 수 있으므로 이 경우 rv만큼 쉬프트하지 않고 변조 심볼의 인덱스마다 하나씩 쉬프트할 수 있다. 그러므로 송수신기가 재전송되는 심볼이 동일한지 아닌지 판단해 변조를 수행하지 않기 위해 바람직하게는 상기 두 가지 방법을 모두 적용해 심볼 변조를 수행한다. 구체적으로 rv 인덱스 값과 심볼 인덱스 값을 더한 값들을 각 심볼마다 순환 쉬프트(cyclic shift)해주도록 한다.
도 15는 각 심볼마다 순환 쉬프트를 적용하는 방법을 도시한 도면이다. 도 15에 따르면, 16QAM(Quadrature Amplitude Modulation, 직교 진폭 변조)이 적용될 경우 순환 쉬프트가 적용되지 않을 경우인 (a)에 따르면 부호어 비트 C0, C1, C2 및 C3은 순서대로 심볼 변조를 위한 비트 b0, b1, b2 및 b3에 매핑된다. rv 인덱스와 심볼 인덱스를 더한 값이 1인 경우인 (b)에 따르면 심볼 변조를 위한 비트 b0, b1, b2 및 b3로 부호어 비트 C3, C0, C1 및 C2가 대입되며, rv 인덱스와 심볼 인덱스를 더한 값이 2인 경우인 (c)에 따르면 심볼 변조를 위한 비트 b0, b1, b2 및 b3로 부호어 비트 C2, C3, C0 및 C1가 대입된다.
도 16a는 본 발명을 수행하는 장치를 도시한 블록도이다. 도 16a에 따르면, 인터리버(1600)는 입력된 rv 인덱스 및 심볼 인덱스를 기반으로 비트간 순환 쉬프트를 수행할 수 있으며, 매퍼(1610)은 상기 쉬프트된 비트를 심볼로 변조한다.
도 16b는 본 발명의 실시예에 따른 변조 심볼 매핑 방법을 도시한 순서도이다. 도 16b에 따르면, 송신기는 redundancy version (RV) 혹은 redundancy version의 인덱스(rvidx)를 결정하고(1650), 전송의 시작 위치 (Sidx 또는 k0)을 결정한다(1660). 이후 송신기는 변조 심볼을 위한 비트의 매핑 순서를 결정하며(1670), 이는 rv 인덱스 및 심볼 인덱스를 기반으로 결정된다. 상기 rvidx는 시그널링에 의해 전송된 값이거나, 기설정된 순서에 의해 결정될 수 있으며, 또는 본 발명에 따른 소정의 방법에 의해 결정될 수 있다.
도 17은 본 발명의 실시예에 따른 데이터 재전송 방법을 도시한 도면이다. 도 17에 따르면, 송신단(1700)은 수신단(1710)으로 데이터를 초기 전송한다(1720). 이후 수신단은 송신단으로 데이터 디코딩에 실패하였다는 NACK(negative acknowledgement, 부정 수신 확인)을 전송하고(1730) 이를 수신한 송신단은 데이터 재전송을 위한 rv 값(rv 인덱스), 전송 시작 비트의 위치, 부호어 비트의 개수 및 재전송을 위한 변조 심볼 매핑 방법에 따른 순환 쉬프트값 중 적어도 하나를 결정하고(1740) 상기 결정을 기반으로 데이터 재전송을 수행한다(1750). 또한 1740 단계에서는 최대 전송 비트, 최대 전송 레이트 중 적어도 하나 또한 결정될 수 있다.
이하에서는 패리티 검사 행렬이 다른 경우 기 설정된 rv_idx 순서에 따라 rv_idx를 사용하는 실시예를 설명하도록 한다.
다수의 패리티 검사 행렬을 저장하고 표기 하기 용이하게 하기 위해서 상기 도 6b에서 도시한 정보어 비트의 블록 개수 (Kb)와 부호어 비트의 블록 개수(Nb)가 같은 경우 같은 패리티 검사 행렬 그룹으로 표현할 수 있다. 즉, 동일한 정보어 블록 개수(Kb)와 부호어 블록 개수 (Nb)를 기반으로 다른 순환 순열 행렬의 사이즈 (Z)와 순환 순열 행렬의 지수 값들을 사용하는 패리티 검사 행렬들은 동일한 패리티 검사 행렬 그룹에 속한다. 일예로 아래와 같이 Kb와 Nb에 따라 제 1 패리티 검사 행렬 그룹 (PCM group 1)과 제 2 패리티 검사 행렬 그룹(PCM group2)를 명시 할 수 있다.
이때 rv_idx를 별도의 시그널링을 통해 전송하지 않고 기설정된 순서에 의해 전송 할 경우 아래와 같이 패리티 검사 행렬 그룹에 따라 다른 전송 순서를 사용할 수 있다.
본 발명은 변조 심볼 매핑 방법 및 장치에 대해 또 다른 실시예를 개시한다. 상기 도 4에서 도시한 레이트 매칭부(440)에서 펑처링/리피티션/제로제거부 (442) 이후에 블록 인터리버가 존재 할 수 있다.
상기 도 4에서 도시한 바와 같이, 상기 레이트 매칭부(440)의 출력 비트들은 상기 변조부(450)에 입력된다. 상기 변조부에서는 입력 비트들을 변조 심볼을 구성하는 비트들에 매핑하는 매퍼를 포함한다. 상기 매핑 순서는 rv_idx와 재전송 여부에 따라 다르게 할 수 있다. 일예로, 이전 전송에서 사용했던 rv_idx와 동일한 rv_idx를 기반으로 전송 할 경우 이전 전송에 사용했던 매핑 순서의 역순으로 매핑 할 수 있다. 보다 구체적으로는 적어도 rv_idx가 0일 경우 상기 매핑 순서를 rv_idx가 0인 이전 전송에서 사용했던 매핑 순서의 역순으로 매핑하도록 한다. 256QAM을 가정할 경우 실시예를 도 24에 도시 하였다. 동일 i번째 전송에서 rv_idx가 j인 경우, mapper-1을 기반으로 비트들을 심볼에 매핑하고 i번째 이상의 전송 중 rv_idx가 j인 적어도 하나의 경우에는 mapper-2를 사용하도록 한다. 이 경우 변조 심볼을 구성하는 비트 별 신뢰도(reliability)가 다른 성질을 기반으로 하여 성능 향상을 얻을 수 있다.
동일 rv_idx가 반복될 경우 mapping을 다르게 할 경우 재전송시 rv idx 를 모두 다른 값을 사용하기 보다는 동일 rv_idx 를 반복하는 것이 성능 향상을 얻을 수 있다.
상기와 같은 방법을 기반으로 재전송을 할 경우 상기 (Kb, Nb) = (22, 68) or (10, 52)인 패리티 검사 행렬 그룹을 기반으로 하는 패리티 검사 행렬을 기반으로 LDPC 부호화/복호화 되는 시스템에서, 기 설정된 rv_idx에 따라 재전송 될 경우 {0, 2, 0, 3, 1}의 순서를 사용하도록 한다. 또는 기 설정된 rv_idx 순서는 {0, 2, 0, 3} 일 수 있다. 또는 기 설정된 rv_idx 순서는 {0, 2} 일 수 있다.
상기 순서는 아래와 같은 방법에 의해 결정 되었다.
1) 첫번째 전송에서는 rv_idx를 0를 사용한다고 가정한다.
2) For(0<i<N+1)
A. (i-1)번째 전송 까지 결정된 rv_idx를 기반으로 i 번째 전송시 다양한 변조 방식과 부호율에서 우수한 성능을 갖는 rv_idx를 결정
3) End for
보다 구체적인 송신 순서를 도 25에 도시하였다.
rv_idx 가 시그널링 되는지 여부를 먼저 판단 하도록 한다. 시그널링 되지 않고 기 설정된 순서를 기반으로 rv_idx가 결정될 경우, 몇 번째 전송인지 판단 한다. rv_idx order set의 원소의 개수가 S이고 전송 횟수가 i일 경우 rv_idx order set에서 (i mod S) 값을 rv_idx로 결정 한다.
제1 패리티 검사 행렬 그룹에 속하는 패리티 검사 행렬을 사용할 경우 상기 rv_idx order는 {0 2 1 3} 일 수 있다.
제2 패리티 검사 행렬 그룹에 속하는 패리티 검사 행렬를 사용할 경우 상기 rv_idx order는 {0 2 3 1} 일 수 있다.
만약 동일 rv_idx에 대하여 적어도 한번은 역순서의 mapping을 사용할 경우 rv_idx_order는 { 0 2 0 3 1 } 일 수 있다. 전송 횟수 i에 대하여 (i mod 5) = 2 일 경우 (i mod 5) = 0 에서 사용했던 mapping 순서의 역순을 기반으로 부호어 비트들을 변조 심볼에 매핑하도록 한다.
또는 rv_idx_order는 { 0 2 0 3 } 일 수 있다. 전송 횟수 i에 대하여 (i mod 4) = 2 일 경우 (i mod 4) = 0를 만족하는 i 번째 전송에서 사용했던 mapping 순서의 역순을 기반으로 부호어 비트들을 변조 심볼에 매핑하도록 한다.
또는 rv_idx_order는 { 0 2 } 일 수 있다. 전송 횟수 i에 대하여 (i mod 4) = 2 일 경우 (i mod 4) = 0를 만족하는 i 번째 전송에서 사용했던 mapping 순서의 역순을 기반으로 부호어 비트들을 변조 심볼에 매핑하도록 한다. 또한 (i mod 4) = 3 일 경우 (i mod 4) = 1를 만족하는 i 번째 전송에서 사용했던 mapping 순서의 역순을 기반으로 부호어 비트들을 변조 심볼에 매핑하도록 한다.
본 발명은 데이터 재전송의 경우에 대해 기술되었으나, 이는 데이터 뿐 아니라 기지국과 단말 사이에 전송되는 모든 신호의 경우에 적용될 수 있음은 자명하다. 또한 도 17의 송신단과 수신단은 기지국 또는 단말 중 적어도 하나가 될 수 있다.
도 18은 본 발명의 일 실시 예에 따른 부호화 장치의 구성을 나타내는 블록도이다. 이 경우, 부호화 장치(1800)는 LDPC 부호화를 수행할 수 있다.
도 18에 따르면, 부호화 장치(1800)는 LDPC 인코더(1810)를 포함한다. LDPC 인코더(1810)는 패리티 검사 행렬에 기초하여 입력 비트들에 대해 LDPC 부호화를 수행하여 LDPC 부호어를 생성할 수 있다.
Kldpc 개의 비트들은 LDPC 인코더(1810)를 위한 Kldpc 개의 LDPC 정보어 비트들 I=(i0,i1,...,)을 구성할 수 있다. LDPC 인코더(1810)는 Kldpc 개의 LDPC 정보어 비트들을 시스테매틱하게 LDPC 인코딩하여, Nldpc 개의 비트들로 구성된 LDPC 코드워드 Λ=(c0,c1,..., )=(i0,i1,..., ,p0,p1,...,)를 생성할 수 있다. 상기 생성 과정은 상기 수학식 1에서 서술한 바와 같이 상기 LDPC 코드워드와 패리티 검사 행렬의 곱이 제로 벡터가 되도록 부호어를 결정하는 과정을 포함한다. 본 발명의 패리티 검사 행렬은 상기 도 3에서 정의한 패리티 검사 행렬과 동일한 구조를 가질 수 있다.
이 경우, LDPC 인코더(1810)는 부호율(즉, LDPC 부호의 부호율)에 따라 서로 다르게 정의된 패리티 검사 행렬을 이용하여 LDPC 부호화를 수행할 수 있다.
한편, LDPC 부호화를 수행하는 구체적인 방법에 대해서는 상술한 바 있다는 점에서 구체적인 중복 설명은 생략하도록 한다.
한편, 부호화 장치(1800)는 LDPC 부호의 부호율, 부호어 길이, 패리티 검사 행렬에 대한 정보를 기저장하기 위한 메모리(미도시)를 더 포함할 수 있으며, LDPC 인코더(810)는 이러한 정보를 이용하여 LDPC 부호화를 수행할 수 있다. 상기 패리티 검사 행렬에 대한 정보는 본 발명에서 제시하는 패리티 행렬을 사용할 경우 순환 행렬의 지수 값에 대한 정보를 저장할 수 있다.
아래에서는 상기 도 5를 기반으로 수신기 동작에 대해 구체적으로 설명한다.
복조부(510)는 송신 장치(400)로부터 수신된 신호를 복조한다.
구체적으로, 복조부(510)는 도 4의 송신 장치(400)의 변조부(450)에 대응되는 구성요소로, 송신 장치(400)로부터 수신된 신호를 복조하여, 송신 장치(400)에서 전송한 비트들에 대응되는 값들을 생성할 수 있다.
이를 위해, 수신 장치(500)는 송신 장치(400)에서 모드에 따라 변조한 변조 방식에 대한 정보를 기저장할 수 있다. 이에 따라, 복조부(510)는 모드에 따라 송신 장치(400)로부터 수신된 신호를 복조하여, LDPC 코드워드 비트들에 대응되는 값들을 생성할 수 있다.
한편, 송신 장치(400)에서 전송한 비트들에 대응되는 값은 LLR(Log Likelihood Ratio) 값일 수 있다. 구체적으로, LLR 값은 송신 장치(400)에서 전송한 비트가 0일 확률과 1일 확률의 비율에 Log를 취한 값으로 나타낼 수 있다. 또는, LLR 값은 비트 값 자체가 될 수 있으며, 또한, LLR 값은 송신 장치(400)에서 전송한 비트가 0 또는 1일 확률이 속하는 구간에 따라 결정된 대표 값이 될 수도 있다.
상기 복조부(510)는 LLR 값에 대한 멀티플렉싱(multiplexing)(미도시)을 수행하는 과정을 포함한다. 구체적으로, 송신 장치(400)의 비트 디먹스(demux)(미도시)에 대응되는 구성요소로, 비트 디먹스(미도시)에 대응되는 동작을 수행할 수 있다.
이를 위해, 수신 장치(500)는 송신 장치(400)가 디멀티플렉싱 및 블록 인터리빙을 위해 이용하였던 파라미터에 대한 정보를 기저장하고 있을 수 있다. 이에 따라, 먹스(미도시)는 셀 워드에 대응되는 LLR 값에 대해 비트 디먹스(미도시)에서 수행된 디멀티플렉싱 및 블록 인터리빙 동작을 역으로 수행하여, 셀 워드에 대응되는 LLR 값을 비트 단위로 멀티플렉싱할 수 있다.
레이트 디매칭부(520)은 복조부(510)로부터 출력되는 LLR 값에 LLR 값을 삽입할 수 있다. 이 경우, 레이트 디매칭부(520)는 복조부(510)로부터 출력되는 LLR 값들의 사이에 미리 약속된 LLR 값들을 삽입할 수 있다.
구체적으로, 레이트 디매칭부(520)는 송신 장치(400)의 레이트 매칭부(440)에 대응되는 구성요소로, 인터리버(441), 제로 제거 및 펑처링/리피티션/제로 제거부(442)에 대응되는 동작을 수행할 수 있다.
먼저, 레이트 디매칭부(520)는 상기 송신기의 인터리버(441)에 상응하도록 디인터리빙(deinterleaving)(521) 하도록 한다. 디인터리빙(521)의 출력 값들은 LLR삽입부(522)에서 LDPC 코드워드에서 제로 비트들이 패딩되었던 위치에 제로 비트들에 대응되는 LLR 값을 삽입할 수 있다. 이 경우, 패딩되었던 제로 비트들 즉, 쇼트닝된 제로 비트들에 대응되는 LLR 값은 ∞ 또는 -∞가 될 수 있다. 하지만, ∞ 또는 -∞는 이론적인 값이며, 실질적으로는 수신 장치(500)에서 이용되는 LLR 값의 최대 값 또는 최소 값이 될 수 있다.
이를 위해, 수신 장치(500)는 송신 장치(400)가 제로 비트들을 패딩하기 위해 이용하였던 파라미터에 대한 정보를 기저장하고 있을 수 있다. 이에 따라, 레이트 디매칭부(520)는 LDPC 코드워드에서 제로 비트들이 패딩되었던 위치를 판단하고, 해당 위치에 쇼트닝된 제로 비트들에 대응되는 LLR 값을 삽입할 수 있다.
또한, 레이트 디매칭부(520)의 LLR 삽입부(522)에서는 LDPC 코드워드에서 펑처링된 비트들의 위치에 펑처링된 비트들에 대응되는 LLR 값을 삽입할 수 있다. 이 경우, 펑처링된 비트들에 대응되는 LLR 값은 0이 될 수 있다.
이를 위해, 수신 장치(500)는 송신 장치(400)에서 펑처링을 위해 이용한 파라미터에 대한 정보를 기저장할 수 있다. 이에 따라, LLR 삽입부(522)는 LDPC 패리티 비트들이 펑처링된 위치에 그에 대응되는 LLR 값을 삽입할 수 있다.
LLR 컴바이너(523)는 LLR 삽입부(522) 및 복조부(510)에서 출력되는 LLR 값을 컴바인(combine) 즉, 합산할 수 있다. 구체적으로, LLR 컴바이너(523)는 송신 장치(400)의 펑처링/리피티션/제로 제거부(442)에 대응되는 구성요소로, 리피티션부(442)에 대응되는 동작을 수행할 수 있다. 먼저, LLR 컴바이너(523)는 리피티션된 비트들에 대응되는 LLR 값을 다른 LLR 값과 컴바인할 수 있다. 여기에서, 다른 LLR 값은 송신 장치(400)에서 리피티션된 비트들 생성에 기초가 된 비트들 즉, 리피티션 대상으로 선택되었던 LDPC 패리티 비트들에 대한 LLR 값일 수 있다.
즉, 상술한 바와 같이, 송신 장치(400)는 LDPC 패리티 비트들에서 비트들을 선택하고, 이들을 LDPC 정보어 비트들 및 LDPC 패리티 비트들 사이에서 리피티션시켜 수신 장치(500)로 전송하게 된다.
이에 따라, LDPC 패리티 비트들에 대한 LLR 값은 리피티션된 LDPC 패리티 비트들에 대한 LLR 값 및 리피티션되지 않은 LDPC 패리티 비트들 즉, 인코딩에 의해 생성된 LDPC 패리티 비트들에 대한 LLR 값으로 구성될 수 있다. 따라서, LLR 컴바이너(523)는 동일한 LDPC 패리티 비트들에 LLR 값들을 컴바인할 수 있다.
이를 위해, 수신 장치(500)는 송신 장치(400)에서 리피티션을 위해 이용한 파라미터에 대한 정보를 기저장할 수 있다. 이에 따라, LLR 컴바이너(523)는 리피티션된 LDPC 패리티 비트들에 대한 LLR 값을 판단하고, 이를 리피티션의 기초가 된 LDPC 패리티 비트들에 대한 LLR 값과 컴바인할 수 있다.
또한, LLR 컴바이너(523)는 재전송 혹은 IR(Incremental Redundancy)된 비트들에 대응되는 LLR 값을 다른 LLR 값과 컴바인할 수 있다. 여기에서, 다른 LLR 값은 송신 장치(400)에서 재전송 혹은 IR된 비트들 생성에 기초가 된 LDPC 부호어 비트들 생성을 위해 선택되었던 비트들에 대한 LLR 값일 수 있다.
즉, 상술한 바와 같이, 송신 장치(400)는 HARQ를 위하여 NACK이 발생할 경우 부호어 비트들중 일부 비트들 혹은 모든 비트들을 수신 장치(500)로 전송할 수 있다.
이에 따라, LLR 컴바이너(523)는 재전송 혹은 IR을 통해 수신된 비트들에 대한 LLR 값을 이전 프레임을 통해 수신되는 LDPC 코드워드 비트들에 대한 LLR 값과 컴바인할 수 있다.
이를 위해, 수신 장치(500)는 송신 장치(400)에서 재전송 혹은 IR비트들 생성을 위해 이용한 파라미터에 대한 정보를 기저장할 수 있다. 이에 따라, LLR 컴바이너(523)는 재전송 혹은 IR비트들의 수에 대한 LLR 값을 판단하고, 이를 재전송 비트들의 생성에 기초가 된 LDPC 패리티 비트들에 대한 LLR 값과 컴바인할 수 있다.
디인터리버(524)는 LLR 컴바이너(523)에서 출력되는 LLR 값을 디인터리빙 할 수 있다.
구체적으로, 디인터리버부(524)는 송신 장치(400)의 인터리버(441)에 대응되는 구성요소로, 인터리버(441)에 대응되는 동작을 수행할 수 있다.
이를 위해, 수신 장치(500)는 송신 장치(100)가 인터리빙을 위해 이용하였던 파라미터에 대한 정보를 기저장하고 있을 수 있다. 이에 따라, 디인터리버(524)는 LDPC 코드워드 비트들에 대응되는 LLR 값에 대해 인터리버(441)에서 수행된 인터리빙 동작을 역으로 수행하여, LDPC 코드워드 비트들에 대응되는 LLR 값을 디인터리빙 할 수 있다.
LDPC 디코더(530)는 레이트 디매칭부(520)에서 출력되는 LLR 값에 기초하여 LDPC 디코딩을 수행할 수 있다.
구체적으로, LDPC 디코더(530)는 송신 장치(100)의 LDPC 인코더(430)에 대응되는 구성요소로, LDPC 인코더(430)에 대응되는 동작을 수행할 수 있다.
이를 위해, 수신 장치(500)는 송신 장치(400)에서 모드에 따라 LDPC 인코딩을 수행하기 위해 이용하였던 파라미터에 대한 정보를 기저장하고 있을 수 있다. 이에 따라, LDPC 디코더(530)는 모드에 따라 레이트 디매칭부(520)에서 출력되는 LLR 값에 기초하여 LDPC 디코딩을 수행할 수 있다.
예를 들어, LDPC 디코더(530)는 합곱 알고리즘(sum-product algorithm)에 기반한 반복 복호 방식에 기초하여 레이트 디매칭부(520)에서 출력되는 LLR 값에 기초하여 LDPC 디코딩을 수행하고, LDPC 디코딩에 따라 에러가 정정된 비트들을 출력할 수 있다.
제로 제거부(540)는 LDPC 디코더(2460, 2560)에서 출력되는 비트들에서 제로 비트들을 제거할 수 있다.
구체적으로, 제로 제거부(540)는 송신 장치(400)의 제로 패딩부(420)에 대응되는 구성요소로, 제로 패딩부(420)에 대응되는 동작을 수행할 수 있다.
이를 위해, 수신 장치(500)는 송신 장치(400)에서 제로 비트들을 패딩하기 위해 이용하였던 파라미터에 대한 정보를 기저장하고 있을 수 있다. 이에 따라, 제로 제거부(540)는 LDPC 디코더(530)에서 출력되는 비트들에서 제로 패딩부(420)에서 패딩되었던 제로 비트들을 제거할 수 있다.
디세그먼테이션부(550)는 송신 장치(400)의 세그먼테이션부(410)에 대응되는 구성요소로, 세그먼테이션부(410)에 대응되는 동작을 수행할 수 있다.
이를 위해, 수신 장치(500)는 송신 장치(400)가 세그먼테이션을 위해 이용하였던 파라미터에 대한 정보를 기저장하고 있을 수 있다. 이에 따라, 디세그먼테이션부(550)는 제로 제거부(540)에서 출력되는 비트들 즉, 가변 길이 입력 비트들에 대한 세그먼트들을 결합하여, 세그먼테이션 전의 비트들을 복원할 수 있다.
도 19는 본 발명의 일 실시 예에 따른 복호화 장치의 구성을 나타내는 블록도이다. 도 19에 따르면, 복호화 장치(1900)는 LDPC 디코더(1910)를 포함할 수 있다. 한편, 복호화 장치(1900)는 LDPC 부호의 부호율, 부호어 길이, 패리티 검사 행렬에 대한 정보를 기저장하기 위한 메모리(미도시)를 더 포함할 수 있으며, LDPC 디코더(1910)는 이러한 정보를 이용하여 LDPC 부호화를 수행할 수 있다. 하지만, 이는 일 예일 뿐, 해당 정보들은 송신 장치 측으로부터 제공될 수도 있다.
LDPC 디코더(1910)는 패리티 검사 행렬에 기초하여 LDPC 부호어에 대해 LDPC 복호화를 수행한다.
예를 들어, LDPC 디코더(1910)는 반복 복호 알고리즘을 통해 LDPC 부호어 비트들에 대응되는 LLR(Log Likelihood Ratio) 값을 패싱하여 LDPC 복호화를 수행하여 정보어 비트들을 생성할 수 있다.
여기에서, LLR 값은 LDPC 부호어 비트들에 대응되는 채널 값으로, 다양한 방법으로 표현될 수 있다.
예를 들어, LLR 값은 송신 측에서 채널을 통해 전송한 비트가 0일 확률과 1일 확률의 비율에 Log를 취한 값으로 나타낼 수 있다. 또한, LLR 값은 경판정에 따라 결정된 비트 값 자체가 될 수 있으며, 송신 측에서 에서 전송한 비트가 0 또는1일 확률이 속하는 구간에 따라 결정된 대표 값이 될 수도 있다.
이 경우, 송신 측은 도 18과 같은 LDPC 인코더(1810)를 이용하여 LDPC 부호어를 생성할 수 있다.
한편, LDPC 복호화 시 이용되는 패리티 검사 행렬은 도 3에서 도시한 패리티 검사 행렬과 동일한 행태일 수 있다.
이 경우, LDPC 디코더(1910)는 부호율(즉, LDPC 부호의 부호율)에 따라 서로 다르게 정의된 패리티 검사 행렬을 이용하여 LDPC 복호화를 수행할 수 있다.
한편, 상술한 바와 같이 LDPC 디코더(1910)는 반복 복호 알고리즘을 사용하여 LDPC 복호화를 수행할 수 있으며, 이 경우, LDPC 디코더(1910)는 도 20과 같은 구조로 구성될 수 있다. 다만, 반복 복호 알고리즘의 경우 이미 공지된 사항이라는 점에서, 도 20에 도시된 세부 구성 역시 일 예일 뿐이다.
도 20은 본 발명의 다른 실시 예에 따른 LDPC 디코더 구조도를 나타낸다. 도 20에 따르면, 복호화 장치(2000)는 입력 처리기(2011), 메모리(2012), 변수 노드 연산기(2013), 제어기(2014), 검사 노드 연사기(2015) 및 출력 처리기(2016)를 포함한다.
입력처리기(2011)는 입력되는 값을 저장한다. 구체적으로, 입력 처리기(2011)는 무선 채널을 통해 수신되는 수신 신호의 LLR 값을 저장할 수 있다.
제어기(2014)는 무선 채널을 통해 수신되는 수신 신호의 블록의 크기(즉, 부호어의 길이), 부호율에 대응되는 패리티 검사 행렬을 기반으로 하여 변수 노드 연산기(2013)에 입력되는 값의 개수 및 메모리(2012)에서의 주소 값, 검사 노드 연산기(2015)에 입력되는 값의 개수 및 메모리(2012)에서의 주소 값 등을 결정한다.
메모리(2012)는 변수 노드 연산기(2013)와 검사 노드 연산기(2015)의 입력 데이터 및 출력 데이터를 저장한다.
변수 노드 연산기(2013)는 제어기(2014)에서 입력 받은 입력 데이터의 주소 정보 및 입력 데이터의 개수 정보에 따라 메모리(2012)에서 데이터들을 입력 받아 변수 노드 연산을 한다. 이후, 변수 노드 연산기(2013)는 제어기(2014)에서 입력 받은 출력 데이터의 주소 정보 및 출력 데이터의 개수 정보에 기초하여 변수 노드 연산 결과들을 메모리(2012)에 저장한다. 또한, 변수 노드 연산기(2013)에서는 입력 처리기(2011)와 메모리(2012)에서 입력 받은 데이터를 기반으로 하여 변수 노드 연산 결과를 출력 처리기(2016)에 입력한다. 여기에서, 변수 노드 연산은 도 18을 기반으로 상술한바 있다.
검사 노드 연산기(2015)는 제어기(2014)에서 입력받은 입력 데이터의 주소 정보 및 입력 데이터의 개수 정보에 기초하여 메모리(2012)에서 데이터들을 입력받아 검사 노드 연산을 한다. 이후, 검사 노드 연산기(2015)는 제어기(2014)에서 입력받은 출력 데이터의 주소 정보 및 출력 데이터의 개수 정보에 기초하여 변수 노드 연산 결과들을 메모리(2012)에 저장한다.여기에서, 검사 노드 연산은 도 7a 및 7b을 기반으로 상술한바 있다.
출력 처리기(2016)는 변수 노드 연산기(2013)로부터 입력받은 데이터를 기반으로 하여 송신 측의 부호어의 정보어 비트들이 0이었는지 1이었는지 경판정한 후, 그 경판정 결과를 출력하게 되고, 출력 처리기(2016)의 출력 값이 최종적으로 복호화된 값이 되는 것이다. 도 7a 및 7b에서 하나의 변수 노드로 입력되는 모든 메시지 값(초기 메시지 값과 검사 노드로부터 입력되는 모든 메시지 값들)을 더한 값을 기반으로 경판정 할 수 있다.
도 21 및 22는 본 발명의 실시예에 따라 동작할 수 있는 송신기 및 수신기를 도시한 도면이다. 상기 송신기와 수신기는 각각 기지국 또는 단말 중 하나가 될 수 있다. 도 21에 따르면 송신기(2100)은 송수신부(2110) 및 제어부(2120)으로 구성될 수 있으며, 송수신부는 수신기와 정보, 신호, 메시지 등을 송수신하며, 제어부는 상기 송수신부가 상기 송수신 동작을 수행하도록 제어하며, 또한 본 발명의 실시예를 수행하도록 제어할 수 있다. 본 발명에 기술된 송신 장치(400)은 상기 제어부에 포함되거나 또는 그렇지 않을 수 있다. 또한 부호화 장치(1800)은 상기 제어부에 포함되거나 또는 그렇지 않을 수 있다.
도 22에 따르면 수신기(2200)은 송수신부(2210) 및 제어부(2220)으로 구성될 수 있으며, 송수신부는 송신기와 정보, 신호, 메시지 등을 송수신하며, 제어부는 상기 송수신부가 상기 송수신 동작을 수행하도록 제어하며, 또한 본 발명의 실시예를 수행하도록 제어할 수 있다. 본 발명에 기술된 수신 장치(500)는 상기 제어부에 포함되거나 또는 그렇지 않을 수 있다. 또한 복호화 장치(1900)은 상기 제어부에 포함되거나 또는 그렇지 않을 수 있다.
Claims (18)
- 통신 시스템의 송신기의 방법에 있어서,
복수의 패리티 체크 행렬 중 선택된 패리티 체크 행렬을 기반으로 전송될 정보 비트열에 LDPC (low density parity check) 코딩을 수행해 코드워드를 생성하는 단계;
복수의 RV 인덱스 중 상기 코드워드에 적용될 RV (redundancy version)의 인덱스를 확인하는 단계;
상기 확인된 RV 인덱스를 기반으로 상기 코드워드에 대한 레이트 매칭을 수행해 비트열을 생성하는 단계를 포함하며,
상기 비트열은 상기 코드워드가 복수의 시작점 중 하나의 시작점에서 시작하도록 재배열되어 생성되며,
상기 하나의 시작점은 상기 확인된 RV 인덱스 및 상기 선택된 패리티 체크 행렬에 해당하는 패리티 체크 행렬 그룹에 기반해 결정되는 것을 특징으로 하는 방법. - 제1항에 있어서,
상기 복수의 시작점은 각각 상기 코드워드의 특정 비트에 해당하는 것을 특징으로 하는 방법. - 제1항에 있어서,
상기 하나의 시작점의 인덱스는 상기 선택된 패리티 체크 행렬을 구성하는 행렬의 크기인 Z의 배수인 것을 특징으로 하는 방법. - 제1항에 있어서,
상기 복수의 시작점 각각은 상기 복수의 RV 인덱스 중 하나에 상응하며, 각 인접하는 시작점 사이의 간격은 균일하지 않은 것을 특징으로 하는 방법. - 제1항에 있어서,
상기 복수의 RV 인덱스의 순서는 상기 선택된 패리티 체크 행렬에 해당하는 상기 패리티 체크 행렬 그룹 또는 상기 전송될 정보 비트열의 최초 전송의 코드 레이트 중 적어도 하나를 기반으로 결정되는 것을 특징으로 하는 방법. - 통신 시스템의 수신기의 방법에 있어서,
수신된 신호에 기반해 송신기에 의해 전송된 비트열에 해당하는 복수의 값을 확인하는 단계;
복수의 RV (redundancy version) 중 적용될 RV 인덱스를 확인하는 단계;
상기 확인된 RV 인덱스를 기반으로 상기 복수의 값에 대한 디-레이트 매칭을 수행하는 단계; 및
복수의 패리티 체크 행렬 중 선택된 패리티 체크 행렬을 기반으로 디-레이트 매칭된 복수의 값에 LDPC (low parity check matrix) 디코딩을 수행해 정보 비트열을 확인하는 단계를 포함하고,
상기 복수의 값은 복수의 시작점 중 하나의 시작점에서 시작하며, 상기 하나의 시작점은 상기 확인된 RV 인덱스 및 상기 선택된 패리티 체크 행렬에 해당하는 패리티 체크 행렬 그룹에 기반하는 것을 특징으로 하는 방법. - 제6항에 있어서,
상기 하나의 시작점의 인덱스는 상기 선택된 패리티 체크 행렬을 구성하는 행렬의 크기인 Z의 배수인 것을 특징으로 하는 방법. - 제6항에 있어서,
상기 복수의 시작점 각각은 상기 복수의 RV 인덱스 중 하나에 상응하며, 각 인접하는 시작점 사이의 간격은 균일하지 않은 것을 특징으로 하는 방법. - 제6항에 있어서,
상기 복수의 RV 인덱스의 순서는 상기 선택된 패리티 체크 행렬에 해당하는 상기 패리티 체크 행렬 그룹 또는 상기 송신기에 의해 전송된 상기 비트열의 최초 전송의 코드 레이트 중 적어도 하나를 기반으로 결정되는 것을 특징으로 하는 방법. - 통신 시스템의 송신기에 있어서,
송수신부; 및
복수의 패리티 체크 행렬 중 선택된 패리티 체크 행렬을 기반으로 전송될 정보 비트열에 LDPC (low density parity check) 코딩을 수행해 코드워드를 생성하고,
복수의 RV 인덱스 중 상기 코드워드에 적용될 RV (redundancy version)의 인덱스를 확인하고,
상기 확인된 RV 인덱스를 기반으로 상기 코드워드에 대한 레이트 매칭을 수행해 비트열을 생성하도록 제어하는 제어부를 포함하며,
상기 비트열은 상기 코드워드가 복수의 시작점 중 하나의 시작점에서 시작하도록 재배열되어 생성되며,
상기 하나의 시작점은 상기 확인된 RV 인덱스 및 상기 선택된 패리티 체크 행렬에 해당하는 패리티 체크 행렬 그룹에 기반해 결정되는 것을 특징으로 하는 송신기. - 제10항에 있어서,
상기 복수의 시작점은 각각 상기 코드워드의 특정 비트에 해당하는 것을 특징으로 하는 송신기. - 제10항에 있어서,
상기 하나의 시작점의 인덱스는 상기 선택된 패리티 체크 행렬을 구성하는 행렬의 크기인 Z의 배수인 것을 특징으로 하는 송신기. - 제10항에 있어서,
상기 복수의 시작점 각각은 상기 복수의 RV 인덱스 중 하나에 상응하며, 각 인접하는 시작점 사이의 간격은 균일하지 않은 것을 특징으로 하는 송신기. - 제10항에 있어서,
상기 복수의 RV 인덱스의 순서는 상기 선택된 패리티 체크 행렬에 해당하는 상기 패리티 체크 행렬 그룹 또는 상기 전송될 정보 비트열의 최초 전송의 코드 레이트 중 적어도 하나를 기반으로 결정되는 것을 특징으로 하는 송신기. - 통신 시스템의 수신기에 있어서,
송수신부; 및
수신된 신호에 기반해 송신기에 의해 전송된 비트에 해당하는 복수의 값을 확인하고,
복수의 RV (redundancy version) 중 적용될 RV 인덱스를 확인하고,
상기 확인된 RV 인덱스를 기반으로 상기 복수의 값에 대한 디-레이트 매칭을 수행하고,
복수의 패리티 체크 행렬 중 선택된 패리티 체크 행렬을 기반으로 디-레이트 매칭된 복수의 값에 LDPC (low parity check matrix) 디코딩을 수행해 정보 비트열을 확인하도록 제어하는 제어부를 포함하고,
상기 복수의 값은 복수의 시작점 중 하나의 시작점에서 시작하며, 상기 하나의 시작점은 상기 확인된 RV 인덱스 및 상기 선택된 패리티 체크 행렬에 해당하는 패리티 체크 행렬 그룹에 기반하는 것을 특징으로 하는 수신기. - 제15항에 있어서,
상기 하나의 시작점의 인덱스는 상기 선택된 패리티 체크 행렬을 구성하는 행렬의 크기인 Z의 배수인 것을 특징으로 하는 수신기. - 제15항에 있어서,
상기 복수의 시작점 각각은 상기 복수의 RV 인덱스 중 하나에 상응하며, 각 인접하는 시작점 사이의 간격은 균일하지 않은 것을 특징으로 하는 수신기. - 제15항에 있어서, 상기 복수의 RV 인덱스의 순서는 상기 선택된 패리티 체크 행렬에 해당하는 상기 패리티 체크 행렬 그룹 또는 상기 송신기에 의해 전송된 상기 비트열의 최초 전송의 코드 레이트 중 적어도 하나를 기반으로 결정되는 것을 특징으로 하는 수신기.
Priority Applications (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111612568.5A CN114553368B (zh) | 2017-03-22 | 2018-03-21 | 在通信或广播系统中使用harq传输的装置和方法 |
PCT/KR2018/003311 WO2018174569A1 (en) | 2017-03-22 | 2018-03-21 | Apparatus and method of transmission using harq in communication or broadcasting system |
CN201880020044.7A CN110476381B (zh) | 2017-03-22 | 2018-03-21 | 在通信或广播系统中使用harq传输的装置和方法 |
US15/933,220 US10554337B2 (en) | 2017-03-22 | 2018-03-22 | Apparatus and method of transmission using HARQ in communication or broadcasting system |
US16/752,134 US11018805B2 (en) | 2017-03-22 | 2020-01-24 | Apparatus and method of transmission using HARQ in communication or broadcasting system |
US17/303,223 US11677497B2 (en) | 2017-03-22 | 2021-05-24 | Apparatus and method of transmission using HARQ in communication or broadcasting system |
US18/332,452 US12068851B2 (en) | 2017-03-22 | 2023-06-09 | Apparatus and method of transmission using HARQ in communication or broadcasting system |
Applications Claiming Priority (8)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR20170036021 | 2017-03-22 | ||
KR1020170036021 | 2017-03-22 | ||
KR20170053899 | 2017-04-26 | ||
KR1020170053899 | 2017-04-26 | ||
KR1020170101937A KR20180107692A (ko) | 2017-03-22 | 2017-08-10 | 통신 또는 방송 시스템에서 harq 적용시 전송 방법 및 장치 |
KR1020170101937 | 2017-08-10 | ||
KR1020170116133 | 2017-09-11 | ||
KR1020170116133A KR20180107701A (ko) | 2017-03-22 | 2017-09-11 | 통신 또는 방송 시스템에서 harq 적용시 전송 방법 및 장치 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20180107703A KR20180107703A (ko) | 2018-10-02 |
KR102509968B1 true KR102509968B1 (ko) | 2023-03-14 |
Family
ID=63863952
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020170128254A KR102509968B1 (ko) | 2017-03-22 | 2017-09-29 | 통신 또는 방송 시스템에서 harq 적용시 전송 방법 및 장치 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102509968B1 (ko) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20220231797A1 (en) * | 2019-04-29 | 2022-07-21 | Lg Electronics Inc. | Nack frame for harq operation |
KR20220000707A (ko) * | 2020-06-26 | 2022-01-04 | 삼성전자주식회사 | 통신 시스템에서 극 부호의 부호화 또는 복호화를 위한 장치 및 방법 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110161772A1 (en) * | 2008-09-02 | 2011-06-30 | Panasonic Corporation | Wireless communication device and wireless communication method |
-
2017
- 2017-09-29 KR KR1020170128254A patent/KR102509968B1/ko active IP Right Grant
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110161772A1 (en) * | 2008-09-02 | 2011-06-30 | Panasonic Corporation | Wireless communication device and wireless communication method |
Non-Patent Citations (2)
Title |
---|
3GPP R1-1700384* |
3GPP R1-1703365* |
Also Published As
Publication number | Publication date |
---|---|
KR20180107703A (ko) | 2018-10-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US12068851B2 (en) | Apparatus and method of transmission using HARQ in communication or broadcasting system | |
US10903936B2 (en) | Method and apparatus for channel encoding/decoding in a communication or broadcasting system | |
KR102694927B1 (ko) | 통신 또는 방송 시스템에서 채널 부호화/복호화 방법 및 장치 | |
US11575465B2 (en) | Method and apparatus for channel encoding/decoding in a communication or broadcasting system | |
CN111357218B (zh) | 用于在通信或广播系统中对信道进行编码和解码的方法和设备 | |
KR102678457B1 (ko) | 통신 또는 방송 시스템에서 채널 부호화/복호화 방법 및 장치 | |
CN110476381B (zh) | 在通信或广播系统中使用harq传输的装置和方法 | |
KR20210030848A (ko) | 통신 또는 방송 시스템에서 데이터 복호화 방법 및 장치 | |
KR102509968B1 (ko) | 통신 또는 방송 시스템에서 harq 적용시 전송 방법 및 장치 | |
US20230253984A1 (en) | Method and apparatus for data decoding in communication or broadcasting system | |
KR20220130645A (ko) | 통신 또는 방송 시스템에서 채널 부호화/복호화 방법 및 장치 | |
CN110663190B (zh) | 在通信或广播系统中进行信道编码和解码的方法和装置 | |
KR20190017600A (ko) | 통신시스템에서 효율적인 데이터 송수신 방법 및 장치 | |
KR20180107701A (ko) | 통신 또는 방송 시스템에서 harq 적용시 전송 방법 및 장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |