KR20230037264A - 통신 시스템에서 신호 송수신 방법 및 장치 - Google Patents
통신 시스템에서 신호 송수신 방법 및 장치 Download PDFInfo
- Publication number
- KR20230037264A KR20230037264A KR1020210120393A KR20210120393A KR20230037264A KR 20230037264 A KR20230037264 A KR 20230037264A KR 1020210120393 A KR1020210120393 A KR 1020210120393A KR 20210120393 A KR20210120393 A KR 20210120393A KR 20230037264 A KR20230037264 A KR 20230037264A
- Authority
- KR
- South Korea
- Prior art keywords
- sequence
- length
- bit sequence
- bit
- transmission
- Prior art date
Links
- 238000004891 communication Methods 0.000 title claims abstract description 114
- 238000000034 method Methods 0.000 title claims abstract description 81
- 230000005540 biological transmission Effects 0.000 claims description 75
- 238000005516 engineering process Methods 0.000 abstract description 18
- 239000011159 matrix material Substances 0.000 description 76
- 230000008569 process Effects 0.000 description 44
- 238000010586 diagram Methods 0.000 description 22
- 230000006870 function Effects 0.000 description 17
- 238000012545 processing Methods 0.000 description 16
- 230000015654 memory Effects 0.000 description 15
- 125000004122 cyclic group Chemical group 0.000 description 12
- 238000006467 substitution reaction Methods 0.000 description 8
- 239000013598 vector Substances 0.000 description 8
- 230000008859 change Effects 0.000 description 6
- 238000004590 computer program Methods 0.000 description 6
- 238000012805 post-processing Methods 0.000 description 5
- 238000007781 pre-processing Methods 0.000 description 5
- BQCADISMDOOEFD-UHFFFAOYSA-N Silver Chemical compound [Ag] BQCADISMDOOEFD-UHFFFAOYSA-N 0.000 description 3
- 238000012937 correction Methods 0.000 description 3
- 229910052709 silver Inorganic materials 0.000 description 3
- 239000004332 silver Substances 0.000 description 3
- 101000741965 Homo sapiens Inactive tyrosine-protein kinase PRAG1 Proteins 0.000 description 2
- 102100038659 Inactive tyrosine-protein kinase PRAG1 Human genes 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000010363 phase shift Effects 0.000 description 2
- 208000011580 syndromic disease Diseases 0.000 description 2
- 210000001015 abdomen Anatomy 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000010267 cellular communication Effects 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000005562 fading Methods 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 230000007257 malfunction Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
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/0001—Systems modifying transmission characteristics according to link quality, e.g. power backoff
- H04L1/0006—Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the transmission format
- H04L1/0007—Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the transmission format by modifying the frame length
-
- 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
-
- 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
- H04L1/0002—Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the transmission rate
- H04L1/0003—Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the transmission rate by switching between different modulation schemes
-
- 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
- H04L1/0009—Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the channel coding
- H04L1/0013—Rate matching, e.g. puncturing or repetition of code symbols
-
- 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/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/0071—Use of interleaving
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/34—Flow control; Congestion control ensuring sequence integrity, e.g. using sequence numbers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/36—Flow control; Congestion control by determining packet size, e.g. maximum transfer unit [MTU]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Quality & Reliability (AREA)
- Error Detection And Correction (AREA)
Abstract
본 개시는 4G 시스템 이후 보다 높은 데이터 전송률을 지원하기 위한 5G 통신 시스템을 IoT 기술과 융합하는 통신 기법 및 그 시스템에 관한 것이다. 본 개시는 5G 통신 기술 및 IoT 관련 기술을 기반으로 지능형 서비스 (예를 들어, 스마트 홈, 스마트 빌딩, 스마트 시티, 스마트 카 혹은 커넥티드 카, 헬스 케어, 디지털 교육, 소매업, 보안 및 안전 관련 서비스 등)에 적용될 수 있다. 본 발명의 일 실시 예에 따른 통신 시스템의 수신 장치에 의해 수행되는 방법은, 수신된 신호를 기반으로 제1 시퀀스를 획득하는 단계; 상기 제1 시퀀스의 길이를 운용 단위와 비교하는 단계; 상기 제1 시퀀스의 길이가 상기 운용 단위보다 작은 경우, 상기 제1 시퀀스를 기반으로 제2 시퀀스를 생성하는 단계; 및 상기 제2 시퀀스를 기반으로 복호화를 수행하는 단계를 포함하고, 상기 제2 시퀀스의 길이는 상기 운용 단위보다 크거나 같은 것을 특징으로 할 수 있다.
Description
본 발명은 데이터를 전송하거나, 저장하는 과정에서 잡음, 간섭 등의 다양한 원인으로 인해 오류 및 소실이 발생하거나 발생할 여지가 있을 때, 이를 정정, 복원하는 오류-정정 부호 (error-correcting codes) 에 관한 것이다. 구체적으로 본 발명은 저밀도 패리티-검사 (low-density parity-check, LDPC) 부호의 부호화 및 복호화에 관련된 것으로, 이동통신 시스템 및 방송 시스템에서 신호를 부호화하여 전송하는 방법, 절차 장치 및 전송된 신호를 수신하여 복호를 하는 방법, 절차, 및 장치를 효율적으로 구현하는 것에 관한 것이다.
4G(4th generation) 통신 시스템 상용화 이후 증가 추세에 있는 무선 데이터 트래픽 수요를 충족시키기 위해, 개선된 5G(5th generation) 통신 시스템 또는 pre-5G 통신 시스템을 개발하기 위한 노력이 이루어지고 있다. 이러한 이유로, 5G 통신 시스템 또는 pre-5G 통신 시스템은 4G 네트워크 이후(beyond 4G network) 통신 시스템 또는 LTE(long term evolution) 시스템 이후(post LTE) 시스템이라 불리어지고 있다.
높은 데이터 전송률을 달성하기 위해, 5G 통신 시스템은 초고주파(mmWave) 대역(예를 들어, 28기가(28GHz) 또는 60기가(60GHz) 대역과 같은)에서의 구현이 고려되고 있다. 초고주파 대역에서의 전파의 경로손실 완화 및 전파의 전달 거리를 증가시키기 위해, 5G 통신 시스템에서는 빔포밍(beamforming), 거대 배열 다중 입출력(massive multiple-input multiple-output, massive MIMO), 전차원 다중입출력(full dimensional MIMO, FD-MIMO), 어레이 안테나(array antenna), 아날로그 빔형성(analog beamforming), 및 대규모 안테나(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 frequency shift keying and quadrature amplitude modulation) 및 SWSC(sliding window superposition coding)과, 진보된 접속 기술인 FBMC(filter bank multi carrier), NOMA(non-orthogonal multiple access), 및 SCMA(sparse code multiple access) 등이 개발되고 있다.
한편, 인터넷은 인간이 정보를 생성하고 소비하는 인간 중심의 연결 망에서, 사물 등 분산된 구성 요소들 간에 정보를 주고 받아 처리하는 IoT(Internet of Things, 사물인터넷) 망으로 진화하고 있다. 클라우드 서버 등과의 연결을 통한 빅데이터(Big data) 처리 기술 등이 IoT 기술에 결합된 IoE (Internet of Everything) 기술도 대두되고 있다. IoT를 구현하기 위해서, 센싱 기술, 유무선 통신 및 네트워크 인프라, 서비스 인터페이스 기술, 및 보안 기술과 같은 기술 요소 들이 요구되어, 최근에는 사물간의 연결을 위한 센서 네트워크(sensor network), 사물 통신(Machine to Machine, M2M), MTC(Machine Type Communication)등의 기술이 연구되고 있다. IoT 환경에서는 연결된 사물들에서 생성된 데이터를 수집, 분석하여 인간의 삶에 새로운 가치를 창출하는 지능형 IT(Internet Technology) 서비스가 제공될 수 있다. IoT는 기존의 IT(information technology)기술과 다양한 산업 간의 융합 및 복합을 통하여 스마트홈, 스마트 빌딩, 스마트 시티, 스마트 카 혹은 커넥티드 카, 스마트 그리드, 헬스 케어, 스마트 가전, 첨단의료서비스 등의 분야에 응용될 수 있다.
이에, 5G 통신 시스템을 IoT 망에 적용하기 위한 다양한 시도들이 이루어지고 있다. 예를 들어, 센서 네트워크(sensor network), 사물 통신(Machine to Machine, M2M), MTC(Machine Type Communication)등의 기술이 5G 통신 기술이 빔 포밍, MIMO, 및 어레이 안테나 등의 기법에 의해 구현되고 있는 것이다. 앞서 설명한 빅데이터 처리 기술로써 클라우드 무선 액세스 네트워크(cloud RAN)가 적용되는 것도 5G 기술과 IoT 기술 융합의 일 예라고 할 수 있을 것이다.
일반적으로 통신 및 방송 시스템에서 송신기와 수신기 사이에 데이터를 송신 및 수신하는 경우, 통신 채널에 존재하는 잡음으로 인해 데이터 오류가 발생할 수 있다. 이처럼 통신 채널에 의해 발생된 오류를 수신기에서 정정할 수 있도록 설계된 부호화 방식으로 오류 검출 부호 (error detection codes) 및 오류 정정 부호 (error correcting codes, ECC) 방식이 존재한다. 특히 송수신기 사이의 통신 상에 사용하는 오류 정정 부호를 일반적으로 채널 부호화 (channel coding), 혹은 forward error correction (FEC) 이라고도 한다. 송신기는 전송하고자 하는 데이터 비트 시퀀스를 부호화 (encoding) 하여 보다 긴 길이의 부호어 (codeword) 비트 시퀀스를 생성하여 전송하고, 수신기는 오류 혹은 잡음이 섞인 부호어 비트 시퀀스를 복호 (decoding) 하여 오류/잡읍을 극복하고 데이트 비트 시퀀스를 추정한다.
통신 및 방송 시스템에서는 다양한 채널 코딩 기법들이 사용되고 있다. 오늘날 사용되는 채널 코딩 방법으로는 컨볼루션 부호 (convolutional code), 터보 부호 (turbo code), 저밀도 패리티 검사 부호 (low-density parity-check coding, LDPC code), 및 극부호 (polar code) 등이 있다. 이러한 채널 코딩 기법들 중 LDPC 부호는 부호의 길이가 증가함에 따라 다른 채널 코딩 기법들 대비 우수한 오류 정정 성능을 보인다. 또한 LDPC 부호는 부호 구조와 이에 따른 신뢰-전파 (belief-propagation, BP) 복호 동작이 병렬화에 적합하여 고-처리율 (high-throughput) 을 요구하는 응용 시스템에서 사용하기 매우 적합하다. 이러한 장점 때문에 LDPC codes는 IEEE 802.11n/ad Wi-Fi, DVB-T2/C2/S2, ATSC 3.0 등 다양한 통신 및 방송 시스템에 사용되고 있으며, 특히 최근에는 5G 이동통신 시스템인 3GPP New Radio (NR) 시스템에도 채택되어 사용되고 있다. 본 발명은 LDPC 부호로 신호를 효과적으로 부호화하는 방법 및 LDPC 부호로 부호화된 신호를 효과적으로 복호하는 것에 관한 것이다.
본 발명은 통신 또는 방송 시스템에서 저밀도 패리티-검사 (Low-Density Parity-Check, LDPC) 부호로 신호를 효율적으로 부호화하는 장치 및 방법, 그리고 상기 LDPC 부호로 부호화된 신호를 효율적으로 복호화하기 위한 장치 및 방법을 제공한다. LDPC 부호를 이용한 하이브리드 자동 재전송 및 요구 (Hybrid Automatic Repeat and reQuest, HARQ) 동작 수행 시, 특정 시점에 전송되는 추가 리던던트 (incremental redundancy) 비트의 크기가 LDPC 부호화기 및 복호기가 처리하는 최소 단위보다 작은 경우 부호화 또는 복호 동작이 멈추거나 정상적인 결과를 산출하지 않을 수 있다. 이러한 문제는 특히 고정된 구조의 하드웨어로 구현된 LDPC 부호화기 및 복호기에서 발생할 수 있는데, 상기와 같은 문제로 LDPC 부호화기 및 복호기가 정상 동작하지 않으면 시스템 전반적인 성능 및 신뢰도가 낮아지기 때문에, 이러한 문제는 해결되어야 한다.
상기와 같은 문제점을 해결하기 위한 본 발명의 일 실시 예에 따른 통신 시스템의 수신 장치에 의해 수행되는 방법은, 수신된 신호를 기반으로 제1 시퀀스를 획득하는 단계; 상기 제1 시퀀스의 길이를 운용 단위와 비교하는 단계; 상기 제1 시퀀스의 길이가 상기 운용 단위보다 작은 경우, 상기 제1 시퀀스를 기반으로 제2 시퀀스를 생성하는 단계; 및 상기 제2 시퀀스를 기반으로 복호화를 수행하는 단계를 포함하고, 상기 제2 시퀀스의 길이는 상기 운용 단위보다 크거나 같은 것을 특징으로 할 수 있다.
또한, 본 발명의 일 실시 예에 따른 통신 시스템의 수신 장치는, 송수신부; 및 수신된 신호를 기반으로 제1 시퀀스를 획득하고, 상기 제1 시퀀스의 길이를 운용 단위와 비교하고, 상기 제1 시퀀스의 길이가 상기 운용 단위보다 작은 경우, 상기 제1 시퀀스를 기반으로 제2 시퀀스를 생성하고, 상기 제2 시퀀스를 기반으로 복호화를 수행하도록 구성되는 제어부를 포함하고,상기 제2 시퀀스의 길이는 상기 운용 단위보다 크거나 같은 것을 특징으로 할 수 있다.
또한, 본 발명의 일 실시 예에 따른 통신 시스템의 송신 장치에 의해 수행되는 방법은, 송신을 수행하기 위한 비트 시퀀스의 길이를 확인하는 단계; 상기 송신을 수행하기 위한 비트 시퀀스의 길이와 운용 단위를 비교하는 단계; 상기 송신을 수행하기 위한 비트 시퀀스의 길이가 상기 운용 단위보다 작은 경우, 상기 운용 단위보다 크거나 같은 길이를 가지는 제2 비트 시퀀스를 생성하는 단계; 상기 제2 비트 시퀀스를 기초로 상기 송신을 수행하기 위한 비트 시퀀스의 길이를 가지는 제1 비트 시퀀스를 생성하는 단계; 및 상기 제1 비트 시퀀스를 기반으로 신호를 송신하는 단계를 포함하는 것을 특징으로 할 수 있다.
또한, 본 발명의 일 실시 예에 따른 통신 시스템의 송신 장치는, 송수신부; 및 송신을 수행하기 위한 비트 시퀀스의 길이를 확인하고, 상기 송신을 수행하기 위한 비트 시퀀스의 길이와 운용 단위를 비교하고, 상기 송신을 수행하기 위한 비트 시퀀스의 길이가 상기 운용 단위보다 작은 경우, 상기 운용 단위보다 크거나 같은 길이를 가지는 제2 비트 시퀀스를 생성하고, 상기 제2 비트 시퀀스를 기초로 상기 송신을 수행하기 위한 비트 시퀀스의 길이를 가지는 제1 비트 시퀀스를 생성하고, 상기 제1 비트 시퀀스를 기반으로 신호를 송신하도록 구성되는 제어부를 포함하는 것을 특징으로 할 수 있다.
본 개시의 다양한 실시 예들에 따른 장치 및 방법은, 부호화기 및 복호기 동작을 위해 결정된 최소 운용 단위보다 작은 입력 시퀀스 (비트 시퀀스, LLR 시퀀스 등) 를 정상적으로 처리하여, 부호화기 및 복호기가 멈추거나 정확하지 않게 동작하는 것을 방지한다. 이에 따라 본 발명의 LDPC 부호의 부호화기 및 복호기를 포함하는 송수신기를 안정적으로 운용하고, 시스템의 신뢰도를 향상시킨다.
도 1은 본 개시의 다양한 실시 예들에 따른 무선 통신 시스템을 도시한 도면이다.
도 2(a)는 본 개시의 다양한 실시 예들에 따른 무선 통신 시스템에서 통신을 수행하는 수신 장치의 구성의 예를 도시한 도면이다.
도 2(b)는 본 개시의 다양한 실시 예들에 따른 무선 통신 시스템에서 통신을 수행하는 송신 장치의 구성의 예를 도시한 도면이다.
도 3은 LDPC 부호의 패리티 검사 행렬의 일 실시 예를 나타내는 도면이다.
도 4는 도 3의 패리티 검사 행렬에 대응하는 이진 그래프를 나타내는 도면이다.
도 5는 QC-LDPC 부호의 패리티 검사 행렬의 일 예시를 나타낸 도면이다.
도 6은 본 발명의 일 실시 예에서 조건에 따라 사전 처리 (preprocessing)를 포함하여 복호를 수행하는 과정을 나타내는 도면이다.
도 7은 본 발명의 일 실시 예에 따라 일련의 사전 처리 후 복호를 수행하는 과정을 나타내는 순서도이다.
도 8은 본 발명의 일 실시 예에서 수행하는 인터리빙 과정에서 구성되는 직사각 버퍼 (rectangular buffer)를 나타내는 도면이다.
도 9은 본 발명의 일 실시 예에 따라 정해진 길이를 바탕으로 일련의 사전 처리 후 복호를 수행하는 과정을 나타내는 순서도이다.
도 10은 본 발명의 일 실시 예에서 조건에 따라 사후 처리를 포함하여 부호를 수행하는 과정을 나타내는 도면이다.
도 11은 본 발명의 일 실시 예에 따른 사후 처리 동작의 과정을 나타내는 도면이다.
도 2(a)는 본 개시의 다양한 실시 예들에 따른 무선 통신 시스템에서 통신을 수행하는 수신 장치의 구성의 예를 도시한 도면이다.
도 2(b)는 본 개시의 다양한 실시 예들에 따른 무선 통신 시스템에서 통신을 수행하는 송신 장치의 구성의 예를 도시한 도면이다.
도 3은 LDPC 부호의 패리티 검사 행렬의 일 실시 예를 나타내는 도면이다.
도 4는 도 3의 패리티 검사 행렬에 대응하는 이진 그래프를 나타내는 도면이다.
도 5는 QC-LDPC 부호의 패리티 검사 행렬의 일 예시를 나타낸 도면이다.
도 6은 본 발명의 일 실시 예에서 조건에 따라 사전 처리 (preprocessing)를 포함하여 복호를 수행하는 과정을 나타내는 도면이다.
도 7은 본 발명의 일 실시 예에 따라 일련의 사전 처리 후 복호를 수행하는 과정을 나타내는 순서도이다.
도 8은 본 발명의 일 실시 예에서 수행하는 인터리빙 과정에서 구성되는 직사각 버퍼 (rectangular buffer)를 나타내는 도면이다.
도 9은 본 발명의 일 실시 예에 따라 정해진 길이를 바탕으로 일련의 사전 처리 후 복호를 수행하는 과정을 나타내는 순서도이다.
도 10은 본 발명의 일 실시 예에서 조건에 따라 사후 처리를 포함하여 부호를 수행하는 과정을 나타내는 도면이다.
도 11은 본 발명의 일 실시 예에 따른 사후 처리 동작의 과정을 나타내는 도면이다.
이하, 본 발명의 실시 예를 첨부한 도면과 함께 상세히 설명한다.
실시 예를 설명함에 있어서 본 발명이 속하는 기술 분야에 익히 알려져 있고 본 발명과 직접적으로 관련이 없는 기술 내용에 대해서는 설명을 생략한다. 이는 불필요한 설명을 생략함으로써 본 발명의 요지를 흐리지 않고 더욱 명확히 전달하기 위함이다.
마찬가지 이유로 첨부 도면에 있어서 일부 구성요소는 강조되거나 생략되거나 개략적으로 도시되었다. 또한, 각 구성요소의 크기는 실제 크기를 전적으로 반영하는 것이 아니다. 각 도면에서 동일한 또는 대응한 구성요소에는 동일한 참조 번호를 부여하였다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시 예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시 예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시 예들을 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
이 때, 처리 흐름도 도면들의 각 블록과 흐름도 도면들의 조합들은 컴퓨터 프로그램 인스트럭션들에 의해 수행될 수 있음을 이해할 수 있을 것이다. 이들 컴퓨터 프로그램 인스트럭션들은 범용 컴퓨터, 특수용 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서에 탑재될 수 있으므로, 컴퓨터 또한 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서를 통해 수행되는 그 인스트럭션들이 흐름도 블록(들)에서 설명된 기능들을 수행하는 수단을 생성하게 된다. 이들 컴퓨터 프로그램 인스트럭션들은 특정 방식으로 기능을 구현하기 위해 컴퓨터 또는 기타 프로그램 가능 데이터 프로세싱 장비를 지향할 수 있는 컴퓨터 이용 가능 또는 컴퓨터 판독 가능 메모리에 저장되는 것도 가능하므로, 그 컴퓨터 이용 가능 또는 컴퓨터 판독 가능 메모리에 저장된 인스트럭션들은 흐름도 블록(들)에서 설명된 기능을 수행하는 인스트럭션 수단을 내포하는 제조 품목을 생산하는 것도 가능하다. 컴퓨터 프로그램 인스트럭션들은 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에 탑재되는 것도 가능하므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에서 일련의 동작 단계들이 수행되어 컴퓨터로 실행되는 프로세스를 생성해서 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 수행하는 인스트럭션들은 흐름도 블록(들)에서 설명된 기능들을 실행하기 위한 단계들을 제공하는 것도 가능하다.
또한, 각 블록은 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또, 몇 가지 대체 실행 예들에서는 블록들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들은 사실 실질적으로 동시에 수행되는 것도 가능하고 또는 그 블록들이 때때로 해당하는 기능에 따라 역순으로 수행되는 것도 가능하다.
이 때, 본 실시 예에서 사용되는 '~부'라는 용어는 소프트웨어 또는 FPGA 또는 ASIC과 같은 하드웨어 구성요소를 의미하며, '~부'는 어떤 역할들을 수행한다. 그렇지만 '~부'는 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. '~부'는 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 '~부'는 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들, 및 변수들을 포함한다. 구성요소들과 '~부'들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 '~부'들로 결합되거나 추가적인 구성요소들과 '~부'들로 더 분리될 수 있다. 뿐만 아니라, 구성 요소들 및 '~부'들은 디바이스 또는 보안 멀티미디어카드 내의 하나 또는 그 이상의 CPU들을 재생시키도록 구현될 수 있다.
이하, 첨부된 도면들을 참조하여 다양한 실시 예들을 상세히 설명한다, 이때, 첨부된 도면들에서 동일한 구성 요소는 가능한 동일한 부호로 나타내고 있음에 유의해야 한다. 또한 이하에 첨부된 본 발명의 도면은 본 발명의 이해를 돕기 위해 제공되는 것으로, 본 발명의 도면에 예시된 형태 또는 배치 등에 본 발명이 제한되지 않음에 유의하여야 한다. 또한 본 발명의 요지를 흐리게 할 수 있는 공지 기능 및 구성에 대한 자세한 설명의 생략할 것이다. 하기의 설명에서는 본 발명의 다양한 실시 예들에 따른 동작을 이해하는데 필요한 부분만 설명되며, 그 이외 부분의 설명은 본 발명의 요지를 흩트리지 않도록 생략될 것이라는 것을 유의하여야 한다.
도 1은 본 개시의 다양한 실시 예들에 따른 무선 통신 시스템을 도시한 도면이다.
도 1을 참고하면, 본 개시의 실시 예에 따른 무선 통신 시스템에서 무선 채널을 이용하는 장치 (device) 또는 노드 (node)들의 일부로서, 송신단(또는 송신기, 송신 장치) 110 및 수신단(또는 수신기, 수신 장치) 120을 포함할 수 있다. 도 1은 하나의 송신단 110 및 하나의 수신단 120을 도시하나, 이는 예시를 위한 것일 뿐 복수의 송신단 또는 복수의 수신단을 포함하는 통신 시스템에 대해서도 본 개시가 적용될 수 있다. 또한, 본 개시에서 설명의 편의를 위하여 송신단 110과 수신단 120이 별개의 개체인 것으로 설명하나, 송신단 110과 수신단 120의 기능은 서로 바뀔 수 있다. 즉 상황에 따라 도 1에 도시된 송신단이 수신단으로서 기능할수도 있고, 수신단이 송신단으로서 기능하는 것도 가능하다. 예를 들어, 셀룰러 통신 시스템의 상향링크의 경우, 송신단 110은 단말, 수신단 120은 기지국이 될 수 있다. 하향링크의 경우, 송신단 110은 기지국, 수신단 120이 단말이 될 수 있다. 또는 사이드링크의 경우 송신단 110 및 수신단 120은 모두 단말이 될 수도 있다.
다양한 실시 예들에서, 송신단 110은 LDPC 부호에 기반하여 정보 비트들을 부호화함으로써 부호어를 생성하고, 수신단 120은 수신된 부호어의 신호를 LDPC 부호에 기반하여 복호할 수 있다. 예를 들어, 수신단 120은 본 발명에 의한 LDPC 복호 방식을 이용할 수 있고, 복호 결과가 정상적인지 판단하기 위해 신드롬 검사 (syndrome check) 를 수행할 수 있다. 송신단 110 및 수신단 120은 서로 알고 있는 패리티 검사 행렬을 이용하여 LDPC 부호화 및 복호화를 수행할 수 있다. 예를 들어, 패리티 검사 행렬은 5G NR 규격, 예를 들어 TS 38.212 등에서 정의하는 패리티 검사 행렬을 포함할 수 있다.
도 2(a) 및 도 2(b)는 본 개시의 다양한 실시 예들에 따른 무선 통신 시스템에서 통신을 수행하는 장치의 구성의 예를 도시한다. 이하 사용되는 '...부', '...기' 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어, 또는, 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.
도 2(a)는 본 개시의 다양한 실시 예들에 따른 무선 통신 시스템에서 통신을 수행하는 수신 장치의 구성의 예를 도시한 도면이다.
도 2(a)를 참고하면, 수신 장치 120 는 통신부 210, 저장부 220, 제어부 230를 포함할 수 있다.
통신부 210 은 무선 채널을 통해 신호를 송수신하기 위한 기능들을 수행할 수 있다. 예를 들어, 통신부 210 은 시스템의 물리 계층 규격에 따라 기저대역 신호 및 비트열 간 변환 기능을 수행할 수 있다. 예를 들어, 데이터 송신 시, 통신부 210은 송신 비트열을 부호화 및 변조함으로써 복소 심벌들을 생성할 수 있다. 또한, 데이터 수신 시, 통신부 210은 기저대역 신호를 복조 및 복호화를 통해 수신 비트열을 복원할 수 있다. 또한, 통신부 210은 기저대역 신호를 RF (radio frequency) 대역 신호로 상향변환한 후 안테나를 통해 송신하고, 안테나를 통해 수신되는 RF 대역 신호를 기저대역 신호로 하향 변환할 수 있다.
이를 위해, 통신부 210은 송신 필터, 수신 필터, 증폭기, 믹서 (mixer), 오실레이터 (oscillator), DAC (digital to analog convertor), ADC (analog to digital convertor) 등을 포함할 수 있다. 또한, 통신부 210 은 다수의 송수신 경로 (path) 들을 포함할 수 있다. 나아가, 통신부 210 은 다수의 안테나 요소들 (antenna elements) 로 구성된 적어도 하나의 안테나 어레이 (antenna array) 를 포함할 수 있다. 하드웨어의 측면에서, 통신부(210)는 디지털 유닛 (digital unit) 및 아날로그 유닛 (analog unit) 으로 구성될 수 있으며, 아날로그 유닛은 동작 전력, 동작 주파수 등에 따라 다수의 서브 유닛 (sub-unit) 들로 구성될 수 있다. 또한, 통신부 210은 본 개시의 다양한 실시 예들에 따른 복호화를 수행하기 위해 복호부를 포함할 수 있다.
통신부 210은 상술한 바와 같이 신호를 송신 및 수신한다. 이에 따라, 통신부 210은 '송신부', '수신부' 또는 '송수신부(transceiver)'로 지칭될 수 있다. 또한, 이하 설명에서, 무선 채널을 통해 수행되는 송신 및 수신은 통신부 210에 의해 상술한 바와 같은 처리가 수행되는 것을 포함하는 의미로 사용된다. 또한, 도 2(a)의 장치가 기지국인 경우, 통신부 210은 백홀(backhaul) 망을 통해 연결된 다른 네트워크 개체와의 통신을 위한 백홀 통신부를 더 포함할 수 있다.
저장부 220은 수신단 120의 동작을 위한 기본 프로그램, 응용 프로그램, 설정 정보 등의 데이터를 저장할 수 있다. 저장부 220은 휘발성 메모리, 비휘발성 메모리 또는 휘발성 메모리와 비휘발성 메모리의 조합으로 구성될 수 있다. 그리고, 저장부 220은 제어부 230의 요청에 따라 저장된 데이터를 제공할 수 있다.
제어부 230은 장치의 전반적인 동작들을 제어할 수 있다. 예를 들어, 제어부 230은 통신부 210를 통해 신호를 송신 및 수신할 수 있다. 또한, 제어부 230은 저장부 220에 데이터를 기록하거나 읽을 수 있다. 이를 위해, 제어부 230은 적어도 하나의 프로세서 또는 마이크로(micro) 프로세서를 포함하거나, 또는, 프로세서의 일부일 수 있다. 다양한 실시 예들에 따라, 제어부 230은 장치가 후술하는 다양한 실시 예들에 따른 동작들을 수행하도록 제어할 수 있다.
도 2(b)는 본 개시의 다양한 실시 예들에 따른 무선 통신 시스템에서 통신을 수행하는 송신 장치의 구성의 예를 도시한 도면이다.
도 2(b)를 참고하면, 송신 장치 110 는 통신부 240, 저장부 250, 제어부 260를 포함할 수 있다.
통신부 240 은 무선 채널을 통해 신호를 송수신하기 위한 기능들을 수행할 수 있다. 예를 들어, 통신부 240 은 시스템의 물리 계층 규격에 따라 기저대역 신호 및 비트열 간 변환 기능을 수행할 수 있다. 예를 들어, 데이터 송신 시, 통신부 240은 송신 비트열을 부호화 및 변조함으로써 복소 심벌들을 생성할 수 있다. 또한, 데이터 수신 시, 통신부 240은 기저대역 신호를 복조 및 복호화를 통해 수신 비트열을 복원할 수 있다. 또한, 통신부 240은 기저대역 신호를 RF (radio frequency) 대역 신호로 상향변환한 후 안테나를 통해 송신하고, 안테나를 통해 수신되는 RF 대역 신호를 기저대역 신호로 하향 변환할 수 있다.
이를 위해, 통신부 240은 송신 필터, 수신 필터, 증폭기, 믹서 (mixer), 오실레이터 (oscillator), DAC (digital to analog convertor), ADC (analog to digital convertor) 등을 포함할 수 있다. 또한, 통신부 240 은 다수의 송수신 경로 (path) 들을 포함할 수 있다. 나아가, 통신부 240 은 다수의 안테나 요소들 (antenna elements) 로 구성된 적어도 하나의 안테나 어레이 (antenna array) 를 포함할 수 있다. 하드웨어의 측면에서, 통신부(240)는 디지털 유닛 (digital unit) 및 아날로그 유닛 (analog unit) 으로 구성될 수 있으며, 아날로그 유닛은 동작 전력, 동작 주파수 등에 따라 다수의 서브 유닛 (sub-unit) 들로 구성될 수 있다. 또한, 통신부 240은 본 개시의 다양한 실시 예들에 따른 부호화를 수행하기 위해 부호부를 포함할 수 있다.
통신부 240은 상술한 바와 같이 신호를 송신 및 수신한다. 이에 따라, 통신부 240은 '송신부', '수신부' 또는 '송수신부(transceiver)'로 지칭될 수 있다. 또한, 이하 설명에서, 무선 채널을 통해 수행되는 송신 및 수신은 통신부 240에 의해 상술한 바와 같은 처리가 수행되는 것을 포함하는 의미로 사용된다. 또한, 도 2(b)의 장치가 기지국인 경우, 통신부 240은 백홀(backhaul) 망을 통해 연결된 다른 네트워크 개체와의 통신을 위한 백홀 통신부를 더 포함할 수 있다.
저장부 250은 송신단 110의 동작을 위한 기본 프로그램, 응용 프로그램, 설정 정보 등의 데이터를 저장할 수 있다. 저장부 250은 휘발성 메모리, 비휘발성 메모리 또는 휘발성 메모리와 비휘발성 메모리의 조합으로 구성될 수 있다. 그리고, 저장부 250은 제어부 260의 요청에 따라 저장된 데이터를 제공할 수 있다.
제어부 260은 장치의 전반적인 동작들을 제어할 수 있다. 예를 들어, 제어부 260은 통신부 240를 통해 신호를 송신 및 수신할 수 있다. 또한, 제어부 260은 저장부 250에 데이터를 기록하거나 읽을 수 있다. 이를 위해, 제어부 260은 적어도 하나의 프로세서 또는 마이크로(micro) 프로세서를 포함하거나, 또는, 프로세서의 일부일 수 있다. 다양한 실시 예들에 따라, 제어부 260은 장치가 후술하는 다양한 실시 예들에 따른 동작들을 수행하도록 제어할 수 있다.
이하, 본 발명에 대해 상세히 설명하는 과정에서 사용되는 여러 기호 또는 용어는 별도로 정의하지 않는 한 일반적으로 통용되는 수학적인 기호로서 해석될 수 있다. LDPC 부호는 선형 부호 (linear code) 로 일반적으로 패리티 검사 행렬 (parity-check matrix) 에 의해 정의된다. LDPC 부호를 이용해 부호화하려는 정보 비트의 수 (부호 차원 (code dimension) 이라고도 일컬음) 를 라고 하고, 부호화된 결과인 부호어 비트의 수 (부호 길이 (code length)) 를 이라고 한다. 부호율 (code rate) 은 으로 정의되며, 부호 길이에서 부호 차원을 뺀 값 을 패리티 비트 (parity bit) 의 수, 리던던트 비트 (redundant bit) 의 수라고 일컫는다. 부호화가 되는 길이 의 정보 비트 시퀀스는 CRC (cyclic redundancy check) 부호 등 외부 부호화 (outer coding) 에 의해 부호화된 부호어 시퀀스일 수 있다. 를 이진 필드 (binary field) 라고 할 때, 부호어 비트 벡터는 (행 벡터, row vector 로 정의) 라고 표기할 수 있다. 패리티 검사 행렬이 과 같이 주어졌을 때, 부호어 비트 벡터는 하기 수학식의 관계를 성립하도록 생성될 수 있다.
[수학식 1]
상기, 수학식 1 에서 은 영벡터 (zero vector)를 나타낸다. 수학식 1에 따르면 패리티 검사 행렬 에 의해 정의되는 LDPC 부호의 임의의 부호어 비트 벡터 는 패리티 검사 행렬 에 대한 영공간 (nullspace) 이다. 여기서 의 번째 행을 (행 벡터) 라고 표기하도록 하여, 의 번째 행, 번째 열의 원소를 라고 쓰기로 한다. LDPC 부호의 부호화 (encoding) 와 복호 (decoding) 은 이 패리티 검사 행렬 을 기반으로 이루어질 수 있다.
이제, 패리티 검사 행렬 로 정의되는 LDPC 부호의 일반적인 복호 과정에 대해서 일부 도면을 활용하여 상세히 설명하도록 한다. LDPC 부호의 복호는 패리티 검사 행렬에 대응하는 이진 그래프 (bipartite graph) 상에서의 반복적으로 메시지를 교환하는 (message-passing), 이른바 신뢰-전파 (belief-propagation) 과정으로 이해될 수 있다.
도 3은 LDPC 부호의 패리티 검사 행렬의 일 실시 예를 나타내는 도면이다.
도 3 은 행의 수가 이고 열의 수가 인 이진 LDPC 부호의 패리티 검사 행렬 의 일 예를 나타낸다. 패리티 검사 행렬의 1의 수를 밀도 (density) 라고 하며, 이 밀도는 부호화 및 복호화의 복잡도를 결정한다. LDPC 부호의 일반적인 패리티 검사 행렬의 밀도는 전체 패리티 검사 행렬의 차원 대비 매우 낮기 때문에 이를 저밀도 (low-density) 패리티 검사 부호라고 부른다. 도 3의 패리티 검사 행렬은 일종의 설명을 위한 예시로서 매우 작은 차원의 행렬이기 때문에 밀도가 상대적으로 높음에 유의하여야 하며, 일반적으로 사용되는 더 큰 차원을 가지는 패리티 검사 행렬의 밀도는 훨씬 더 낮을 수 있다.
도 4는 도 3의 패리티 검사 행렬에 대응하는 이진 그래프를 나타내는 도면이다.
도 4를 참고하면, 이진 그래프는 변수 노드 (variable node) 집합 (), 검사 노드 (check node) 집합 (), 그리고 두 집합의 원소들을 서로 연결하는 연결선 (edge) 집합 로 구성될 수 있다. 변수 노드들은 부호어 비트 벡터 의 각 비트에 대응하며, 번째 변수 노드는 동일한 인덱스를 갖는 번째 부호어 비트 를 나타낸다. 검사 노드는 패리티 검사 행렬 의 각 행과 부호어 비트 벡터 의 이진 필드 (binary field) 상 내적 (inner product) 이 나타내는 선형 방정식 (linear equation) 을 나타낸다. 즉, 번째 검사 노드는 에 해당하는 선형 방정식을 나타내며, 이는 에 의해 주어지는 이진 그래프 상에서 번째 검사 노드에 연결된 모든 변수 노드의 비트 값을 이진-합 (modulo-2 sum, bitwise XOR) 하면 그 결과가 0 임을 나타낸다. LDPC 부호의 신뢰-전파 복호는 이러한 그래프 상에서의 변수 노드와 검사 노드의 관계를 이용한 반복적인 메시지 교환 과정으로 이해될 수 있다.
LDPC 부호는 다양한 통신 및 방송 시스템에서 활용되고 있으며, 시스템의 특성에 따라 주어지는 요구 사항 (requirement) 를 만족하도록 설계되어 사용되고 있다.
통신 시스템을 위한 채널 부호의 요구 특성으로는 부호 길이의 유연한 조절 (length-flexibility) 이 있다. 통신 시스템에서는 다양한 이유로 특정 정보의 전송을 위해 사용 가능한 시간, 주파수 등의 통신 자원의 양이 매 전송 시마다 변화할 수 있다. 가령 전체 가용한 통신 자원의 양이 변화할 수 있고, 혹은 전체 가용한 통신 자원에서 해당 정보를 전송하는데 할당되는 통신 자원의 양이 변화할 수 있다. 전송 시점마다 송신할 수 있는 비트의 수가 변화하므로, 통신 시스템을 위해 사용되는 채널 부호는 부호 길이를 유연하게 변화시킬 수 있도록 설계되어야 한다.
통신 시스템을 위한 채널 부호의 또 다른 요구 특성으로는 부호율의 유연한 조절 (rate-flexibility) 이 있다. 통신 시스템, 특히 모바일 통신 시스템에서는 송신기와 수신기 사이의 채널 품질이 시시각각 변화한다. 가령 수신기가 물리적으로 움직이는 경우, 송/수신기 사이의 거리가 변화하여 경로 손실 (path loss) 및 다중-경로 페이딩 (multi-path fading) 등 채널 환경이 달라질 수 있다. 채널의 품질이 좋은 경우, 송신기는 부호율을 높여 (즉, 패리티 비트의 수를 줄여) 효율적인 통신 자원 활용으로 오류 없는 부호화/복호화를 달성할 수 있다. 반대로 채널의 품질이 열악한 경우, 송신기는 부호율을 낮춰 (즉, 패리티 비트의 수를 늘려) 열악한 채널을 극복할 확률을 높일 수 있다. 따라서 통신 시스템에 사용되는 채널 부호는 부호율을 유연하게 변화시킬 수 있도록 설계되어야 한다.
통신 시스템을 위한 채널 부호의 또 다른 요구 특성으로는 부호율 호환성 (rate compatibility) 이 있다. 통신 시스템은 통신 자원을 효율적으로 활용하면서 데이터 무결성 (data integrity) 을 지원해야 하며, 이를 위해 일반적으로 하이브리드 자동 재전송 및 요구 (Hybrid Automatic Repeat and reQuest, HARQ) 기법을 이용한다. 이하 HARQ 과정을 간단하게 소개한다. 송신기는 전송하고자 하는 정보 비트를 부호화하여 부호어 (codeword) 를 만들고, 변조 등의 과정을 통해 신호를 생성하여 수신기에 전송한다. 수신기는 이러한 첫 전송 (초기 전송, initial transmission) 에서 받은 신호를 일련의 과정을 통해 처리하여 복호를 시도한다. 만약 수신기가 CRC 부호의 복호 및 LDPC 부호의 신드롬 검사 등을 통해 오류를 검출하는 경우, 수신기는 송신기에 NACK을 전송하여 재전송을 요구한다. 이 때 수신기는 수신한 신호를 일련의 과정으로 처리하여 복호에 사용한 log-likelihood ratio (LLR) 시퀀스 등을 메모리, 버퍼 등에 저장한다. 여기서 LLR은 각 비트의 값 0과 1에 대한 확률에 대한 비에 로그를 취한 값으로 주어지며, 해당 비트에 대한 확률 정보 메트릭으로 사용된다. 수신기로부터 NACK을 수신한 송신기는 전송하고자 했던 기존 정보에 대한 부호어를 생성하여 수신기에 전송한다. 이처럼 초기 전송 이후, 예를 들어 두 번째로 수행되는 전송은 재전송(retransmission)이라고 표현할 수 있다. 재전송을 위해 생성한 부호어는 초기 전송에서 전송한 부호어와 동일할 수 있는데, 이러한 HARQ 방식을 Chase Combining HARQ (CC-HARQ) 이라고 한다. 반대로 재전송에서는 초기 전송 때에는 보내지 않았던 패리티 비트를 포함하도록 부호어를 생성하여 전송할 수 있는데, 이를 Incremental Redundancy HARQ (IR-HARQ) 방식이라고 한다. 보통 후자의 IR-HARQ 방식이 효율이 좋기 때문에 높은 빈도로 사용된다. 수신기는 초기 전송 때 (비록 복호에는 실패하였지만) 저장한 LLR 시퀀스 등을 재전송에서 새롭게 획득한 LLR 시퀀스 등과 함께 결합하여 활용하여 복호를 수행한다. 만약 재전송에서도 복호에 실패하면, 세 번째 전송, 네 번째 전송 등을 동일한 방식으로 진행한다. 각 전송마다 주어지는 통신 자원의 양은 다를 수 있다. 이러한 과정은 사전에 결정된 최대 재전송 횟수 만큼 반복될 수 있다. 상기와 같이 통신 시스템을 위한 채널 부호는, 동일한 정보를 전송하기 위해 생성된 둘 이상의 부호어들을 결합하여 복호를 수행할 수 있도록, 즉 부호율 호환성을 가지도록 설계되어야 한다.
실질적인 통신 시스템을 위한 LDPC 부호는 상기 요구 특성 (유연한 부호 길이, 유연한 부호율, 부호율 호환성)을 가지도록 설계된다. 대표적으로는 3GPP (3rd Generation Partnership Project) 의 5세대 (5th Generation, 5G) 통신 표준인 New Radio (NR) 에서는 상기 요구 특성을 만족시키는 LDPC 부호가 설계되어 사용되고 있다. 하기에서는 NR 시스템의 LDPC 부호를 본 발명의 목표 시스템의 일 예로서 설명한다. 하지만 본 발명은 이러한 시스템에 한정되지 않고, 다양한 시스템에 적용될 수 있음에 유의하여야 한다.
실제로 사용되는 LDPC 부호 시스템 중 다수가 상기의 요구 특성을 만족하면서도 구현에 적합한 Quasi-Cyclic LDPC (QC-LDPC) 부호로 설계된다. QC-LDPC 부호는 구조화된 (structured) LDPC 부호 클래스에 속하는데, 부호를 정의하기 용이하고, 병렬화된 아키텍처로 복호하여 높은 처리량 (throughput) 을 얻기 적합하기 때문에 널리 사용되고 있다.
QC-LDPC 부호는 작은 베이스 행렬 (base matrix) 혹은 도 3, 도 4의 관계와 같이 베이스 행렬과 일대일 대응 관계에 있는 베이스 그래프 (base graph, BG) 로부터 정의된다. 베이스 행렬과 베이스 그래프는 상호 동일한 것으로 취급한다. 베이스 행렬은 으로 쓰며, 베이스 행렬의 행의 개수는 개, 열의 개수는 개이다. 최종적으로 얻고자 하는 패리티 검사 행렬 은 베이스 행렬 을 복사-및-치환 (copy-and-permute) 과정을 통해 크기를 키워 얻어진다. 특히, QC-LDPC 부호의 복사-및-치환 과정은 리프팅 (lifting) 으로 부르며, 패리티 검사 행렬 를 구성하기 위해 를 키우는데 사용되는 크기를 리프팅 크기 (lifting size) 라고 한다. 리프팅 크기는 라고 표시한다. 즉, 패리티 검사 행렬 의 크기는 베이스 행렬 의 크기의 배이다. 구체적으로, 이며, 이다.
리프팅 과정은 베이스 행렬의 각 원소를 정사각행렬 (square matrix) 로 치환하는 것으로 이해될 수 있다. 이러한 리프팅 과정을 위해 베이스 행렬과 같은 크기의 또 다른 행렬인 지수 행렬 (exponent matrix) 이 정의된다. 여기서 는 값이 보다 작은 음수가 아닌 (non-negative) 정수들의 집합이다 (즉, ). 베이스 행렬의 각 원소는 그 값과 지수 행렬의 같은 위치의 원소 값에 의해 결정된다. 베이스 행렬에서 값이 0 인 원소는 크기가 인 영행렬 (zero matrix, 모든 원소의 값이 0 인 행렬) 로 치환된다. 베이스 행렬에서 값이 1인 원소는 크기가 인 순환 치환 행렬 (circulant permutation matrix) 로 치환되는데, 여기서 순환 치환 행렬은 같은 크기 의 단위 행렬 (identity matrix) 를 지수 행렬에서 동일한 위치에 기록된 값만큼 순환하여 시프트 (circularly shift) 하여 얻어진 행렬이다. 이와 같이 베이스 행렬의 각 행렬을 행렬로 치환함으로써, 전체 크기가 배로 커진 패리티 검사 행렬을 얻을 수 있다.
도 5는 리프팅 과정의 이해를 위한 도면으로, QC-LDPC 부호의 패리티 검사 행렬의 일 예시를 나타낸 도면이다. 도 5에 표시된 (510) 은 패리티 검사 행렬 를 베이스 행렬 상에 지수 행렬 을 표시하는 방식으로 표기한 것이다. 즉, (510)의 행렬 각 위치에 기재된 값은 지수 행렬 가 가르키는 각 순환 치환 행렬의 순환 시프트 (circular shift) 값을 나타낸다. 구체적으로 각 위치에서 값이 표시되지 않은 부분은 상응하는 베이스 행렬 에서 원소가 0 인 부분이며, 상기 설명한 바와 같이 영행렬이 된다. 각 위치에서 값이 기재된 부분은 순환 치환 행렬이며, 순환 시프트 값은 각 위치에 기재된 값에 의해 결정되다. 예를 들어, (511) 은 값이 2 인 원소로, 실제 이 부분은 순환 시프트 값이 2인 순환 치환 행렬 (512) 을 나타낸다.
상기와 같이 구성되는 QC-LDPC 부호는 리프팅 크기 값을 조정하여 부호 차원과 길이를 조정한다. 상기에서 설명한 바와 같이 베이스 행렬 의 부호 차원과 길이는 각각 과 이다. 이를 바탕으로 최종적으로 얻어지는 패리티 검사 행렬 은 부호 차원과 길이가 각각 배 커진 와 가 된다. 따라서 가 작으면 최종적으로 얻어지는 패리티 검사 행렬 의 부호 차원과 길이는 작다. 반면에 가 크면 최종적으로 얻어지는 패리티 검사 행렬 의 부호 차원과 길이가 크다. 이러한 특성을 바탕으로 값을 조정하여 다양한 부호 차원과 길이의 패리티 검사 행렬을 정의할 수 있다.
예를 들어, 3GPP NR LDPC 부호 시스템에는 두 개의 베이스 그래프, BG1 과 BG2 를 정의하고 이를 다양한 크기로 리프팅하여 패리티 검사 행렬을 얻는다. BG1은 부호 차원과 길이가 크고 부호율이 높은 상황을 지원하기 위해 사용되며, BG2는 부호 차원과 길이가 상대적으로 작고 부호율이 낮은 상황을 지원하기 위해 사용된다. BG1 의 부호 차원과 길이는 각각 과 로 주어진다. BG 2의 부호 차원과 길이는 각각 과 로 주어진다. 각각의 BG에 대해서 리프팅 크기 는 2 부터 384 까지 총 51개 케이스가 정의된다. 따라서 BG1로부터 얻어지는 패리티 검사 행렬 은 단일 부호 블록 (code block) 으로 부호 차원 은 부터 까지의 범위를 지원할 수 있다. 또한 BG2로부터 얻어지는 패리티 검사 행렬 은 단일 부호 블록 (code block) 으로 부호 차원 은 부터 까지의 범위를 지원할 수 있다.
QC-LDPC 부호의 복호기는 기본적으로 비트 단위의 동작을 수행할 수 있다. LDPC 부호의 복호 동작은 패리티 검사 행렬 를 기반으로 하며, 상기 설명한 바와 같이 는 크기 의 순환 치환 행렬들로 구성된다. 순환 치환 행렬에서 특정 행에는 오직 하나의 non-zero 원소가 존재하며, 마찬가지로 특정 열에는 오직 하나의 non-zero 원소가 존재한다. 이러한 특성에 기반하여, 각 순환 치환 행렬에 대한 변수 노드와 검사 노드는 서로 독립적으로 어떠한 충돌 없이 완벽하게 독립적인 동작을 수행할 수 있다. 즉, 순환 치환 행렬을 구성하는 개의 변수 노드, 개의 검사 노드는 서로 독립적으로 동작을 수행할 수 있고, 따라서 완벽하게 병렬화될 수 있다. 이러한 이유 때문에, QC-LDPC 부호를 위한 복호기는 보통 각 순환 치환 행렬 단위를 처리하거나, 혹은 패리티 검사 행렬의 개 행 (즉, 크기의 부행렬 (submatrix)) 단위를 처리하는 형태로 구성되어 있다. 여기에서 개 행 (즉, 크기의 부행렬 (submatrix)) 단위를 순차적으로 처리하는 복호 스케줄링 방식이 레이어드 복호 (layered decoding) 이다. 이러한 레이어드 복호 방식은 QC-LDPC 부호를 복호하는 실질적인 복호 방식으로 널리 사용되고 있다.
이제 HARQ 동작 발생 시, 상기와 같은 종래 QC-LDPC 복호기에서 발생할 수 있는 문제를 살펴보고, 이를 해결하기 위한 본 발명의 일 실시 예를 설명한다. 송신기는 각 전송 시마다 부호 길이 의 모 QC-LDPC 부호 (mother QC-LDPC code) 에 의해 생성된 부호어로부터, 주어지는 전송 자원에 맞는 길이 의 부호어 비트 시퀀스를 생성한다. 이처럼 모 부호의 부호어로부터 전송 자원에 맞게 부호율을 조정하여 부호어 시퀀스를 생성하는 과정을 부호율 조정 (rate-matching) 이라고 한다. 이러한 동작은 보통 가상의 순환 버퍼 (circular buffer) 기반으로 이뤄지며, 순환 버퍼 부호율 조정 (circular-buffer rate-matching) 이라고 부른다. 정리하면 기호 은 사용하는 모부호의 길이를 나타내며, 기호 는 전송 및 수신하는 부호율 조정 출력 길이 (rate-matching output size) 를 나타낸다. 부호율 조정 출력 길이 는 각 전송 시마다 주어지는 통신 자원에 의해 결정되며, 가 보다 크면 모부호의 부호어 비트에 대한 반복 (repetition) 이, 가 보다 작으면 모부호의 부호어 비트에 대한 천공 (puncturing) 이 발생한다.
HARQ 에 의해 재전송이 이뤄지게 되면, 일반적으로 초기 전송에서는 발생하지 않는 예외적인 상황이 발생할 수 있다. 채널 부호에서 전송 부호율은 로 정의되며, 이는 부호어를 전송하고자 하는 채널의 품질에 의해 결정되어야 하지만, 1보다는 작거나 같아야 한다. 즉, 전송하는 부호어의 비트 수, 즉 부호 길이 는 부호 차원 보다 크거나 같아야 한다. 그렇지 않다면 , 즉 송수신되는 부호 길이 가 부호 차원 보다 작다면, 복호기는 전송되지 않은 정보 비트 개에 대한 아무런 정보를 획득할 수 없기 때문에 정상적인 복호를 수생할 수 없다. 반면에, 재전송 및 그 이후 전송에서는 이미 앞서 전송된 부호어를 사용하기 때문에 전송하는 부호 길이에 대한 제약이 없다. 이러한 점 때문에 초기 전송의 상황만을 고려하여 복호기를 구성할 경우, 재전송 이후에 문제가 발생할 수 있다.
보다 구체적으로, 번째 전송에서 전송되는 부호 길이를 라고 표기하도록 한다. 앞서 설명한 바와 같이, 첫 번째 전송 () 에서 적어도 복호 성공 가능성이 있기 위해서는 의 조건을 만족해야 한다. 초기 전송에서의 복호가 실패하여 재전송이 발생할 경우 (), 복호기가 사용하는 전체 부호의 길이는 가 되며, 복호 성공이 가능하려면 의 조건을 만족해야 한다. 이 경우 초기 전송에서 이미 을 만족하므로 에 대해서는 의 조건만 만족하면 되며, 전송이 이뤄졌다면 적어도 이기 때문에 에 대해서는 특별한 제약이 없을 수 있다. 이러한 조건은 세 번째 전송 이후 () 에 대해서도 동일하게 성립할 수 있다. 정리하면, 적어도 각 전송 시마다 복호 성공 가능성이 0이 아니기 위해서는 의 조건을 만족해야 하며, 에 대해서는 의 조건만이 요구된다. 즉, 재전송 이후 전송되는 부호 길이는 0보다 큰 임의의 길이일 수 있다. 극단적인 경우이긴 하지만, 작게는 1 비트일 수도 있다. 이처럼 재전송 이후 부호 길이가 작아지는 경우는, 부호어 전송을 위해 주어지는 통신 자원의 양이 초기 전송 대비 줄어들었기 때문이다. 실제로 물리적인 통신 자원의 전체 양이 줄어들었을 수도 있고, 전체 통신 자원 양은 줄어들지 않았지만 다른 정보 전송 때문에 해당 부호어 전송을 위해 할당한 자원의 양이 줄어들었을 수도 있다.
초기 전송에서는 의 조건이 충족되며, 이고 는 양의 정수이므로, 가 성립한다. 하지만 재전송에서는 특별한 제약이 없으므로, 가 2보다 크거나 같은 경우에 대해서는 일 수 있다. 이 경우, 상기 설명한 QC-LDPC 부호를 위한 복호기 구조에서는 치명적인 문제가 발생할 수 있다. 앞서 살펴본 바와 같이 QC-LDPC 부호의 복호기는 효과적인 동작을 위해 최소 운용 단위가 비트일 수 있다. 복호 동작뿐만 아니라 일관된 복호기의 구성으로 인해 관련된 주변부 (peripheral) 동작 또한 비트 단위로 구성될 수 있다. 이러한 주변부 동작으로는 비트 역-인터리빙 (bit deinterleaving), 부호율 역조정 (inverse rate matching, de-rate matching, rate dematching 등으로 쓰기도 함), HARQ 동작을 위한 LLR 결합 (LLR combining) 등이 있을 수 있다. 이러한 동작들이 최소 비트의 운용 단위로 동작할 수 있는데, 만약 부호어에 대한 LLR 시퀀스의 길이가 보다 작으면 정상적인 동작을 수행하지 않을 수 있다.
이러한 문제를 해결하기 위해, 본 발명의 일 실시 예에서는 부호 길이와 최소 운용 단위와 관련된 조건을 확인하고, 이를 바탕으로 입력된 LLR 시퀀스를 절차에 따라 재조정하거나 새로운 입력 LLR 시퀀스를 생성하는 방법을 제안한다. 하기에서는 도 6을 참고하여 본 발명의 일 실시 예를 상세하게 기술하도록 한다.
본 발명의 일 실시 예에 따른 복호기는 송신기가 전송한 부호어에 대한 부호 파라미터 (부호 차원 , 모부호 길이 , 전송 부호어 길이 , 변조 차수 ) 를 확인한다. 여기서 변조 차수 (modulation order) 는 사용하는 변조 기법에 의해 결정되는 값으로, BPSK (binary phase shift keying) 이면 1, QPSK (quadrature phase shift keying) 이면 2, -ary QAM (quadrature amplitude modulation) 이면 으로 정해지는 값이다. 복호기의 입력으로 입력되는 시퀀스는 LLR 시퀀스 와 같이 표기할 수 있으며, 이 시퀀스의 길이는 전송 부호어 길이 와 같다. 여기서 시퀀스의 원소들의 인덱스는 zero-based numbering을 통해 결정됨을 가정한다. 복호기는 상기 확인된 부호 파라미터를 바탕으로 복호에 사용할 QC-LDPC 부호의 패리티 검사 행렬을 구성 혹은 결정할 수 있다. 이 때 복호기는 복호기를 운용하는 단위 를 확인하는데, QC-LDPC 부호를 위한 복호기에서 이 값은 보통 리프팅 크기 값과 관련된다. 즉, 복호기의 운용 단위 는 와 같거나, 를 바탕으로 결정될 수 있다. 일례로, 임의의 양의 정수 에 대해 (e.g., ) 운용 단위는 로 결정될 수 있다. 여기서 는 복호기의 특성에 따라 결정된 최소 운용 단위일 수 있다. 결과적으로, 기본 운용 단위 는 복호기의 구성에 의해 다르게 결정될 수 있음에 유의하여야 한다.
본 발명의 일 실시 예에 의해 구성된 복호기는 운용 단위 와 처리할 LLR 시퀀스의 길이 의 값을 비교할 수 있다. 만약 전송 부호어의 길이 가 운용 단위 보다 작다면 (i.e., ), 복호기는 잠재적인 혹은 명시적인 오동작을 막기 위해 LLR 시퀀스를 일련의 과정으로 처리하여 수정된 (modified) LLR 시퀀스 를 생성하고 (610) 이를 바탕으로 LDPC 복호를 위한 일련의 동작을 수행할 수 있다. 이러한 일련의 동작은 비트 역-인티러빙 (bit deinterleaving) (620), 부호율 역-조정 (rate dematching) (630), HARQ 결합 (HARQ soft-combining) (640), LDPC 복호 (LDPC decoding) (650) 이 포함될 수 있다. 이 동작 중 일부는 시스템의 구성 및 요구 사항, 전송 상황에 따라 포함되지 않거나, 혹은 수행되지 않을 수 있다. 수정된 LLR 시퀀스의 길이 는 단순하게 로 결정될 수도 있고, 후속 동작의 구성에 따라 보다 크거나 같은 값으로 결정될 수 있다. 예를 들어, 후속 동작에 변조 차수 에 기반한 비트 역-인터리빙이 포함되어 있다면, 수정된 LLR 시퀀스의 길이 는 운용 단위 보다 크거나 같으면서, 변조 차수 의 배수로 결정될 수 있다. 복호기가 처리해야 할 수정된 LLR 시퀀스의 길이 는 가급적이면 작은 것이 복잡도 측면에서 유리하므로, 예를 들면 하기의 수학식을 통해 결정될 수 있다.
[수학식 2]
이제 전송 부호어의 길이 가 운용 단위 보다 작은 경우 수정된 LLR 시퀀스 을 생성하는 일련의 동작에 대해 설명하도록 한다. 본 발명의 일 실시 예에 따라 입력 LLR 시퀀스 가 비트 역-인터리빙이 되어야 할 필요가 없는 경우에는, 은 길이 의 뒤에 개의 LLR 0 들을 추가하여 (append) 생성될 수 있다. 즉, 와 같이 생성될 수 있다. 복호기는 입력 LLR 시퀀스의 길이를 로 가정하고, 수정된 LLR 시퀀스 를 기반으로 복호를 수행할 수 있다.
만약 입력 LLR 시퀀스가 비트 역-인터리빙이 되어야 할 필요가 있는 경우에는 도 7에 표시된 순서도와 같이 에 (역-인터리빙)-(LLR 0 패딩)-(인터리빙) 의 일련을 과정을 수행하여 을 생성할 수 있다.
도 7은 본 발명의 일 실시 예에 따라 일련의 사전 처리 후 복호를 수행하는 과정을 나타내는 순서도이다. 하기에서는 5G NR 시스템에서 수행하는 비트 인터리빙 동작을 일례로 들어 상기 일련의 과정을 설명한다.
도 7을 참조하면, 만약 전송 부호어의 길이 가 운용 단위 보다 작으면 (710), 수정된 LLR 시퀀스의 길이을 수학식 2 와 같이 결정할 수 있다 (720). 복호기는 를 행의 크기가 , 열의 크기가 인 가상의 직사각 버퍼 (rectangular buffer) 상에서 역-인터리빙 (deinterleaving) 하여 동일 길이 의 임시 LLR 시퀀스 을 생성할 수 있다 (730). 역-인터리빙 동작은 하기의 의사 코드 (pseudo-code) 에 기술된 것과 같은 결과를 얻도록 수행될 수 있다.
상기와 같이 역-인터리빙을 수행하여 동일한 길이 의 LLR 시퀀스 를 얻으면, 복호기는 이 LLR 시퀀스 의 뒤에 개의 LLR 0 을 추가하는 zero LLR padding (혹은 zero LLR appending) 동작을 수행하여 길이 의 새로운 임시 LLR 시퀀스 를 생성할 수 있다 (740). 복호기는 이렇게 얻어진 LLR 시퀀스 에 대해 인티러빙을 수행하여 최종 수정된 LLR 시퀀스 을 생성할 수 있다 (750). 인터리빙 동작은 하기의 의사 코드 (pseudo-code) 에 기술된 것과 같은 결과를 얻도록 수행될 수 있다.
복호기는 상기와 같은 수정된 LLR 시퀀스 를 얻으면 이를 바탕으로 복호를 수행할 수 있다. 복호기는 입력 LLR 시퀀스의 길이를 라고 설정하고, 수정된 LLR 시퀀스 를 입력으로 하여 복호를 수행할 수 있다 (760).
상기의 과정을 예를 들어 설명하도록 한다. 초기 전송의 부호 파라미터에 의해서 결정된 리프팅 크기 가 64 이고, 재전송에서 전송된 부호어의 길이 는 36 비트라고 하자. 변조 기법으로는 64QAM 이 사용되었으며, 은 6이다. 운용 단위 는 64로 결정되었으며, 이에 따라 수정된 LLR 시퀀스의 길이 는 수학식 2를 통해 으로 결정되었다고 하자. 최초 주어지는 LLR 시퀀스는 이다. 이러한 LLR 시퀀스는 행의 수 , 열의 수 인 직사각 버퍼를 기반으로 상기 의사-코드와 같이 역-인터리빙될 수 있다. 이 역-인터리빙 동작은 주어지는 직사각 버퍼에 LLR 시퀀스를 각 열부터 쓰고 각 행으로 읽는 과정으로도 이해될 수 있다. 직사각 버퍼에 각 열부터 써진 LLR 시퀀스 의 LLR 인덱스는 아래 표와 같이 주어진다.
LLR 시퀀스 는 행의 수 , 열의 수 인 직사각 버퍼를 기반으로 상기 의사-코드와 같이 인터리빙된다. 이 인터리빙 동작은 주어지는 직사각 버퍼에 LLR 시퀀스를 각 행부터 쓰고 각 열로 읽는 과정으로 이해될 수 있다. LLR 시퀀스 가 직사각 버퍼에 각 행부터 써진 LLR의 인덱스는 아래 표와 같이 주어지며, 여기서 -1 은 LLR 0 이 매핑된 위치를 나타낸다.
상기와 같은 동작을 수행함에 있어, 최종 수정된 LLR 시퀀스의 길이 는 (리프팅 크기 에 의해 결정될 수도 있는) 운용 단위 , 입력 LLR 시퀀스의 길이 , 변조 차수 등에 의해 결정될 수 있다.
한편, 보다 단순한 동작을 위해 복호기는 값을 수학식 2를 통해 결정하지 않고, 미리 결정된 상수로서 항상 같은 값으로 사용할 수도 있다. 앞서 살펴보았던 바와 같이 는 변조 차수 의 배수여야 하기 때문에, 적용할 통신 시스템에서 사용하는 모든 변조 차수의 공배수 (common multiple) 로 결정될 수 있다. 가령 5G NR 시스템에서는 변조 차수 1, 2, 4, 6, 8을 고려하며, 따라서 최소공배수 (least common multiple) 인 24 의 배수로 로 고정하여 사용할 수 있다. 특히, NR 시스템의 최대 리프팅 크기 384 고려하여 가 이 384 보다 크거나 같도록 정한다면, 는 384 로 결정할 수 있다. 혹은 만약 1024-QAM 까지 사용하게 되어, 변조 차수 10을 추가로 고려하게 되면, 같은 방식으로 를 480 으로 결정할 수 있다. 이렇게 값이 고정되면, 상기 인터리빙 동작은 항상 동일한 길이에 대해 일관되게 수행될 수 있다.
도 9은 본 발명의 일 실시 예에 따라 정해진 길이를 바탕으로 일련의 사전 처리 후 복호를 수행하는 과정을 나타내는 순서도이다.
도 9를 참조하면, 만약 전송 부호어의 길이 가 운용 단위 보다 작으면 (910), 복호기는 수정된 LLR 시퀀스의 길이 을 앞서 설명한 바에 따라 미리 설정된 값으로 결정할 수 있다. 복호기는 를 행의 크기가 , 열의 크기가 인 가상의 직사각 버퍼 (rectangular buffer) 상에서 역-인터리빙 (deinterleaving) 하여 동일 길이 의 임시 LLR 시퀀스 을 생성할 수 있다 (930). 역-인터리빙 동작은 앞서 도 7을 참조하여 설명하였으므로 여기서는 상세한 설명은 생략한다.
상기와 같이 역-인터리빙을 수행하여 동일한 길이 의 LLR 시퀀스 를 얻으면, 복호기는 이 LLR 시퀀스 의 뒤에 개의 LLR 0 을 추가하는 zero LLR padding (혹은 zero LLR appending) 동작을 수행하여 미리 설정된 길이 의 새로운 임시 LLR 시퀀스 를 생성할 수 있다 (940). 복호기는 이렇게 얻어진 LLR 시퀀스 에 대해 인티러빙을 수행하여 최종 수정된 LLR 시퀀스 을 생성할 수 있다 (950). 인터리빙 동작은 앞서 도 7을 참조하여 설명하였으므로 여기서는 상세한 설명은 생략한다.
복호기는 상기와 같은 수정된 LLR 시퀀스 를 얻으면 이를 바탕으로 복호를 수행할 수 있다. 복호기는 입력 LLR 시퀀스의 길이를 라고 설정하고, 수정된 LLR 시퀀스 를 입력으로 하여 복호를 수행할 수 있다 (960).
송신기의 부호화기 (encoder) 에서도 상기의 복호화기와 같이 처리해야 할 시퀀스의 길이가 운용 단위보다 작을 경우 유사한 문제가 발생할 수 있다. 가령 부호화기가 부호율 조정 (rate matching) 을 하여 전송하는 비트의 수 가 부호화기의 운용 단위 보다 작을 수 있으며, 부호화기가 명시적 혹은 묵시적인 이유 때문에 정상적인 동작을 수행하지 못할 수 있다. 이러한 문제는 보통 하드웨어 고정된 구조를 갖는 LDPC 부호화기에서 발생할 수 있다. 이러한 경우는 일반적으로 HARQ 동작에 따른 재전송 이후에 발생할 수 있다. 설명의 편의를 위해 운용 단위 를 동일한 기호로 표시하였으나, 앞서 설명한 복호화기의 운용 단위와 부호화기의 운용 단위는 서로 같거나 다를 수 있다.
도 10은 본 발명의 일 실시 예에서 조건에 따라 사후 처리를 포함하여 부호를 수행하는 과정을 나타내는 도면이다.
본 발명의 일 실시 예에 따른 부호화기는 상기와 같이 전송하는 비트의 수 가 부호화기의 운용 단위 보다 작은 상황에서 도 10 의 블록 다이어그램에 나타난 것과 같이 동작할 수 있다. 도 10을 참조하면, 부호화기는 먼저 사용하는 모부호 (mother code) 를 기반으로 LDPC 부호화 (1010) 를 수행하여 길이 의 모부호어 비트 시퀀스 룰 생성할 수 있다. 상기 설명한 바와 같이 운용 길이에 따른 제약을 가지고 있는 부호화기는 부호율 조정 출력 길이 가 운용 단위 보다 작은 경우 정상적으로 동작하지 않을 수 있다. 따라서 전송 자원에 의해 결정된 부호율 조정 출력 길이 가 부호화기의 운용 단위 보다 작다면, 부호화기는 수정된 부호율 조정 출력 길이 을 보다 크거나 같도록 결정하고 후속 과정들을 수행할 수 있다. 만약 후속 과정에서 변조 차수 을 기반으로 비트 인터리빙이 수행되는 경우, 는 의 배수로 결정되어야 하며, 수학식 2 와 같이 결정될 수 있다. 혹은 일관된 동작을 위해 운용 단위 와 상관없이 항상 같은 값으로 결정할 수 있는데, 가령 시스템에서 사용하는 모든 변조 차수 의 공배수 (e.g. 384 혹은 480) 로 결정될 수 있다.
상기와 같이 가 결정되면, 부호화기는 수정된 부호율 조정 출력 길이 을 기반으로 부호율 조정을 수행하여 부호율 조정 비트 시퀀스 을 얻을 수 있다 (1020). 그리고 이 부호율 조정 비트 시퀀스를 앞서 설명한 방법에 따라 행 개, 열 개의 직사각 행렬을 기반으로 비트 인터리빙 하여 같은 길이의 비트 시퀀스 를 얻을 수 있다 (1030). 이러한 부호율 조정 및 비트 인터리빙은 애초에 전송 자원에 의해 결정된 부호율 조정 출력 길이 가 아닌 수정된 부호율 조정 출력 길이 을 기반으로 수행됨에 유의한다. 이러한 일련의 과정을 거친 뒤, 송신기는 후속 처리 (post processing) 을 수행하여 실제로 지정된 길이 의 비트 시퀀스 를 생성할 수 있다 (1040).
상기 후속 처리 과정은 다음과 같은 절차에 따라 진행된다. 만약 LDPC 부호화 후 비트 인터리빙 동작을 하지 않는다면, 부호화기는 에서 뒤에 있는 개의 비트를 버려서, 즉 천공 (puncturing) 하여 를 얻을 수 있다. 만약 LDPC 부호화 후 비트 인터리빙 동작을 수행한다면, 부호화기는 도 11에 나타난 일련을 과정을 수행한다.
도 11은 본 발명의 일 실시 예에 따른 사후 처리 동작의 과정을 나타내는 도면이다.
도 11을 참조하면, 부호화기는 먼저 에 대한 역-인터리빙을 수행하여 을 다시 얻을 수 있다 (1110). 이러한 역-인터리빙 동작은 아래의 의사코드와 같은 결과를 얻도록 수행될 수 있다.
상기와 같이 비트 시퀀스 를 얻게 되면, 부호화기는 뒤에 있는 개의 비트를 버려서, 즉 천공 (puncturing) 하여 비트 시퀀스 를 얻을 수 있다 (1120). 부호화기는 비트 시퀀스 를 다시 길이 에 대해 비트 인터리빙을 하여 최종 전송 부호어 를 얻을 수 있다(1103). 이러한 비트 인터비링 동작은 하기의 의사 부호와 동일한 결과를 얻도록 수행될 수 있다.
앞서 설명한 바를 기초로 한 본 개시의 일 실시 예에 따른 LDPC 코딩으로 부호화된 신호를 HARQ 동작에서 처리하는 방법은, 전송된 신호를 수신하는 단계; HARQ 동작의 초기 전송에 의해 적용된 부호 파라미터를 확인하고 복호기의 구성 (configuration) 을 결정하는 단계; 상기 구성을 바탕으로 수신한 신호로부터 LLR 등의 LDPC 부호 복호기의 제 1 시퀀스를 생성하는 단계; 상기 제 1 시퀀스의 길이와 구성된 LDPC 부호 복호기의 운용 단위를 비교하는 단계; 상기 제 1 시퀀스의 길이가 복호기의 운용 단위보다 작은 경우, 상기 제 1 비트 시퀀스를 바탕으로 제 2 시퀀스를 생성하는 단계; 상기 제 2 시퀀스를 바탕으로 LDPC 부호의 복호를 수행하는 단계를 포함할 수 있다.
일 실시 예에 따르면, 제 2 시퀀스의 길이는 LDPC 부호 복호기 구성에 의해 결정된 운용 단위와 적어도 같거나 클 수 있다.
일 실시 예에 따르면, LDPC 부호의 복호기 구성에 의해 결정된 운용 단위는 복호기의 리프팅 크기 (lifting size) 를 기반으로 결정될 수 있다.
일 실시 예에 따르면, 제 2 시퀀스는 제 1 시퀀스에 값이 0 인 원소를 붙여서 (appending) 얻어질 수 있다.
일 실시 예에 따르면, 제 2 시퀀스는 제 1 시퀀스에 제 1 인터리빙을 수행한 뒤, 값이 0 인 원소를 붙이고 (appending), 이를 제 2 인터리빙하여 얻어질 수 있다.
일 실시 예에 따르면, 제1 인터리빙과 제2 인터리빙은 서로 길이가 다른 시퀀스에 대한 것이지만, 그 동작은 서로 역관계처럼 정의될 수 있다. 일 예로, 제1 인터리빙과 제2 인터리빙은 각각 앞서 설명한 역-인터리빙(deinterleaving) 및 인터리빙(interleaving) 동작으로 정의될 수 있다.
본 개시의 청구항 또는 명세서에 기재된 실시예들에 따른 방법들은 하드웨어, 소프트웨어, 또는 하드웨어와 소프트웨어의 조합의 형태로 구현될(implemented) 수 있다.
소프트웨어로 구현하는 경우, 하나 이상의 프로그램(소프트웨어 모듈)을 저장하는 컴퓨터 판독 가능 저장 매체 또는 컴퓨터 프로그램 제품이 제공될 수 있다. 컴퓨터 판독 가능 저장 매체 또는 컴퓨터 프로그램 제품에 저장되는 하나 이상의 프로그램은, 전자 장치(device) 내의 하나 이상의 프로세서에 의해 실행 가능하도록 구성된다(configured for execution). 하나 이상의 프로그램은, 전자 장치로 하여금 본 개시의 청구항 또는 명세서에 기재된 실시예들에 따른 방법들을 실행하게 하는 명령어(instructions)를 포함한다.
이러한 프로그램(소프트웨어 모듈, 소프트웨어)은 랜덤 액세스 메모리 (random access memory), 플래시(flash) 메모리를 포함하는 불휘발성(non-volatile) 메모리, 롬(ROM: Read Only Memory), 전기적 삭제가능 프로그램가능 롬(EEPROM: Electrically Erasable Programmable Read Only Memory), 자기 디스크 저장 장치(magnetic disc storage device), 컴팩트 디스크 롬(CD-ROM: Compact Disc-ROM), 디지털 다목적 디스크(DVDs: Digital Versatile Discs) 또는 다른 형태의 광학 저장 장치, 마그네틱 카세트(magnetic cassette)에 저장될 수 있다. 또는, 이들의 일부 또는 전부의 조합으로 구성된 메모리에 저장될 수 있다. 또한, 각각의 구성 메모리는 복수 개 포함될 수도 있다.
또한, 프로그램은 인터넷(Internet), 인트라넷(Intranet), LAN(Local Area Network), WLAN(Wide LAN), 또는 SAN(Storage Area Network)과 같은 통신 네트워크, 또는 이들의 조합으로 구성된 통신 네트워크를 통하여 접근(access)할 수 있는 부착 가능한(attachable) 저장 장치(storage device)에 저장될 수 있다. 이러한 저장 장치는 외부 포트를 통하여 본 개시의 실시예를 수행하는 장치에 접속할 수 있다. 또한, 통신 네트워크 상의 별도의 저장 장치가 본 개시의 실시예를 수행하는 장치에 접속할 수도 있다.
상술한 본 개시의 구체적인 실시예들에서, 본 개시에 포함되는 구성 요소는 제시된 구체적인 실시예에 따라 단수 또는 복수로 표현되었다. 그러나, 단수 또는 복수의 표현은 설명의 편의를 위해 제시한 상황에 적합하게 선택된 것으로서, 본 개시가 단수 또는 복수의 구성 요소에 제한되는 것은 아니며, 복수로 표현된 구성 요소라 하더라도 단수로 구성되거나, 단수로 표현된 구성 요소라 하더라도 복수로 구성될 수 있다.
한편, 본 명세서와 도면에 개시된 본 개시의 실시예들은 본 개시의 기술 내용을 쉽게 설명하고 본 개시의 이해를 돕기 위해 특정 예를 제시한 것일 뿐이며, 본 개시의 범위를 한정하고자 하는 것은 아니다. 즉 본 개시의 기술적 사상에 바탕을 둔 다른 변형 예들이 실시 가능하다는 것은 본 개시의 속하는 기술 분야에서 통상의 지식을 가진 자에게 자명한 것이다. 또한 상기 각각의 실시예는 필요에 따라 서로 조합되어 운용할 수 있다. 예를 들면, 본 개시의 일 실시예와 다른 일 실시예의 일부분들이 서로 조합되어 기지국과 단말이 운용될 수 있다. 또한, 본 개시의 실시예들은 다른 통신 시스템에서도 적용 가능하며, 실시예의 기술적 사상에 바탕을 둔 다른 변형예들 또한 실시 가능할 것이다. 예를 들면, 실시예들은 LTE 시스템, 5G 또는 NR 시스템 등에도 적용될 수 있다.
Claims (20)
- 통신 시스템의 수신 장치에 의해 수행되는 방법에 있어서,
수신된 신호를 기반으로 제1 시퀀스를 획득하는 단계;
상기 제1 시퀀스의 길이를 운용 단위와 비교하는 단계;
상기 제1 시퀀스의 길이가 상기 운용 단위보다 작은 경우, 상기 제1 시퀀스를 기반으로 제2 시퀀스를 생성하는 단계; 및
상기 제2 시퀀스를 기반으로 복호화를 수행하는 단계를 포함하고,
상기 제2 시퀀스의 길이는 상기 운용 단위보다 크거나 같은 것을 특징으로 하는 방법. - 제1항에 있어서,
상기 운용 단위는 리프팅 크기(lifting size)를 기반으로 결정되는 것을 특징으로 하는 방법. - 제1항에 있어서,
상기 제2 시퀀스의 길이는 상기 운용 단위보다 크거나 같은, 변조 차수(modulation order)의 배수인 것을 특징으로 하는 방법. - 제1항에 있어서,
상기 제2 시퀀스는, 상기 제1 시퀀스의 원소에서 일정 개수만큼 값이 0인 원소를 더 포함하도록 생성되고,
상기 일정 개수는 상기 제2 시퀀스의 길이와 상기 제1 시퀀스의 길이의 차이인 것을 특징으로 하는 방법. - 제4항에 있어서,
상기 제2 시퀀스를 생성하는 단계는,
상기 제1 시퀀스를 기반으로 역-인터리빙을 수행하여 제3 시퀀스를 생성하는 단계;
상기 제3 시퀀스에 상기 일정 개수만큼 값이 0인 원소를 추가하여 제4 시퀀스를 생성하는 단계; 및
상기 제4 시퀀스를 기반으로 인터러빙을 수행하여 상기 제2 시퀀스를 생성하는 단계를 포함하는 것을 특징으로 하는 방법. - 통신 시스템의 수신 장치에 있어서,
송수신부; 및
수신된 신호를 기반으로 제1 시퀀스를 획득하고,
상기 제1 시퀀스의 길이를 운용 단위와 비교하고,
상기 제1 시퀀스의 길이가 상기 운용 단위보다 작은 경우, 상기 제1 시퀀스를 기반으로 제2 시퀀스를 생성하고,
상기 제2 시퀀스를 기반으로 복호화를 수행하도록 구성되는 제어부를 포함하고,
상기 제2 시퀀스의 길이는 상기 운용 단위보다 크거나 같은 것을 특징으로 하는 수신 장치. - 제6항에 있어서,
상기 운용 단위는 리프팅 크기(lifting size)를 기반으로 결정되는 것을 특징으로 하는 수신 장치. - 제6항에 있어서,
상기 제2 시퀀스의 길이는 상기 운용 단위보다 크거나 같은, 변조 차수(modulation order)의 배수인 것을 특징으로 하는 수신 장치. - 제6항에 있어서,
상기 제2 시퀀스는, 상기 제1 시퀀스의 원소에서 일정 개수만큼 값이 0인 원소를 더 포함하도록 생성되고,
상기 일정 개수는 상기 제2 시퀀스의 길이와 상기 제1 시퀀스의 길이의 차이인 것을 특징으로 하는 수신 장치. - 제6항에 있어서,
상기 제어부는,
상기 제1 시퀀스를 기반으로 역-인터리빙을 수행하여 제3 시퀀스를 생성하고, 상기 제3 시퀀스에 상기 일정 개수만큼 값이 0인 원소를 추가하여 제4 시퀀스를 생성하고, 상기 제4 시퀀스를 기반으로 인터러빙을 수행하여 상기 제2 시퀀스를 생성하도록 더 구성되는 것을 특징으로 하는 수신 장치. - 통신 시스템의 송신 장치에 의해 수행되는 방법에 있어서,
송신을 수행하기 위한 비트 시퀀스의 길이를 확인하는 단계;
상기 송신을 수행하기 위한 비트 시퀀스의 길이와 운용 단위를 비교하는 단계;
상기 송신을 수행하기 위한 비트 시퀀스의 길이가 상기 운용 단위보다 작은 경우, 상기 운용 단위보다 크거나 같은 길이를 가지는 제2 비트 시퀀스를 생성하는 단계;
상기 제2 비트 시퀀스를 기초로 상기 송신을 수행하기 위한 비트 시퀀스의 길이를 가지는 제1 비트 시퀀스를 생성하는 단계; 및
상기 제1 비트 시퀀스를 기반으로 신호를 송신하는 단계를 포함하는 것을 특징으로 하는 방법. - 제11항에 있어서,
상기 제2 비트 시퀀스를 생성하는 단계는,
상기 제2 비트 시퀀스의 길이를 기반으로 부호율 조정(rate-matching)을 수행하는 단계; 및
상기 제2 비트 시퀀스의 길이를 기반으로 비트 인터리빙을 수행하는 단계를 포함하는 것을 특징으로 하는 방법. - 제11항에 있어서,
상기 제2 비트 시퀀스의 길이는 상기 운용 단위보다 크거나 같은, 변조 차수(modulation order)의 배수인 것을 특징으로 하는 방법. - 제11항에 있어서,
상기 제1 비트 시퀀스는, 상기 제2 비트 시퀀스의 원소에서 일정 개수만큼의 비트를 천공(puncturing)하여 생성되고,
상기 일정 개수는 상기 제2 비트 시퀀스의 길이와 상기 제1 비트 시퀀스의 길이의 차이인 것을 특징으로 하는 방법. - 제14항에 있어서,
상기 제1 비트 시퀀스를 생성하는 단계는,
상기 제2 비트 시퀀스를 기반으로 역-인터리빙을 수행하여 제3 비트 시퀀스를 생성하는 단계;
상기 제3 비트 시퀀스에서 상기 일정 개수만큼의 비트를 천공(puncturing)하여 제4 비트 시퀀스를 생성하는 단계; 및
상기 제4 비트 시퀀스를 기반으로 인터러빙을 수행하여 상기 제1 비트 시퀀스를 생성하는 단계를 포함하는 것을 특징으로 하는 방법. - 통신 시스템의 송신 장치에 있어서,
송수신부; 및
송신을 수행하기 위한 비트 시퀀스의 길이를 확인하고,
상기 송신을 수행하기 위한 비트 시퀀스의 길이와 운용 단위를 비교하고,
상기 송신을 수행하기 위한 비트 시퀀스의 길이가 상기 운용 단위보다 작은 경우, 상기 운용 단위보다 크거나 같은 길이를 가지는 제2 비트 시퀀스를 생성하고,
상기 제2 비트 시퀀스를 기초로 상기 송신을 수행하기 위한 비트 시퀀스의 길이를 가지는 제1 비트 시퀀스를 생성하고,
상기 제1 비트 시퀀스를 기반으로 신호를 송신하도록 구성되는 제어부를 포함하는 것을 특징으로 하는 송신 장치. - 제16항에 있어서,
상기 제어부는,
상기 제2 비트 시퀀스의 길이를 기반으로 부호율 조정(rate-matching)을 수행하고, 상기 제2 비트 시퀀스의 길이를 기반으로 비트 인터리빙을 수행하도록 더 구성되는 것을 특징으로 하는 송신 장치. - 제16항에 있어서,
상기 제2 비트 시퀀스의 길이는 상기 운용 단위보다 크거나 같은, 변조 차수(modulation order)의 배수인 것을 특징으로 하는 송신 장치. - 제16항에 있어서,
상기 제1 비트 시퀀스는, 상기 제2 비트 시퀀스의 원소에서 일정 개수만큼의 비트를 천공(puncturing)하여 생성되고,
상기 일정 개수는 상기 제2 비트 시퀀스의 길이와 상기 제1 비트 시퀀스의 길이의 차이인 것을 특징으로 하는 송신 장치. - 제19항에 있어서,
상기 제어부는,
상기 제2 비트 시퀀스를 기반으로 역-인터리빙을 수행하여 제3 비트 시퀀스를 생성하고, 상기 제3 비트 시퀀스에서 상기 일정 개수만큼의 비트를 천공(puncturing)하여 제4 비트 시퀀스를 생성하고, 상기 제4 비트 시퀀스를 기반으로 인터러빙을 수행하여 상기 제1 비트 시퀀스를 생성하도록 더 구성되는 것을 특징으로 하는 송신 장치.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210120393A KR20230037264A (ko) | 2021-09-09 | 2021-09-09 | 통신 시스템에서 신호 송수신 방법 및 장치 |
PCT/KR2022/011761 WO2023038304A1 (ko) | 2021-09-09 | 2022-08-08 | 통신 시스템에서 신호 송수신 방법 및 장치 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210120393A KR20230037264A (ko) | 2021-09-09 | 2021-09-09 | 통신 시스템에서 신호 송수신 방법 및 장치 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20230037264A true KR20230037264A (ko) | 2023-03-16 |
Family
ID=85506710
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020210120393A KR20230037264A (ko) | 2021-09-09 | 2021-09-09 | 통신 시스템에서 신호 송수신 방법 및 장치 |
Country Status (2)
Country | Link |
---|---|
KR (1) | KR20230037264A (ko) |
WO (1) | WO2023038304A1 (ko) |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10804933B2 (en) * | 2016-09-30 | 2020-10-13 | Lg Electronics Inc. | QC LDPC code rate matching method and device therefor |
KR102302366B1 (ko) * | 2017-05-04 | 2021-09-16 | 삼성전자 주식회사 | 통신 또는 방송 시스템에서 채널 부호화/복호화 방법 및 장치 |
KR102378324B1 (ko) * | 2017-06-19 | 2022-03-25 | 삼성전자 주식회사 | 통신 및 방송 시스템을 위한 부호율-조정 방법 및 장치 |
CN110677157B (zh) * | 2017-06-27 | 2023-02-07 | 华为技术有限公司 | 信息处理的方法、装置和通信设备 |
JP7464521B2 (ja) * | 2017-09-11 | 2024-04-09 | 中興通訊股▲ふん▼有限公司 | Ldpcコード化データを処理する方法および装置 |
-
2021
- 2021-09-09 KR KR1020210120393A patent/KR20230037264A/ko unknown
-
2022
- 2022-08-08 WO PCT/KR2022/011761 patent/WO2023038304A1/ko unknown
Also Published As
Publication number | Publication date |
---|---|
WO2023038304A1 (ko) | 2023-03-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11838125B2 (en) | Apparatus and method for encoding and decoding using polar code in wireless communication system | |
US11018805B2 (en) | Apparatus and method of transmission using HARQ in communication or broadcasting system | |
US10742350B2 (en) | Method and apparatus of rate-matching for communication and broadcasting systems | |
US11451243B2 (en) | Method and apparatus for decoding data in communication or broadcasting system | |
US11637653B2 (en) | Method and apparatus of rate-matching for communication and broadcasting systems | |
WO2018059588A1 (zh) | 准循环ldpc编译码方法、装置及ldpc编译码器 | |
JP2024029096A (ja) | Ldpcコード化データを処理する方法および装置 | |
US11177830B2 (en) | Method and apparatus for data decoding in communication or broadcasting system | |
US20180331783A1 (en) | Method and apparatus for coding/decoding in a comminication or broadcasting system using high-order modulation | |
US11101926B2 (en) | Method and apparatus for channel encoding and decoding in communication or broadcasting system | |
EP4109794A1 (en) | Rate matching method for ldpc code, and communication device | |
EP4050805A1 (en) | Method and apparatus for decoding polar code in communication and broadcasting system | |
KR20190017594A (ko) | 통신 또는 방송 시스템에서 채널 부호화/복호화 방법 및 장치 | |
US11502781B2 (en) | Method and apparatus for channel encoding and decoding in communication or broadcasting system | |
KR20230037264A (ko) | 통신 시스템에서 신호 송수신 방법 및 장치 | |
US20230253984A1 (en) | Method and apparatus for data decoding in communication or broadcasting system | |
US20230059393A1 (en) | Method and apparatus for decoding of data in communication and broadcasting systems | |
KR20230081244A (ko) | 통신 및 방송 시스템에서 데이터 복호화 방법 및 장치 | |
KR20230164328A (ko) | 통신 시스템에서 저밀도 패리티 검사 부호의 레이어드 복호화 방법 및 장치 |