KR20180137556A - 폴라 폴라 코드 인코딩 및 디코딩 방법과 장치 - Google Patents
폴라 폴라 코드 인코딩 및 디코딩 방법과 장치 Download PDFInfo
- Publication number
- KR20180137556A KR20180137556A KR1020187034224A KR20187034224A KR20180137556A KR 20180137556 A KR20180137556 A KR 20180137556A KR 1020187034224 A KR1020187034224 A KR 1020187034224A KR 20187034224 A KR20187034224 A KR 20187034224A KR 20180137556 A KR20180137556 A KR 20180137556A
- Authority
- KR
- South Korea
- Prior art keywords
- polar
- code
- length
- decoding
- value
- Prior art date
Links
Images
Classifications
-
- 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/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
- H03M13/3707—Adaptive decoding and hybrid decoding, e.g. decoding methods or techniques providing more than one decoding algorithm for one code
- H03M13/3715—Adaptation to the number of estimated errors or to the channel state
-
- 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/09—Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit
-
- 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/13—Linear codes
-
- 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/29—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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
- H03M13/2957—Turbo codes and decoding
-
- 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/35—Unequal or adaptive error protection, e.g. by providing a different level of protection according to significance of source information or by adapting the coding according to the change of transmission channel characteristics
-
- 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/35—Unequal or adaptive error protection, e.g. by providing a different level of protection according to significance of source information or by adapting the coding according to the change of transmission channel characteristics
- H03M13/353—Adaptation to the channel
-
- 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/63—Joint error correction and other techniques
- H03M13/6337—Error control coding in combination with channel estimation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B17/00—Monitoring; Testing
- H04B17/30—Monitoring; Testing of propagation channels
- H04B17/309—Measuring or estimating channel quality parameters
- H04B17/336—Signal-to-interference ratio [SIR] or carrier-to-interference ratio [CIR]
-
- 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
- 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/0041—Arrangements at the transmitter end
-
- 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/0061—Error detection codes
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Quality & Reliability (AREA)
- Electromagnetism (AREA)
- Error Detection And Correction (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
본 발명의 실시예는 폴라 폴라 코드 인코딩과 디코딩 방법 및 장치를 개시한다. 디코딩 방법은 수신단이 송신단에서 전송된 폴라 폴라 코드 및 지시 정보를 수신하는 단계 - 상기 지시 정보는 상기 폴라 폴라 코드의 길이가 N인 것을 지시함 -, 상기 폴라 폴라 코드의 코드 길이(N) 및 상기 폴라 폴라 코드의 수신에 대한 신호대잡음비(SNR)에 따라 상기 폴라 폴라 코드의 생존 경로의 양(L)을 결정하는 단계 - L은 양의 정수임 -, 상기 생존 경로의 양(L)에 따라서 상기 폴라 폴라 코드 상에 연속 취소 리스트(SCL) 디코딩을 수행하여 L개의 생존 경로를 획득하고, 상기 L개의 생존 경로 중 적어도 하나를 검사하여 상기 폴라 폴라 코드의 디코딩 결과를 획득하는 단계를 포함할 수 있다. 본 발명은 폴라 코드 디코딩에 대하여 고정된 생존 경로의 양(L) 때문에 디코딩이 다소 복잡하다는 종래 기술의 문제점을 해결할 수 있다.
Description
본 발명은 통신 기술 분야에 관한 것이고, 특히 폴라 폴라 코드 인코딩 및 디코딩 방법과 장치에 관한 것이다.
통신 전송 시스템에서, 데이터 전송 신뢰도를 향상시키고 통신 품질을 보장하기 위하여 전송될 데이터 상에 채널 코딩이 주로 수행된다. 채널 코딩 기술에서, 여분의 체크 비트는 송신단에서 전송되는 정보 시퀀스에 추가되고, 전송 과정에서 생성되는 에러를 비교적 높은 확률로 정정하기 위해 수신단에서 디코딩 기술이 사용되어 전송된 정보 시퀀스가 정확하게 수신되도록 한다.
전송 과정에서의 에러 확률을 감소시키고, 무선 통신 링크 활용을 향상시키기 위해서, Arikan은 2008년 국제 정보 이론 심포지엄(International Symposium on Information Theory, ISIT)에서 처음으로 채널 양극화(channel polarization)의 개념을 제시했다. 이 이론에 기초하여, 그는 이론적으로 채널 전송 용량 한계(샤논 한계(Shannon limit)로도 알려짐)를 달성할 수 있으며 낮은 복잡도를 갖는 폴라 코드(polar code)라는 처음 알려진 채널 코딩 방법을 제안했다. 채널 양극화를 통해, 통신 채널은 순수한 잡음 비트 채널(pure noisy bit-channel)과 잡음이 없는 비트 채널(noiseless bit-channel)로 양극화될 수 있다. 폴라 폴라 코드(polar polar code)는 잡음이 없는 비트 채널만을 사용하여 정보가 전송되게 하므로, 채널 전송의 최대 전송 속도를 달성할 수 있다.
종래에는, 폴라 폴라 코드는 주로 다음의 방식으로 디코딩되었다: 연속 취소(Successive Cancellation, SC) 디코딩 및 개선된 SC 디코딩 알고리즘에 기초하여 획득된 개선된 SC 디코딩. 개선된 SC 디코딩은 연속 취소 리스트(Successive Cancellation List, SCL) 디코딩, 연속 취소 스택(Successive Cancellation Stack, SCS) 디코딩, 연속 취소 하이브리드(Successive Cancellation Hybrid, SCH) 디코딩 등을 더 포함한다. 하지만, 종래 SC 디코딩 알고리즘 및 개선된 SC 디코딩 알고리즘은 바람직하지 않으며, 두 알고리즘은 모두 단점을 갖고 있다.
예를 들어, 코드 길이(N)의 폴라 폴라 코드는 이진 행 벡터(binary row vector)를 사용하여 uN=(u1, u2, ..., uN,)과 같이 표현되고, N개의 레이어의 이진 디코딩 코드 트리(binary decoding code tree)에 대응할 수 있다. SC 디코딩은 코드 트리 상에서 경로를 탐색하는 과정으로서 설명될 수 있다.
도 1은 N=4인 간단한 예를 나타낸다. SC 디코딩은 루트 노드(root node)에서 시작하여 점진적으로 코드 트리로 확장한다. 매번, 두 개의 후보 경로(candidate path)(하나는 ui=0에 대응하고, 다른 하나는 ui=1에 대응함)로부터 더 큰 확률값을 갖는 경로가 선택되고, 이 경로에 기초하여 다음 레이어 경로 확장이 수행된다. 도 1은 코드 길이(N)가 4인 폴라 폴라 코드의 코드 트리를 나타낸다. 도면에서 검정 실선은 연속 취소 디코딩을 통해 획득된 경로를 지시하고, 대응하는 비트 추정 시퀀스는 (0110)이다. 예시는 코드 길이가 비교적 길 때 SC 디코딩 알고리즘이 좋은 성능을 갖지만, 코드 길이가 비교적 짧을 때는 바람직하지 않은 성능을 갖는 것을 증명한다.
향상된 SC 디코딩으로서, SCL 디코딩은 L개의 생존 경로(survivor path)의 예약을 허용하여 검색 범위를 확장하고, 검색 과정에서 정확한 경로로부터의 편차(deviation) 확률을 감소시킨다. 도 2는 코드 길이(N)가 4인 폴라 폴라 코드의 코드 트리를 나타낸다. 도면에서 검정 실선은 생존 경로 양(L)이 4일 때 SCL 디코딩의 검색 경로의 그룹을 지시하고, 최종적으로 획득된 비트 추정 시퀀스 세트는 (0010), (0110), (1001), 및 (1010)이다. SCL 디코딩 동안, 모든 생존 경로 및 이 생존 경로에 대응하는 신뢰도 메트릭 값은 리스트에 저장되고, 리스트의 모든 생존 경로는 동시에 확장된다. 따라서, 각각의 확장 이후에는, 리스트의 생존 경로의 양은 두배가 된다. 생존 경로의 양이 리스트에서의 양보다 항상 절반 이하가 되는 것으로 보장하기 위하여, 더 작은 신뢰도 메트릭 값을 갖는 몇몇 생존 경로는 제거된다. 디코딩이 종료되면, 가장 큰 신뢰도 메트릭 값을 갖는 경로가 리스트에서 발견되고, 이 경로에 대응하는 비트 추정 시퀀스가 디코딩 결과이다. 좋은 성능을 획득하기 위하여, 비교적 큰 검색 폭(searching width)이 설정될 필요가 있고, 즉, 코드 트리의 모든 레이어에 의해 허용되는 가장 큰 생존 경로의 양(L) 또한 동일하게 비교적 큰 값으로 설정된다. 값은 보통 32로 설정된다. 하지만, 비교적 큰 값은 디코딩 복잡도와 에너지 소비를 매우 증가시킨다.
본 발명의 실시예는 폴라 폴라 코드 인코딩, 디코딩 방법 및 장치를 제공하고, 종래 기술에서 폴라 폴라 코드 디코딩에 대해 변경되지 않는 생존 경로의 수(L) 때문에 디코딩이 다소 복잡한 단점을 해결한다.
제1 측면에 따르면, 본 발명의 실시예는, 수신단이 송신단에서 전송된 폴라 폴라 코드(polar polar code) 및 지시 정보를 수신하는 단계 - 상기 지시 정보는 상기 폴라 폴라 코드의 길이가 N인 것을 지시함 -와, 상기 폴라 폴라 코드의 코드 길이(N) 및 상기 폴라 폴라 코드의 수신에 대한 신호대잡음비(signal-to-noise ratio, SNR)에 따라 상기 폴라 코드의 생존 경로의 양(L)을 결정하는 단계 - L은 양의 정수임 -와, 상기 생존 경로의 양(L)에 따라서 상기 폴라 폴라 코드 상에 연속 취소 리스트(successive cancellation list, SCL) 디코딩을 수행하여 L개의 생존 경로를 획득하고, 획득된 L개의 생존 경로 중 적어도 하나를 검사(check)하여 상기 폴라 폴라 코드의 디코딩 결과를 획득하는 단계를 포함하는 폴라 폴라 코드 디코딩 방법을 제공한다. 본 방법에 따르면, 상기 폴라 폴라 코드 디코딩에 대한 생존 경로의 양(L)은 폴라 폴라 코드의 코드 길이(N) 및 상기 폴라 폴라 코드의 수신에 대한 신호대잡음비(SNR)에 따라 적응적으로 선택된다. 이러한 방식으로, 비교적 작은 값의 생존 경로가 성능에 영향을 끼치지 않고 선택될 수 있다. 이는 시스템 복잡도를 감소시키고, 종래 기술에서 폴라 폴라 코드 디코딩이 오직 고정된 생존 경로의 양에 따라서만 수행되기 때문에 디코딩이 다소 복잡하다는 단점을 해결한다. 선택적으로, 폴라 폴라 코드의 길이가 N임을 지시하는 지시 정보는 인코딩 된 적이 없는 지시 시퀀스(X)의 길이(K), 비트 레이트(K/N) 등을 포함할 수 있다.
제1 측면을 참조하면, 제1 가능한 구현에서, 상기 수신단이 상기 폴라 코드의 코드 길이(N) 및 상기 폴라 폴라 코드의 수신에 대한 신호대잡음비(SNR)에 따라 상기 폴라 코드의 생존 경로의 양(L)을 결정하는 단계의 특정 구현은, 상기 SNR, 상기 폴라 코드의 코드 길이(N), 및 상기 생존 경로의 양(L) 사이의 미리 저장된 생존 경로의 양 매핑 관계에 따라서, 상기 수신단이 상기 폴라 폴라 코드에 대응하는 생존 경로의 양(L)을 결정하는 단계인 것이고, 상기 생존 경로의 양 매핑 관계에서, 상기 폴라 폴라 코드의 수신에 대한 더 큰 SNR을 갖는 폴라 코드에 대응하는 L의 값은 상기 폴라 폴라 코드의 수신에 대한 더 작은 SNR을 갖는 폴라 코드에 대응하는 L의 값 이하이고, 더 긴 코드 길이를 갖는 폴라 코드에 대응하는 L의 값은 더 짧은 코드 길이를 갖는 폴라 코드에 대응하는 L 이상이다. 본 방법에 따르면, 상기 폴라 폴라 코드의 수신에 대한 신호대잡음비, 상기 폴라 코드의 코드 길이, 및 상기 생존 경로의 양 사이의 매핑 관계에 따라서 상기 수신단이 L의 값을 적응적으로 조절함으로써, 요구조건에 따른 L의 값을 설정하는 목적을 달성한다.
제1 측면 또는 제1 측면의 제1 가능한 구현을 참조하면, 제2 가능한 구현에서, 상기 수신단에서 상기 L개의 생존 경로 중 적어도 하나를 검사하는 것의 특정 구현은, 수신단에서 상기 L개의 생존 경로 중 적어도 하나에 순환 중복 검사(cyclic redundancy check, CRC) 검사(check, 체크)를 수행하는 것이다. 본 방법에서는 CRC 검사를 사용함으로써 폴라 코드 전송 정확도가 보장된다. 전송 동안 에러가 발생하는 경우, CRC를 사용함으써 정정이 수행될 수 있고, 이에 폴라 코드 디코딩은 더 정확해진다. 선택적으로, 수신단은 다른 정정 알고리즘을 사용함으로써 L개의 생존 경로 중 적어도 하나를 대안적으로 검사할 수 있다.
제1 측면의 제2 가능한 구현을 참조하면, 제3 가능한 구현에서, 상기 L개의 생존 경로 중 적어도 하나에 순환 중복 검사(CRC)를 수행하는 단계의 특정 구현은, 상기 수신단이 상기 L개의 생존 경로 중 가장 큰 확률값을 갖는 생존 경로 상에 상기 순환 중복 검사(CRC)를 수행하는 단계와, 상기 검사가 성공하는 경우, 상기 가장 큰 확률값을 갖는 생존 경로를 상기 폴라 폴라 코드의 디코딩 결과로서 사용하는 단계인 것이다. 본 방법에 따르면, 가장 큰 확률값을 갖는 생존 경로 상에 CRC 검사가 수행되고, 검사가 성공하는 경우, 생존 경로는 정확한 디코딩 결과인 것으로 결정될 수 있다. 따라서, 비교적 작은 확률값을 갖는 복수 개의 생존 경로를 검사할 필요가 없으므로, 검사에 대한 과도한 에너지 소비를 회피할 수 있다.
제1 측면의 제3 가능한 구현을 참조하면, 제4 가능한 구현에서, 상기 수신단이 상기 L개의 생존 경로 중 가장 큰 확률값을 갖는 생존 경로 상에 순환 중복 검사(CRC) 검사를 수행하는 단계의 이후에, 본 방법은, 상기 검사가 실패하는 경우, 재전송을 수행하도록 상기 송신단에 통지하는 단계, 또는 상기 검사가 실패하는 경우, L의 임계 범위 내에서 L의 값을 증가시키고, 증가된 L의 값에 따라 상기 폴라 코드에 SCL 디코딩을 수행하여 상기 폴라 폴라 코드의 디코딩 결과를 획득하는 단계를 포함한다. 본 방법에 따르면, 가장 큰 확률값을 갖는 생존 경로에의 CRC 검사가 실패하면, 이는 디코딩 동안 에러 또는 장애가 발생할 수 있고, 송신단이 교체를 수행하도록 통지될 필요가 있거나 또는 (일부 제거된 경로를 획득하기 위하여) L의 값이 증가될 필요가 있음을 지시하여, 폴라 코드의 정확한 디코딩 결과를 최종적으로 획득할 확률을 증가시킬 수 있다.
제1 측면의 제2 가능한 구현을 참조하면, 제5 가능한 구현에서, 상기 수신단에서 상기 L개의 생존 경로 중 적어도 하나에 순환 중복 검사(CRC)를 수행하는 단계의 특정 구현은, 상기 수신단에서 상기 L개의 생존 경로에서 w개의 생존 경로 상에 상기 순환 중복 검사(CRC)를 수행하는 단계 - 상기 w는 1보다 크고 L 이하임 -와, 상기 w개의 생존 경로의 생존 경로 상에서 상기 검사가 성공하는 경우, 상기 검사가 성공한 생존 경로에서 가장 큰 확률값의 생존 경로를 상기 폴라 폴라 코드의 디코딩 결과로서 사용하는 단계인 것이다. 본 방법에 따르면, CRC 검사는 L개의 생존 경로의 복수 개의 생존 경로 아니면 L개의 생존 경로 상에 수행될 수 있다. 검사 비용이 비교적 높을 수는 있어도, 더 많은 객체가 검사되기 때문에 폴라 코드의 정확한 디코딩 결과를 최종적으로 획득할 확률이 크게 증가할 수 있다.
제1 측면의 제5 가능한 구현을 참조하면, 제6 가능한 구현에서, 상기 L개의 생존 경로 중 적어도 하나에 순환 중복 검사(CRC)를 수행하는 단계의 이후에, 본 방법은, 상기 w개의 생존 경로의 어디에서도 상기 검사가 성공하지 않는 경우, 재전송을 수행하기 위하여 상기 송신단에 통지하는 단계, 또는 상기 w개의 생존 경로의 어디에서도 상기 검사가 성공하지 않는 경우, L의 임계 범위 내에서 L의 값을 증가시키고, 증가된 L의 값에 따라 상기 폴라 코드에 SCL 디코딩을 수행하여 상기 폴라 코드의 디코딩 결과를 획득하는 단계를 더 포함한다. 본 방법에 따르면, 상기 CRC 검사가 상기 L개의 생존 경로의 복수 개의 생존 경로에서 실패하는 경우, 이는 디코딩 동안 에러 또는 장애가 발생할 수 있고, 송신단이 교체를 수행하도록 통지될 필요가 있거나 또는 (일부 제거된 경로를 획득하기 위하여) L의 값이 증가될 필요가 있음을 지시한다. L의 값은 L의 임계 범위 내에서 증가될 필요가 있고, 검사가 L개의 생존 경로 상에 수행된 경우, L의 값은 증가할 수 없음을 이해할 수 있다. 이 예에서, 유일한 방법은 재전송을 수행하기 위하여 송신단에 통지하는 것이다. 두 방법은 폴라 코드의 정확한 디코딩 결과를 획득할 확률을 증가시키도록 의도된다.
제1 측면의 제4 가능한 구현을 참조하거나, 또는 제1 측면의 제6 가능한 구현을 참조하면, 제7 가능한 구현에서, L의 값을 증가시키는 것의 특정 구현은, 상기 L의 값을 u만큼 증가시키는 것 - 상기 u는 양의 정수임 -, 또는 L에 v를 곱하는 것 - 상기 v는 1보다 큼 -이다. 본 방법에 따르면, L의 값은 다양한 방식으로 증가할 수 있다. L 값은 기하급수적(exponentially) 증가할 수 있거나, 또는 하나씩 또는 복수로 증가할 수 있다. 이는 본 방법에 구체적으로 제한되지는 않는다.
제2 측면에 따르면, 본 발명은 폴라 폴라 코드 인코딩 방법을 제공하며, 본 방법은 송신단에서 타겟 정보 시퀀스를 수신하는 단계 - 상기 타겟 정보 시퀀스의 길이는 K임 -와, 상기 길이(K)에 따라 상기 타겟 정보 시퀀스에 대한 CRC 길이(M)를 결정하는 단계와, 상기 타겟 정보 시퀀스에 길이가 M인 CRC 체크 코드(check code)를 추가하고, 상기 체크 코드가 추가된 이후에 획득된 정보 시퀀스 상에 폴라 인코딩을 수행하여 길이가 N인 폴라 코드를 획득하는 단계와, 상기 폴라 코드 및 상기 폴라 코드의 길이가 N임을 지시하는 지시 정보를 수신단에 전송하는 단계를 포함할 수 있다.
본 발명의 본 실시예에서, CRC 체크 코드의 길이(M)는 전송될 타겟 정보 시퀀스의 길이(K)에 따라 송신단에서 적응적으로 결정된다. 이는 일부 예시에서 CRC 체크 코드의 M의 값이 너무 크거나 또는 너무 작기 때문에 인코딩이 과도하게 복잡하거나 또는 과도하게 단순한 문제를 회피하게 하여, 폴라 코드 인코딩의 성능이 향상되게 한다.
제2 측면을 참조하면, 제1 가능한 구현에서, 상기 길이(K)에 따라 상기 타겟 정보 시퀀스에 대한 CRC 길이(M)를 결정하는 단계는, 상기 CRC 체크 코드 길이(M)와 정보 시퀀스의 길이(K) 사이의 미리 저장된 체크 코드 매핑 관계에 따라, 상기 타겟 정보 시퀀스에 대응하는 상기 CRC 체크 코드 길이(M)를 결정하는 단계를 포함하고, 상기 체크 코드 매핑 관계에서, 더 긴 길이(K)를 갖는 정보 시퀀스에 대응하는 CRC 체크 코드 길이(M)는 더 짧은 길이(K)를 갖는 정보 시퀀스에 대응하는 CRC 체크 코드 길이(M) 이상이다.
제3 측면에 따르면, 본 발명의 실시예는 디코더를 제공하고, 디코더는 송신단에서 전송된 폴라 폴라 코드 및 지시 정보를 수신하도록 구성되는 디코딩 수신 모듈 - 상기 지시 정보는 상기 폴라 코드의 길이가 N임을 지시함 -과, 상기 폴라 코드의 코드 길이(N) 및 상기 폴라 코드의 수신에 대한 신호대잡음비(signal-to-noise ratio, SNR)에 따라 상기 폴라 코드의 생존 경로의 양(L)을 결정하도록 구성되는 디코딩 결정 모듈 - L은 양의 정수임 -과, 상기 생존 경로의 양(L)에 따라서 상기 폴라 코드 상에 연속 취소 리스트(successive cancellation list, SCL) 디코딩을 수행하여 L개의 생존 경로를 획득하고, 상기 L개의 생존 경로 중 적어도 하나를 검사(check)하여 상기 폴라 코드의 디코딩 결과를 획득하도록 구성되는 디코딩 모듈을 포함한다.
제3 측면을 참조하면, 제1 가능한 구현에서, 상기 결정 모듈은 구체적으로, 상기 SNR, 상기 폴라 코드의 코드 길이(N), 및 상기 생존 경로의 양(L) 사이의 미리 저장된 생존 경로의 양 매핑 관계에 따라서, 상기 폴라 코드에 대응하는 생존 경로의 양(L)을 결정하도록 구성되고, 상기 생존 경로의 양 매핑 관계에서, 상기 폴라 폴라 코드의 수신에 대한 더 큰 SNR을 갖는 폴라 코드에 대응하는 L의 값은 상기 폴라 폴라 코드의 수신에 대한 더 작은 SNR을 갖는 폴라 코드에 대응하는 L의 값 이하이고, 더 긴 코드 길이를 갖는 폴라 코드에 대응하는 L의 값은 더 짧은 코드 길이를 갖는 폴라 코드에 대응하는 L 이상이다.
제3 측면을 참조하거나, 또는 제3 측면의 제1 가능한 구현을 참조하면, 제2 가능한 구현에서, 디코딩 모듈은 구체적으로, 상기 L개의 생존 경로 중 적어도 하나에 순환 중복 검사(cyclic redundancy check, CRC)를 수행하도록 구성된다.
제3 측면의 제2 가능한 구현을 참조하면, 제3 가능한 구현에서, 상기 디코딩 모듈은, 상기 L개의 생존 경로 중 가장 큰 확률값을 갖는 생존 경로 상에 상기 순환 중복 검사(CRC)를 수행하도록 구성되는 제1 검사 유닛과, 상기 검사가 성공하는 경우, 상기 가장 큰 확률값을 갖는 생존 경로를 상기 폴라 코드의 디코딩 결과로서 사용하도록 구성되는 제1 디코딩 유닛을 포함한다.
제3 측면의 제3 가능한 구현을 참조하면, 제4 가능한 구현에서, 상기 디코딩 모듈은, 상기 검사가 실패하는 경우, L의 임계 범위 내에서 L의 값을 증가시키고, 증가된 L의 값에 따라 상기 폴라 코드에 SCL 디코딩을 수행하여 상기 폴라 코드의 디코딩 결과를 획득하도록 구성되는 제2 디코딩 유닛을 더 포함한다.
제3 측면의 제2 가능한 구현을 참조하면, 제5 가능한 구현에서, 상기 디코딩 모듈은, 상기 L개의 생존 경로에서 w개의 생존 경로 상에 상기 순환 중복 검사(CRC)를 수행하도록 구성되는 제2 검사 유닛 - 상기 w는 1보다 크고 L 이하임 -과, 상기 w개의 생존 경로의 생존 경로 상에서 상기 검사가 성공하는 경우, 상기 검사가 성공한 생존 경로에서 가장 큰 확률값의 생존 경로를 상기 폴라 코드의 디코딩 결과로서 사용하도록 구성되는 제3 디코딩 유닛을 포함한다.
제3 측면의 제5 가능한 구현을 참조하면, 제6 가능한 구현에서, 상기 디코딩 모듈은, 상기 w개의 생존 경로의 어디에서도 상기 검사가 성공하지 않는 경우, L의 임계 범위 내에서 L의 값을 증가시키고, 증가된 L의 값에 따라 상기 폴라 코드에 SCL 디코딩을 수행하여 상기 폴라 코드의 디코딩 결과를 획득하도록 구성되는 제4 디코딩 모듈을 더 포함한다.
제3 측면의 제4 가능한 구현을 참조하거나, 또는 제3 측면의 제6 가능한 구현을 참조하면, 제7 가능한 구현에서, 상기 제2 디코딩 유닛 또는 상기 제4 디코딩 유닛이 L의 값을 증가시키는 것은 구체적으로, 상기 L의 값을 u만큼 증가시키는 것 - 상기 u는 양의 정수임 -이거나, 또는 L에 v를 곱하는 것 - 상기 v는 1보다 큼 -이다.
제4 측면에 따르면, 본 발명의 실시예는 인코더를 제공하며, 본 인코더는 송신단에서 타겟 정보 시퀀스를 수신하도록 구성되는 인코딩 수신 모듈 - 상기 타겟 정보 시퀀스의 길이는 K임 -과, 상기 길이(K)에 따라 상기 타겟 정보 시퀀스에 대한 CRC 길이(M)를 결정하도록 구성되는 인코딩 결정 모듈과, 상기 타겟 정보 시퀀스에 길이가 M인 CRC 체크 코드(check code)를 추가하고, 상기 체크 코드가 추가된 이후에 획득된 정보 시퀀스 상에 폴라 인코딩을 수행하여 길이가 N인 폴라 코드를 획득하도록 구성되는 인코딩 모듈과, 상기 폴라 코드 및 상기 폴라 코드의 길이가 N임을 지시하는 지시 정보를 수신단에 전송하도록 구성되는 전송 모듈을 포함할 수 있다.
제4 측면을 참조하면, 제1 가능한 구현에서, 상기 인코딩 결정 모듈은 구체적으로, 상기 CRC 체크 코드 길이(M)와 정보 시퀀스의 길이(K) 사이의 미리 저장된 체크 코드 매핑 관계에 따라, 상기 타겟 정보 시퀀스에 대응하는 상기 CRC 체크 코드 길이(M)를 결정하도록 구성되고, 상기 체크 코드 매핑 관계에서, 더 긴 길이(K)를 갖는 정보 시퀀스에 대응하는 CRC 체크 코드 길이(M)는 더 짧은 길이(K)를 갖는 정보 시퀀스에 대응하는 CRC 체크 코드 길이(M) 이상이다.
본 발명의 실시예에서, 수신단은 폴라 폴라 코드 및 송신단에 의해 전송된 지시 정보를 수신 - 상기 지시 정보는 폴라 코드의 길이가 N임을 지시함 -하고, 상기 폴라 코드의 코드 길이(N) 및 상기 폴라 코드의 수신에 대한 신호대잡음비(signal-to-noise ratio, SNR)에 따라 상기 폴라 코드의 생존 경로의 양(L)을 결정하고, 상기 생존 경로의 양(L)에 따라서 상기 폴라 코드 상에 연속 취소 리스트(successive cancellation list, SCL) 디코딩을 수행하여 L개의 생존 경로를 획득하고, 최종적으로 상기 L개의 생존 경로 중 적어도 하나를 검사(check)하여 상기 폴라 코드의 디코딩 결과를 획득한다. 즉, 본 발명에서 제공되는 폴라 코드 디코딩 방법에 따르면, 폴라 코드 디코딩에 대한 생존 경로의 양(L)은 폴라 코드의 코드 길이 및 상기 폴라 폴라 코드의 수신에 대한 SNR에 따라 적응적으로 선택된다. 이러한 방식으로, 비교적 작은 값의 생존 경로가 성능에 영향을 끼치지 않고 선택될 수 있다. 이는 시스템 복잡도를 감소시키고, 종래 기술에서 폴라 코드 디코딩이 오직 고정된 생존 경로의 양에 따라서만 수행되기 때문에 디코딩이 다소 복잡하다는 단점을 해결한다.
종래 기술 또는 본 발명의 실시예의 기술적 솔루션을 보다 명확하게 설명하기 위해, 이하에서는 종래 기술 또는 실시예를 설명하기 위해 요구되는 첨부 도면을 간단히 설명한다. 명백하게, 이하의 설명에서의 첨부된 도면은 단지 본 발명의 일부 실시예를 나타내고, 통상의 기술자는 창조적인 노력 없이도 이들 도면으로부터 다른 도면을 유도할 수 있다.
도 1은 SC 디코딩의 폴라 코드의 코드 트리의 개략도이다.
도 2는 SCL 디코딩의 폴라 코드의 코드 트리의 개략도이다.
도 3은 본 발명에 따른 폴라 코드 인코딩 및 디코딩 방법에 기초한 시스템 구조이다.
도 4는 본 발명에 따른 폴라 폴라 코드 인코딩 및 디코딩 방법의 개략적인 순서도이다.
도 5는 L이 상이한 값인 경우에서 본 발명에 따른 폴라 인코딩의 성능 곡선이다.
도 6은 본 발명에 따른 디코딩 장치의 실시예의 개략적인 구조도이다.
도 7은 본 발명에 따른 인코딩 장치의 다른 실시예의 개략적인 구조도이다.
도 8은 본 발명에 따른 디코더의 실시예의 개략적인 구조도이다.
도 9는 본 발명에 따른 인코더의 실시예의 개략적인 구조도이다.
도 10은 본 발명에 따른 단말기의 개략적인 구조도이다.
도 1은 SC 디코딩의 폴라 코드의 코드 트리의 개략도이다.
도 2는 SCL 디코딩의 폴라 코드의 코드 트리의 개략도이다.
도 3은 본 발명에 따른 폴라 코드 인코딩 및 디코딩 방법에 기초한 시스템 구조이다.
도 4는 본 발명에 따른 폴라 폴라 코드 인코딩 및 디코딩 방법의 개략적인 순서도이다.
도 5는 L이 상이한 값인 경우에서 본 발명에 따른 폴라 인코딩의 성능 곡선이다.
도 6은 본 발명에 따른 디코딩 장치의 실시예의 개략적인 구조도이다.
도 7은 본 발명에 따른 인코딩 장치의 다른 실시예의 개략적인 구조도이다.
도 8은 본 발명에 따른 디코더의 실시예의 개략적인 구조도이다.
도 9는 본 발명에 따른 인코더의 실시예의 개략적인 구조도이다.
도 10은 본 발명에 따른 단말기의 개략적인 구조도이다.
이하, 본 발명의 실시예에 있어서의 기술적 솔루션을, 본 발명의 실시예에 있어서의 첨부 도면을 참조하여 명확하고 완전하게 설명한다. 명백하게, 기술된 실시예는 본 발명의 일부 실시예에 불과하며 전부는 아니다. 통상의 기술자가 창의적인 노력없이 본 발명의 실시예에 기초하여 의해 획득된 다른 모든 실시예는 본 발명의 보호 범위 내에 있다.
본 발명의 실시예의 기술적 솔루션은 이동 통신용 글로벌 시스템(Global System of Mobile Communication, GSM) 시스템, 코드 분할 다중 액세스(Code Division Multiple Access, CDMA) 시스템, 광대역 코드 분할 다중 접속(Wideband Code Division Multiple Access, WCDMA) 시스템, 일반 패킷 무선 서비스(General Packet Radio Service, GPRS), LTE(Long Term Evolution) 시스템, LTE 주파수 분할(Frequency Division Duplex, FDD) 시스템, LTE 시분할 듀플렉스(Time Division Duplex, TDD), 및 범용 이동 통신 시스템(Universal Mobile Telecommunication System, UMTS)과 같은 다양한 통신 시스템에 적용될 수 있다. 따라서, 이하의 설명은 특정 통신 시스템에 한정되지 않는다. 전술한 시스템에서 기지국 또는 단말기가 터보(Turbo) 코드 또는 LDPC 코드를 이용하여 인코딩한 정보 또는 데이터는 본 발명의 실시예에서 폴라 코드(polar code)를 이용하여 인코딩될 수 있다.
또한, 기지국은 GSM 또는 CDMA의 베이스 트랜시버 스테이션(Base Transceiver Station, BTS)일 수도 있고, 또는 WCDMA의 노드 B(NodeB)일 수도 있고, 또는 진화된 노드 B(Evolutional Node B, eNB 또는 eNodeB), 또는 미래의 5G 네트워크상의 기지국 장치 등일 수 있다. 이것은 본 발명에서 한정되지 않는다.
단말기는 셀룰러 폰, 무선 전화기, 스마트 폰, 세션 개시 프로토콜(Session Initiation Protocol, SIP) 폰, 무선 로컬 루프(Wireless Local Loop, WLL) 스테이션, 태블릿 컴퓨터, 미디어 플레이어, 스마트 TV, 스마트 밴드, 스마트 웨어러블 장치, MP3(Moving Picture Experts Group Audio Layer III) 플레이어, MP4(Moving Picture Experts Group Audio Layer IV) 플레이어, 개인 휴대 정보 단말기(Personal Digital Assistant, PDA), 무선 통신 기능을 갖는 핸드헬드 장치, 컴퓨팅 장치, 무선 모뎀에 연결된 다른 처리 장치, 차량용 장치, 미래의 5G 네트워크에서의 단말기 장치 등일 수 있다. 전술한 장치는 기지국과 같은 네트워크 장치와 통신하고 상호 작용할 수 있다.
본 발명의 실시예를 이해하기 쉽게 하기 위해, 먼저 본 발명의 실시예가 기반이 되는 송신단과 수신단의 네트워크 구조를 설명한다. 도 3을 참조하면, 도 3은 본 발명의 폴라 코드 인코딩 및 디코딩 방법이 기초가 되는 시스템 구조의 다이어그램이다. 본 발명의 실시예에서, 인코딩 및 디코딩 방법은 통신 시스템에서 기지국 또는 단말기에 의해 수행될 수 있으며, 기지국 및 단말기 모두는 본 발명에서 사용되는 송신단 및 수신단을 포함한다. 송신단은 타겟 정보 시퀀스를 인코딩하도록 구성되고, 수신단은 인코딩된 타겟 정보 시퀀스를 디코딩하도록 구성된다. 본 발명에서, 송신단이 기지국인 경우, 수신단은 단말기이거나, 또는 송신단이 단말기인 경우, 수신단은 기지국일 수 있음을 이해할 수 있다. 본 발명의 실시예에서의 시스템 구조는 전술한 시스템 구조를 포함하지만 반드시 이에 한정되는 것은 아니며, 폴라 코드 인코딩 및 디코딩을 구현할 수 있는 모든 시스템 구조는 본 발명의 보호 범위에 속해야 함을 알아야 한다.
도 4를 참조하면, 도 4는 본 발명의 일 실시예에 따른 폴라 폴라 코드 인코딩 및 디코딩 방법의 개략적인 순서도이다. 다음은 도 4를 참조하여 기지국 또는 단말기의 송신단 및 수신단에 대한 상호작용 측면의 관점에서 본 방법을 설명한다. 도 4에 도시된 바와 같이, 본 방법은 다음 단계(S401 내지 S407)를 포함할 수 있다.
단계 S401: 타겟 정보 시퀀스를 수신.
구체적으로, 기지국 또는 (사용자 장비(User Equipment, UE)와 같은) 단말기의 송신단은 (샘플링되고 양자화된 음성 신호와 같은) 타겟 정보 시퀀스를 얻거나 수집한다. 타겟 정보 시퀀스의 길이는 K이며, K는 양의 정수이다. K의 값은 일반적으로 2의 n 제곱이며, n은 양의 정수이다. 예를 들어, K의 값은 128, 256, 512, 1024, 또는 2048일 수 있다.
단계 S402: 길이 K에 따라, 타겟 정보 시퀀스에 대한 순환 중복 검사(CRC)의 길이(M)를 결정.
구체적으로, 종래 기술에서, 상이한 정보 시퀀스에 대해 동일한 송신단에 의해 설정된 CRC 체크 코드의 길이 M은 동일하고, 따라서, M은 타겟 정보 시퀀스의 길이(K)의 값에 관계없이 동일한 값으로 설정된다. 하지만, M 값이 크면 클수록 인코딩 복잡도가 높아진다는 것을 의미한다. 정보 시퀀스의 길이(K)가 비교적 짧지만 길이(M)가 비교적 길면, 분명히 인코딩 복잡도가 불필요하게 증가하고, 양호한 인코딩 성능을 달성할 수 없다. 따라서, 본 발명의 실시예는 타겟 시퀀스의 길이(K)에 따라 단계(S401)에서 수신된 타겟 정보 시퀀스에 대한 순환 중복 검사(CRC)의 길이(M)를 결정하는 방법을 제공한다. 따라야 하는 규칙은 다음과 같을 수 있다: 타겟 정보 시퀀스의 더 긴 길이(K)는 CRC 체크 코드의 더 큰 M 값에 대응하고, 타겟 정보 시퀀스의 더 짧은 길이(K)는 CRC 체크 코드의 더 작은 M 값에 대응한다; 또는 제1 범위에 있는, 타겟 정보 시퀀스의 길이(K)에 대응하는 CRC 체크 코드의 M 값은 제2 범위에 있는, 타겟 정보 시퀀스의 길이(K)에 대응하는 CRC 체크 코드의 M 값보다 크다; 및 제1 범위의 K의 값은 제2 범위의 K의 값보다 크다.
가능한 구현에서, 송신단은 정보 시퀀스의 길이(K)와 CRC 체크 코드의 길이(M) 사이의 미리 저장된 체크 코드 매핑 관계에 따라, 타겟 정보 시퀀스에 대응하는 CRC 체크 코드 길이(M)를 결정한다. 체크 코드 매핑 관계에서, 길이(K)가 더 긴 정보 시퀀스에 대응하는 CRC 체크 코드 길이(M)는 길이(K)가 더 짧은 정보 시퀀스에 대응하는 CRC 체크 코드 길이(M) 이상이다. 매핑 관계는 리스트(list) 관계일 수도 있고, 함수(function) 관계일 수도 있다. 이는 본 발명에서 특별히 제한되지 않는다. 매핑 관계는 양호한 폴라 코드 인코딩 및 디코딩 성능을 달성하는 에뮬레이션 솔루션으로부터 역사적인 경험적 값(historical empirical value) 또는 관련 데이터에 따라 설정될 수 있다는 것을 이해할 수 있다.
단계 S403: 타겟 정보 시퀀스에 길이가 M인 CRC 체크 코드를 추가하고, 체크 코드가 추가된 후에 획득된 정보 시퀀스에 대하여 폴라 인코딩을 수행하여 길이가 N인 폴라 코드를 획득.
구체적으로는, M 비트의 체크 코드가 K 비트의 타겟 정보 시퀀스의 말미에 부가되고(일반적으로, M의 값은 8, 16, 24, 32 등일 수 있음), 체크 코드가 추가된 이후에 획득되는 정보 시퀀스 상에 폴라 인코딩을 수행함으로써 길이가 N인 폴라 코드를 획득할 수 있다. 일반적으로, N의 값은 샘플링되고 양자화된 신호의 길이에 따라 결정되며, N의 값은 대개 2의 n 제곱이고, n은 양의 정수이다. 일반적으로, N의 공통 값은 128, 256, 512, 1024, 또는 2048 등일 수 있다.
단계 S404: 수신단에 폴라 코드 및 폴라 코드의 길이가 N임을 지시하는 지시 정보를 송신.
구체적으로는, 폴라 코드 및 폴라 코드의 길이가 N임을 지시하는 지시 정보가 수신단에 송신된다. 지시 정보는 폴라 코드의 길이(N)이거나, 또는 폴라 코드의 비트 레이트 및 타겟 정보 시퀀스의 길이(K)와 같은 관련 정보일 수 있고(채널 코딩에서, K개의 심볼의 정보 시퀀스는 인코딩을 통해 N개 심볼의 코드워드애 매핑되고, K/N은 비트 레이트로 지칭되며, 여기서 심볼 표(symbol table)는 인코딩 이후에도 변하지 않는다고 가정함), 이에, 수신단은 지시 정보에 따라 수신된 폴라 코드의 코드 길이가 N임을 학습(learn)할 수 있다.
단계 S405: 수신단은 송신단에 의해 전송된 폴라 폴라 코드 및 지시 정보를 수신하고, 여기서 지시 정보는 폴라 코드의 길이가 N임을 지시함.
특히, 기지국 또는 UE의 수신단은 단계 S405에서 송신단에 의해 전송된 폴라 폴라 코드 및 지시 정보를 수신 - 여기서, 지시 정보는 폴라 코드의 길이가 N이라고 지시함 -하고, 지시 정보에 따라 폴라 폴라 코드의 길이가 N임을 학습한다. 전술한 설명을 참조하면, 수신단은 지시 정보에 따라 폴라 코드의 길이(N)를 직접적으로 획득(예를 들어, 지시 정보는 폴라 코드의 길이(N)의 값을 직접적으로 포함함)할 수 있거나, 또는 계산을 통해 폴라 코드의 길이(N)를 학습(예를 들어, 지시 정보는 타겟 정보 시퀀스의 길이(K)폴라 코드의 비트 레이트를 포함하고, 폴라 코드의 길이(N)의 값은 폴라 코드의 비트 레이트 및 타겟 정보 시퀀스의 길이(K)에 따라 계산될 수 있음)할 수 있음을 알 수 있다.
단계 S406: 폴라 코드의 코드 길이(N) 및 폴라 코드의 수신에 대한 신호대잡음비(SNR)에 따라 폴라 코드의 생존 경로의 양(L)을 결정.
특히, 종래 기술에서, 동일한 수신단은 상이한 길이(N)를 갖는 모든 수신된 폴라 코드에 대해 상대적으로 큰 생존 경로의 양(L)을 설정하고; 따라서, 수신된 폴라 코드의 길이(N)의 값에 관계없이, 동일한 비교적 큰 L 값이 사용된다. 하지만, L의 값이 크면 클수록 디코딩 복잡성이 높아지고 에너지 소비가 높아진다는 것을 의미한다. 폴라 코드의 길이(N)가 비교적 작지만 L의 길이가 비교적 클 때, 분명히, 디코딩 복잡도가 불필요하게 증가하고, 양호한 디코딩 성능이 달성될 수 없다. 따라서, 본 발명의 실시예는 폴라 코드의 코드 길이(N)와 폴라 코드의 수신에 대한 신호대잡음비(SNR)에 따라 폴라 코드의 생존 경로의 양(L)을 결정하는 방법을 제공한다. L은 양의 정수이고, L의 값은 일반적으로 2의 n 제곱이며, n은 양의 정수이다. 일반적으로, L의 공통 값은 2, 4, 8, 16, 또는 32 등일 수 있다. 신호대잡음비는 수신된 신호(폴라 폴라 코드)의 품질을 반영할 수 있다. 따라서, 신호대잡음비가 크면 클수록 잡음 간섭이 적고 신호 품질이 좋으며 더 적은 생존 경로가 예약돼야 함을 의미한다. 신호대잡음비가 작으면 작을수록 이 예에서 더 많아진 불확실한 인자때문에 잡음 간섭이 심하고 신호 품질이 떨어지고, 더 많은 생존 경로가 예약돼야 함을 의미한다. 유사하게, 더 긴 폴라 코드는 더 높은 디코딩 복잡성, 더 많은 불확실 요소, 그리고 더 많은 생존 경로가 예약돼야 함을 의미한다. 반대로, 더 짧은 폴라 코드는 낮은 디코딩 복잡도, 적은 불확실한 요인, 그리고 더 적은 생존 경로가 예약돼야 함을 의미한다. 즉, 본 발명의 본 실시예에서는 이 규칙에 따라 코드 길이(N), 신호대잡음비(SNR), 및 생존 경로의 양(L)의 관계를 동적으로 설정할 수 있다. 폴라 폴라 코드의 수신에 대한 신호대잡음비를 계산하는 방법은 종래의 관련 파라미터 및 계산식에 따라 계산될 수 있다(예를 들어, 폴라 폴라 코드를 수신하는 파워에 대한 노이즈의 파워의 비율의 밑이 10인 로그). 이는 본 발명에서 특별히 제한되지 않는다.
가능한 구현 예에서, 수신단은 신호대잡음비(SNR), 폴라 코드의 코드 길이(N), 및 생존 경로의 양(L) 사이의 사전 저장된 생존 경로의 양 매핑 관계에 따라, 폴라 폴라 코드에 대응하는 생존 경로의 양(L)을 결정한다. 생존 경로의 양 매핑 관계에서, 폴라 폴라 코드의 수신에 대한 더 큰 신호대잡음비(SNR)를 갖는 폴라 코드에 대응하는 L의 값은 폴라 폴라 코드의 수신에 대한 더 작은 신호대잡음비(SNR)를 갖는 폴라 코드에 대응하는 L의 값보다 작거나 같고, 더 긴 코드 길이를 갖는 폴라 코드에 대응하는 L의 값은 더 짧은 코드 길이를 갖는 폴라 코드에 대응하는 L보다 크거나 같다. 매핑 관계는 리스트 관계이거나, 또는 함수 관계일 수 있음을 이해할 수 있다. 이는 본 발명에서 특별히 제한되지 않는다.
단계 S407: 생존 경로의 양(L)에 따라 폴라 폴라 코드에 대해 연속 취소 리스트(Successive Cancellation List, SCL) 디코딩을 수행하여 L개의 생존 경로를 획득하고, L개의 생존 경로 중 적어도 하나를 검사하여 폴라 폴라 코드의 디코딩 결과를 획득.
특히, 단계 S406에서 결정된 생존 경로의 양(L)에 따라 폴라 폴라 코드에 대하여 연속 취소 리스트(SCL) 디코딩(배경 기술에서 설명한 디코딩 알고리즘)을 수행하여 L개의 생존 경로를 획득하고, L개의 생존 경로 중 적어도 하나가 검사되어 폴라 폴라 코드의 디코딩 결과를 획득한다. 특정 검사 방법은 송신단이 폴라 폴라 코드를 전송하기 전에 체크 코드를 추가하는 특정 방식에 의존한다는 것을 이해할 수 있다.
가능한 구현에서, 수신단은 L개의 생존 경로 중 적어도 하나에 순환 중복 검사(CRC)를 수행한다. 또한, 수신단은 L개의 생존 경로에서 가장 큰 확률값을 갖는 생존 경로에 대해 CRC 검사를 수행하고; 검사가 성공하면, 가장 큰 확률값을 갖는 생존 경로를 폴라 폴라 코드의 디코딩 결과로서 사용한다. 또한, 검사가 실패하면, 송신단은 재전송을 수행하도록 통지되거나; 또는 검사가 실패하면, L의 임계 범위 내에서 L의 값이 증가(L의 값이 전체 경로의 양보다 클 수 없으므로, L의 값은 특정 범위 내에 있음)하고, 증가된 L의 값에 따라 폴라 폴라 코드에 SCL 디코딩이 수행되어 폴라 폴라 코드의 디코딩 결과를 획득한다. 즉, L의 값이 증가된 후에, 폴라 코드의 (가능한) 누락된 디코딩 결과는 추가된 생존 경로로부터 획득될 수 있어, 최종적으로 디코딩 결과를 획득할 확률이 높아진다. L의 값을 증가시키는 방식은, L의 값을 u만큼 증가시키는 것 - u는 양의 정수임 -이거나, 또는 L에 v를 곱하는 것 - v는 1보다 큼 -일 수 있다.
가능한 구현에서, 수신단은 L개의 생존 경로에서 w개의 생존 경로에 대한 순환 중복 검사(CRC)를 수행하며, 여기서 w는 1보다 크고 L보다 작거나 같은 정수이고; 검사가 w개의 생존 경로의 생존 경로 상에서 성공하면, 검사가 성공한 생존 경로에서 가장 큰 확률값을 갖는 생존 경로를 폴라 폴라 코드의 디코딩 결과로서 사용한다. w개의 생존 경로가 선택되는 방법은 다음과 같다: 확률값에 따라 상대적으로 큰 확률값을 갖는 w개의 생존 경로가 선택됨; 또는, w개의 생존 경로가 무작위로 선택됨; 또는, w개의 생존 경로는 미리 설정된 규칙에 따라 선택됨. 이는 본 발명에서 특별히 제한되지 않는다. 또한, w개의 생존 경로 중 어느 것에도 검사가 성공하지 못하면, 송신단은 재전송을 수행하도록 통지된다; 또는 w개의 생존 경로 중 어느 것에도 검사가 성공하지 못하면, L의 임계 범위 내에서 L의 값이 증가되고, 증가된 L의 값에 따라 폴라 폴라 코드에 대해 SCL 디코딩을 수행하여, 폴라 폴라 코드의 디코딩 결과를 획득한다. 즉, L의 값이 증가된 후에, 추가된 생존 경로로부터 폴라 코드의 (가능한) 누락된 디코딩 결과가 획득될 수 있고, 이에 최종적으로 디코딩 결과를 획득할 확률이 증가한다. L의 값을 증가시키는 방식은, L의 값을 u만큼 증가시키는 것 - u는 양의 정수임 -이거나, 또는 L에 v를 곱하는 것 - v는 1보다 큼 -일 수 있다.
본 발명의 이 실시예에서, 수신단은 송신단으로부터 폴라 폴라 코드 및 지시 정보를 수신 - 지시 정보는 폴라 폴라 코드의 길이가 N임을 지시함 -하고, 폴라 코드의 코드 길이(N) 및 폴라 폴라 코드의 수신에 대한 신호대잡음비(SNR)에 따라 폴라 코드의 생존 경로의 양(L)을 결정하고, 생존 경로의 양(L)에 따라서 폴라 폴라 코드 상에 연속 취소 리스트(SCL) 디코딩을 수행하여 L개의 생존 경로를 획득하고, 최종적으로 L개의 생존 경로 중 적어도 하나를 검사(check)하여 폴라 코드의 디코딩 결과를 획득한다. 즉, 본 발명에서 제공되는 폴라 코드 디코딩 방법에 따르면, 폴라 코드 디코딩에 대한 생존 경로의 양(L)은 폴라 폴라 코드의 코드 길이 및 폴라 폴라 코드의 수신에 대한 SNR에 따라 적응적으로 선택된다. 이러한 방식으로, 비교적 작은 값의 생존 경로가 성능에 영향을 끼치지 않고 선택될 수 있다. 이는 시스템 복잡도를 감소시키고, 종래 기술에서 폴라 코드 디코딩이 오직 고정된 생존 경로의 양에 따라서만 수행되기 때문에 디코딩이 다소 복잡하다는 단점을 해결한다. 또한, 본 발명의 실시예에서는 전송하고자 하는 타겟 정보 시퀀스의 길이(K)에 따라 CRC 체크 코드의 길이(M)가 송신단에서 적응적으로 결정된다. 이는 CRC 체크 코드의 M의 값이 어떤 경우에는 너무 크거나 또는 너무 작기 때문에 인코딩이 지나치게 복잡하거나 지나치게 간단하다는 문제를 회피하게 하고, 폴라 폴라 코드 인코딩의 성능을 향상시킨다.
특정 어플리케이션 시나리오에서, 본 발명의 이 실시예에서의 송신단 및 수신단의 특정 처리 프로세스는 다음과 같을 수 있다.
(1) 송신단은 길이가 K인 정보 시퀀스(X)를 획득한다.
(2) 송신단은 정보 시퀀스(X)의 길이(K)에 따라서 CRC 길이(M)를 결정한다. CRC 길이(M)의 값은 8, 16, 24, 또는 32일 수 있다. 일반적으로, M의 값은 정보 시퀀스(X)의 길이(K)에 따라 결정된다. 정보 시퀀스(X)가 비교적 짧은 경우, 길이가 8 인 CRC가 사용될 수 있거나; 또는, 정보 시퀀스(X)가 비교적 긴 경우, 길이가 32인 CRC가 사용될 수 있거나, 또는 길이가 16 또는 24인 CRC가 사용된다. 구체적으로, 다음 표 1에 대응이 나열되어 있다.
(3) 송신단은 길이가 K인 정보 시퀀스(X)에 길이가 M인 CRC 체크 코드를 추가하고, 길이가 (K+M)인 정보 시퀀스(Y)를 획득한다.
(4) 송신단은 정보 시퀀스(Y)에 폴라 인코딩을 수행하여, 길이가 N인 폴라 코드 시퀀스를 획득하며, 여기서, N은 폴라 코드의 코드 길이이다.
(5) 송신단은 무선 공간 채널을 사용하여 폴라 인코딩을 통해 획득된 코드 시퀀스를 수신단으로 전송하고; 정보 시퀀스(X)의 길이(K) 및 폴라 코드의 비트 레이트와 같은 관련 정보를 수신단에 전송한다.
(6) 수신단은 폴라 코드 시퀀스, 정보 시퀀스(X)의 길이(K), 폴라 코드의 비트 레이트와 같은, 송신단에 의해 송신된 정보를 수신한다.
(7) 수신단은 정보 시퀀스(X)의 길이(K), 폴라의 비트 레이트 등에 따라 폴라 코드의 코드 길이(N) 및 CRC 길이(M)을 결정한다.
(8) 수신단은 신호 수신에 대한 신호대잡음비(SNR)을 계산하고, 폴라 인코딩을 위한 생존 경로의 양(L)의 값을 획득한다. 구체적으로는, 생존 경로의 양(L)의 값은 신호 수신에 대한 신호대잡음비(SNR), 폴라 코드의 코드 길이(N), 및 생존 경로(L) 사이의 관계에 따라 획득될 수 있다. 관계는 표, 함수 등에 의해 표시될 수 있고, 수신단에 저장될 수 있다. 도 5는 코드 길이(N)가 8192일 때 L의 상이한 값에 대한 성능 곡선을 나타낸다.
가로축은 신호대잡음비(SNR)를 나타내고, 세로축은 비트 에러율(bit error rate)을 나타낸다. 에뮬레이션 결과에 따라, 신호대잡음비(SNR), 폴라 코드의 코드 길이(L), 및 생존 경로(L) 사이의 관계가 다음 표 2에 열거된 바와 같이 결정될 수 있다.
즉, 코드 길이가 8192인 경우: SNR≤1.1dB이면 L의 값은 32이고; SNR이 1.1 내지 2.5dB의 범위이면, L의 값은 16이고; SNR이 1.25 내지 1.4dB의 범위이면, L의 값은 8이고; SNR이 1.4 내지 1.8dB의 범위이면, L의 값은 4이고; SNR≥1.8dB이면, L의 값은 2이다.
(9) 수신단은 생존 경로의 양(L)에 따라 수신된 정보 시퀀스에 대해 폴라 코드 디코딩을 수행하여 L개의 생존 경로를 획득한다.
(10) 수신단은 L개의 생존 경로에서 가장 큰 확률을 갖는 경로를 출력하고, CRC 검사를 수행한다.
(11) CRC 검사가 성공하면 경로는 디코딩 결과이거나, 또는 CRC 검사가 실패하면 수신단이 송신단에 재전송을 수행하도록 통지한다.
다른 어플리케이션 시나리오에서, 전술한 어플리케이션 시나리오의 단계 (10) 및 (11)은 다음 단계 (12) 및 단계 (13)에서 설명된 방식으로 수행될 수 있다.
(12) 수신단은 L개의 생존 경로 상에 길이가 M인 CRC 검사를 수행하고; CRC 검사가 생존 경로 상에서 성공하면, CRC 검사가 성공한 생존 경로에서 가장 큰 확률을 갖는 생존 경로를 출력하고; 그렇지 않으면, 단계 (13)이 수행된다.
(13) 수신단은 신호를 수신하기 위한 신호대잡음비(SNR), 폴라 코드의 코드 길이(N), 및 생존 경로(L) 사이의 관계에 따라 L의 값을 다음 레벨의 L 값으로 조정한다. 예를 들어, 표 1에서, L의 현재 값이 4라면, L의 값은 다음 레벨의 L 값 8로 조정된다; L의 현재 값이 16이라면, L의 값은 다음 레벨의 L 값 32로 조정된다; L의 값이 L의 최대 값이면, 조정은 수행되지 않는다. 표 1에 나열된 바와 같이, L의 현재 값이 최대 값인 32 인 경우, 조정이 수행되지 않으며, L개의 생존 경로에서 가장 큰 확률을 갖는 경로가 출력된다; 그렇지 않으면, L의 조정된 값에 따라 단계 (9)가 수행된다.
또 다른 어플리케이션 시나리오에서, 전술한 어플리케이션 시나리오의 단계 (10) 및 (11)은 다음 단계 (14) 내지 (16)에 설명된 방식으로 수행될 수 있다.
(14) 수신단은 L개의 생존 경로에서 가장 큰 확률을 갖는 경로를 출력한다.
(15) 수신단은 (14)에서 출력된 경로에 대해 CRC 검사를 수행하고, CRC 검사가 성공하면 프로세스가 종료된다; 또는 CRC 체크가 실패하면, 단계 (16)이 수행된다.
(16) 수신단은 신호 수신을 위한 신호대잡음비(SNR), 폴라 코드의 코드 길이(N), 및 생존 경로(L) 사이의 관계에 따라서, L의 값을 다음 레벨의 L의 값으로 조정한다. 예를 들어, 표 1에서, L의 현재 값이 4라면, L의 값은 다음 레벨의 L 값 8로 조정된다; L의 현재 값이 16이라면, L의 값은 다음 레벨의 L 값 32로 조정된다; L의 값이 L의 최대 값이면, 조정은 수행되지 않는다. 표 1에 나열된 바와 같이, L의 현재 값이 최대 값인 32 인 경우, 조정이 수행되지 않으며, L개의 생존 경로에서 가장 큰 확률을 갖는 경로가 출력된다; 그렇지 않으면, L의 조정된 값에 따라 단계 (4)가 수행된다. 본 발명은 전술한 특정 어플리케이션 시나리오를 포함하지만 반드시 이에 한정되지 않는다는 것을 이해할 수 있다. 보다 상세한 구현에 대해서는 도 4의 방법 실시예를 참조한다. 상세한 것은 여기에 다시 열거되지 않는다.
도 6은 본 발명의 실시예에서의 디코딩 장치의 실시예의 개략적인 구조도이다. 자세한 내용은 아래에 설명되어 있다. 디코딩 장치(10)는 디코딩 수신 모듈(101), 디코딩 결정 모듈(102), 및 디코딩 모듈(103)을 포함할 수 있다.
디코딩 수신 모듈(101)은 송신단에 의해 송신되는 폴라 폴라 코드 및 지시 정보를 수신하도록 구성되며, 지시 정보는 폴라 폴라 코드의 길이가 N임을 지시한다.
디코딩 결정 모듈(102)은 폴라 폴라 코드의 코드 길이(N)와 폴라 폴라 코드의 수신에 대한 신호대잡음비(SNR)에 따라 폴라 폴라 코드의 생존 경로의 양(L)을 결정하도록 구성되며, 여기서 L은 양의 정수이다.
디코딩 모듈(103)은 생존 경로의 양(L)에 따라 폴라 폴라 코드에 대한 연속 취소 리스트(SCL) 디코딩을 수행하여 L개의 생존 경로를 획득하도록 구성되고; L개의 생존 경로 중 적어도 하나를 검사하여 폴라 폴라 코드의 디코딩 결과를 획득하도록 구성된다.
특히, 디코딩 결정 모듈(102)은, 신호대잡음비(SNR), 폴라 코드의 코드 길이(N), 및 생존 경로의 양(L) 사이의 미리 저장된 생존 경로 양 매핑 관계에 따라, 폴라 폴라 코드에 대응하는 생존 경로의 양(L)을 결정하도록 구성된다. 생존 경로 양 매핑 관계에서, 폴라 폴라 코드의 수신에 대한 더 큰 신호대잡음비(SNR)를 갖는 폴라 코드에 대응하는 L의 값은 폴라 폴라 코드의 수신에 대한 더 작은 신호대잡음비(SNR)를 갖는 폴라 코드에 대응하는 L의 값보다 작거나 같고, 더 긴 코드 길이를 갖는 폴라 코드에 대응하는 L의 값은 더 짧은 코드 길이를 갖는 폴라 코드에 대응하는 L보다 크거나 같다.
또한, 디코딩 모듈(103)은 구체적으로, L개의 생존 경로 중 적어도 하나에 순환 중복 검사(CRC)를 수행하도록 구성된다.
또한, 디코딩 모듈(103)은 제1 검사 유닛 및 제1 디코딩 유닛을 포함할 수 있다.
제1 검사 유닛은 L개의 생존 경로에서 가장 큰 확률값을 갖는 생존 경로에 대해 CRC 검사를 수행하도록 구성된다.
제1 디코딩 유닛은, 검사가 성공하면, 가장 큰 확률값을 갖는 생존 경로를 폴라 폴라 코드의 디코딩 결과로서 사용하도록 구성된다.
또한, 디코딩 모듈(103)은 제 2 디코딩 유닛을 포함할 수 있다.
제2 디코딩 유닛은, 검사가 실패하면 L의 임계 범위 내에서 L의 값을 증가시키고, 증가된 L의 값에 따라 폴라 폴라 코드에 대해 SCL 디코딩을 수행하여 폴라 폴라 코드의 디코딩 결과를 획득하도록 구성된다.
또한, 디코딩 모듈(103)은 제2 검사 유닛 및 제3 디코딩 유닛을 포함할 수 있다.
제2 검사 유닛은 L개의 생존 경로에서 w개의 생존 경로에 대한 순환 중복 검사(CRC)를 수행하도록 구성되며, 여기서 w는 1보다 크고 L보다 작거나 같은 정수이다.
제3 디코딩 유닛은, 검사가 w개의 생존 경로 내의 생존 경로 상에 성공하면, 검사가 성공한 생존 경로에서 가장 큰 확률값을 갖는 생존 경로를 폴라 폴라 코드의 디코딩 결과로서 사용한다.
또한, 디코딩 모듈(103)은 제4 디코딩 유닛을 포함할 수 있다.
제4 디코딩 유닛은, w개의 생존 경로 중 어느 하나에서도 검사가 성공하지 못하면, L의 임계 범위 내에서 L의 값을 증가시키고, 증가된 L의 값에 따라 폴라 폴라 코드에 SCL 디코딩을 수행하여 폴라 폴라의 디코딩 결과를 획득한다.
또한, 제2 디코딩 유닛 또는 제4 디코딩 유닛이 L의 값을 증가시키는 것은 구체적으로: L의 값을 u만큼 증가시키는 것 - u는 양의 정수임 -이거나, 또는 L에 v를 곱하는 것 - v는 1보다 큼 -이다.
디코딩 장치(10)에서의 모듈의 기능에 대해, 도 4의 방법 실시예에서 특정 구현이 대응되게 참조될 수 있다는 것을 이해할 수 있다.
도 7은 본 발명의 실시예에서의 인코딩 장치의 실시예의 개략적인 구조도이다. 자세한 내용은 아래에 설명되어 있다. 인코딩 장치(20)는 인코딩 수신 모듈(201), 인코딩 결정 모듈(202), 인코딩 모듈(203), 및 전송 모듈(204)을 포함할 수 있다.
인코딩 수신 모듈(201)은 타겟 정보 시퀀스를 수신하도록 구성되며, 여기서 타겟 정보 시퀀스의 길이는 K다.
인코딩 결정 모듈(202)은 길이 K에 따라 타겟 정보 시퀀스에 대한 순환 중복 검사(CRC)의 길이(M)를 결정하도록 구성된다.
인코딩 모듈(203)은 타겟 정보 시퀀스에 길이가 M인 CRC 체크 코드를 추가하고, 체크 코드가 추가된 이후에 획득된 정보 시퀀스에 폴라 인코딩을 수행하여 길이가 N인 폴라 코드를 획득하도록 구성된다.
전송 모듈(204)은 폴라 폴라 코드 및 폴라 폴라 코드의 길이가 N임을 나타내는 표시 정보를 수신단에 송신하도록 구성된다.
특히, 인코딩 결정 모듈(202)은, 정보 시퀀스의 길이(K)와 CRC 체크 코드 길이(M) 사이의 미리 저장된 체크 코드 매핑 관계에 따라, 타겟 정보 시퀀스에 대응하는 CRC 체크 코드 길이(M)를 결정하도록 구성되며, 체크 코드 매핑 관계에서, 더 긴 길이(K)를 갖는 정보 시퀀스에 대응하는 CRC 체크 코드 길이(M)는 더 짧은 길이(K)를 갖는 정보 시퀀스에 대응하는 CRC 체크 코드 길이(M)보다 크거나 같다.
인코딩 장치(20) 내의 모듈의 기능에 대해, 도 4의 방법 실시예에서 특정 구현이 대응되게 참조될 수 있다는 것을 이해할 수 있다. 상세한 설명은 여기에서 다시 설명하지 않는다.
본 발명의 실시예에서 전술한 솔루션을 더 잘 구현하기 위해, 본 발명은 전술한 솔루션을 구현하는 것을 돕도록 구성된 관련 인코더 및 관련 디코더를 더 제공한다. 다음은 도 8 및 도 9의 본 발명의 인코더 및 디코더의 실시예의 개략적인 구조도를 참조하여 인코더 및 디코더를 상세히 설명한다.
도 8은 본 발명의 디코더의 개략적인 구조도이다. 도 8의 디코더(30)는 방법 실시예에서 단계 및 방법을 구현하도록 구성될 수 있다. 디코더(30)는 다양한 통신 시스템의 기지국 또는 단말기에 적용될 수 있다. 도 8에 도시된 실시예에서, 디코더(30)는 입력 유닛(301), 출력 유닛(302), 저장 유닛(303), 및 디코딩 처리 유닛(304)을 포함한다. 디코딩 처리 유닛(304)은 디코더(30)의 동작을 제어하며, 신호를 처리하도록 구성된다. 저장 유닛(303)은 읽기 전용 메모리(read-only memory) 및 랜덤 액세스 메모리(random access memory)를 포함할 수 있으며, 디코딩 처리 유닛(304)에 명령 및 데이터를 제공한다. 저장 유닛(303)의 일부는 비 휘발성 랜덤 액세스 메모리(non-volatile random access memory, NVRAM)를 더 포함할 수 있다. 특정 어플리케이션에서, 디코더(30)는 이동 전화기와 같은 무선 통신 장치이거나 이에 내장될 수 있고, 입력 유닛(301) 및 출력 유닛(302)을 수용하는 캐리어를 더 포함할 수 있어, 디코더(30)는 원격 위치로 데이터를 송수신할 수가 있다. 입력 유닛(301) 및 출력 유닛(302)은 신호를 송수신하기 위해 안테나에 연결될 수 있다. 디코더(30)의 구성 요소는 버스 시스템을 사용하여 함께 결합된다. 데이터 버스 외에, 버스 시스템은 파워 버스(power bus), 제어 버스(control bus), 및 상태 신호 버스(status signal bus)를 더 포함한다. 하지만, 명확한 설명을 위해 다양한 버스는 도면에서 버스 시스템으로 표시되어 있다.
저장 유닛(303)은 디코딩 처리 유닛(304)으로 하여금 다음의 프로세스를 수행하게 하는 명령을 저장할 수 있다:
송신단에서 전송된 폴라 폴라 코드 및 지시 정보를 수신하는 단계 - 지시 정보는 폴라 폴라 코드의 길이가 N인 것을 지시함 -;
폴라 폴라 코드의 코드 길이(N) 및 폴라 폴라 코드의 수신에 대한 신호대잡음비(SNR)에 따라 폴라 폴라 코드의 생존 경로의 양(L)을 결정하는 단계 - L은 양의 정수임 -; 및
생존 경로의 양(L)에 따라서 폴라 폴라 코드 상에 연속 취소 리스트(SCL) 디코딩을 수행하여 L개의 생존 경로를 획득하고, L개의 생존 경로 중 적어도 하나를 검사(check)하여 폴라 폴라 코드의 디코딩 결과를 획득하는 단계.
또한, 저장 유닛(303)은 디코딩 처리 유닛(304)으로 하여금 다음의 프로세스를 수행하도록 하는 명령을 더 저장한다: 신호대잡음비(SNR), 폴라 코드의 코드 길이(N), 및 생존 경로의 양(L) 사이의 미리 저장된 생존 경로의 양 매핑 관계에 따라서, 폴라 폴라 코드에 대응하는 생존 경로의 양(L)을 결정하는 것. 여기 생존 경로의 양 매핑 관계에서, 폴라 폴라 코드의 수신에 대한 더 큰 신호대잡음비(SNR)를 갖는 폴라 코드에 대응하는 L의 값은 폴라 폴라 코드의 수신에 대한 더 작은 신호대잡음비(SNR)를 갖는 폴라 코드에 대응하는 L의 값보다 작거나 같고, 더 긴 코드 길이를 갖는 폴라 코드에 대응하는 L의 값은 더 짧은 코드 길이를 갖는 폴라 코드에 대응하는 L보다 크거나 같다.
또한, 저장 유닛(303)은 디코딩 처리 유닛(304)으로 하여금, L개의 생존 경로 중 적어도 하나에 대해 순환 중복 검사(CRC)를 수행하는 처리를 수행하게 하는 명령을 더 저장한다.
또한, 저장 유닛(303)은 디코딩 처리 유닛(304)으로 하여금, L개의 생존 경로에서 가장 큰 확률값을 갖는 생존 경로에 대해 CRC 검사를 수행하고, 검사가 성공하면, 가장 큰 확률값을 갖는 생존 경로를 폴라 폴라 코드의 디코딩 결과로서 사용하게 하는 명령을 더 저장한다.
또한, 저장 유닛(303)은 디코딩 처리 유닛(304)으로 하여금, 검사가 실패하면 재전송을 수행하도록 송신단에 통지하거나; 또는 검사가 실패하면, L의 임계 범위 내에서 L의 값을 증가시키고, 증가된 L의 값에 따라 폴라 폴라 코드에 SCL 디코딩을 수행하여 폴라 폴라 코드의 디코딩 결과를 획득하게 하는 명령을 더 저장한다.
또한, 저장 유닛(303)은 디코딩 처리 유닛(304)으로 하여금, L개의 생존 경로 내의 w개의 생존 경로에 대하여, 순환 중복 검사(CRC)를 수행하게 하고, 여기서 w는 1보다 크고 L보다 작거나 같고, w개의 생존 경로의 생존 경로 상에서 검사가 성공하는 경우, 검사가 성공한 생존 경로에서 가장 큰 확률값의 생존 경로를 폴라 폴라 코드의 디코딩 결과로서 사용하게 하는 명령을 더 저장한다.
또한, 저장 유닛(303)은 디코딩 처리 유닛(304)으로 하여금, w개의 생존 경로 중 어느 하나에도 검사가 성공하지 못하면, 재전송을 수행하기 위하여 송신단에 통지하거나; 또는 w개의 생존 경로 중 어느 하나에서도 검사가 성공하지 못하면, L의 임계 범위 내에서 L의 값을 증가시키고 증가된 L의 값에 따라 폴라 폴라 코드에 SCL 디코딩을 수행하여 폴라 폴라 코드의 디코딩 결과를 획득하게 하는 명령을 더 저장한다.
또한, L의 값은 u만큼 증가 - u는 양의 정수임 -되거나, 또는 L은 v로 곱해진다 - v는 1보다 큼 -.
폴라 코드 디코더(30) 내의 기능 유닛의 기능에 대해, 도 4의 방법 실시예에서 특정 구현이 대응되게 참조될 수 있다는 것을 이해할 수 있다. 상세한 설명은 여기서 다시 설명하지 않는다.
도 9는 본 발명의 인코더의 개략적인 구조도이다. 도 9의 인코더(40)는 방법 실시예에서 단계 및 방법을 구현하도록 구성될 수 있다. 인코더(40)는 다양한 통신 시스템의 기지국 또는 단말기에 적용될 수 있다. 도 9에 도시된 실시예에서, 인코더(40)는 입력 유닛(401), 출력 유닛(402), 저장 유닛(403), 및 인코딩 처리 유닛(404)을 포함한다. 인코딩 처리 유닛(404)은 신호를 처리하도록 구성된다. 저장 유닛(403)은 읽기 전용 메모리와 랜덤 액세스 메모리를 포함할 수 있고, 인코딩 처리 유닛(404)으로 명령 및 데이터를 제공한다. 저장 유닛(403)의 일부는 비 휘발성 랜덤 액세스 메모리(NVRAM)를 더 포함할 수 있다. 특정 어플리케이션에서, 인코더(40)는 이동 전화기와 같은 무선 통신 장치이거나 이에 내장될 수 있고, 입력 유닛(401) 및 출력 유닛(402)을 수용하는 캐리어를 더 포함할 수 있어, 인코더(40)는 원격 위치로 데이터를 송수신 할 수가 있다. 입력 유닛(401) 및 출력 유닛(402)은 신호를 송수신하기 위해 안테나에 연결될 수 있다. 인코더(40)의 구성 요소는 버스 시스템을 사용하여 함께 결합된다. 데이터 버스 외에, 버스 시스템은 전력 버스(power bus), 제어 버스(control bus), 및 상태 신호 버스(status signal bus)를 더 포함한다. 하지만, 명확한 설명을 위해 다양한 버스는 도면에서 버스 시스템으로 표시되어 있다.
저장 유닛(403)은 인코딩 처리 유닛(404)으로 하여금, 다음의 프로세스를 수행할 수 있게 하는 명령을 저장할 수 있다:
타겟 정보 시퀀스를 수신하는 단계 - 타겟 정보 시퀀스의 길이는 K임 -;
길이(K)에 따라 타겟 정보 시퀀스에 대한 CRC 길이(M)를 결정하는 단계;
타겟 정보 시퀀스에 길이가 M인 CRC 체크 코드(check code)를 추가하고, 체크 코드가 추가된 이후에 획득된 정보 시퀀스 상에 폴라 인코딩을 수행하여 길이가 N인 폴라 코드를 획득하는 단계; 및
폴라 폴라 코드 및 폴라 폴라 코드의 길이가 N임을 지시하는 지시 정보를 수신단에 전송하는 단계.
구체적으로는, 저장 유닛(403)은, 인코딩 처리 유닛(404)으로 하여금, CRC 체크 코드 길이(M)와 정보 시퀀스의 길이(K) 사이의 미리 저장된 체크 코드 매핑 관계에 따라, 타겟 정보 시퀀스에 대응하는 CRC 체크 코드 길이(M)를 결정하는 단계의 프로세스를 수행하도록 하는 명령을 더 저장하고, 체크 코드 매핑 관계에서, 더 긴 길이(K)를 갖는 정보 시퀀스에 대응하는 CRC 체크 코드 길이(M)는 더 짧은 길이(K)를 갖는 정보 시퀀스에 대응하는 CRC 체크 코드 길이(M)보다 크거나 같다.
인코더(40) 내의 기능 유닛의 기능에 대해, 도 4의 방법 실시예에서 특정 구현이 대응되게 참조될 수 있다는 것을 이해할 수 있다. 상세한 설명은 여기에서 다시 설명하지 않는다.
본 발명의 실시예에서 개시된 전술한 인코더 및 디코더에서, 디코딩 처리 유닛(304) 또는 인코딩 처리 유닛(404)은 신호 처리 능력을 갖는 집적 회로 칩일 수 있다. 구현시, 방법의 단계는 디코딩 처리 유닛(304) 또는 인코딩 처리 유닛(404) 내의 하드웨어 통합 논리 회로를 사용하거나, 또는 소프트웨어 형태의 명령을 사용함으로써 구현될 수 있다. 명령은 다른 관련 프로세서를 사용함으로써 대안적으로 구현 및 제어될 수 있고, 이에 본 발명의 실시예에서 개시된 방법을 실행할 수 있다. 디코딩 처리 유닛(304) 또는 인코딩 처리 유닛(404)은 범용 프로세서, DSP(digital signal processor), ASIC(application-specific integrated circuit), FPGA(field programmable gate array), 또는 다른 프로그램 가능한 논리 장치, 이산 게이트 또는 트랜지스터 논리 장치, 또는 이산 하드웨어 구성 요소일 수 있으며, 본 발명의 실시예에 개시된 방법, 단계, 및 논리 블록도를 구현하거나 실행할 수 있다.
도 10을 참조하면, 도 10은 본 발명에 제공된 단말기(50)의 개략적인 구조도이다. 본 발명의 실시예에서 디코더(30) 및 인코더(40)는 본 발명의 실시예에서, 관련 폴라 폴라 코드 인코딩 및 디코딩 방법 프로세스를 실행하기 위해, 단말기에 통합될 수 있다. 단말기(50)는 기저대역 칩(baseband chip; 501), 무선 주파수/안테나 모듈(radio frequency/antenna module; 502), (하나 이상의 컴퓨터 판독 가능 저장 매체를 포함 할 수 있는) 메모리(503)와, 및 디스플레이(LCD), 카메라, 오디오 회로, 터치 스크린, 및 센서(하나 이상의 센서가 포함될 수 있음)와 같은 주변 시스템(peripheral system)을 포함한다. 기저대역 칩(501)은, 통합을 통해, 하나 이상의 프로세서(5011), 클록 모듈(clock module; 5012), 파워 관리 모듈(power management module; 5013) 및 코덱(codec; 5014)(디코더(30) 및 인코더(40)의 관련 기능과 통합됨)을 포함할 수 있다. 이러한 구성 요소는 하나 이상의 통신 버스를 통해 통신할 수 있다.
메모리(503)는 프로세서(5011)와 결합되고, 다양한 소프트웨어 프로그램 및/또는 복수 세트의 명령을 저장하도록 구성된다. 특정 구현 동안, 메모리(503)는 고속 랜덤 액세스 메모리를 포함할 수 있고, 또한 하나 이상의 디스크 저장 장치, 플래시 장치, 또는 다른 비 휘발성 고체 상태 저장 장치와 같은 비 휘발성 메모리를 포함할 수 있다.
무선 주파수/안테나 모듈(502)은 무선 주파수 신호를 수신하고 송신하도록 구성된다. 무선 주파수/안테나 모듈(502)은 무선 주파수 신호 또는 안테나를 사용하여 통신 네트워크 및 다른 통신 장치와 통신한다. 특정 구현 예에서, 무선 주파수/안테나 모듈(502)은 안테나 시스템, RF 트랜시버, 하나 이상의 증폭기, 튜너(tuner), 하나 이상의 오실레이터(oscillator), 디지털 신호 프로세서, 코덱 칩(CODEC chip), 심 카드(SIM card), 저장 매체 등을 포함할 수 있지만, 반드시 이에 제한되는 것은 아니다. 일부 실시예에서, 무선 주파수/안테나 모듈(502)은 독립적인 칩 상에 구현될 수 있다.
주변 시스템(504)은 주로 단말기(50)와 사용자/외부 환경 간의 상호 작용 기능을 구현하도록 구성되며, 주로 클라이언트(50)의 입/출력 장치를 포함한다. 특정 구현에서, 주변 시스템(504)은 디스플레이(LCD) 컨트롤러, 카메라 컨트롤러, 오디오 컨트롤러, 터치스크린 컨트롤러, 및 센서 관리 모듈을 포함할 수 있다. 각각의 제어기는 대응하는 주변 장치와 결합될 수 있다. 일부 실시예에서, 주변 시스템(504)은 또 다른 I/O 주변 컨트롤러를 더 포함할 수 있다.
기저대역 칩(501)에 통합된 클록 모듈(5012)은 주로 프로세서(5011)에 대한 데이터 전송 및 타이밍 제어에 필요한 클록(clock)을 생성하도록 구성된다. 기저대역 칩(501)에 통합된 파워 관리 모듈(5013)은 주로 프로세서(5011), 무선 주파수 모듈(502), 및 주변 시스템에 대해 안정적인 고정밀의 전압을 제공하도록 구성된다.
기저대역 칩에서 코덱(5014)에 의해 수행되는 기능에 대해, 도 4의 방법 실시예에서 특정 구현이 대응되게 참조될 수 있다는 것을 이해할 수 있다. 상세한 설명은 여기서 다시 설명하지 않는다.
통상의 기술자라면, 본 명세서에 개시된 실시예에서 설명된 예와 결합하여, 유닛 및 알고리즘 단계가 전자 하드웨어, 또는 컴퓨터 소프트웨어 및 전자 하드웨어의 조합에 의해 구현될 수 있음을 인식할 수 있다. 기능이 하드웨어 또는 소프트웨어에 의해 수행되는지 여부는 기술적 솔루션의 특정 어플리케이션 및 설계 제약 조건에 따라 다르다. 통상의 기술자는 각각의 특정 어플리케이션에 대해 기술된 기능을 구현하기 위해 상이한 방법을 사용할 수 있으며, 구현이 본 발명의 범위를 벗어나는 것으로 간주되어서는 안된다.
통상의 기술자는 전술한 시스템, 장치, 및 유닛의 상세한 작업 프로세스를 위해, 편리하고 간단한 설명을 위해, 전술한 방법 실시예에 대응하는 프로세스가 참조될 수 있음을 명확하게 이해할 수 있고, 상세한 설명은 여기서 다시 설명되지 않는다.
본 출원에 제공된 몇몇 실시예에서, 개시된 시스템, 장치, 및 방법은 다른 방식으로 구현될 수 있다는 것을 이해해야한다. 예를 들어, 설명된 장치 실시예는 단지 예일 뿐이다. 예를 들어, 유닛 구분은 단지 논리적인 기능 구분일 뿐이며, 실제 구현에서는 다른 구분일 수 있다. 예를 들어, 복수의 유닛 또는 구성 요소가 결합되거나 다른 시스템에 통합되거나, 또는 일부 특징이 무시되거나 수행되지 않을 수도 있다. 또한, 표시되거나 논의된 상호 커플링 또는 직접 커플링 또는 통신 연결은 일부 인터페이스를 사용하여 구현될 수 있다. 장치 또는 유닛 간의 간접적 커플링 또는 통신 접속은 전자적, 기계적, 또는 다른 형태로 구현될 수 있다.
분리된 부분으로 설명된 유닛은 물리적으로 분리되거나 아니면 그렇지 않을 수도 있고, 유닛으로 디스플레이된 부품은 물리적 유닛이거나 아니면 아닐 수도 있으며, 한 위치에 위치되거나 아니면 복수의 네트워크 유닛 상에 분포될 수 있다. 유닛의 일부 또는 전부는 실시예의 솔루션의 목적을 달성하기 위해 실제 요구 사항에 따라 선택될 수 있다.
또한, 본 발명의 실시예에서의 기능 유닛은 하나의 처리 유닛에 통합되거나, 또는 각각의 유닛이 물리적으로 단독으로 존재할 수도 있고, 두 개 이상의 유닛이 하나의 유닛으로 통합될 수도 있다.
기능이 소프트웨어 기능 유닛의 형태로 구현되고 독립적인 제품으로서 판매되거나 사용되는 경우, 기능은 컴퓨터 판독 가능 저장 매체에 저장될 수 있다. 이러한 이해에 기초하여, 본질적인 본 발명의 기술적 솔루션, 또는 종래 기술에 기여하는 부분, 또는 기술적 솔루션의 일부는 소프트웨어 제품의 형태로 구현될 수 있다. 컴퓨터 소프트웨어 제품은 저장 매체에 저장되며, 컴퓨터 장치(개인용 컴퓨터, 서버, 네트워크 장치 등일 수 있음)로 하여금 본 발명의 실시예에 설명된 일부 또는 전부의 단계를 수행하도록 명령하는 몇몇 명령을 포함한다. 전술한 저장 매체는, USB 플래시 드라이브, 탈착식 하드 디스크, 읽기 전용 메모리(Read-Only Memory, ROM), 랜덤 액세스 메모리(Random Access Memory, RAM), 자기 디스크, 또는 광 디스크와 같이 프로그램 코드를 저장할 수 있는 임의의 매체를 포함한다.
전술한 설명은 단지 본 발명의 특정 구현일 뿐이며, 본 발명의 보호 범위를 제한하려는 것은 아니다. 본 발명에 개시된 기술적 범위 내에서 통상의 기술자에 의해 용이하게 이해되는 임의의 변형 또는 치환은 본 발명의 보호 범위 내에 속한다. 따라서, 본 발명의 보호 범위는 청구 범위의 보호 범위를 따른다.
Claims (20)
- 수신단이 송신단에서 전송된 폴라 폴라 코드(polar polar code) 및 지시 정보를 수신하는 단계 - 상기 지시 정보는 상기 폴라 폴라 코드의 길이가 N인 것을 지시함 -;
상기 폴라 폴라 코드의 코드 길이(N) 및 상기 폴라 폴라 코드의 수신에 대한 신호대잡음비(signal-to-noise ratio, SNR)에 따라 상기 폴라 폴라 코드의 생존 경로의 양(L)을 결정하는 단계 - L은 양의 정수임 -; 및
상기 생존 경로의 양(L)에 따라서 상기 폴라 폴라 코드 상에 연속 취소 리스트(successive cancellation list, SCL) 디코딩을 수행하여 L개의 생존 경로를 획득하고, 상기 L개의 생존 경로 중 적어도 하나를 검사(check)하여 상기 폴라 폴라 코드의 디코딩 결과를 획득하는 단계
를 포함하는 폴라 폴라 코드 디코딩 방법. - 제1항에 있어서,
상기 폴라 폴라 코드의 코드 길이(N) 및 상기 폴라 폴라 코드의 수신에 대한 신호대잡음비(SNR)에 따라 상기 폴라 폴라 코드의 생존 경로의 양(L)을 결정하는 단계는,
상기 SNR, 상기 폴라 코드의 코드 길이(N), 및 상기 생존 경로의 양(L) 사이의 미리 저장된 생존 경로의 양 매핑 관계에 따라서, 상기 폴라 폴라 코드에 대응하는 생존 경로의 양(L)을 결정하는 단계
를 포함하고,
상기 생존 경로의 양 매핑 관계에서,
상기 폴라 폴라 코드의 수신에 대한 더 큰 SNR을 갖는 폴라 코드에 대응하는 L의 값은 상기 폴라 폴라 코드의 수신에 대한 더 작은 SNR을 갖는 폴라 코드에 대응하는 L의 값 이하이고,
더 긴 코드 길이를 갖는 폴라 코드에 대응하는 L의 값은 더 짧은 코드 길이를 갖는 폴라 코드에 대응하는 L 이상인,
폴라 폴라 코드 디코딩 방법. - 제1항 또는 제2항에 있어서,
상기 L개의 생존 경로 중 적어도 하나를 검사하는 것은,
상기 L개의 생존 경로 중 적어도 하나에 순환 중복 검사(cyclic redundancy check, CRC)를 수행하는 것
을 포함하는, 폴라 폴라 코드 디코딩 방법. - 제3항에 있어서,
상기 L개의 생존 경로 중 적어도 하나에 순환 중복 검사(CRC)를 수행하는 단계는,
상기 L개의 생존 경로 중 가장 큰 확률값을 갖는 생존 경로 상에 상기 순환 중복 검사(CRC)를 수행하는 단계; 및
상기 검사가 성공하는 경우, 상기 가장 큰 확률값을 갖는 생존 경로를 상기 폴라 폴라 코드의 디코딩 결과로서 사용하는 단계
를 포함하는, 폴라 폴라 코드 디코딩 방법. - 제4항에 있어서,
상기 L개의 생존 경로 중 가장 큰 확률값을 갖는 생존 경로 상에 순환 중복 검사(CRC)를 수행하는 단계의 이후에, 상기 방법은,
상기 검사가 실패하는 경우, L의 임계 범위 내에서 L의 값을 증가시키고, 증가된 L의 값에 따라 상기 폴라 폴라 코드에 SCL 디코딩을 수행하여 상기 폴라 폴라 코드의 디코딩 결과를 획득하는 단계
를 더 포함하는 폴라 폴라 코드 디코딩 방법. - 제3항에 있어서,
상기 L개의 생존 경로 중 적어도 하나에 순환 중복 검사(CRC)를 수행하는 단계는,
상기 L개의 생존 경로에서 w개의 생존 경로 상에 상기 순환 중복 검사(CRC)를 수행하는 단계 - 상기 w는 1보다 크고 L 이하임 -; 및
상기 w개의 생존 경로의 생존 경로 상에서 상기 검사가 성공하는 경우, 상기 검사가 성공한 생존 경로에서 가장 큰 확률값의 생존 경로를 상기 폴라 폴라 코드의 디코딩 결과로서 사용하는 단계
를 포함하는, 폴라 폴라 코드 디코딩 방법. - 제6항에 있어서,
상기 L개의 생존 경로 중 적어도 하나에 순환 중복 검사(CRC)를 수행하는 단계의 이후에, 상기 방법은,
상기 w개의 생존 경로의 어디에서도 상기 검사가 성공하지 않는 경우, L의 임계 범위 내에서 L의 값을 증가시키고, 증가된 L의 값에 따라 상기 폴라 폴라 코드에 SCL 디코딩을 수행하여 상기 폴라 폴라 코드의 디코딩 결과를 획득하는 단계
를 더 포함하는 폴라 폴라 코드 디코딩 방법. - 제5항 또는 제7항에 있어서,
상기 L의 값을 증가시키는 것은,
상기 L의 값을 u만큼 증가시키는 것 - 상기 u는 양의 정수임 -, 또는 L에 v를 곱하는 것 - 상기 v는 1보다 큼 -
을 포함하는, 폴라 폴라 코드 디코딩 방법. - 송신단에서 타겟 정보 시퀀스를 수신하는 단계 - 상기 타겟 정보 시퀀스의 길이는 K임 -;
상기 길이(K)에 따라 상기 타겟 정보 시퀀스에 대한 CRC 길이(M)를 결정하는 단계;
상기 타겟 정보 시퀀스에 길이가 M인 CRC 체크 코드(check code)를 추가하고, 상기 체크 코드가 추가된 이후에 획득된 정보 시퀀스 상에 폴라 인코딩을 수행하여 길이가 N인 폴라 코드를 획득하는 단계; 및
상기 폴라 폴라 코드 및 상기 폴라 폴라 코드의 길이가 N임을 지시하는 지시 정보를 수신단에 전송하는 단계
를 포함하는 폴라 폴라 코드 인코딩 방법. - 제9항에 있어서,
상기 길이(K)에 따라 상기 타겟 정보 시퀀스에 대한 CRC 길이(M)를 결정하는 단계는,
상기 CRC 체크 코드 길이(M)와 정보 시퀀스의 길이(K) 사이의 미리 저장된 체크 코드 매핑 관계에 따라, 상기 타겟 정보 시퀀스에 대응하는 상기 CRC 체크 코드 길이(M)를 결정하는 단계
를 포함하고,
상기 체크 코드 매핑 관계에서,
더 긴 길이(K)를 갖는 정보 시퀀스에 대응하는 CRC 체크 코드 길이(M)는 더 짧은 길이(K)를 갖는 정보 시퀀스에 대응하는 CRC 체크 코드 길이(M) 이상인,
폴라 폴라 코드 인코딩 방법. - 송신단에서 전송된 폴라 폴라 코드 및 지시 정보를 수신하도록 구성되는 디코딩 수신 모듈 - 상기 지시 정보는 상기 폴라 폴라 코드의 길이가 N임을 지시함 -;
상기 폴라 폴라 코드의 코드 길이(N) 및 상기 폴라 폴라 코드의 수신에 대한 신호대잡음비(signal-to-noise ratio, SNR)에 따라 상기 폴라 폴라 코드의 생존 경로의 양(L)을 결정하도록 구성되는 디코딩 결정 모듈 - L은 양의 정수임 -; 및
상기 생존 경로의 양(L)에 따라서 상기 폴라 폴라 코드 상에 연속 취소 리스트(successive cancellation list, SCL) 디코딩을 수행하여 L개의 생존 경로를 획득하고, 상기 L개의 생존 경로 중 적어도 하나를 검사(check)하여 상기 폴라 폴라 코드의 디코딩 결과를 획득하도록 구성되는 디코딩 모듈
을 포함하는 디코딩 장치. - 제11항에 있어서,
상기 결정 모듈은 구체적으로,
상기 SNR, 상기 폴라 코드의 코드 길이(N), 및 상기 생존 경로의 양(L) 사이의 미리 저장된 생존 경로의 양 매핑 관계에 따라서, 상기 폴라 폴라 코드에 대응하는 생존 경로의 양(L)을 결정하도록 구성되고,
상기 생존 경로의 양 매핑 관계에서,
상기 폴라 폴라 코드의 수신에 대한 더 큰 SNR을 갖는 폴라 코드에 대응하는 L의 값은 상기 폴라 폴라 코드의 수신에 대한 더 작은 SNR을 갖는 폴라 코드에 대응하는 L의 값 이하이고,
더 긴 코드 길이를 갖는 폴라 코드에 대응하는 L의 값은 더 짧은 코드 길이를 갖는 폴라 코드에 대응하는 L 이상인,
디코딩 장치. - 제11항 또는 제12항에 있어서,
상기 디코딩 모듈은 구체적으로,
상기 L개의 생존 경로 중 적어도 하나에 순환 중복 검사(cyclic redundancy check, CRC)를 수행하도록 구성되는,
디코딩 장치. - 제13항에 있어서,
상기 디코딩 모듈은,
상기 L개의 생존 경로 중 가장 큰 확률값을 갖는 생존 경로 상에 상기 순환 중복 검사(CRC)를 수행하도록 구성되는 제1 검사 유닛; 및
상기 검사가 성공하는 경우, 상기 가장 큰 확률값을 갖는 생존 경로를 상기 폴라 폴라 코드의 디코딩 결과로서 사용하도록 구성되는 제1 디코딩 유닛
을 포함하는,
디코딩 장치. - 제14항에 있어서,
상기 디코딩 모듈은,
상기 검사가 실패하는 경우, L의 임계 범위 내에서 L의 값을 증가시키고, 증가된 L의 값에 따라 상기 폴라 폴라 코드에 SCL 디코딩을 수행하여 상기 폴라 폴라 코드의 디코딩 결과를 획득하도록 구성되는 제2 디코딩 유닛
을 더 포함하는,
디코딩 장치. - 제13항에 있어서,
상기 디코딩 모듈은,
상기 L개의 생존 경로에서 w개의 생존 경로 상에 상기 순환 중복 검사(CRC)를 수행하도록 구성되는 제2 검사 유닛 - 상기 w는 1보다 크고 L 이하임 -; 및
상기 w개의 생존 경로의 생존 경로 상에서 상기 검사가 성공하는 경우, 상기 검사가 성공한 생존 경로에서 가장 큰 확률값의 생존 경로를 상기 폴라 폴라 코드의 디코딩 결과로서 사용하도록 구성되는 제3 디코딩 유닛
을 포함하는, 디코딩 장치. - 제16항에 있어서,
상기 디코딩 모듈은,
상기 w개의 생존 경로의 어디에서도 상기 검사가 성공하지 않는 경우, L의 임계 범위 내에서 L의 값을 증가시키고, 증가된 L의 값에 따라 상기 폴라 폴라 코드에 SCL 디코딩을 수행하여 상기 폴라 폴라 코드의 디코딩 결과를 획득하도록 구성되는 제4 디코딩 모듈
을 더 포함하는, 디코딩 장치. - 제15항 또는 제17항에 있어서,
상기 제2 디코딩 유닛 또는 상기 제4 디코딩 유닛이 L의 값을 증가시키는 것은 구체적으로,
상기 L의 값을 u만큼 증가시키는 것 - 상기 u는 양의 정수임 -이거나, 또는 L에 v를 곱하는 것 - 상기 v는 1보다 큼 -인,
디코딩 장치. - 송신단에서 타겟 정보 시퀀스를 수신하도록 구성되는 인코딩 수신 모듈 - 상기 타겟 정보 시퀀스의 길이는 K임 -;
상기 길이(K)에 따라 상기 타겟 정보 시퀀스에 대한 CRC 길이(M)를 결정하도록 구성되는 인코딩 결정 모듈;
상기 타겟 정보 시퀀스에 길이가 M인 CRC 체크 코드(check code)를 추가하고, 상기 체크 코드가 추가된 이후에 획득된 정보 시퀀스 상에 폴라 인코딩을 수행하여 길이가 N인 폴라 코드를 획득하도록 구성되는 인코딩 모듈; 및
상기 폴라 폴라 코드 및 상기 폴라 폴라 코드의 길이가 N임을 지시하는 지시 정보를 수신단에 전송하도록 구성되는 전송 모듈
을 포함하는 인코딩 장치. - 제19항에 있어서,
상기 인코딩 결정 모듈은 구체적으로,
상기 CRC 체크 코드 길이(M)와 정보 시퀀스의 길이(K) 사이의 미리 저장된 체크 코드 매핑 관계에 따라, 상기 타겟 정보 시퀀스에 대응하는 상기 CRC 체크 코드 길이(M)를 결정하도록 구성되고,
상기 체크 코드 매핑 관계에서,
더 긴 길이(K)를 갖는 정보 시퀀스에 대응하는 CRC 체크 코드 길이(M)는 더 짧은 길이(K)를 갖는 정보 시퀀스에 대응하는 CRC 체크 코드 길이(M) 이상인,
인코딩 장치.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020207021774A KR102268413B1 (ko) | 2016-04-29 | 2016-04-29 | 폴라 코드 인코딩 및 디코딩 방법과 장치 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2016/080839 WO2017185377A1 (zh) | 2016-04-29 | 2016-04-29 | 极化Polar码的编译码方法及装置 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020207021774A Division KR102268413B1 (ko) | 2016-04-29 | 2016-04-29 | 폴라 코드 인코딩 및 디코딩 방법과 장치 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20180137556A true KR20180137556A (ko) | 2018-12-27 |
KR102174947B1 KR102174947B1 (ko) | 2020-11-05 |
Family
ID=60160548
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020187034224A KR102174947B1 (ko) | 2016-04-29 | 2016-04-29 | 폴라 코드 인코딩 및 디코딩 방법과 장치 |
KR1020207021774A KR102268413B1 (ko) | 2016-04-29 | 2016-04-29 | 폴라 코드 인코딩 및 디코딩 방법과 장치 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020207021774A KR102268413B1 (ko) | 2016-04-29 | 2016-04-29 | 폴라 코드 인코딩 및 디코딩 방법과 장치 |
Country Status (7)
Country | Link |
---|---|
US (1) | US10892780B2 (ko) |
EP (1) | EP3442127B1 (ko) |
JP (1) | JP6781270B2 (ko) |
KR (2) | KR102174947B1 (ko) |
CN (1) | CN109075799B (ko) |
RU (1) | RU2715523C1 (ko) |
WO (1) | WO2017185377A1 (ko) |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
ES2917025T3 (es) | 2017-02-06 | 2022-07-06 | Ericsson Telefon Ab L M | Código Polar concatenado con detección de errores adaptativa |
WO2019099318A1 (en) * | 2017-11-15 | 2019-05-23 | Idac Holdings, Inc. | Urllc transmissions with polar codes |
CN110601700B (zh) * | 2019-08-09 | 2021-05-04 | 中国地质大学(武汉) | 一种适用于极化码串行抵消列表译码算法的硬件排序器 |
CN112653475B (zh) * | 2019-10-12 | 2024-04-09 | 华为技术有限公司 | Scl译码方法、装置及设备 |
US11063614B1 (en) | 2019-11-21 | 2021-07-13 | Cadence Design Systems, Inc. | Polar decoder processor |
CN111224680B (zh) * | 2019-11-29 | 2022-02-22 | 北京航空航天大学 | 一种低延时高可靠的极化码快速译码方法和译码器 |
CN111130566B (zh) * | 2019-12-18 | 2021-05-11 | 清华大学 | Polar码译码器中寻找L个最大路径度量值的电路实现方法 |
CN111132231B (zh) * | 2019-12-31 | 2021-05-11 | 北京邮电大学 | 一种极化时隙aloha的数据传输方法、装置、终端以及介质 |
KR20210108789A (ko) | 2020-02-26 | 2021-09-03 | 삼성전자주식회사 | 채널 코딩에서 디코딩을 위한 장치 및 방법 |
CN111277277B (zh) * | 2020-04-14 | 2023-06-20 | 中山大学 | 一种减少极化码连续对消表译码算法译码延迟的方法及装置 |
CN111510163A (zh) * | 2020-05-27 | 2020-08-07 | Oppo广东移动通信有限公司 | 一种极化码译码方法及装置、存储介质 |
CN112187409B (zh) * | 2020-09-29 | 2023-01-13 | 哲库科技(北京)有限公司 | 译码方法和装置、终端、芯片及存储介质 |
JP7222458B2 (ja) * | 2020-10-15 | 2023-02-15 | ホアウェイ・テクノロジーズ・カンパニー・リミテッド | Polar Polar符号を利用して符号化および復号化を行う方法および装置 |
TWI748739B (zh) * | 2020-11-10 | 2021-12-01 | 國立清華大學 | 決定待翻轉比特位置的方法及極化碼解碼器 |
US11689218B2 (en) | 2021-02-19 | 2023-06-27 | Electronics And Telecommunications Research Institute | Decoding method and apparatus based on polar code in communication system |
WO2022261984A1 (zh) * | 2021-06-18 | 2022-12-22 | 华为技术有限公司 | 通信方法和通信装置 |
WO2024043541A1 (ko) * | 2022-08-25 | 2024-02-29 | 삼성전자주식회사 | 무선 통신 시스템에서 블라인드 검출을 수행하는 수신기 및 그 동작 방법 |
CN116979973B (zh) * | 2023-09-22 | 2023-12-15 | 为准(北京)电子科技有限公司 | 一种信息解码方法、装置、电子设备及可读存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140019820A1 (en) * | 2012-07-11 | 2014-01-16 | The Regents Of The University Of California | Ecc polar coding and list decoding methods and codecs |
KR20140077492A (ko) * | 2012-12-14 | 2014-06-24 | 삼성전자주식회사 | Crc 부호와 극 부호에 의한 부호화 방법 및 장치 |
KR20140077596A (ko) * | 2012-12-14 | 2014-06-24 | 삼성전자주식회사 | 패킷의 복호화 장치 및 방법 |
US20140365842A1 (en) * | 2012-01-20 | 2014-12-11 | Huawei Technologies Co., Ltd. | Decoding method and decoding device for polar code cascaded with cyclic redundancy check |
Family Cites Families (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5307731A (en) | 1992-11-19 | 1994-05-03 | Sauer Inc. | Housing system for hydraulic units |
CA2241691C (en) * | 1995-12-27 | 2006-02-28 | Ericsson, Inc. | Method and apparatus for symbol decoding using a variable number of survivor paths |
WO2002061287A1 (de) | 2001-01-31 | 2002-08-08 | Luk Automobiltechnik & Co. Kg | Rückschlagventil |
RU2215369C1 (ru) | 2002-04-17 | 2003-10-27 | Санкт-Петербургский государственный университет телекоммуникаций им. проф. М.А.Бонч-Бруевича | Способ кодирования цифровых сигналов |
KR100915805B1 (ko) * | 2006-06-20 | 2009-09-07 | 삼성전자주식회사 | 광대역 무선통신시스템에서 맥계층 데이터 통신 장치 및방법 |
US7978779B2 (en) * | 2007-07-24 | 2011-07-12 | National Chiao Tung University | Tone-interleaved coded modulation scheme for MIMO OFDM communication |
WO2009053825A2 (en) * | 2007-10-26 | 2009-04-30 | Telefonaktiebolaget L M Ericsson (Publ) | Method and apparatus for providing adaptive cyclic redundancy check computation |
CN101471924A (zh) * | 2007-12-27 | 2009-07-01 | 华为技术有限公司 | 一种数据包头指示方法及设备 |
CN101644254B (zh) | 2008-08-04 | 2012-06-06 | 徐兆火 | 隔膜式增压泵的活塞阀体装置 |
CA2772741A1 (en) | 2009-09-03 | 2011-03-10 | Schlumberger Canada Limited | Pump body |
CN103780329B (zh) * | 2012-10-17 | 2018-05-04 | 华为技术有限公司 | 一种编译码的方法、装置及系统 |
CN104038234B (zh) * | 2013-03-07 | 2017-09-29 | 华为技术有限公司 | 极性码的译码方法和译码器 |
CN104124979B (zh) * | 2013-04-27 | 2018-04-17 | 华为技术有限公司 | 极性码的译码方法和译码装置 |
CN109361402B (zh) | 2013-05-31 | 2019-09-20 | 华为技术有限公司 | 编码方法及编码设备 |
JP2015142343A (ja) * | 2014-01-30 | 2015-08-03 | 富士通株式会社 | 通信装置および巡回冗長検査プログラム |
RU2014110139A (ru) * | 2014-03-17 | 2015-09-27 | ЭлЭсАй Корпорейшн | Полярные коды произвольной длины |
RU2571587C2 (ru) | 2014-04-10 | 2015-12-20 | Самсунг Электроникс Ко., Лтд. | Способ и устройство кодирования и декодирования данных в скрученном полярном коде |
US10193578B2 (en) * | 2014-07-10 | 2019-01-29 | The Royal Institution For The Advancement Of Learning / Mcgill University | Flexible polar encoders and decoders |
CN107005690B (zh) * | 2014-11-27 | 2019-10-01 | 华为技术有限公司 | 极化码的速率匹配的方法、装置和无线通信设备 |
CA2973669C (en) | 2015-01-12 | 2021-12-14 | Sca Hygiene Products Ab | A pump for a system for dispensing a liquid as a spray, a spray nozzle unit, a system for dispensing a liquid as a spray and a method for dispensing a liquid as a spray |
CN105337696B (zh) * | 2015-10-08 | 2018-03-30 | 东南大学 | 基于分段crc校验的极化解码方法 |
CN206190494U (zh) | 2016-10-31 | 2017-05-24 | 广州极飞科技有限公司 | 蠕动泵、泵体组件、喷洒系统和无人机 |
CN106837754A (zh) | 2017-02-23 | 2017-06-13 | 肖立峰 | 多相管道隔膜泵 |
-
2016
- 2016-04-29 KR KR1020187034224A patent/KR102174947B1/ko active IP Right Grant
- 2016-04-29 CN CN201680085093.XA patent/CN109075799B/zh active Active
- 2016-04-29 WO PCT/CN2016/080839 patent/WO2017185377A1/zh active Application Filing
- 2016-04-29 EP EP16899888.8A patent/EP3442127B1/en active Active
- 2016-04-29 KR KR1020207021774A patent/KR102268413B1/ko active IP Right Grant
- 2016-04-29 JP JP2018556801A patent/JP6781270B2/ja active Active
- 2016-04-29 RU RU2018141820A patent/RU2715523C1/ru active
-
2018
- 2018-10-29 US US16/173,063 patent/US10892780B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140365842A1 (en) * | 2012-01-20 | 2014-12-11 | Huawei Technologies Co., Ltd. | Decoding method and decoding device for polar code cascaded with cyclic redundancy check |
US20140019820A1 (en) * | 2012-07-11 | 2014-01-16 | The Regents Of The University Of California | Ecc polar coding and list decoding methods and codecs |
KR20140077492A (ko) * | 2012-12-14 | 2014-06-24 | 삼성전자주식회사 | Crc 부호와 극 부호에 의한 부호화 방법 및 장치 |
KR20140077596A (ko) * | 2012-12-14 | 2014-06-24 | 삼성전자주식회사 | 패킷의 복호화 장치 및 방법 |
Also Published As
Publication number | Publication date |
---|---|
EP3442127B1 (en) | 2024-02-21 |
CN109075799A (zh) | 2018-12-21 |
US20190068225A1 (en) | 2019-02-28 |
WO2017185377A1 (zh) | 2017-11-02 |
CN109075799B (zh) | 2024-03-15 |
KR102268413B1 (ko) | 2021-06-22 |
KR102174947B1 (ko) | 2020-11-05 |
RU2715523C1 (ru) | 2020-02-28 |
EP3442127A4 (en) | 2019-07-24 |
US10892780B2 (en) | 2021-01-12 |
JP6781270B2 (ja) | 2020-11-04 |
EP3442127A1 (en) | 2019-02-13 |
JP2019517189A (ja) | 2019-06-20 |
KR20200091967A (ko) | 2020-07-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102174947B1 (ko) | 폴라 코드 인코딩 및 디코딩 방법과 장치 | |
US20210234631A1 (en) | Method For Encoding Information In Communication Network | |
US11824561B2 (en) | Concatenated polar code with adaptive error detection | |
US10567008B2 (en) | Stopping criteria for turbo decoder | |
US10938422B2 (en) | Polar code rate matching method and apparatus, and a communications apparatus | |
CN110178311B (zh) | 用于使用极化码的混合Chase合并和增量冗余HARQ的技术 | |
US10887050B2 (en) | Downlink signal reception method and user equipment, and downlink signal transmission method and base station | |
US11139836B2 (en) | Information transmission method and transmission device, and information reception method and reception device | |
US20180026751A1 (en) | Polar code hybrid automatic repeat request method and apparatus | |
KR102662470B1 (ko) | 조기 종료를 위해 극성 코드에서 분산 crc를 인터리빙하는 시스템 및 방법 | |
WO2018137568A1 (zh) | 编码方法、编码装置和通信装置 | |
WO2020048537A1 (zh) | 级联编码的方法和装置 | |
JP2023126812A (ja) | ブロック符号化のためのレートマッチング | |
CN108696333A (zh) | Polar码编解码的方法、装置和设备 | |
CN110622426A (zh) | 用互补序列打孔极性码 | |
US11152959B2 (en) | Enhanced information sequences for polar codes | |
WO2019037782A1 (zh) | 极化码的译码方法和译码器 | |
US20180212630A1 (en) | Encoder device, decoder device, and methods thereof | |
US11044046B2 (en) | Data processing method and apparatus | |
KR102570190B1 (ko) | 무선 통신 시스템에서 폴라 코드에 기반한 정보 전송 방법 및 이를 위한 장치 | |
WO2018184493A1 (zh) | 数据编码和译码的方法和装置 | |
RU2736550C1 (ru) | Устройство и способ полярного кодирования и декодирования полярного кода | |
JP7222458B2 (ja) | Polar Polar符号を利用して符号化および復号化を行う方法および装置 | |
US11329671B2 (en) | Efficient triangular interleaver/deinterleaver for polar codes | |
US20210135784A1 (en) | Transmitting and receiving devices for reliable reception of control messages |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
AMND | Amendment | ||
E902 | Notification of reason for refusal | ||
AMND | Amendment | ||
E601 | Decision to refuse application | ||
AMND | Amendment | ||
X701 | Decision to grant (after re-examination) |