KR20200066606A - 폴라 코드용의 블록 단위의 병렬 동결 비트 생성 - Google Patents

폴라 코드용의 블록 단위의 병렬 동결 비트 생성 Download PDF

Info

Publication number
KR20200066606A
KR20200066606A KR1020207003885A KR20207003885A KR20200066606A KR 20200066606 A KR20200066606 A KR 20200066606A KR 1020207003885 A KR1020207003885 A KR 1020207003885A KR 20207003885 A KR20207003885 A KR 20207003885A KR 20200066606 A KR20200066606 A KR 20200066606A
Authority
KR
South Korea
Prior art keywords
bit
bit pattern
bits
electronic device
vector
Prior art date
Application number
KR1020207003885A
Other languages
English (en)
Other versions
KR102386191B1 (ko
Inventor
로버트 마운더
매튜 브레자
시다 종
이삭 안드라데
타이하이 천
Original Assignee
엑셀러콤 엘티디
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 엑셀러콤 엘티디 filed Critical 엑셀러콤 엘티디
Publication of KR20200066606A publication Critical patent/KR20200066606A/ko
Application granted granted Critical
Publication of KR102386191B1 publication Critical patent/KR102386191B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error 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/13Linear codes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/76Arrangements for rearranging, permuting or selecting data according to predetermined rules, independently of the content of the data
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/61Aspects and characteristics of methods and arrangements for error correction or error detection, not provided for otherwise
    • H03M13/618Shortening and extension of codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/63Joint error correction and other techniques
    • H03M13/635Error control coding in combination with rate matching
    • H03M13/6356Error control coding in combination with rate matching by repetition or insertion of dummy data, i.e. rate reduction
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/63Joint error correction and other techniques
    • H03M13/635Error control coding in combination with rate matching
    • H03M13/6362Error control coding in combination with rate matching by puncturing
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/65Purpose and implementation aspects
    • H03M13/6508Flexibility, adaptability, parametrability and configurability of the implementation
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/65Purpose and implementation aspects
    • H03M13/6575Implementations based on combinatorial logic, e.g. Boolean circuits

Abstract

폴라 코딩을 수행하도록 구성되는 전자 디바이스가 설명된다. 전자 디바이스는 일련의(
Figure pct00861
개의) 클록 사이클에 걸쳐 비트 패턴 생성 프로세스를 연속적으로 수행하도록 구성되는 비트 패턴 생성기(3403); 및 비트 패턴 생성기(3403)에 동작 가능하게 커플링되며 일련의(
Figure pct00862
개의) 클록 사이클에 걸쳐 연속하는 비트 패턴 생성 하위 프로세스의 수를 카운트하도록 구성되는 카운터(c, 4203)를 포함한다. 비트 패턴 생성기(3403)는: 각각의 연속하는
Figure pct00863
개의 클록 사이클에서 비트 패턴 벡터(
Figure pct00864
)로부터 (w) 비트의 연속하는 서브세트를 제공하도록 구성되는데; 여기서, 비트 패턴 벡터는 n 비트를 포함하고, 그 중 'k' 비트는 제1 이진 값을 채택하고 n - k 비트는 상보적 이진 값을 채택한다.

Description

폴라 코드용의 블록 단위의 병렬 동결 비트 생성
본 발명의 분야는 폴라 코딩(polar coding)을 수행하도록 구성되는 전자 디바이스 및 비트 패턴 생성을 위한 방법에 관한 것이다. 본 발명은, 현재 세대 및 미래 세대의 통신 표준을 위한 폴라 인코더(polar encoder) 및 폴라 디코더(polar decoder)를 위한 비트 패턴 생성에 적용 가능하지만, 그러나 이들로 제한되는 것은 아니다.
순방향 에러 정정(forward error correction; FEC) 및 채널 코딩의 원리에 따라, 폴라 코딩([1])은, 노이즈 및 다른 유해한 영향을 받을 수도 있는 불완전한 통신 채널 내에서 송신 에러의 영향에 대해 정보를 보호하기 위해 사용될 수도 있다. 더 구체적으로, 정보를 인코딩하기 위해 송신기에서 폴라 인코더가 사용되고, 송신 에러를 완화하고 송신된 정보를 복원하기 위해 수신기에서 대응하는 폴라 디코더가 사용된다. 폴라 인코더는 규정된 인코딩 프로세스에 따라 K 비트를 포함하는 정보 블록을 더 많은 수(M > K)의 비트를 포함하는 인코딩된 블록(encoded block)으로 변환한다. 이러한 방식으로, 인코딩된 블록은, M - K 비트의 리던던시와 함께, 정보 블록으로부터 K 비트의 정보를 전달한다. 이 리던던시(redundancy)는, 정보 블록으로부터 원래의 K 비트의 값을 추정하기 위해, 규정된 디코딩 프로세스에 따라 폴라 디코더에서 활용될 수도 있다. 통신 채널의 상태가 너무 심각하지 않다면, 폴라 디코더는 정보 블록으로부터 K 비트의 값을 높은 확률로 정확하게 추정할 수 있다.
폴라 인코딩 프로세스는 세 개의 단계를 포함한다. 제1 정보 블록 컨디셔닝(information block conditioning) 단계에서, 정보 블록의 사이즈를 K 비트에서 N 비트로 증가시키기 위해, 리던던트 비트(redundant bit)가 규정된 위치에서 정보 블록 안으로 삽입되는데, 여기서 N은 2의 거듭제곱이다. 제2 폴라 인코딩 커널(polar encoding kernal) 단계에서, N 비트의 결과적으로 나타나는 커널 정보 블록(kernal information block)은, 규정된 그래프 구조에 따라, 연속하는 배타적 OR(eXclusive OR; XOR) 연산을 사용하여 상이한 조합으로 결합된다. 이 그래프 구조는 n = log2(N) 개의 연속하는 스테이지를 포함하는데, 각각은 특정한 비트 쌍을 결합하는 N/2 개의 XOR 연산을 포함한다. 제3 단계에서, 결과적으로 나타나는 커널 인코딩된 블록(kernal encoded block)의 사이즈를 N 비트에서 M 비트로 조정하기 위해, 결과적으로 나타나는 커널 인코딩된 블록에 인코딩된 블록 컨디셔닝(encoded block conditioning)이 적용된다. 이것은, 채널을 통해 송신되는 또는 저장 매체에 저장되는 인코딩된 블록을 생성하기 위해, 규정된 방법에 따라 커널 인코딩된 블록에서 특정한 비트를 반복하거나 또는 제거하는 것에 의해 달성될 수도 있다.
소프트 인코딩된 블록(soft encoded block)이 채널로부터 수신되거나 또는 저장 매체로부터 검색된다(retrieved). 폴라 디코딩 프로세스는, 폴라 인코딩 프로세스에서의 세 개의 단계에 대응하는, 그러나 역순인 세 개의 단계를 포함한다. 제1 인코딩된 블록 컨디셔닝 단계에서, 소프트 인코딩된 블록의 사이즈를 M 소프트 비트에서 N 소프트 비트로 조정하기 위해, 리던던트 소프트 비트가 규정된 위치에서 소프트 인코딩된 블록에 삽입되거나 또는 결합되는데, 여기서 N은 2의 거듭제곱이다. 제2 폴라 디코딩 커널 단계에서, 결과적으로 나타나는 커널 인코딩된 블록의 N 소프트 비트는, 규정된 그래프 구조에 기초하여 동작하는 연속 소거(Successive Cancellation; SC)([1]) 또는 연속 소거 리스트(Successive Cancellation List; SCL)([7]) 프로세스를 사용하여 상이한 조합으로 결합된다. 제3 단계에서, 결과적으로 나타나는 복원된 커널 정보 블록의 사이즈를 N 비트에서 K 비트로 감소시키기 위해, 정보 블록 컨디셔닝이 결과적으로 나타나는 복원된 커널 정보 블록에 적용된다. 이것은, 복원된 정보 블록을 생성하기 위해, 규정된 방법에 따라 복원된 커널 정보 블록에서 특정한 비트를 제거하는 것에 의해 달성될 수도 있다.
폴라 인코더의 맥락에서, 정보 블록 컨디셔닝 컴포넌트(101)는 K 정보 비트를 N - K 리던던트 비트와 인터레이스하는데(interlace), N - K 리던던트 비트는, 예를 들면, 동결 비트(frozen bit)([1]), 순환 중복 검사(Cyclical Redundancy Check; CRC) 비트([2]), 패리티 검사(Parity Check; PC) 동결 비트(PC-frozen bit)([3]), 유저 기기 식별(User Equipment Identification; UE-ID) 비트([4]), 또는 해시 비트([5])일 수도 있다. 여기서, 동결 비트는 항상 '0'의 논리 값을 채택할 수도 있고, 한편, CRC 또는 PC 동결 비트 또는 해시 비트는, 정보 비트의,또는 프로세스에서 앞서 이미 인터레이스된 리던던트 비트의 함수로서 획득되는 값을 채택할 수도 있다. 정보 블록 컨디셔닝 컴포넌트(101)는 리던던트 비트를 생성하고 그들을, 폴라 디코더에게 또한 알려져 있는 규정된 방법에 의해 식별되는 위치로 인터레이스한다. 정보 블록 컨디셔닝 컴포넌트(101)는, 예를 들면, 비트 반전 순열(bit-reversal permutation)([1])을 구현할 수도 있는 인터리빙 동작을 또한 포함할 수도 있다.
폴라 인코더의 맥락에서, 인코딩된 블록 컨디셔닝 컴포넌트(103)는 인코딩된 블록(107)에서 'M' 인코딩된 비트를 생성하기 위해 다양한 기술을 사용할 수도 있는데, 여기서 'M'은 'N'보다 더 높거나 또는 더 낮을 수도 있다. 더 구체적으로, 반복([6])은 커널 인코딩된 블록(kernel encoded block)에서 'N' 비트 중 일부를 반복하기 위해 사용될 수도 있고, 한편 단축(shortening) 또는 펑처링(puncturing) 기법([6])은 커널 인코딩된 블록에서 'N' 비트 중 일부를 제거하기 위해 사용될 수도 있다. 단축은 '0'의 논리 값을 보장하는 비트를 제거하고, 한편, 펑처링은 논리 '0' 또는 '1' 값 중 어느 하나를 가질 수도 있는 비트를 제거한다는 것을 유의한다. 인코딩된 블록 컨디셔닝 컴포넌트는 또한 인터리빙 동작을 포함할 수도 있다.
폴라 디코더의 인코딩된 블록 컨디셔닝 컴포넌트(110)에 대한 입력은 소프트 인코딩된 블록이다. M 인코딩된 LLR을 'N' 커널 인코딩된 LLR로 변환하기 위해, 무한 값의 LLR이 소프트 인코딩된 블록(109)과 인터레이스되어, 폴라 인코더에서의 단축에 의해 제거된 '0' 값의 커널 인코딩된 비트에 대응하는 소프트 커널 인코딩된 블록(soft kernal encoded block) 내의 위치를 점유할 수도 있다. 마찬가지로, '0' 값의 LLR은 소프트 인코딩된 블록(109)과 인터레이스되어, 커널 인코딩된 비트가 펑처링에 의해 제거된 위치를 점유할 수도 있다. 반복의 경우, 특정한 커널 인코딩된 비트의 레플리카(replica)에 대응하는 LLR은 합산되어 소프트 커널 인코딩된 블록(109) 내의 대응하는 위치에 배치될 수도 있다. 폴라 인코더의 인코딩된 블록 컨디셔닝 컴포넌트(103) 내에서 인터리빙이 활용된 경우, 대응하는 디인터리빙 동작(deinterleaving operation)이 또한 수행될 수도 있다.
폴라 디코더의 정보 블록 컨디셔닝 컴포넌트(112)에 대한 입력은 복원된 커널 정보 블록(114)이다. 복원된 정보 블록은 복원된 커널 정보 블록(114)으로부터 모든 리던던트 비트를 제거하는 것에 의해 획득될 수도 있다. 인터리빙이 폴라 인코더의 정보 블록 컨디셔닝 컴포넌트(101) 내에서 활용된 경우, 대응하는 디인터리빙 동작이 또한 수행될 수도 있다.
네 개의 블록 컨디셔닝 컴포넌트의 구현 동안, 비트 또는 소프트 비트(이들은 LLR의 형태로 표현될 수도 있음)가 대응하는 블록 내의 임의의 위치에 삽입되는 것 또는 임의의 위치로부터 제거되는 것을 가능하게 하기 위해 필요로 되는 유연성을 달성하는 것은 까다로운데, 이들 이 위치는 K, N 및 M의 특정한 조합에 따라 변한다. 이것은, 런타임 동안 K, N 및 M이 블록마다 변하는 것을 허용하는 유연한 폴라 인코더 및 디코더의 구현에서 특히 까다롭다. 낮은 하드웨어 사용량 및 적은 수의 클록 사이클 내에서 블록 컨디셔닝 프로세스를 완료하는 능력을 사용하여 이들 유연한 블록 컨디셔닝 컴포넌트를 구현하는 것은 특히 까다롭다. 이러한 도전 과제로 인해, 블록 컨디셔닝 컴포넌트의 모든 이전 구현예([14, 15])는, 프로세스를 완료하기 위해 총 N 개의 클록 사이클을 필요로 하면서, 클록 사이클당 하나의 비트 또는 소프트 비트만을 프로세싱하였다.
본 발명은 첨부된 청구범위에 기재된 바와 같은, 블록 컨디셔닝 회로, 집적 회로 및 블록 컨디셔닝을 위한 방법을 사용하여 폴라 코딩을 수행하도록 구성되는 전자 디바이스를 제공한다.
본 발명의 특정한 실시형태는 종속항에서 기술된다.
본 발명의 이들 및 다른 양태는 이하에서 설명되는 실시형태로부터 명백할 것이고 그 실시형태를 참조하여 설명될 것이다.
본 발명의 또 다른 세부 사항, 양태 및 실시형태는 도면을 참조하여, 단지 예로서, 설명될 것이다. 도면에서, 유사한 참조 번호는 유사한 또는 기능적으로 유사한 엘리먼트를 식별하기 위해 사용된다. 도면에서의 엘리먼트는 단순성 및 명료성을 위해 예시되며 반드시 일정한 비율로 묘사되는 것은 아니다.
도 1은 본 발명의 예시적인 실시형태에 따라 적응되는, 폴라 인코더 및 폴라 디코더를 갖는 통신 유닛의 예시적인 최상위 레벨(top-level) 개략도를 예시한다.
도 2는, 본 발명의 예시적인 실시형태에 따른, 생성기 매트릭스(F,
Figure pct00001
Figure pct00002
)의 예시적인 그래픽 표현을 예시한다.
도 3은, 본 발명의 예시적인 실시형태에 따른, K = 4 정보 비트 a = [1001]을 M = 8 인코딩된 비트 b = [00001111]로 변환하기 위해 특정한 동결 비트 패턴이 사용되는 경우를 예시하는 예시적인 폴라 인코딩 프로세스를, 생성기 매트릭스(
Figure pct00003
)의 그래픽 표현을 사용하여 예시한다.
도 4는, 본 발명의 몇몇 예시적인 실시형태에 따른, 인터레이서 아키텍쳐(interlacer architecture)의 예시적인 블록도를 예시한다.
도 5는, 본 발명의 몇몇 예시적인 실시형태에 따른, w = 4의 경우에 대한 인터레이서 아키텍쳐의 더욱 상세한 예를 예시한다.
도 6은, 본 발명의 몇몇 예시적인 실시형태에 따른, 인터레이서를 동작시키기 위한 예시적인 테이블을 예시하는데, 여기서: k = 9 개의 입력 엘리먼트 [9, 8, 7, 6, 5, 4, 3, 2, 1]이, n = 16 비트의 패턴([1100011010110101])에 따라, 0 값의 인터레이싱 엘리먼트와 우측에서 좌측으로 인터레이스되는 경우,
Figure pct00004
이다.
도 7은, 본 발명의 몇몇 예시적인 실시형태에 따른,
Figure pct00005
인 경우에 대한 나이브 비트 패턴 생성기(naive bit pattern generator)를 예시한다.
도 8은, 본 발명의 몇몇 예시적인 실시형태에 따른, n ∈ {2, 4, 8, 16} 및 k ∈ {1, 2, 3, ..., n - 1}의 모든 조합에 대해 [8]의 분극화 가중치(Polarization Weight; PW) 비트 패턴 구성을 사용할 때, 비트 패턴 ROM의 콘텐츠의 예시적인 테이블을 예시한다.
도 9는, 본 발명의 몇몇 예시적인 실시형태에 따른, 모든 n ∈ {2, 4, 8, 16, 32}에 대해 [8]의 PW 비트 패턴 구성을 사용할 때, 순위(rank) ROM(3801)의 예시적인 콘텐츠를 예시한다.
도 10은, 본 발명의 몇몇 예시적인 실시형태에 따른, w = 4인 경우에 대해, 내포 속성(nested property)을 활용하는 비트 패턴 생성기를 예시한다.
도 11은, 본 발명의 몇몇 예시적인 실시형태에 따른, w = 4인 경우에 대해, 내포 및 대칭 속성을 활용하는 비트 패턴 생성기를 예시한다.
도 12는, 본 발명의 몇몇 예시적인 실시형태에 따른, w = 4인 경우에 대해, 내포, 재귀(recursive) 및 산술(arithmetic) 속성을 활용하는 비트 패턴 생성기를 예시한다.
도 13은, 본 발명의 몇몇 예시적인 실시형태에 따른, 인코딩된 블록 컨디셔닝 프로세스의 각각의 단계: (a) 블록 펑처링(Block puncturing); (b) 블록 단축(Block shortening); (c) 비트 반전 펑처링(Bit reversal puncturing); 및 (d) 비트 반전 단축(Bit reversal shortening)에서 특정한 비트 패턴으로부터 w 비트를 생성하기 위한 회로를 예시한다.
도 14는, 본 발명의 몇몇 예시적인 실시형태에 따른, 비트 패턴 생성기에 의해 수행되는 폴라 코더(polar coder) 동작의 하이 레벨 플로우차트를 예시한다.
도 15는, 본 발명의 몇몇 예시적인 실시형태에 따른, 폴라 인코딩 동작을 수행하기 위해 전자 디바이스 또는 무선 통신 유닛에서 활용될 수도 있는 통상적인 컴퓨팅 시스템을 예시한다.
도 16a와 도 16b는, 본 발명의 몇몇 예시적인 실시형태에 따른, 동결 비트 삽입 및 제거를 위한 제안된 하드웨어 구현예의 개략도를 제공한다.
도 17은, 본 발명의 몇몇 예시적인 실시형태에 따른,
Figure pct00006
Figure pct00007
에 대한 반전된 시퀀스(reversed sequence) 리드 온리 메모리(Read Only Memory; ROM)의 엘리먼트(
Figure pct00008
)를 예시하는데, 여기서
Figure pct00009
이고
Figure pct00010
이다.
도 18은, 본 발명의 몇몇 예시적인 실시형태에 따른,
Figure pct00011
Figure pct00012
에 대한 인터리빙된 시퀀스 ROM의 엘리먼트(
Figure pct00013
)를 예시하는데, 여기서
Figure pct00014
이고
Figure pct00015
이다.
도 19는, 본 발명의 몇몇 예시적인 실시형태에 따른,
Figure pct00016
Figure pct00017
에 대한 디인터리버(deinterleaver) ROM의 엘리먼트(
Figure pct00018
)를 예시하는데, 여기서
Figure pct00019
이고
Figure pct00020
이다.
도 20은, 본 발명의 몇몇 예시적인 실시형태에 따른,
Figure pct00021
Figure pct00022
에 대한 순위 ROM의 엘리먼트(
Figure pct00023
)를 예시하는데, 여기서
Figure pct00024
이고
Figure pct00025
이다.
도 21a, 도 21b는, 본 발명의 몇몇 예시적인 실시형태에 따른, 동결 비트 삽입 및 제거를 위한 제안된 하드웨어 구현예의 플로우차트를 제공한다.
도 22는, 본 발명의 몇몇 예시적인 실시형태에 따른,
Figure pct00026
Figure pct00027
에 대한 제2 하위 프로세스(4702로서 식별됨)의
Figure pct00028
개의 클록 사이클의 각각에서 생성되는 비트 패턴의 엘리먼트를 예시화한다. 이 경우 반복이 사용되며
Figure pct00029
이다.
Figure pct00030
이 충족되지 않기 때문에,
Figure pct00031
에 상관 없이, 제1 하위 프로세스(4701로서 식별됨)를 완료하기 위해 어떤 클록 사이클도 사용되지 않는다.
도 23은, 본 발명의 몇몇 예시적인 실시형태에 따른,
Figure pct00032
Figure pct00033
에 대한 제2 하위 프로세스의
Figure pct00034
개의 클록 사이클의 각각에서 생성되는 비트 패턴의 엘리먼트를 예시화한다. 이 경우, 단축이 사용되고
Figure pct00035
이다.
Figure pct00036
인 경우, 제1 하위 프로세스를 완료하기 위해 다섯 개의 클록 사이클이 사용된다.
도 24는, 본 발명의 몇몇 예시적인 실시형태에 따른,
Figure pct00037
Figure pct00038
에 대한 제2 하위 프로세스의
Figure pct00039
개의 클록 사이클의 각각에서 생성되는 비트 패턴의 엘리먼트를 예시화한다. 이 경우, 펑처링이 사용되고
Figure pct00040
이다.
Figure pct00041
인 경우, 제1 하위 프로세스(4701)를 완료하기 위해, 네 개의 클록 사이클이 사용된다.
도 25는, 본 발명의 몇몇 예시적인 실시형태에 따른,
Figure pct00042
인 최악의 경우에 대해, 제1 하위 프로세스(4701)에 의해 요구되는 다수의 클록 사이클의 예를
Figure pct00043
Figure pct00044
의 함수로서 특성 묘사한다.
Figure pct00045
가 2의 더 높은 거듭제곱의 값을 채택하는 경우, 클록 사이클의 이들 수는 선형적으로 감소되고 그 다음 가장 가까운 정수로 반올림될 수도 있다.
도 26은, 본 발명의 몇몇 예시적인 실시형태에 따른,
Figure pct00046
인 최악의 경우에 대해, 제2 하위 프로세스에 의해 요구되는 클록 사이클의 수의 예를,
Figure pct00047
Figure pct00048
의 함수로서 플롯한다.
Figure pct00049
이 2의 더 높은 거듭제곱의 값을 채택하는 경우, 클록 사이클의 이들 수는 선형적으로 감소되고 그 다음 가장 가까운 정수로 반올림될 수도 있다.
폴라 인코더 내에서 정보 블록 컨디셔닝 동안 정보 비트의 선택을 위해 여러 가지 시퀀스가 제안되었다([8-12]). 이들 시퀀스는 비트 패턴 벡터(
Figure pct00050
)를 획득하기 위해 사용될 수도 있는데, 여기서 n 비트 중 k 비트는 값 '1'을 가지며, 여기서 n은 k보다 더 큰 2의 거듭제곱이다. 이들 1 값의 비트는, k 정보 비트가 n 비트 커널 정보 블록(n-bit kernal information block)에 삽입되어야 하는 위치를 식별한다. 비트 패턴을 생성하는 프로세스는, 폴라 인코딩 프로세스의 시작에서 일련의
Figure pct00051
개의 클록 사이클에 걸쳐 완료될 수도 있는데, 여기서 비트 패턴 생성 프로세스의 하위 프로세스는 각각의 연속하는 클록 사이클에서 완료된다. 여기서, 비트 패턴 벡터(
Figure pct00052
)로부터의 w 비트의 연속하는 서브세트는, 커널 정보 블록에 대한 w 비트의 연속하는 서브세트로의 정보 비트의 삽입을 제어하기 위해 사용될 수도 있다. 이 프로세스 전체에 걸쳐, 커널 정보 블록의 이들 연속하는 w 비트 서브세트는, w = 32를 나타낸 [13]의 설계와 같은, w의 대응하는 입력 폭을 갖는 폴라 인코더 커널(polar encoder kernal)로 동시에 집중될 수도 있다. 이러한 방식으로, n 비트 커널 정보 블록 안으로의 k 정보 비트의 삽입은, 폴라 인코딩 프로세스에 대해 어떠한 추가적인 레이턴시도 부과하지 않을 수도 있다. 마찬가지로, 복원된 커널 정보 블록으로부터 k 복원된 정보 비트를 추출할 때, 폴라 디코더에서 유사한 이점이 획득될 수 있다. 제안된 접근법은 각각의 단계에서 w 개의 패턴 비트를 프로세싱하는데, 이것은, 각각의 단계에서 단일의 패턴 비트만을 프로세싱할 수 있는 이전의 노력의 블록 컨디셔닝 모듈([14, 15])과는 대조적이다는 것을 유의한다.
제1 양태에서, 본 발명의 예는 폴라 코딩을 수행하도록 구성되는 전자 디바이스를 설명한다. 전자 디바이스는 일련의(
Figure pct00053
개의) 클록 사이클에 걸쳐 비트 패턴 생성 프로세스를 연속적으로 수행하도록 구성되는 비트 패턴 생성기; 및 비트 패턴 생성기에 동작 가능하게 커플링되며 일련의(
Figure pct00054
개의) 클록 사이클에 걸쳐 연속하는 비트 패턴 생성 하위 프로세스의 수를 카운트하도록 구성되는 카운터를 포함한다. 비트 패턴 생성기는: 각각의 연속하는
Figure pct00055
개의 클록 사이클에서 비트 패턴 벡터(
Figure pct00056
)로부터 (w) 비트의 연속하는 서브세트를 제공하도록 구성되는데; 여기서, 비트 패턴 벡터는 n 비트를 포함하고, 그 중 'k' 비트는 제1 이진 값을 채택하고 n - k 비트는 상보적 이진 값(complementary binary value)을 채택한다.
이러한 방식으로, 비트 패턴 생성 프로세스를 완료하는 데 필요한 클록 사이클의 수를 감소시키기 위해 병렬 프로세싱이 사용될 수도 있다.
몇몇 예에서, 비트 패턴 생성기 회로는 (w) 개의 비교기의 뱅크를 포함할 수도 있고,
Figure pct00057
비트 패턴 비트(
Figure pct00058
)의 각각은
Figure pct00059
개의 비교기의 뱅크에서의 대응하는 비교기로부터 획득될 수도 있다. 이러한 방식으로, 낮은 복잡도 하드웨어만을 사용하여, 각각의 클록 사이클에서 w 비트 패턴 비트가 생성될 수도 있다.
몇몇 예에서, 비트 패턴 생성기는 다음의 것 중 적어도 하나의 일부로서 비트 패턴 생성 프로세스를 수행하도록 구성된다:
입력 데이터 블록으로서 정보 블록을 수신하고 n 비트 커널 정보 블록을 출력하는 인코더 내의 정보 블록 컨디셔닝 회로(information block conditioning circuit);
입력 데이터 블록으로서 n 비트 커널 인코딩된 블록(n-bit kernal encoded block)을 수신하고 인코딩된 블록을 출력하는 인코더 내의 인코딩된 블록 컨디셔닝 회로(encoded block conditioning circuit);
입력 데이터 블록으로서 소프트 인코딩된 블록을 수신하고 n 소프트 비트 소프트 커널 인코딩된 블록(n-soft-bit soft kernal encoded block)을 출력하는 디코더 내의 인코딩된 블록 컨디셔닝 회로;
입력 데이터 블록으로서 n 비트 복원된 커널 정보 블록을 수신하고 복원된 정보 블록을 출력하는 디코더 내의 정보 블록 컨디셔닝 회로. 몇몇 예에서, 비트 패턴 생성기는 다음의 것 중 적어도 하나에서 수행하도록 구성될 수도 있다:
커널 정보 블록의 연속하는 w 비트 서브세트가, 'w' 비트의 대응하는 입력 폭을 갖는 폴라 인코더 커널로 집중되게 하는 인터레이서; 및
소프트 커널 인코딩된 블록의 연속하는 w 소프트 비트 서브세트(w-soft-bit sub-set)가 'w' 소프트 비트의 대응하는 입력 폭을 갖는 폴라 디코더 커널(polar decoder kernal)에 집중되게 하는 인터레이서. 이러한 방식으로, 블록 컨디셔닝 및 인터레이싱 프로세스를 완료하는 데 필요한 클록 사이클의 수를 감소시키기 위해 병렬 프로세싱이 사용될 수도 있다.
몇몇 예에서, 비트 패턴 생성기는, 'n' 비트 중 'k' 비트가 제1 이진 값을 가지며 'n' 비트 중 'n - k' 비트가 상보적 이진 값을 갖는 비트 패턴 벡터(
Figure pct00060
)를 획득하도록 구성될 수도 있는데, 여기서, n은 k보다 더 큰 2의 거듭제곱이다. 이러한 방식으로, 2의 거듭제곱인 길이를 갖는 블록에 대해 동작하는 폴라 코딩 커널 프로세스와의 호환성이 보장된다.
몇몇 예에서, 비트 패턴 생성기 회로는 비트 패턴 리드 온리 메모리(ROM)에 동작 가능하게 커플링될 수도 있고, 지원되는 비트 패턴 벡터(
Figure pct00061
)의 세트를 그 안에 저장하도록 구성될 수도 있다. 이러한 방식으로, 심지어 비트 패턴 사이에 어떠한 내포 관계가 없는 경우에도, 비트 패턴의 어떤 임의의 세트가 지원될 수도 있다. 몇몇 예에서, 지원되는 비트 패턴 벡터(
Figure pct00062
)의 세트는, 오프라인의 사전 계산 프로세스에서 생성될 수도 있고 온라인의 비트 패턴 생성 프로세스 동안 판독하기 위한 비트 패턴 ROM에 저장될 수도 있다. 이러한 방식으로, 온라인의 계산은 필요하지 않아서, 비트 패턴 생성기의 온라인의 복잡성을 감소시킨다. 몇몇 예에서, 비트 패턴 ROM은 'w' 비트의 폭을 가질 수도 있고, 각각의 비트 패턴 벡터(
Figure pct00063
)는
Figure pct00064
개의 연속하는 어드레스에 걸쳐 저장될 수도 있는데, 몇몇 예에서, n < w인 경우, 비트 패턴 벡터(
Figure pct00065
)는, 비트 패턴 벡터(
Figure pct00066
)가 비트 패턴 ROM에서 단일의 어드레스의 폭을 점유하도록, w - n 더미 비트가 추가될 수도 있다. 이러한 방식으로, 각각의 클록 사이클에서 'w' 비트 패턴 비트가 판독될 수도 있어서, 완전한 비트 패턴 벡터를 획득하는 데 필요한 클록 사이클의 수를 감소시킬 수도 있다. 더구나, 매우 짧은 비트 패턴 벡터의 특별한 경우는, 별개의 솔루션에 대한 필요 없이, 자연스럽게 수용될 수 있다.
몇몇 예에서, 비트 패턴 ROM은 제1 룩업 테이블(look-up table)에 동작 가능하게 커플링될 수도 있는데, 여기서 'k' 및 'n'의 값은, 제1 룩업 테이블에 대한 입력으로서, 뿐만 아니라 각기 각각의 비트 패턴 벡터(
Figure pct00067
)의 시작 어드레스를 식별하기 위해 제1 룩업 테이블을 순서대로 인덱싱하기 위해 사용된다. 이러한 방식으로, 각각의 비트 패턴 벡터는, 예를 들면, 임의의 온라인의 계산에 대한 필요 없이 비트 패턴 ROM 내에 위치될 수 있다. 몇몇 예에서, 카운터는 비트 패턴 ROM에 동작 가능하게 커플링될 수도 있고, 카운터 값을 '0'에서부터 't-1'까지 증분시키도록(increment) 구성될 수도 있는데, 비트 패턴 벡터(
Figure pct00068
)의 연속하는 w 엘리먼트 서브세트(w-element sub-set)(b0, b1, b2, ..., bw - 1)를 판독하기 위해, 카운터 값은 비트 패턴 ROM의 시작 어드레스로부터의 오프셋으로서 사용될 수도 있다. 이러한 방식으로, 비트 패턴 벡터는 낮은 복잡성 주소 지정 하드웨어만을 사용하여 비트 패턴 ROM으로부터 판독될 수도 있다.
몇몇 예에서, 비트 패턴 생성기는 비트 패턴의 각각의 지원되는 길이('n')에 대한 순위 벡터(rank vector)(
Figure pct00069
)를 획득하기에 충분한 정보를 저장하도록 구성되는 순위 ROM을 포함할 수도 있다. 이러한 방식으로, ROM 용량은 각각의 지원되는 비트 패턴 벡터를 개별적으로 저장하는 것에 비해 상당히 감소될 수도 있다. 더구나, 순위 벡터(
Figure pct00070
)는, 비트 패턴 생성 프로세스의 기초로서 인덱스 벡터(
Figure pct00071
)를 사용할 때 필요로 되는 바와 같이, 복잡한 정렬(sort) 또는 인터리빙 동작에 대한 필요 없이 비트 패턴 벡터(
Figure pct00072
)를 생성하기 위해 사용될 수도 있다. 몇몇 예에서, 비트 패턴의 특정한 길이('n')에 대한 순위 벡터(
Figure pct00073
)는, 각각의 비트 위치에 대응하는 순서로 순열 배치되는(permuted) '0' 내지 'n - 1'의 범위 내의 정수를 포함할 수도 있다. 몇몇 예에서, 순위는 제1 이진 값을 채택하는 비트 패턴에서의 'n' 비트 중 'k' 개의 비트에 대한 최대 값을 나타낼 수도 있는데, 그 순위에 대한 비트 패턴 벡터(
Figure pct00074
)에서의 대응하는 비트는 상보적 이진 값을 갖는다. 이러한 방식으로, 순위 벡터는, 비트 패턴 벡터가 내포 속성을 준수하는 경우, 'n' 비트의 길이를 갖는 모든 비트 패턴 벡터를 생성하는 데 필요한 모든 정보를 포함한다.
몇몇 예에서, 각각의 특정한 순위 벡터(
Figure pct00075
)의 시작 어드레스를 식별하기 위해, 비트 패턴의 길이(n)는 제2 룩업 테이블을 인덱싱하도록 사용될 수도 있다. 이러한 방식으로, 각각의 비트 패턴 벡터는, 예를 들면, 임의의 온라인의 계산에 대한 필요 없이 비트 패턴 ROM 내에 위치될 수 있다. 몇몇 예에서, 순위 ROM은 다수의 멀티플렉싱된(multiplexed) 순위 ROM을 포함할 수도 있는데, 하나의 멀티플렉싱된 순위 ROM은 비트 패턴의 길이('n')의 각각의 지원되는 값에 대응하는 순위 벡터(
Figure pct00076
)를 저장하도록 구성될 수도 있다. 이러한 방식으로, 각각의 별개의 멀티플렉싱된 순위 ROM은 저장된 고정 소수점 수(fixed point number)에 대해 상이한 비트 폭을 채택할 수도 있다. 또한, 시작 어드레스를 저장하기 위한 룩업 테이블에 대한 필요가 제거된다. 몇몇 예에서, 비트 패턴 벡터(
Figure pct00077
)는, 순위 벡터(
Figure pct00078
)의 각각의 엘리먼트를 'k'와 비교하도록 구성될 수도 있는 (w) 개의 비교기의 뱅크를 사용하여 제1 이진 값을 채택하는 비트 패턴에서의 비트 수인 k 및 비트 패턴의 길이('n')의 각각의 조합에 대해 생성될 수도 있다. 몇몇 예에서, 'k'와의 순위 벡터(
Figure pct00079
)의 엘리먼트의 각각의 비교는, 엘리먼트가 'k'보다 더 작은지의 여부를 결정하기 위해 수행될 수도 있다. 이러한 방식으로, 비트 패턴 벡터의 w 비트는, 낮은 복잡도 하드웨어만을 사용하여, 각각의 클록 사이클에서 생성될 수도 있다. 몇몇 예에서, 순위 ROM 내의 모든 엔트리는, log2(nmax) 비트의 폭을 갖는 고정 소수점 수를 사용하여 저장될 수도 있는데, 여기서 nmax는 지원되는 비트 패턴 길이의 최대치이다. 이러한 방식으로, 비트 패턴 생성기 전체에 걸쳐 공통 고정 소수점 수 폭이 사용되어, 고정 소수점 수 폭 사이를 변환할 필요를 방지한다. 몇몇 예에서, n의 특정한 값에 대한 순위 ROM 내의 모든 엔트리는 log2(n) 비트의 폭을 갖는 고정 소수점 수를 사용하여 저장될 수도 있다. 몇몇 예에서, 순위 ROM의 각각의 어드레스는 w 개의 고정 소수점 수를 저장하도록 구성될 수도 있다. 이러한 방식으로, ROM 용량은 n의 모든 값에 대해 일정한 고정 소수점 수 폭을 사용하는 것에 비해 감소될 수도 있다. 몇몇 예에서, 순위 ROM은, n < w인 경우에, 순위 벡터(
Figure pct00080
)가 순위 ROM에서 단일의 어드레스의 폭을 점유하도록, 순위 벡터(
Figure pct00081
)에 w - n 개의 더미 엘리먼트를 추가하도록 구성될 수도 있다. 이러한 방식으로, 매우 짧은 비트 패턴 벡터의 특별한 경우는, 별개의 솔루션에 대한 필요 없이, 자연스럽게 수용될 수 있다.
몇몇 예에서, 순위 ROM은, 비트 패턴 생성 프로세스의 각각의 연속하는 하위 프로세스 동안, 카운터가 '0'에서부터 't-1'까지 카운터 값을 증분시키게끔 구성될 수도 있도록, 카운터에 동작 가능하게 커플링될 수도 있는데, 여기서 순위 벡터(
Figure pct00082
)의 연속하는 w 엘리먼트 서브세트를 판독하기 위해, 카운터 값은 순위 ROM의 시작 어드레스로부터의 오프셋으로서 사용될 수도 있다. 이러한 방식으로, 비트 패턴 벡터는 낮은 복잡성 주소 지정 하드웨어만을 사용하여 비트 패턴 ROM으로부터 판독될 수도 있다. 몇몇 예에서, 비트 패턴 벡터(
Figure pct00083
)의 비트 패턴 비트는 2의 보수 고정 소수점 수 표현을 사용하여 순위 값 및 k 둘 모두를 표현하는 것에 의해 획득될 수도 있고, 비트 패턴 생성기 회로는 순위 값으로부터 2의 보수 감산을 수행할 수도 있고, 그 다음, 최상위 비트(MSB)를 비트 패턴 비트의 값으로서 사용할 수도 있다. 이러한 방식으로, 비트 패턴 비트는 낮은 복잡도 하드웨어만을 사용하여 획득될 수도 있다.
몇몇 예에서, 순위 ROM은, 비트 패턴 벡터(
Figure pct00084
)가 대칭 속성을 따를 때, 각각의 순위 벡터(
Figure pct00085
)의 전반부(first half)를 저장하도록 구성될 수도 있다. 몇몇 예에서, 대칭 속성은, 인덱스(
Figure pct00086
Figure pct00087
)를 갖는 순위 벡터(
Figure pct00088
)에서의 임의의 엘리먼트 쌍이, 모든
Figure pct00089
에 대해 그리고 모든
Figure pct00090
에 대해,
Figure pct00091
로 합산되는 경우, 충족될 수도 있다. 몇몇 예에서, 순위 ROM은, 각각의 순위 벡터(
Figure pct00092
)의 전반부만이
Figure pct00093
개의 연속하는 어드레스에 걸쳐 저장되도록, 'w' 개의 순위의 폭을 포함할 수도 있는데, 여기서 n은 순위 벡터(
Figure pct00094
)에 의해 지원되는 비트 패턴 길이이다. 이러한 방식으로, 순위 ROM의 용량은 각각의 순위 벡터의 전체를 저장하는 것에 비해 50 %만큼 감소될 수도 있다.
몇몇 예에서, n/2 < w인 경우, 순위 벡터(
Figure pct00095
)는 'w - n' 개의 더미 엘리먼트가 추가될 수도 있고 순위 ROM에서 단일의 어드레스의 폭에 걸쳐 저장될 수도 있다. 이러한 방식으로, 매우 짧은 비트 패턴 벡터의 특별한 경우는, 별개의 솔루션에 대한 필요 없이, 자연스럽게 수용될 수 있다.
몇몇 예에서, c <
Figure pct00096
일 때 비트 패턴 생성 프로세스의 연속하는 동작의 전반부 동안, 순위 벡터(
Figure pct00097
)의 연속하는 w 엘리먼트 서브세트는 순위 ROM(3801)의 증분 어드레스로부터 획득될 수도 있는데, 여기서, 순위 ROM의 시작 어드레스로부터의 오프셋은 c에 의해 주어질 수도 있다. 이러한 방식으로, 비트 패턴 벡터는 낮은 복잡성 주소 지정 하드웨어만을 사용하여 비트 패턴 ROM으로부터 판독될 수도 있다. 몇몇 예에서, 전자 디바이스는 순위 ROM에 동작 가능하게 커플링되는 w 개의 멀티플렉서의 뱅크를 더 포함할 수도 있는데, 비트 패턴 생성 프로세스의 연속하는 동작의 전반부 동안, w 개의 멀티플렉서의 뱅크는 w 개의 패턴 비트({b0, b1, b2, ..., bw - 1})의 순서를 유지할 수도 있다. 몇몇 예에서, 비트 패턴 벡터(
Figure pct00098
)의 비트 패턴 비트는 2의 보수 고정 소수점 수 표현을 사용하여 순위 값 및 k 둘 모두를 표현하는 것에 의해 획득될 수도 있고, 비트 패턴 생성기 회로는 순위 값으로부터 'k'의 감산을 수행하고, 그 다음, 최상위 비트(MSB)를 비트 패턴 비트의 값으로서 사용한다. 이러한 방식으로, 비트 패턴 비트는 낮은 복잡도 하드웨어만을 사용하여 획득될 수도 있다.
몇몇 예에서, 전자 디바이스는 순위 ROM에 동작 가능하게 커플링되는 멀티플렉서를 더 포함할 수도 있는데,
Figure pct00099
일 때 비트 패턴 생성 프로세스의 연속하는 동작의 후반부(second half) 동안, 순위 벡터(
Figure pct00100
)의 연속하는 w 엘리먼트 서브세트는 순위 ROM의 감분 어드레스(decremental address)로부터 역순으로 획득될 수도 있는데, 여기서 순위 ROM의 시작 어드레스로부터의 오프셋은 멀티플렉서에 의해 주어질 수도 있고 카운터 값('c')으로부터 (
Figure pct00101
)로서 유도될 수도 있다. 이러한 방식으로, 비트 패턴 벡터는 낮은 복잡성 주소 지정 하드웨어만을 사용하여 비트 패턴 ROM으로부터 판독될 수도 있다.
몇몇 예에서, 비트 패턴 벡터(
Figure pct00102
)는, 순위 벡터(
Figure pct00103
)의 각각의 엘리먼트를 'n - k'와 비교하도록 구성될 수도 있는 (w) 개의 비교기의 뱅크를 사용하여 'k' 및 'n'의 각각의 조합에 대해 생성될 수도 있다. 몇몇 예에서, 'n - k'와의 순위 벡터(
Figure pct00104
)의 엘리먼트의 각각의 비교는, 순위 벡터(
Figure pct00105
)의 엘리먼트가 'n - k'보다 더 크거나 또는 같은지의 여부를 결정하기 위해 수행될 수도 있다. 몇몇 예에서, 'n - k'와의 순위 벡터(
Figure pct00106
)의 엘리먼트의 각각의 비교는, 순위 벡터(
Figure pct00107
)의 엘리먼트가 'n - k'보다 더 작은지의 여부를 결정하기 위해 사용될 수도 있고 그 결과는 NOT 논리 게이트를 통해 통과될 수도 있다. 이러한 방식으로, 비트 패턴 비트는 낮은 복잡도 하드웨어만을 사용하여 획득될 수도 있다. 몇몇 예에서, 비트 패턴 비트는, 2의 보수 고정 소수점 수 표현을 사용하여, 순위 값 및 n - k 둘 모두를 표현하는 것에 의해 획득될 수도 있고, 비트 패턴 생성기 회로는 순위 값으로부터 n - k의 감산을 수행할 수도 있고, 그 다음, 결과의 최상위 비트(MSB)를 NOT 게이트를 통해 통과시킬 수도 있다. 몇몇 예에서, 전자 디바이스는 순위 ROM에 동작 가능하게 커플링되는 w 개의 멀티플렉서의 뱅크를 더 포함할 수도 있는데, 비트 패턴 생성 프로세스의 연속하는 동작의 후반부 동안, w 개의 멀티플렉서의 뱅크는 w 개의 패턴 비트({b0, b1, b2, ..., bw - 1})의 순서를 반전시킬 수도 있다. 이러한 방식으로, 비트 패턴 비트는, 낮은 복잡도 하드웨어만을 사용하여, 정확한 순서로 생성될 수도 있다.
몇몇 예에서, 순위 벡터(
Figure pct00108
)의 엘리먼트는, 비트 패턴의 길이('n')의 특정한 값에 대해, 본래의 형태로 순위 ROM에 저장될 수도 있거나 또는 'n - 1'로부터 감산되고 감산된 형태로 순위 ROM에 저장될 수도 있다. 몇몇 예에서, 순위 벡터(
Figure pct00109
)의 순위가 'k'보다 더 작을 수도 있는지를 결정하기 위한 각각의 비교는, 비교기를 사용하여 감산된 형태의 순위가 'n - k'보다 더 크거나 또는 같을 수도 있는지를 결정하는 것에 의해 수행될 수도 있고, 순위 벡터(
Figure pct00110
)의 순위가 'n - k'보다 더 크거나 또는 같을 수도 있는지를 결정하기 위한 각각의 비교는, 비교기를 사용하여 감산된 형태의 순위가 'k'보다 더 작은지를 결정하는 것에 의해 수행될 수도 있다.
몇몇 예에서,
Figure pct00111
개의 비교기의 뱅크는 비트 패턴 생성 프로세스의 연속하는 동작의 전반부 및 비트 패턴 생성 프로세스의 연속하는 동작의 후반부 둘 모두 동안 사용될 수도 있다. 몇몇 예에서,
Figure pct00112
개의 비교기의 뱅크는 2의 보수 감산을 사용하여 구현될 수도 있다.
몇몇 예에서, 전자 디바이스는
Figure pct00113
개의 비교기의 뱅크에 동작 가능하게 커플링되며 w 개의 비교기의 뱅크에 대한 입력으로서 'k' 또는 'n - k' 사이에서 선택하도록 구성되는 멀티플렉서; 및
Figure pct00114
개의 비교기의 뱅크의 출력에 동작 가능하게 커플링되며
Figure pct00115
개의 비교기의 비교기 뱅크의 출력을 반전시키도록 구성되는 w 개의 NOT 논리 게이트의 뱅크를 더 포함할 수도 있다. 몇몇 예에서, 전자 디바이스는 순위 ROM에 동작 가능하게 커플링되는 w 개의 멀티플렉서의 뱅크를 더 포함할 수도 있는데, 비트 패턴 생성 프로세스의 연속하는 동작의 후반부 동안, w 개의 멀티플렉서의 뱅크는 w 개의 패턴 비트({b0, b1, b2, ..., bw - 1})의 순서를 반전시킬 수도 있다. 이러한 방식으로, 비트 패턴 생성 프로세스의 전반부 및 후반부 둘 모두에서 동일한 낮은 복잡도 하드웨어는 감소될 수도 있다.
몇몇 예에서, 비트 패턴 생성기는 비트 패턴 벡터의 내포, 재귀 및 산술 속성을 활용하도록 구성될 수도 있다. 이러한 방식으로, 비트 패턴 벡터를 생성하는 데 필요한 ROM 스토리지는, 지원되는 비트 패턴 벡터 또는 순위 벡터를 ROM에 저장하는 접근법에 비해 감소될 수도 있다. 몇몇 예에서, n - k의 값을 (n - k) 번째로 가장 높은 비트 신뢰도를 갖는 비트의 인덱스(Qn(n - k))로 변환하기 위해 재귀 회로가 사용될 수도 있다. 이러한 방식으로, 임계 비트 신뢰도를 갖는 비트의 인덱스는 낮은 복잡도를 사용하여 식별될 수도 있다. 몇몇 예에서, 재귀 회로는 또한, 인덱스(Qn(n - k))를 획득하기 위해, 압축된 정보를 언패킹하도록 구성될 수도 있다. 이러한 방식으로, 압축 해제 프로세스(decompression process)는, 전체 인덱스 벡터(Qn)보다는, 단일의 인덱스(Qn(n - k))만을 언패킹하도록 구성될 수도 있어서, 관련 복잡성을 감소시킬 수도 있다.
몇몇 예에서, 전자 디바이스는, 재귀 회로에 동작 가능하게 커플링되며 비트 신뢰도 메트릭(bit reliability metric)이 범위 '0' 내지 '
Figure pct00116
' 내의 자신의 인덱스에만 기초하여 비트 패턴 벡터에서의 n 비트의 각각에 대해 획득될 수 있는 경우 충족될 수도 있는 산술 속성을 사용하여 (n - k) 번째 순위를 갖는 비트의 인덱스(Qn(n - k))를 비트 신뢰도 메트릭(
Figure pct00117
(Qn(n - k))으로 변환하도록 구성되는 산술 회로를 더 포함할 수도 있다. 이러한 방식으로, 임계 비트 신뢰도는 낮은 복잡도를 사용하여 획득될 수도 있다. 몇몇 예에서, 분극화 가중치(PW) 시퀀스에서, 비트 패턴 벡터(
Figure pct00118
)의 재귀 속성은 커널 정보 블록에서 비트 사이의 관계를 결정하기 위해 사용될 수도 있다. 몇몇 예에서, 비트 패턴 생성기 회로는: (i) 비트 패턴 벡터(
Figure pct00119
)의 재귀 속성이 동결 비트인 것에 응답하여, 다른 선택된 비트도 또한 동결 비트일 것이다는 것; 또는 (ii) 비트 패턴 벡터(
Figure pct00120
)의 재귀 속성이 정보 비트인 것에 응답하여, 다른 선택된 비트도 또한 정보 비트일 것이다는 것을 결정할 수도 있다. 몇몇 예에서, 커널 정보 블록에서 비트 사이의 관계가 존재한다는 것을 비트 패턴 생성기 회로가 결정하는 것에 응답하여, 비트 패턴 생성기 회로는 적어도 하나의 산술 회로를 디스에이블하도록 구성될 수도 있다. 이러한 방식으로, 대응하는 비트가 이미 동결 비트 또는 정보 비트인 것으로 결정된 경우 비트 신뢰도의 산술 계산을 스킵될 수도 있어서, 비트 패턴 생성기의 전력 소비를 감소시킬 수도 있다.
몇몇 예에서, 전자 디바이스는, 산술 회로에 동작 가능하게 커플링되며 비트 패턴 벡터(
Figure pct00121
)를 생성하는 프로세스에서 사용될 수도 있는 비트 신뢰도 메트릭(
Figure pct00122
(Qn(n - k))을 저장하도록 구성되는 레지스터를 더 포함할 수도 있다. 이러한 방식으로, 임계 비트 신뢰도 메트릭은 저장될 수도 있고 비트 패턴 생성 프로세스 전체에 걸쳐 사용될 수도 있어서, 각각의 연속하는 클록 사이클에서 이 임계치를 재계산할 필요를 제거할 수도 있다.
몇몇 예에서, 전자 디바이스는, 카운터에 동작 가능하게 커플링되는 승산기 및 w - 1 개의 가산기의 뱅크를 더 포함할 수도 있는데, 여기서, 일련의(
Figure pct00123
개의) 클록 사이클에 걸쳐 비트 패턴 생성 프로세스의 각각의 연속하는 수행 동안, 카운터는, 비트 패턴 벡터(
Figure pct00124
)의 연속하는 w 엘리먼트 서브세트(b0, b1, b2, ..., bw - 1)에 대한 비트 인덱스({cw, cw + 1, cw + 2, ..., cw + w - 1})를 획득하기 위해, 카운터 값(c)을 0에서부터 t - 1까지 증분시키도록 구성될 수도 있다.
몇몇 예에서, 전자 디바이스는, 비트 신뢰도의 대응하는 시퀀스(
Figure pct00125
)를 계산하도록 구성될 수도 있는 산술 회로의 'w' 개의 레플리카의 뱅크를 더 포함할 수도 있다. 몇몇 예에서, (w) 개의 비교기의 뱅크는, 대응하는 비트 신뢰도(
Figure pct00126
)가
Figure pct00127
보다 더 크거나 또는 같은지의 여부를 결정하는 것에 의해 비트 패턴 벡터(
Figure pct00128
)의 대응하는
Figure pct00129
개의 엘리먼트를 획득하기 위해, 계산된 대응하는 비트 신뢰도(
Figure pct00130
)를 비트 신뢰도 메트릭(
Figure pct00131
))과 비교하도록 구성될 수도 있다. 이러한 방식으로, w 비트 패턴 비트와 관련되는 비트 신뢰도 메트릭은, 낮은 복잡도를 가지고, 각각의 클록 사이클에서 임계 비트 신뢰도 메트릭과 비교될 수도 있다.
몇몇 예에서, 전자 디바이스는, 승산기 및 w - 1 개의 가산기의 뱅크를 통해 카운터에 동작 가능하게 커플링되며, 반전된 비트 인덱스를 생성하기 위해, 각각의 비트 인덱스의 log2(n) 비트 이진 표현에서 비트의 순서를 반전시키도록 구성되는 'w' 개의 반전 모듈(reverse module)의 뱅크를 더 포함할 수도 있다. 몇몇 예에서, 전자 디바이스는, 'w' 개의 반전 모듈의 뱅크에 동작 가능하게 커플링되며 비트 인덱스 또는 반전된 비트 인덱스 중 어느 하나를 'k' 또는 'n - k' 중 어느 하나와 비교하도록 구성되는 w 개의 비교기의 뱅크를 더 포함할 수도 있다. 몇몇 예에서, 폴라 코더가 단축 스킴(shortening scheme)을 구현하는 것에 응답하여, w 개의 비교기의 뱅크는, 대응하는 비트 인덱스 또는 반전된 비트 인덱스가 'k'보다 더 작은 경우 비트 패턴 비트({b0, b1, b2, ..., bw - 1})를 제1 이진 값으로 그리고 다른 비트를 상보적 이진 값으로 설정하도록 구성될 수도 있다. 몇몇 예에서,
Figure pct00132
개의 비교기의 뱅크는, 펑처링 스킴에서 대응하는 비트 인덱스 또는 반전된 비트 인덱스가 'n - k'보다 더 크거나 또는 같은 경우 비트 패턴 비트({b0, b1, b2, ..., bw - 1})를 제1 이진 값으로, 그리고 다른 비트를 상보적 이진 값으로 설정하도록 구성될 수도 있다. 이러한 방식으로, 비트 반전 단축, 비트 반전 펑처링, 자연적 단축(natural shortening) 및 자연적 펑처링(natural puncturing)을 위한 비트 패턴이 생성될 수도 있다.
몇몇 예에서, 폴라 코딩 내에서의 동결 비트 삽입 또는 동결 비트 제거는 전자 디바이스에 의해 수행되고 적어도 두 개의 하위 프로세스를 포함하고, 비트 패턴 생성기는, 일련의 제로 개 이상의 클록 사이클에 걸치는 제1 하위 프로세스가 선행하는 제2 하위 프로세스의 지속 기간에 걸치는 각각의 연속하는
Figure pct00133
개의 클록 사이클에서 비트 패턴 벡터(
Figure pct00134
)로부터 (w) 비트의 연속하는 서브세트를 제공하도록 구성된다. 이러한 방식으로, 제1 하위 프로세스는, 제2 하위 프로세스가 레이트 매칭에 의해 동결되지(frozen) 않는 K 개의 가장 신뢰 가능한 비트를 선택할 수 있도록, 제2 하위 프로세스를 초기화할 수 있다.
몇몇 예에서, 제1 논리 회로는, 제2 하위 프로세스에서의 사용을 위해 제1 하위 프로세스 동안 신뢰도 임계치(k)를 비트 패턴 생성기의 입력에 제공하도록 배열된다. 이러한 방식으로, 신뢰도 임계치보다 더 큰 신뢰도를 갖는 제2 하위 프로세스에 의해 선택되는 비트 중에서 레이트 매칭에 의해 동결되지 않는 K 비트가 존재할 것이다는 것이 보장될 수 있다.
몇몇 예에서, 전자 디바이스는 적어도 두 개의 동작 모드를 지원하도록 구성되는데, 여기서 각각의 동작 모드는, 인코딩된 비트의 수(M)가 커널 블록 사이즈(N)보다 더 작은지의 여부에 응답하여 활용된다. 이러한 방식으로, 레이트 매칭 모드의 고려를 통해 레이트 매칭에 의해 동결되는 비트가 식별될 수 있다.
몇몇 예에서, 적어도 두 개의 동작 모드는: M이 N보다 더 작지 않은 경우의 반복 동작 모드, M < N인 경우의 단축 동작 모드, M < N인 경우의 펑처링 동작 모드 중 적어도 두 개를 포함한다. 이러한 방식으로, 레이트 매칭의 반복, 단축 및 펑처링 모드가 지원될 수 있다.
몇몇 예에서, M이 N보다 더 작지 않은 경우 제1 하위 프로세스는 제로 클록 사이클을 가지며, 제2 하위 프로세스는, 최종 출력 비트 시퀀스에서 제1 이진 값을 채택하는 K 비트의 수로 설정되는 임계 신뢰도 수(k)를 가지고 수행된다. 이러한 방식으로, 반복 동작 모드에 대한 지원이 제공되는데, 이것은 어떠한 비트도 동결시키지 않는다.
몇몇 예에서, 제2 카운터에 동작 가능하게 커플링되는 컨트롤러는, M이 N보다 더 작은 경우 제1 하위 프로세스에서 컨트롤러의 제어 하에서 클록 사이클의 수를 카운트하도록 배열되고, 제1 하위 프로세스는, 비트 패턴 생성기 회로에 의해 출력되는 비트 패턴 벡터(
Figure pct00135
)에 대한 중간 값에 포함되는 제1 이진 값을 갖는 비트의 수를 나타내는 순위 임계치(k)를 결정한다. 이러한 방식으로, 순위 임계치보다 더 큰 순위를 갖는 제2 하위 프로세스에 의해 선택되는 이들 비트 중에서 레이트 매칭에 의해 동결되지 않는 K 비트가 존재할 것이다는 것이 보장될 수 있다.
몇몇 예에서, 제2 논리 회로는, 제2 하위 프로세스를 포함하는 일련의(
Figure pct00136
개의) 클록 사이클에 걸쳐 이진 플래그 생성 프로세스를 연속적으로 수행하도록 구성되며 각각의 연속하는
Figure pct00137
개의 클록 사이클에서 (w) 개의 이진 플래그의 연속하는 서브세트를 제공하도록 구성된다. 이러한 방식으로, 레이트 매칭에 의해 동결되지 않는 비트가 식별될 수 있다.
몇몇 예에서, 비트 패턴 벡터(
Figure pct00138
)에서의 대응하는 비트가 레이트 매칭에 의해 동결되지 않는 경우 이진 플래그가 이진 플래그 생성 프로세스에서 설정된다. 이러한 방식으로, 레이트 매칭에 의해 동결되지 않는 비트가 시그널링될 수 있다.
몇몇 예에서, 제3 논리 회로는, 적어도, 제2 논리 회로로부터 제1 입력을 그리고 비트 패턴 생성기 회로로부터 제2 입력을 수신하도록 구성되는데, 여기서 제3 논리 회로는, 비트 패턴 생성기 회로로부터의 중간 비트 패턴 벡터(
Figure pct00139
)의 w 비트의 서브세트의 한 비트가 제1 이진 값을 채택하고 제2 논리 회로로부터의 복수의 이진 플래그로부터의 대응하는 플래그가 설정되는 경우 제1 이진 값의 출력을 제공하도록 구성되고, 그에 의해, 적어도 제1 및 제2 입력에 기초하여 중간 비트 패턴의 비트 패턴 벡터(
Figure pct00140
)를 조정한다. 이러한 방식으로, 레이트 매칭에 의해 동결되는 비트는 비트 패턴으로부터 제거될 수 있다.
몇몇 예에서, 제1 논리 회로는, 각각의 코딩되지 않은 비트가 레이트 매칭에 의해 동결되고 제1 하위 프로세스 동안 레이트 매칭에 의해 동결되지 않는 코딩되지 않은 비트의 수를 감소하는 신뢰도의 순서로 카운트하도록 배열되는 비 동결 비트 카운터(non-frozen bit counter)를 제1 논리 회로가 포함하는지의 여부를 결정하는 것에 의해 제2 하위 프로세스에서 사용하기 위한 신뢰도 임계치(k)를 식별하도록 배열되고, 일단 카운트가 최종 출력 비트 시퀀스에서의 최종 값 비트의 수(K)에 도달하면, 그 결과, K 번째의 가장 신뢰 가능한 동결되지 않은 비트(unfrozen bit)의 순위는 순위 임계치(k)로서 결정되고, 제1 논리 회로는 비트 패턴 생성기에 대한 입력으로서 순위 임계치(k)를 제공한다. 이러한 방식으로, 비트 패턴 생성기는 가장 신뢰 가능한 비트의 세트를 식별할 수 있는데, 여기서 레이트 매칭에 의해 동결되지 않는 K 비트가 존재하는 것이 보장된다.
몇몇 예에서, 전자 디바이스는 다음의 것: 반전된 시퀀스 - 반전된 시퀀스의 각각의 연속하는 엘리먼트는 감소하는 신뢰도의 순서로 배열되는 각각의 연속하는 코딩되지 않은 비트의 위치를 나타냄 - 의 세트를 저장하도록 구성되는 제1 논리 회로 내에 위치되는, 반전된 시퀀스 리드 온리 메모리(ROM)의 세트; 디인터리버 패턴의 세트를 저장하도록 구성되는 제1 논리 회로에 위치되는 디인터리버 ROM의 세트, 여기서 디인터리버 패턴의 각각의 엘리먼트는 레이트 매칭 동안 폴라 인코딩된 비트(polar encoded bit)의 인터리빙된 위치를 나타냄; 인터리빙된 시퀀스의 세트를 저장하도록 구성되는 제1 논리 회로 내에 위치되는 인터리빙된 시퀀스 ROM의 세트; N의 특정한 값에 대응하는, 반전된 시퀀스 ROM의 연속하는 어드레스 및 인터리빙된 시퀀스 ROM의 연속하는 어드레스가 인덱싱되는, 제1 하위 프로세스의 연속하는 클록 사이클에서 증분되는(incremented) 제2 카운터(c1); 비트 패턴의 각각의 지원되는 길이('n')에 대한 순위 벡터(
Figure pct00141
)를 획득하기에 충분한 정보를 저장하도록 구성되는 비트 패턴 생성기 내에 위치되는 순위 ROM; 제1 논리 회로 내에 위치되며 각각의 연속하는 클록 사이클에서 반전된 시퀀스 ROM의 세트 및 인터리빙된 시퀀스 ROM의 세트로부터 판독되는 엘리먼트의 수신된 연속하는 세트에 기초하여 이진 플래그의 세트를 획득하도록 구성되는 기능 로직의 제1 세트(f1); 및 제1 논리 회로 내에 위치되며, 최종 출력 비트 시퀀스에서 레이트 매칭에 의해 동결되지 않는 코딩되지 않은 비트의 수(K)까지 이진 플래그의 세트를 수신하고 카운트하도록 구성되는 누산기 논리 회로(accumulator logic circuit); 중 적어도 하나를 더 포함하고, 그리고 임계 신뢰도 수(k)는 제1 하위 프로세스를 완료하도록 설정된다. 이러한 방식으로, 비트 패턴의 생성은 한 번에 여러 비트에 대해 완료될 수도 있어서, 필요로 되는 클록 사이클의 수를 감소시킬 수 있다.
몇몇 예에서, 논리 회로는 동결 비트를 비트 패턴 벡터(
Figure pct00142
)에서의 상보적 이진 값으로서 식별하도록 그리고, 정보 비트, 순환 중복 검사(CRC) 비트, 패리티 체크 동결 비트, 유저 기기 식별자(UE-ID) 비트, 해시 비트:의 그룹 중 하나를 포함하는 비트를, 비트 패턴 벡터(
Figure pct00143
)에서의 제1 이진 값을 사용하여 식별하도록 구성된다. 이러한 방식으로, 비 동결 비트는 인터레이싱 및 디인터레이싱의 프로세스 동안 동결 비트와는 별개로 처리될 수 있다.
몇몇 예에서, 전자 디바이스는 다음의 것 중 적어도 하나를 포함할 수도 있다: 비트 패턴 생성 프로세스를 수행하도록 구성되는 인코더를 포함하는 송신기, 비트 패턴 생성 프로세스를 수행하도록 구성되는 디코더를 포함하는 수신기.
제2 양태에서, 본 발명의 예는 제1 양태에 따른 비트 패턴 생성기 및 카운터를 포함하는 전자 디바이스용의 집적 회로를 설명한다.
제3 양태에서, 본 발명의 예는 폴라 코딩의 방법이 설명된다. 방법은 비트 패턴 생성기에 의해 일련의(
Figure pct00144
개의) 클록 사이클에 걸쳐 비트 패턴 생성 프로세스를 연속적으로 수행하는 것; 및 일련의(
Figure pct00145
개의) 클록 사이클에 걸쳐 연속하는 비트 패턴 생성 하위 프로세스의 수를 카운트하는 것을 포함한다. 방법은, 각각의 연속하는
Figure pct00146
개의 클록 사이클에서 비트 패턴 벡터(
Figure pct00147
)로부터 (w) 비트의 연속하는 서브세트를 제공하는 것을 더 포함하는데; 여기서, 비트 패턴 벡터는 'n' 비트를 포함하고, 그 중 'k' 비트는 제1 이진 값을 채택하고 n - k 비트는 상보적 이진 값을 채택한다.
제4 양태에서, 본 발명의 예는 제3 양태에 따른 비트 패턴 생성을 위해 내부에 저장된 실행 가능 코드를 포함하는 비일시적인 유형의(tangible) 컴퓨터 프로그램 제품을 설명한다.
비록 본 발명의 예가 전자 디바이스 및 적어도 하나의 집적 회로 구현예를 참조하여 설명되지만, 다른 예에서, 본 발명은, 폴라 인코더를 갖는 송신기 및/또는 폴라 디코더를 갖는 수신기를 구비하는 무선 통신과 같은, 다른 구현예에서 그리고 다른 애플리케이션에서 적용될 수도 있다는 것이 구상된다. 예를 들면, 본원에서 설명되는 회로 및 개념은, 예를 들면, 주문형 집적 회로(Application Specific Integrated Circuit), 애플리케이션 고유의 명령어 세트 프로세서(Application Specific Instruction Set Processor), 애플리케이션 고유의 표준 제품(Application Specific Standard Product), 필드 프로그래머블 게이트 어레이(Field Programmable Gate Array), 범용 그래픽 프로세싱 유닛(General Purpose Graphical Processing Unit), 시스템 온 칩(System on Chip), 구성 가능 프로세서(Configurable Processor) 내에서 하드웨어 구현예로서 구성될 수도 있다. 유사하게, 다른 예에서, 예를 들면, 중앙 프로세싱 유닛, 디지털 신호 프로세서 또는 마이크로컨트롤러 내에서 소프트웨어 구현예가 구성될 수도 있다는 것이 구상된다. 무선 통신 송신기 및 수신기 이외에, 본 발명은 무선 통신 트랜스시버, 또는 광학, 유선 또는 초음파 채널과 같은 다른 통신 채널을 위한 통신 디바이스로 구성될 수도 있다. 더구나, 본 발명은, 예를 들면, 광학, 자기, 양자 또는 솔리드 스테이트 매체로부터 복원되는 데이터에 대한 FEC를 제공하기 위해, 스토리지 디바이스로 구성될 수도 있다.
본 발명의 몇몇 예는, 3세대 파트너십 프로젝트(3rd Generation Partnership Project; 3GPP)에 의해 5 세대(5G) 이동 통신의 후보로서 현재 정의되고 있는 뉴 라디오(New Radio; NR) 표준을 참조하여 설명된다. 현재, NR의 향상된 모바일 광대역(Enhanced Mobile BroadBand; eMBB) 애플리케이션의 업링크 및 다운링크 제어 채널에서, 뿐만 아니라 물리적 브로드캐스트 채널(Physical Broadcast Channel; PBCH)에서 FEC를 제공하기 위해 폴라 인코딩 및 디코딩이 선택되었다. 폴라 인코딩 및 디코딩은 또한, NR의 초 신뢰 가능 저 레이턴시 통신(Ultra-Reliance Low Latency Communication; URLLC) 및 대규모 머신 타입 통신(Machine Type Communication; mMTC) 애플리케이션의 업링크 및 다운링크 데이터 및 제어 채널에 FEC를 제공할 후보로서 식별되었다. 대안적으로, 본 발명의 몇몇 예는 특정한 표준화된 애플리케이션을 참조하지 않으면서 설명된다. 더욱 광범위하게는, 본 발명은 FEC를 제공하기 위해 폴라 인코딩 및 디코딩을 선택하는 임의의 미래의 통신 표준에서 적용될 수도 있다. 더구나, 본 발명은, 무선, 유선, 광학, 초음파 또는 다른 통신 채널을 통한 통신을 위해 FEC를 제공하기 위해 폴라 인코딩 및 디코딩을 사용할 수도 있는 표준화되지 않은 통신 애플리케이션에서 적용될 수도 있다. 마찬가지로, 본 발명은, 광학, 자기, 양자, 솔리드 스테이트 및 다른 저장 매체에서 FEC를 제공하기 위해 폴라 인코딩 및 디코딩을 사용하는 스토리지 애플리케이션에서 적용될 수도 있다.
몇몇 예에서, 본원에서 설명되는 회로 및 기능은 별개의 컴포넌트 및 회로를 사용하여 구현될 수도 있고, 반면, 다른 예에서, 동작은 신호 프로세서에서, 예를 들면, 집적 회로에서 수행될 수도 있다.
본 발명의 예시된 실시형태가, 대부분, 기술 분야의 숙련된 자에게 공지되어 있는 전자 컴포넌트 및 회로를 사용하여 구현될 수도 있기 때문에, 본 발명의 기저의 개념의 이해 및 인식을 위해 그리고 본 발명의 교시를 혼란하게 하거나 또는 산만하게 하지 않기 위해, 세부 사항은 하기에서 예시되는 바와 같이 필요한 것으로 간주되는 범위를 초과하여 설명되지는 않을 것이다.
도면의 상세한 설명
이제 도 1을 참조하면, 본 발명의 예에 따라 적응되는, 폴라 인코더 및 폴라 디코더를 포함하는 통신 유닛(116)의 최상위 레벨 개략도가 예시되어 있다. 통신 유닛(116)의 이 예에서, 숙련된 기술자는 다수의 다른 컴포넌트 및 회로(예컨대, 주파수 생성 회로, 컨트롤러, 증폭기, 필터, 등등)가 단지 단순화 목적을 위해 도시되지 않는다는 것을 인식할 것이다. 다른 예에서, 통신 유닛(116)에서의 관련 회로부(circuitry)는, 예를 들면, 저장 유닛 또는 폴라 인코딩 또는 폴라 디코딩을 사용하도록 설계되는 임의의 전자 디바이스에서의 사용을 위해, 폴라 인코더 또는 폴라 디코더에서 블록 컨디셔닝을 마찬가지로 포함하는 집적 회로의 형태를 취할 수도 있다는 것이 구상된다. 다른 예에서, 통신 유닛(116)은 범용 계산 프로세서 상에서 실행되는 소프트웨어의 형태를 취할 수도 있다는 것이 구상된다.
폴라 인코더는 세 개의 연속하는 컴포넌트, 즉 정보 블록 컨디셔닝(101), 폴라 인코더 커널(102) 및 인코딩된 블록 컨디셔닝(103)을 포함한다. 이들 컴포넌트는 다음 단락에서 논의된다. 본 논의에 맥락을 제공하기 위해, 도 1은 통신 또는 저장 채널(108)뿐만 아니라, 폴라 디코더의 대응하는 컴포넌트, 즉, 정보 블록 컨디셔닝(112), 폴라 디코더 커널(111) 및 인코딩된 블록 컨디셔닝(110)을 예시하지만, 이들은 역순으로 동작된다.
다음 단락에서 논의될 바와 같이, 폴라 인코더는 정보 블록(104), 커널 정보 블록(105), 커널 인코딩된 블록(106) 및 인코딩된 블록(107)에 기초하여 동작한다. 상응하여, 폴라 디코더는 복원된 정보 블록(115), 복원된 커널 정보 블록(114), 소프트 커널 인코딩된 블록(113) 및 소프트 인코딩된 블록(109)에 기초하여 동작하지만, 이들은 역순으로 프로세싱된다.
따라서, 이하, 설명, 청구범위 및 도면 전체에 걸쳐, 표현 '폴라 코딩'은, 달리 구체적으로 언급되지 않는 한, 폴라 인코딩 및/또는 폴라 디코딩을 포괄하도록 의도된다.
폴라 인코더의 맥락에서, 정보 블록 컨디셔닝 컴포넌트(101)에 대한 입력은 정보 블록(104)으로서 지칭될 수도 있는데, K의 블록 사이즈를 갖는다. 더 구체적으로, 이 정보 블록은 K 정보 비트를 포함하는 행 벡터(
Figure pct00148
)인데, 여기서
Figure pct00149
이다. 정보 블록 컨디셔닝 컴포넌트(101)는 K 정보 비트를 N - K 리던던트 비트와 인터레이스하는데(interlace), N - K 리던던트 비트는, 예를 들면, 동결 비트(frozen bit)([1]), 순환 중복 검사(Cyclical Redundancy Check; CRC) 비트([2]), 패리티 검사(Parity Check; PC) 동결 비트(PC-frozen bit)([3]), 유저 기기 식별(User Equipment Identification; UE-ID) 비트([4]), 또는 해시 비트([5])일 수도 있다.
여기서, 동결 비트는 항상 '0'의 논리 값을 채택할 수도 있고, 한편, CRC 또는 PC 동결 비트 또는 해시 비트는, 정보 비트의,또는 프로세스에서 앞서 이미 인터레이스된 리던던트 비트의 함수로서 획득되는 값을 채택할 수도 있다. 정보 블록 컨디셔닝 컴포넌트(101)는 리던던트 비트를 생성하고 그들을, 폴라 디코더에게 또한 알려져 있는 규정된 방법에 의해 식별되는 위치로 인터레이스한다. 정보 블록 컨디셔닝 컴포넌트(101)는, 예를 들면, 비트 반전 순열(bit-reversal permutation)([1])을 구현할 수도 있는 인터리빙 동작을 또한 포함할 수도 있다. 정보 블록 컨디셔닝 컴포넌트(101)의 출력은 커널 정보 블록(105)으로서 지칭될 수도 있는데, N의 블록 사이즈를 갖는다. 더 구체적으로, 이 커널 정보 블록(105)는, N 커널 정보 비트를 포함하는 행 벡터(
Figure pct00150
)인데, 여기서
Figure pct00151
이다. 여기서, 정보 블록 컨디셔닝은, 하기에서 논의되는 바와 같이, 2의 거듭제곱인 차원을 갖는 생성기 매트릭스에 기초하여 동작하는 폴라 인코더 커널과의 호환성을 제공하기 위해, N이 K보다 더 큰 2의 거듭제곱이 되도록 완료되어야 한다. 폴라 인코더 커널(102)에 대한 입력은 커널 정보 블록(u)(105)이며, 폴라 인코더 커널(102)의 출력은 커널 인코딩된 블록(106)으로서 지칭될 수도 있는데, 커널 블록 사이즈(N)와 매치하는 블록 사이즈를 갖는다. 더 구체적으로, 이 커널 인코딩된 블록(106)은, N 커널 인코딩된 비트를 포함하는 행 벡터:
Figure pct00152
인데, 여기서
Figure pct00153
이다. 여기서, 커널 인코딩된 블록(106)은 모듈로-2(modulo-2) 매트릭스 곱셈(
Figure pct00154
)에 따라 획득되는데, 여기서 두 비트 값의 모듈로-2 합은 그들의 XOR로서 획득될 수도 있다. 여기서, 생성기 매트릭스(
Figure pct00155
)는 커널 매트릭스의 [n = log2(N)] 번째 크로네커(Kronecker) 거듭제곱에 의해 주어진다:
Figure pct00156
.
커널 매트릭스의 연속하는 크로네커 거듭제곱은 재귀적으로 획득될 수도 있는데, 여기서 각각의 거듭제곱(
Figure pct00157
)은 이전의 거듭제곱(
Figure pct00158
)에서의 각각의 논리 '1'을 커널 매트릭스로 대체하는 것에 의해 그리고 각각의 논리 '0'을 2×2 제로 매트릭스로 대체하는 것에 의해 획득된다는 것을 유의한다. 따라서, 커널 매트릭스의 n 번째 크로네커 거듭제곱(
Figure pct00159
)은 2n×2n의 차원을 갖는다. 예를 들면,
Figure pct00160
이다.
여기서, u = [1011]은 x =
Figure pct00161
= [1101]을 제공하고 u = [11001001]은 x =
Figure pct00162
= [00110111]을 제공한다.
숙련된 기술자는, 회로 또는 컴포넌트의 통합의 레벨이, 몇몇 경우에, 구현예에 의존할 수도 있다는 것을 인식할 것이다. 더구나, 몇몇 예에서, 신호 프로세서가 통신 유닛(116)에 포함될 수도 있고 인코더 및 디코더 기능성(functionality)을 구현하도록 적응될 수도 있다는 것이 구상된다. 대안적으로, 도 1에서 도시되는 바와 같이, 송신 및 수신 신호 둘 모두의 프로세싱뿐만 아니라, 베이스밴드/디지털 신호 프로세싱 기능의 일부 또는 전부를 구현하기 위해, 단일의 프로세서가 사용될 수도 있다. 명백하게, 무선 또는 유선 통신 유닛(116) 내의 다양한 컴포넌트, 예컨대 설명된 폴라 인코더는 별개의 또는 통합된 컴포넌트 형태로 실현될 수 있는데, 궁극적 구조는, 따라서, 애플리케이션에 고유하거나 또는 설계 선택이다.
이 예에서, 폴라 인코더의 인코딩된 블록 컨디셔닝 컴포넌트(103)에 대한 입력은 커널 인코딩된 블록(x)(106)이고, 그것의 출력은 인코딩된 블록(107)으로 지칭될 수도 있는데, M의 블록 사이즈를 갖는다. 더 구체적으로, 이 인코딩된 블록은 M 인코딩된 비트를 포함하는 행 벡터(
Figure pct00163
)인데, 여기서
Figure pct00164
이다.
여기서, 결과적으로 나타나는 폴라 코딩 레이트는
Figure pct00165
에 의해 주어지는데, 여기서 인코딩된 블록 컨디셔닝(103)은, 'M'이 'K'보다 더 크도록 완료되어야만 한다. 인코딩된 블록 컨디셔닝 컴포넌트(103)는 인코딩된 블록(b)(107)에서 'M' 인코딩된 비트를 생성하기 위해 다양한 기술을 사용할 수도 있는데, 여기서 'M'은 'N'보다 더 높거나 또는 더 낮을 수도 있다. 더 구체적으로, 반복([6])은 커널 인코딩된 블록('x')에서 'N' 비트 중 일부를 반복하기 위해 사용될 수도 있고, 한편 단축 또는 펑처링 기법([6])은 커널 인코딩된 블록('x')에서 'N' 비트 중 일부를 제거하기 위해 사용될 수도 있다. 단축은 '0'의 논리 값을 보장하는 비트를 제거하고, 한편, 펑처링은 논리 '0' 또는 '1' 값 중 어느 하나를 가질 수도 있는 비트를 제거한다는 것을 유의한다. 인코딩된 블록 컨디셔닝 컴포넌트는 또한 인터리빙 동작을 포함할 수도 있다. 폴라 인코딩에 후속하여, 인코딩된 블록('b')(107)은 변조기에 제공될 수도 있는데, 변조기는 통신 채널(108)을 통해 그것을 송신할 수도 있다.
이제 도 2 및 도 3을 참조하면, 생성기 매트릭스(
Figure pct00166
)(203)의 그래픽 표현(300)의 확장을 사용하는 예시적인 폴라 인코딩 프로세스는, K = 4 정보 비트 a = [1001](104)를 M = 8 인코딩된 비트 b = [00001111](107)로 변환하기 위해 특정한 동결 비트 패턴이 사용되는 예를 예시한다. 더 구체적으로, 정보 블록 컨디셔닝(101)은 K = 4 정보 비트 a = [1001](104)를 N = 8 커널 정보 비트 u = [00010001](105)로 변환하기 위해 사용된다. 그 다음, 이들은, 폴라 코드 그래프(203)를 사용하는 폴라 인코더 커널(102)에 의해 N = 8 커널 인코딩된 비트 x = [00001111](106)로 변환된다. 여기서, 입력 경로는 다양한 XOR 연산을 통해 추적되어 출력을 식별할 수 있다. 마지막으로, 인코딩된 블록 컨디셔닝(103)은 모든 커널 인코딩된 비트를 보존하여, M = 8 인코딩된 비트 b = [00001111](107)을 제공한다.
수신기에서, 복조기의 역할은 인코딩된 블록에 관련이 있는 정보를 복원하는 것이다. 그러나, 복조기는 통상적으로, 통신 채널(108)에서의 노이즈의 랜덤한 성질로 인해, 인코딩된 블록(107)에서 M 비트의 값에 대한 절대 신뢰도를 획득할 수 없다. 복조기는, M의 블록 사이즈를 갖는 소프트 인코딩된 블록(109)를 생성하는 것에 의해 인코딩된 블록(107)에서의 비트 값에 대한 자신의 신뢰도를 표현할 수도 있다. 더 구체적으로, 이 소프트 인코딩된 블록(109)은 M 인코딩된 소프트 비트를 포함하는 행 벡터(
Figure pct00167
)이다. 각각의 소프트 비트는 대수 우도 비율(Logarithmic Likelihood Ratio; LLR)의 형태로 표현될 수도 있는데:
Figure pct00168
;
여기서 Pr(bk = '0') 및 Pr(bk = '1')은 '1'로 합산되는 확률이다.
여기서, 양의 LLR(
Figure pct00169
)은, 대응하는 비트(bk)가 '0'의 값을 갖는다는 더 큰 신뢰도를 복조기가 갖는다는 것을 나타내고, 한편 음의 LLR은, 비트 값 '1'에서의 더 큰 신뢰도를 나타낸다. LLR의 크기는 신뢰도가 얼마나 큰지를 표현하는데, 여기서 무한 크기는 이 비트 값에서의 절대 신뢰도에 대응하고, 한편 '0'의 크기는, '0'의 비트 값이 더 가능성이 있는지 또는 '1'의 비트 값이 더 가능성이 있는지의 여부에 대해 복조기가 어떠한 정보도 갖지 않는다는 것을 나타낸다.
대안적인 접근법에서, 각각의 소프트 비트는 한 쌍의 대수 우도(Logarithmic Likelihood; LL)에 의해 표현될 수도 있는데:
Figure pct00170
이다.
폴라 디코더는, 도 1에서 도시되는 바와 같이, 세 개의 연속하는 컴포넌트, 즉, 인코딩된 블록 컨디셔닝(110), 폴라 디코더 커널(111) 및 정보 블록 컨디셔닝(112)을 포함한다. 이들 컴포넌트는 다음 단락에서 논의된다.
폴라 디코더의 인코딩된 블록 컨디셔닝 컴포넌트(110)에 대한 입력은 소프트 인코딩된 블록(
Figure pct00171
)(109)이며, 그것의 출력은 소프트 커널 인코딩된 블록(113)으로 지칭될 수도 있는데, N의 블록 사이즈를 갖는다. 더 구체적으로, 이 소프트 커널 인코딩된 블록(113)은 'N' 커널 인코딩된 LLR을 포함하는 행 벡터(
Figure pct00172
)이다. M 인코딩된 LLR을 'N' 커널 인코딩된 LLR로 변환하기 위해, 무한 값의 LLR이 소프트 인코딩된 블록(109)과 인터레이스되어, 폴라 인코더에서의 단축에 의해 제거된 '0' 값의 커널 인코딩된 비트에 대응하는 소프트 커널 인코딩된 블록 내의 위치를 점유할 수도 있다. 마찬가지로, '0' 값의 LLR은 소프트 인코딩된 블록(109)과 인터레이스되어, 커널 인코딩된 비트가 펑처링에 의해 제거된 위치를 점유할 수도 있다. 반복의 경우, 특정한 커널 인코딩된 비트의 레플리카에 대응하는 LLR은 합산되어 소프트 커널 인코딩된 블록(109) 내의 대응하는 위치에 배치될 수도 있다. 폴라 인코더의 인코딩된 블록 컨디셔닝 컴포넌트(103) 내에서 인터리빙이 활용된 경우, 대응하는 디인터리빙 동작이 또한 수행될 수도 있다.
폴라 디코더 커널(111)에 대한 입력은 소프트 커널 인코딩된 블록(
Figure pct00173
)(113)이며, 그것의 출력은 복원된 커널 정보 블록(114)으로 지칭될 수도 있는데, 'N'의 블록 사이즈를 갖는다. 더 구체적으로, 이 복원된 커널 정보 블록(114)는, 'N' 복원된 커널 정보 비트를 포함하는 행 벡터(
Figure pct00174
)인데, 여기서
Figure pct00175
이다. 몇몇 예에서, 폴라 디코더 커널(111)은 연속 소거(SC) 디코딩([1]) 및 연속 소거 리스트(SCL) 디코딩([7])을 비롯한, 여러 가지 상이한 알고리즘을 사용하여 동작할 수도 있다.
폴라 디코더의 정보 블록 컨디셔닝 컴포넌트(112)에 대한 입력은 복원된 커널 정보 블록(114)이며 그것의 출력은 복원된 정보 블록(115)으로서 지칭될 수도 있는데, 'K'의 블록 사이즈를 갖는다. 더 구체적으로, 이 복원된 정보 블록(115)은 K 복원된 정보 비트를 포함하는 행 벡터(
Figure pct00176
)인데, 여기서
Figure pct00177
이다. 복원된 정보 블록은 복원된 커널 정보 블록(
Figure pct00178
)(114)으로부터 모든 리던던트 비트를 제거하는 것에 의해 획득될 수도 있다. 인터리빙이 폴라 인코더의 정보 블록 컨디셔닝 컴포넌트(101) 내에서 활용된 경우, 대응하는 디인터리빙 동작이 또한 수행될 수도 있다.
제안된 블록 컨디셔닝 유닛
도 1의 최상위 레벨 개략도에서 도시되는 바와 같이, 폴라 인코더 및 폴라 디코더 쌍은 네 개의 블록 컨디셔닝 모듈(101, 103, 110, 112)을 포함한다.
폴라 인코더의 정보 블록 컨디셔닝 모듈(101) 및 디코더의 인코딩된 블록 컨디셔닝 모듈(110) 둘 모두는 더 짧은 입력을 더 긴 출력으로 변환할 수도 있다. 더 구체적으로, 폴라 인코더의 정보 블록 컨디셔닝 모듈(101)에 대한 입력은
Figure pct00179
정보 비트(104)를 포함한다. 몇몇 예에서,
Figure pct00180
정보 비트(104)는,
Figure pct00181
커널 정보 비트(105)를 생성하기 위해,
Figure pct00182
리던던트 비트와 인터레이스될 수도 있다. 마찬가지로, 폴라 디코더의 인코딩된 블록 컨디셔닝 모듈(110)에 대한 입력은
Figure pct00183
개의 소프트 인코딩된 LLR(109)을 포함한다. 몇몇 예에서,
Figure pct00184
개의 소프트 인코딩된 LLR(109)은,
Figure pct00185
소프트 커널 인코딩된 LLR(113)을 생성하기 위해,
Figure pct00186
개의 펑처링된 또는 단축된 LLR과 인터레이스될 수도 있다.
본 발명의 예시적인 실시형태에 따르면, 폴라 인코더의 정보 블록 컨디셔닝 모듈(101) 및 디코더의 인코딩된 블록 컨디셔닝 모듈(110)에서 수행되는 이들 인터레이싱 동작을 구현하기 위해, (예를 들면, 도 4 및 도 5에서 예시되며, 그들을 참조하여 설명되는 바와 같은) 인터레이서가 설계되었다.
대조적으로, 폴라 인코더 내의 인코딩된 블록 컨디셔닝 회로(103) 및 디코더의 정보 블록 컨디셔닝 모듈(112) 둘 모두는 더 긴 입력을 더 짧은 출력으로 변환한다. 더 구체적으로, 폴라 인코더의 인코딩된 블록 컨디셔닝 회로(103)에 대한 입력은,
Figure pct00187
커널 인코딩된 비트(106)를 포함한다. 몇몇 예에서,
Figure pct00188
인코딩된 비트(107)를 생성하기 위해, 이들 비트 중
Figure pct00189
비트가 펑처링될 수도 있거나 또는 단축될 수도 있다. 마찬가지로, 폴라 디코더의 정보 블록 컨디셔닝 모듈(112)에 대한 입력은,
Figure pct00190
복원된 커널 정보 비트(114)를 포함한다. 몇몇 예에서, 이들 비트 중
Figure pct00191
비트는 리던던트 비트일 수도 있고 따라서,
Figure pct00192
복원된 정보 비트(115)를 생성하기 위해, 제거될 수도 있다.
본 발명의 예에 따르면, 블록 컨디셔닝 회로는 비트 패턴에 기초하여 동작한다. 더 구체적으로, 정보 비트 패턴은, 대응하는 인터레이싱 및 디인터레이싱 동작이 수행될 수도 있는 방법을 명시하기 위해, 폴라 인코더 및 디코더의 정보 블록 컨디셔닝 모듈에서 사용된다. 마찬가지로, 대응하는 디인터레이싱 및 인터레이싱 동작이 수행될 수도 있는 방법을 명시하기 위해, 폴라 인코더 및 디코더의 인코딩된 블록 컨디셔닝 모듈에서 인코딩된 비트 패턴이 사용된다. 몇몇 예에서, (도 4, 5, 7, 10, 11, 12 및 13에서 예시되는 바와 같은) 비트 패턴 생성기(3403)는, 인터레이싱 동작을 제어하기 위해 인터레이서에 의해 활용될 수도 있다.
인터레이서
이제 도 4를 참조하면, 본 발명의 몇몇 예시적인 실시형태에 따른 인터레이서(3400)의 예시적인 블록도가 예시되어 있다. 몇몇 예에서, 인터레이서(3400)는,
Figure pct00193
엘리먼트 입력 벡터를 대응하는
Figure pct00194
엘리먼트 출력 벡터로 유연하게 변환할 수 있을 수도 있는데, 여기서
Figure pct00195
Figure pct00196
은 사용에 따라 변할 수도 있다. 더 구체적으로, 인터레이서(3400)는 비트 패턴에 따라 각각의 입력 벡터에 대한 인터레이싱을 수행할 수도 있는데, 비트 패턴은,
Figure pct00197
Figure pct00198
의 다양한 조합을 갖는 지원되는 비트 패턴의 미리 정의된 세트로부터 선택될 수도 있다. 인터레이서(3400)는, 폴라 인코더에 대한, 도 1의 정보 블록 컨디셔닝 회로(101)와 같은, 유연한 정보 블록 컨디셔닝 회로를 구현하기 위해 사용될 수도 있다. 이 경우, 유연한 정보 블록 컨디셔닝 회로(101)는 한 번에 하나의
Figure pct00199
비트의 정보 블록(104)을 대응하는
Figure pct00200
비트의 커널 정보 블록(105)으로 변환할 수 있을 수도 있는데, 여기서 블록 사이즈는
Figure pct00201
Figure pct00202
은 블록마다 변할 수도 있다. 추가적으로, 인터레이서(3400)는 폴라 디코더에 대한 유연한 인코딩된 블록 컨디셔닝 회로(110)를 구현하기 위해 사용될 수도 있다. 이 경우에, 유연한 인코딩된 블록 컨디셔닝 회로(110)는 한 번에 하나의
Figure pct00203
소프트 인코딩된 블록(109)을 대응하는
Figure pct00204
소프트 커널 인코딩된 블록(113)으로 변환할 수 있을 수도 있는데, 여기서 블록 사이즈
Figure pct00205
Figure pct00206
은 블록마다 변할 수도 있다. 폴라 인코더 및 폴라 디코더 예 둘 모두에서, 커널 블록 사이즈(
Figure pct00207
)는 2의 거듭제곱이다는 것을 유의한다.
몇몇 예에서, 인터레이싱 프로세스는 일련의
Figure pct00208
단계에 걸쳐 완료되는데, 여기서
Figure pct00209
는, 제안된 인터레이서의 입력 포트(3401) 및 출력 포트(3402)의 폭으로 지칭되는 2의 거듭제곱이다(도 4의 입력 포트(3401) 및 출력 포트(3402)는 도 5에서 예시되는 바와 같이 다수의 신호를 반송함(carrying)). 이것은, 각각의 포트가 입력 벡터로부터 소비할 수도 있는 또는 각각의 단계에서 출력 벡터에 대해 생성할 수도 있는 엘리먼트의 수를 정량화한다. 여기서, 출력 포트(3402)는 모든 단계에서 출력 벡터에 대해
Figure pct00210
개의 엘리먼트를 생성하고, 한편, 입력 포트(3401)는 단계 중
Figure pct00211
단계에서 입력 벡터로부터의
Figure pct00212
개의 엘리먼트만을 소비하는데, 이들은, 하기에서 상세히 설명되는 바와 같이,
Figure pct00213
개의 단계에 걸쳐 분포될 수도 있다.
입력 및 출력 벡터의 w 개의 엘리먼트의 각각의 세트에서 제1의 것은, 입력 포트(3401) 및 출력 포트(3402)의 w 개의 엘리먼트 중 가장 우측의 것으로 매핑되는데, 벡터의 연속하는 엘리먼트는, 우에서 좌로, 입력 포트(3401) 및 출력 포트(3402)의 연속하는 엘리먼트로 매핑된다. 파이프 라이닝이 적용되는지 및 파이프 라이닝이 적용되는 방법에 따라, 인터레이싱 프로세스의 각각의 단계는 하드웨어 구현예에서 하나의 클록 사이클에 대응할 수도 있다. 여기서, 각각의 LLR은, 도 1의 폴라 디코더 커널(111)과 같은 폴라 디코더 커널에 대한 LLR 입력과 동일한 비트 폭을 갖는 2의 보수 표현을 사용하여 표현될 수도 있다. 제안된 접근법은 각각의 단계에서 w 개의 패턴 비트를 프로세싱한다는 것을 주목할 가치가 있는데, 이것은 각각의 단계에서 단일의 패턴 비트만을 프로세싱할 수 있는 공지된 설계([14, 15])의 블록 컨디셔닝 모듈과는 대조적이다.
인터레이서(3400)는 또한, 비트 패턴 생성기(3403), 버퍼(3404), 시프터(3405), 컨트롤러(3406) 및 삽입(3407) 회로(또는 논리 또는 소프트웨어 기반의 동작)를 포함한다. 몇몇 예에서, 인터레이싱 프로세스의 특별한 단계에서 비트 패턴 생성기(3403)에 의해 출력되는 w 비트(3409)의 각각은, 그 단계에서 제안된 인터레이서의 출력에 의해 생성되는 w 개의 엘리먼트 중 대응하는 위치에 있는 엘리먼트에 대응한다. 비트가 '1'의 값을 갖는 경우, 대응하는 출력 엘리먼트는, 하기에서 상세히 설명되는 바와 같이, 인터레이서(3400)의 입력에 의해 제공되는 다음 엘리먼트에 의해 공급된다. 대조적으로, 비트가 '0'의 값을 갖는 경우, 대응하는 출력 엘리먼트(3402)는 인터레이스된 엘리먼트(예컨대, 도 5의 인터레이스 엘리먼트(3501))에 의해 제공된다.
Figure pct00214
인 경우, 비트 패턴 생성기(3403)는, 비트 패턴의 길이를 w로 증가시키기 위해, 비트 패턴의 끝에
Figure pct00215
더미 비트를 추가할 수도 있다는 것을 주목할 가치가 있다.
폴라 인코더의 정보 블록 컨디셔닝 회로(101)의 경우, 인터레이스된 엘리먼트는, 예를 들면, 값 '0'을 갖는 동결 비트, 순환 중복 검사(CRC) 비트, 패리티 검사(PC) 동결 비트, 유저 기기 식별자(UE-ID) 비트 또는 해시 비트일 수도 있다. 폴라 디코더 내의 인코딩된 블록 컨디셔닝 회로(110)의 경우, 인터레이스된 엘리먼트는, 예를 들면, 값 '0'을 갖는 펑처링된 LLR, 또는 2의 보수 고정 소수점 수 표현([6])에 의해 지원되는 최대 양의 값을 갖는 단축된 LLR일 수도 있다. 몇몇 애플리케이션에서, 예를 들면, 정보 비트가 동결 비트 및 CRC 비트 둘 모두와 인터레이스될 수도 있는 하나보다 더 많은 타입의 인터레이스된 엘리먼트가 필요할 수도 있다는 것을 유의한다. 이 경우, 각각의 타입의 인터레이스된 엘리먼트에 대해 별개의 비트 패턴이 사용될 수도 있다. 대안적으로, 비트 패턴은 비트 패턴의 각각의 엘리먼트에 대해
Figure pct00216
비트를 사용할 수도 있는데, 여기서
Figure pct00217
비트의 조합은,
Figure pct00218
개의 상이한 타입의 엘리먼트 중 어떤 엘리먼트가 사용되는지를 식별할 수도 있다. 예를 들면, 비트 쌍(10, 01 및 11)은, 각각, 동결 비트, CRC 비트 및 정보 비트의
Figure pct00219
개의 옵션을 나타내기 위해 사용될 수도 있다. 이 경우, 각각의 타입의 인터레이스된 엘리먼트에 대한 별개의 비트 패턴을 추출하기 위해 디코더 회로가 사용될 수도 있다.
인터레이싱 프로세스의 각각의 단계(
Figure pct00220
)에서, 컨트롤러(3406)는, 본원에서 설명되는 바와 같이, 비트 패턴 생성기(3403)에 의해 제공되는
Figure pct00221
비트(3409) 중 1 값의 비트의 수(
Figure pct00222
)를 카운트할 수도 있다. 엘리먼트의 이 수는 엘리먼트의 두 개의 소스: 첫째,
Figure pct00223
엘리먼트 버퍼(3404) 내에 상주하는 임의의 엘리먼트, 둘째, 인터레이서(3400)의 입력 포트(3401)를 이용하는 것에 의해, 제안된 인터레이싱 프로세스의 출력을 위해 집계된다. 컨트롤러(3406)는, 인터레이싱 프로세스의 각각의 단계의 시작에서 버퍼(3404)에 저장되는 유효 엘리먼트의 수(
Figure pct00224
)를 계속 추적하는데, 여기서 버퍼(3404)는 인터레이싱 프로세스의 시작시에 초기에 비워져서,
Figure pct00225
를 부여한다. 버퍼 내의 유효 엘리먼트의 수(
Figure pct00226
)가 필요한 수(
Figure pct00227
)보다 더 적은 임의의 단계에서, 컨트롤러(3406)는
Figure pct00228
개의 엘리먼트로 하여금, 필요에 따라, 입력(3401)으로부터 인출되게 할 수도 있다.
이제 도 5를 참조하면, 본 발명의 몇몇 예시적인 실시형태에 따른, w = 4인 경우에 대한 인터레이서(3500)의 더욱 상세한 예가 예시되어 있다. 도 5에서 예시화되는 바와 같이, 비트 시프터 회로(bit-shifter circuit)(3405)는,
Figure pct00229
엘리먼트 입력 포트(3401) 및
Figure pct00230
엘리먼트 버퍼(3404)로부터 인출되는 엘리먼트를 결합하여, 적어도
Figure pct00231
개의 유효 엘리먼트를 포함하는
Figure pct00232
엘리먼트 출력을 생성하기 위해 사용된다.
Figure pct00233
인 경우, 제안된 인터레이서의
Figure pct00234
엘리먼트 입력 포트(3401)는 버퍼(3404)로부터 엘리먼트의 좌측에 추가된다. 그러나, 버퍼(3404)로부터의
Figure pct00235
엘리먼트 중 오직
Figure pct00236
엘리먼트만이 유효할 것이고, 따라서, 컨트롤러(3406)는, 그것을 버퍼(3404)로부터의
Figure pct00237
개의 엘리먼트와 멀티플렉싱하기 이전에, 제안된 인터레이서(3500)의 w 엘리먼트 입력 포트(3401)를
Figure pct00238
위치만큼 우측으로 시프트할 것을 비트 시프터 회로(3405)에 지시한다. 비트 시프터 회로(3405)는 멀티플렉서의
Figure pct00239
개의 행을 사용하여 구현될 수도 있는데, 여기서 각각의 행(3503)은
Figure pct00240
개의 멀티플렉서를 사용하여 상이한 2의 거듭제곱 시프트를 구현한다. 도 5에서 도시되는 바와 같이, 각각의 멀티플렉서 행(3503)에 대한 제어 신호는,
Figure pct00241
의 이진 표현의 대응하는 비트로부터 획득될 수도 있는데, 여기서 최상위 비트(Most Significant Bit; MSB)는 가장 큰 2의 거듭제곱 시프트(the largest power-of-two shift)를 구현하는 행을 구동하고 최하위 비트(Least Significant Bit; LSB)는 하나의 위치의 시프트를 구현하는 행을 구동한다. 몇몇 예에서, 행은 임의의 순서로 순열 배치될 수도 있다는 것을 유의한다. 시프트된 입력을 버퍼(3404)의 콘텐츠와 멀티플렉싱하기 위해서는 추가적인
Figure pct00242
개의 멀티플렉서(3502)가 필요한데, 여기서 가장 우측의
Figure pct00243
개의 엘리먼트는 버퍼(3404)로부터 선택되고 나머지 엘리먼트는 비트 시프터 회로(3405)의 출력으로부터 선택된다. 대안적인 아키텍쳐에서, 추가적인
Figure pct00244
개의 멀티플렉서는 비트 시프터 회로(3405)의 동일한 행 내에 배열될 수도 있어서, 인터레이서(3500)의 임계 경로 길이를 감소시킬 수도 있다는 것이 구상된다.
Figure pct00245
인 경우, 상기 설명된 접근법은 비트 시프터 회로(3405)의
Figure pct00246
개의 출력 중 가장 우측의
Figure pct00247
개의 출력에 대한 유효 엘리먼트로 나타난다. 대조적으로,
Figure pct00248
인 경우, 인터레이서(3500)의 입력으로부터 어떠한 입력도 취해지지 않으며 비트 시프터 회로(3405)는 디스에이블된다. 이것은, 비트 시프터 회로(3405)의
Figure pct00249
개의 출력 중 가장 우측의
Figure pct00250
개의 출력을 제공하는 버퍼(3404)로부터의
Figure pct00251
개의 유효 엘리먼트로 나타난다.
비트 시프터 회로(3405)의
Figure pct00252
엘리먼트 출력은 삽입 회로(3407)에 제공되는데, 삽입 회로(3407)는 비트 패턴에 의해 지시되는 위치에서
Figure pct00253
개의 엘리먼트를 추출하고 모든 나머지 엘리먼트를, 인터레이싱 프로세스의 다음 단계에서의 사용을 위해 준비된 버퍼(3404)에 배치한다. 삽입 회로(3407)는
Figure pct00254
개의 행의 멀티플렉서를 포함하는데, 여기서 최상위 행은
Figure pct00255
개의 멀티플렉서를 포함하고, 그 아래의 각각의 연속하는 행은 마지막보다 하나의 더 적은 멀티플렉서를 포함한다. 이러한 방식으로, 멀티플렉서의 각각의 행은 시프팅 회로를 형성하는데, 시프팅 회로는 비트 패턴으로부터의 대응하는 비트의 값에 의해 제어된다. 더 구체적으로, 비트 패턴으로부터의 대응하는 비트가 '1'이면, 도 5에서 도시되는 바와 같이, 행에 대한 입력에서 가장 우측 엘리먼트가 인터레이서(3500)의 출력을 위해 추출되고 행에 대한 입력에서 모든 다른 엘리먼트가 하나의 위치만큼 우측으로 시프트된다. 비트 패턴의 비트는 또한, 삽입 회로(3407)로부터 추출되는 엘리먼트를, 폴라 인코더의 정보 블록 컨디셔닝 모듈(101)의 경우 리던던트 비트일 수도 있거나 또는 폴라 디코더의 인코딩된 블록 컨디셔닝 모듈(110)의 경우 펑처링된 또는 단축된 LLR일 수도 있는 대응하는 인터레이스된 엘리먼트(3501)와 멀티플렉싱하는
Figure pct00256
개의 멀티플렉서(3504)의 세트를 제어하기 위해 사용된다. 상이한 인터레이스된 엘리먼트(3501)가 상이한 값을 갖는 경우, 인터레이서(3500)의 레플리카는 상기에서 설명되는 상보적 비트 패턴에 기초하여 동작될 수도 있다. 그 다음, 이들 인터레이서의 출력은, 상기에서 설명되는
Figure pct00257
개의 멀티플렉서(3504)의 세트를 사용하여, 함께 멀티플렉싱될 수도 있다.
인터레이싱 프로세스의 각각의 단계가 완료에 후속하여, 삽입 회로(3407)의 맨 아래 행에 의해 출력되는
Figure pct00258
개의 엘리먼트는 버퍼(3404)에 저장된다.
Figure pct00259
인 단계에서, 유효한 이들 엘리먼트 수는
Figure pct00260
에 의해 주어질 것이고, 한편 엘리먼트 중
Figure pct00261
개의 엘리먼트는
Figure pct00262
인 단계에서 유효할 것이다. 그 다음, 버퍼(3404)는, 상기에서 설명되는 바와 같이, 이들 유효 엘리먼트를 인터레이싱 프로세스의 다음 단계에 이용 가능하게 만든다.
인터레이서(3500)에 필요한 멀티플렉서의 총 수는
Figure pct00263
에 의해 주어진다. 비트 시프팅 회로(3405)의 모든 멀티플렉서가 동일한
Figure pct00264
개의 행 내에 수용되는 경우, 임계 경로는
Figure pct00265
개의 멀티플렉서를 포함한다.
도 6은, 인터레이서(3400 또는 3500)를 동작시키기 위한 예시적인 테이블을 예시하는데, 여기서,
Figure pct00266
개의 입력 엘리먼트 [9, 8, 7, 6, 5, 4, 3, 2, 1]이,
Figure pct00267
비트의 패턴([1100011010110101])에 따라, '0' 값의 인터레이싱 엘리먼트와 우측에서 좌측으로 인터레이스되는 경우,
Figure pct00268
이다. 단계 '0'에서,
Figure pct00269
개의 엘리먼트가 필요로 되지만, 그러나 버퍼(예를 들면, 도 4 또는 도 5의 버퍼(3404))는
Figure pct00270
개의 유효 엘리먼트를 포함하고, 따라서, 입력 포트(3401)로부터
Figure pct00271
개의 엘리먼트가 소비된다.
Figure pct00272
개의 엘리먼트 중,
Figure pct00273
개는 비트 패턴에 의해 지시되는 위치에서의 출력에 기여하는데, 나머지
Figure pct00274
개의 엘리먼트는 버퍼(3404)에 저장된다. 단계 '1'에서,
Figure pct00275
개의 엘리먼트가 필요로 되지만, 버퍼(3404)는
Figure pct00276
개의 유효 엘리먼트만을 포함하며, 따라서,
Figure pct00277
개의 엘리먼트는 입력 포트(3401)로부터 소비된다.
Figure pct00278
개의 엘리먼트 중,
Figure pct00279
개는 비트 패턴에 의해 지시되는 위치에서의 출력에 기여하는데, 나머지
Figure pct00280
개의 엘리먼트는 버퍼(3404)에 저장된다. 단계 '2'에서,
Figure pct00281
개의 엘리먼트가 필요로 되고, 버퍼(3404)는
Figure pct00282
개의 유효 엘리먼트를 포함하며, 따라서, 입력 포트(3401)로부터 어떠한 엘리먼트도 소비되지 않는다.
Figure pct00283
개의 엘리먼트 중,
Figure pct00284
개는 비트 패턴에 의해 지시되는 위치에서의 출력에 기여하는데, 나머지
Figure pct00285
개의 엘리먼트는 버퍼(3404)에 저장된다. 단계 '3'에서,
Figure pct00286
개의 엘리먼트가 필요하지만, 그러나 버퍼(3404)는
Figure pct00287
개의 유효 엘리먼트만을 포함하며, 따라서 나머지 엘리먼트는 입력(3401)으로부터 소비되지만, 그러나
Figure pct00288
의 폭을 구성하기 위해 제로로 패딩된다.
Figure pct00289
개의 엘리먼트 둘 모두는 비트 패턴에 의해 지시되는 위치에서의 출력에 기여한다.
비트 패턴 생성기
본 발명의 예에서, 비트 패턴 생성기(3403)에 대한 다수의 대안적인 설계가 본원에서 제안되는데, 그 중 임의의 것은, 폴라 인코더의 정보 블록 컨디셔닝 회로(101)를 구현하기 위해, 인터레이서(3400 또는 3500)에 의해 사용되는 정보 비트 패턴을 생성하도록 사용될 수도 있다. 더구나, 이들 예시적인 설계는, 폴라 디코더의 인코딩된 블록 컨디셔닝 회로(110)를 구현하기 위해, 인터레이서(3400, 3500)에 의해 사용되는 인코딩된 비트 패턴을 생성하도록 사용될 수도 있다.
다음 섹션은, 비트 패턴 속성의 여러 가지 상이한 조합을 활용할 수도 있는 대안적 비트 패턴 생성기 설계를 제안한다.
1) 나이브 비트 패턴 생성기:
이제 도 7을 참조하면, w = 4인 경우의 나이브 비트 패턴 생성기(4200)가 본 발명의 몇몇 예시적인 실시형태에 따라 예시되어 있다. 나이브 구현예에서, 비트 패턴 생성기(4200)는 비트 패턴 리드 온리 메모리(ROM)(4201)를 사용하여 구현될 수도 있는데, 비트 패턴 리드 온리 메모리(ROM)(4201)는, 입력 및 출력 벡터 길이(k 및 n)의 특정한 조합에 각각 대응하는, 지원되는 비트 패턴 벡터(
Figure pct00290
)의 세트를 저장할 수도 있다. 몇몇 예에서, 오프라인 사전 계산 프로세스는, 온라인의 블록 컨디셔닝 프로세스 동안 필요시 비트 패턴 ROM(4201)으로부터 판독될 수도 있는 모든 지원되는 비트 패턴에 대한 지원되는 비트 패턴 벡터(
Figure pct00291
)의 이 세트를 생성하기 위해 사용될 수도 있다.
이제 도 8을 참조하면, 본 발명의 몇몇 예시적인 실시형태에 따른, n ∈ {2, 4, 8, 16} 및 k ∈ {1, 2, 3, ..., n - 1}의 모든 조합에 대해 [8]의 분극화 가중치(PW) 비트 패턴 구성을 사용할 때의 비트 패턴 ROM의 콘텐츠(3700)의 예시적 테이블이 예시된다. 도 8의 예시적인 테이블에서, 정보 비트 패턴 벡터(
Figure pct00292
)의 세트는
Figure pct00293
Figure pct00294
의 모든 조합에 대해 생성된다. 여기서, 정보 비트 패턴 벡터(
Figure pct00295
)에서의 '1' 값의 엘리먼트는, 커널 정보 블록에서의 대응하는 비트, 즉, 도 1의 커널 정보 블록(105)이 정보 비트이어야 한다는 것을 나타낸다. 한편, 정보 비트 패턴 벡터(
Figure pct00296
)에서의 '0' 값의 엘리먼트는, 예를 들면, 동결 비트, CRC 비트, PC 동결 비트, UE-ID 비트, 또는 해시 비트일 수도 있는 리던던트 비트에 대응한다. 대안적인 배열에서, 정보 비트 패턴 벡터(
Figure pct00297
)에서의 '1' 값의 엘리먼트는, 커널 정보 블록에서의 대응하는 비트가, 예를 들면, 정보 비트, CRC 비트, PC 동결 비트 또는 UE-ID 비트 또는 해시 비트일 수도 있는 비 동결 비트이어야 한다는 것을 나타낸다는 것을 유의한다. 한편, 정보 비트 패턴 벡터(
Figure pct00298
)에서의 '0' 값의 엘리먼트는 동결 비트에 대응할 수도 있다. 대안적으로, 각각의 비트가 각각의 타입의 비트에 속하는지의 여부를 나타내기 위해, 별개의 비트 패턴 벡터가 사용될 수도 있다.
도 7을 다시 참조하면,
Figure pct00299
Figure pct00300
의 모든 조합을 지원하기 위해, 비트 패턴 ROM(4201)의 총 용량 요건은
Figure pct00301
에 의해 주어지는데, 이것은,
Figure pct00302
인 경우 1.33 Mbit에 대응한다. 비트 패턴 ROM(4201)은
Figure pct00303
비트의 폭을 가지며, 각각의 비트 패턴 벡터(
Figure pct00304
)는
Figure pct00305
개의 연속하는 어드레스에 걸쳐 저장되는데, 여기서
Figure pct00306
은 비트 패턴 벡터(
Figure pct00307
)에 의해 지원되는 출력 벡터 길이이다. 몇몇 예에서,
Figure pct00308
인 경우, 비트 패턴 벡터(
Figure pct00309
)는, 그것이 비트 패턴 ROM(4201)에서 단일의 어드레스의 폭을 점유하도록,
Figure pct00310
더미 비트가 추가될 수도 있다. 도 7에서 도시되는 바와 같이,
Figure pct00311
Figure pct00312
은, 각각의 특정한 비트 패턴 벡터(
Figure pct00313
)의 시작 어드레스를 식별하기 위해, 룩업 테이블(4202)을 인덱싱하도록 사용될 수도 있다. 블록 컨디셔닝 프로세스의
Figure pct00314
개의 연속하는 단계의 각각 동안, 비트 패턴 벡터(
Figure pct00315
)의 연속하는
Figure pct00316
엘리먼트 서브세트(
Figure pct00317
)(4204)를 판독하기 위해, 카운터(4203)(
Figure pct00318
)는 0에서부터
Figure pct00319
까지 증분될 수도 있고 비트 패턴 ROM(4201)의 시작 어드레스로부터의 오프셋으로서 사용될 수도 있다. 본 발명의 예에서, 카운터(4203)는 클록 사이클의 수를
Figure pct00320
까지 카운트하도록 구성된다.
2) 내포 속성을 활용하는 비트 패턴 생성기:
비트 패턴 벡터(
Figure pct00321
)의 생성에 필요한 ROM의 양은, 비트 패턴 벡터(
Figure pct00322
)가 내포 속성을 준수하는 경우 상당히 감소될 수도 있다. 여기서,
Figure pct00323
Figure pct00324
의 특정한 조합에 대한 비트 패턴 벡터(
Figure pct00325
)에서의 '1'의 값 비트가, 더 큰
Figure pct00326
및 동일한
Figure pct00327
의 임의의 조합에 대한 비트 패턴 벡터(
Figure pct00328
)에서의 '1'의 값의 비트의 서브세트를 항상 형성하는 경우, 내포 속성은 충족된다. 예를 들면, 내포 속성은, PW 기술에 의해, 뿐만 아니라 [9]의 FRActally eNhanced Kernel(프랙털적으로 향상된 커널)(FRANK) 기술에 의해 생성되는 정보 비트 패턴 벡터(
Figure pct00329
)에 의해 충족된다.
Figure pct00330
Figure pct00331
의 각각의 지원되는 조합에 대한 비트 패턴 벡터(
Figure pct00332
)를 저장하기 보다는, 본 발명의 예시적인 실시형태에 따른 순위 ROM(3801)은 각각의 지원되는
Figure pct00333
에 대한 순위 벡터(
Figure pct00334
)를 저장하기 위해 사용될 수도 있다.
Figure pct00335
의 특정한 값에 대한 순위 벡터(
Figure pct00336
)는, 각각의 비트 위치의 순위에 대응하는 순서로 순열 배치되는, 범위 0 내지
Figure pct00337
내의 정수를 포함하는데, 여기서 특정한 순위는, 비트 패턴 벡터(
Figure pct00338
)에서의 대응하는 비트가 값 0을 갖는 최대치(
Figure pct00339
)를 나타낸다.
이제 도 9를 참조하면, 본 발명의 몇몇 예시적인 실시형태에 따른, 모든 n ∈ {2, 4, 8, 16, 32}에 대해 [8]의 PW 비트 패턴 구성을 사용하여 생성되는 순위 벡터(
Figure pct00340
)의 세트에 대한, 순위 ROM(예컨대, 도 10의 순위 ROM(3801))의 콘텐츠의 예시적인 테이블이 예시된다. 여기서, 하위 순위는 도 1의 커널 정보 블록(105)과 같은 커널 정보 블록 내의 더욱 신뢰 가능한 비트에 대응한다.
이제 도 10을 참조하면, 본 발명의 몇몇 예시적인 실시형태에 따른, w = 4인 경우의, 내포 속성을 활용하는 비트 패턴 생성기가 예시된다. 여기서, 순위 벡터(
Figure pct00341
)의 각각의 엘리먼트를
Figure pct00342
와 비교하기 위해, 비트 패턴 벡터(
Figure pct00343
)는
Figure pct00344
개의 비교기(3802)의 뱅크를 사용하는 것에 의해
Figure pct00345
Figure pct00346
의 특정한 조합에 대해 생성될 수도 있다. 순위가
Figure pct00347
보다 더 작으면, 대응하는 비트 패턴 벡터(
Figure pct00348
) 비트는 '1'로 설정되고, 그렇지 않으면, 대응하는 비트 패턴 비트는 '0'으로 설정된다. 여기서, 비트 패턴 비트는, 2의 보수 고정 소수점 수 표현을 사용하여 순위 및
Figure pct00349
를 표현하는 것, 감산을 수행하는 것, 및 그 다음 결과의 MSB를 유지하는 것에 의해 획득될 수도 있다.
몇몇 예에서, 그리고 순위 ROM(3801)의 모든 엔트리가
Figure pct00350
비트의 폭을 갖는 고정 소수점 수를 사용하여 저장된다는 것을 가정하면, 순위 ROM(3801)이
Figure pct00351
에 대한 모든 순위 벡터(
Figure pct00352
)를 저장하는 데 필요한 총 용량은
Figure pct00353
비트에 의해 주어질 수도 있다. 이러한 방식으로, 순위 ROM은 비트 패턴의 각각의 지원 길이('n')에 대한 순위 벡터(
Figure pct00354
)를 획득하기에 충분한 정보를 저장한다. 이것은
Figure pct00355
인 경우에 19.98 kbit에 대응하는데, 전술한 나이브 비트 패턴 생성기에서의 비트 패턴 ROM에 필요한 총 용량에 비교하여 98.5 % 감소를 나타낸다.
대안적으로, 필요로 되는 총 용량은,
Figure pct00356
의 상이한 값에 대한 고정 소수점 수를 저장하기 위해
Figure pct00357
비트의 상이한 폭이 사용되는 경우,
Figure pct00358
비트로 감소될 수 있는데,
Figure pct00359
의 경우 18.00 kbit에 대응한다.
몇몇 예에서, 순위 ROM(3801)은, 각각의 순위에 대한 고정 소수점 수 표현이
Figure pct00360
비트를 포함하는지 또는
Figure pct00361
비트를 포함하는지에 따라,
Figure pct00362
비트 또는
Figure pct00363
비트의 폭을 갖는다. 여기서, 각각의 순위 벡터(
Figure pct00364
)는
Figure pct00365
개의 연속하는 어드레스에 걸쳐 저장되는데, 여기서
Figure pct00366
은 순위 벡터(
Figure pct00367
)에 의해 지원되는 출력 벡터 길이이다.
Figure pct00368
인 경우, 순위 벡터(
Figure pct00369
)는, 그것이 순위 ROM(3801)에서 단일의 어드레스의 폭을 점유하도록,
Figure pct00370
개의 더미 엘리먼트가 추가될 수도 있다는 것을 주목할 가치가 있다.
몇몇 예에서,
Figure pct00371
은 각각의 특정한 순위 벡터(
Figure pct00372
)의 시작 어드레스를 식별하기 위해, 룩업 테이블(3803)을 인덱싱하도록 사용될 수도 있다. 대안적으로,
Figure pct00373
의 각각의 지원되는 값에 대응하는 순위 벡터(
Figure pct00374
)를 저장하기 위해, 별개의 멀티플렉싱된 순위 ROM(3801)이 사용될 수도 있는데, 그 경우, 각각은 '0'의 시작 어드레스를 활용할 수도 있다.
블록 컨디셔닝 프로세스의
Figure pct00375
개의 연속하는 단계의 각각 동안, 순위 벡터(
Figure pct00376
)의 연속하는
Figure pct00377
엘리먼트 서브세트를 판독하기 위해, 카운터(4203)(
Figure pct00378
)는 '0'에서부터 '
Figure pct00379
'까지 증분될 수도 있고 순위 ROM(3801)의 시작 어드레스로부터의 오프셋으로서 사용될 수도 있다. 그 다음, 순위 벡터(
Figure pct00380
)의 이들 서브세트는, 상기에서 설명되는 바와 같이,
Figure pct00381
개의 비교기(3802)의 뱅크를 사용하여
Figure pct00382
개의 패턴 비트(
Figure pct00383
)(4204)로 변환될 수도 있다.
몇몇 예에서, 0에서부터 t-1까지 카운트하도록 구성되는 카운터(4203)(
Figure pct00384
)가 이 예시적인 회로 및 접근법뿐만 아니라, 이전 접근법의 예시적인 회로를 위해 사용될 수도 있다는 것이 구상된다.
상기에서 설명되는 순위 벡터(
Figure pct00385
)는 [8, 9]에서 설명되는 인덱스 벡터(
Figure pct00386
)와는 상이하다. 더 구체적으로, 순위 벡터(
Figure pct00387
)는 커널 정보 블록(105) 내의 비트의 신뢰도에 순위를 매기는데, 여기서 커널 정보 블록(105)에서의 제1 비트의 순위는 벡터의 하나에서 나타나고 마지막 비트의 순위는 벡터의 다른 끝에서 나타난다. 대조적으로, 인덱스 벡터(
Figure pct00388
)는 신뢰도의 순서대로 정렬되는 커널 정보 블록(105) 내의 비트의 인덱스를 제공하는데, 여기서 가장 신뢰 가능한 비트의 인덱스는 벡터의 한쪽 끝에서 나타나고 최소로 신뢰 가능한 비트의 인덱스는 벡터의 다른 쪽 끝에서 나타난다. 그러나, 인덱스 벡터(
Figure pct00389
)를 저장하는 것에 기초한 접근법은, 인덱스 벡터(
Figure pct00390
)를 해석하고 비트 패턴 벡터(
Figure pct00391
)를 생성하기 위해 인터리버 또는 다른 복잡한 회로부의 사용을 필요로 할 수도 있다. 대조적으로, 제안된 접근법은, 상기에서 설명되는 바와 같이, 순위 벡터(
Figure pct00392
)를 해석하고 비트 패턴 벡터(
Figure pct00393
)를 생성하기 위해 간단한 비교기(3802)에만 의존한다.
대안적인 예에서, 상기에서 설명되는 순위 벡터(
Figure pct00394
)의 엘리먼트는
Figure pct00395
로부터 감산될 수도 있고 이 조정된 형태로 대신 저장될 수도 있다는 것이 구상된다. 이러한 방식으로, 순위 ROM은 비트 패턴의 각각의 지원 길이('n')에 대한 순위 벡터(
Figure pct00396
)를 획득하기에 충분한 정보를 저장한다. PW 및 FRANK 기술을 사용하여 생성되는 정보 비트 패턴 벡터(
Figure pct00397
)의 예에서, 이 조정은 더 높은 신뢰도를 갖는 커널 정보 블록(105) 내의 비트로 하여금, 조정되지 않은 접근법에서와 같은 더 낮은 값보다는, 더 높은 값을 갖는 조정된 순위에 대응하게 할 것이다. 이 조정은, PW 기술의 대칭 속성으로 인해, 도 9에서 도시되는 조정되지 않은 순위의 순서를 반전시키는 것과 동일하다는 것을 유의한다. 상기의 설명에서, 조정되지 않은 순위가
Figure pct00398
보다 더 작은지를 결정하기 위한 각각의 비교는, 조정된 순위가
Figure pct00399
보다 더 크거나 또는 같은지를 결정하기 위한 비교에 의해 대체될 수도 있다.
3) 내포 및 대칭 속성을 활용하는 비트 패턴 생성기:
이 비트 패턴 생성기 예에서, 비트 패턴 벡터(
Figure pct00400
)가 내포 속성 및 대칭 속성을 준수하는 경우, 상기에서 설명되는 순위 ROM(3801)에 필요한 총 용량은 50 %만큼 감소될 수도 있다. 여기서, 대칭 속성은, 모든
Figure pct00401
에 대해 그리고 모든
Figure pct00402
에 대해, 인덱스(
Figure pct00403
Figure pct00404
)를 갖는 순위 벡터(
Figure pct00405
)에서의 엘리먼트의 임의의 쌍이
Figure pct00406
로 합산되는 경우, 충족된다. 예를 들면, 대칭 속성은 PW 기술에 의해 생성되는 정보 비트 패턴 벡터(
Figure pct00407
)에 의해 충족되지만, 그러나 일반적으로 [9]의 FRANK 기술에 의해 생성되는 것들은 아니다.
몇몇 예에서, 대칭 속성이 충족되는 경우, 순위 ROM(3801)은 각각의 순위 벡터(
Figure pct00408
)의 전반부를 저장하는 것만을 필요로 할 수도 있다.
Figure pct00409
비트의 일정한 폭을 갖는 고정 소수점 수가 사용되는 경우, 이것은 순위 ROM(3801)이
Figure pct00410
에 대한 모든 순위 벡터(
Figure pct00411
)를 저장하는 데 필요한 총 용량을
Figure pct00412
비트로 감소시키는데, 이것은
Figure pct00413
인 경우 9.99 kbit에 대응한다. 이러한 방식으로, 순위 ROM은 비트 패턴의 각각의 지원 길이('n')에 대한 순위 벡터(
Figure pct00414
)를 획득하기에 충분한 정보를 저장한다.
대안적으로, 이것은,
Figure pct00415
비트의 다양한 폭을 갖는 고정 소수점 수가 사용되는 경우, 필요로 되는 총 용량을
Figure pct00416
비트로 감소시킨다. 순위 ROM(3801)은
Figure pct00417
순위의 폭을 가지며 각각의 순위 벡터(
Figure pct00418
)는
Figure pct00419
개의 연속하는 어드레스에 걸쳐 저장되는데, 여기서
Figure pct00420
은 순위 벡터(
Figure pct00421
)에 의해 지원되는 출력 벡터 길이이다.
Figure pct00422
인 경우, 순위 벡터(
Figure pct00423
)는
Figure pct00424
개의 더미 엘리먼트가 추가되고 순위 ROM(3801)에서 단일의 어드레스의 폭에 걸쳐 저장될 수도 있다는 것을 주목할 가치가 있다.
이제 도 11을 참조하면, 본 발명의 몇몇 예시적인 실시형태에 따른, w = 4인 경우에 내포 및 대칭 속성을 활용하는 비트 패턴 생성기(4000)가 예시되어 있다. 여기서,
Figure pct00425
은 각각의 특정한 순위 벡터(
Figure pct00426
)의 시작 어드레스를 식별하기 위해, 룩업 테이블(3803)을 인덱싱하도록 사용될 수도 있다. 대안적으로, n의 각각의 지원되는 값에 대응하는 순위 벡터(
Figure pct00427
)를 저장하기 위해, 별개의 멀티플렉싱된 순위 ROM(3801)이 사용될 수도 있는데, 그 경우, 각각은 '0'의 시작 어드레스를 활용할 수도 있다.
몇몇 예에서, 비트 패턴 생성기(4000)는 감소된 용량 순위 ROM(3801)과 인터페이싱하고 비트 패턴 벡터(
Figure pct00428
)를 생성하기 위해 사용될 수도 있다. 블록 컨디셔닝 프로세스의
Figure pct00429
개의 연속하는 단계의 각각 동안, 카운터(4203)(
Figure pct00430
)는 '0'에서부터 '
Figure pct00431
'까지 증분될 수도 있고, 순위 ROM(3801)의 시작 어드레스로부터 오프셋을 생성하기 위해 사용될 수도 있다.
Figure pct00432
일 때 블록 컨디셔닝 프로세스의
Figure pct00433
개의 연속하는 단계 중 전반부 동안, 순위 벡터(
Figure pct00434
)의 연속하는
Figure pct00435
엘리먼트 서브세트가 순위 ROM(3801)에서의 증분 어드레스로부터 판독되는데, 여기서 시작 어드레스로부터의 오프셋은
Figure pct00436
에 의해 주어진다.
도 10의 예를 다시 참조하면,
Figure pct00437
개의 비교기(3802)의 뱅크는 순위 벡터(
Figure pct00438
)의 이들 서브세트를
Figure pct00439
개의 패턴 비트(
Figure pct00440
)(4204)로 변환하기 위해 사용될 수도 있다. 이 예에서,
Figure pct00441
일 때 프로세스의 후반부 동안, 순위 벡터(
Figure pct00442
)의
Figure pct00443
엘리먼트 서브세트가 순위 ROM(3801)에서의 감분 어드레스로부터 판독되는데, 여기서 시작 어드레스로부터의 오프셋은
Figure pct00444
에 의해 주어질 수도 있다. 이러한 방식으로, 블록 컨디셔닝 프로세스의 전반부 동안과 동일한 어드레스가 판독되지만, 그러나 역순이다. 이 예에서, 멀티플렉서(4004)는 순위 ROM(3801)의 시작 어드레스로부터의 오프셋으로서
Figure pct00445
보다는
Figure pct00446
를 제공하기 위해 사용될 수도 있다. 프로세스의 이 후반부 동안, 순위가
Figure pct00447
보다 더 크거나 또는 같으면, 대응하는 비트 패턴 비트는 '1'로 설정되고, 그렇지 않으면 그것은 '0'으로 설정된다. 이것은,
Figure pct00448
보다는,
Figure pct00449
개의 비교기(3802)의 뱅크에 대한 입력으로서
Figure pct00450
를 제공하기 위해 멀티플렉서(4001)를 사용하는 것에 의해, 뿐만 아니라, 비교기(3802)의 출력을 반전시키기 위해
Figure pct00451
개의 NOT 게이트(4002)의 뱅크를 사용하는 것에 의해, 구현될 수도 있다. 더구나,
Figure pct00452
개의 멀티플렉서(4003)의 뱅크는, 도 11에서 도시되는 바와 같이, 프로세스의 후반부 동안
Figure pct00453
개의 패턴 비트(
Figure pct00454
)(4204)의 순서를 반전시키기 위해 사용될 수도 있다.
대안적인 예에서, 상기에서 설명되는 순위 벡터(
Figure pct00455
)의 엘리먼트는
Figure pct00456
로부터 감산될 수도 있고 이 조정된 형태로 대신 저장될 수도 있다는 것이 구상된다. 이러한 방식으로, 순위 ROM은 비트 패턴의 각각의 지원 길이('n')에 대한 순위 벡터(
Figure pct00457
)를 획득하기에 충분한 정보를 저장한다. 여기서, 조정되지 않은 순위가
Figure pct00458
보다 더 작은지를 결정하기 위한 각각의 비교는, 조정된 순위가
Figure pct00459
보다 더 크거나 또는 같은지를 결정하기 위한 비교에 의해 대체될 수도 있다. 마찬가지로, 조정되지 않은 순위가
Figure pct00460
보다 더 크거나 또는 같은지를 결정하기 위한 각각의 비교는, 조정된 순위가
Figure pct00461
보다 더 작은지를 결정하기 위한 비교에 의해 대체될 수도 있다.
4) 내포, 재귀 및 산술 속성을 활용하는 비트 패턴 생성기:
몇몇 예에서, 비트 패턴 벡터(
Figure pct00462
)이 내포, 재귀 및 산술 속성을 준수하는 경우, 비트 패턴 벡터(
Figure pct00463
)의 생성에 필요한 ROM의 양이 상당히 더 감소될 수 있다. 여기서, 재귀 속성은,
Figure pct00464
의 연속하는 값과 관련되는 인덱스 벡터(
Figure pct00465
)가 선행하는 인덱스 벡터(
Figure pct00466
)에 대해 간단한 연산을 수행하는 것에 의해 생성될 수도 있다면, 충족된다. 예를 들면, [8]의 PW 시퀀스에서, 인덱스 벡터(
Figure pct00467
)는 특정한 인터레이싱 패턴(
Figure pct00468
)에 따라
Figure pct00469
Figure pct00470
와 인터레이스하는 것에 의해 획득될 수 있다. 산술 속성은, 비트 신뢰도 메트릭이 범위 '0' 내지 '
Figure pct00471
'에서 자신의 인덱스에만 기초하여 출력 벡터의
Figure pct00472
비트의 각각에 대해 획득될 수 있다면, 충족된다. [8]의 PW 시퀀스에서, 각각의 커널 정보 비트의 신뢰도는 범위 '0' 내지 '
Figure pct00473
'에서 각각의 비트 인덱스의 이진 표현에 대한
Figure pct00474
확장을 계산하는 것에 의해 결정될 수도 있다. 이들 비트 신뢰도의 대응하는 벡터(
Figure pct00475
) 내의 엘리먼트는, 인덱스 벡터(
Figure pct00476
)를 획득하기 위해 정렬될 수도 있거나, 또는 순위 벡터(
Figure pct00477
)를 획득하기 위해 순위가 매겨질 수도 있다.
이제 도 12를 참조하면, 본 발명의 몇몇 예시적인 실시형태에 따른, w = 4인 경우에 내포, 재귀 및 산술 속성을 활용하는 비트 패턴 생성기(4400)가 예시된다. 몇몇 예에서, 비트 패턴 벡터(
Figure pct00478
)가 내포, 재귀 및 산술 속성을 준수하는 경우, 예시적인 비트 패턴 생성기(4400)는,
Figure pct00479
Figure pct00480
의 특정한 조합에 대한 비트 패턴 벡터(
Figure pct00481
)를 획득할 수도 있다. 여기서, 재귀 회로(4401)는,
Figure pct00482
의 값을, (
Figure pct00483
) 번째 최고 비트 신뢰도를 갖는 비트의 인덱스(
Figure pct00484
)로 변환하기 위해 사용될 수도 있다. 이 재귀 회로(4401)는 재귀 속성을 활용하여 선행 인덱스 벡터(
Figure pct00485
)로부터의 엘리먼트의 재귀 조합에 기초하여
Figure pct00486
를 획득할 수도 있다. 몇몇 예에서, 각각의 연속하는 인덱스 벡터의 전체를 언패킹하기 보다는, 언패킹은,
Figure pct00487
를 획득하는 데 필요한 특정한 엘리먼트만을 목표로 할 수도 있다는 것을 주목할 가치가 있다. PW 시퀀스의 경우, 모듈은 인터레이싱을 수행하기 위한 회로뿐만 아니라, 인터레이싱 패턴(
Figure pct00488
)의 일부 또는 전부를 저장하기 위한 ROM을 포함할 수도 있다.
몇몇 예에서, 대칭 속성을 또한 활용하는 것에 의해, 이 ROM은 1 kbit의 총 용량 요건을 가질 수도 있다는 것을 또한 주목할 가치가 있다. 이 중요한 향상에 대한 참조를 제공하기 위해,
Figure pct00489
에 기초하여
Figure pct00490
를 생성하기 위한 기술과 함께 벡터(
Figure pct00491
)가 정의되는 [8]에서의 설명을 고려한다. 여기서,
Figure pct00492
은 대칭 속성을 충족하는 이진 벡터이다. n이 런타임에 {2, 4, 8, ... 1024} 사이에서 변할 수 있기 때문에,
Figure pct00493
를 생성하는 성능이 필요하다. 결과적으로,
Figure pct00494
의 모두를 생성하기 위한 성능이 필요로 된다. 본 발명의 예시적인 실시형태에 따르면, 그리고
Figure pct00495
의 대칭 속성을 활용하는 것에 의해,
Figure pct00496
벡터는
Figure pct00497
의 각각의 전반부만을 저장하는 것에 의해 생성될 수 있다. 여기서,
Figure pct00498
의 전반부를 저장하기 위해 n/2 비트가 필요하며,
Figure pct00499
모두에 대해 총 1023 비트를 부여한다. 이러한 방식으로, 재귀 회로는, Qn(n - k)를 획득하기 위해, 압축된 정보를 언패킹하도록 고려될 수도 있다.
이것에 후속하여, 산술 회로(4402)는 산술 속성을 사용하여 (
Figure pct00500
) 번째 순위를 갖는 비트의 인덱스(
Figure pct00501
)를, 비트 신뢰도 메트릭(
Figure pct00502
)로 변환할 수도 있다. 그 다음, 이 값은 레지스터(4403)에 저장될 수도 있고 비트 패턴 벡터(
Figure pct00503
)를 생성하는 프로세스 전체에 걸쳐 사용될 수도 있다.
더 구체적으로, 블록 컨디셔닝 프로세스의
Figure pct00504
개의 연속하는 단계의 각각 동안, 카운터(
Figure pct00505
)(4203)는 '0'에서부터 '
Figure pct00506
'까지 증분될 수도 있고 비트 패턴 벡터(
Figure pct00507
)의
Figure pct00508
엘리먼트 서브세트에 대한 비트 인덱스(
Figure pct00509
)를 획득하기 위해 사용될 수도 있다. 몇몇 예에서, 이것은, 도 12에서 도시되는 바와 같이, 승산기(4404) 및
Figure pct00510
개의 가산기(4405)의 뱅크의 배열을 사용하여 달성될 수도 있다. 이것에 후속하여, 산술 회로의
Figure pct00511
개의 레플리카(4406)의 뱅크가 사용되어 대응하는 비트 신뢰도(
Figure pct00512
)를 계산할 수도 있는데, 대응하는 비트 신뢰도(
Figure pct00513
)는, 그 다음, 비트 패턴 벡터(
Figure pct00514
)의 대응하는
Figure pct00515
개의 엘리먼트를 획득하기 위해,
Figure pct00516
개의 비교기(4407)의 뱅크를 사용하여
Figure pct00517
과 비교될 수도 있다. PW 시퀀스에서, 더 큰
Figure pct00518
확장 값은 더 큰 비트 신뢰도를 암시하며 따라서
Figure pct00519
개의 비교기(4407)의 뱅크는, 대응하는 비트 신뢰도(
Figure pct00520
)가
Figure pct00521
보다 더 크거나 또는 같은지의 여부를 결정하는 것에 의해, 비트 패턴 비트(
Figure pct00522
)(4204)를 획득한다.
비트 패턴 벡터(
Figure pct00523
)의 재귀 속성을 활용하는 것에 의해 전력 절약을 달성할 수도 있다는 것을 주목할 가치가 있다. 예를 들면, PW 시퀀스의 경우, 커널 정보 블록에서 비트 사이의 관계를 결정하기 위해 재귀 속성이 사용될 수도 있다. 더 구체적으로, 특정한 비트가 동결 비트로서 선택되면, 이것은 특정한 다른 비트도 또한 동결 비트로서 선택될 것을 보장한다는 것이 결정될 수도 있다. 마찬가지로, 특정한 비트가 정보 비트로서 선택되면, 이것은 특정한 다른 비트도 또한 정보 비트로서 선택될 것을 보장한다는 것이 결정될 수도 있다. 이것은, 대응하는 비트 패턴 비트가 프로세스의 초기 단계에서 이루어진 결정에 기초하여 결정될 수 있을 때마다, 프로세스에서의 특정한 단계 동안 특정한 산술 회로를 디스에이블하기 위해, 도 12의 비트 패턴 생성기(4400)에서 활용될 수도 있다.
몇몇 예에서, 비트 신뢰도가 비트 인덱스의 간단한 함수인 인코딩된 블록 컨디셔닝의 경우에 도 12의 접근법이 추가로 단순화될 수도 있다는 것이 구상된다. 여기서, 인코딩된 블록 컨디셔닝 프로세스의
Figure pct00524
개의 연속하는 단계의 각각 동안,
Figure pct00525
Figure pct00526
의 값에 따라, 카운터(
Figure pct00527
)(4203)는 '0'에서부터 '
Figure pct00528
'까지 증분될 수도 있고 비트 패턴 벡터(
Figure pct00529
)의 연속하는
Figure pct00530
엘리먼트 서브세트를 제공하는 회로를 제어하기 위해 사용될 수도 있다.
이제 도 13을 참조하면, 본 발명의 예에 따른, 인코딩된 블록 컨디셔닝 프로세스의 각각의 단계에서 특정한 비트 패턴으로부터 w 비트를 생성하기 위한 회로가 예시되어 있다. 예를 들면, 예시된 회로는 다음의 것을 포함한다: 본 발명의 몇몇 예시적인 실시형태에 따른, (a) 블록 펑처링; (b) 블록 단축; (c) 비트 반전 펑처링; 및 (d) 비트 반전 단축. 블록 펑처링, 블록 단축, 비트 반전 펑처링 및 비트 반전 단축([16])을 위한 적절한 회로가 도 13a 내지 도 13d에서 예시되어 있다. 여기서, 승산기(4101) 및
Figure pct00531
개의 가산기(4102)의 뱅크는 카운터(c)(4203)를, 비트 패턴 벡터의 현재의 서브세트에서의 비트의 인덱스(
Figure pct00532
})로 변환하기 위해 사용된다. 도 13c 및 도 13d의 비트 반전 스킴에서, 반전된 비트 인덱스(
Figure pct00533
)를 생성하기 위해,
Figure pct00534
개의 반전 모듈(4103)의 뱅크가 사용되어 각각의 비트 인덱스의
Figure pct00535
비트 이진 표현에서의 비트의 순서를 반전시킨다. 마지막으로,
Figure pct00536
개의 비교기의 뱅크가 사용되어 비트 인덱스 또는 반전된 비트 인덱스를,
Figure pct00537
또는
Figure pct00538
중 어느 하나와 비교한다. 더 구체적으로, 비트 패턴 비트(
Figure pct00539
)는, 대응하는 비트 인덱스 또는 반전된 비트 인덱스가 도 13b 및 도 13d의 단축 스킴에서의
Figure pct00540
보다 더 작은 경우, 1로 설정된다. 대조적으로, 비트 패턴 비트(
Figure pct00541
)는, 대응하는 비트 인덱스 또는 반전된 비트 인덱스가 도 13a 및 도 13c의 펑처링 스킴에서
Figure pct00542
보다 더 크거나 또는 같으면 1로 설정된다. 도 12와 비교하여, 산술 모듈(4401) 및 재귀 모듈(4402)은 도 13a 내지 도 13d에서 도시되는 모든 경우에 서로 상쇄된다는 것이 관찰될 수도 있다. 도 13c 및 도 13d의 경우, 연산 모듈(4406)의 기능성은 비트 반전 동작(4103)에 의해 수행된다.
동결 비트 삽입 및 제거를 위한 제안된 하드웨어 구현의 예
[17]에서 여러 가지 폴라 코드 시퀀스가 제안되어 비교되었으며, 화웨이 시퀀스는 3GPP TSG RAN WG1 Meeting #90 [18, AI 6.1.4.2.2]에서 3GPP 뉴 라디오 폴라 코드에 대해 Huawei(화웨이) 시퀀스가 선택되었다. [17]로부터의 화웨이 시퀀스는
Figure pct00543
비트의 최대 마더 코드 블록 길이(mother code block length)에 대해 정의되며 더 짧은 2의 거듭제곱 마더 블록 길이(
Figure pct00544
)에 대한 시퀀스(
Figure pct00545
)는 시퀀스의 내포 속성을 활용하는 것에 의해 추출될 수 있다. 예를 들면,
Figure pct00546
에 대한 시퀀스는
Figure pct00547
[0, 1, 2, 4, 8, 16, 32, 3, 5, 9, 6, 17, 10, 18, 12, 33, 20, 34, 24, 36, 7, 11, 40, 19, 13, 48, 14, 21, 35, 26, 37, 25, 22, 38, 41, 28, 42, 49, 44, 50, 15, 52, 23, 56, 27, 39, 29, 43, 30, 45, 51, 46, 53, 54, 57, 58, 60, 31, 47, 55, 59, 61, 62, 63]이다. 여기서, 시퀀스(QN)의 각각의 연속하는 엘리먼트(
Figure pct00548
)(여기서,
Figure pct00549
)는 폴라 코드의 다음으로 더욱 신뢰 가능한 코딩되지 않은 비트의 (범위
Figure pct00550
에서의) 위치를 나타내는데, 여기서,
Figure pct00551
Figure pct00552
은, 각각, 가장 적게 신뢰 가능한 비트 및 가장 많이 신뢰 가능한 비트의 위치를 제공한다. 예를 들면,
Figure pct00553
은, 위치(16)에서의 비트가 위치(
Figure pct00554
내지
Figure pct00555
)에서의 비트보다 더욱 신뢰 가능하지만, 그러나 위치(
Figure pct00556
내지
Figure pct00557
)에서의 비트보다 덜 신뢰 가능하다는 것을 나타낸다.
두 개의 폴라 코드 레이트 속도 매칭 스킴이 [19]에서 제안되어 비교되었으며 3GPP TSG RAN WG1 Meeting # 90 [18, AI 6.1.4.2.3]에서 옵션 2가 선택되었다. [19]로부터의 옵션 2는 서브 블록 인터리버를 정의하는데, 서브 블록 인터리버는 폴라 인코딩된 비트를 32 개의 동일한 길이의 서브 블록으로 분해하고, 32 개의 동일한 길이의 서브 블록은 인터리버 패턴
Figure pct00558
[0, 1, 2, 4, 3, 5, 6, 7, 8, 16, 9, 17, 10, 18, 11, 19, 12, 20, 13, 21, 14, 22, 15, 23, 24, 25, 26, 28, 27, 29, 30, 31]에 따라 재정렬된다. 여기서, 인터리버 패턴(
Figure pct00559
)의 각각의 엘리먼트(
Figure pct00560
)(여기서
Figure pct00561
)는, 위치(
Figure pct00562
)에 있는 인터리빙된 서브 블록이 유래한 (범위
Figure pct00563
에서의) 위치를 나타낸다. 예를 들면,
Figure pct00564
은, 위치(9)에서의 인터리빙된 서브 블록이, 인터리빙 이전에 위치(16)에 있었던 서브 블록으로부터 유래하였다는 것을 나타낸다. 더구나, 코딩되지 않은 블록 길이(
Figure pct00565
) 및 인코딩된 블록 길이(
Figure pct00566
)에 의존하여, [19]로부터의 옵션 2는, 마더 코드 블록 길이(
Figure pct00567
)의 선택 및 펑처링, 단축, 또는 반복의 선택을 통제하는 규칙을 정의한다. 결정적으로, [19]로부터의 옵션 2는, 이 레이트 매칭 스킴의 모든 다른 양태에 의존하는, 동결 비트의 선택을 통제하는 규칙을 또한 정의한다.
더 구체적으로, 레이트 매칭 스킴은,
Figure pct00568
코딩되지 않은 비트 중 어떤 것이,
Figure pct00569
정보 및 순환 중복 검사(CRC) 비트에 의해 제공되는지에 영향을 끼친다. 나머지
Figure pct00570
코딩되지 않은 비트는, 유저 기기 식별(UE-ID) 비트에 의해 스크램블될 수도 있는 동결 비트에 의해 제공된다. 레이트 매칭이 없는 경우,
Figure pct00571
정보 및 CRC 비트의 위치는, 시퀀스(
Figure pct00572
)를 사용하여 가장 높은 신뢰도를 갖는
Figure pct00573
코딩되지 않은 비트를 식별하는 것에 의해 선택될 것인데, 모든 다른 코딩되지 않은 비트는 동결된다. 그러나, 레이트 매칭이 활용되는 경우, 이것은 시퀀스를 적용하는 것과는 독립적으로 그리고 시퀀스를 적용하기 이전에 동결 비트의 세트가 식별되는 것을 필요로 한다. 이것에 후속하여,
Figure pct00574
정보 및 CRC 비트는 시퀀스(
Figure pct00575
)를 사용하여 가장 높은 신뢰도를 갖는 것들을 식별하는 것에 의해 나머지 코딩되지 않은 비트 내에서 배치되는데, 모든 다른 나머지 코딩되지 않은 비트는 동결되게 된다.
이 섹션은, 한 번에 여러 비트에 대해 동결 비트 삽입 및 제거 프로세스를 수행하여, 적은 수의 클록 사이클을 사용하여 그들 프로세스가 완료되는 것을 허용할 수 있는 하드웨어 구현의 예를 제안한다. 더 구체적으로, 이것은, 폴라 인코딩 이전에, 동결 비트가 정보 비트 및 CRC 비트와 인터레이스되는 것을 허용한다. 마찬가지로, 이것은, 폴라 디코딩에 후속하여, 동결 비트가 정보 및 CRC 비트로부터 디인터레이싱되는 것을 허용한다. 제안된 접근법의 예는 또한 패리티 체크(PC) 비트를 인터레이싱 및 디인터레이스하도록 적응될 수도 있다. 제안된 하드웨어 구현의 예는, 정렬, 인터리빙 또는 다른 복잡한 동작을 수행하기 위한 회로를 필요로 하지도 않으며, 또한, 그들은, 사전 계산된 동결 비트 위치 또는 중간 변수를 저장하기 위한 과도한 양의 ROM을 요구하지도 않는다. 제안된 하드웨어 구현의 몇몇 구상된 예가 하기에서 상세하게 설명된다.
도 16a, 도 16b, 도 21a, 도 21b, 및 도 25에서 식별되는 바와 같은 제1 하위 프로세스(4701) 동안, 제안된 하드웨어 구현의 몇몇 예는, 각각의 연속하는 코딩되지 않은 비트가 레이트 매칭에 의해 동결되는지의 여부를 고려하면서, 감소하는 신뢰도의 순서로 한 번에
Figure pct00576
개의 코딩되지 않은 비트 위치를 고려한다. 이것은 레이트 매칭에 의해 동결되지 않는
Figure pct00577
개의 비트가 발견될 때까지 계속되며, 그 결과,
Figure pct00578
번째의 가장 신뢰 가능한 동결되지 않은 비트의 신뢰도가 결정되며 임계 신뢰도(3804)로 지칭된다. 도 16a, 도 16b, 도 21a, 도 21b 내지 도 24 및 도 26에 식별되는 바와 같은 제2 하위 프로세스(4702) 동안,
Figure pct00579
개의 코딩되지 않은 비트 위치가 그들의 자연적인 순서대로 한 번에 고려된다.
Figure pct00580
개의 코딩되지 않은 비트 위치의 각각은, 그것의 신뢰도가 임계 신뢰도(3804)보다 더 작지 않으면 그리고 그것이 레이트 매칭에 의해 동결되지 않으면 정보 또는 CRC 비트인 것으로 결정되고, 그렇지 않으면, 그것은 동결 비트인 것으로 결정된다. 이러한 방식으로, 각각의 코딩되지 않은 비트가 정보 비트인지 또는 CRC 비트인지의 여부, 또는 그것이 동결 비트인지를 식별하는 제2 하위 프로세스(4702) 전체에 걸쳐 한 번에
Figure pct00581
비트(3409)로 비트 패턴이 생성된다. 동시에, 비트 패턴은,
Figure pct00582
코딩되지 않은 비트를 그들의 자연적인 순서로 한 번에 인터레이스(101) 또는 디인터레이스(112)하기 위해 사용될 수도 있다. 더 구체적으로, 정보 및 CRC 비트는, 폴라 인코딩 동안 동결 비트 삽입(101)을 구현하기 위해, 제2 하위 프로세스(4702) 전체에 걸쳐 동결 비트와 인터레이스될 수도 있다. 마찬가지로, 폴라 디코딩 동안 동결 비트 제거(112)를 구현하기 위해, 정보 및 CRC 비트는 제2 하위 프로세스(4702) 전체에 걸쳐 동결 비트로부터 디인터레이스될 수도 있다.
동결 비트 삽입 및 제거를 위한 제안된 하드웨어 구현의 몇몇 예는, 상반부 및 하반부가 제1 및 제2 하위 프로세스(4701 및 4702)에 각각 대응하는 도 16a, 도 16b의 개략도에서 상술된다. 이 개략도는, 하기에서 상세히 설명되는 바와 같이, ROM(4202, 3801, 4203, 4204)의 네 개의 세트를 포함한다. 이들 ROM의 동작 및 도 16a, 도 16b에서 도시되는 로직은, 하기에서 상세히 설명되는 바와 같이, 컨트롤러(4201)에 의해 조정된다.
1) ROM
도 16a, 도 16b에서 도시되는 바와 같이, 제안된 하드웨어 구현의 몇몇 예는, 다음과 같이, ROM의 네 개의 세트를 활용한다.
Figure pct00583
반전된 시퀀스 ROM(4202) 세트는 반전된 시퀀스의 세트(
Figure pct00584
)를 저장한다. 여기서, 반전된 시퀀스(
Figure pct00585
)의 각각의 연속하는 엘리먼트(
Figure pct00586
)(여기서
Figure pct00587
)는, 폴라 코드의 다음으로 덜 신뢰 가능한 코딩되지 않은 비트의 (범위
Figure pct00588
에서의) 위치를 나타내는데, 여기서
Figure pct00589
Figure pct00590
은 가장 많이 신뢰 가능한 비트 및 가장 적게 신뢰 가능한 비트의 위치를 각각 제공한다.
Figure pct00591
순위 ROM(3801)의 세트는 순위 시퀀스의 세트(
Figure pct00592
)를 저장한다. 여기서, 순위 시퀀스(
Figure pct00593
)의 각각의 엘리먼트(
Figure pct00594
)(여기서
Figure pct00595
)는, 폴라 코드의 대응하는 코딩되지 않은 비트의 (범위
Figure pct00596
에서의) 신뢰도 순위를 나타내는데, 여기서 더 낮은 값(
Figure pct00597
)은 더 높은 신뢰도를 나타낸다. 예를 들면,
Figure pct00598
Figure pct00599
은, 코딩되지 않은 비트(
Figure pct00600
Figure pct00601
)가, 각각, 가장 많이 신뢰 가능한 비트 및 가장 적게 신뢰 가능한 비트이다는 것을 나타낸다. 반전된 시퀀스(
Figure pct00602
) 및 순위 시퀀스(
Figure pct00603
) 사이의 관계는
Figure pct00604
이도록 하는 그러한 것이다.
Figure pct00605
디인터리버 ROM(4203)의 세트는 디인터리버 패턴의 세트(
Figure pct00606
)를 저장한다. 여기서, 디인터리버 패턴(
Figure pct00607
)의 각각의 엘리먼트(
Figure pct00608
)(여기서
Figure pct00609
)는, 레이트 매칭 동안, 위치(
Figure pct00610
)에서의 폴라 인코딩된 비트가 인터리브되는 (범위
Figure pct00611
에서의) 위치를 나타낸다. 디인터리버 패턴(
Figure pct00612
)과 인터리버 패턴(
Figure pct00613
) 사이의 관계는,
Figure pct00614
이도록 하는 그러한 것이다. 더구나,
Figure pct00615
의 동일한 값으로 평가되는
Figure pct00616
에서의 모든 엘리먼트(
Figure pct00617
)는
Figure pct00618
내의 연속하는 위치에서 오름차순으로 나타난다.
Figure pct00619
인터리빙된 시퀀스 ROM(4204)의 세트는, 인터리빙된 시퀀스의 세트(
Figure pct00620
)를 저장한다. 여기서, 인터리빙된 시퀀스(
Figure pct00621
)의 각각의 엘리먼트(
Figure pct00622
)는
Figure pct00623
로서 획득된다.
각각의 반전된 시퀀스 ROM(4202) 및 각각의 인터리빙된 시퀀스 ROM(4204)에서의 각각의 어드레스는, 각각의 시퀀스의
Figure pct00624
개의 엘리먼트를 저장하는데, 여기서
Figure pct00625
는 2의 거듭제곱이다. 더 구체적으로, 각각의 반전된 시퀀스(
Figure pct00626
)의
Figure pct00627
개의 연속하는 엘리먼트의 각각의 연속하는 그룹은, 도 17에서
Figure pct00628
Figure pct00629
대해 예시화되는 바와 같이, 대응하는 반전된 시퀀스 ROM(4202)의 연속하는 어드레스에 저장된다. 마찬가지로, 각각의 인터리빙된 시퀀스(
Figure pct00630
)의
Figure pct00631
개의 연속하는 엘리먼트의 각각의 연속하는 그룹은, 도 18에서
Figure pct00632
Figure pct00633
에 대해 예시화되는 바와 같이, 대응하는 인터리빙된 시퀀스 ROM(4204)의 연속하는 어드레스에 저장된다. 더 구체적으로, 이들 ROM(4202, 4204) 내의 각각의 엘리먼트는,
Figure pct00634
Figure pct00635
에 따라 획득되는데, 여기서
Figure pct00636
는 대응하는 어드레스이고,
Figure pct00637
는 그 어드레스 내에서의 엘리먼트의 인덱스이다.
대조적으로, 각각의 디인터리버 ROM(4203) 및 각각의 순위 ROM(3801)에서의 각각의 어드레스는 각각의 시퀀스의
Figure pct00638
개의 엘리먼트를 저장하는데, 여기서
Figure pct00639
Figure pct00640
와는 독립적으로 선택될 수도 있는 2의 거듭제곱이다. 더 구체적으로, 각각의 디인터리버 패턴(
Figure pct00641
)의
Figure pct00642
개의 연속하는 엘리먼트의 각각의 연속하는 그룹은, 도 19에서
Figure pct00643
Figure pct00644
에 대해 예시화되는 바와 같이, 대응하는 디인터리버 ROM(4203)의 연속하는 어드레스에 저장된다. 마찬가지로, 각각의 순위 시퀀스(
Figure pct00645
)의
Figure pct00646
개의 연속하는 엘리먼트의 각각의 연속하는 그룹은, 도 20에서
Figure pct00647
Figure pct00648
에 대해 예시화되는 바와 같이, 대응하는 순위 ROM(3801)의 연속하는 어드레스에 저장된다. 더 구체적으로, 이들 ROM(4203, 3801) 내의 각각의 엘리먼트는
Figure pct00649
Figure pct00650
에 따라 획득되는데, 여기서
Figure pct00651
는 대응하는 어드레스이고
Figure pct00652
는 그 어드레스 내의 엘리먼트의 인덱스이다.
Figure pct00653
또는
Figure pct00654
인 경우, 대응하는 ROM(4202, 3801, 4203, 4204)에 저장되는 각각의 시퀀스는, ROM의 단일의 어드레스를 채우기 위해, 값
Figure pct00655
을 갖는
Figure pct00656
또는
Figure pct00657
개의 더미 엘리먼트가 추가될 수도 있다는 것을 유의한다.
Figure pct00658
의 각각의 지원되는 값에 대응하는 별개의 ROM에 동일한 타입의 시퀀스를 저장하기 보다는, 이들 시퀀스는 단일의 더 큰 ROM의 상이한 어드레스 공간에 저장될 수 있을 것이다는 것을 유의한다. 이 경우,
Figure pct00659
의 값은, 대응하는 시퀀스의 시작 어드레스를 식별하는 룩업 테이블(3803)을 인덱싱하기 위해 사용될 수도 있다.
ROM(4202, 3801, 4203, 4204) 내의 모든 엔트리가
Figure pct00660
비트의 폭을 갖는 고정 소수점 수를 사용하여 저장된다는 것을 가정하면, ROM이
Figure pct00661
에 대한 모든 시퀀스(
Figure pct00662
Figure pct00663
)를 저장하는 데 필요한 총 용량은 78.75 kbit이다. 또는,
Figure pct00664
의 상이한 값에 대한 고정 소수점 수를 저장하기 위해
Figure pct00665
비트의 상이한 폭이 사용되는 경우, 필요로 되는 총 용량은 71.62 kbit로 감소될 수 있다.
2) 로직 및 컨트롤러
도 16a, 도 16b에서 도시되는 바와 같이, 동결 비트 삽입 및 제거를 위한 제안된 하드웨어 구현의 몇몇 예는 ROM(4202, 3801, 4203, 4204)의 네 개의 세트 및 다양한 논리 회로를 포함한다. 이들은, 도 21a, 도 21b의 플로우차트에 따라, 도 16a, 도 16b에서 도시되는 컨트롤러(4201)의 조정 하에 동작한다. 상기에서 설명되는 바와 같이, 제안된 하드웨어 구현의 몇몇 예는, 도 21a, 도 21b의 좌우 절반에 대응하는 두 개의 하위 프로세스(4701 및 4702)를 사용하여 동결 비트 삽입 또는 제거의 프로세스를 완료한다.
제1 하위 프로세스(4701)의 시작에서, 도 16a, 도 16b의
Figure pct00666
로직(4205)은, 마더 코드 블록 사이즈(
Figure pct00667
)를, 정보 및 CRC 비트의 수(
Figure pct00668
)뿐만 아니라, 레이트 매칭 이후에 남는 폴라 인코딩된 비트의 수(
Figure pct00669
)의 함수로서 계산하기 위해 사용된다. 도 21a, 도 21b에서 도시되는 바와 같이,
Figure pct00670
(4703)이 충족되지 않는 경우, 제1 하위 프로세스(4701)는, 순위 임계치(
Figure pct00671
)를
Figure pct00672
와 동일하게 설정하는 것(4704)에 의해 즉시 종결될 수 있는데, 여기서
Figure pct00673
는 상기에서 언급되는 신뢰도 임계치(3804)를 구현한다. 그렇지 않으면, 제1 하위 프로세스(4701)는 순위 임계치(
Figure pct00674
)(3804)를 결정하기 위해 추가 계산을 사용해야만 한다.
이 경우, 컨트롤러(4201)는 도 16a, 도 16b에서 도시되는 카운터(
Figure pct00675
Figure pct00676
)를 제로로 리셋한다(4705). 연속하는 클록 사이클에서,
Figure pct00677
의 특정한 값에 대응하는 반전된 시퀀스 ROM(4202) 및 인터리빙된 시퀀스 ROM(4204)의 연속하는 어드레스는, 각각의 클록 사이클에서 증분되는(4706) 카운터(
Figure pct00678
)(4206)를 사용하여 인덱싱된다. 도 16a, 도 16b 및 21에서 도시되는 바와 같이, 반전된 시퀀스(
Figure pct00679
) 및 인터리빙된 시퀀스(
Figure pct00680
)의
Figure pct00681
개의 연속하는 엘리먼트(
Figure pct00682
내지
Figure pct00683
Figure pct00684
내지
Figure pct00685
)는, 반전된 시퀀스 ROM(4202) 및 인터리빙된 시퀀스 ROM(4204)로부터 각각 판독된다(4707, 4708).
각각의 연속하는 클록 사이클에서 반전된 시퀀스 및 인터리빙된 시퀀스 ROM(4202, 4204)으로부터 판독되는 엘리먼트의 각각의 연속하는 세트는, 도 16a, 도 16b에서 도시되는
Figure pct00686
로직(4207)의 제1 세트로 제공된다. 도 21a, 도 21b에서 도시되는 바와 같이, 이
Figure pct00687
로직(4207)은
Figure pct00688
의 각각의 값에 대한
Figure pct00689
를 계산하는 것에 의해
Figure pct00690
개의 이진 플래그의 세트를 병렬로 획득하는데(4709), 여기서
Figure pct00691
이다.
각각의 클록 사이클에서 획득되는 이진 플래그(
Figure pct00692
내지
Figure pct00693
)는 도 16a, 도 16b에서 도시되는 누산기 로직(4208)에 제공된다. 도 21a, 도 21b에서 도시되는 바와 같이, 이것은, 이진 플래그를
Figure pct00694
에서부터
Figure pct00695
까지 순서대로 고려하기 위해, 초기에 0으로 설정되며(4710)
Figure pct00696
(4712)을 향해 증분되는(4711) 인덱스(
Figure pct00697
)를 사용한다. 동시에, 카운터(
Figure pct00698
)(4209)는, 값 '1'을 갖는 이진 플래그(4714)의 각각에 대해 한 번 증분된다(4713). 카운터(
Figure pct00699
)가
Figure pct00700
(4715)의 값에 도달하면, 임계 순위(
Figure pct00701
)(3804)는
Figure pct00702
과 동일하게 설정되고(4716), 그 결과, 제1 하위 프로세스(4701)는 완료된다. 더 구체적으로, 제1 하위 프로세스(4701)는
Figure pct00703
(4717)가 충족될 때까지 연속하는 클록 사이클을 통해 계속되는데,
Figure pct00704
(4717)가 충족되는 것은 통상적으로 반전된 시퀀스 및 인터리빙된 시퀀스 ROM(4202, 4204)의 최종 어드레스의 인덱스에
Figure pct00705
이 도달하기 이전에 발생할 것이다.
도 16a, 도 16b 및 21에서 도시되는 바와 같이, 임계 순위(
Figure pct00706
)(3804)는 레지스터(4210)에 저장되며, 그 결과, 그것은 제2 하위 프로세스(4702) 전체에 걸쳐 사용될 수 있다. 제2 하위 프로세스(4702)의 시작에서, 컨트롤러(4201)는 도 16a, 도 16b에서 도시되는 카운터(
Figure pct00707
)(4203)를 제로로 리셋한다(4718). 연속하는 클록 사이클에서,
Figure pct00708
의 특정한 값에 대응하는 디인터리버 ROM(4203) 및 순위 ROM(3801)의 연속하는 어드레스는,
Figure pct00709
(4729)이 충족될 때까지, 각각의 클록 사이클에서 증분되는(4721) 카운터(
Figure pct00710
)를 사용하여 인덱싱된다. 도 16a, 도 16b 및 도 21a, 도 21b에서 도시되는 바와 같이, 디인터리버 패턴(
Figure pct00711
) 및 순위 시퀀스(
Figure pct00712
)의
Figure pct00713
개의 연속하는 엘리먼트(
Figure pct00714
내지
Figure pct00715
Figure pct00716
내지
Figure pct00717
)는 디인터리버 ROM(4203) 및 순위 ROM(3801)로부터 각각 판독된다(4719, 4720).
각각의 연속하는 클록 사이클에서 디인터리버 ROM(4203)으로부터 판독되는 엘리먼트의 각각의 연속하는 세트는, 도 16a, 도 16b에서 도시되는
Figure pct00718
로직(4211)의 제2 세트로 제공된다.
Figure pct00719
로직의 제1 및 제2 세트가 동시에 사용되지 않기 때문에, 그들은 제1 하위 프로세스(4701)에서 제공되는 입력과 제2 하위 프로세스(4702)에서 제공되는 입력 사이에서 멀티플렉싱하는 것에 의해 동일한 하드웨어를 공유할 수도 있다는 것을 유의한다. 도 21a, 도 21b에서 도시되는 바와 같이, 이
Figure pct00720
로직은
Figure pct00721
의 각각의 값(4726, 4727, 4728)에 대해 (1)의
Figure pct00722
(4722)를 계산하는 것에 의해
Figure pct00723
개의 이진 플래그의 세트를 병렬로 획득한다. 동시에, 각각의 연속하는 클록 사이클에서 순위 ROM(3801)으로부터 판독되는 엘리먼트의 각각의 연속하는 세트는, 도 16a, 도 16b에 도시되는
Figure pct00724
개의 비교기(3802)의 세트에 제공된다. 도 21a, 도 21b에서 도시되는 바와 같이, 이들 비교기는
Figure pct00725
의 각각의 값에 대한
Figure pct00726
를 계산하는 것에 의해
Figure pct00727
개의 이진 플래그(4204)의 세트를 병렬로 획득한다(4723). 그 다음, 이진 플래그(
Figure pct00728
내지
Figure pct00729
Figure pct00730
내지
Figure pct00731
)가
Figure pct00732
개의 AND 게이트(4212)의 세트에 제공되는데,
Figure pct00733
개의 AND 게이트(4212)는, 도 21a, 도 21b에서 도시되는 바와 같이,
Figure pct00734
의 각각의 값에 대한
Figure pct00735
를 계산하는 것에 의해
Figure pct00736
개의 이진 플래그(3409)의 세트를 병렬로 획득한다(4724). 표 22 내지 표 24는, 예를 들면, 반복, 단축 및 펑처링이 사용되는 제2 하위 프로세스(4702)의 각각의 클록 사이클에서 생성되는 비트 패턴(
Figure pct00737
내지
Figure pct00738
)(3409)을 예시한다.
제2 하위 프로세스(4702)의 각각의 연속하는 클록 사이클에서, 비트 패턴(
Figure pct00739
내지
Figure pct00740
)은, 도 16a, 도 16b 및 도 21a, 도 21b에서 도시되는 바와 같이,
Figure pct00741
개의 코딩되지 않은 비트의 각각의 연속하는 세트를 병렬로 인터레이스(101) 또는 디인터레이스(112)하기 위해 사용될 수도 있다(4725). 값 '1'을 갖는 비트 패턴(
Figure pct00742
내지
Figure pct00743
)에서의 비트의 각각은, 대응하는 코딩되지 않은 비트가 정보 또는 CRC 비트에 의해 제공된다는 것을 나타낸다. 마찬가지로, 값 0을 갖는 비트 패턴 비트의 각각은, 대응하는 코딩되지 않은 비트가 동결 비트이다는 것을 나타내는데, 동결 비트는 UE-ID에 의해 스크램블링될 수도 있다. 폴라 인코딩 동안, 도 16a, 도 16b의 인터레이서는 선입선출(First-In First-Out; FIFO) 버퍼링에 기초하여 동작한다. 각각의 클록 사이클에서, 입력 FIFO 버퍼는 대응하는 비트 패턴에서의 1의 수와 동일한 수의 정보 및 CRC 비트를 제공한다. 한편, 제2 입력 FIFO 버퍼는 비트 패턴에서 0의 수와 동일한 수의 UE-ID 스크램블링된 동결 비트를 공급한다. 대안적으로, UE-ID 스크램블링이 사용되지 않고 모든 동결 비트가 '0'의 값을 채택하면, 제2 FIFO 버퍼는 대응하는 수의 0 값의 비트를 공급하는 회로로 대체될 수 있다. 도 16a, 도 16b의 인터레이서(101)는, 그 다음, 대응하는 비트 패턴에 따라 정보, CRC 및 동결 비트를 인터레이스하여, 제2 하위 프로세스(4702)의 각각의 클록 사이클에서,
Figure pct00744
개의 코딩되지 않은 비트를 병렬로 생성할 수도 있다. 마찬가지로, 폴라 디코딩 동안, 도 16a, 도 16b의 디인터레이서(112)는 각각의 클록 사이클에서
Figure pct00745
개의 코딩되지 않은 비트에 대해 반전 동작을 수행할 수도 있는데, 여기서 정보 및 CRC 비트는 출력 FIFO 버퍼로 제공된다.
동결 비트 삽입 및 제거 프로세스를 완료하는 데 필요한 클록 사이클의 총 수는, 제1 및 제2 하위 프로세스(4701, 4702)의 각각에서 사용되는 수의 합에 의해 주어진다. 도 25는,
Figure pct00746
인 최악의 경우, 제1 하위 프로세스(4701)를 완료하는 데 필요한 클록 사이클 수를,
Figure pct00747
Figure pct00748
의 함수로서 특성 묘사한다.
Figure pct00749
가 2의 더 큰 거듭제곱의 값을 채택하는 경우, 필요로 되는 클록 사이클의 수는 도 25의 것들을 선형적으로 축소하고 상한을 취하는 것에 의해 획득될 수도 있다. 단축이 활용되는 경우,
Figure pct00750
의 코딩 레이트에서 더 많은 수의 클록 사이클이 필요하다는 것이 관찰될 수도 있다. 이것은, 단축이 동결 비트에 대해 가장 신뢰 가능한 코딩되지 않은 비트 위치 중 일부를 사용하기 때문이다. 펑처링을 활용할 때 더 적은 수의 클록 사이클이 필요한데, 이것은 통상적으로 동결 비트에 대해 가장 적게 신뢰 가능한 비트 위치를 사용하기 때문이다. 더 구체적으로,
Figure pct00751
인 상태에서 제1 하위 프로세스(4701)에서 사용되는 클록 사이클의 수는, 단축 또는 펑처링의 경우에
Figure pct00752
(3804)와 동일하다. 대조적으로, 상기에서 설명되는 바와 같이, 반복을 활용하는 경우, 클록 사이클은 필요로 되지 않는다. 그러나, 제1 하위 프로세스(4701)는 폴라 인코딩 동안 CRC 생성 및 인터리빙과 병렬로 그리고 폴라 디코딩 동안 채널 인터리빙과 병렬로 완료될 수도 있다. 이것으로 인해, 제1 하위 프로세스(4701)는 반드시 추가적인 레이턴시를 부과하는 것은 아니다. 제2 하위 프로세스(4702)를 완료하는 데 필요한 클록 사이클의 수는,
Figure pct00753
인 최악의 경우에, 도 26에서 특성 묘사되는 바와 같이,
Figure pct00754
에 의해 주어진다.
Figure pct00755
이 2의 더 큰 거듭제곱의 값을 채택하는 경우, 필요로 되는 클록 사이클의 수는 도 26의 것들을 선형적으로 축소하고 상한을 취하는 것에 의해 획득될 수도 있다. 제2 하위 프로세스(4702)는, 추가적인 레이턴시를 부과하지 않으면서, 코딩되지 않은 비트를 폴라 인코더 커널로 스트리밍할 수 있거나 또는 코딩되지 않은 비트를, 그들의 연산과 함께, 폴라 디코더 커널로부터 스트리밍할 수 있다.
이 섹션은, 한 번에 여러 비트에 대해 동결 비트 삽입 및 제거 프로세스를 수행하여, 적은 수의 클록 사이클을 사용하여 그들 프로세스가 완료되는 것을 허용할 수 있는 하드웨어 구현의 몇몇 예를 제안하였다. 더 구체적으로, 이것은, 폴라 인코딩 이전에, 동결 비트(이것은 UE-ID 비트를 사용하여 스크램블링될 수도 있음)가 정보 비트 및 CRC 비트와 인터레이스되는 것을 허용한다. 마찬가지로, 이것은, 폴라 디코딩에 후속하여, 동결 비트가 정보 및 CRC 비트로부터 디인터레이싱되는 것을 허용한다. 제안된 하드웨어 구현의 몇몇 예는, 정렬, 인터리빙 또는 다른 복잡한 동작을 수행하기 위한 회로를 필요로 하지도 않으며, 또한, 그들은, 사전 계산된 동결 비트 위치 또는 중간 변수를 저장하기 위한 과도한 양의 ROM을 요구하지도 않는다. 제안된 하드웨어 구현의 몇몇 동작, 및 몇몇 경우에서는, 그 모든 동작은, 다른 폴라 인코딩 또는 디코딩 동작과 함께 수행될 수 있으며, 따라서, 그들은 어떠한 추가적인 레이턴시를 부과하지 않는다.
이제 도 14를 참조하면, 본 발명의 몇몇 예시적인 실시형태에 따른, 비트 패턴 생성기에 의해 수행되는 폴라 코더 동작의 하이 레벨 플로우차트(1400)가 예시된다. 플로우차트는, 1402에서, 비트 패턴 생성기(3403)에 의해 일련의(
Figure pct00756
개의) 클록 사이클에 걸쳐 비트 패턴 생성 프로세스를 연속적으로 수행하는 것을 포함한다. 1404에서, 플로우차트는 일련의(
Figure pct00757
개의) 클록 사이클에 걸쳐 연속하는 비트 패턴 생성 하위 프로세스의 수를 카운트하는 것으로 이동한다. 1406에서, 각각의 연속하는
Figure pct00758
개의 클록 사이클에서 비트 패턴 벡터(
Figure pct00759
)로부터의 (w) 비트의 연속하는 서브세트가 제공되는데; 여기서, 비트 패턴 벡터는 'n' 비트를 포함하고, 그 중 'k' 비트는 제1 이진 값을 채택하고 n - k 비트는 상보적 이진 값을 채택한다.
이제 도 15를 참조하면, 본 발명의 몇몇 예시적인 실시형태에 따른, 폴라 인코딩을 구현하기 위해 활용될 수도 있는 통상적인 컴퓨팅 시스템(1500)이 예시되어 있다. 이러한 타입의 컴퓨팅 시스템은 무선 통신 유닛에서 사용될 수도 있다. 관련 기술 분야에서 숙련된 자는 또한, 다른 컴퓨터 시스템 또는 아키텍쳐를 사용하여 본 발명을 구현하는 방법을 인식할 것이다. 컴퓨팅 시스템(1500)은, 예를 들면, 데스크탑, 랩탑 또는 노트북 컴퓨터, 핸드헬드 컴퓨팅 디바이스(PDA, 셀 폰, 팜탑, 등등), 메인 프레임, 서버, 클라이언트, 또는 주어진 애플리케이션 또는 환경에 대해 바람직하거나 또는 적절할 수도 있는 바와 같은 임의의 다른 타입의 특수한 또는 범용의 컴퓨팅 디바이스를 나타낼 수도 있다. 컴퓨팅 시스템(1500)은 프로세서(1504)와 같은 하나 이상의 프로세서를 포함할 수 있다. 프로세서(1504)는, 예를 들면, 마이크로프로세서, 마이크로컨트롤러 또는 다른 제어 로직과 같은 범용 또는 특수 목적의 프로세싱 엔진을 사용하여 구현될 수 있다. 이 예에서, 프로세서(1504)는 버스(1502) 또는 다른 통신 매체에 연결된다. 몇몇 예에서, 컴퓨팅 시스템(1500)은, 폴라 인코딩을 구현하기 위해 내부에 저장된 실행 가능한 코드를 포함하는 비일시적인 유형의 컴퓨터 프로그램 제품일 수도 있다.
컴퓨팅 시스템(1500)은 또한, 프로세서(1504)에 의해 실행될 정보 및 명령어를 저장하기 위한, 랜덤 액세스 메모리(RAM) 또는 다른 동적 메모리와 같은 메인 메모리(1508)를 포함할 수 있다. 메인 메모리(1508)는 또한 프로세서(1504)에 의해 실행될 명령어의 실행 동안 임시 변수 또는 다른 중간 정보를 저장하기 위해 사용될 수도 있다. 컴퓨팅 시스템(1500)은, 프로세서(1504)에 대한 정적인 정보 및 명령어를 저장하기 위해 버스(1502)에 커플링되는 리드 온리 메모리(ROM) 또는 다른 정적 스토리지 디바이스를 마찬가지로 포함할 수도 있다.
컴퓨팅 시스템(1500)은 또한 정보 저장 시스템(1510)을 포함할 수도 있는데, 정보 저장 시스템(1510)은, 예를 들면, 매체 드라이브(1512) 및 착탈식 저장 인터페이스(1520)를 포함할 수도 있다. 매체 드라이브(1512)는, 고정된 또는 착탈식 저장 매체, 예컨대 하드 디스크 드라이브, 플로피 디스크 드라이브, 자기 테이프 드라이브, 광학 디스크 드라이브, 콤팩트 디스크(compact disc; CD) 또는 디지털 비디오 드라이브(digital video drive; DVD) 판독 또는 기록 드라이브(R 또는 RW), 또는 다른 착탈식 또는 고정된 매체 드라이브를 지원하기 위한 구동 또는 다른 메커니즘을 포함할 수도 있다. 저장 매체(1518)는, 예를 들면, 하드 디스크, 플로피 디스크, 자기 테이프, 광학 디스크, CD 또는 DVD, 또는 매체 드라이브(1512)에 의해 판독되는 또는 매체 드라이브(1512)로 기록되는 다른 고정된 또는 착탈식 매체를 포함할 수도 있다. 이들 예가 예시하는 바와 같이, 저장 매체(1518)는 특정한 컴퓨터 소프트웨어 또는 데이터가 내부에 저장된 컴퓨터 판독 가능 저장 매체를 포함할 수도 있다.
대안적인 실시형태에서, 정보 저장 시스템(1510)은 컴퓨터 프로그램 또는 다른 명령어 또는 데이터가 컴퓨팅 시스템(1500)에 로딩되는 것을 허용하기 위한 다른 유사한 컴포넌트를 포함할 수도 있다. 그러한 컴포넌트는, 예를 들면, 착탈식 저장 유닛(1522) 및 인터페이스(1520), 예컨대 프로그램 카트리지 및 카트리지 인터페이스, 착탈식 메모리(예를 들면, 플래시 메모리 또는 다른 착탈식 메모리 모듈) 및 메모리 슬롯, 및 소프트웨어 및 데이터가 착탈식 저장 유닛(1518)으로부터 컴퓨팅 시스템(1500)으로 전달되는 것을 허용하는 다른 착탈식 저장 유닛(1522) 및 인터페이스(1520)를 포함할 수도 있다.
컴퓨팅 시스템(1500)은 또한 통신 인터페이스(1524)를 포함할 수 있다. 통신 인터페이스(1524)는, 소프트웨어 및 데이터가 컴퓨팅 시스템(1500)과 외부 디바이스 사이에서 전송되는 것을 허용하기 위해 사용될 수 있다. 통신 인터페이스(1524)의 예는, 모뎀, 네트워크 인터페이스(예컨대 이더넷 또는 다른 NIC 카드), (예를 들면, 범용 직렬 버스(universal serial bus; USB) 포트와 같은) 통신 포트, PCMCIA 슬롯 및 카드, 등등을 포함할 수 있다. 통신 인터페이스(1524)를 통해 전송되는 소프트웨어 및 데이터는, 통신 인터페이스(1524)에 의해 수신될 수 있는 전자, 전자기, 및 광학 또는 다른 신호일 수 있는 신호의 형태이다. 이들 신호는 채널(1528)을 통해 통신 인터페이스(1524)에 제공된다. 이 채널(1528)은 신호를 반송할 수도 있고 무선 매체, 유선 또는 케이블, 광섬유, 또는 다른 통신 매체를 사용하여 구현될 수도 있다. 채널의 몇몇 예는, 전화 라인, 셀룰러 전화 링크, RF 링크, 네트워크 인터페이스, 근거리 또는 광역 네트워크, 및 다른 통신 채널을 포함한다.
본 문서에서, 용어 '컴퓨터 프로그램 제품', '컴퓨터 판독 가능 매체' 및 등등은, 일반적으로, 예를 들면, 메모리(1508), 스토리지 디바이스(1518), 또는 저장 유닛(1522)과 같은 매체를 지칭하기 위해 사용될 수도 있다. 이들 및 다른 형태의 컴퓨터 판독 가능 매체는, 프로세서로 하여금 명시된 동작을 수행하게 하기 위해, 프로세서(1504)에 의한 사용을 위한 하나 이상의 명령어를 저장할 수도 있다. 일반적으로 '컴퓨터 프로그램 코드'(이것은 컴퓨터 프로그램 또는 다른 그루핑의 형태로 그룹화될 수도 있음)로 지칭되는 그러한 명령어는, 실행시, 컴퓨팅 시스템(1500)이 본 발명의 실시형태의 기능을 수행하는 것을 가능하게 한다. 코드는 직접적으로 프로세서로 하여금 명시된 동작을 수행하게 할 수도 있고, 그렇게 하도록 컴파일될 수도 있고, 및/또는 그렇게 하도록 다른 소프트웨어, 하드웨어, 및/또는 펌웨어 엘리먼트(예를 들면, 표준 기능을 수행하기 위한 라이브러리)와 결합될 수도 있다는 것을 유의한다.
엘리먼트가 소프트웨어를 사용하여 구현되는 실시형태에서, 소프트웨어는 컴퓨터 판독 가능 매체에 저장될 수도 있고, 예를 들면, 착탈식 저장 드라이브(1522), 드라이브(1512) 또는 통신 인터페이스(1524)를 사용하여 컴퓨팅 시스템(1500) 안으로 로딩될 수도 있다. 제어 로직(이 예에서, 소프트웨어 명령어 또는 컴퓨터 프로그램 코드)은, 프로세서(1504)에 의해 실행될 때, 프로세서(1504)로 하여금 본원에서 설명되는 바와 같은 본 발명의 기능을 수행하게 한다.
전술한 명세서에서, 본 발명은 본 발명의 실시형태의 특정한 예를 참조하여 설명되었다. 그러나, 첨부된 청구범위에서 기술되는 바와 같은 본 발명의 범위를 벗어나지 않으면서 다양한 수정 및 변경이 본 발명에서 이루어질 수도 있다는 것 및 청구범위가 상기에서 설명되는 특정한 예로 제한되지 않는다는 것이 명백할 것이다.
본원에서 논의되는 바와 같은 연결은, 예를 들면, 중간 디바이스를 통해 각각의 노드, 유닛 또는 디바이스로부터 또는 그들로 신호를 전달하기에 적절한 임의의 타입의 연결일 수도 있다. 따라서, 달리 암시되거나 또는 언급되지 않는 한, 연결은, 예를 들면, 직접적인 연결 또는 간접적인 연결일 수도 있다. 연결은, 단일의 연결, 복수의 연결, 단방향 연결, 또는 양방향 연결인 것과 관련하여 예시 또는 설명될 수도 있다. 그러나, 상이한 실시형태는 연결의 구현을 변경시킬 수도 있다. 예를 들면, 양방향 연결보다는, 별개의 단방향 연결이 사용될 수도 있으며, 그 반대도 가능하다. 또한, 복수의 연결은, 다수의 신호를 직렬로 또는 시간 멀티플렉싱된 방식으로 전송하는 단일의 연결로 대체될 수도 있다. 마찬가지로, 다수의 신호를 반송하는 단일의 연결은, 이들 신호의 서브세트를 반송하는 여러 가지 상이한 연결로 분리될 수도 있다. 따라서, 신호를 전송하기 위한 많은 옵션이 존재한다.
기술 분야의 숙련된 자는, 본원에서 묘사되는 아키텍쳐가 예시적인 것에 불과하다는 것, 및, 실제로는, 동일한 기능성을 달성하는 많은 다른 아키텍쳐가 구현될 수 있다는 것을 인식할 것이다.
동일한 기능성을 달성하기 위한 컴포넌트의 임의의 배열은, 소망되는 기능성이 달성되도록 효과적으로 '관련'된다. 그러므로, 특정한 기능성을 달성하기 위해 결합되는 본원에서의 임의의 두 개의 컴포넌트는, 아키텍쳐 또는 중간 컴포넌트에 관계 없이, 소망되는 기능성이 달성되도록 서로 '관련된'것으로 보일 수 있다. 마찬가지로, 그렇게 관련되는 임의의 두 개의 컴포넌트는 또한, 소망되는 기능성을 달성하기 위해 서로 '동작 가능하게 연결되는" 또는 "동작 가능하게 커플링되는"것으로 간주될 수 있다.
더구나, 기술 분야의 숙련된 자는, 상기에서 설명된 동작 사이의 경계가 예시적인 것에 불과하다는 것을 인식할 것이다. 다수의 동작은 단일의 동작으로 결합될 수도 있고, 단일의 동작은 추가 동작에서 분산될 수도 있고 동작은 적어도 부분적으로 중첩하는 시간에 실행될 수도 있다. 더욱이, 대안적인 실시형태는 특정한 동작의 다수의 인스턴스를 포함할 수도 있고, 동작의 순서는 다양한 다른 실시형태에서 수정될 수도 있다.
본 발명은, 이를 테면, 폴라 디코더의 기능성을 수행하도록 구성되는 마이크로프로세서를 포함하는 집적 회로 디바이스를 참조하여 본원에서 설명된다. 그러나, 본 발명은 그러한 집적 회로 디바이스로 제한되지 않으며, 임의의 대안적인 타입의 동작 기능성을 포함하는 집적 회로 디바이스에 동일하게 적용될 수도 있다는 것이 인식될 것이다. 대안적인 타입의 동작 기능성을 포함하는 그러한 집적 회로 디바이스의 예는, 단지 예로서, 주문형 집적 회로(application-specific integrated circuit; ASIC) 디바이스, 필드 프로그래머블 게이트 어레이(field-programmable gate array; FPGA) 디바이스, 또는 다른 컴포넌트와의 통합, 등등을 포함할 수도 있다. 더구나, 본 발명의 예시된 실시형태가, 대부분, 기술 분야의 숙련된 자에게 공지된 전자 컴포넌트 및 회로를 사용하여 구현될 수도 있기 때문에, 본 발명의 기저의 개념의 이해 및 인식을 위해 그리고 본 발명의 교시를 혼란하게 하거나 또는 산만하게 하지 않기 위해, 세부 사항은 필요한 것으로 간주되는 범위를 초과하여 설명되지는 않았다. 대안적으로, 회로 및/또는 컴포넌트 예는 임의의 수의 별개의 집적 회로 또는 적절한 방식으로 서로 인터커넥트되는 별개의 디바이스로서 구현될 수도 있다.
또한, 예를 들면, 예, 또는 그 일부는, 예컨대 임의의 적절한 타입의 하드웨어 기술 언어에서, 물리적 회로부의 또는 물리적 회로부로 변환 가능한 논리적 표현의 소프트 또는 코드 표현으로서 구현될 수도 있다.
또한, 본 발명은, 프로그래밍 불가능한 하드웨어로 구현되는 물리적 디바이스 또는 유닛으로 제한되는 것이 아니라, 본 출원에서 '컴퓨터 시스템'으로 일반적으로 언급되는, 미니 컴퓨터, 퍼스널 컴퓨터, 노트패드, 개인 휴대형 정보 단말, 전자 게임, 자동차 및 다른 임베디드 시스템, 셀 폰 및 다양한 다른 무선 디바이스와 같은, 적절한 프로그램 코드에 따라 동작하는 것에 의해 소망되는 폴라 인코딩을 수행할 수 있는 프로그래밍 가능한 디바이스 또는 유닛에서 또한 적용될 수 있다.
그러나, 다른 수정예, 변형예 및 대안예도 또한 가능하다. 따라서, 명세서 및 도면은 제한적인 의미라기 보다는 예시적인 의미로 간주되어야 한다.
청구범위에서, 괄호 사이에 배치되는 임의의 참조 부호는 청구범위를 제한하는 것으로 해석되지 않아야 한다. 단어 '포함하는(comprising)'은, 청구범위에서 열거되는 것들 이외의 다른 엘리먼트 또는 단계의 존재를 배제하지는 않는다. 더구나, 단수 형태의 표현들은, 본원에서 사용될 때, 하나 또는 복수로서 정의된다. 또한, 청구항에서의 '적어도 하나' 및 '하나 이상'과 같은 도입 어구(introductory phrase)의 사용은, 부정 관사 'a(한)' 또는 'an(한)'에 의한 다른 청구항 엘리먼트의 도입이, 그러한 도입된 청구항 엘리먼트를 포함하는 임의의 특정한 청구항을, 심지어 그 청구항이 도입 어구 '하나 이상의' 또는 '적어도 하나의' 및 'a(한)' 또는 'an(한)'과 같은 부정 관사를 포함하는 경우에도, 단지 하나의 그러한 엘리먼트만을 포함하는 발명으로 제한한다는 것을 의미하도록 해석되지 않아야 한다. 정관사(definite article)의 사용에 대해서도 동일하게 적용된다. 달리 언급되지 않는 한, '제1' 및 '제2'와 같은 용어는 그러한 용어가 설명하는 엘리먼트 사이를 임의적으로 구별하기 위해 사용된다. 따라서, 이들 용어는 반드시 그러한 엘리먼트의 시간적 또는 다른 우선 순위를 나타내도록 의도되는 것은 아니다. 소정의 조치가 상호 상이한 청구항에서 언급된다는 단순한 사실은, 이들 조치의 조합이 유리하게 사용될 수 없다는 것을 나타내지는 않는다.
참고 문헌
[1] E. Arikan, "Channel polarization: A method for constructing capacity-achieving codes for symmetric binary-input memoryless channels," IEEE Transactions on Information Theory, vol. 55, no. 7, pp. 3051-3073, July 2009.
[2] K. Niu and K. Chen, "CRC-aided decoding of polar codes," IEEE Communications Letters, vol. 16, no. 10, pp. 1668-1671, October 2012.
[3] Huawei, HiSilicon, "Polar code construction for NR," in 3GPP TSG RAN WG1 Meeting #86bis, Lisbon, Portugal, October 2016, R1-1608862.
[4] Huawei, HiSilicon, "Evaluation of channel coding schemes for control channel," in 3GPP TSG RAN WG1 Meeting #86bis, Lisbon, Portugal, October 2016, R1-1608863.
[5] CATT, "Polar codes design for eMBB control channel," in 3GPP TSG RAN WG1 AH NR Meeting, Spokane, USA, January 2017, R1-1700242.
[6] ZTE, ZTE Microelectronics, "Rate matching of polar codes for eMBB," in 3GPP TSG RAN WG1 Meeting #88, Athens, Greece, February 2017, R1-1701602.
[7] I. Tal and A. Vardy, "List decoding of polar codes," in 2011 IEEE International Symposium on Information Theory Proceedings, July 2011, pp. 1-5.
[8] Huawei, HiSilicon, "Sequence design for polar codes," in 3GPP TSG RAN WG1 Meeting #89, Hangzhou, China, May 2017, R1-1706966.
[9] Qualcomm Incorporated, "Polar code information bit allocation and nested extension construction," in 3GPP TSG RAN WG1 Meeting #88, Athens, Greece, February 2017, R1-1702646.
[10] Nokia, Alcatel-Lucent Shanghai Bell, "Sequence design for polar codes," in 3GPP TSG RAN WG1 Meeting #89, Hangzhou, China, May 2017, R1-1708834.
[11] NTT DOCOMO, "Sequence design of polar codes," in 3GPP TSG RAN WG1 Meeting #89, Hangzhou, China, May 2017, R1-1708489.
[12] Samsung, "Design of a nested polar code sequences," in 3GPP TSG RAN WG1 Meeting #89, Hangzhou, China, May 2017, R1-1708051.
[13] G. Sarkis, I. Tal, P. Giard, A. Vardy, C. Thibeault, and W. J. Gross, "Flexible and low-complexity encoding and decoding of systematic polar codes," IEEE Transactions on Communications, vol. 64, no. 7, pp. 2732-2745, July 2016.
[14] C. Leroux, A. J. Raymond, G. Sarkis, and W. J. Gross, "A semi-parallel successive-cancellation decoder for polar codes," IEEE Transactions on Signal Processing, vol. 61, no. 2, pp. 289-299, Jan 2013.
[15] G. Berhault, C. Leroux, C. Jego, and D. Dallet, "Hardware implementation of a soft cancellation decoder for polar codes," in 2015 Conference on Designand Architectures for Signal and Image Processing (DASIP), Sept 2015, pp. 1-8.
[16] Qualcomm Incorporated, "A comprehensive rate-matching scheme for polar codes and performance evaluation," in 3GPP TSG RAN WG1 Meeting #88bis, Spokane, USA, April 2017, R1-1705634.
[17] Huawei, "Summary of email discussion [NRAH2-11] Polar code sequence," in 3GPP TSG RAN WG1 Meeting #90, Prague, Czech Republic, August 2017, R1-1712174.
[18] MCC Support, "Draft Report of 3GPP TSG RAN WG1 #90 v0.1.0," in 3GPP TSG RAN WG1 Meeting #90, Prague, Czech Republic, August 2017.
[19] MediaTek, Qualcomm, Samsung, ZTE, "Way Forward on Rate-Matching for Polar Code," in 3GPP TSG RAN WG1 Meeting #90, Prague, Czech Republic, August 2017, R1-1715000.

