KR102445151B1 - 통신 또는 방송 시스템에서 채널 부호화/복호화 방법 및 장치 - Google Patents
통신 또는 방송 시스템에서 채널 부호화/복호화 방법 및 장치 Download PDFInfo
- Publication number
- KR102445151B1 KR102445151B1 KR1020170101933A KR20170101933A KR102445151B1 KR 102445151 B1 KR102445151 B1 KR 102445151B1 KR 1020170101933 A KR1020170101933 A KR 1020170101933A KR 20170101933 A KR20170101933 A KR 20170101933A KR 102445151 B1 KR102445151 B1 KR 102445151B1
- Authority
- KR
- South Korea
- Prior art keywords
- tbs
- mcs
- code
- information
- terminal
- 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/1867—Arrangements specially adapted for the transmitter end
- H04L1/1887—Scheduling and prioritising arrangements
-
- 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/0076—Distributed coding, e.g. network coding, involving channel coding
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/11—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
- H03M13/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] 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/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
- 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/0067—Rate matching
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L5/00—Arrangements affording multiple use of the transmission path
- H04L5/003—Arrangements for allocating sub-channels of the transmission path
- H04L5/0053—Allocation of signaling, i.e. of overhead other than pilot signals
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L5/00—Arrangements affording multiple use of the transmission path
- H04L5/003—Arrangements for allocating sub-channels of the transmission path
- H04L5/0048—Allocation of pilot signals, i.e. of signals known to the receiver
- H04L5/0051—Allocation of pilot signals, i.e. of signals known to the receiver of dedicated pilots, i.e. pilots destined for a single user or terminal
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W72/00—Local resource management
- H04W72/20—Control channels or signalling for resource management
- H04W72/23—Control channels or signalling for resource management in the downlink direction of a wireless link, i.e. towards a terminal
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Theoretical Computer Science (AREA)
- Mobile Radio Communication Systems (AREA)
- Reduction Or Emphasis Of Bandwidth Of Signals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
본 개시는 4G 시스템 이후 보다 높은 데이터 전송률을 지원하기 위한 5G 통신 시스템을 IoT 기술과 융합하는 통신 기법 및 그 시스템에 관한 것이다. 본 개시는 5G 통신 기술 및 IoT 관련 기술을 기반으로 지능형 서비스 (예를 들어, 스마트 홈, 스마트 빌딩, 스마트 시티, 스마트 카 혹은 커넥티드 카, 헬스 케어, 디지털 교육, 소매업, 보안 및 안전 관련 서비스 등)에 적용될 수 있다. 본 발명은 데이터 채널 전송에 사용되는 LDPC 코드의 Base graph 설정 방법 및 LDPC 코드를 이용한 전송 블록(TB, Transport Block)의 분할(Segmentation) 방법 및 장치를 개시한다. 또한, 상향링크 제어정보를 전송함에 있어서 하나 혹은 하나 이상의 코드블록으로 분할하여 전송하는 방법 및 장치를 개시한다.
Description
본 발명은 통신 또는 방송 시스템에서 채널 부호화/복호화 방법 및 장치에 관한 것이다.
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) 등이 개발되고 있다.
한편, 인터넷은 인간이 정보를 생성하고 소비하는 인간 중심의 연결 망에서, 사물 등 분산된 구성 요소들 간에 정보를 주고 받아 처리하는 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 기술 융합의 일 예라고 할 수 있을 것이다.
통신/방송 시스템에서, 링크(link) 성능은 채널의 여러 가지 잡음(noise), 페이딩(fading) 현상 및 심벌 간 간섭(inter-symbol interference, ISI)에 의해 현저히 저하될 수 있다. 따라서 차세대 이동 통신, 디지털 방송 및 휴대 인터넷과 같이 높은 데이터 처리량과 신뢰도를 요구하는 고속 디지털 통신/방송 시스템들을 구현하기 위해서 잡음, 페이딩 및 심벌 간 간섭을 극복하기 위한 기술을 개발하는 것이 요구된다. 잡음 등을 극복하기 위한 연구의 일환으로 최근에는 정보의 왜곡을 효율적으로 복원하여 통신의 신뢰도를 높이기 위한 방법으로서 오류정정부호 (error correcting code)에 대한 연구가 활발히 이루어지고 있다.
본 발명은 다양한 입력 길이와 부호율을 지원할 수 있는 부호화 비트 전송 방법 및 장치를 제공한다. 또한 본 발명은 데이터 채널 전송에 사용되는 LDPC 코드의 Base graph 설정 방법 및 LDPC 코드를 이용한 전송 블록(TB, Transport Block)의 분할(Segmentation) 방법 및 장치를 제공한다. 또한 본 발명은 상향링크 제어정보 (uplink control information: UCI) 전송에 있어, UCI를 여러 개의 Polar code 블록으로 분할하여 전송하는 방법 및 장치를 제공한다.
상기와 같은 문제점을 해결하기 위한 본 발명은 무선 통신 시스템에서 제어 신호 처리 방법에 있어서, 기지국으로부터 전송되는 제1 제어 신호를 수신하는 단계; 상기 수신된 제1 제어 신호를 처리하는 단계; 및 상기 처리에 기반하여 생성된 제2 제어 신호를 상기 기지국으로 전송하는 단계를 포함하는 것을 특징으로 한다.
본 발명은 가변 길이와 가변 레이트에 대해 적용할 수 있는 LDPC(Low Density Parity Check) 코드를 이용하여 차세대 이동통신 시스템의 다양한 서비스 요구 조건을 만족시킬 수 있다. 또한, 데이터 채널 코딩 방법인 LDPC(Low Density Parity Check)을 효율적인 운영을 지원할 수 있다. 또한, 상향링크 제어정보의 분할 후 채널코딩을 지원할 수 있다.
도 1은 LTE 또는 LTE-A 시스템의 하향링크 시간-주파수영역 전송 구조를 나타낸 도면.
도 2는 LTE 또는 LTE-A 시스템의 상향링크 시간-주파수영역 전송 구조를 나타낸 도면.
도 3은 LDPC 코드의 모행렬(혹은 기저 그래프)의 기본 구조를 도시하는 도면이다.
도 4는 단말의 수신 과정을 나타낸 블록도이다.
도 5는 전송 블록(Transport Block; TB)을 코드 블록(Code Block)으로 분할(Segmentation)하는 방법을 도시한 도면이다.
도 6은 제 3 실시 예를 따르는 전송 블록(Transport Block; TB)을 코드 블록(Code Block)으로 분할(Segmentation)하는 방법을 도시한 도면이다.
도 7은 제 3 실시 예를 따르는 전송 블록에 대한 분할 방법을 도시한 도면이다.
도 8는 제 4 실시 예를 따르는 전송 블록에 대한 분할 방법을 도시한 도면이다.
도 9는 실시 예들에 따른 단말의 구조를 도시하는 블록도이다.
도 10은 실시 예들에 따른 기지국의 구조를 도시하는 블록도이다.
도 2는 LTE 또는 LTE-A 시스템의 상향링크 시간-주파수영역 전송 구조를 나타낸 도면.
도 3은 LDPC 코드의 모행렬(혹은 기저 그래프)의 기본 구조를 도시하는 도면이다.
도 4는 단말의 수신 과정을 나타낸 블록도이다.
도 5는 전송 블록(Transport Block; TB)을 코드 블록(Code Block)으로 분할(Segmentation)하는 방법을 도시한 도면이다.
도 6은 제 3 실시 예를 따르는 전송 블록(Transport Block; TB)을 코드 블록(Code Block)으로 분할(Segmentation)하는 방법을 도시한 도면이다.
도 7은 제 3 실시 예를 따르는 전송 블록에 대한 분할 방법을 도시한 도면이다.
도 8는 제 4 실시 예를 따르는 전송 블록에 대한 분할 방법을 도시한 도면이다.
도 9는 실시 예들에 따른 단말의 구조를 도시하는 블록도이다.
도 10은 실시 예들에 따른 기지국의 구조를 도시하는 블록도이다.
이하, 본 발명의 실시 예를 첨부된 도면을 참조하여 상세하게 설명한다.
실시 예를 설명함에 있어서 본 발명이 속하는 기술 분야에 익히 알려져 있고 본 발명과 직접적으로 관련이 없는 기술 내용에 대해서는 설명을 생략한다. 이는 불필요한 설명을 생략함으로써 본 발명의 요지를 흐리지 않고 더욱 명확히 전달하기 위함이다.
마찬가지 이유로 첨부 도면에 있어서 일부 구성요소는 과장되거나 생략되거나 개략적으로 도시되었다. 또한, 각 구성요소의 크기는 실제 크기를 전적으로 반영하는 것이 아니다. 각 도면에서 동일한 또는 대응하는 구성요소에는 동일한 참조 번호를 부여하였다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시 예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시 예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시 예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
이 때, 처리 흐름도 도면들의 각 블록과 흐름도 도면들의 조합들은 컴퓨터 프로그램 인스트럭션들에 의해 수행될 수 있음을 이해할 수 있을 것이다. 이들 컴퓨터 프로그램 인스트럭션들은 범용 컴퓨터, 특수용 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서에 탑재될 수 있으므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서를 통해 수행되는 그 인스트럭션들이 흐름도 블록(들)에서 설명된 기능들을 수행하는 수단을 생성하게 된다. 이들 컴퓨터 프로그램 인스트럭션들은 특정 방식으로 기능을 구현하기 위해 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 지향할 수 있는 컴퓨터 이용 가능 또는 컴퓨터 판독 가능 메모리에 저장되는 것도 가능하므로, 그 컴퓨터 이용가능 또는 컴퓨터 판독 가능 메모리에 저장된 인스트럭션들은 흐름도 블록(들)에서 설명된 기능을 수행하는 인스트럭션 수단을 내포하는 제조 품목을 생산하는 것도 가능하다. 컴퓨터 프로그램 인스트럭션들은 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에 탑재되는 것도 가능하므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에서 일련의 동작 단계들이 수행되어 컴퓨터로 실행되는 프로세스를 생성해서 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 수행하는 인스트럭션들은 흐름도 블록(들)에서 설명된 기능들을 실행하기 위한 단계들을 제공하는 것도 가능하다.
또한, 각 블록은 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또, 몇 가지 대체 실행 예들에서는 블록들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들은 사실 실질적으로 동시에 수행되는 것도 가능하고 또는 그 블록들이 때때로 해당하는 기능에 따라 역순으로 수행되는 것도 가능하다.
이 때, 본 실시 예에서 사용되는 '~부'라는 용어는 소프트웨어 또는 FPGA또는 ASIC과 같은 하드웨어 구성요소를 의미하며, '~부'는 어떤 역할들을 수행한다. 그렇지만 '~부'는 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. '~부'는 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 '~부'는 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들, 및 변수들을 포함한다. 구성요소들과 '~부'들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 '~부'들로 결합되거나 추가적인 구성요소들과 '~부'들로 더 분리될 수 있다. 뿐만 아니라, 구성요소들 및 '~부'들은 디바이스 또는 보안 멀티미디어카드 내의 하나 또는 그 이상의 CPU들을 재생시키도록 구현될 수도 있다. 또한 실시 예에서 '~부'는 하나 이상의 프로세서를 포함할 수 있다.
무선 통신 시스템은 초기의 음성 위주의 서비스를 제공하던 것에서 벗어나 예를 들어, 3GPP의 HSPA(High Speed Packet Access), LTE(Long Term Evolution 혹은 E-UTRA (Evolved Universal Terrestrial Radio Access)), LTE-Advanced (LTE-A), 3GPP2의 HRPD(High Rate Packet Data), UMB(Ultra Mobile Broadband), 및 IEEE의 802.16e 등의 통신 표준과 같이 고속, 고품질의 패킷 데이터 서비스를 제공하는 광대역 무선 통신 시스템으로 발전하고 있다. 또한, 5세대 무선통신 시스템으로 5G 혹은 NR (new radio)의 통신표준이 만들어지고 있다.
이와 같이 5세대를 포함한 무선통신 시스템에서 eMBB (Enhanced mobile broadband), mMTC (massive Machine Type Communications) (mMTC) 및 URLLC (Ultra-Reliable and low-latency Communications) 중 적어도 하나의 서비스가 단말에 제공될 수 있다. 상기 서비스들은 동일 시구간 동안에 동일 단말에 제공될 수 있다. 실시 예에서 eMBB는 고용량데이터의 고속 전송, mMTC는 단말전력 최소화와 다수 단말의 접속, URLLC는 고신뢰도와 저지연을 목표로 하는 서비스일 수 있으나 이에 제한되지는 않는다. 상기 3가지의 서비스는 LTE 시스템 혹은 LTE 이후의 5G/NR (new radio, next radio) 등의 시스템에서 주요한 시나리오일 수 있다. 실시 예에서는 eMBB와 URLLC의 공존, 혹은 mMTC와 URLLC와의 공존 방법 및 이를 이용한 장치에 대해서 서술한다.
기지국이 특정 전송시간구간(transmission time interval, TTI)에서 eMBB 서비스에 해당하는 데이터를 어떠한 단말에게 스케줄링 하였을 때, 상기 TTI에서 URLLC 데이터를 전송해야 할 상황이 발생하였을 경우, 상기 이미 eMBB 데이터를 스케줄링하여 전송하고 있는 주파수 대역에서 eMBB 데이터 일부를 전송하지 않고, 상기 발생한 URLLC 데이터를 상기 주파수 대역에서 전송할 수 있다. 상기 eMBB를 스케줄링 받은 단말과 URLLC를 스케줄링 받은 단말은 서로 같은 단말일 수도 있고, 서로 다른 단말일 수도 있을 것이다. 이와 같은 경우 이미 스케줄링하여 전송하고 있던 eMBB 데이터 일부를 전송하지 않는 부분이 생기기 때문에 eMBB 데이터가 손상될 가능성이 증가한다. 따라서 상기 경우에 eMBB를 스케줄링을 받은 단말 혹은 URLLC를 스케줄링 받은 단말에서 수신한 신호를 처리하는 방법 및 신호 수신 방법이 정해질 필요가 있다. 따라서 실시 예에서는 일부 또는 전체 주파수 대역을 공유하여 eMBB와 URLLC에 따른 정보가 스케줄링 될 때, 혹은 mMTC와 URLLC에 따른 정보가 동시에 스케줄링 될 때, 혹은 mMTC와 eMBB에 따른 정보가 동시에 스케줄링 될 때, 혹은 eMBB와 URLLC와 mMTC에 따른 정보가 동시에 스케줄링 될 때 각 서비스에 따른 정보를 전송할 수 있는 이종서비스간 공존 방법에 대해서 서술한다.
이하 본 발명의 실시 예를 첨부한 도면과 함께 상세히 설명한다. 또한 본 발명을 설명함에 있어서 관련된 기능 혹은 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단된 경우 그 상세한 설명은 생략한다. 그리고 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다. 이하, 기지국은 단말의 자원할당을 수행하는 주체로서, gNode B, eNode B, Node B, BS (Base Station), 무선 접속 유닛, 기지국 제어기, 또는 네트워크 상의 노드 중 적어도 하나일 수 있다. 단말은 UE (User Equipment), MS (Mobile Station), 셀룰러폰, 스마트폰, 컴퓨터, 또는 통신기능을 수행할 수 있는 멀티미디어시스템을 포함할 수 있다. 본 발명에서 하향링크(Downlink; DL)는 기지국이 단말에게 전송하는 신호의 무선 전송경로이고, 상향링크는(Uplink; UL)는 단말이 기국에게 전송하는 신호의 무선 전송경로를 의미한다. 또한, 이하에서 LTE 혹은 LTE-A 시스템을 일례로서 본 발명의 실시 예를 설명하지만, 유사한 기술적 배경 또는 채널형태를 갖는 여타의 통신시스템에도 본 발명의 실시 예가 적용될 수 있다. 예를 들어 LTE-A 이후에 개발되는 5세대 이동통신 기술(5G, new radio, NR)이 이에 포함될 수 있을 것이다. 또한, 본 발명의 실시 예는 숙련된 기술적 지식을 가진 자의 판단으로써 본 발명의 범위를 크게 벗어나지 아니하는 범위에서 일부 변형을 통해 다른 통신시스템에도 적용될 수 있다.
상기 광대역 무선 통신 시스템의 대표적인 예로, LTE 시스템에서는 하향링크(Downlink; DL)에서는 OFDM(Orthogonal Frequency Division Multiplexing) 방식을 채용하고 있고, 상향링크(Uplink; UL)에서는 SC-FDMA(Single Carrier Frequency Division Multiple Access) 방식을 채용하고 있다. 상향링크는 단말(terminal 혹은 User Equipment, UE) 혹은 Mobile Station(MS)이 기지국(gNode B, 혹은 base station(BS)으로 데이터 혹은 제어신호를 전송하는 무선링크를 뜻하고, 하향링크는 기지국이 단말로 데이터 혹은 제어신호를 전송하는 무선링크를 뜻한다. 상기와 같은 다중 접속 방식은, 통상 각 사용자 별로 데이터 혹은 제어정보를 실어 보낼 시간-주파수 자원을 서로 겹치지 않도록, 즉 직교성 (Orthogonality)이 성립하도록, 할당 및 운용함으로써 각 사용자의 데이터 혹은 제어정보를 구분할 수 있다.
LTE 시스템은 초기 전송에서 복호 실패가 발생된 경우, 물리 계층에서 해당 데이터를 재전송하는 HARQ (Hybrid Automatic Repeat reQuest) 방식을 채용하고 있다. HARQ 방식이란 수신기가 데이터를 정확하게 복호화(디코딩)하지 못한 경우, 수신기가 송신기에게 디코딩 실패를 알리는 정보(NACK; Negative Acknowledgement)를 전송하여 송신기가 물리 계층에서 해당 데이터를 재전송할 수 있게 한다. 수신기는 송신기가 재전송한 데이터를 이전에 디코딩 실패한 데이터와 결합하여 데이터 수신성능을 높이게 된다. 또한, 수신기가 데이터를 정확하게 복호한 경우 송신기에게 디코딩 성공을 알리는 정보(ACK; Acknowledgement)를 전송하여 송신기가 새로운 데이터를 전송할 수 있도록 할 수 있다.
이하 본 발명에서 설명되는 상위 신호는 SIB, RRC, MAC CE와 같은 신호로써 단말의 특정 동작 제어를 준정적/정적으로 지원하며, 물리 신호는 L1 신호로써 단말 공통 하향 제어 정보 또는 단말 특정 하향 제어 정보의 형태로 단말의 특정 동작 제어를 동적으로 지원한다.
도 1는 LTE 시스템 또는 이와 유사한 시스템에서 하향링크에서 상기 데이터 혹은 제어채널이 전송되는 무선자원영역인 시간-주파수영역의 기본 구조를 나타낸 도면이다.
도 1을 참조하면, 가로축은 시간영역을, 세로축은 주파수영역을 나타낸다. 시간영역에서의 최소 전송단위는 OFDM 심벌로서, Nsymb 개의 OFDM 심벌이 모여 하나의 슬롯(106)을 구성하고, 2개의 슬롯이 모여 하나의 서브프레임(105)을 구성한다. 상기 슬롯의 길이는 0.5ms 이고, 서브프레임의 길이는 1.0ms 이다. 그리고 라디오 프레임(114)은 10개의 서브프레임으로 구성되는 시간영역구간이다. 주파수영역에서의 최소 전송단위는 서브캐리어(subcarrier)로서, 전체 시스템 전송 대역 (Transmission bandwidth)의 대역폭은 총 NBW (104)개의 서브캐리어로 구성된다. 다만 이와 같은 구체적인 수치는 가변적으로 적용될 수 있다.
시간-주파수영역에서 자원의 기본 단위는 리소스 엘리먼트(112, Resource Element; RE)로서 OFDM 심벌 인덱스 및 서브캐리어 인덱스로 나타낼 수 있다. 리소스 블록(108, Resource Block; RB 혹은 Physical Resource Block; PRB)은 시간영역에서 Nsymb 개의 연속된 OFDM 심벌과 주파수 영역에서 NRB (110)개의 연속된 서브캐리어로 정의될 수 있다. 따라서, 한 슬롯에서 하나의 RB(108)는 Nsymb x NRB 개의 RE(112)를 포함할 수 있다. 일반적으로 데이터의 주파수 영역 최소 할당단위는 상기 RB이며, LTE 시스템에서 일반적으로 상기 Nsymb = 7, NRB=12 이고, NBW 및 NRB 는 시스템 전송 대역의 대역폭에 비례할 수 있다. 단말에게 스케줄링 되는 RB 개수에 비례하여 데이터 레이트가 증가하게 된다. LTE 시스템은 6개의 전송 대역폭을 정의하여 운영할 수 있다. 하향링크와 상향링크를 주파수로 구분하여 운영하는 FDD 시스템의 경우, 하향링크 전송 대역폭과 상향링크 전송 대역폭이 서로 다를 수 있다. 채널 대역폭은 시스템 전송 대역폭에 대응되는 RF 대역폭을 나타낸다. 아래의 표 1은 LTE 시스템에 정의된 시스템 전송 대역폭과 채널 대역폭 (Channel bandwidth)의 대응관계를 나타낸다. 예를 들어, 10MHz 채널 대역폭을 갖는 LTE 시스템은 전송 대역폭이 50개의 RB로 구성될 수 있다.
[표 1]
하향링크 제어정보의 경우 상기 서브프레임 내의 최초 N 개의 OFDM 심벌 이내에 전송될 수 있다. 실시 예에서 일반적으로 N = {1, 2, 3} 이다. 따라서 현재 서브프레임에 전송해야 할 제어정보의 양에 따라 상기 N 값이 서브프레임마다 가변적으로 적용될 수 있다.
상기 전송 되는 하향 제어 정보는 제어정보가 OFDM 심벌 몇 개에 걸쳐 전송되는지를 나타내는 제어채널 전송구간 지시자, 하향링크 데이터 혹은 상향링크 데이터에 대한 스케쥴링 정보, HARQ ACK/NACK 에 관한 정보를 포함할 수 있다.
LTE 시스템에서 하향링크 데이터 혹은 상향링크 데이터에 대한 스케줄링 정보는 하향링크 제어정보(Downlink Control Information; DCI)를 통해 기지국으로부터 단말에게 전달된다. DCI 는 여러 가지 포맷에 따라 정의되며, 각 포멧에 따라 상향링크 데이터에 대한 스케줄링 정보 (UL grant) 인지 하향링크 데이터에 대한 스케줄링 정보 (DL grant) 인지 여부, 제어정보의 크기가 작은 컴팩트 DCI 인지 여부, 다중안테나를 사용한 공간 다중화 (spatial multiplexing)을 적용하는지 여부, 전력제어 용 DCI 인지 여부 등을 나타낼 수 있다. 예컨대, 하향링크 데이터에 대한 스케줄링 제어정보(DL grant)인 DCI format 1 은 적어도 다음과 같은 제어정보들 중 하나를 포함할 수 있다.
- 자원 할당 유형 0/1 플래그(Resource allocation type 0/1 flag): 리소스 할당 방식이 유형 0 인지 유형 1 인지 지시한다. 유형 0 은 비트맵 방식을 적용하여 RBG (resource block group) 단위로 리소스를 할당한다. LTE 시스템에서 스케줄링의 기본 단위는 시간 및 주파수 영역 리소스로 표현되는 RB이고, RBG 는 복수개의 RB로 구성되어 유형 0 방식에서의 스케줄링의 기본 단위가 된다. 유형 1 은 RBG 내에서 특정 RB를 할당하도록 한다.
- 자원 블록 할당(Resource block assignment): 데이터 전송에 할당된 RB를 지시한다. 시스템 대역폭 및 리소스 할당 방식에 따라 표현하는 리소스가 결정된다.
- 변조 및 코딩 방식(Modulation and coding scheme; MCS): 데이터 전송에 사용된 변조방식과 전송하고자 하는 데이터인 전송블록(TB, Transport Block) 의 크기를 지시한다.
- HARQ 프로세스 번호(HARQ process number): HARQ 의 프로세스 번호를 지시한다.
- 새로운 데이터 지시자(New data indicator): HARQ 초기전송인지 재전송인지를 지시한다.
- 중복 버전(Redundancy version): HARQ 의 중복 버전(redundancy version) 을 지시한다.
- PUCCH를 위한 전송 전력 제어 명령(Transmit Power Control(TPC) command) for PUCCH(Physical Uplink Control CHannel): 상향링크 제어 채널인 PUCCH 에 대한 전송 전력 제어 명령을 지시한다.
상기 DCI는 채널코딩 및 변조과정을 거쳐 하향링크 물리제어채널인 PDCCH (Physical downlink control channel)(또는, 하향 제어 정보, 이하 혼용하여 사용하도록 한다) 혹은 EPDCCH (Enhanced PDCCH)(또는, 향상된 하향 제어 정보, 이하 혼용하여 사용하도록 한다)상에서 전송될 수 있다.
일반적으로 상기 DCI는 각 단말에 대해 독립적으로 특정 RNTI (Radio Network Temporary Identifier)(또는, 단말 식별자)로 스크램블 되어 CRC(cyclic redundancy check)가 추가되고, 채널 코딩 된 후, 각각 독립적인 PDCCH로 구성되어 전송된다. 시간영역에서 PDCCH는 상기 제어채널 전송구간 동안 매핑되어 전송된다. PDCCH 의 주파수영역 매핑 위치는 각 단말의 식별자(ID) 에 의해 결정되고, 전체 시스템 전송 대역에 퍼져서 전송 될 수 있다.
하향링크 데이터는 하향링크 데이터 전송용 물리채널인 PDSCH (Physical Downlink Shared Channel) 상에서 전송 될 수 있다. PDSCH는 상기 제어채널 전송구간 이후부터 전송될 수 있으며, 주파수 영역에서의 구체적인 매핑 위치, 변조 방식 등의 스케줄링 정보는 상기 PDCCH 를 통해 전송되는 DCI를 기반으로 결정된다.
상기 DCI 를 구성하는 제어정보 중에서 MCS 를 통해서, 기지국은 단말에게 전송하고자 하는 PDSCH에 적용된 변조방식과 전송하고자 하는 데이터의 크기 (transport block size; TBS)를 통지한다. 실시 예에서 MCS 는 5비트 혹은 그보다 더 많거나 적은 비트로 구성될 수 있다. 상기 TBS 는 기지국이 전송하고자 하는 데이터 전송 블록 (transport block, TB)에 오류정정을 위한 채널코딩이 적용되기 이전의 크기에 해당한다.
LTE 시스템에서 지원하는 변조방식은 QPSK(Quadrature Phase Shift Keying), 16QAM(Quadrature Amplitude Modulation), 64QAM 으로서, 각각의 변조오더(Modulation order) (Qm) 는 2, 4, 6 에 해당한다. 즉, QPSK 변조의 경우 심벌 당 2 비트, 16QAM 변조의 경우 심볼 당 4 비트, 64QAM 변조의 경우 심벌 당 6 비트를 전송할 수 있다. 또한 시스템 변형에 따라 256QAM 이상의 변조 방식도 사용될 수 있다.
도 2는 LTE-A 시스템에서 상향링크에서 데이터 혹은 제어채널이 전송되는 무선자원영역인 시간-주파수영역의 기본 구조를 나타낸 도면이다.
도 2를 참조하면, 가로축은 시간영역을, 세로축은 주파수영역을 나타낸다. 시간영역에서의 최소 전송단위는 SC-FDMA 심벌로서, NsymbUL 개의 SC-FDMA 심벌이 모여 하나의 슬롯(206)을 구성할 수 있다. 그리고 2개의 슬롯이 모여 하나의 서브프레임(205)을 구성한다. 주파수영역에서의 최소 전송단위는 서브캐리어로서, 전체 시스템 전송 대역(transmission bandwidth; 204)은 총 NBW개의 서브캐리어로 구성된다. NBW는 시스템 전송 대역에 비례하는 값을 가질 수 있다.
시간-주파수영역에서 자원의 기본 단위는 리소스 엘리먼트(Resource Element; RE, 212)로서 SC-FDMA 심벌 인덱스 및 서브캐리어 인덱스로 정의할 수 있다. 리소스 블록 페어(208, Resource Block pair; RB pair)은 시간영역에서 NsymbUL 개의 연속된 SC-FDMA 심벌과 주파수 영역에서 NscRB 개의 연속된 서브캐리어로 정의될 수 있다. 따라서, 하나의 RB는 NsymbUL x NscRB 개의 RE로 구성된다. 일반적으로 데이터 혹은 제어정보의 최소 전송단위는 RB 단위이다. PUCCH 의 경우 1 RB에 해당하는 주파수 영역에 매핑되어 1 서브프레임 동안 전송된다.
LTE 시스템에서는 하향링크 데이터 전송용 물리채널인 PDSCH 혹은 반영구적 스케줄링 해제(semi-persistent scheduling release; SPS release)를 포함하는 PDCCH/EPDDCH에 대응하는 HARQ ACK/NACK이 전송되는 상향링크 물리채널인 PUCCH 혹은 PUSCH의 타이밍 관계가 정의될 수 있다. 일례로 FDD(frequency division duplex)로 동작하는 LTE 시스템에서는 n-4번째 서브프레임에서 전송된 PDSCH 혹은 SPS release를 포함하는 PDCCH/EPDCCH에 대응하는 HARQ ACK/NACK가 n번째 서브프레임에서 PUCCH 혹은 PUSCH로 전송될 수 있다.
LTE 시스템에서 하향링크 HARQ는 데이터 재전송시점이 고정되지 않은 비동기(asynchronous) HARQ 방식을 채택하고 있다. 즉, 기지국이 전송한 초기전송 데이터에 대해 단말로부터 HARQ NACK을 피드백 받은 경우, 기지국은 재전송 데이터의 전송시점을 스케줄링 동작에 의해 자유롭게 결정한다. 단말은 HARQ 동작을 위해 수신 데이터에 대한 디코딩 결과, 오류로 판단된 데이터에 대해 버퍼링을 한 후, 다음 재전송 데이터와 컴바이닝을 수행할 수 있다.
단말은 서브프레임 n에 기지국으로부터 전송된 하향링크 데이터를 포함하는 PDSCH를 수신하면, 서브프레임 n+k에 상기 하향링크 데이터의 HARQ ACK 혹은 NACK를 포함하는 상향링크 제어정보를 PUCCH 혹은 PUSCH를 통해 기지국으로 전송한다. 이 때 상기 k는 LTE의 시스템의 FDD 또는 TDD(time division duplex)와 그 서브프레임 설정에 따라 다르게 정의될 수 있다. 일례로 FDD LTE 시스템의 경우에는 상기 k가 4로 고정된다. 한편 TDD LTE 시스템의 경우에는 상기 k가 서브프레임 설정과 서브프레임 번호에 따라 바뀔 수 있다. 또한 복수의 캐리어를 통한 데이터 전송 시에 각 캐리어의 TDD 설정에 따라 k의 값이 다르게 적용될 수 있다.
LTE 시스템에서 하향링크 HARQ 와 달리 상향링크 HARQ는 데이터 전송시점이 고정된 동기(synchronous) HARQ 방식을 채택하고 있다. 즉, 상향링크 데이터 전송용 물리채널인 PUSCH(Physical Uplink Shared Channel)와 이에 선행하는 하향링크 제어채널인 PDCCH, 그리고 상기 PUSCH에 대응되는 하향링크 HARQ ACK/NACK이 전송되는 물리채널인 PHICH(Physical Hybrid Indicator Channel)의 상/하향링크 타이밍 관계가 다음과 같은 규칙에 의해 송수신 될 수 있다.
단말은 서브프레임 n에 기지국으로부터 전송된 상향링크 스케줄링 제어정보를 포함하는 PDCCH 혹은 하향링크 HARQ ACK/NACK이 전송되는 PHICH를 수신하면, 서브프레임 n+k에 상기 제어정보에 대응되는 상향링크 데이터를 PUSCH를 통해 전송한다. 이 때 상기 k는 LTE의 시스템의 FDD 또는 TDD(time division duplex)와 그 설정에 따라 다르게 정의될 수 있다. 일례로 FDD LTE 시스템의 경우에는 상기 k가 4로 고정될 수 있다. 한편 TDD LTE 시스템의 경우에는 상기 k가 서브프레임 설정과 서브프레임 번호에 따라 바뀔 수 있다. 또한 복수의 캐리어를 통한 데이터 전송 시에 각 캐리어의 TDD 설정에 따라 k의 값이 다르게 적용될 수 있다.
그리고 단말은 서브프레임 i에 기지국으로부터 하향링크 HARQ ACK/NACK와 관련된 정보를 포함하는 PHICH를 수신하면, 상기 PHICH는 서브프레임 i-k에 단말이 전송한 PUSCH에 대응된다. 이 때 상기 k는 LTE의 시스템의 FDD 또는 TDD와 그 설정에 따라 다르게 정의될 수 있다. 일례로 FDD LTE 시스템의 경우에는 상기 k가 4로 고정된다. 한편 TDD LTE 시스템의 경우에는 상기 k가 서브프레임 설정과 서브프레임 번호에 따라 바뀔 수 있다. 또한 복수의 캐리어를 통한 데이터 전송 시에 각 캐리어의 TDD 설정에 따라 k의 값이 다르게 적용될 수 있다.
[표 2]
상기 표 2는 C-RNTI에 의해 설정된 조건에서 각 전송 모드에 따른 지원 가능한 DCI 포맷 유형을 보여준다. 단말은 기 설정된 전송 모드에 따라 제어 영역 구간에서 해당 DCI 포맷이 존재함을 가정하고 탐색 및 디코딩을 수행하게 된다. 이를 테면, 단말이 전송모드 8을 지시 받은 경우, 단말은 공통 탐색 영역(Common search space) 및 단말-특정 탐색 영역(UE-specific search space)에서 DCI 포맷 1A를 탐색하며, 단말-특정 탐색 영역에서만 DCI 포맷 2B를 탐색한다.
상기 무선통신시스템의 설명은 LTE 시스템을 기준으로 설명하였으며, 본 발명의 내용은 LTE 시스템에 국한되는 것이 아니라 NR, 5G 등 다양한 무선 통신 시스템에서 적용될 수 있다. 또한 실시 예에서 다른 무선 통신 시스템에 적용되는 경우 FDD와 대응되는 변조 방식을 사용하는 시스템에도 k 값은 변경되어 적용될 수 있다.
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 시스템(NR, New Radio)에서는 진보된 코딩 변조(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 코드의 Base graph 설정 방법 및 LDPC 코드를 이용한 전송 블록(TB, Transport Block)의 분할(Segmentation) 방법 및 장치를 제공한다.
다음으로 LDPC(Low Density Parity Check) 코드(Code)에 대해 설명하도록 한다.
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와 관계가 있음을 의미한다.
통신 및 방송 시스템에서 사용되는 패리티 검사 행렬은 구현의 용이성을 위해 통상적으로 준순환(quasi-cyclic) 형태의 패리티 검사 행렬을 사용하는 준순환 LDPC 부호(또는 QC-LDPC 부호, 이하 QC-LDPC 부호)가 많이 사용된다.
QC-LDPC 부호는 작은 정사각 행렬의 형태를 가지는 0-행렬(zero matrix)이나 순환 순열 행렬(circulant permutation matrices)로 구성된 패리티 검사 행렬을 가짐을 특징으로 한다.
다음 [수학식 2]와 같이 Z×Z크기의 순열 행렬(permutation matrix) P=(Pij)을 정의한다.
[수학식 2]
상기 [수학식 2]에서, Pij (0 ≤ i, j < Z)는 행렬 상기 행렬 P에서의 i번째 행(row), j번째 열(column)의 원소(entry)를 의미한다. 상기와 같이 정의된 순열 행렬 P에 대해서 (0 ≤ i < Z)는 Z×Z 크기의 항등 행렬(identity matrix)의 각 원소들을 i 번 만큼 오른쪽 방향으로 순환 이동(circular shift) 시킨 형태의 순환 순열 행렬임을 알 수 있다.
가장 간단한 QC-LDPC 부호의 패리티 검사 행렬 H는 다음 [수학식 3]와 같은 형태로 나타낼 수 있다.
[수학식 3]
만일 P-1을 Z×Z 크기의 0-행렬이라 정의할 경우, 상기 [수학식 3]에서 순환 순열 행렬 또는 0-행렬의 각 지수 aij는 {-1, 0, 1, 2, ..., Z-1} 값 중에 하나를 가지게 된다. 또한 상기 [수학식 3]의 패리티 검사 행렬 H는 열 블록이 n개, 행 블록이 m개이므로, Z×Z 크기를 가지게 됨을 알 수 있다.
통상적으로 상기 [수학식 3]의 패리티 검사 행렬에서 각 순환 순열 행렬 및 0-행렬을 각각 1과 0으로 치환(replace)하여 얻은 m×n 크기의 이진(binary) 행렬을 패리티 검사 행렬 H의 모행렬(mother matrix)(혹은 기저 그래프(Base Graph)) M(H)라 하고, 각 순환 순열 행렬 또는 0-행렬의 지수만을 선택하여 [수학식 4]와 같이 얻은 m×n 크기의 정수 행렬을 패리티 검사 행렬 H의 지수 행렬 E(H)라 한다.
[수학식 4]
한편, 패리티 검사 행렬에 따라 LDPC 부호의 성능이 결정될 수 있다. 따라서, 우수한 성능을 갖는 LDPC 부호를 위해 패리티 검사 행렬을 설계하는 것이 필요하다. 또한 다양한 입력 길이와 부호율을 지원 할 수 있는 LDPC 부호화 및 복호화 방법이 필요하다.
QC-LDPC 부호의 효율적인 설계를 위해서 리프팅(Lifting)이라 알려진 방법을 사용한다. 리프팅은 주어진 작은 모행렬로부터 순환 순열 행렬 또는 0-행렬의 크기를 결정하는 Z 값을 특정한 규칙에 따라 설정함으로써 효율적으로 매우 큰 패리티 검사 행렬을 설계하는 방법이다. 기존 리프팅 방법과 이렇게 리프팅을 통해 설계된 QC-LDPC 부호의 특징을 간단히 정리하면 다음과 같다.
먼저 LDPC 부호 C0가 주어져 있을 때 리프팅 방법을 통해 설계될 S개의 QC-LDPC 부호를 C1, C2, …, Ck, …, CS (동일하게 Ck for 1 ≤ k ≤ S) 이라 하고, QC-LDPC 부호 Ck의 패러티 검사 행렬을 Hk라 하고, 패리티 검사 행렬을 구성하는 순환 행렬의 행블록 및 열블록의 크기에 해당하는 값은 Zk라 한다. 여기서 C0는 C1, ..., CS 부호의 모행렬을 패리티 검사 행렬로 가지는 가장 작은 LDPC 부호에 해당하며 행블록 및 열블록의 크기에 해당하는 Z0 값은 1이고, 0 ≤ k ≤ S-1에 대하여, Zk<Zk +1 이다. 또, 편의상 각 부호 Ck의 패리티 검사 행렬 Hk는 m×n 크기의 지수 행렬 E(Hk)=ai,j (k) 을 가지며 각 지수 ai,j (k) 들은 {-1, 0, 1, 2, ..., Zk - 1} 값 중에 하나로 선택된다. 리프팅은 C0 → C1 →...→ CS와 같은 단계로 이루어지며 Zk +1 = qk +1Zk (qk+1은 양의 정수, k=0,1,..., S-1)와 같은 특징을 가진다. 또한 리프팅 과정의 특성에 의해 CS의 패리티 검사 행렬 HS만 저장하고 있으면 리프팅 방식에 따라 다음 [수학식 5] 또는 [수학식 6]을 이용하여 상기 QC-LDPC 부호 C0, C1, ..., CS를 모두 나타낼 수 있다.
[수학식 5]
[수학식 6]
상기 방식을 가장 일반화하여 표현하면 하기 [수학식 7]과 같이 표현할 수 있다.
[수학식 7]
상기 [수학식 7]에서 f(x,y)는 x와 y를 입력값으로 하는 임의의 함수를 의미한다. Vi,j는 가장 큰 크기를 갖는 LDPC 부호(예컨대 상기 설명에서 CS에 대응)에 해당하는 패리티 검사 행렬의 지수 행렬의 i번째 행, j번째 열에 해당하는 원소를 의미한다. Pij는 임의의 크기를 갖는 LDPC 부호(예컨대 상기 설명에서 Ck에 대응)에 대한 패리티 검사 행렬의 지수 행렬의 i번째 행, j번 째 열에 해당하는 원소를 의미하고, Z는 해당 LDPC 부호의 패리티 검사 행렬을 구성하는 순환 행렬의 행블록 및 열불록의 크기를 의미한다. 따라서, Vi,j가 정의되어 있으면 임의의 크기를 갖는 LDPC 부호에 대한 패리티 검사 행렬을 정의할 수 있다.
추후 본 발명을 기술하는데 있어서, 상기에서 설명한 표기를 하기와 같이 명명하여 정의하고 이를 사용하도록 한다.
[정의 1]
임의의 LDPC 부호에 대한 패러티 검사행렬은 상기에서 정의한 최대 지수 행렬 또는 최대 지수 행렬 원소를 이용하여 표현할 수 있다.
차세대 이동통신 시스템에서는 다양한 길이를 갖는 코드 블록에 대한 최적의 성능을 보장하기 위하여, 상기에서 정의한 최대 지수 행렬이 다수 개 존재 할 수 있다. 예컨대 M개의 서로 다른 최대 지수 행렬이 존재할 수 있으며, 이를 하기와 같이 표현할 수 있다.
[수학식 8]
이에 해당하는 최대 지수 행렬 원소가 다수 개 존재할 수 있으며, 이를 하기와 같이 표현할 수 있다.
[수학식 9]
상기 [수학식 9]에서 최대 지수 행렬 원소 (Vi,j)m은 최대 지수 행렬 E(HS)m의 (i, j)에 해당한다. 하기에서는 본 발명에서 LDPC 부호에 대한 패러티 검사 행렬을 정의하는데 있어서 상기에서 정의한 최대 지수 행렬을 이용하여 기술하도록 한다. 이는 최대 지수 행렬 원소를 이용하여 표현하는 것과 동일하게 적용될 수 있다.
다음은 터보 코드 기반 코드 블록 분할(segmentation) 및 CRC 추가 방법이다.
5G 및 차세대 통신시스템은 LTE와 달리 LDPC 코드를 데이터 채널에서 사용한다. 그리고 LDPC 코드를 적용하는 상황에서도 하나의 전송 블록을 여러 개의 코드 블록으로 분할하며, 그 중 일부 코드 블록들은 하나의 코드 블록 그룹을 형성할 수 있다. 또한 각 코드 블록 그룹들의 코드 블록 수는 모두 동일하거나 일부 다른 값을 가지는 것이 가능하다. 비트 단위 인터리빙은 개별 코드 블록 또는 코드 블록 그룹 또는 전송 블록에 적용될 수 있다.
도 3은 LDPC 코드의 모행렬(혹은 기저 그래프)의 기본 구조를 도시하는 도면이다.
도 3에서 차세대 이동통신 시스템에서 데이터 채널 코딩을 지원하는 LDPC 코드의 base-graph(300) 기본 구조는 기본적으로 2개가 지원된다. 첫 번째 LDPC 코드의 base-graph 구조는 최대 세로 길이 46(320), 최대 가로 길이 68(318)의 행렬 구조를 가지며, 두 번째 LDPC 코드의 base-graph 구조는 최대 세로 길이 42(320), 최대 가로 길이 52(318)의 행렬 구조를 가진다. 첫 번째 LPDC 코드의 base-graph 구조는 최소 1/3 ~ 최대 8/9 코드 레이트를 지원하며, 두 번째 LDPC 코드의 base-graph 구조는 최소 1/5 ~ 최대 8/9 코드 레이트를 지원할 수 있다.
기본적으로 LDPC 코드는 6개의 서브 행렬 구조로 구성되어 있다. 첫 번째 서브 행렬 구조(302)는 시스템 비트들을 포함하고 있다. 두 번째 서브 행렬 구조(304)는 정사각 행렬이며 패리티 비트들을 포함하고 있다. 세 번째 서브 행렬 구조(306)은 제로 행렬이다. 네 번째 서브 행렬 구조(308)와 다섯 번째 서브 행렬 구조(310)는 패리티 비트들을 포함하고 있다. 여섯 번째 서브 행렬 구조(312)는 단위 행렬이다.
첫 번째 LDPC 코드의 base-graph 구조에서 첫 번째 서브 행렬(302)의 가로 길이(322)는 22의 값을 가지며 세로 길이(314)는 4 또는 5의 값을 가진다. 두 번째 서브 행렬(304)의 가로 길이(324)와 세로 길이(314)는 모두 4 또는 5의 값을 가진다. 세 번째 서브 행렬(306)의 가로 길이(326)는 42 또는 41의 값을 가지며, 세로 길이(314)는 4 또는 5의 값을 가진다. 네 번째 서브 행렬(308)의 세로 길이(316)는 42 또는 41의 값을 가지며, 가로 길이(322)는 22의 값을 가진다. 다섯 번째 서브 행렬(310)의 가로 길이(324)는 4 또는 5의 값을 가지며, 세로 길이(316)는 42 또는 41의 값을 가진다. 여섯 번째 서브 행렬(312)의 가로 길이(326)와 세로 길이(316)는 모두 42 또는 31의 값을 가진다.
두 번째 LDPC 코드의 base-graph 구조에서 첫 번째 서브 행렬(302)의 가로 길이(322)는 10의 값을 가지며 세로 길이(314)는 7의 값을 가진다. 두 번째 서브 행렬(304)의 가로 길이(324)와 세로 길이(314)는 모두 7의 값을 가진다. 세 번째 서브 행렬(306)의 가로 길이(326)는 35의 값을 가지며, 세로 길이(314)는 7의 값을 가진다. 네 번째 서브 행렬(308)의 세로 길이(316)는 35의 값을 가지며, 가로 길이(322)는 10의 값을 가진다. 다섯 번째 서브 행렬(310)의 가로 길이(324)는 7의 값을 가지며, 세로 길이(316)는 35의 값을 가진다. 여섯 번째 서브 행렬(312)의 가로 길이(326)와 세로 길이(316)는 모두 35의 값을 가진다.
첫 번째 LDPC 코드의 base-graph 구조에서 지원 가능한 하나의 코드 블록 크기는 22 × Z (여기서, Z = a × 2j이며, Z는 다음 표 3으로 구성되며, 최대로 지원 가능한 하나의 코드 블록 크기는 8448이며, 최소로 지원 가능한 하나의 코드 블록 크기는 44이다. 참고로 표 3에서 Z 값의 후보로써 (272, 304, 336, 368) 중 일부 또는 전체가 추가로 반영될 수 있다.
[표 3]
첫 번째 LDPC 코드의 base-graph 구조에서 지원 가능한 하나의 코드 블록 크기들은 다음과 같다.
44, 66, 88, 110, 132, 154, 176, 198, 220, 242, 264, 286, 308, 330, 352, 296, 440, 484, 528, 572, 616, 660, 704, 792, 880, 968, 1056, 1144, 1232, 1320, 1408, 1584, 1760, 1936, 2112, 2288, 2464, 2640, 2816, 3168, 3520, 3872, 4224, 4576, 4928, 5280, 5632, 6336, 7040, 7744, 8448, (5984, 6688, 7392, 8096)
여기서 (5984, 6688, 7392, 8096)는 추가적으로 포함될 수 있다.
또한, 첫 번째 LDPC 코드의 base-graph(BG#1)을 기반으로 총 M개의 최대 지수 행렬 가 추가적으로 정의된다. 통상적으로 M는 8 또는 임의의 자연수 값을 가질 수 있으며, i는 1부터 M까지의 값을 가진다. 단말은 상기 행렬 들을 이용하여 하향 데이터 디코딩 또는 상향 데이터 인코딩을 수행한다. 상기 행렬 들은 첫 번째 LDPC 코드의 base-graph(BG#1)에서 특정 요소 값들이 shift된 형태를 가지고 있다. 즉, 행렬들은 서로 다른 shift 값을 가질 수 있는 형태이다.
두 번째 LDPC 코드의 base-graph 구조에서 지원 가능한 하나의 코드 블록 크기는 10 × Z (여기서, Z = a × 2j이며, Z는 다음 표 4로 구성되며, 최대로 지원 가능한 하나의 코드 블록 크기는 2560 (또는 3840)이며, 최소로 지원 가능한 하나의 코드 블록 크기는 20이다. 참고로 표 3에서 Z 값의 후보로써 (288, 272, 304, 320, 336, 352, 368, 384) 중 일부 또는 전체가 추가로 반영될 수 있다.
[표 4]
두 번째 LDPC 코드의 base-graph 구조에서 지원 가능한 하나의 코드 블록 크기들은 다음과 같다.
20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120, 130, 140, 150, 160, 180, 200, 220, 240, 260, 280, 300, 320, 360, 400, 440, 480, 520, 560, 600, 640, 720, 800, 880, 960, 1040, 1120,1200, 1280, 1440, 1600, 1760, 1920, 2080, 2240, 2400, 2560 (2880, 3200, 3520, 3840, 2720, 3040, 3360, 3680)
여기서 (2880, 3200, 3520, 3840, 2720, 3040, 3360, 3680)는 추가적으로 포함될 수 있는 값들이다.
또한, 두 번째 LDPC 코드의 base-graph(BG#2)을 기반으로 총 M개의 최대 지수 행렬 가 추가적으로 정의된다. 통상적으로 M는 8 또는 임의의 자연수 값을 가질 수 있으며, i는 1부터 M까지의 값을 가진다. 단말은 상기 행렬을 이용하여 하향 데이터 디코딩 또는 상향 데이터 인코딩을 수행한다. 상기 행렬들은 두 번째 LDPC 코드의 base-graph(BG#2)에서 특정 요소 값들이 shift된 형태를 가지고 있다. 즉, 행렬들은 서로 다른 shift 값을 가질 수 있는 형태이다.
상기 서술한 바와 같이 두 가지 종류의 base-graph들이 차세대 이동통신 시스템에서 제공된다. 이에 따라 특정 단말들은 첫 번째 base-graph 만을 지원하거나 또는 두 번째 base-graph 만을 지원하거나 또는 두 개의 base-graph 모두를 지원하는 단말들이 존재할 수 있다. 이를 정리하면 다음 표 5와 같다.
[표 5]
유형 1를 지원하는 단말은 기지국으로부터 하향 제어 정보를 통해 하향 데이터 정보 수신 시, 상기 하향 데이터 정보가 담긴 전송 블록에 적용된 base-graph는 첫 번째 base-graph가 항상 적용된다고 판단하며, 데이터 인코딩 또는 디코딩 시, 최대 지수 행렬 를 적용한다. 유형 2를 지원하는 단말은 기지국으로부터 하향 제어 정보를 통해 하향 데이터 정보 수신 시, 상기 하향 데이터 정보가 담긴 전송 블록에 적용된 base-graph는 두 번째 base-graph가 항상 적용된다고 판단하며, 데이터 인코딩 또는 디코딩 시, 최대 지수 행렬 를 적용한다.
유형 3을 지원하는 단말은 기지국으로부터 하향 제어 정보를 통해 하향 데이터 정보 수신 시, 상기 하향 데이터 정보가 담긴 전송 블록에 적용된 base-graph는 기지국으로부터 SIB 또는 RRC 또는 MAC CE와 같이 상위 시그널링으로 사전에 설정 받거나 또는 단말 그룹 공통 또는 단말(셀) 공통 또는 단말 특정 제어 채널로 전달되는 하향 제어 정보를 통해 설정 받는다. 상기 하향 제어 정보에는 상기 전송 블록 스케줄링 정보가 같이 포함되어 있거나 또는 포함되지 않을 수 있다.
또는, 유형 3을 지원하는 단말은 기지국으로부터 하향 제어 정보를 통해 하향 데이터 정보 수신 시, 상기 하향 데이터 정보가 담긴 전송 블록에 적용된 최대 지수 행렬이 와 중에 어떤 것이 적용되었는지를 기지국으로부터 SIB 또는 RRC 또는 MAC CE와 같이 상위 시그널링으로 사전에 설정 받거나 또는 단말 그룹 공통 또는 단말(셀) 공통 또는 단말 특정 제어 채널로 전달되는 하향 제어 정보를 통해 설정 받는다. 상기 하향 제어 정보에는 상기 전송 블록 스케줄링 정보가 같이 포함되어 있거나 또는 포함되지 않을 수 있다.
도 4는 일 실시 예에 따른 단말의 수신 과정을 나타낸 블록도이다.
도 4에서 단말은 단말(셀) 공통 하향 제어 채널 또는 단말 그룹 공통 하향 제어 채널 또는 단말 특정 하향 제어 채널을 통해 하향 제어 정보를 수신(400)한다.
단말은 상기 하향 제어 정보 수신을 통해 다음 조건들 중 하나 또는 2 개 이상의 조합을 판단(402)한다.
A. 상기 하향 제어 정보의 CRC에 스크램블링된 RNTI
B. 상기 하향 제어 정보에 포함된 전송 블록의 크기
C. 상기 하향 제어 정보에 포함된 base-graph 지시자
D. 상기 하향 제어 정보에 포함된 스케줄링 관련 값
A 조건인 상기 하향 제어 정보의 CRC에 스크램블링된 RNTI가 RA-RNTI 또는 P-RNTI 또는 SI-RNTI 또는 SC-RNTI 또는 G-RNTI 일 경우, 단말은 이를 조건 1이라고 판단하고 동작 1(404)을 수행한다.
A 조건인 상기 하향 제어 정보의 CRC에 스크램블링된 RNTI가 RA-RNTI 또는 P-RNTI 또는 SI-RNTI 또는 SC-RNTI 또는 G-RNTI 일 경우, 단말은 이를 조건 2라고 판단하고 동작 2(406)를 수행한다.
B 조건인 상기 하향 제어 정보에 포함된 전송 블록 및 CRC를 포함한 크기가 일정 임계 값(Δ1) 이상 경우, 단말은 이를 조건 1이라고 판단하고 동작 1(404)을 수행한다.
B 조건인 상기 하향 제어 정보에 포함된 전송 블록 및 CRC를 포함한 크기가 일정 임계 값(Δ2) 이하 경우, 단말은 이를 조건 2라고 판단하고 동작 2(406)를 수행한다.
상기 임계 값(Δ1) 또는 임계 값(Δ2)은 2560 (또는 3840 또는 960 또는 1040 또는 1120 또는 170 또는 640 또는 그 이외의 임의의 값)으로 고정 된 값을 이용할 수 있다. 상기 임계 값(Δ1) 또는 임계 값(Δ2)는 서로 같은 값을 가지거나 서로 다른 값을 가질 수 있다.
또는 상기 임계 값(Δ1) 또는 임계 값(Δ2)은 사전에 SIB 또는 RRC 또는 MAC CE와 같은 상위 시그널링으로 설정된 값이거나 또는 사전에 단말 그룹 공통 또는 단말 공통 또는 단말 특정 하향 제어 채널의 하향 제어 정보를 통해 설정된 값일 수 있다. 이 때, 상기 임계 값(Δ)이 설정되기 이전에 디폴트 임계 값(Δ)은 2560 (또는 3840 또는 960 또는 1040 또는 1120 또는 170 또는 640 또는 그 이외의 임의의 값)으로 고정 된 값을 이용할 수 있다. 상기 임계 값(Δ1) 또는 임계 값(Δ2)이 설정되기 이전의 시점 판단은 단말이 하향 제어 정보의 CRC가 RA-RNTI 또는 P-RNTI 또는 SI-RNTI 또는 SC-RNTI 또는 G-RNTI로 스크램블링이 될 경우이다.
B 조건인 상기 하향 제어 정보에 포함된 전송 블록 및 CRC를 포함한 크기가 2560 (또는 3840) 보다 작으면서 (또는 동시에 160 또는 640 보다 크면서), K > (전송 블록 크기 + CRC 크기)를 만족하는 첫 번째 base-graph에서 지원 가능한 코드 블록 길이(K)들과 두 번째 base-graph에서 지원 가능한 코드 블록 길이(K)들 중 가장 최소 코드 블록 길이(Kmin)가 첫 번째 base-graph에 속하면 단말은 이를 조건 1이라고 판단하고 동작 1(404)을 수행한다.
B 조건인 상기 하향 제어 정보에 포함된 전송 블록 및 CRC를 포함한 크기가 2560 (또는 3840) 보다 작으면서 (또는 동시에 160 또는 640 보다 크면서), K > (전송 블록 크기 + CRC 크기)를 만족하는 첫 번째 base-graph에서 지원 가능한 코드 블록 길이들과 두 번째 base-graph에서 지원 가능한 코드 블록 길이들 중 가장 최소 코드 블록 길이 K가 두 번째 base-graph에 속하면 단말은 이를 조건 2라고 판단하고 동작 2(406)를 수행한다.
이를 다음의 식을 이용하여 표현할 수 있다.
(TB + CRC) ≤ K ≤ V2 where K ∈ K1 또는 K ∈ K2
K* = min(K)
If K* ∈ K1, 조건 1 만족 및 동작 1(404) 수행
If K* ∈ K2, 조건 2 만족 및 동작 2(406) 수행
여기서 K는 코드블록 길이, K*는 선택된 코드블록 길이, TB는 전송 블록 크기, CRC는 CRC 크기, K1는 첫 번째 base-graph에서 지원 가능한 코드 블록 길이 집합, K2는 두 번째 base-graph에서 지원 가능한 코드 블록 길이 집합
또는 다음 식을 이용하여 표현될 수 있다.
V1 ≤ (TB + CRC) ≤ K ≤ V2 where K ∈ K1 또는 K ∈ K2
K* = min(K)
If K* ∈ K1, 조건 1 만족 및 동작 1(404) 수행
If K* ∈ K2, 조건 2 만족 및 동작 2(406) 수행
여기서 K는 코드블록 길이, K*는 선택된 코드블록 길이, TB는 전송 블록 크기, CRC는 CRC 크기, K1는 첫 번째 base-graph에서 지원 가능한 코드 블록 길이 집합, K2는 두 번째 base-graph에서 지원 가능한 코드 블록 길이 집합
상기 K1는 첫 번째 base-graph (또는 최대 지수 행렬 )에서 지원 가능한 코드 블록 길이 집합이며, 그 집합들의 종류는 다음 중 하나 또는 2개 이상의 일부 조합이 될 수 있다. 상기 V1은 160 또는 640이거나 그 이외의 다른 값이 될 수 있다. 상기 V2는 2560 또는 3840 또는 960 또는 1040 또는 1120이거나 그 이외의 다른 값이 될 수 있다.
또는 상기 수학식에서 TB + CRC가 V1보다 작은 경우, 최대 지수 행렬 중 하나를 적용하여 디코딩 또는 인코딩을 수행하며, 상기 수학식에서 TB + CRC가 V2보다 큰 경우, 최대 지수 행렬 중 하나를 적용하여 디코딩 또는 인코딩을 수행하는 것이 가능하다.
1. K가 2560보다 작거나 같은 경우
44, 66, 88, 132, 154, 176, 198, 242, 264, 286, 308, 330, 352, 296, 484, 528, 572, 616, 660, 704, 792, 968, 1056, 1144, 1232, 1320, 1408, 1584, 1936, 2112, 2288, 2464
2. K가 3840보다 작거나 같은 경우
44, 66, 88, 132, 154, 176, 198, 242, 264, 286, 308, 330, 352, 296, 484, 528, 572, 616, 660, 704, 792, 968, 1056, 1144, 1232, 1320, 1408, 1584, 1936, 2112, 2288, 2464, 2640, 2816, 3168
3. K가 960보다 작거나 같은 경우
44, 66, 88, 132, 154, 176, 198, 242, 264, 286, 308, 330, 352, 296, 484, 528, 572, 616, 660, 704, 792
4. K가 1040보다 작거나 같은 경우
44, 66, 88, 132, 154, 176, 198, 242, 264, 286, 308, 330, 352, 296, 484, 528, 572, 616, 660, 704, 792, 968
5. K가 1120보다 작거나 같은 경우
44, 66, 88, 132, 154, 176, 198, 242, 264, 286, 308, 330, 352, 296, 484, 528, 572, 616, 660, 704, 792, 968, 1056
상기 표에 존재하는 값들은 그 값이 M보다 같거나 작은 경우는 그 값들 전체 또는 일부가 상기 표에서 생략되어 사용되는 것이 통상적으로 가능하다. 상기 M의 값은 160 또는 640 또는 그 이외의 값이 선택될 수 있다.
상기 K2는 두 번째 base-graph (또는 최대 지수 행렬 )에서 지원 가능한 코드 블록 길이 집합이며, 그 집합들의 종류는 다음 중 하나 또는 2개 이상의 일부 조합이 될 수 있다.
1. K가 2560보다 작거나 같은 경우
20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120, 130, 140, 150, 160, 180, 200, 220, 240, 260, 280, 300, 320, 360, 400, 440, 480, 520, 560, 600, 640, 720, 800, 880, 960, 1040, 1120,1200, 1280, 1440, 1600, 1760, 1920, 2080, 2240, 2400, 2560
2. K가 3840보다 작거나 같은 경우
20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120, 130, 140, 150, 160, 180, 200, 220, 240, 260, 280, 300, 320, 360, 400, 440, 480, 520, 560, 600, 640, 720, 800, 880, 960, 1040, 1120,1200, 1280, 1440, 1600, 1760, 1920, 2080, 2240, 2400, 2560, (2720, 2880, 3040, 3200, 3360, 3520, 3680, 3840)
3. K가 960보다 작거나 같은 경우
20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120, 130, 140, 150, 160, 180, 200, 220, 240, 260, 280, 300, 320, 360, 400, 440, 480, 520, 560, 600, 640, 720, 800, 880, 960
4. K가 1040보다 작거나 같은 경우
20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120, 130, 140, 150, 160, 180, 200, 220, 240, 260, 280, 300, 320, 360, 400, 440, 480, 520, 560, 600, 640, 720, 800, 880, 960, 1040
5. K가 1120보다 작거나 같은 경우
20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120, 130, 140, 150, 160, 180, 200, 220, 240, 260, 280, 300, 320, 360, 400, 440, 480, 520, 560, 600, 640, 720, 800, 880, 960, 1040, 1120
C 조건인 상기 하향 제어 정보에 포함된 base-graph 지시자가 0 (또는 1)의 값을 지시하면 단말은 조건 1을 만족한다고 판단하고 동작 1(404)을 수행한다.
C 조건인 상기 하향 제어 정보에 포함된 base-graph 지시자가 1 (또는 0)의 값을 지시하면 단말은 조건 2를 만족한다고 판단하고 동작 2(404)를 수행한다.
D 조건인 상기 하향 제어 정보에 포함된 스케줄링 관련 값들 중 MCS 또는 RV 또는 NDI 또는 주파수 또는 시간 자원 할당 값들이 특정 정보를 지시할 경우, 단말은 조건 1을 만족한다고 판단하고 동작 1(404)을 수행한다.
D 조건인 상기 하향 제어 정보에 포함된 스케줄링 관련 값들 중 MCS 또는 RV 또는 NDI 또는 주파수 또는 시간 자원 할당 값들이 특정 정보를 지시할 경우, 단말은 조건 2를 만족한다고 판단하고 동작 2(404)를 수행한다.
단말은 동작 1을 수행하는 경우, 다음들 중 하나 또는 2 개 이상의 조합에 대해서 동작을 수행한다.
1. 단말은 첫 번째 base-graph (또는 최대 지수 행렬 )에서 지원 가능한 코드 블록 길이를 기반으로 상기 하향 제어 정보에서 지시한 전송 블록에 대해 디코딩을 시도한다.
2. 단말은 다음 상기 지원 가능한 코드 블록 표를 참고하여 상기 하향 제어 정보에서 지시한 전송 블록에 대해 디코딩을 시도한다.
44, 66, 88, 110, 132, 154, 176, 198, 220, 242, 264, 286, 308, 330, 352, 296, 440, 484, 528, 572, 616, 660, 704, 792, 880, 968, 1056, 1144, 1232, 1320, 1408, 1584, 1760, 1936, 2112, 2288, 2464, 2640, 2816, 3168, 3520, 3872, 4224, 4576, 4928, 5280, 5632, 6336, 7040, 7744, 8448, (5984, 6688, 7392, 8096)
3. 다음 가능한 코드 블록 집합들 중 하나 또는 2개 이상의 조합들은 를 이용하여 단말이 인코딩 또는 디코딩 하는 코드블록들이다. 해당 코드 블록에 대해서 적어도 단말은 첫 번째 base-graph에서 지원하는 행렬을 기반으로 상기 하향 제어 정보에서 지시한 전송 블록에 대해 디코딩을 시도한다.
A. 44, 88, 176, 352, 704, 1408, 2816, 5632
B. 44, 66, 110, 154, 198, 242, 286, 330
C. 44, 66, 154, 198, 242, 286, 330
4. 다음 가능한 코드 블록 집합들 중 하나 또는 2개 이상의 조합들은 를 이용하여 단말이 인코딩 또는 디코딩 하는 코드블록들이다. 해당 코드 블록에 대해서 적어도 단말은 첫 번째 base-graph 에서 지원하는 행렬을 기반으로 상기 하향 제어 정보에서 지시한 전송 블록에 대해 디코딩을 시도한다.
A. 66, 132, 264, 528, 1056, 2112, 4224, 8448
B. 88, 132, 220, 308, 396, 484, 572, 660
C. 88, 132, 308, 396, 484, 572, 660
5. 다음 가능한 코드 블록 집합들 중 하나 또는 2개 이상의 조합들은 를 이용하여 단말이 인코딩 또는 디코딩 하는 코드블록들이다. 해당 코드 블록에 대해서 적어도 단말은 첫 번째 base-graph 에서 지원하는 행렬을 기반으로 상기 하향 제어 정보에서 지시한 전송 블록에 대해 디코딩을 시도한다.
A. 110, 220, 440, 880, 1760, 3520, 7040
B. 176, 264, 440, 616, 792, 968, 1144, 1320
C. 1760, 3520, 7040
D. 3520, 7040
E. 7040
F. 176, 264, 616, 792, 968, 1144, 1320
6. 다음 가능한 코드 블록 집합들 중 하나 또는 2개 이상의 조합들은 를 이용하여 단말이 인코딩 또는 디코딩 하는 코드블록들이다. 해당 코드 블록에 대해서 적어도 단말은 첫 번째 base-graph에서 지원하는 행렬을 기반으로 상기 하향 제어 정보에서 지시한 전송 블록에 대해 디코딩을 시도한다.
A. 154, 308, 616, 1232, 2464, 4928
B. 352, 528, 880, 1232, 1584, 1936, 2288, 2640
C. 352, 528, 1232, 1584, 1936, 2288, 2640
7. 다음 가능한 코드 블록 집합들 중 하나 또는 2개 이상의 조합들은 를 이용하여 단말이 인코딩 또는 디코딩 하는 코드블록들이다. 해당 코드 블록에 대해서 적어도 단말은 첫 번째 base-graph에서 지원하는 행렬을 기반으로 상기 하향 제어 정보에서 지시한 전송 블록에 대해 디코딩을 시도한다.
A. 198, 396, 792, 1584, 3168, 6336
B. 704, 1056, 1760, 2464, 3168, 3872, 4576, 5280
C. 704, 1056, 2464, 3168, 3872, 4576, 5280
8. 다음 가능한 코드 블록 집합들 중 하나 또는 2개 이상의 조합들은 를 이용하여 단말이 인코딩 또는 디코딩 하는 코드블록들이다. 해당 코드 블록에 대해서 적어도 단말은 첫 번째 base-graph에서 지원하는 행렬을 기반으로 상기 하향 제어 정보에서 지시한 전송 블록에 대해 디코딩을 시도한다.
A. 242, 484, 968, 1936, 3872
B. 1408, 2112, 3520, 4928, 6336, 7744
C. 1408, 2112, 4928, 6336, 7744
9. 다음 가능한 코드 블록 집합들 중 하나 또는 2개 이상의 조합들은 를 이용하여 단말이 인코딩 또는 디코딩 하는 코드블록들이다. 해당 코드 블록에 대해서 적어도 단말은 첫 번째 base-graph에서 지원하는 행렬을 기반으로 상기 하향 제어 정보에서 지시한 전송 블록에 대해 디코딩을 시도한다.
A. 286, 572, 1144, 2288, 4576
B. 2816, 4224, 7040
10. 다음 가능한 코드 블록 집합들 중 하나 또는 2개 이상의 조합들은 를 이용하여 단말이 인코딩 또는 디코딩 하는 코드블록들이다. 해당 코드 블록에 대해서 적어도 단말은 첫 번째 base-graph에서 지원하는 행렬을 기반으로 상기 하향 제어 정보에서 지시한 전송 블록에 대해 디코딩을 시도한다.
A. 330, 660, 1320, 2640, 5280
B. 5632, 8448
단말은 동작 2를 수행하는 경우, 다음들 중 하나 또는 2 개 이상의 조합에 대해서 동작을 수행한다.
1. 단말은 두 번째 base-graph에서 지원 가능한 코드 블록 길이를 기반으로 상기 하향 제어 정보에서 지시한 전송 블록에 대해 디코딩을 시도한다.
2. 단말은 다음 상기 지원 가능한 코드 블록 표를 참고하여 상기 하향 제어 정보에서 지시한 전송 블록에 대해 디코딩을 시도한다.
20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120, 130, 140, 150, 160, 180, 200, 220, 240, 260, 280, 300, 320, 360, 400, 440, 480, 520, 560, 600, 640, 720, 800, 880, 960, 1040, 1120,1200, 1280, 1440, 1600, 1760, 1920, 2080, 2240, 2400, 2560 (2880, 3200, 3520, 3840, 2720, 3040, 3360, 3680)
3. 다음 가능한 코드 블록 집합들 중 하나 또는 2개 이상의 조합들은 를 이용하여 단말이 인코딩 또는 디코딩 하는 코드블록들이다. 해당 코드 블록에 대해서 적어도 단말은 두 번째 base-graph에서 지원하는 행렬을 기반으로 상기 하향 제어 정보에서 지시한 전송 블록에 대해 디코딩을 시도한다.
A. 20, 40, 80, 160, 320, 640, 1280
B. 20, 30, 50, 70, 90, 110, 130, 150
4. 다음 가능한 코드 블록 집합들 중 하나 또는 2개 이상의 조합들은 를 이용하여 단말이 인코딩 또는 디코딩 하는 코드블록들이다. 해당 코드 블록에 대해서 적어도 단말은 두 번째 base-graph에서 지원하는 행렬을 기반으로 상기 하향 제어 정보에서 지시한 전송 블록에 대해 디코딩을 시도한다.
A. 30, 60, 120, 240, 480, 960, 1920, (3840)
B. 40, 60, 100, 140, 180, 220, 260, 300
5. 다음 가능한 코드 블록 집합들 중 하나 또는 2개 이상의 조합들은 를 이용하여 단말이 인코딩 또는 디코딩 하는 코드블록들이다. 해당 코드 블록에 대해서 적어도 단말은 두 번째 base-graph에서 지원하는 행렬을 기반으로 상기 하향 제어 정보에서 지시한 전송 블록에 대해 디코딩을 시도한다.
A. 50, 100, 200, 400, 800, 1600, (3200)
B. 80, 120, 200, 280, 360, 440, 520, 600
6. 다음 가능한 코드 블록 집합들 중 하나 또는 2개 이상의 조합들은 를 이용하여 단말이 인코딩 또는 디코딩 하는 코드블록들이다. 해당 코드 블록에 대해서 적어도 단말은 두 번째 base-graph에서 지원하는 행렬을 기반으로 상기 하향 제어 정보에서 지시한 전송 블록에 대해 디코딩을 시도한다.
A. 70, 140, 280, 560, 1120, 2240
B. 160, 240, 400, 560, 720, 880, 1040, 1200
7. 다음 가능한 코드 블록 집합들 중 하나 또는 2개 이상의 조합들은 를 이용하여 단말이 인코딩 또는 디코딩 하는 코드블록들이다. 해당 코드 블록에 대해서 적어도 단말은 두 번째 base-graph에서 지원하는 행렬을 기반으로 상기 하향 제어 정보에서 지시한 전송 블록에 대해 디코딩을 시도한다.
A. 90, 180, 360, 720, 1440, (2880)
B. 320, 480, 800, 1120, 1440, 1760, 2080, 2400
8. 다음 가능한 코드 블록 집합들 중 하나 또는 2개 이상의 조합들은 를 이용하여 단말이 인코딩 또는 디코딩 하는 코드블록들이다. 해당 코드 블록에 대해서 적어도 단말은 두 번째 base-graph에서 지원하는 행렬을 기반으로 상기 하향 제어 정보에서 지시한 전송 블록에 대해 디코딩을 시도한다.
A. 110, 220, 440, 880, 1760, (3520)
B. 640, 960, 1600, 2240, (2880), (3520)
9. 다음 가능한 코드 블록 집합들 중 하나 또는 2개 이상의 조합들은 를 이용하여 단말이 인코딩 또는 디코딩 하는 코드블록들이다. 해당 코드 블록에 대해서 적어도 단말은 첫 번째 base-graph에서 지원하는 행렬을 기반으로 상기 하향 제어 정보에서 지시한 전송 블록에 대해 디코딩을 시도한다.
A. 130, 260, 520, 1040, 2080
B. 1280, 1920, (3200)
10. 다음 가능한 코드 블록 집합들 중 하나 또는 2개 이상의 조합들은 를 이용하여 단말이 인코딩 또는 디코딩 하는 코드블록들이다. 해당 코드 블록에 대해서 적어도 단말은 두 번째 base-graph에서 지원하는 행렬을 기반으로 상기 하향 제어 정보에서 지시한 전송 블록에 대해 디코딩을 시도한다.
A. 150, 300, 600, 1200, 2400
B. 2560, (3840)
상기 본 발명에서 괄호로 표현된 숫자는 해당 값은 포함되거나 포함되지 않을 수 있다는 것을 의미한다.
본 발명에서 정보 비트수라 함은 상위 계층으로부터 전달되는 전송해야 할 데이터의 양 혹은 transport block (TB)의 크기 (transport block size; TBS)를 의미할 수 있다. 상기 TBS는 하나의 TTI 동안에 전송되는 것이 일반적이지만, 여러 TTI에 걸쳐서 전송되는 것도 가능할 수 있다. 본 발명에서 TBS는 N으로 표시될 수 있다.
본 발명에서 제1단말이라 함은, 데이터 전송 시에 최대 지수 행렬 을 이용하여 디코딩을 하도록 설정 받은 단말 혹은 데이터 전송 시에 최대 지수 행렬 을 이용하여 디코딩을 할 수 없는 단말일 수 있고, 혹은 상기 [표5]의 유형 1을 지원하는 단말일 수 있다.
본 발명에서 제2단말이라 함은, 데이터 전송 시에 최대 지수 행렬 을 이용하여 디코딩을 하도록 설정 받은 단말 혹은 데이터 전송 시에 최대 지수 행렬 을 이용하여 디코딩을 할 수 없는 단말일 수 있고, 혹은 상기 [표5]의 유형 2를 지원하는 단말일 수 있다.
본 발명에서 제3단말이라 함은, 데이터 전송 시에 최대 지수 행렬 혹은 을 이용하여 디코딩을 하도록 설정 받은 단말일 수 있고, 혹은 상기 [표5]의 유형 3을 지원하는 단말일 수 있다. 단말은 TBS, MCS, 전송모드 중 하나 이상에 따라 판단하여 어떤 최대 지수 행렬을 이용할지 결정할 수 있다.
본 발명에서 표로 설명된 것 중 괄호로 쓰여진 값들은 표에 모두 또는 일부 포함되거나 모두 또는 일부 포함되지 않을 수도 있는 값들이다.
도 5은 전송 블록(Transport Block; TB)을 코드 블록(Code Block)으로 분할(Segmentation)하는 방법을 도시한 도면이다.
도 5에는 길이 N(611)의 전송 블록(610)이 도시되어 있으며, 길이 L(602)의 CRC(620)가 삽입이 되어 총 B(601)의 길이를 가지는 CRC가 삽입된 전송 블록(TB-CRC, 630)를 구성할 수 있다.
수신기에서 TB의 복호를 진행 한 후 TB의 복호 성공여부를 판단하기 위해 사용되는 TB 전송에 삽입된 CRC는 길이 L로 적어도 두 가지 이상의 가능한 값을 가질 수 있다. 즉, 전송 블록이 두 개 이상의 코드 블록으로 분할되어 전송되는 경우에는 긴 길이의 CRC가 사용되고, 반대로 전송 블록이 하나의 코드 블록으로 전송되는 경우에는 짧은 길이의 CRC가 사용될 수 있다. 이동 통신 시스템에서 부호화를 위해 LDPC 부호가 사용되면, LDPC 부호가 부호 자체로 패리티 체크 기능을 가지기 때문에 CRC 삽입이 없이도 어느 정도의 복호 성공 여부 판단 기능을 가진다. 특정 이동통신 시스템에서 LDPC 부호를 사용하고 추가의 복호 성공 판단 수준을 획득하고자 하는 경우에는 LDPC 부호의 패리티 체크 기능에 추가로 CRC를 삽입하여 최종 복호 성공 여부를 판단하는 기술을 사용할 수 있고 이렇게 시스템에서 원하는 복호 성공 여부 판단의 오율 수준을 획득할 수 있다. 예를 들면, 시스템에서 요구하는 복호 성공 여부 판단 오율이 10^-6이고 LDPC 부호의 패리티 체크 기능으로 얻을 수 있는 판단 오율이 10^-3이라면 10^-3의 판단 오율을 가지는 CRC를 추가로 삽입하여 최종 10^-6의 시스템 판단 오율을 달성 할 수 있도록 하는 것이다. 일반적으로 CRC의 길이가 길수록 복호 성공 여부 판단의 오율은 낮아진다. 전송 블록이 두 개 이상의 코드 블록으로 분할되어 전송되는 경우에는 TB 자체가 LDPC 부호의 연접으로 구성이 되어 LDPC 부호 자체의 패리티 체크 기능을 사용할 수 없다. 반면에 전송 블록이 하나의 코드 블록으로 구성된 경우에는 LDPC 부호의 패리티 체크 기능을 사용할 수 있다. 따라서 특정 시스템에서는 전송 블록 내의 코드 블록개수에 따라 긴 길이 또는 짧은 길이의 CRC를 TB에 삽입하여 사용하는 것이 가능해 진다. 본 발명의 실시예들에서는 TB 가 분할되어 두 개 이상의 코드 블록으로 분할되는지의 여부에 따라 상기 TB에 삽입되는 CRC의 길이 L이 긴 길이 L+ 또는 짧은 길이 L-가 사용될 수 있는 것을 가정한다. 그리고 L+로 가능한 값의 예는 LTE의 경우에 사용되었던 24이며, L-의 예는 이보다 짧은 어떤 길이도 가능하나 LTE control 채널에서 사용한 16을 재활용하는 것이 가능하다. 하지만 본 발명의 실시예에서는 상기 L- 값의 예인 16에 한정하지는 않는다.
특정 TB가 다수의 코드 블록으로 분리되는지의 여부는 하나의 코드 블록으로 주어진 TB를 전송 할 수 있느냐의 여부에 따라 결정되기 때문에 다음과 같이 판단될 수 있다:
- N+L-값이 가능한 최고 CB 길이보다 작거나 같으면 하나의 코드 블록으로 TB 전송; If (N + L-) <= Kmax, then one CB is used
- N+L-값이 가능한 최고 CB 길이보다 크면, TB를 분할하여 다수의 코드 블록으로 TB 전송; If (N + L-) > Kmax, then CB is segmented
여기서 Kmax는 가능한 코드 블록의 크기 중 가장 큰 코드 블록 크기를 나타낸다.
이 후의 본 발명에서는 TB-CRC가 다수의 코드 블록으로 분할되어 전송되는 경우에 분할의 방법을 나타내는 내용으로 TB에 포함되는 CRC 길이는 L+가 사용된 것으로 가정한다. 즉, 기지국/단말에서 TB의 분할 여부는 N+L-를 기준으로 판단하더라도 분할이 되는 것으로 판단되면 B= (N + L+)를 기준으로 분할이 진행된다.
본 발명에서 서술하는 단말의 하향 데이터 채널의 전송 블록 디코딩 과정은 상향 데이터 채널의 전송 블록 인코딩 과정에 충분히 적용할 수 있다.
본 발명에서 서술하는 단말의 인코딩/디코딩 동작은 기지국 인코딩/디코딩 동작에 충분히 적용할 수 있다.
본 발명에서 수신기에서 TB의 복호를 진행 한 후 TB의 복호 성공여부를 판단하기 위해 사용되는 TB 전송에 삽입된 CRC는 길이는 적어도 두 가지 이상의 가능한 값을 가질 수 있다. 즉, 전송 블록이 두 개 이상의 코드 블록으로 분할되어 전송되는 경우에는 긴 길이(L+)의 CRC가 사용되고, 반대로 전송 블록이 하나의 코드 블록으로 전송되는 경우에는 짧은 길이(L-)의 CRC가 사용될 수 있다. L- 는 L+보다 작은 값을 갖는 자연수이다. 본 발명의 실시예들에서는 TB 가 분할되어 두 개 이상의 코드 블록으로 분할되는지의 여부에 따라 상기 TB에 삽입되는 CRC의 길이가 긴 길이 L+ 또는 짧은 길이 L-가 사용될 수 있는 것을 가정한다. 그리고 L+로 가능한 값의 예는 LTE의 경우에 사용되었던 24이며, L-의 예는 이보다 짧은 어떤 길이도 가능하나 LTE control 채널에서 사용한 16을 재활용하는 것이 가능하다. 하지만 본 발명의 실시예에서는 상기 L- 값의 예인 16에 한정하지는 않는다.
[제1실시예]
제1실시예는 정보 비트수가 일정 값 이하일 때, H 행렬을 결정하고, 채널코딩을 수행하는 방법을 제공한다. 일례로 정보 비트수 N이 Nx_max 값보다 작거나, 혹은 작거나 같은 경우 혹은 N + L- 가 Nx_max 값보다 작거나, 혹은 작거나 같은 경우일 수 있다. 상기에서 Nx_max는 임의의 값일 수 있으며, 상기 일례를 설명하기 위한 값이다.
최대 지수 행렬 (i=1, 2, …, 8)만 사용할 수 있거나, 사용하도록 설정된 단말인, 제1단말에 있어서, N + L- 가 N1_max 보다 작거나 같은 경우, 코드블록 1개를 이용하여 TB가 전송될 수 있다. 상기에서 N1_max는 8448일 수 있다. 이 경우, 채널코딩에 사용되고 H 행렬 결정에 사용되는 Z는 상기 [표3]에 나타난 Z값들 중에서, Kb x Z ≥ N + L- 만족하는 Z 값 중에서 최소인 것이 Z로 선택된다. 상기에서 Kb는 22로 정해질 수 있다. 이 경우, 정보 비트와 L-비트의 CRC에 Kb x Z - (N + L-) 만큼의 filler bits들이 정보비트의 앞 혹은 정보 비트와 CRC의 사이, 혹은 맨 뒤에 추가될 수 있다. 본 발명에서 filler bit는 0로 정해지거나 1로 정해질 수 있다.
최대 지수 행렬 (i=1, 2, …, 8)만 사용할 수 있거나, 사용하도록 설정된 단말인, 제2단말에 있어서, N + L- 가 N2_max 보다 작거나 같고, 코딩 레이트가 2/3 혹은 0.67 혹은 0.667 혹은 0.6667보다 작거나 같은 경우, 코드블록 1개를 이용하여 TB가 전송될 수 있다. 상기에서 N2_max는 2560일 수 있다. 이 때 Kb는 하기와 같이 결정될 수 있다. N + L- > N2_t1이면 Kb는 10이며, N2_t1 ≥ N + L- > N2_t2이면 Kb는 9이며, N2_t2 ≥ N + L- > N2_t3이면 Kb는 8이며, 이외의 경우에는 Kb는 6이다. 상기에서 일례로, N2_t1는 640, N2_t2는 560, N2_t3는 192일 수 있다. 상기 일례는 아래와 같은 pseudo-code로 표현될 수 있다.
[Pseudo-code 1]
[시작]
- If (N + L- > 640), Kb = 10;
- Else if (N + L- > 560), Kb = 9;
- Else if (N + L- > 192), Kb = 8;
- Else, Kb = 6;
[종료]
혹은 Kb는 하기 [표 6]과 같이 결정될 수도 있을 것이다.
[표 6]
이 경우, 채널코딩에 사용되고 H 행렬 결정에 사용되는 Z값은 상기 [표4]에 나타난 Z값들 중에서, Kb x Z ≥ N + L- 만족하는 Z 값 중에서 최소인 것이 Z로 선택된다. 다음으로, 정보 비트와 L-비트의 CRC에 Kb x Z - (N + L-) 만큼의 filler bits들이 정보비트의 앞 혹은 정보 비트와 CRC의 사이, 혹은 맨 뒤에 추가될 수 있다. 본 발명에서 filler bit는 0로 정해지거나 1로 정해질 수 있다.
최대 지수 행렬 과 을 모두 이용하여 디코딩할 수 있거나 디코딩하도록 설정된 단말인, 제3단말에게 있어서, 각 BG는 서로 다른 전송 블록 길이와 부호율에 대응하여 사용하도록 설정될 수 있다. 예를 들면, 전송 블록의 길이 TBS에 전송 블록에 해당하는 CRC의 길이를 더한 값이 특정 값 N2_max 혹은 2560 이하이고 부호율이 특정 값 2/3 이하이면 두 번째 BG (BG#2)를 사용하고 이외의 경우는 첫 번째 BG (BG#1)을 사용할 수 있다. 상기 예시에서는 전송 블록의 길이가 2560 보다 길거나 부호율이 2/3 이상인 경우에 대응하여 BG#1이 최적화 되었고 반대의 경우에 대응하여 BG#2가 최적화된 경우를 고려하였다. 상기 설명에서 BG#1을 사용한다는 것은 최대 지수 행렬 (i=1, 2, …, 8) 중 하나를 사용한다는 것과 동일한 의미이며, 비슷하게 BG#2를 사용한다는 것은 최대 지수 행렬 (i=1, 2, …, 8) 중 하나를 사용한다는 것과 동일한 의미이다. 또한 부호율은 기지국이 단말로 지시하는 MCS (modulation and coding scheme) 값으로부터 쉽게 유도될 수 있다. 본 발명에서 부호율 2/3은 0.67 혹은 0.667 혹은 0.6667로 변경되어 적용하는 것이 가능할 수 있다. 상기에서 N + L-가 특정값 N2_max 보다 작을 때 혹은 작거나 같을 때는 상기 [Pseudo-code 1] 혹은 [표6]에 따라 Kb가 결정되고, 이에 따라 채널코딩에 사용되고 H 행렬 결정에 사용되는 Z값은 상기 [표4]에 나타난 Z값들 중에서, Kb x Z ≥ N + L- 만족하는 Z 값 중에서 최소인 것이 Z로 선택된다. 다음으로, 정보 비트와 L-비트의 CRC에 Kb x Z -(N + L-) 만큼의 filler bits들이 정보비트의 앞 혹은 정보 비트와 CRC의 사이, 혹은 맨 뒤에 추가될 수 있다. 본 발명에서 filler bit는 0로 정해지거나 1로 정해질 수 있다. 상기에서 N + L-가 특정값 N2_max보다 클 때, 혹은 크거나 같을 때는 채널코딩에 사용되고 H 행렬 결정에 사용되는 Z는 상기 [표3]에 나타난 Z값들 중에서, Kb x Z ≥ N + L- 만족하는 Z 값 중에서 최소인 것이 Z로 선택된다. 상기에서 Kb는 22로 정해질 수 있다. 이 경우, 정보 비트와 L-비트의 CRC에 Kb x Z - (N + L-) 만큼의 filler bits들이 정보비트의 앞 혹은 정보 비트와 CRC의 사이, 혹은 맨 뒤에 추가될 수 있다.
[제2실시예]
제2실시예는 정보 비트수가 일정 값 이하일 때, 코드블록의 사이즈를 결정하고, H 행렬을 결정하고, 채널코딩을 수행하는 방법을 제공한다. 일례로 정보 비트수 N이 Nx_max 값보다 작거나, 혹은 작거나 같은 경우 혹은 N + L- 가 Nx_max 값보다 작거나, 혹은 작거나 같은 경우일 수 있다. 상기에서 Nx_max는 임의의 값일 수 있으며, 상기 일례를 설명하기 위한 값이다.
전송하고자 하는 데이터의 양인 TBS를 N이라고 할 때, 단말은 우선적으로 특정한 값들의 집합에서 하나의 값을 가질 수 있는 K 중에서, K ≥ N + L- 를 만족하는 K값 중에서 최소값을 선택할 수 있다. 일례로 K값이 될 수 있는 특정한 값들의 집합에서 값들 사이의 값이 아래 [표 7]과 같이 정의될 수 있다.
[표 7]
위 표의 의미는 40 <= K <= 512 일 때는 K값이 될 수 있는 값의 간격이 8씩이므로, 40, 48, 56, 64, 72, ..., 512 가 K값이 될 수 있는 특정한 값들의 집합에 포함되며, 528 <= K <= 1024 일 때는 K값이 될 수 있는 값의 간격이 16씩이므로, 528, 544, 560,…,1024가 K값이 될 수 있는 특정한 값들의 집합에 포함된다. 따라서, K 값이 될 수 있는 값들의 집합은 [표7]에 의해 구해진다. N비트의 정보 비트와 L-비트의 CRC에 K - (N + L-) 만큼의 filler bits들이 정보비트의 앞 혹은 정보 비트와 CRC의 사이, 혹은 맨 뒤에 추가될 수 있다. 본 발명에서 filler bit는 0로 정해지거나 1로 정해질 수 있다. 상기 일례에서는 K 값이 [표7]에 의해 결정되는 값 중에 하나로 정해지지만, 다른 일례로는 8의 배수인 정수 중에서 K 값이 정해지는 방법이 적용될 수 있다.
최대 지수 행렬 (i=1, 2, …, 8)만 사용할 수 있거나, 사용하도록 설정된 단말인, 제1단말에 있어서, K가 N1_max 보다 작거나 같은 경우, 코드블록 1개를 이용하여 TB가 전송될 수 있다. 상기에서 N1_max는 8448일 수 있다. 이 경우, 채널코딩에 사용되고 H 행렬 결정에 사용되는 Z는 상기 [표3]에 나타난 Z값들 중에서, Kb x Z ≥ K 만족하는 Z 값 중에서 최소인 것이 Z로 선택된다. 상기에서 Kb는 22로 정해질 수 있다. 이 경우, 상기 구해진 K 비트에 Kb x Z - K 만큼의 filler bits들이 앞 혹은 맨 뒤에 추가될 수 있다. 본 발명에서 filler bit는 0로 정해지거나 1로 정해질 수 있다.
최대 지수 행렬 (i=1, 2, …, 8)만 사용할 수 있거나, 사용하도록 설정된 단말인, 제2단말에 있어서, K가 N2_max 보다 작거나 같고, 코딩 레이트가 2/3 혹은 0.67 혹은 0.667 혹은 0.6667보다 작거나 같은 경우, 코드블록 1개를 이용하여 TB가 전송될 수 있다. 상기에서 N2_max는 2560일 수 있다. 이 때 Kb는 하기와 같이 결정될 수 있다. K > N2_t1이면 Kb는 10이며, N2_t1 ≥ K > N2_t2이면 Kb는 9이며, N2_t2 ≥ K > N2_t3이면 Kb는 8이며, 이외의 경우에는 Kb는 6이다. 상기에서 일례로, N2_t1는 640, N2_t2는 560, N2_t3는 192일 수 있다. 상기 일례는 아래와 같은 pseudo-code로 표현될 수 있다.
[Pseudo-code 2]
[시작]
- If (K > 640), Kb = 10;
- Else if (K > 560), Kb = 9;
- Else if (K > 192), Kb = 8;
- Else, Kb = 6;
[종료]
혹은 Kb는 상기 [표6]과 같이 결정될 수도 있을 것이다. 이 경우, 채널코딩에 사용되고 H 행렬 결정에 사용되는 Z값은 상기 [표4]에 나타난 Z값들 중에서, Kb x Z ≥ K를 만족하는 Z 값 중에서 최소인 것이 Z로 선택된다. 다음으로, 정보 비트와 L-비트의 CRC에 Kb x Z - K만큼의 filler bits들이 정보비트의 앞 혹은 정보 비트와 CRC의 사이, 혹은 맨 뒤에 추가될 수 있다. 본 발명에서 filler bit는 0로 정해지거나 1로 정해질 수 있다.
최대 지수 행렬 과 을 모두 이용하여 디코딩할 수 있거나 디코딩하도록 설정된 단말인, 제3단말에게 있어서, 각 BG는 서로 다른 전송 블록 길이와 부호율에 대응하여 사용하도록 설정될 수 있다. 예를 들면, 전송 블록의 길이 TBS에 전송 블록에 해당하는 CRC의 길이를 더한 값이 특정 값 N2_max 혹은 2560 이하이고 부호율이 특정 값 2/3 이하이면 두 번째 BG (BG#2)를 사용하고 이외의 경우는 첫 번째 BG (BG#1)을 사용할 수 있다. 상기 예시에서는 전송 블록의 길이가 2560 보다 길거나 부호율이 2/3 이상인 경우에 대응하여 BG#1이 최적화 되었고 반대의 경우에 대응하여 BG#2가 최적화된 경우를 고려하였다. 상기 설명에서 BG#1을 사용한다는 것은 최대 지수 행렬 (i=1, 2, …, 8) 중 하나를 사용한다는 것과 동일한 의미이며, 비슷하게 BG#2를 사용한다는 것은 최대 지수 행렬 (i=1, 2, …, 8) 중 하나를 사용한다는 것과 동일한 의미이다. 또한 부호율은 기지국이 단말로 지시하는 MCS (modulation and coding scheme) 값으로부터 쉽게 유도될 수 있다. 본 발명에서 부호율 2/3은 0.67 혹은 0.667 혹은 0.6667로 변경되어 적용하는 것이 가능할 수 있다. 상기에서 K가 특정값 N2_max 보다 작을 때 혹은 작거나 같을 때는 상기 [Pseudo-code 2] 혹은 [표 6]에 따라 Kb가 결정되고, 이에 따라 채널코딩에 사용되고 H 행렬 결정에 사용되는 Z값은 상기 [표 4]에 나타난 Z값들 중에서, Kb x Z ≥ K 만족하는 Z 값 중에서 최소인 것이 Z로 선택된다. 다음으로, 정보 비트와 L-비트의 CRC에 Kb x Z - K 만큼의 filler bits들이 앞 혹은 맨 뒤에 추가될 수 있다. 본 발명에서 filler bit는 0로 정해지거나 1로 정해질 수 있다. 상기에서 K가 특정값 N2_max보다 클 때, 혹은 크거나 같을 때는 채널코딩에 사용되고 H 행렬 결정에 사용되는 Z는 상기 [표 3]에 나타난 Z값들 중에서, Kb x Z ≥ K 만족하는 Z 값 중에서 최소인 것이 Z로 선택된다. 상기에서 Kb는 22로 정해질 수 있다. 이 경우, K비트에 Kb x Z - K 만큼의 filler bits들이 앞 혹은 맨 뒤에 추가될 수 있다.
[제3실시예]
제3실시예는 정보 비트수가 일정 값 이상일 때, 정보 비트수를 하나 이상의 부분으로 분할하고, H 행렬을 결정하여, 채널코딩을 수행하는 방법을 제공한다. 본 실시예에서는 하나 이상으로 분할된 정보 비트 블록들이 같은 H 행렬을 이용하여 채널코딩이 수행되는 실시예를 제공한다. 즉 본 실시예는, 전송 블록(Transport Block)을 코드 블록(Code Block)으로 분할(Segmentation)하는 방법을 제공한다. 일례로 정보 비트수 N이 Nx_max 값보다 크거나 혹은 N + L- 가 Nx_max 값보다 큰 경우일 수 있다. 상기에서 Nx_max는 임의의 값일 수 있으며, 상기 일례를 설명하기 위한 값이다.
도 6은 본 발명의 제 3 실시 예 및 제4 실시예를 따르는 전송 블록(Transport Block; TB)을 코드 블록(Code Block)으로 분할(Segmentation)하는 방법을 도시한 도면이다. 도 6에는 길이 N(702)의 전송 블록(710)이 도시되어 있으며, 길이 L(703)의 CRC(720)가 삽입이 되어 총 B(701)의 길이를 가지는 CRC가 삽입된 전송 블록(TB-CRC, 730)를 구성할 수 있다. 도 6에는 길이 B의 TB-CRC(730)는 총 C개의 CB들(706, 707, 708)로 분할되는 일 예가 도시되어 있다. 분할된 코드 블록은 코드 블록 크기 K를 가질 수 있고, 각 코드 블록에는 길이 L(705)의 CRC(720)가 삽입될 수 있다. CB(706, 707, 708)에 삽입되는 CRC의 길이 L 값은 상기 TB(730)에 삽입되는 CRC의 L 값과 다를 수 있다. 또한 CB에 삽입되는 CRC의 값은 TB에 삽입되는 CRC의 값과 다를 수 있다. TB에 삽입되는 CRC는 L- 혹은 L+로 표기될 수 있으며, L-는 L+보다 작은 정수이다. 일례로 L-는 16, L+는 24일 수 있다. CB에 삽입되는 CRC는 LCB로 표기될 수 있다.
도 7은 본 발명의 제 3 실시 예를 따르는 전송 블록에 대한 분할 방법을 도시한 도면이다. 도 7에 따르면, 본 발명의 제 3 실시 예는 하기의 단계들을 포함할 수 있다.
단계 (801). 전체 코드 블록 개수(C) 결정
단계 (802). 예상되는 코드 블록 분할 후의 크기(B') 결정
단계 (803). 코드 블록 크기 결정
단계 (804). Filler 비트의 수 결정
단계 (805). Filler 비트 삽입
하기에서는 각 단계에 대해 구체적으로 설명하도록 한다.
단계 (801)에서는 하나의 전송 블록을 분할하는 코드 블록의 전체 개수 (C)를 결정할 수 있다. 먼저 N + L- ≤ Kmax 이면 C=1로 한다. 상기에서 N은 TBS 값이다. 만약, N + L- > Kmax이면, B = N + L+ 로 정의하고, 코드블록 수 C를 하기의 [수학식 10]과 같은 방법으로 연산할 수 있다. 상기에서 B는 TBS에 CRC 비트를 L+만큼 더한 값이 된다. 본 발명에서의 하나의 일례는, TBS의 크기에 L-를 더하여, 특정 값보다 크면 두 개 이상의 코드블록으로 분할하고, 분할할 때에는 TBS에 L+만큼의 CRC 비트들을 추가한 것을 기준으로 분할하게 된다. 상기에서 L-와 L+는 다른 값이다. 혹은 N이 Kmax - L- 보다 크면 TBS 및 L+ CRC 비트들을 두 개 이상의 코드블록으로 분할한다.
[수학식 10]
상기 [수학식 10]의 연산을 통해 전송 블록에 대한 분할 후 생성되는 코드 블록의 개수를 최소화할 수 있다. 여기서 Kmax 값은 예컨대 8448의 값을 가질 수 있다.
단계 (802)에서는 단계 2에서 결정된 코드 블록 개수에 기반하여, 예상되는 코드 블록 분할 후의 전체 블록 크기 (B')을 결정할 수 있다. 이는 예컨대 하기 [수학식 11]를 따를 수 있다.
[수학식 11]
상기 [수학식 11]에 따르면, 예상되는 코드 블록 분할 후의 크기(B')은 코드 블록 분할 전의 전송 블록과 전송 블록에 대한 CRC를 합친 크기 (B)와 코드 블록 분할 후 추가 되는 총 CRC의 크기 (C·LCB)에 의해 결정 될 수 있다.
단계 (803)에서는 코드 블록 크기를 결정할 수 있다. 코드블록의 크기는 Kb × Z로 결정되며 Kb=22로 주어진다. 채널코딩에 사용할 H 행렬 결정을 위한 Z값은 이를 하기의 [수학식 12]과 같이 얻어질 수 있다.
[수학식 12]
즉, 상기 [표3]에서 포함된 Z값 들 중에서 C × Kb × Z >= B'를 만족하는 최소 Z값을 선택하는 방법이다.
상기 [수학식 12]의 연산을 통해 분할 후의 전체 길이 (B')에 가장 근접한 코드 블록 크기를 선택할 수 있다.
단계 (804)에서는 Filler 비트의 수를 결정할 수 있다. 이는 예컨대 하기 [수학식 13]로부터 결정될 수 있다.
[수학식 13]
단계 (805)에서는 상기 단계 (804)에서 결정된 F만큼의 Filler 비트가 특정 코드 블록에 삽입될 수 있다. Filler 비트를 삽입하는 방법에 있어서, 특정 코드 블록 하나에 크기 F를 갖는 모든 filler 비트를 삽입할 수 있다. 특정 코드 블록은 예컨대 코드 블록 분할 후 생성되는 코드 블록 중 첫번째 코드 블록에 해당할 수 있다.
Filler 비트를 삽입하는 다른 일례로, 모든 코드 블록에 크기 F의 filler 비트를 가능한 균등하게 배분하여 삽입할 수 있다. 보다 구체적으로 설명하면, 전체 C개의 코드 블록 중 처음 N개의 코드 블록에 제 1 filler 비트 크기의 filler 비트를 삽입하고, 나머지 M개의 코드 블록에 제 2 filler 비트 크기의 filler 비트를 삽입할 수 있다. 예컨대 N, M, 제 1 filler 비트 크기 (F+), 제 2 filler 비트 크기(F-)는 하기의 [수학식 14]로 결정될 수 있다.
[수학식 14]
상기 [수학식 14]는 제 1 filler 비트 크기와 제 2 filler 비트 크기의 차이를 1로 최소화할 수 있는 특징이 있다. 따라서 가장 균등한 filler 비트의 삽입을 보장할 수 있는 장점이 있다.
Filler 비트를 삽입하는 다른 일례로, 제 1 코드 블록 크기를 갖는 모든 코드 블록에 크기 F의 filler 비트를 가능한 균등하게 배분하여 삽입할 수 있다. 보다 구체적으로 설명하면, 전체 C+개의 제 1 코드 블록 크기를 갖는 모든 코드 블록에 중 처음 N+개의 코드 블록에 제 1 filler 비트 크기 (F+)의 filler 비트를 삽입하고, 나머지 M+개의 코드 블록에 제 2 filler 비트 크기 (F-)의 filler 비트를 삽입할 수 있다. 예컨대 N+, M+, 제 1 filler 비트 크기 (F+), 제 2 filler 비트 크기(F-)는 하기의 [수학식 15]로 결정될 수 있다.
[수학식 15]
상기 일례를 다시 설명하자면, 혹은 크기 F의 filler 비트를 모든 코드 블록에 최대한 균일하게 분포시켜서 삽입할 수 있다. 예를 들어, 각 코드블록들은 비트 혹은 비트의 filler 비트를 각 코드블록의 맨 앞 혹은 맨 뒤에 포함시켜 채널코딩을 수행할 수 있다. 이 때, 개의 코드블록 혹은 (F mod C)개의 코드블록은 비트의 filler bit를 가질 수 있으며, 나머지 코드블록들은 비트 혹은 의 filler bit를 가질 수 있다. 본 발명에서 연산은 x에 대한 내림 연산으로 실수 x에 대하여 작거나 같으면서 가장 큰 정수에 대응하는 함수이다.
Filler 비트를 삽입하는 다른 일례로, 제 2 코드 블록 크기를 갖는 모든 코드 블록에 크기 F의 filler 비트를 가능한 균등하게 배분하여 삽입할 수 있다. 보다 구체적으로 설명하면, 전체 C-개의 제 2 코드 블록 크기를 갖는 모든 코드 블록에 중 처음 N-개의 코드 블록에 제 1 filler 비트 크기 (F+)의 filler 비트를 삽입하고, 나머지 M-개의 코드 블록에 제 2 filler 비트 크기 (F-)의 filler 비트를 삽입할 수 있다. 예컨대 N-, M-, 제 1 filler 비트 크기 (F+), 제 2 filler 비트 크기(F-)는 하기의 [수학식 16]로 결정될 수 있다.
[수학식 16]
상기 일례에서 제 1 코드 블록 크기와 제 2 코드 블록 크기는 TBS와 코드블록 수에 따라 결정될 수 있다.
본 실시예의 일례는 하기 pseudo code 3으로 표현될 수도 있다. 하기에서 a0, a1, a2, …, aA-1은 TB에 해당하는 데이터일 수 있다. A는 TBS일 수 있다.
[Pseudo-code 3]
[시작]
- If A ≤ Kmax - LTB,16
B = A + LTB,16
bk = ak for k=0,1,2,…,A-1
bk = pk-A for k=A, A+1, …, A + LTB,16 - 1
Number of code blocks: C=1
B' = B
- Else
B = A + LTB,24
bk = ak for k=0,1,2,…,A-1
bk = pk-A for k=A, A+1, …, A + LTB,24 - 1
B'=B+C-LCB
- end
[종료]
상기 [Pseudo-code 3]에서 pk-A는 Ak로부터 계산되어지는 CRC일 수 있다. 또한, LTB , 16와 LTB ,24는 상기에서 각각 L-와 L+에 해당되는 값일 수 있으며, LTB ,24와 LCB 는 동일한 값일 수 있다. 일례로 LTB , 16와 LTB ,24는 각각 16과 24이고, LCB는 24일 수 있다. 하지만, 상기 실시예는 상기에서 제시한 값에 한정되지 않는다.
[제4실시예]
제4실시예는 정보 비트수가 일정 값 이상일 때, 정보 비트수를 하나 이상의 부분으로 분할하고, H 행렬들을 결정하여, 채널코딩을 수행하는 방법을 제공한다. 본 실시예에서는 하나 이상으로 분할된 정보 비트 블록들이 두 종류의 H 행렬들을 이용하여 채널코딩이 수행되는 실시예를 제공한다.
상기에서 설명한 바와 같이 도 6은 본 발명의 제3 실시 예 및 제 4 실시 예를 따르는 전송 블록(Transport Block; TB)을 코드 블록(Code Block)으로 분할(Segmentation)하는 방법을 도시한 도면이다. 상술한 바와 같이 도 6에는 길이 N(702)의 전송 블록(710)이 도시되어 있으며, 길이 L(703)의 CRC(720)가 삽입이 되어 총 B(701)의 길이를 가지는 CRC가 삽입된 전송 블록(TB-CRC, 730)를 구성할 수 있다. 도 6에는 길이 B의 TB-CRC(730)는 총 C개의 CB들(706, 707, 708)로 분할되는 일 예가 도시되어 있다. 분할된 코드 블록은 코드 블록 크기 K를 가질 수 있고, 각 코드 블록에는 길이 L(705)의 CRC(720)가 삽입될 수 있다. CB(706, 707, 708)에 삽입되는 CRC의 길이 L 값은 상기 TB(730)에 삽입되는 CRC의 L 값과 다를 수 있다. 또한 CB에 삽입되는 CRC의 값은 TB에 삽입되는 CRC의 값과 다를 수 있다. TB에 삽입되는 CRC는 L- 혹은 L+로 표기될 수 있으며, L-는 L+보다 작은 정수이다. 일례로 L-는 16, L+는 24일 수 있다. CB에 삽입되는 CRC는 LCB로 표기될 수 있다.
본 발명의 제 4 실시 예를 따르는 전송 블록에 대한 분할 방법은 하기의 단계들을 포함할 수 있다.혹은 상기에서 제시한 [Pseudo-code 3]에 의해 B' 및 C 값들이 계산되어 질 수 있다.
단계 (4-1). 전체 코드 블록 개수(C) 결정
단계 (4-2). 예상되는 코드 블록 분할 후의 크기(B') 결정
단계 (4-3). 코드 블록 크기들(K+, K-) 및 H 행렬 결정을 위한 Z값 결정
단계 (4-4). Filler 비트의 수 결정
단계 (4-5). Filler 비트 삽입
하기에서는 각 단계에 대해 구체적으로 설명하도록 한다.
도 8은 본 발명의 제 4 실시 예를 따르는 전송 블록에 대한 분할 방법을 도시한 도면이다. 도 8에 따르면, 본 발명의 제 4 실시 예는 하기의 단계들을 포함할 수 있다.
단계 (901). 전체 코드 블록 개수(C) 결정
단계 (902). 예상되는 코드 블록 분할 후의 크기(B') 결정
단계 (903). 제 1 코드 블록 크기(K+) 결정
단계 (904). 제 2 코드 블록 크기(K-) 결정
단계 (905). 제 2 코드 블록 크기(K-)를 갖는 코드 블록의 개수(C-) 결정
단계 (906). 제 1 코드 블록 크기(K+)를 갖는 코드 블록의 개수(C+) 결정
단계 (907). Filler 비트의 수 결정
단계 (908). Filler 비트 삽입
하기에서는 각 단계에 대해 구체적으로 설명하도록 한다.
상기 단계 (901)에서는 하나의 전송 블록을 분할하는 코드 블록의 전체 개수 (C)를 결정할 수 있다. 먼저 N + L- ≤ Kmax 이면 C=1로 한다. 상기에서 N은 TBS 값이다. 만약, N + L- > Kmax이면, B = N + L+ 로 정의하고, 코드블록 수 C를 상기의 [수학식 10]과 같은 방법으로 연산할 수 있다. 상기에서 B는 TBS에 CRC 비트를 L+만큼 더한 값이 된다. 상기 [수학식 10]의 연산을 통해 전송 블록에 대한 분할 후 생성되는 코드 블록의 개수를 최소화할 수 있다. 여기서 Kmax 값은 예컨대 8448의 값을 가질 수 있다.
상기 과정은 하기의 [Pseudo-code 4]로 나타낼 수 있을 것이다.
[Pseudo-code 4]
[시작]
If A ≤ Kcb - LTB,16
B = A + LTB,16
bk = ak for k=0,1,2,…,A-1
bk = pk-A for k=A, A+1, …, A + LTB,16 - 1
else
B = A + LTB,24
bk = ak for k=0,1,2,…,A-1
bk = pk-A for k=A, A+1, …, A + LTB,24 - 1
end if
(상기 단계는 정보 비트에 CRC를 추가하는 과정이다.)
L=0
Number of code blocks: C=1
B'=B
else
L=LCB
B'=B+C·L
end if
(상기 과정은 코드블록 수 C와 전체 비트수 B'을 구하는 과정이다)
[종료]
상기에서 Kcb는 Kmax를 가리킬 수 있으며, 또는 8448일 수 있다. 상기에서 A는 정보 비트수일 수 있으며, 상위에서 전달되는 데이터의 양일 수 있다. 상기 [Pseudo-code 4]에서 pk-A는 Ak로부터 계산되어지는 CRC일 수 있다. 또한, LTB,16와 LTB,24는 상기에서 각각 L-와 L+에 해당되는 값일 수 있으며, LTB,24와 LCB 는 동일한 값일 수 있다. 일례로 LTB,16와 LTB,24는 각각 16과 24이고, LCB는 24일 수 있다. 하지만, 상기 실시예는 상기에서 제시한 값에 한정되지 않는다. 상기에서 L은 LCB를 가리키는 값으로, 각 코드블록에 더해질 수 있는 CRC의 길이이다.
상기 단계 (902)에서는 상기 단계 (901)에서 결정된 코드 블록 개수 C에 기반하여, 예상되는 코드 블록 분할 후의 전체 블록 크기 (B')을 결정할 수 있다. 이는 예컨대 상기 [수학식 11]를 따를 수 있다. 상기 [수학식 11]에 따르면, 예상되는 코드 블록 분할 후의 크기(B')은 코드 블록 분할 전의 전송 블록과 전송 블록에 대한 CRC를 합친 크기 (B)와 코드 블록 분할 후 추가 되는 총 CRC의 크기 (C·LCB)에 의해 결정 될 수 있다.
단계 (903) 및 단계 (904)에서는 큰 코드블록의 크기 (K+)와 작은 코드블록의 크기 (K-)를 결정할 수 있다. K+와 K-는 상기 [표7]에 의해 만들어지는 값들의 집합 중에서 각각 하기 수학식 17과 수학식 18를 만족하는 값으로 결정된다.
[수학식 17]
[수학식 18]
단계 (905) 및 단계 (906)에서는 상기에서 K+의 크기를 갖는 코드블록의 수 C+와 K-의 크기를 갖는 코드블록의 수 C-는 하기와 같이 구해질 수 있다.
[수학식 19]
[수학식 20]
상기에서 C+개의 코드블록은 각각 K+ 비트를 갖고, C-개의 코드블록 각각 K- 비트를 갖는데, 각각의 K+비트와 K-비트에는 filler 비트가 포함되어 있을 수 있다. 총 filler 비트 수의 합은 가 될 수 있다. 이러한 filler 비트는 모든 코드블록에 최대한 균등하게 나뉠 수 도 있고, 혹은 K+ 비트를 갖는 C+개의 코드블록에 최대한 균등하게 나뉠 수 있고, 혹은 K- 비트를 갖는 C-개의 코드블록에 최대한 균등하게 나뉠 수 있고, 혹은 하나의 코드블록에 모두 포함될 수 있다.
단계 (906) 다음에서는 코드 블록 크기를 결정할 수 있다. 코드블록의 크기는 Kb × Z로 결정되며 Kb=22로 주어진다. 채널코딩에 사용할 H 행렬 결정을 위한 Z값은 이를 하기의 [수학식 21]과 같이 얻어질 수 있다.
[수학식 21]
즉, 상기 [표3]에서 포함된 Z값 들 중에서 Kb × Z >= K+ 를 만족하는 최소 Z값을 선택하는 방법이다.
상기 [수학식 21]의 연산을 통해 K+에 가장 근접한 코드 블록 크기를 선택할 수 있다.
단계 (907)에서는 Filler 비트의 수를 결정할 수 있다. 이는 예컨대 하기 [수학식 22] 혹은 [수학식 23]으로부터 각 코드 블록의 filler 비트의 수가 결정될 수 있다.
[수학식 22]
[수학식 23]
단계 (908)에서는 상기 단계 (907)에서 결정된 F+ 혹은 F- 만큼의 Filler 비트가 특정 코드 블록에 삽입될 수 있다. 예컨대, K+의 코드블록 크기를 갖는 코드블록은 F+만큼의 filler 비트가 추가되고, K-의 코드블록 크기를 갖는 코드블록은 F+만큼의 filler 비트가 추가될 수 있다. Filler 비트를 삽입하는 방법에 있어서, 특정 코드 블록 하나에 크기 F+ 혹은 F-를 갖는 모든 filler 비트를 삽입할 수 있다. 특정 코드 블록은 예컨대 코드 블록 분할 후 생성되는 코드 블록 중 첫번째 코드 블록에 해당할 수 있다.
[제4-1실시예]
제4-1실시예는 정보 비트수가 일정 값 이상일 때, 정보 비트수를 하나 이상의 부분으로 분할하고, H 행렬들을 결정하여, 채널코딩을 수행하는 방법을 제공한다. 본 실시예에서는 하나 이상으로 분할된 정보 비트 블록들이 두 종류의 H 행렬들을 이용하여 채널코딩이 수행되는 실시예를 제공한다.
본 발명의 제 4-1 실시 예는 하기의 단계들을 포함할 수 있다.
단계 (1001). 전체 코드 블록 개수(C) 결정
단계 (1002). 예상되는 코드 블록 분할 후의 크기(B') 결정
단계 (1003). 코드 블록 크기(K) 결정
단계 (1004). 1단계 Filler 비트의 수 결정
단계 (1005). 1단계 Filler 비트 삽입
단계 (1006). 채널코드 결정을 위한 Kb와 Z 정하기
단계 (1007). 2단계 Filler 비트의 수 결정
단계 (1008). 2단계 Filler 비트 삽입
하기에서는 각 단계에 대해 구체적으로 설명하도록 한다.
상기 단계 (1001)에서는 하나의 전송 블록을 분할하는 코드 블록의 전체 개수 (C)를 결정할 수 있다. 먼저 N + L- ≤ Kmax 이면 C=1로 한다. 상기에서 N은 TBS 값이다. 만약, N + L- > Kmax이면, B = N + L+ 로 정의하고, 코드블록 수 C를 상기의 [수학식 10]과 같은 방법으로 연산할 수 있다. 상기에서 B는 TBS에 CRC 비트를 L+만큼 더한 값이 된다. 상기 [수학식 10]의 연산을 통해 전송 블록에 대한 분할 후 생성되는 코드 블록의 개수를 최소화할 수 있다. 여기서 Kmax 값은 예컨대 8448의 값을 가질 수 있다.
상기 단계 (1002)에서는 상기 단계 (1001)에서 결정된 코드 블록 개수 C에 기반하여, 예상되는 코드 블록 분할 후의 전체 블록 크기 (B')을 결정할 수 있다. 이는 예컨대 상기 [수학식 11]를 따를 수 있다. 상기 [수학식 11]에 따르면, 예상되는 코드 블록 분할 후의 크기(B')은 코드 블록 분할 전의 전송 블록과 전송 블록에 대한 CRC를 합친 크기 (B)와 코드 블록 분할 후 추가 되는 총 CRC의 크기 (C·LCB)에 의해 결정 될 수 있다.
단계 (1003)에서는 코드블록의 크기 (K)를 결정할 수 있다. K는 하기 수학식 24를 만족하는 값으로 결정된다.
[수학식 24]
K = minimum K such that C × K >= B'
상기에서 C개의 코드블록은 각각 K 비트의 데이터 비트들을 갖는데, K 비트에는 filler 비트가 포함되어 있을 수 있다. 총 filler 비트 수의 합은 C×B-B'가 될 수 있다. 이러한 filler 비트는 모든 코드블록에 최대한 균등하게 나뉠 수 있고, 혹은 하나의 코드블록에 모두 포함될 수 있다. 상기 단계 (1004) 및 단계 (1005)와 관련된 filler bit를 1단계 filler bit라 할 수 있다.
단계 (1006)에서는 채널코드의 크기를 결정할 수 있다. 채널코드의 크기는 Kb × Z로 결정되며 Kb=22로 주어진다. 채널코딩에 사용할 H 행렬 결정을 위한 Z값은 이를 하기의 [수학식 25]과 같이 얻어질 수 있다.
[수학식 25]
Z = minimum Z such that Kb × Z >= K
즉, 상기 [표3]에서 포함된 Z값 들 중에서 Kb × Z >= K를 만족하는 최소 Z값을 선택하는 방법이다.
상기 [수학식 25]의 연산을 통해 K에 가장 근접한 코드 블록 크기를 선택할 수 있다.
단계 (1007)에서는 Filler 비트의 수를 결정할 수 있다. 이는 예컨대 하기 [수학식 26]로부터 각 코드 블록의 filler 비트의 수를 결정될 수 있다.
[수학식 26]
F = Kb × Z - K
단계 (1008)에서는 상기 단계 (1007)에서 결정된 F만큼의 Filler 비트가 각 코드 블록들에 삽입될 수 있다. 예컨대, K의 코드블록 크기를 갖는 코드블록은 F만큼의 filler 비트가 추가될 수 있다. 상기 단계 (1007) 및 단계 (1008)과 관련된 filler bit를 2단계 filler bit라 할 수 있다.
[제4-2실시예]
제4-2실시예는 기지국과 단말이 transport block의 크기 (transport block size; TBS)를 계산하고 판단하는 방법에 대해 설명한다.
기지국은 단말에게 스케줄링을 위해 주파수-시간 자원을 할당하면서 몇 개의 지원원소(resource element; RE)들이 데이터 전송에 이용될 수 있는지 셀 수 있다. 예를 들어, 1번 PRB부터 10번 PRB까지 10개의 PRB를 할당하고, 7개의 OFDM 심볼을 데이터 전송에 할당한 경우, 총 10x12x7 즉 840 RE들이 할당된 주파수-시간 자원에 포함된다. 상기 840개의 RE들 중에서 DMRS로 사용되는 RE들, CSI-RS로 사용되는 RE들, 존재할 수 있는 제어채널에 사용되는 RE들 등을 제외하고 데이터 신호가 매핑되는데 이용될 수 있다. 따라서 기지국과 단말은 어떠한 RE들이 데이터 전송에 이용되는지 주파수-시간 자원의 할당으로부터 알 수 있다. 상기 주파수-시간 자원은 물리계층 혹은 상위계층 시그널링으로 단말에게 전달될 수 있다.
한편 기지국은 단말에게 스케줄링을 위해 변조(modulation) 및 채널코딩 정보를 알려줄 수 있다. 예를 들어, 데이터 전송이 QPSK, 16-QAM, 64-QAM, 256-QAM, 1024-QAM 등 어떠한 modulation으로 전송되는지에 대한 것과, 코딩레이트 (coding rate)에 대한 정보가 포함될 수 있다. 이는 modulation and coding scheme (MCS)로 불릴 수 있고, 정해진 표로 값들이 정의되고, 기지국은 단말에게 index만 DCI에 포함하여 전달할 수 있다. 상기 변조 정보 중에서 변조오더(modulation order)에 대한 정보를 전달하는 것도 가능하다. QPSK, 16-QAM, 64-QAM, 256-QAM, 1024-QAM의 modulation order는 각각 2, 4, 6, 8, 10이 된다.
기지국은 하기와 같은 단계로 최종 TBS값을 계산한다.
1단계: 레이어 당 임시 TBS 계산
2단계: 레이어 당 최종 TBS 선택
3단계: 최종 TBS 계산
상기 1단계에서는 레이어 당 임시TBS를 하기와 같은 수학식으로 계산할 수 있다.
- 레이어 당 임시 TBS값 = MCS order x 코딩 레이트 x 데이터 전송에 쓸 수 있는 할당된 RE 수
또는
- 레이어 당 임시 TBS값 = MCS 표에서 제시한 값 x 데이터 전송에 쓸 수 있는 할당된 RE 수
상기와 같이 계산되어질 수 있다. 상기 MCS 표에서 제시한 값은 코딩 레이트와 MCS order를 반영한 값일 수 있다.
상기 2단계에서 최종 TBS 선택은, 하기 [표 8]에 의해서 TBS이 될 수 있는 값들 중에서, 상기 계산한 레이어 당 임시 TBS값보다 작거나 같은 값 중에서 제일 큰 값으로 선택한다.
[표 8]
[표 9]
상기 [표 9]에서 TBS1은 32 또는 40과 같은 작은 정수일 수 있다. TBS2는 8448과 같은 정수일 수 있다. TBSC는 (C-1)×(Kmax -LCB)-LTB,24 보다 큰 C×8의 배수 혹은 C와 8의 최소공배수일 수 있다. 혹은 TBSC는 ceil(((C-1) ×8432 + 1)/LCM(8,C)) ×LCM(8,C) - 24 일 수 있다. 상기에서 ceil{x}는 x보다 크거나 같은 최소 정수일 수 있다. LCM(a,b)는 a와 b의 최소공배수이다. 예를 들어, 하기와 같은 [표 10] 으로 주어질 수 있다.
[표10]
상기 [표 8]는 TB가 C개의 코드블록으로 분할될 때, 각 코드블록에 포함되는 정보의 비트수가 동일할 때, 각 코드블록에 포함되는 정보의 비트수는 8 단위로 될 수 있다. 따라서 주어진 TBS 값의 범위에 따라 TBS 값이 될 수 있는 TBS의 granularity는 상기 [표 8]과 같이 정해질 수 있다. 혹은 하기 [표 11]과 같이 정해질 수 있다.
[표 11]
상기에서 LCM(C, 8)은 C와 8의 최소공배수를 의미한다. 예를 들어, C가 10일 경우, 10과 8의 최소공배수 LCM(C, 8)은 40이 된다.
혹은 TBS가 될 수 있는 값들은 하기 [Pseudo-code 5]에 나타난 수식 구해지는 TBS로 나타낼 수 있을 것이다.
[Pseudo-code 5]
[시작]
If TBS ≤ 8432
TBS: 8 + 8×n, for n=0,1,2,..., 1053
Else if TBS ≤ 8440
TBS: 8440+ 16×n, for n=0,1,2,..., 525
Else
TBS: ceil(((C-1) ×8432 + 1)/LCM(8,C))*LCM(8,C) - 24 + C?8×n, for C=3,4, ..., and n=0,1,2,..., floor(8432/8/C)
End if
[종료]
상기에서 LCM(a,b)는 a와 b의 최소공배수이다. 상기 [Pseudo-code 5]에 의해서 구해지는 값들의 일부는 하기 표로 주어지는 값을 포함할 수 있다. 하기 표 12는 상기 [Pseudo-code 5]에서 C가 5까지 주어지는 값들로 구해지는 TBS의 후보일 수 있다.
[표 12]
상기 [Pseudo-code 5]는 TBS이 될 수 있는 후보 값들은 TBS+ LTB,24가 8의 배수이면서 코드블록 수 C의 배수가 되는 값들 중에서 일부 혹은 전체를 포함하는 것일 수 있다. 또는, 상기 [Pseudo-code 5]는 TBS이 될 수 있는 후보 값들은 TBS+ LTB,24가 8*C의 배수가 되는 값들 중에서 일부 혹은 전체를 포함하는 것일 수 있다. 또한 [표 12]의 TBS 후보값들의 일부 혹은 전체를 포함하는 값들 중에서 TBS를 결정할 수 있다. 상기 TBS의 후보값들은 레이어당 TBS가 될 수 있는 값이거나 혹은 레이어 전체에 해당되는 TBS 값일 수 있다.
혹은 하기 [표 13]의 TBS 후보값들의 일부 혹은 전체를 포함하는 값들 중에서 TBS를 결정할 수 있다. 상기 TBS의 후보값들은 레이어당 TBS가 될 수 있는 값이거나 혹은 레이어 전체에 해당되는 TBS 값일 수 있다.
[표 13]
TBS가 될 수 있는 값은 [표 8], [표 9], [표 10], [표 11] [표 12], [표 13] 에 의해 정해지는 TBS 값들에 한정되지 않고, 다른 목적으로의 특별한 TBS 값들이 더해질 수 있다. 즉, TBS가 될 수 있는 값은 [표 8] 혹은 [표 9] 혹은 [표 10] 혹은 [표 11] 혹은 [표 12] 혹은 [표 13]에 의해서 결정되는 값들을 포함할 수 있으며, TBS가 될 수 있는 값들은 TBS 후보 집합 (TBS candidate set)이라고 부를 수 있다.
또한 상기 1단계에서 계산한 레이어 당 임시 TBS 값이 2000이라고 하면, 상기 2000보다 작은 값 중에서 제일 큰 값인 1992가 레이어당 최종 TBS로 선택된다. 이는 기지국이 목표로 하는 코딩레이트보다 같거나 낮은 실제 코딩레이트를 확보하려는 목적일 수 있다.
다른 일례로, 상기 2단계는 생략되어질 수 있다.
다른 일례로, 상기 2단계는, 상기 1단계에서 얻어진 레이어 당 임시 TBS 값을 특정 정수의 배수로 만들어주는 단계가 될 수 있다. 예를 들어, 상기 레이어 당 임시 TBS 값을 N의 배수로 만들어주기 위하여 N x ceil(레이어 당 임시 TBS/N) 혹은 N x floor(레이어 당 임시 TBS/N)으로 얻을 수 있다. 상기에서 ceil(X)와 floor(X)는 각각 X보다 큰 최소 정수와 X보다 작은 최대 정수를 의미할 수 있다. 상기에서 N은 8과 같은 정수로 고정될 수 있다. 상기 N은 MAC 또는 RRC와 같이 상위에서 전달되는 데이터가 N의 배수로 전달되는 경우 때문에 결정될 수 있다.
상기 3단계에서 최종 TBS는 2단계에서 선택된 레이어 당 최종 TBS에 레이어 수를 곱하여 얻을 수 있다.
상기에서 TBS candidate set은 시스템 주파수 대역, 부반송파 너비 (subcarrier spacing), 슬롯당 OFDM 심볼 수에 따라 원소 및 최대 값 등이 달라 질 수 있다. 또한 TBS candidate set은 기지국과 단말이 미리 약속하 할 수 있으며, 혹은 데이터 전송을 위해서 상위 시그널링으로 설정해주는 것도 가능할 수 있다.
상기에서는 레이어 당 TBS를 계산한 수, 레이어 수를 곱하여 최종 TBS를 얻었지만, A단계로 레이어 수를 고려하여 TBS를 계산한 후, B단계로 TBS가 될 수 있는 값으로 근사하는 것이 가능할 것이다. 상기 A단계는 하기와 같은 수식으로 계산될 수 있다.
- 임시 TBS값 = MCS order x 코딩 레이트 x 데이터 전송에 쓸 수 있는 할당된 RE 수 x 전송에 사용할 레이어 수
또는
- 레이어 당 임시 TBS값 = MCS 표에서 제시한 값 x 데이터 전송에 쓸 수 있는 할당된 RE 수 x 전송에 사용할 레이어 수
즉, 상기 1단계의 계산에서 레이어 수를 추가로 고려하여 임시 TBS를 계산할 수 있다.
상기 B 단계는 A단계에서 구해진 TBS 값에서 TBS candidate set을 고려하여 최종 TBS를 구하는 과정으로서, 상기 2단계와 유사할 수 있다.
[제5실시예]
제5실시예는 상향링크 제어정보를 둘 이상의 블록으로 분할하여 채널코딩을 수행하여 전송하는 방법을 제공한다. 본 실시예에서의 상향링크 제어정보(uplink control information: UCI)는 채널 측정 정보, HARQ-ACK/NACK 정보, 스케줄링 요구 비트 등을 포함할 수 있다.
N 비트의 UCI가 있을 때, N_max - L보다 클 경우 둘 이상의 블록으로 분할 될 수 있다. 상기에서 N_max는 폴라코드 등의 채널코드가 수행되는 단위이며 채널코딩 한 블록의 최대 길이로 간주될 수 있다. 즉, N_max는 폴라코드에서 하나의 코드블록에 포함될 수 있는 정보 비트의 최대 값이 될 수 있다. 상기에서 L은 폴라코드 등의 채널코드 디코딩을 수행할 때 올바른 정보인지를 확인할 수 있도록 하기 위한 CRC 체크용 비트의 길이일 수 있다. 일례로 L은 16 혹은 19 등의 값이 될 수 있다. UCI의 채널코딩을 위해 사용되는 코드블록의 수를 C라 하면 C는 하기와 같은 수식으로 구해질 수 있다.
연산은 x에 대한 올림 연산으로 실수 x에 대하여 크거나 같으면서 가장 작은 정수에 대응하는 함수이다. C개의 코드블록 중에서 C+개의 코드블록은 각각 비트의 UCI를 포함하고, C-개의 코드블록은 각각 비트의 UCI를 포함한다. 상기에서 C+는 로 구해질 수 있다. 또한, C-는 C - C+로 구해질 수 있다.
일례로, 단말이 전송해야할 UCI의 비트수가 1024비트라고 가정하고, 폴라코드가 걸릴 수 있는 최대 코드블록의 길이가 512이고, CRC의 길이가 16비트라고 가정할 때, C는 으로 결정될 수 있다. 또한 C+는 이며, C-는 3-1=2 이다. 즉, 총 1024의 UCI는 3개의 코드블록으로 분할되며, 그 중 1개의 코드블록은 UCI중에서 비트를 포함하고, 나머지 2개의 코드블록은 UCI의 각각 341 비트씩을 포함하도록 분할 될 수 있다.
도 9는 실시 예들에 따른 단말의 구조를 도시하는 블록도이다.
도 9를 참조하면 본 발명의 단말은 단말기 수신부(1200), 단말기 송신부(1204), 단말기 처리부(1202)를 포함할 수 있다. 단말기 수신부(1200)와 단말이 송신부(1204)를 통칭하여 실시 예에서는 송수신부라 칭할 수 있다. 송수신부는 기지국과 신호를 송수신할 수 있다. 상기 신호는 하향 제어 정보와, 데이터를 포함할 수 있다. 이를 위해, 송수신부는 송신되는 신호의 주파수를 상승 변환 및 증폭하는 RF 송신기와, 수신되는 신호를 저 잡음 증폭하고 주파수를 하강 변환하는 RF 수신기 등으로 구성될 수 있다. 또한, 송수신부는 무선 채널을 통해 신호를 수신하여 단말기 처리부(1202)로 출력하고, 단말기 처리부(1202)로부터 출력된 신호를 무선 채널을 통해 전송할 수 있다.
단말기 처리부(1202)는 상술한 실시 예에 따라 단말이 동작할 수 있도록 일련의 과정을 제어할 수 있다. 예를 들어, 단말 수신부(1200)에서 기지국으로부터 제2신호 전송 타이밍 정보를 포함하는 신호를 수신하고, 단말 처리부(1202)는 제2신호 전송 타이밍을 해석하도록 제어할 수 있다. 이후, 단말 송신부(1204)에서 상기 타이밍에서 제2신호를 송신할 수 있다.
단말기 처리부(1202)는 제어부라 칭할 수도 있다. 이 때, 본 발명에서 제어부는, 회로 또는 어플리케이션 특정 통합 회로 또는 적어도 하나의 프로세서라고 정의될 수 있다.
또한, 본 발명의 제어부는 본 발명에서 제안하는 실시예에 따른 단말의 전반적인 동작을 제어할 수 있다. 예를 들어, 제어부 (1202)는 상기에서 기술한 순서도에 따른 동작을 수행하도록 각 블록 간 신호 흐름을 제어할 수 있다.
도 10은 실시 예들에 따른 기지국의 구조를 도시하는 블록도이다.
도 10을 참조하면, 실시 예에서 기지국은 기지국 수신부(1301), 기지국 송신부(1305) 및 기지국 처리부(1303) 중 적어도 하나를 포함할 수 있다. 기지국 수신부(1301)와 기지국 송신부(1305)를 통칭하여 본 발명의 실시 예에서는 송수신부라 칭할 수 있다. 송수신부는 단말과 신호를 송수신할 수 있다. 상기 신호는 하향 제어 정보와, 데이터를 포함할 수 있다. 이를 위해, 송수신부는 송신되는 신호의 주파수를 상승 변환 및 증폭하는 RF 송신기와, 수신되는 신호를 저 잡음 증폭하고 주파수를 하강 변환하는 RF 수신기 등으로 구성될 수 있다. 또한, 송수신부는 무선 채널을 통해 신호를 수신하여 기지국 처리부(1303)로 출력하고, 단말기 처리부(1303)로부터 출력된 신호를 무선 채널을 통해 전송할 수 있다.
기지국 처리부(1303)는 상술한 본 발명의 실시 예에 따라 기지국이 동작할 수 있도록 일련의 과정을 제어할 수 있다. 예를 들어, 기지국 처리부(1303)는 제2신호 전송 타이밍을 결정하고, 단말에게 전달할 상기 제2신호 전송 타이밍 정보를 생성하도록 제어할 수 있다. 이후, 기지국 송신부(1305)에서 상기 타이밍 정보를 단말에게 전달하고, 기지국 수신부(1301)는 상기 타이밍에서 제2신호를 수신할 수 있다. 또한, 본 발명의 일 실시 예에 따르면, 상기 기지국 처리부(1303)는 상기 제2신호 송신 타이밍 정보를 포함하는 하향링크 하향 제어 정보(Downlink Control Information, DCI)를 생성하도록 제어할 수 있다. 이 경우, 상기 DCI는 상기 제2신호 전송 타이밍 정보임을 지시할 수 있다.
단말기 처리부(1303)는 제어부라 칭할 수도 있다. 이 때, 본 발명에서 제어부는, 회로 또는 어플리케이션 특정 통합 회로 또는 적어도 하나의 프로세서라고 정의될 수 있다.
또한, 본 발명의 제어부는 본 발명에서 제안하는 실시예에 따른 단말의 전반적인 동작을 제어할 수 있다. 예를 들어, 제어부 (1303)는 상기에서 기술한 순서도에 따른 동작을 수행하도록 각 블록 간 신호 흐름을 제어할 수 있다.
한편, 본 명세서와 도면에 개시된 본 발명의 실시예들은 본 발명의 기술 내용을 쉽게 설명하고 본 발명의 이해를 돕기 위해 특정 예를 제시한 것일 뿐이며, 본 발명의 범위를 한정하고자 하는 것은 아니다. 즉 본 발명의 기술적 사상에 바탕을 둔 다른 변형예들이 실시 가능하다는 것은 본 발명의 속하는 기술 분야에서 통상의 지식을 가진 자에게 자명한 것이다. 또한 상기 각각의 실시 예는 필요에 따라 서로 조합되어 운용할 수 있다. 예컨대, 본 발명의 실시예 1와 실시예 2, 그리고 실시예3의 일부분들이 서로 조합되어 기지국과 단말이 운용될 수 있다. 또한 상기 실시예들은 NR 시스템을 기준으로 제시되었지만, FDD 혹은 TDD LTE 시스템 등 다른 시스템에도 상기 실시예의 기술적 사상에 바탕을 둔 다른 변형예들이 실시 가능할 것이다.
또한, 본 명세서와 도면에는 본 발명의 바람직한 실시 예에 대하여 개시하였으며, 비록 특정 용어들이 사용되었으나, 이는 단지 본 발명의 기술 내용을 쉽게 설명하고 발명의 이해를 돕기 위한 일반적인 의미에서 사용된 것이지, 본 발명의 범위를 한정하고자 하는 것은 아니다. 여기에 개시된 실시 예 외에도 본 발명의 기술적 사상에 바탕을 둔 다른 변형 예들이 실시 가능하다는 것은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 자명한 것이다.
Claims (16)
- 무선 통신 시스템에서 단말에 의해 수행되는 방법에 있어서,
기지국으로부터 MCS (modulation coding scheme) 정보 및 자원 할당 정보를 포함하는 DCI (downlink control information)를 수신하는 단계;
상기 MCS 정보에 의해 지시되는 MCS 오더와 부호율, 데이터 전송에 할당된 RE들 (resource elements)의 수, 및 레이어의 수에 기반하여 제1 임시 TBS (transport block size)를 확인하는 단계;
상기 제1 임시 TBS를 특정 값으로 나눈 값의 floor 함수 값과 상기 특정 값의 곱에 기반하여 제2 임시 TBS를 확인하는 단계; 및
상기 제2 임시 TBS 및 TBS 후보군 세트에 기반하여 TBS를 확인하는 단계를 포함하며,
상기 RE들의 수는 상기 자원 할당 정보에 기반하여 결정되는 것을 특징으로 하는 방법. - 삭제
- 제1항에 있어서,
상기 RE들의 수는,
상기 데이터 전송에 할당된 자원 블록들의 수, 할당된 심볼들의 수 및 복조 기준 신호에 할당된 RE들의 수에 기반하여 확인되는 것을 특징으로 하는 방법. - 제1항에 있어서,
상기 MCS 정보는 MCS 테이블의 MCS 인덱스이며,
상기 MCS 오더와 상기 부호율은 상기 MCS 인덱스에 의해 지시되는 것을 특징으로 하는 방법. - 무선 통신 시스템에서 기지국에 의해 수행되는 방법에 있어서,
MCS (modulation coding scheme) 정보 및 자원 할당 정보를 포함하는 DCI (downlink control information)를 단말에 전송하는 단계;
상기 MCS 정보에 의해 지시되는 MCS 오더와 부호율, 데이터 전송에 할당된 RE들 (resource elements)의 수, 및 레이어의 수에 기반하여 제1 임시 TBS (transport block size)를 확인하는 단계;
상기 제1 임시 TBS를 특정 값으로 나눈 값의 floor 함수 값과 상기 특정 값의 곱에 기반하여 제2 임시 TBS를 확인하는 단계; 및
상기 제2 임시 TBS 및 TBS 후보군 세트에 기반하여 TBS를 확인하는 단계를 포함하며,
상기 RE들의 수는 상기 자원 할당 정보에 기반하여 결정되는 것을 특징으로 하는 방법. - 삭제
- 제5항에 있어서,
상기 RE들의 수는,
상기 데이터 전송에 할당된 자원 블록들의 수, 할당된 심볼들의 수 및 복조 기준 신호에 할당된 RE들의 수에 기반하여 확인되는 것을 특징으로 하는 방법. - 제5항에 있어서,
상기 MCS 정보는 MCS 테이블의 MCS 인덱스이며,
상기 MCS 오더와 상기 부호율은 상기 MCS 인덱스에 의해 지시되는 것을 특징으로 하는 방법. - 무선 통신 시스템에서 단말에 있어서,
송수신부; 및
상기 송수신부와 연결되고,
기지국으로부터 MCS (modulation coding scheme) 정보 및 자원 할당 정보를 포함하는 DCI (downlink control information)를 수신하고,
상기 MCS 정보에 의해 지시되는 MCS 오더와 부호율, 데이터 전송에 할당된 RE들 (resource elements)의 수, 및 레이어의 수에 기반하여 제1 임시 TBS (transport block size)를 확인하고,
상기 제1 임시 TBS를 특정 값으로 나눈 값의 floor 함수 값과 상기 특정 값의 곱에 기반하여 제2 임시 TBS를 확인하고,
상기 제2 임시 TBS 및 TBS 후보군 세트에 기반하여 TBS를 확인하는 제어부를 포함하며,
상기 RE들의 수는 상기 자원 할당 정보에 기반하여 결정되는 것을 특징으로 하는 단말. - 삭제
- 제9항에 있어서,
상기 RE들의 수는,
상기 데이터 전송에 할당된 자원 블록들의 수, 할당된 심볼들의 수 및 복조 기준 신호에 할당된 RE들의 수에 기반하여 확인되는 것을 특징으로 하는 단말. - 제9항에 있어서,
상기 MCS 정보는 MCS 테이블의 MCS 인덱스이며,
상기 MCS 오더와 상기 부호율은 상기 MCS 인덱스에 의해 지시되는 것을 특징으로 하는 단말. - 무선 통신 시스템에서 기지국에 있어서,
송수신부; 및
상기 송수신부와 연결되고,
MCS (modulation coding scheme) 정보 및 자원 할당 정보를 포함하는 DCI (downlink control information)를 단말에 전송하고,
상기 MCS 정보에 의해 지시되는 MCS 오더와 부호율, 데이터 전송에 할당된 RE들 (resource elements)의 수, 및 레이어의 수에 기반하여 제1 임시 TBS (transport block size)를 확인하고,
상기 제1 임시 TBS를 특정 값으로 나눈 값의 floor 함수 값과 상기 특정 값의 곱에 기반하여 제2 임시 TBS를 확인하고,
상기 제2 임시 TBS 및 TBS 후보군 세트에 기반하여 TBS를 확인하는 제어부를 포함하며,
상기 RE들의 수는 상기 자원 할당 정보에 기반하여 결정되는 것을 특징으로 하는 기지국. - 삭제
- 제13항에 있어서,
상기 RE들의 수는,
상기 데이터 전송에 할당된 자원 블록들의 수, 할당된 심볼들의 수 및 복조 기준 신호에 할당된 RE들의 수에 기반하여 확인되는 것을 특징으로 하는 기지국. - 제13항에 있어서,
상기 MCS 정보는 MCS 테이블의 MCS 인덱스이며,
상기 MCS 오더와 상기 부호율은 상기 MCS 인덱스에 의해 지시되는 것을 특징으로 하는 기지국.
Priority Applications (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/KR2018/008294 WO2019017749A1 (en) | 2017-07-21 | 2018-07-23 | APPARATUS AND METHOD FOR CHANNEL ENCODING AND DECODING IN A COMMUNICATION OR BROADCASTING SYSTEM |
CN202310703904.XA CN116896426A (zh) | 2017-07-21 | 2018-07-23 | 用于在通信或广播系统中编码和解码信道的装置和方法 |
US16/042,623 US10742349B2 (en) | 2017-07-21 | 2018-07-23 | Apparatus and method for encoding and decoding channel in communication or broadcasting system |
EP18834588.8A EP3642982A4 (en) | 2017-07-21 | 2018-07-23 | DEVICE AND METHOD FOR CODING AND DECODING A CHANNEL IN A COMMUNICATION OR BROADCASTING SYSTEM |
CN201880049117.5A CN110999146B (zh) | 2017-07-21 | 2018-07-23 | 用于在通信或广播系统中编码和解码信道的装置和方法 |
US16/988,926 US11323201B2 (en) | 2017-07-21 | 2020-08-10 | Apparatus and method for encoding and decoding channel in communication or broadcasting system |
KR1020220116044A KR102670713B1 (ko) | 2017-07-21 | 2022-09-15 | 통신 또는 방송 시스템에서 채널 부호화/복호화 방법 및 장치 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR20170092867 | 2017-07-21 | ||
KR1020170092867 | 2017-07-21 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020220116044A Division KR102670713B1 (ko) | 2017-07-21 | 2022-09-15 | 통신 또는 방송 시스템에서 채널 부호화/복호화 방법 및 장치 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20190010375A KR20190010375A (ko) | 2019-01-30 |
KR102445151B1 true KR102445151B1 (ko) | 2022-09-21 |
Family
ID=65277127
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020170101933A KR102445151B1 (ko) | 2017-07-21 | 2017-08-10 | 통신 또는 방송 시스템에서 채널 부호화/복호화 방법 및 장치 |
Country Status (3)
Country | Link |
---|---|
EP (1) | EP3642982A4 (ko) |
KR (1) | KR102445151B1 (ko) |
CN (1) | CN110999146B (ko) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102414531B1 (ko) * | 2017-06-15 | 2022-06-30 | 삼성전자 주식회사 | 통신 또는 방송 시스템에서 채널 부호화/복호화 방법 및 장치 |
WO2018230992A1 (ko) | 2017-06-15 | 2018-12-20 | 삼성전자 주식회사 | 통신 또는 방송 시스템에서 채널 부호화 및 복호화를 수행하는 방법 및 장치 |
KR102420721B1 (ko) | 2017-09-08 | 2022-07-18 | 삼성전자 주식회사 | 통신 또는 방송 시스템에서 전송블록 크기 결정 방법 및 장치 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101692635A (zh) * | 2007-09-06 | 2010-04-07 | 夏普株式会社 | 通信设备和通信方法 |
KR101813031B1 (ko) * | 2010-04-13 | 2017-12-28 | 엘지전자 주식회사 | 상향링크 신호를 전송하는 방법 및 이를 위한 장치 |
US9419772B2 (en) * | 2012-12-17 | 2016-08-16 | Lg Electronics Inc. | Method and apparatus for transmitting and receiving MCS index for 256QAM in wireless access system |
US9986544B2 (en) * | 2014-01-30 | 2018-05-29 | Intel Corporation | Mechanism for 256-QAM capable user equipment to operate seamlessly with a node |
KR101765375B1 (ko) * | 2014-03-21 | 2017-08-08 | 주식회사 케이티 | 전송 블록 크기 결정 방법 및 장치 |
KR20150134908A (ko) * | 2014-05-23 | 2015-12-02 | 삼성전자주식회사 | 무선통신 시스템에서 저비용(low-cost)단말의 송수신 방법 및 장치 |
WO2016161660A1 (zh) * | 2015-04-10 | 2016-10-13 | 华为技术有限公司 | 信息传输方法及装置 |
-
2017
- 2017-08-10 KR KR1020170101933A patent/KR102445151B1/ko active IP Right Grant
-
2018
- 2018-07-23 CN CN201880049117.5A patent/CN110999146B/zh active Active
- 2018-07-23 EP EP18834588.8A patent/EP3642982A4/en active Pending
Non-Patent Citations (1)
Title |
---|
3GPP R1-1710720* |
Also Published As
Publication number | Publication date |
---|---|
KR20190010375A (ko) | 2019-01-30 |
EP3642982A4 (en) | 2020-06-17 |
CN110999146B (zh) | 2023-06-30 |
CN110999146A (zh) | 2020-04-10 |
EP3642982A1 (en) | 2020-04-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102670713B1 (ko) | 통신 또는 방송 시스템에서 채널 부호화/복호화 방법 및 장치 | |
KR102414531B1 (ko) | 통신 또는 방송 시스템에서 채널 부호화/복호화 방법 및 장치 | |
CN107852287B (zh) | 用于在无线蜂窝通信系统中减少传输时间间隔的发送和接收方法和装置 | |
KR102559502B1 (ko) | 통신 또는 방송 시스템에서 전송블록 크기 결정 방법 및 장치 | |
CN113765630A (zh) | 无线通信系统中的终端和基站及其执行的方法 | |
US20230370195A1 (en) | Method and apparatus for transmission or reception of data in communication system | |
US20210321291A1 (en) | Method and apparatus for transmission and reception of data in communication system | |
KR102445151B1 (ko) | 통신 또는 방송 시스템에서 채널 부호화/복호화 방법 및 장치 | |
US11751148B2 (en) | Method and apparatus for data transmission in wireless cellular communication system | |
KR102530968B1 (ko) | 통신 또는 방송 시스템에서 채널 부호화/복호화 방법 및 장치 | |
KR102559171B1 (ko) | 무선 셀룰라 통신 시스템에서 데이터 전송 방법 및 장치 | |
CN113767656A (zh) | 无线通信系统中用于数据发送和接收的方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AMND | Amendment | ||
E902 | Notification of reason for refusal | ||
AMND | Amendment | ||
E601 | Decision to refuse application | ||
AMND | Amendment | ||
X701 | Decision to grant (after re-examination) |