Claims (74)

  1. 폴라 코딩(polar coding)을 수행하도록 구성되는 전자 디바이스로서,
    일련의(
    Figure pct00760
    개의) 클록 사이클에 걸쳐 비트 패턴 생성 프로세스를 연속적으로 수행하도록 구성되는 비트 패턴 생성기(3403); 및
    상기 비트 패턴 생성기(3403)에 동작 가능하게 커플링되며 상기 일련의(
    Figure pct00761
    개의) 클록 사이클에 걸쳐 연속하는 비트 패턴 생성 하위 프로세스의 수를 카운트하도록 구성되는 카운터(c, 4203)를 포함하고;
    상기 전자 디바이스(100)는, 상기 비트 패턴 생성기(3403)가,
    각각의 연속하는
    Figure pct00762
    개의 클록 사이클에서 비트 패턴 벡터(
    Figure pct00763
    )로부터 (w) 비트의 연속하는 서브세트(4204)를 제공하도록 구성되며; 상기 비트 패턴 벡터는 n 비트를 포함하고, 그 중 'k'(3804) 비트는 제1 이진 값을 채택하고, n - k 비트는 상보적 이진 값(complementary binary value)을 채택하는 것을 특징으로 하는, 폴라 코딩을 수행하도록 구성되는 전자 디바이스.
  2. 제1항에 있어서,
    상기 비트 패턴 생성기 회로(3403)는 (w) 개의 비교기(3802)의 뱅크를 포함하고, 비트 패턴 벡터로부터의 (w) 비트의 서브세트(4204)는,
    Figure pct00764
    비트 패턴 비트(
    Figure pct00765
    )의 각각이
    Figure pct00766
    개의 비교기(3802)의 뱅크에서의 대응하는 비교기로부터 획득되도록 하는 것인, 폴라 코딩을 수행하도록 구성되는 전자 디바이스.
  3. 제1항에 있어서,
    상기 비트 패턴 생성기(3403)는,
    입력 데이터 블록으로서 정보 블록(104)을 수신하고 n 비트 커널(kernal) 정보 블록(105)을 출력하는 인코더 내의 정보 블록 컨디셔닝(conditioning) 회로(101);
    입력 데이터 블록으로서 n 비트 커널 인코딩된 블록(106)을 수신하고 인코딩된 블록(107)을 출력하는 인코더 내의 인코딩된 블록 컨디셔닝 회로(103);
    입력 데이터 블록으로서 소프트 인코딩된 블록(109)을 수신하고 n 소프트 비트 소프트 커널 인코딩된 블록(113)을 출력하는 디코더 내의 인코딩된 블록 컨디셔닝 회로(110);
    입력 데이터 블록으로서 n 비트 복원된 커널 정보 블록(114)을 수신하고 복원된 정보 블록(115)을 출력하는 디코더 내의 정보 블록 컨디셔닝 회로(112)
    중 적어도 하나의 일부로서 상기 비트 패턴 생성 프로세스를 수행하도록 구성된 것인, 폴라 코딩을 수행하도록 구성되는 전자 디바이스.
  4. 제3항에 있어서,
    상기 비트 패턴 생성기(3403)는,
    상기 커널 정보 블록(105)의 연속하는 w 비트 서브세트가, 'w' 비트의 대응하는 입력 폭을 갖는 폴라 인코더 커널(polar encoder kernal)(102)로 집중되게 하는(funnelled) 인터레이서; 및
    상기 소프트 커널 인코딩된 블록(113)의 연속하는 w 소프트 비트 서브세트가 'w' 소프트 비트의 대응하는 입력 폭을 갖는 폴라 디코더 커널(111)에 집중되게 하는 인터레이서
    중 적어도 하나에서 수행하도록 구성된 것인, 폴라 코딩을 수행하도록 구성되는 전자 디바이스.
  5. 제1항 내지 제4항 중 어느 한 항에 있어서,
    상기 비트 패턴 생성기는, 'n' 비트 중 'k'(3804) 비트가 상기 제1 이진 값을 가지며 'n' 비트 중 'n - k' 비트가 상기 상보적 이진 값을 갖는 상기 비트 패턴 벡터(
    Figure pct00767
    )를 획득하도록 구성되되, n은 k보다 더 큰 2의 거듭제곱인 것인, 폴라 코딩을 수행하도록 구성되는 전자 디바이스.
  6. 제1항 내지 제5항 중 어느 한 항에 있어서,
    상기 비트 패턴 생성기 회로(3403)는 비트 패턴 리드 온리 메모리(Read Only Memory; ROM)(4201)에 동작 가능하게 커플링되고, 지원되는 비트 패턴 벡터(
    Figure pct00768
    )의 세트를 그 안에 저장하도록 구성된 것인, 폴라 코딩을 수행하도록 구성되는 전자 디바이스.
  7. 제6항에 있어서,
    상기 지원되는 비트 패턴 벡터(
    Figure pct00769
    )의 세트는, 오프라인의 사전 계산 프로세스에서 생성되고, 온라인의 비트 패턴 생성 프로세스 동안의 판독을 위해 상기 비트 패턴 ROM(4201)에 저장된 것인, 폴라 코딩을 수행하도록 구성되는 전자 디바이스.
  8. 제6항 또는 제7항에 있어서,
    상기 비트 패턴 ROM(4201)은 'w' 비트의 폭을 가지며, 각각의 비트 패턴 벡터(
    Figure pct00770
    )는
    Figure pct00771
    개의 연속하는 어드레스에 걸쳐 저장된 것인, 폴라 코딩을 수행하도록 구성되는 전자 디바이스.
  9. 제8항에 있어서,
    n < w의 경우, 상기 비트 패턴 벡터(
    Figure pct00772
    )가 상기 비트 패턴 ROM(4201)에서 단일의 어드레스의 폭을 점유하도록, 상기 비트 패턴 벡터(
    Figure pct00773
    )는 w - n 개의 더미 비트가 추가된 것인, 폴라 코딩을 수행하도록 구성되는 전자 디바이스.
  10. 제6항 내지 제9항 중 어느 한 항에 있어서,
    상기 비트 패턴 ROM(4201)은 제1 룩업 테이블(4202)에 동작 가능하게 커플링되되, 'k' 및 'n'의 값은, 상기 제1 룩업 테이블(4202)에 대한 입력으로서, 뿐만 아니라 각각의 비트 패턴 벡터(
    Figure pct00774
    ) 각각의 시작 어드레스를 식별하기 위해 상기 제1 룩업 테이블(4202)을 인덱싱(index)하기 위해 사용되는 것인, 폴라 코딩을 수행하도록 구성되는 전자 디바이스.
  11. 제6항 내지 제9항 중 어느 한 항에 있어서,
    상기 카운터(c, 4203)는 상기 비트 패턴 ROM(4201)에 동작 가능하게 커플링되고, 카운터 값을 '0'에서부터 't-1'까지 증분시키도록(increment) 구성되되, 상기 비트 패턴 벡터(
    Figure pct00775
    )의 연속하는 w개 엘리먼트 서브세트(b0, b1, b2, ..., bw - 1)를 판독하기 위해, 상기 카운터 값은 상기 비트 패턴 ROM(4201)의 시작 어드레스로부터의 오프셋으로서 사용되는 것인, 폴라 코딩을 수행하도록 구성되는 전자 디바이스.
  12. 제1항 내지 제4항 중 어느 한 항에 있어서,
    상기 비트 패턴 생성기(3403)는 상기 비트 패턴의 각각의 지원되는 길이('n')에 대한 순위 벡터(rank vector)(
    Figure pct00776
    )를 획득하기에 충분한 정보를 저장하도록 구성되는 순위(rank) ROM(3801)을 포함한 것인, 폴라 코딩을 수행하도록 구성되는 전자 디바이스.
  13. 제12항에 있어서,
    상기 비트 패턴의 특정한 길이('n')에 대한 상기 순위 벡터(
    Figure pct00777
    )는, 각각의 비트 위치의 순위에 대응하는 순서로 순열 배치되는(permuted) '0' 내지 'n - 1'의 범위 내의 정수들을 포함한 것인, 폴라 코딩을 수행하도록 구성되는 전자 디바이스.
  14. 제13항에 있어서,
    순위는 상기 제1 이진 값을 채택하는 상기 비트 패턴에서의 'n' 비트 중 'k'(3804) 개의 비트에 대한 최대 값을 나타내되, 상기 순위에 대한 상기 비트 패턴 벡터(
    Figure pct00778
    )에서의 대응하는 비트는 상기 상보적 이진 값을 갖는 것인, 폴라 코딩을 수행하도록 구성되는 전자 디바이스.
  15. 제12항 내지 제14항 중 어느 한 항에 있어서,
    각각의 특정한 순위 벡터(
    Figure pct00779
    )의 상기 시작 어드레스를 식별하기 위해, 상기 비트 패턴의 길이(n)는 제2 룩업 테이블(3803)을 인덱싱하도록 사용된 것인, 폴라 코딩을 수행하도록 구성되는 전자 디바이스.
  16. 제12항 내지 제15항 중 어느 한 항에 있어서,
    상기 순위 ROM(3801)은 다수의 멀티플렉싱된(multiplexed) 순위 ROM을 포함하되, 하나의 멀티플렉싱된 순위 ROM은 상기 비트 패턴의 길이('n')의 각각의 지원되는 값에 대응하는 상기 순위 벡터(
    Figure pct00780
    )를 저장하도록 구성된 것인, 폴라 코딩을 수행하도록 구성되는 전자 디바이스.
  17. 제15항 또는 제16항에 있어서,
    상기 비트 패턴 벡터(
    Figure pct00781
    )는, 상기 순위 벡터(
    Figure pct00782
    )의 각각의 엘리먼트를 'k'(3804)와 비교하도록 구성되는 (w) 개의 비교기(3802)의 뱅크를 사용하여 상기 제1 이진 값을 채택하는 상기 비트 패턴에서의 비트의 수인 k(3804) 및 상기 비트 패턴의 길이('n')의 각각의 조합에 대해 생성된 것인, 폴라 코딩을 수행하도록 구성되는 전자 디바이스.
  18. 제17항에 있어서,
    'k'(3804)와의 상기 순위 벡터(
    Figure pct00783
    )의 상기 엘리먼트의 각각의 비교는, 상기 엘리먼트가 'k'(3804)보다 더 작은지의 여부를 결정하기 위해 수행되는 것인, 폴라 코딩을 수행하도록 구성되는 전자 디바이스.
  19. 제12항 내지 제18항 중 어느 한 항에 있어서,
    상기 순위 ROM(3801) 내의 모든 엔트리는, log2(nmax) 비트의 폭을 갖는 고정 소수점 수(fixed point number)를 사용하여 저장되되, nmax는 상기 지원되는 비트 패턴 길이의 최대치인 것인, 폴라 코딩을 수행하도록 구성되는 전자 디바이스.
  20. 제12항 내지 제18항 중 어느 한 항에 있어서,
    n의 특정한 값에 대한 상기 순위 ROM(3801) 내의 모든 엔트리는 log2(n) 비트의 폭을 갖는 고정 소수점 수를 사용하여 저장된 것인, 폴라 코딩을 수행하도록 구성되는 전자 디바이스.
  21. 제12항 내지 제20항 중 어느 한 항에 있어서,
    상기 순위 ROM(3801)의 각각의 어드레스는 w 개의 고정 소수점 수를 저장하도록 구성된 것인, 폴라 코딩을 수행하도록 구성되는 전자 디바이스.
  22. 제21항에 있어서,
    상기 순위 ROM(3801)은, n < w인 경우에, 상기 순위 벡터(
    Figure pct00784
    )가 상기 순위 ROM(3801)에서 단일의 어드레스의 폭을 점유하도록, 상기 순위 벡터(
    Figure pct00785
    )에 w - n 개의 더미 엘리먼트를 추가하도록 구성된 것인, 폴라 코딩을 수행하도록 구성되는 전자 디바이스.
  23. 제12항 내지 제22항 중 어느 한 항에 있어서,
    상기 순위 ROM(3801)은, 상기 비트 패턴 생성 프로세스의 각각의 연속하는 하위 프로세스 동안, 상기 카운터(c, 4203)가 '0'에서부터 't-1'까지 카운터 값을 증분시키게끔 구성되도록, 상기 카운터(c, 4203)에 동작 가능하게 커플링되되, 상기 순위 벡터(
    Figure pct00786
    )의 연속하는 w개 엘리먼트 서브세트를 판독하기 위해, 상기 카운터 값은 상기 순위 ROM(3801)의 시작 어드레스로부터의 오프셋으로서 사용된 것인, 폴라 코딩을 수행하도록 구성되는 전자 디바이스.
  24. 제12항 내지 제23항 중 어느 한 항에 있어서,
    상기 비트 패턴 벡터(
    Figure pct00787
    )의 비트 패턴 비트는 2의 보수(two's complement) 고정 소수점 수 표현을 사용하여 순위 값 및 k 둘 모두를 표현하는 것에 의해 획득되고, 상기 비트 패턴 생성기 회로(3403)는 상기 순위 값으로부터 'k'(3804)의 2의 보수 감산을 수행하고, 그 다음, 최상위 비트(most significant bit; MSB)를 상기 비트 패턴 비트의 값으로서 사용한 것인, 폴라 코딩을 수행하도록 구성되는 전자 디바이스.
  25. 제12항 내지 제24항 중 어느 한 항에 있어서,
    상기 순위 ROM(3801)은, 상기 비트 패턴 벡터(
    Figure pct00788
    )가 대칭 속성(property)을 따를 때, 각각의 순위 벡터(
    Figure pct00789
    )의 전반부(first half)를 저장하도록 구성된 것인, 폴라 코딩을 수행하도록 구성되는 전자 디바이스.
  26. 제25항에 있어서,
    상기 대칭 속성은, 모든
    Figure pct00790
    에 대해 그리고 모든
    Figure pct00791
    에 대해, 인덱스(
    Figure pct00792
    Figure pct00793
    )를 갖는 상기 순위 벡터(
    Figure pct00794
    )에서의 엘리먼트들의 임의의 쌍이
    Figure pct00795
    로 합산되는 경우, 충족되는 것인, 폴라 코딩을 수행하도록 구성되는 전자 디바이스.
  27. 제12항 내지 제21항 중 어느 한 항에 있어서,
    상기 순위 ROM(3801)은, 각각의 순위 벡터(
    Figure pct00796
    )의 전반부만이
    Figure pct00797
    개의 연속하는 어드레스에 걸쳐 저장되도록, 'w' 개의 순위의 폭을 포함하되, n은 상기 순위 벡터(
    Figure pct00798
    )에 의해 지원되는 비트 패턴 길이인 것인, 폴라 코딩을 수행하도록 구성되는 전자 디바이스.
  28. 제27항에 있어서,
    n/2 < w인 경우, 상기 순위 벡터(
    Figure pct00799
    )는 'w - n' 개의 더미 엘리먼트가 추가되고 상기 순위 ROM(3801)에서 단일의 어드레스의 폭에 걸쳐 저장된 것인, 폴라 코딩을 수행하도록 구성되는 전자 디바이스.
  29. 제27항 또는 제28항에 있어서,
    c <
    Figure pct00800
    일 때 상기 비트 패턴 생성 프로세스의 연속하는 동작의 전반부 동안, 상기 순위 벡터(
    Figure pct00801
    )의 연속하는 w개 엘리먼트 서브세트는 상기 순위 ROM(3801)의 증분 어드레스로부터 획득되되, 상기 순위 ROM(3801)의 상기 시작 어드레스로부터의 상기 오프셋은 c에 의해 주어진 것인, 폴라 코딩을 수행하도록 구성되는 전자 디바이스.
  30. 제27항 내지 제29항 중 어느 한 항에 있어서,
    상기 순위 ROM(3801)에 동작 가능하게 커플링되는 w 개의 멀티플렉서(4003)의 뱅크를 더 포함하되, 상기 비트 패턴 생성 프로세스의 연속하는 동작의 전반부 동안, w 개의 멀티플렉서(4003)의 뱅크는 상기 w 개의 패턴 비트({b0, b1, b2, ..., bw - 1})의 순서를 유지하는 것인, 폴라 코딩을 수행하도록 구성되는 전자 디바이스.
  31. 제29항 또는 제30항에 있어서,
    상기 비트 패턴 벡터(
    Figure pct00802
    )의 비트 패턴 비트는 2의 보수 고정 소수점 수 표현을 사용하여 순위 값 및 k 둘 모두를 표현하는 것에 의해 획득되고, 상기 비트 패턴 생성기 회로(3403)는 상기 순위 값으로부터 'k'의 감산을 수행하고, 그 다음, 최상위 비트(MSB)를 상기 비트 패턴 비트의 값으로서 사용한 것인, 폴라 코딩을 수행하도록 구성되는 전자 디바이스.
  32. 제27항 또는 제28항에 있어서,
    상기 순위 ROM(3801)에 동작 가능하게 커플링되는 멀티플렉서(4004)를 더 포함하되,
    Figure pct00803
    일 때 상기 비트 패턴 생성 프로세스의 연속하는 동작의 후반부(second half) 동안, 상기 순위 벡터(
    Figure pct00804
    )의 연속하는 w개 엘리먼트 서브세트는 상기 순위 ROM(3801)의 감분 어드레스(decremental address)로부터 역순으로 획득되되, 상기 순위 ROM(3801)의 상기 시작 어드레스로부터의 오프셋은 상기 멀티플렉서(4004)에 의해 주어지고 상기 카운터 값('c')으로부터
    Figure pct00805
    로서 유도된 것인, 폴라 코딩을 수행하도록 구성되는 전자 디바이스.
  33. 제32항에 있어서,
    상기 비트 패턴 벡터(
    Figure pct00806
    )는, 상기 순위 벡터(
    Figure pct00807
    )의 각각의 엘리먼트를 'n - k'와 비교하도록 구성되는 (w) 개의 비교기(3802)의 뱅크를 사용하여 'k' 및 'n'의 각각의 조합에 대해 생성된 것인, 폴라 코딩을 수행하도록 구성되는 전자 디바이스.
  34. 제33항에 있어서,
    'n - k'와 상기 순위 벡터(
    Figure pct00808
    )의 엘리먼트의 각각의 비교는, 상기 순위 벡터(
    Figure pct00809
    )의 엘리먼트가 'n - k'보다 더 크거나 또는 같은지의 여부를 결정하기 위해 수행된 것인, 폴라 코딩을 수행하도록 구성되는 전자 디바이스.
  35. 제34항에 있어서,
    'n - k'와 상기 순위 벡터(
    Figure pct00810
    )의 엘리먼트의 각각의 비교는, 상기 순위 벡터(
    Figure pct00811
    )의 엘리먼트가 'n - k'보다 더 작은지의 여부를 결정하기 위해 사용되고 그 결과는 NOT 게이트를 통해 통과되는 것인, 폴라 코딩을 수행하도록 구성되는 전자 디바이스.
  36. 제32항 내지 제35항 중 어느 한 항에 있어서,
    상기 비트 패턴 비트는, 2의 보수 고정 소수점 수 표현을 사용하여, 순위 값 및 n - k 둘 모두를 표현하는 것에 의해 획득되고, 상기 비트 패턴 생성기 회로(3403)는 상기 순위 값으로부터 n - k의 감산을 수행하고, 그 다음, 결과의 최상위 비트(MSB)를 NOT 게이트를 통해 통과시키는 것인, 폴라 코딩을 수행하도록 구성되는 전자 디바이스.
  37. 제32항 내지 제36항 중 어느 한 항에 있어서,
    상기 순위 ROM(3801)에 동작 가능하게 커플링되는 w 개의 멀티플렉서(4003)의 뱅크를 더 포함하되, 상기 비트 패턴 생성 프로세스의 연속하는 동작의 후반부 동안, w 개의 멀티플렉서(4003)의 뱅크는 상기 w 개의 패턴 비트({b0, b1, b2, ..., bw - 1})의 순서를 반전시키는 것인, 폴라 코딩을 수행하도록 구성되는 전자 디바이스.
  38. 제18항에 있어서,
    상기 순위 벡터(
    Figure pct00812
    )의 엘리먼트는, 상기 비트 패턴의 길이('n')의 특정한 값에 대해, 본래의 형태로 순위 ROM(3801)에 저장되거나 또는 'n - 1'로부터 감산되고 감산된 형태로 순위 ROM(3801)에 저장된 것인, 폴라 코딩을 수행하도록 구성되는 전자 디바이스.
  39. 제38항에 있어서,
    상기 순위 벡터(
    Figure pct00813
    )의 순위가 'k'보다 더 작은지를 결정하기 위한 각각의 비교는, 비교기를 사용하여 감산된 형태의 순위가 'n - k'보다 더 크거나 또는 같은지를 결정하는 것에 의해 수행되고, 상기 순위 벡터(
    Figure pct00814
    )의 순위가 'n - k'보다 더 크거나 또는 같은지를 결정하기 위한 각각의 비교는, 비교기를 사용하여 감산된 형태의 순위가 'k'보다 더 작은지를 결정하는 것에 의해 수행된 것인, 폴라 코딩을 수행하도록 구성되는 전자 디바이스.
  40. 제27항 또는 제28항에 있어서,
    Figure pct00815
    개의 비교기(3802)의 뱅크는 상기 비트 패턴 생성 프로세스의 연속하는 동작의 전반부 및 상기 비트 패턴 생성 프로세스의 연속하는 동작의 후반부 둘 모두 동안 사용되는 것인, 폴라 코딩을 수행하도록 구성되는 전자 디바이스.
  41. 제40항에 있어서,
    Figure pct00816
    개의 비교기(3802)의 뱅크는 2의 보수 감산을 사용하여 구현되는 것인, 폴라 코딩을 수행하도록 구성되는 전자 디바이스.
  42. 제30항 또는 제31항에 있어서,
    Figure pct00817
    개의 비교기(3802)의 뱅크에 동작 가능하게 커플링되며 w 개의 비교기(3802)의 뱅크에 대한 입력으로서 'k' 또는 'n - k' 사이에서 선택하도록 구성되는 멀티플렉서(4001); 및
    Figure pct00818
    개의 비교기(3802)의 뱅크의 출력에 동작 가능하게 커플링되며
    Figure pct00819
    개의 비교기(3802)의 상기 비교기 뱅크의 출력을 반전시키도록 구성되는 w 개의 NOT 논리 게이트(4002)의 뱅크를 더 포함하는, 폴라 코딩을 수행하도록 구성되는 전자 디바이스.
  43. 제42항에 있어서,
    상기 순위 ROM(3801)에 동작 가능하게 커플링되는 w 개의 멀티플렉서(4003)의 뱅크를 더 포함하되, 상기 비트 패턴 생성 프로세스의 연속하는 동작의 후반부 동안, w 개의 멀티플렉서(4003)의 뱅크는 상기 w 개의 패턴 비트({b0, b1, b2, ..., bw - 1})의 순서를 반전시키는 것인, 폴라 코딩을 수행하도록 구성되는 전자 디바이스.
  44. 제1항 내지 제4항 중 어느 한 항에 있어서,
    상기 비트 패턴 생성기(3403)는 상기 비트 패턴 벡터의 내포(nested), 재귀(recursive) 및 산술(arithmetic) 속성을 활용하도록 구성된 것인, 폴라 코딩을 수행하도록 구성되는 전자 디바이스.
  45. 제44항에 있어서,
    n - k의 값을 (n - k) 번째로 가장 높은 비트 신뢰도를 갖는 비트의 인덱스(Qn(n - k))로 변환하기 위해 재귀 회로(4401)가 사용되는 것인, 폴라 코딩을 수행하도록 구성되는 전자 디바이스.
  46. 제45항에 있어서,
    상기 재귀 회로(4401)는 또한, 상기 인덱스(Qn(n - k))를 획득하기 위해, 압축된 정보를 언패킹하도록 구성된 것인, 폴라 코딩을 수행하도록 구성되는 전자 디바이스.
  47. 제44항 내지 제46항 중 어느 한 항에 있어서,
    재귀 회로(4401)에 동작 가능하게 커플링되며 비트 신뢰도 메트릭(bit reliability metric)이 범위 '0' 내지 '
    Figure pct00820
    ' 내의 자신의 인덱스에만 기초하여 상기 비트 패턴 벡터에서의 상기
    Figure pct00821
    비트의 각각에 대해 획득될 수 있는 경우 충족되는 산술 속성을 사용하여 상기 (n - k) 번째 순위를 갖는 상기 비트의 상기 인덱스(Qn(n - k))를 비트 신뢰도 메트릭(
    Figure pct00822
    (Qn(n - k))으로 변환하도록 구성되는 산술 회로(4402)를 더 포함하는, 폴라 코딩을 수행하도록 구성되는 전자 디바이스.
  48. 제43항 내지 제47항 중 어느 한 항에 있어서,
    분극화 가중치(Polarization Weight; PW) 시퀀스에서, 상기 비트 패턴 벡터(
    Figure pct00823
    )의 상기 재귀 속성은 상기 커널 정보 블록(105)에서 비트 사이의 관계를 결정하기 위해 사용되는 것인, 폴라 코딩을 수행하도록 구성되는 전자 디바이스.
  49. 제48항에 있어서,
    상기 비트 패턴 생성기 회로(3403)는,
    (i) 상기 비트 패턴 벡터(
    Figure pct00824
    )의 상기 재귀 속성이 동결 비트(frozen bit)인 것에 응답하여, 다른 선택된 비트도 또한 동결 비트일 것이다는 것; 또는
    (ii) 상기 비트 패턴 벡터(
    Figure pct00825
    )의 상기 재귀 속성이 정보 비트인 것에 응답하여, 다른 선택된 비트도 또한 정보 비트일 것이다는 것
    을 결정하는 것인, 폴라 코딩을 수행하도록 구성되는 전자 디바이스.
  50. 제48항에 있어서,
    상기 커널 정보 블록(105)에서 비트들 사이의 관계가 존재한다고 상기 비트 패턴 생성기 회로(3403)가 결정한 것에 응답하여, 상기 비트 패턴 생성기 회로(3403)는 적어도 하나의 산술 회로(4402)를 디스에이블하도록 구성된 것인, 폴라 코딩을 수행하도록 구성되는 전자 디바이스.
  51. 제46항에 있어서,
    상기 산술 회로(4402)에 동작 가능하게 커플링되며 상기 비트 패턴 벡터(
    Figure pct00826
    )를 생성하는 프로세스에서 사용되는 상기 비트 신뢰도 메트릭(
    Figure pct00827
    (Qn(n - k))을 저장하도록 구성된 레지스터(4403)를 더 포함하는, 폴라 코딩을 수행하도록 구성되는 전자 디바이스.
  52. 제44항 내지 제51항 중 어느 한 항에 있어서,
    상기 카운터(c, 4203)에 동작 가능하게 커플링되는 승산기(4404) 및 w - 1 개의 가산기(4405)의 뱅크를 더 포함하되, 일련의(
    Figure pct00828
    개의) 클록 사이클에 걸쳐 상기 비트 패턴 생성 프로세스의 각각의 연속하는 수행 동안, 상기 카운터는, 상기 비트 패턴 벡터(
    Figure pct00829
    )의 연속하는 w개 엘리먼트 서브세트(b0, b1, b2, ..., bw - 1)에 대한 비트 인덱스({cw, cw + 1, cw + 2, ..., cw + w - 1})를 획득하기 위해, 카운터 값(c)을 0에서부터 t - 1까지 증분시키도록 구성된 것인, 폴라 코딩을 수행하도록 구성되는 전자 디바이스.
  53. 제43항 내지 제52항 중 어느 한 항에 있어서,
    비트 신뢰도의 대응하는 시퀀스(
    Figure pct00830
    )를 계산하도록 구성되는 상기 산술 회로(4402)의 'w' 개의 레플리카(replica)의 뱅크(4406)를 더 포함하는, 폴라 코딩을 수행하도록 구성되는 전자 디바이스.
  54. 제53항에 있어서,
    (w) 개의 비교기(3802, 4407)의 뱅크는, 상기 대응하는 비트 신뢰도(
    Figure pct00831
    )가
    Figure pct00832
    보다 더 크거나 또는 같은지의 여부를 결정하는 것에 의해 상기 비트 패턴 벡터(
    Figure pct00833
    )의 대응하는
    Figure pct00834
    개의 엘리먼트를 획득하기 위해, 상기 계산된 대응하는 비트 신뢰도(
    Figure pct00835
    )를 상기 비트 신뢰도 메트릭(
    Figure pct00836
    )과 비교하도록 구성된 것인, 폴라 코딩을 수행하도록 구성되는 전자 디바이스.
  55. 제1항 내지 제5항 중 어느 한 항에 있어서,
    상기 승산기(4404) 및 w - 1 개의 가산기(4405)의 뱅크를 통해 상기 카운터(c, 4203)에 동작 가능하게 커플링되며, 반전된 비트 인덱스를 생성하기 위해, 각각의 비트 인덱스의 log2(n) 비트 이진 표현에서 비트의 순서를 반전시키도록 구성되는 'w' 개의 반전 모듈(reverse module)(4103)의 뱅크를 더 포함하는, 폴라 코딩을 수행하도록 구성되는 전자 디바이스.
  56. 제53항 내지 제55항 중 어느 한 항에 있어서,
    'w' 개의 반전 모듈(4103)의 뱅크에 동작 가능하게 커플링되며 상기 비트 인덱스 또는 상기 반전된 비트 인덱스 중 어느 하나를 'k' 또는 'n - k' 중 어느 하나와 비교하도록 구성되는 w 개의 비교기(4104)의 뱅크를 더 포함하는, 폴라 코딩을 수행하도록 구성되는 전자 디바이스.
  57. 제56항에 있어서,
    폴라 코더(polar coder)가 단축 스킴(shortening scheme)을 구현하는 것에 응답하여, w 개의 비교기(4104)의 뱅크는, 상기 대응하는 비트 인덱스 또는 반전된 비트 인덱스가 'k'보다 더 작은 경우 비트 패턴 비트({b0, b1, b2, ..., bw - 1})를 상기 제1 이진 값으로 그리고 다른 비트를 상기 상보적 이진 값으로 설정하도록 구성된 것인, 폴라 코딩을 수행하도록 구성되는 전자 디바이스.
  58. 제56항에 있어서,
    Figure pct00837
    개의 비교기(3802)의 뱅크는, 펑처링 스킴(puncturing scheme)에서 상기 대응하는 비트 인덱스 또는 반전된 비트 인덱스가 'n - k'보다 더 크거나 또는 같은 경우 비트 패턴 비트({b0, b1, b2, ..., bw - 1})를 상기 제1 이진 값으로, 그리고 다른 비트를 상기 상보적 이진 값으로 설정하도록 구성된 것인, 폴라 코딩을 수행하도록 구성되는 전자 디바이스.
  59. 제1항 내지 제5항 중 어느 한 항에 있어서,
    상기 폴라 코딩 내에서의 동결 비트 삽입 또는 동결 비트 제거는 상기 전자 디바이스에 의해 수행되고 적어도 두 개의 하위 프로세스를 포함하고, 상기 비트 패턴 생성기(3403)는, 일련의 제로 개 이상의 클록 사이클에 걸치는 제1 하위 프로세스가 선행하는 제2 하위 프로세스의 지속 기간에 걸치는 각각의 연속하는
    Figure pct00838
    개의 클록 사이클에서 상기 비트 패턴 벡터(
    Figure pct00839
    )로부터 (w) 비트의 상기 연속하는 서브세트(4204)를 제공하도록 구성된 것인, 폴라 코딩을 수행하도록 구성되는 전자 디바이스.
  60. 제59항에 있어서,
    상기 제2 하위 프로세스에서의 사용을 위해 상기 제1 하위 프로세스 동안 신뢰도 임계치(k)(3804)를 상기 비트 패턴 생성기(3403)의 입력에 제공하도록 배열되는 제1 논리 회로를 더 포함하는, 폴라 코딩을 수행하도록 구성되는 전자 디바이스.
  61. 제59항 또는 제60항에 있어서,
    상기 전자 디바이스는 적어도 두 개의 동작 모드를 지원하도록 구성되되, 각각의 동작 모드는, 인코딩된 비트의 수(M)가 커널 블록 사이즈(N)보다 더 작은지의 여부에 응답하여 활용되는 것인, 폴라 코딩을 수행하도록 구성되는 전자 디바이스.
  62. 제61항에 있어서,
    상기 적어도 두 개의 동작 모드는, M이 N보다 더 작지 않은 경우의 반복 동작 모드, M < N인 경우의 단축 동작 모드, M < N인 경우의 펑처링 동작 모드: 중 적어도 두 개를 포함하는 것인, 폴라 코딩을 수행하도록 구성되는 전자 디바이스.
  63. 제60항 내지 제62항 중 어느 한 항에 있어서,
    상기 제1 하위 프로세스는 제로 클록 사이클을 가지며, 상기 제2 하위 프로세스는 M이 N보다 더 작지 않은 경우 수행되고, 상기 임계 신뢰도 수(k)는, 최종 출력 비트 시퀀스(3409)에서 상기 제1 이진 값을 채택하는 K 비트의 수로 설정되는 것인, 폴라 코딩을 수행하도록 구성되는 전자 디바이스.
  64. 제62항 또는 제63항에 있어서,
    M이 N보다 더 작은 경우 상기 제1 하위 프로세스에서 컨트롤러의 제어 하에서 클록 사이클의 수를 카운트하도록 배열되는 제2 카운터에 동작 가능하게 커플링되는 상기 컨트롤러를 더 포함하고, 상기 제1 하위 프로세스는, 상기 비트 패턴 생성기 회로(3403)에 의해 출력되는 상기 비트 패턴 벡터(
    Figure pct00840
    )(4204)에 대한 중간 값에 포함되는 제1 이진 값을 갖는 비트의 수를 나타내는 순위 임계치(k)를 결정하는 것인, 폴라 코딩을 수행하도록 구성되는 전자 디바이스.
  65. 제64항에 있어서,
    상기 제2 하위 프로세스를 포함하는 상기 일련의(
    Figure pct00841
    개의) 클록 사이클에 걸쳐 이진 플래그 생성 프로세스를 연속적으로 수행하도록 구성되며 각각의 연속하는
    Figure pct00842
    개의 클록 사이클에서 (w) 개의 이진 플래그의 연속하는 서브세트를 제공하도록 구성되는 제2 논리 회로(4211)를 더 포함하는, 폴라 코딩을 수행하도록 구성되는 전자 디바이스.
  66. 제65항에 있어서,
    상기 비트 패턴 벡터(
    Figure pct00843
    )에서의 대응하는 비트가 레이트 매칭에 의해 동결되지 않는 경우 상기 이진 플래그가 상기 이진 플래그 생성 프로세스에서 설정되는 것인, 폴라 코딩을 수행하도록 구성되는 전자 디바이스.
  67. 제64항 내지 제66항 중 어느 한 항에 있어서,
    적어도, 상기 제2 논리 회로(4211)로부터 제1 입력을 그리고 상기 비트 패턴 생성기 회로(3403)로부터 제2 입력을 수신하도록 구성되는 제3 논리 회로(4212)를 더 포함하되, 상기 제3 논리 회로는, 상기 비트 패턴 생성기 회로(3403)로부터의 중간 비트 패턴 벡터(
    Figure pct00844
    )(4204)의 w 비트의 상기 서브세트에서의 한 비트가 제1 이진 값을 채택하고 상기 제2 논리 회로로부터의 복수의 이진 플래그로부터의 대응하는 플래그가 설정되는 경우 상기 제1 이진 값의 출력(3409)을 제공하도록 구성되고, 그에 의해, 상기 적어도 제1 및 제2 입력에 기초하여 중간 비트 패턴의 비트 패턴 벡터(
    Figure pct00845
    )를 조정하는 것인, 폴라 코딩을 수행하도록 구성되는 전자 디바이스.
  68. 제60항 내지 제67항 중 어느 한 항에 있어서,
    상기 제1 논리 회로는, 각각의 코딩되지 않은 비트가 레이트 매칭에 의해 동결되고 상기 제1 하위 프로세스 동안 레이트 매칭에 의해 동결되지 않는 코딩되지 않은 비트의 수를 감소하는 신뢰도의 순서로 카운트하도록 배열되는 비 동결 비트 카운터(non-frozen bit counter)를 상기 제1 논리 회로가 포함하는지의 여부를 결정하는 것에 의해 상기 제2 하위 프로세스에서 사용하기 위한 상기 신뢰도 임계치(k)를 식별하도록 배열되고, 일단 상기 카운트가 최종 출력 비트 시퀀스에서의 최종 값 비트의 수(K)에 도달하면, 그 결과, 상기 K 번째의 가장 신뢰 가능한 동결되지 않은 비트(unfrozen bit)의 상기 순위는 상기 순위 임계치(k)(3804)로서 결정되고, 상기 제1 논리 회로는 상기 비트 패턴 생성기(3403)에 대한 입력으로서 상기 순위 임계치(k)(3804)를 제공하는 것인, 폴라 코딩을 수행하도록 구성되는 전자 디바이스.
  69. 제59항 내지 제68항 중 어느 한 항에 있어서,
    상기 전자 디바이스는,
    반전된 시퀀스 - 상기 반전된 시퀀스의 각각의 연속하는 엘리먼트는 감소하는 신뢰도의 순서로 배열되는 각각의 연속하는 코딩되지 않은 비트의 위치를 나타냄 - 의 세트를 저장하도록 구성되는 상기 제1 논리 회로 내에 위치되는, 반전된 시퀀스 리드 온리 메모리(ROM)(4202)의 세트;
    디인터리버 패턴의 세트를 저장하도록 구성되는 상기 제1 논리 회로에 위치되는 디인터리버 ROM(4203)의 세트 - 상기 디인터리버 패턴의 각각의 엘리먼트는 레이트 매칭 동안 폴라 인코딩된 비트(polar encoded bit)의 인터리빙된 위치를 나타냄 - ;
    인터리빙된 시퀀스의 세트를 저장하도록 구성되는 상기 제1 논리 회로 내에 위치되는 인터리빙된 시퀀스 ROM(4204)의 세트;
    N의 특정한 값에 대응하는, 반전된 시퀀스 ROM의 연속하는 어드레스 및 인터리빙된 시퀀스 ROM의 연속하는 어드레스가 인덱싱되는, 상기 제1 하위 프로세스의 연속하는 클록 사이클에서 증분되는 제2 카운터(c1, 4206);
    상기 비트 패턴의 각각의 지원되는 길이('n')에 대한 순위 벡터(
    Figure pct00846
    )를 획득하기에 충분한 정보를 저장하도록 구성되는 상기 비트 패턴 생성기(3403) 내에 위치되는 순위 ROM(3801);
    상기 제1 논리 회로 내에 위치되며 각각의 연속하는 클록 사이클에서 반전된 시퀀스 ROM의 상기 세트 및 인터리빙된 시퀀스 ROM의 상기 세트로부터 판독되는 엘리먼트의 수신된 연속하는 세트에 기초하여 이진 플래그의 세트를 획득하도록 구성되는 기능 로직의 제1 세트(f1)(4207); 및
    상기 제1 논리 회로 내에 위치되며, 최종 출력 비트 시퀀스에서 레이트 매칭에 의해 동결되지 않는 코딩되지 않은 비트의 수(K)까지 이진 플래그의 상기 세트를 수신하고 카운트하도록 구성되는 누산기 논리 회로(accumulator logic circuit)(4208)
    중 적어도 하나를 더 포함하고, 상기 임계 신뢰도 수(k)(3804)는 상기 제1 하위 프로세스를 완료하도록 설정된 것인, 폴라 코딩을 수행하도록 구성되는 전자 디바이스.
  70. 제59항 내지 제69항 중 어느 한 항에 있어서,
    상기 논리 회로는 동결 비트를 상기 비트 패턴 벡터(
    Figure pct00847
    )에서의 상기 상보적 이진 값으로서 식별하도록 그리고, 정보 비트, 순환 중복 검사(cyclic redundancy check; CRC) 비트, 패리티 체크 동결 비트, 유저 기기 식별자(user equipment identifier; UE-ID) 비트, 해시 비트의 그룹 중 하나를 포함하는 비트를, 상기 비트 패턴 벡터(
    Figure pct00848
    )에서의 상기 제1 이진 값을 사용하여 식별하도록 구성된 것인, 폴라 코딩을 수행하도록 구성되는 전자 디바이스.
  71. 제1항 내지 제70항 중 어느 한 항에 있어서,
    상기 전자 디바이스는, 상기 비트 패턴 생성 프로세스를 수행하도록 구성되는 인코더를 포함하는 송신기, 상기 비트 패턴 생성 프로세스를 수행하도록 구성되는 디코더를 포함하는 수신기 중 적어도 하나를 포함한 것인, 폴라 코딩을 수행하도록 구성되는 전자 디바이스.
  72. 폴라 코딩을 수행하도록 구성되는 전자 디바이스용 집적 회로(3408)로서,
    일련의(
    Figure pct00849
    개의) 클록 사이클에 걸쳐 비트 패턴 생성 프로세스를 연속적으로 수행하도록 구성되는 비트 패턴 생성기(3403); 및
    상기 비트 패턴 생성기(3403)에 동작 가능하게 커플링되며 상기 일련의(
    Figure pct00850
    개의) 클록 사이클에 걸쳐 연속하는 비트 패턴 생성 하위 프로세스의 수를 카운트하도록 구성되는 카운터(c, 4203)를 포함하되;
    상기 집적 회로(3408)는,
    상기 비트 패턴 생성기(3403)가, 각각의 연속하는
    Figure pct00851
    개의 클록 사이클에서 비트 패턴 벡터(
    Figure pct00852
    )로부터 (w) 비트의 연속하는 서브세트를 제공하도록
    구성되며, 상기 비트 패턴 벡터는 n 비트를 포함하고, 그 중 'k' 비트는 제1 이진 값을 채택하고 n - k 비트는 상보적 이진 값을 채택한 것인, 폴라 코딩을 수행하도록 구성되는 전자 디바이스용 집적 회로(3408).
  73. 폴라 코딩 방법으로서,
    비트 패턴 생성기(3403)에 의해 일련의(
    Figure pct00853
    개의) 클록 사이클에 걸쳐 비트 패턴 생성 프로세스를 연속적으로 수행하는 단계; 및
    상기 일련의(
    Figure pct00854
    개의) 클록 사이클에 걸쳐 연속하는 비트 패턴 생성 하위 프로세스의 수를 카운트하는 단계를 포함하되,
    상기 방법은,
    각각의 연속하는
    Figure pct00855
    개의 클록 사이클에서 비트 패턴 벡터(
    Figure pct00856
    )로부터 (w) 비트의 연속하는 서브세트를 제공하는 단계를 특징으로 하고; 상기 비트 패턴 벡터는 'n' 비트를 포함하고, 그 중 'k' 비트는 제1 이진 값을 채택하고 n - k 비트는 상보적 이진 값을 채택한 것인, 폴라 코딩 방법.
  74. 폴라 인코딩을 위해 내부에 저장된 실행 가능한 코드를 포함하는 비일시적인 유형의(tangible) 컴퓨터 프로그램 제품으로서,
    상기 코드는, 비트 패턴 생성기(3403)에서 실행될 때,
    비트 패턴 생성기(3403)에 의해 일련의(
    Figure pct00857
    개의) 클록 사이클에 걸쳐 비트 패턴 생성 프로세스를 연속적으로 수행하도록; 그리고
    상기 일련의(
    Figure pct00858
    개의) 클록 사이클에 걸쳐 연속하는 비트 패턴 생성 하위 프로세스의 수를 카운트하도록
    각각의 연속하는
    Figure pct00859
    개의 클록 사이클에서 비트 패턴 벡터(
    Figure pct00860
    )로부터 (w) 비트의 연속하는 서브세트를 제공하도록
    동작 가능한 것을 특징으로 하되, 상기 비트 패턴 벡터는 'n' 비트를 포함하고, 그 중 'k' 비트는 제1 이진 값을 채택하고 n - k 비트는 상보적 이진 값을 채택한 것인, 실행 가능한 코드를 포함하는 비일시적인 유형의 컴퓨터 프로그램 제품.
KR1020207003885A 2017-07-10 2018-07-04 폴라 코드용의 블록 단위의 병렬 동결 비트 생성 KR102386191B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
GB1711055.2 2017-07-10
GBGB1711055.2A GB201711055D0 (en) 2017-07-10 2017-07-10 Electronic device with bit pattern generation, integrated circuit and method for polar coding
GB1714559.0 2017-09-11
GBGB1714559.0A GB201714559D0 (en) 2017-07-10 2017-09-11 Electronic device with frozen bit insertion and removal, integrated circuit and method for polar coding.
PCT/EP2018/065554 WO2019011555A1 (en) 2017-07-10 2018-07-04 GENERATION OF PARALLEL PARALLEL BITS FOR BLOCKS FOR POLAR CODES

Publications (2)

Publication Number Publication Date
KR20200066606A true KR20200066606A (ko) 2020-06-10
KR102386191B1 KR102386191B1 (ko) 2022-04-12

Family

ID=59676553

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020207003885A KR102386191B1 (ko) 2017-07-10 2018-07-04 폴라 코드용의 블록 단위의 병렬 동결 비트 생성

Country Status (9)

Country Link
US (2) US11043972B2 (ko)
EP (1) EP3649738A1 (ko)
JP (1) JP7365335B2 (ko)
KR (1) KR102386191B1 (ko)
CN (1) CN110999095B (ko)
AU (1) AU2018300569B2 (ko)
CA (1) CA3069482C (ko)
GB (2) GB201711055D0 (ko)
WO (1) WO2019011555A1 (ko)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10873345B2 (en) * 2018-02-05 2020-12-22 Qualcomm Incorporated Enhanced polar code construction
EP3780433A4 (en) * 2018-03-30 2021-06-02 LG Electronics Inc. METHOD FOR PERFORMING SIDELINK COMMUNICATION USING A POLAR CODE AND DEVICE FOR IT
US11924327B2 (en) * 2019-01-09 2024-03-05 British Telecommunications Public Limited Company Variable data protection
EP3681094B1 (en) * 2019-01-09 2021-11-10 British Telecommunications public limited company Impeding data access
US20210184795A1 (en) * 2019-12-16 2021-06-17 Nvidia Corporation Accelerated parallel processing of 5g nr signal information
KR20210081952A (ko) * 2019-12-24 2021-07-02 삼성전자주식회사 통신 시스템에서 극부호의 복호화 장치 및 방법
CN115720124A (zh) * 2021-08-24 2023-02-28 华为技术有限公司 一种编码、译码方法及通信装置

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB1545117A (en) * 1976-05-25 1979-05-02 Nat Res Dev Comparison apparatus eg for use in character recognition
US4639919A (en) * 1983-12-19 1987-01-27 International Business Machines Corporation Distributed pattern generator
US4688223A (en) * 1985-06-24 1987-08-18 International Business Machines Corporation Weighted random pattern testing apparatus and method
US5043988A (en) * 1989-08-25 1991-08-27 Mcnc Method and apparatus for high precision weighted random pattern generation
US5617531A (en) * 1993-11-02 1997-04-01 Motorola, Inc. Data Processor having a built-in internal self test controller for testing a plurality of memories internal to the data processor
US6061817A (en) * 1996-06-10 2000-05-09 Cypress Semiconductor Corp. Method and apparatus for generating test pattern for sequence detection
FR2750817B1 (fr) * 1996-07-05 1998-11-06 Matra Mhs Generateur d'impulsions electroniques programmables en duree et en frequence
JP2004246979A (ja) * 2003-02-14 2004-09-02 Fujitsu Ltd 半導体試験回路、半導体記憶装置および半導体試験方法
US7627790B2 (en) * 2003-08-21 2009-12-01 Credence Systems Corporation Apparatus for jitter testing an IC
US7860915B2 (en) * 2003-12-29 2010-12-28 Xilinx, Inc. Digital signal processing circuit having a pattern circuit for determining termination conditions
US20050154953A1 (en) * 2004-01-12 2005-07-14 Norskog Allen C. Multiple function pattern generator and comparator having self-seeding test function
US7596729B2 (en) * 2006-06-30 2009-09-29 Micron Technology, Inc. Memory device testing system and method using compressed fail data
WO2008122937A1 (en) * 2007-04-05 2008-10-16 Nxp B.V. Testable integrated circuit and test data generation method
US7673204B2 (en) * 2007-07-05 2010-03-02 International Business Machines Corporation Method using non-linear compression to generate a set of test vectors for use in scan testing an integrated circuit
US8228750B2 (en) * 2010-09-10 2012-07-24 Lsi Corporation Low cost comparator design for memory BIST
US8683254B2 (en) * 2011-01-07 2014-03-25 Anue Systems, Inc. Systems and methods for precise event timing measurements
US9176927B2 (en) * 2011-11-08 2015-11-03 The Royal Institution For The Advancement Of Learning/Mcgill University Methods and systems for decoding polar codes
US9223720B2 (en) * 2013-12-13 2015-12-29 Oracle International Corporation Systems and methods for rapidly generating suitable pairs of hash functions
RU2571587C2 (ru) * 2014-04-10 2015-12-20 Самсунг Электроникс Ко., Лтд. Способ и устройство кодирования и декодирования данных в скрученном полярном коде
US20150333775A1 (en) * 2014-05-15 2015-11-19 Broadcom Corporation Frozen-Bit Selection for a Polar Code Decoder
US10193578B2 (en) * 2014-07-10 2019-01-29 The Royal Institution For The Advancement Of Learning / Mcgill University Flexible polar encoders and decoders
CN104079382B (zh) * 2014-07-25 2017-07-28 北京邮电大学 一种基于概率计算的极化码译码器和极化码译码方法
CN104539393B (zh) * 2015-01-07 2018-01-12 北京邮电大学 一种基于极化码的信源编码方法
US10581462B2 (en) * 2015-12-01 2020-03-03 Huawei Technologies Co., Ltd. Signature-enabled polar encoder and decoder
CN105720992B (zh) * 2016-01-22 2019-07-23 哈尔滨工业大学深圳研究生院 一种极化码的简化译码方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Efficient soft cancellation decoder architectures for Polar codes (IEEE transactions on VLSI systems, January 2017) *

Also Published As

Publication number Publication date
JP7365335B2 (ja) 2023-10-19
US11265020B2 (en) 2022-03-01
JP2020532927A (ja) 2020-11-12
CA3069482C (en) 2023-01-31
GB201711055D0 (en) 2017-08-23
KR102386191B1 (ko) 2022-04-12
US20200204197A1 (en) 2020-06-25
WO2019011555A1 (en) 2019-01-17
GB201714559D0 (en) 2017-10-25
CA3069482A1 (en) 2019-01-17
US11043972B2 (en) 2021-06-22
CN110999095A (zh) 2020-04-10
EP3649738A1 (en) 2020-05-13
AU2018300569B2 (en) 2022-05-19
CN110999095B (zh) 2023-08-04
US20210242886A1 (en) 2021-08-05
AU2018300569A1 (en) 2020-02-13

Similar Documents

Publication Publication Date Title
KR102386191B1 (ko) 폴라 코드용의 블록 단위의 병렬 동결 비트 생성
US11190221B2 (en) Polar decoder with LLR-domain computation of f-function and g-function
CN106888026B (zh) 基于lsc-crc译码的分段极化码编译码方法及系统
CN110741558B (zh) 具有逻辑三维存储器的极化编码器、通信单元、集成电路及其方法
US11290129B2 (en) Polar encoder, communication unit, integrated circuit and method therefor
ENCDEIN et al. Information block
ENCDEIN et al. Kernal information block
CN117674858A (zh) 一种Hadamard_LDPC译码方法及译码器装置
KR101200073B1 (ko) 무선 통신 시스템의 채널 부호기

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant