KR102353777B1 - 낮은 복잡도 체계적 인코더를 이용하는 데이터 전송에서의 오류 정정을 위한 방법 및 시스템 - Google Patents

낮은 복잡도 체계적 인코더를 이용하는 데이터 전송에서의 오류 정정을 위한 방법 및 시스템 Download PDF

Info

Publication number
KR102353777B1
KR102353777B1 KR1020207018817A KR20207018817A KR102353777B1 KR 102353777 B1 KR102353777 B1 KR 102353777B1 KR 1020207018817 A KR1020207018817 A KR 1020207018817A KR 20207018817 A KR20207018817 A KR 20207018817A KR 102353777 B1 KR102353777 B1 KR 102353777B1
Authority
KR
South Korea
Prior art keywords
word
data
input
systematic
transform
Prior art date
Application number
KR1020207018817A
Other languages
English (en)
Other versions
KR20200093627A (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 KR20200093627A publication Critical patent/KR20200093627A/ko
Application granted granted Critical
Publication of KR102353777B1 publication Critical patent/KR102353777B1/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
    • 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
    • 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/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1148Structural properties of the code parity-check or generator matrix
    • 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/615Use of computational or mathematical techniques
    • 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/615Use of computational or mathematical techniques
    • H03M13/616Matrix operations, especially for generator matrices or check matrices, e.g. column or row permutations
    • 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/6522Intended application, e.g. transmission or communication standard
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0041Arrangements at the transmitter end
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0057Block codes
    • H04L1/0058Block-coded modulation

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Probability & Statistics with Applications (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Algebra (AREA)
  • Computing Systems (AREA)
  • Error Detection And Correction (AREA)

Abstract

데이터 체크를 갖는 체계적 폴라 엔코더(300, 500)는 전송을 위한 정보를 포함하는 입력 데이터(301, 501)를 수신하고 수정 데이터(303, 503)를 생성하는 데이터 맵퍼 (310, 510, 700), 및 좌표
Figure 112020067216918-pct00772
의 일부 서브 시퀀스에 대해,
Figure 112020067216918-pct00773
가 되도록 코드 워드
Figure 112020067216918-pct00774
(302, 502)를 생성하기 위해 수정된 데이터를 인코딩하는 변환 행렬(600)을 구현하는 비체계적 폴라 인코더(320, 400, 520)를 포함한다. 비체계적 인코딩의 경우, 변환 입력
Figure 112020067216918-pct00775
(406, 601)는, 역 펑처링 워드(405), 수정된 데이터(303, 401, 503), 및 수정된 데이터로부터 도출된 체크 워드(404)를 전달하는 것에 대한, 부분들을 포함한다. 변환 출력(407, 602)은 펑처 워드에 대한 부분, 데이터를 전달하는 부분 및 리던던트 심볼로서 기능하는 부분을 포함하고, 코드 워드
Figure 112020067216918-pct00776
Figure 112020067216918-pct00777
에 의해 변환 출력과 관련되며, 여기서
Figure 112020067216918-pct00778
는 펑처링된 부분
Figure 112020067216918-pct00779
의 보수이다.

Description

낮은 복잡도 체계적 인코더를 이용하는 데이터 전송에서의 오류 정정을 위한 방법 및 시스템{METHOD AND SYSTEM FOR ERROR CORRECTION IN TRANSMITTING DATA USING LOW COMPLEXITY SYSTEMATIC ENCODER}
본 출원은 일반적으로 오류 정정에 관한 것으로, 보다 구체적으로, 폴라 코드를 사용하여 데이터를 전송시 오류 정정을 위한 복잡도 낮은 체계적 인코더(systematic encoder)를 제공하는 것에 관한 것이다.
최신 디지털 데이터 전송(무선 전화, 무선 데이터 전송, 플레이어로의 광 디스크 전송, 음악 데이터를 수신하는 음악 플레이어 등)에서, 소스 인코더는 효율을 위해 전송될 데이터를 압축할 수 있고, 채널 인코더는 압축된 데이터를 수신하고 그에 중복성을 추가하여 전송 채널의 노이즈로부터 데이터를 보호할 수 있다. 채널의 다른 쪽 끝에 있는 수신기(때로는 "싱크"라고 함)는 인코딩 된 데이터를 수신하고 채널 디코더를 사용하여 채널 인코딩의 역을 수행하고, 다음으로 소스 인코딩의 역을 수행하는 소스 디코더가 이어진다. 그런 다음 디코딩 된 정보가 싱크에 의해, 예를 들어 광 디스크 플레이어 또는 음악 플레이어에 의해 또는 수신하는 전화에 의해 오디오로서 재생되거나, 또는 다른 경우 수신기에 의해 사용 및/또는 저장된다.
본 원리는 수신기에서 오류로부터 복구될 가능성을 향상시키기 위해 의도적으로 도입된 중복성을 포함할 수 있는 데이터의 전송을 위한 채널 인코딩에 초점을 둔다. 채널 인코딩은 일반적으로, 데이터 워드로부터 파생되고 데이터 워드보다 오류로부터 더 잘 보호되고 따라서 데이터 워드보다 전송에 더 적합한 "코드 워드"를 생성하기 위한 변환을 통해, "데이터 워드(data word)"라고 하는 전달하고자 하는 데이터를 전송하는 방식으로 작동한다. 본 개시의 목적으로, 행렬을 사용하여 데이터 워드를 곱하는 선형 블록 인코더가, 노이즈에 의해 발생하는 비트 오류율(BER)과 같은 오류율로 일반적으로 표현되는 노이즈에 대해 필요한 계산량 측면에서 충분히 "낮은 복잡도"를 가지면서 (절대는 아니지만) 상당한 보호를 제공한다는 허용 가능한 트레이드 오프를 달성할 수 있기 때문에 이러한 목적으로 사용되었다고 말할 수 있다. 수신된 신호의 BER을 줄이지만 기대하는 데이터 전송 속도를 위해 너무 많은 계산을 요구하는 더 높은 복잡도의 인코딩 체계는 실용적이지 않다.
새로운 유형의 선형 블록 코드는 폴라(polar) 코드이며, 이는 채널 용량을 달성할 수 있게 함으로써, 즉 전송 채널의 전체 용량이 이용될 수 있도록 데이터를 인코딩 할 수 있게 함으로써 구형 코드를 개선시킨다. 채널 양극화(Channel polarization)는 대칭 용량
Figure 112020067216918-pct00001
를 갖는 이진 입력 이산 비기억(discrete memoryless) 채널
Figure 112020067216918-pct00002
가 주어지면, N이 커질수록, 합성된 채널의
Figure 112020067216918-pct00003
의 일부분은 거의 완벽하게 되고 채널의 나머지 부분은 거의 쓸모없게 되는 것을 만족하는, N 개의 독립적인
Figure 112020067216918-pct00004
의 사본들 중 N 개의 이진 입력 채널들
Figure 112020067216918-pct00005
,
Figure 112020067216918-pct00006
의 제2 세트를 합성할 수 있는 사실을 의미한다. 이 아이디어를 기반으로 구성된 코드를 폴라 코드라고 한다. 비-체계적 폴라 인코더는 입력 데이터 워드 d 및 고정 워드 b를 변환 입력 워드 u에 수집하고 이를 변환 행렬
Figure 112020067216918-pct00007
와 곱하여 코드 워드 x, 즉
Figure 112020067216918-pct00008
를 렌더링함으로써 폴라 코딩을 수행한다.
폴라 코드에 사용된 변환 행렬
Figure 112020067216918-pct00009
는 크로네커 곱(Kronecker product)을 기반으로 하며, 원하는 채널 속도 또는 용량에 적합한 크기로 설정된다. 폴라 코딩은 본질적으로 데이터 워드 d를 전달하기 위해 변환 입력 워드 u의 일부 요소를 선택하면서 변환 입력 워드의 나머지 요소를 "동결 (freezing)"(인코딩에 사용하지 않음)하는 것과 관련이 있다. 데이터 워드 d를 전달하도록 선택된 변환 입력 워드의 요소는 사실상 채널 양극화에 의해 생성된 비교적 양호한 채널을 "참조(see)"하는 반면, 동결된 b의 요소는 비교적 불량한 채널을 "참조(see)"한다. 본 명세서에 참고로 포함되고 본 출원의 파일 이력에 포함된, 논문 E. Arikan [Arik1], "Channel Polarization: A Method for Constructing Capacity-Achieving Code for Symmetric Binary-Input Memoryless Channels" IEEE Trans. Inf. Theory, volume 55, 3051-3073 페이지 (2009 년 7 월), 은 폴라 코드를 도입했으며 "양호한(good)" 채널만을 사용하여 노이즈가 있는 상태에서 채널 양극화를 수행하고 데이터를 안정적으로 전송하는 방법을 설명한다. 폴라 코드는 실제 적용에 관심을 끌었으며 성능을 개선하기 위한 여러 가지 방법이 제안되었다.
폴라 코딩 성능을 향상시키기 위해 제안된 한 가지 방법은 체계적 인코딩이다 [Arik2]. 폴라 코드의 체계적 인코딩에는 몇 가지 장점이 있다. 먼저 [Arik2, Li]에 나타난대로, 폴라 코드의 비트 오류율(BER) 성능을 향상시킨다. 둘째, [Arik2]에서 지적되고 [Wu]에서 자세히 연구된 "터보 같은(turbo-like)" 폴라 코드의 구성을 허용한다. 셋째, [Feng, Moha]에서와 같이, 하이브리드 자동 재송 요구(HARQ) 방식을 위한 방법을 개발하기 위해 폴라 코드의 체계적 인코딩도 유리하게 적용되었다. 낮은 복잡도 방식으로 폴라 코드의 체계적 인코딩을 수행하기 위한 재귀적 방법이 [Arik3]에 개시되어 있다. 체계적 폴라 인코딩을 위해 [Arik3]의 재귀 원리를 이용하는 구체적인 방법은 [Chen, Sark1, Sark2, Vang]에 개시됐다.
[Huaw1], [Huaw2], [Huaw3] 및 [Intel]과 같은 표준화 기구 내에서의 폴라 코딩에 관한 최근의 연구는 기존의 폴라 코드의 체계적 인코딩 방법과 호환되지 않는 폴라 코딩에 대한 특정한 수정을 제안한다. 이 연구에서, 본 목적에 중요한 두 가지 주요 수정이 제안되었다. 먼저 수신기에서 목록 디코더의 성능을 향상시키기 위해 일반적으로 순환 중복 검사(CRC) 형식의 특정 양의 중복성이 데이터에 삽입된다 [Tal, Huaw1, Huaw2, Intel]. 둘째, 폴라 코드의 길이와 속도를 원하는 값으로 조정하는 방법으로 "펑처링(puncturing)"이 적용된다 [Huaw3, Wang]. 전술한 "데이터 체크" 및 "펑처링" 방법은 폴라 코드의 비-체계적 인코딩의 프레임 워크 내에서 제안되었다.
그러나, 본 명세서에서 인식되는 바와 같이, 인용된 작업에서 제안된 바와 같은 데이터 체크 및 펑처링은 폴라 코드의 구조를 왜곡시키고, 폴라 코드의 체계적 인코딩의 기존 방법을 적용할 수 없게 한다.
본 원리는, 채널 용량 활용을 최대화하고 노이즈로부터의 내성을 최대화하는 동시에, 낮은 계산 복잡도를 나타내면서 예상되는 데이터 전송 환경에서 실현 가능하게 동작하기 위하여 비-체계적 인코딩의 경우에 비해 수반되는 성능 불이익이 없도록 폴라 코드용 체계적 인코더가 전송되는 신호에 데이터 체크를 삽입할 수 있도록 하는 것이 바람직하다는 것을 중요하게 인식한다.
참조:
[Arik1] 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, 2009 년 7 월.
[Arik2] E. Arikan, "Systematic Polar Coding," IEEE Communications Letters, vol. 15, no. 8, pp. 860-862, 2011 년 8 월.
[Arik3] E. Arikan, "Method and system for error correction in transmitting data using low complexity systematic encoder," U.S. Patent No. 8,347,186 B1, 2013년 1월 1일.
[Chen] G. T. Chen, Z. Zhang, C. Zhong, and L. Zhang, "A Low Complexity Encoding Algorithm for Systematic Polar Codes," IEEE Communications Letters, vol. 20, no. 7, pp. 1277-1280, 2016년 7월.
[Feng] B. Feng, Q. Zhang, and J. Jiao, "An Efficient Rateless Scheme Based on the Extendibility of Systematic Polar Codes," IEEE Access, vol. PP, no. 99, pp. 1-1, 2017년.
[Huaw1] R1-1709995, Polar code construction, Huawei, HiSilicon, 3GPP TSG RAN WG1 NR Ad-Hoc#2, 칭다오, 중국, 2017년 6월 27일-30일.
[Huaw2] R1-1709996, Parity check bits for Polar code, Huawei, Hi Silicon, 3GPP TSG RAN WG1 NR Ad-Hoc#2, 칭다오, 중국, 2017년 6월 27일-30일.
[Huaw3] R1-167209, Polar code design and rate matching, Huawei, HiSilicon, 3GPP TSG RAN WG1 Meeting #86, 예테보리, 스웨덴, 2016년 8월 22일-26일.
[Intel] R1-1711347, Simple distributed CRC design for Polar codes, Intel Corporation, 3GPP TSG RAN WG1 Meeting NR-Adhoc#2, 칭다오, P.R. 중국, 2017년 6월 27일-30일.
[Moha] M. S. Mohammadi, I. B. Collings, and Q. Zhang, "Simple Hybrid ARQ Schemes Based on Systematic Polar Codes for IoT Applications," IEEE Communications Letters, vol. PP, no. 99, pp. 1-1, 2017년.
[Sark1] G. Sarkis, P. Giard, A. Vardy, C. Thibeault, and W. J. Gross, "Fast Polar Decoders: Algorithm and Implementation," IEEE Journal on Selected Areas in Communications, vol. 32, no. 5, pp. 946-957, 2014년 5월.
[Sark2] 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, 2016년 7월.
[Tal] I. Tal and A. Vardy, "List decoding of polar codes," in 2011 IEEE International Symposium on Information Theory Proceedings (ISIT), 2011, pp. 1-5.
[Vang] H. Vangala, Y. Hong, and E. Viterbo, "Efficient Algorithms for Systematic Polar Encoding," IEEE Communications Letters, vol. 20, no. 1, pp. 17-20, 2016년 1월.
[Wang] R. Wang and R. Liu, "A Novel Puncturing Scheme for Polar Codes," IEEE Communications Letters, vol. 18, no. 12, pp. 2081-2084, 2014년 12월.
[Wu] D. Wu, A. Liu, Y. Zhang, and Q. Zhang, "Parallel concatenated systematic polar codes," Electronics Letters, vol. 52, no. 1, pp. 43-45, 2015년 11월.
상기에 기재된 간행물은 본 명세서에 참고로 포함된다.
데이터 체크를 갖는 체계적 폴라 엔코더는 좌표
Figure 112020067216918-pct00010
의 일부 서브 시퀀스에 대해,
Figure 112020067216918-pct00011
가 되도록 코드 워드
Figure 112020067216918-pct00012
를 생성하기 위해 수정된 데이터 워드
Figure 112020067216918-pct00013
를 인코딩하는 변환 행렬
Figure 112020067216918-pct00014
를 구현하는 비체계적 폴라 인코더와 함께, 전송을 위해 폴라 코딩될 정보를 포함하는 입력 데이터
Figure 112020067216918-pct00015
를 수신하고 수정된 데이터
Figure 112020067216918-pct00016
를 생성하는 데이터 맵퍼를 포함한다. 비체계적 인코딩 동작은, 데이터 워드
Figure 112020067216918-pct00017
와 독립적인 고정 워드
Figure 112020067216918-pct00018
에 대해
Figure 112020067216918-pct00019
를 만족하는 부분
Figure 112020067216918-pct00020
, 데이터 워드
Figure 112020067216918-pct00021
와 독립적인 고정 워드인, 역 펑처링 워드
Figure 112020067216918-pct00022
에 대해
Figure 112020067216918-pct00023
를 만족하는 부분
Figure 112020067216918-pct00024
,
Figure 112020067216918-pct00025
인 수정된 데이터를 전달하는 부분
Figure 112020067216918-pct00026
, 체크 생성기 함수
Figure 112020067216918-pct00027
에 의해
Figure 112020067216918-pct00028
인 수정된 데이터로부터 도출된 체크 워드를 전달하는 부분
Figure 112020067216918-pct00029
-부분
Figure 112020067216918-pct00030
는 엄격히 비-널(non-null)임-, 을 포함하는 변환 입력
Figure 112020067216918-pct00031
를 특징으로 한다. 변환 입력
Figure 112020067216918-pct00032
에 대응하는 것은, 데이터 워드
Figure 112020067216918-pct00033
와 독립적인 고정 워드인 펑처링 워드
Figure 112020067216918-pct00034
에 대해
Figure 112020067216918-pct00035
를 만족하는 펑처링된 부분
Figure 112020067216918-pct00036
,
Figure 112020067216918-pct00037
인 데이터
Figure 112020067216918-pct00038
를 전달하는 부분
Figure 112020067216918-pct00039
, 리던던트 심볼로서 기능하는 부분
Figure 112020067216918-pct00040
을 포함하는
Figure 112020067216918-pct00041
에 의해 주어진 변환 출력
Figure 112020067216918-pct00042
이고, 코드 워드
Figure 112020067216918-pct00043
Figure 112020067216918-pct00044
에 의한 변환 출력과 관련되며, 여기서
Figure 112020067216918-pct00045
는 펑처링된 부분
Figure 112020067216918-pct00046
의 보수이다. 변환 행렬
Figure 112020067216918-pct00047
, 입력 파티션
Figure 112020067216918-pct00048
및 출력 파티션
Figure 112020067216918-pct00049
Figure 112020067216918-pct00050
가 가역이고,
Figure 112020067216918-pct00051
,
Figure 112020067216918-pct00052
이 되도록 선택하고, 바람직하게는 체크 생성기 함수
Figure 112020067216918-pct00053
가 아핀(affine) 함수가 되고,
Figure 112020067216918-pct00054
가 가역이고,
Figure 112020067216918-pct00055
, 및
Figure 112020067216918-pct00056
이 되도록 선택된다.
이하의 상세한 설명을 수행하기 전에, 본 특허 명세서 전체에 걸쳐 사용된 특정 단어 및 문구의 정의를 제시하는 것이 바람직할 수 있다. 용어 "결합(couple)" 및 그 파생어는 이들 요소가 서로 물리적으로 접촉하는지 여부에 관계없이 둘 이상의 요소 사이의 임의의 직접 또는 간접 접촉을 의미한다. "전송(transmit)", "수신(receive)" 및 "통신(communicate)"이라는 용어 및 그 파생어는 직접 및 간접 통신을 모두 포함한다. 용어 "포함하다(include)" 및 "포함하다(comprise)" 및 이의 파생어는 제한없이 포함되는 것을 의미한다. "또는(or)" 이라는 용어는 포괄적이고, 및/또는 을 의미한다. "연관된(associated with)"및 이의 파생어는 포함하다(include), 안에 포함되다(be included within), 상호 연결(interconnect with), 포함하다(contain), 안에 들어있다(be contained within), 연결된(connect to or with), 결합된(couple to or with), 통신할 수 있는(be communicable with), 협력하다(cooperate with), 인터리브(interleave), 나란히 놓임(juxtapose), 근접하다(be proximate to), 결합되어 있는(be bound to or with), 가지다(have), 특성이 있는(have a property of), 관계가 있는(have a relationship to or with) 등과 같은 의미를 가진다. "제어기(controller)"라는 용어는 적어도 하나의 동작을 제어하는 임의의 디바이스, 시스템 또는 그 일부를 의미한다. 이러한 제어기는 하드웨어 또는 소프트웨어 및/또는 펌웨어 중 하나 또는 둘 모두와 함께 하드웨어의 조합으로 구현될 수 있다. 특정 제어기와 연관된 기능은 로컬 또는 원격으로, 중앙 집중식 또는 분산형일 수 있다. 항목 목록과 함께 사용될 때 "적어도 하나"라는 표현은 하나 이상의 나열된 항목의 상이한 조합이 사용될 수 있으며, 목록에서 하나의 항목만이 필요할 수 있음을 의미한다. 예를 들어, "A, B 및 C 중 적어도 하나"는 다음 조합 중 임의의 것을 포함한다: A; B; C; A 및 B; A 및 C; B 및 C; 및 A, B 및 C.
또한, 후술되는 다양한 기능들은 하나 이상의 컴퓨터 프로그램에 의해 구현되거나 지원 될 수 있으며, 이들 각각은 컴퓨터 판독 가능 프로그램 코드로 형성되고 컴퓨터 판독 가능 매체에 구현된다. "애플리케이션" 및 "프로그램"이라는 용어는 하나 이상의 컴퓨터 프로그램, 소프트웨어 구성 요소, 명령어 세트, 프로시저, 함수, 객체, 클래스, 인스턴스, 관련 데이터, 또는 적절한 컴퓨터 판독 가능 프로그램 코드에서의 구현에 적합한 그 일부일 수 있다. "컴퓨터 판독 가능 프로그램 코드"라는 문구는 소스 코드, 객체 코드 및 실행 가능 코드를 포함한 모든 유형의 컴퓨터 코드를 포함한다. "컴퓨터 판독 가능 매체"라는 문구는 판독 전용 메모리 (ROM), 랜덤 액세스 메모리 (RAM), 하드 디스크 드라이브, 컴팩트 디스크 (CD), 디지털 비디오 디스크 (DVD) 또는 기타 유형의 메모리와 같은 컴퓨터에 의해 액세스 될 수 있는 임의의 유형의 매체를 포함한다. "비 일시적" 컴퓨터 판독 가능 매체는 일시적 전기 또는 다른 신호를 전송하는 유선, 무선, 광학 또는 다른 통신 링크를 배제한다. 비 일시적 컴퓨터 판독 가능 매체는 데이터가 영구적으로 저장될 수 있는 매체, 및 재기록 가능 광 디스크 또는 소거 가능 메모리 디바이스와 같이 데이터가 저장되고 나중에 덮어쓰기 될 수 있는 매체를 포함한다.
다른 특정 단어 및 문구에 대한 정의는 본 개시 전반에 걸쳐 제공된다. 당업자는 대부분의 경우에, 그러한 정의는 그렇게 정의된 단어와 구의 이전 및 미래의 사용에도 적용된다는 것을 이해해야 한다.
본 개시 및 그 장점에 대한 보다 완전한 이해를 위해, 이제 첨부 도면과 관련하여 취해진 다음의 설명을 참조하며, 같은 참조 번호는 같은 부분을 나타낸다:
도 1은 본 개시의 실시예들에 따른 데이터 전송시의 복잡도 낮은 체계적 인코더를 사용하는 오류 정정의 실시예들이 있는 통신 시스템을 도시한다;
도 2는 본 개시의 실시예 내에서 이용될 수 있는 데이터 체크를 갖는 비-체계적 인코더의 단순화된 도면이다;
도 3은 본 개시의 실시예 내에서 이용될 수 있는 데이터 체크를 갖는 체계적 인코더의 단순화된 도면이다;
도 4는 본 개시의 실시예들에 따른 비-체계적 폴라 인코더를 도시한다.
도 5는 본 개시의 실시예들에 따른 데이터 체크를 갖는 체계적 폴라 인코더를 도시한 도면이다;
도 6은 변환 입력 워드
Figure 112020067216918-pct00057
에 곱하여 변환 출력
Figure 112020067216918-pct00058
, 즉
Figure 112020067216918-pct00059
를 렌더링하는 폴라 변환 행렬
Figure 112020067216918-pct00060
를 도시한다;
도 7은 본 개시의 실시예에 따른 체계적 인코더에 통합된 파티셔닝(partitioning)을 갖는 데이터 맵퍼(mapper)를 도시한다;
도 8은 본 개시에 따라 데이터 전송시의 복잡도 낮은 체계적 인코더를 이용하여 오류 정정이 구현될 수 있는 예시적인 무선 네트워크를 도시한다;
도 9a는 본 개시에 따라 데이터 전송시의 복잡도 낮은 체계적 인코더를 이용하여 오류 정정이 구현될 수 있는 예시적인 사용자 장비 네트워크를 도시한다; 그리고
도 9b는 본 개시에 따라 데이터 전송시의 복잡도 낮은 체계적 인코더를 이용하여 오류 정정이 구현될 수 있는 예시적인 enhanced NodeB(eNB) 네트워크를 도시한다.
이하에서 논의되는 도 1 내지 도 9b 및 본 특허 명세서에서 본 개시의 원리를 설명하기 위해 사용된 다양한 실시예는 단지 예시적인 것이며 본 개시의 범위를 제한하는 것으로 해석되어서는 안된다. 당업자는 본 개시의 원리가 적절히 구성된 통신 시스템에서 구현될 수 있다는 것을 이해할 것이다.
코딩 이론에서 확립된 규칙에 따라, 시스템에서의 데이터 워드, 패리티 워드 및 코드 워드는 본 명세서에서 유한 필드
Figure 112020067216918-pct00061
에 대한 벡터로 표현되며, 여기서
Figure 112020067216918-pct00062
는 필드 내의 요소의 수를 나타낸다. 필드 요소(스칼라)는
Figure 112020067216918-pct00063
와 같은 일반 소문자로 표시된다. 필드 위의 벡터는 소문자 볼드체, 예를 들어,
Figure 112020067216918-pct00064
로 표현되며, 여기서
Figure 112020067216918-pct00065
은 벡터의 길이를 나타낸다. 표기법
Figure 112020067216918-pct00066
는 벡터
Figure 112020067216918-pct00067
Figure 112020067216918-pct00068
번째 좌표를 나타낸다. 길이가
Figure 112020067216918-pct00069
인 벡터의 요소가 정수
Figure 112020067216918-pct00070
로 인덱싱되는 규칙이 사용된다. 따라서, 벡터
Figure 112020067216918-pct00071
은 그 요소의 관점에서
Figure 112020067216918-pct00072
또는 대안적으로
Figure 112020067216918-pct00073
로 표시된다. 필드 위의 행렬은 예를 들어
Figure 112020067216918-pct00074
와 같이 대문자 볼드체로 표현되며, 여기서
Figure 112020067216918-pct00075
Figure 112020067216918-pct00076
의 행 수를 나타내고
Figure 112020067216918-pct00077
Figure 112020067216918-pct00078
의 열 수를 나타낸다.
Figure 112020067216918-pct00079
표기법은
Figure 112020067216918-pct00080
Figure 112020067216918-pct00081
번째 행과
Figure 112020067216918-pct00082
번째 열에 있는 요소를 나타낸다.
Figure 112020067216918-pct00083
개의 행과
Figure 112020067216918-pct00084
개의 열이 있는 행렬의 요소는 정수
Figure 112020067216918-pct00085
,
Figure 112020067216918-pct00086
,
Figure 112020067216918-pct00087
의 쌍으로 인덱싱된다. 따라서, 행렬
Figure 112020067216918-pct00088
은 그 요소의 관점에서
Figure 112020067216918-pct00089
로 표시된다. 행렬
Figure 112020067216918-pct00090
의 크기는
Figure 112020067216918-pct00091
의 요소 수로 정의된다. 따라서
Figure 112020067216918-pct00092
개의 행과
Figure 112020067216918-pct00093
개의 열을 가진 행렬의 크기는
Figure 112020067216918-pct00094
이다. 모두 제로인 벡터와 모두 제로인 행렬은
Figure 112020067216918-pct00095
으로 표시된다.
주어진 벡터의 서브-벡터 또는 주어진 행렬의 서브-행렬이 종종 고려된다. 이러한 서브 벡터 또는 서브 행렬을 특정하기 위해 튜플(주어진 인덱스 세트에 대해 고유한 인덱스의 순서가 지정된 목록)이 사용되며
Figure 112020067216918-pct00096
,
Figure 112020067216918-pct00097
와 같은 기울임 꼴 대문자로 표시된다. 튜플
Figure 112020067216918-pct00098
의 요소 수는
Figure 112020067216918-pct00099
로 표시된다.
예를 들어,
Figure 112020067216918-pct00100
Figure 112020067216918-pct00101
이면
Figure 112020067216918-pct00102
이고; 반면에
Figure 112020067216918-pct00103
이면
Figure 112020067216918-pct00104
이다. 행렬과 그 서브 행렬에도 비슷한 표기법이 적용된다. 예를 들어,
Figure 112020067216918-pct00105
,
Figure 112020067216918-pct00106
, 및
Figure 112020067216918-pct00107
이면,
Figure 112020067216918-pct00108
이다. 일반적으로, 벡터
Figure 112020067216918-pct00109
Figure 112020067216918-pct00110
에 대한 k-튜플
Figure 112020067216918-pct00111
인덱스에 대해,
Figure 112020067216918-pct00112
는 서브 벡터
Figure 112020067216918-pct00113
를 나타낸다. 마찬가지로,
Figure 112020067216918-pct00114
개의 행과
Figure 112020067216918-pct00115
개의 열이 있는 행렬
Figure 112020067216918-pct00116
,
Figure 112020067216918-pct00117
에 대한 m-튜플
Figure 112020067216918-pct00118
Figure 112020067216918-pct00119
에 대한 n-튜플
Figure 112020067216918-pct00120
에 대해,
Figure 112020067216918-pct00121
표기는 서브-행렬
Figure 112020067216918-pct00122
를 나타낸다.
각 인덱스
Figure 112020067216918-pct00123
이 튜플
Figure 112020067216918-pct00124
중 하나에만 속하고 각 튜플
Figure 112020067216918-pct00125
의 각 요소가 인덱스 세트
Figure 112020067216918-pct00126
에 속하는 경우, 튜플의 튜플
Figure 112020067216918-pct00127
을 인덱스 세트
Figure 112020067216918-pct00128
의 파티션이라고 한다.
Figure 112020067216918-pct00129
의 모든 파티션
Figure 112020067216918-pct00130
은 각 벡터
Figure 112020067216918-pct00131
Figure 112020067216918-pct00132
(비연속) 서브 벡터
Figure 112020067216918-pct00133
,
Figure 112020067216918-pct00134
로 분할한다. 마찬가지로
Figure 112020067216918-pct00135
Figure 112020067216918-pct00136
Figure 112020067216918-pct00137
Figure 112020067216918-pct00138
의 모든 파티션 쌍은 행 인덱스 세트가
Figure 112020067216918-pct00139
이고 열 인덱스 세트가
Figure 112020067216918-pct00140
인 각 행렬
Figure 112020067216918-pct00141
Figure 112020067216918-pct00142
(비 연속) 서브 행렬
Figure 112020067216918-pct00143
,
Figure 112020067216918-pct00144
,
Figure 112020067216918-pct00145
로 분할한다.
행 벡터
Figure 112020067216918-pct00146
과 행렬
Figure 112020067216918-pct00147
의 곱은
Figure 112020067216918-pct00148
로 표시된다. 두 행렬
Figure 112020067216918-pct00149
Figure 112020067216918-pct00150
의 크로네커 곱은 다음과 같이 정의된다:
Figure 112020067216918-pct00151
이는
Figure 112020067216918-pct00152
x
Figure 112020067216918-pct00153
행렬이다. 행렬
Figure 112020067216918-pct00154
Figure 112020067216918-pct00155
인 경우 행렬
Figure 112020067216918-pct00156
Figure 112020067216918-pct00157
의 크로네커 곱으로 인수분해된다고 한다. 행렬
Figure 112020067216918-pct00158
Figure 112020067216918-pct00159
번째 크로네커 거듭곱은
Figure 112020067216918-pct00160
에 대해,
Figure 112020067216918-pct00161
를 가지는
Figure 112020067216918-pct00162
로 재귀적으로 정의된다.
인코딩 동작은 데이터 워드, 패리티 워드 및 코드 워드의 벡터 표현의 다양한 변환을 포함한다. 용어 "변환(transform)"은 선형 벡터 공간 변환을 지칭하기 위해 아래에서 사용된다. 변환은 행렬로 표시된다. 변환은 일반적으로 특정 행렬 표현과 함께 아래에 지칭된다; 예를 들어, "변환
Figure 112020067216918-pct00163
"는 특정 기저(basis)의 행렬
Figure 112020067216918-pct00164
에 의해 표현되는 변환을 지칭한다.
Figure 112020067216918-pct00165
범위의 정수
Figure 112020067216918-pct00166
에 대해,
Figure 112020067216918-pct00167
이 각
Figure 112020067216918-pct00168
에 대해 0 또는 1이고
Figure 112020067216918-pct00169
인 경우,
Figure 112020067216918-pct00170
Figure 112020067216918-pct00171
의 이진 확장이다.
Figure 112020067216918-pct00172
,
Figure 112020067216918-pct00173
범위의 임의의 두 정수
Figure 112020067216918-pct00174
에 대해,
Figure 112020067216918-pct00175
표기법은 모든
Figure 112020067216918-pct00176
에 대해
Figure 112020067216918-pct00177
라는 의미에서,
Figure 112020067216918-pct00178
의 이진 확장
Figure 112020067216918-pct00179
Figure 112020067216918-pct00180
의 이진 확장
Figure 112020067216918-pct00181
보다 우세하다(dominate)는 의미를 나타내기 위해 사용된다. "
Figure 112020067216918-pct00182
"와 "
Figure 112020067216918-pct00183
Figure 112020067216918-pct00184
보다 우세하다(dominate)"라는 문구가 동의어로 사용된다. 0에서
Figure 112020067216918-pct00185
범위의 정수 세트에서 관계 ""는 "부분 순서(partial order)"를 정의한다. 반사관계(reflexive): 모든
Figure 112020067216918-pct00186
에 대해,
Figure 112020067216918-pct00187
; 비대칭: 구분되는
Figure 112020067216918-pct00188
Figure 112020067216918-pct00189
에 대해
Figure 112020067216918-pct00190
인 경우, 역인
Figure 112020067216918-pct00191
는 참일 수 없다; 이행성(transitive):
Figure 112020067216918-pct00192
Figure 112020067216918-pct00193
이면
Figure 112020067216918-pct00194
이다. 관계 ">"는
Figure 112020067216918-pct00195
Figure 112020067216918-pct00196
가 모두 참이 아닌 정수
Figure 112020067216918-pct00197
Figure 112020067216918-pct00198
가 있다는 의미에서 "부분 순서"("전 순서(total order)"와 반대)이다. 예를 들어 14(이진수 1110)도 7(이진수 0111)도 서로 다른 것에 우세하지 않는다.
폴라 코딩에 중요한 특수한 변환 유형은 변환
Figure 112020067216918-pct00199
이며 여기서
Figure 112020067216918-pct00200
이고
Figure 112020067216918-pct00201
Figure 112020067216918-pct00202
Figure 112020067216918-pct00203
번째 크로네커 거듭곱이다. 잘 알려진 [Arik1] 속성은
Figure 112020067216918-pct00204
을 이진 확장 사이의 우세 관계와 연결한다: 행과 열이 0으로 시작하여 색인화되고 인덱스가
Figure 112020067216918-pct00205
,
Figure 112020067216918-pct00206
범위의 값을 갖는
Figure 112020067216918-pct00207
인 경우에만
Figure 112020067216918-pct00208
이다. 예를 들어,
Figure 112020067216918-pct00209
일 때,
Figure 112020067216918-pct00210
Figure 112020067216918-pct00211
가 거짓이므로
Figure 112020067216918-pct00212
이고, 반면 모든
Figure 112020067216918-pct00213
에 대해
Figure 112020067216918-pct00214
이므로
Figure 112020067216918-pct00215
이다.
본 원리에 중요한 변환
Figure 112020067216918-pct00216
의 주요 속성은
Figure 112020067216918-pct00217
와 같은
Figure 112020067216918-pct00218
(고유한) 좌표의 모든 튜플의 경우 서브 행렬
Figure 112020067216918-pct00219
은 가역이라는 것이다. 이것은
Figure 112020067216918-pct00220
의 원소가
Figure 112020067216918-pct00221
인 오름차순이면
Figure 112020067216918-pct00222
가 대각선에 1들을 갖는 하삼각형인 것을 보고 알 수 있다.
Figure 112020067216918-pct00223
가 오름차순이 아닌 경우, 오름차순으로
Figure 112020067216918-pct00224
의 좌표를 갖는 튜플
Figure 112020067216918-pct00225
를 고려할 수 있다.
Figure 112020067216918-pct00226
Figure 112020067216918-pct00227
는 행과 열의 치환에 의해서만 다르므로, 하나는 다른 하나가 가역성이 있는 경우에만 가역성이 있다.
변환
Figure 112020067216918-pct00228
의 두 번째 주요 속성은, 임의의 두 개의 튜플
Figure 112020067216918-pct00229
Figure 112020067216918-pct00230
에 대해, 서브 행렬
Figure 112020067216918-pct00231
는 어떠한
Figure 112020067216918-pct00232
의 요소
Figure 112020067216918-pct00233
Figure 112020067216918-pct00234
의 임의의 요소
Figure 112020067216918-pct00235
에 우세하지 않는 경우에만 모두 제로인 행렬과 동일하다. 즉, 모든
Figure 112020067216918-pct00236
Figure 112020067216918-pct00237
에 대해
Figure 112020067216918-pct00238
가 거짓인 경우에만
Figure 112020067216918-pct00239
이다.
상기를 염두에 두고, 처음의 도 1을 참조하면, 본 개시의 실시예들에 따른 데이터를 전송함에 있어서 복잡도 낮은 체계적 인코더를 사용하는 오류 정정 시스템의 실시예들이 사용될 수 있는 통신 시스템(10)이 도시되어 있다. 도시된 바와 같이, 입력 데이터를 수신하고, 수신된 데이터를 인코딩 및 변조하며, 인코딩 및 변조된 데이터를 전송 매체(30)로 전송하는 전송 시스템(20)을 포함한다. 또한, 시스템(10)은 전송 매체(30)으로부터 수신된 데이터를 수신, 복조(demodulate) 및 디코딩하는 수신 시스템(40)을 포함한다.
본 원리는 다양한 전송 시스템 및 매체에 적용된다는 것을 이해해야 한다. 예를 들어, 무선 통신 시스템에서, 전송 매체(30)는 일반적으로 공간 또는 대기(atmosphere)이며, 이 경우 통신 시스템(10)은 무선 통신 시스템이다. 그러한 실시예에서, 전송 시스템(20) 및 수신 시스템(40)은 각각 송신기(150) 및 수신기(160)에 각각 결합된 안테나(들)를 포함한다. 그러나, 본 발명의 다른 실시예는 유선 통신 시스템에서 구현될 수 있으며, 이 경우에 전송 매체(30)는 전송 시스템(20)을 수신 시스템(40)에 연결하는 케이블 또는 와이어일 수 있다. 본 개시의 실시예는 또한 저장 시스템을 위해 구현될 수 있으며, 이 경우 전송 매체(30)는 자기 테이프, 하드 디스크 드라이브, 광 디스크 드라이브, 솔리드 스테이트 메모리 또는 다른 저장 매체일 수 있다.
당업자에게 명백한 바와 같이, 입력 데이터(110)는 보통 최종적으로 수신 시스템(40)으로의 전송을 위해 전송 시스템(20)에 입력된다. 소스 인코더(120)는 전송되어야 하는 데이터의 양이 감소되도록 입력 데이터(110)를 압축한다. 소스 인코더(120)로부터 출력된 데이터는 채널 인코더(130)에 의해 인코딩되며, 이는 아래에서 더 상세히 설명되는 바와 같이 구성된다. 이러한 인코딩은 전송 매체(30)를 통한 전송 동안 도입될 수 있는 오류에 대해 데이터가 보다 강력하게 전송되게 한다. 본 원리에 따르면, 채널 인코더(130)는 체계적 인코더를 구현한다. 이러한 인코딩 후에, 데이터는 변조기(140)에 의해 변조되고 전송 매체(30)를 통해 수신 시스템(40)으로 전송하기 위해 송신기(150)에 제공된다. 송신기(150)는 정보를 전송 매체(30)를 통해 전송될 수 있는 신호로 변환하는 임무를 갖는다. 예를 들어, 송신기(150)는 전송 매체(30)가 전파일 때 안테나를 갖는 무선 주파수(RF) 무선 송신기일 수 있거나, 송신기(150)는 광을 광섬유 케이블로 보내는 레이저 디바이스일 수 있다.
수신 시스템(40)은 일반적으로 전송 매체(30)로부터 신호를 수신하고 이를 복조 및 디코딩하여 출력 데이터(195)를 추출한다. 보다 구체적으로, 수신 시스템(40)의 수신기(160)는 전송 매체(30)으로부터 신호를 수신하고 그 신호를 복조기(170)에 전달하여 수신된 신호를 복조한다. 그 후 복조된 신호는 채널 디코더(180)로 전송되고, 이는 전송된 데이터의 추정치로서 디코딩 된 데이터를 생성하고, 디코딩 된 데이터는 데이터를 압축 해제(및 선택적으로 검증)하기 위해 소스 디코더(190)로 전송된다. 복조기(170), 채널 디코더(180) 및 소스 디코더(190)는 노이즈 효과 및 시스템의 기타 비-이상적인 사항에 의해 제한이 부과되는 변조기(140), 채널 인코더(130) 및 소스 인코더(120) 각각에 의해 수행된 동작의 역을 각각 수행한다는 것이 쉽게 이해될 것이다. 어떠한 경우든, 통신 시스템(10)이 그것의 설계 파라미터 내에서 적절하게 설계되고 동작된다면, 추출 된 출력 데이터(195)는 입력 데이터(110)와 높은 신뢰성으로 일치시켜야 한다.
본 원리에 따르면, 송신 시스템(20)의 각각의 컴포넌트(120, 130, 140 및 150) 및 수신 시스템(40)의 각각의 컴포넌트(160, 170, 180 및 190)는 전기 회로를 포함하고, 도 1의 시스템에 따라 다양한 칩들이 서로 통신하는, 자체 반도체 칩 상에 구현될 수 있다. 또는, 하나의 반도체 칩은 전송 시스템의 전부 또는 다수의 컴포넌트를 가질 수 있고, 두 번째 반도체 칩은 수신 시스템의 전부 또는 다수의 컴포넌트를 가질 수 있다. 이러한 칩은 본 명세서에서 설명된 것과 같은 논리 게이트의 회로를 구현할 수 있다. 또한, 전기 회로를 포함하고 하드웨어로 구현된(선택적으로는 소프트웨어 또는 펌웨어에 의해 프로그램 된) 액세스 로직을 포함하는 디지털 신호 프로세서(DSP)와 같은 프로세서는, 각각의 전송 시스템(20) 및 (별도의 프로세서상에서) 수신 시스템(40)의 하나 이상의 컴포넌트의 기능(들)을 실행할 수 있다. 소프트웨어가 프로세서 구현의 일부를 구성하는 경우 (디지털 로직 및 아날로그 신호 처리 전기 회로 형태의 하드웨어인 경우에 더하여), DSP와 같은 머신이 로직에 따라 방법 단계를 실행하도록, 소프트웨어는 디스크 기반 또는 솔리드 스테이트 스토리지와 같은 컴퓨터 판독 가능 저장 매체에 저장되지만 이에 제한되지는 않는다. 어떠한 경우든, 채널 인코더(130)가 반도체 칩 상에 구현될 때, 칩의 회로는 본 명세서의 설명에 따른 체계적 인코더를 정의하는 코딩 회로를 설정한다. 유사하게, 채널 인코더(130)가 하드웨어 구현 로직(또는, 선택적으로, 하드웨어 로직의 소프트웨어 구현 로직 프로그래밍)에 액세스하는 프로세서에 의해 구현될 때, 로직을 갖는 프로세서는 본 명세서의 설명에 따른 체계적 인코더를 정의하는 회로를 설정한다. 상기 구현들의 조합이 사용될 수 있다.
도 2를 참조하면, 데이터(또는, "데이터 워드")
Figure 112020067216918-pct00240
(201)를 수신하고 이를 코드 워드
Figure 112020067216918-pct00241
(202)로 변환하는 데이터 체크(200)를 갖는 비-체계적 인코더의 단순화된 다이어그램이 도시되어 있다. 데이터 체크를 갖는 비-체계적 인코더(200)는 데이터
Figure 112020067216918-pct00242
를 입력으로서 취하고 체크 워드
Figure 112020067216918-pct00243
(203)를 출력으로서 생성하는 리던던시(또는 "체크") 생성기
Figure 112020067216918-pct00244
(210)를 포함하고, 체크 워드
Figure 112020067216918-pct00245
(203)는 데이터
Figure 112020067216918-pct00246
의 함수
Figure 112020067216918-pct00247
로서 계산된 비-널(non-null) 심볼 시퀀스의 형태를 갖고, 이는 수신기의 디코더가 보다 안정적인 결정을 내리기 위해 활용할 수 있는 여분의 중복성을 제공한다. 인코더 입력 어셈블러(220)는 데이터
Figure 112020067216918-pct00248
(201)와 체크 워드
Figure 112020067216918-pct00249
(203)를 인코더 입력
Figure 112020067216918-pct00250
(204)로 결합한다. 인코더(230)는 인코더 입력
Figure 112020067216918-pct00251
(204)를 수신하고 코드 워드
Figure 112020067216918-pct00252
(202)를 생성한다. 인코더(230)는 인코더 입력
Figure 112020067216918-pct00253
(204)(따라서 데이터
Figure 112020067216918-pct00254
(201) 및 체크 워드
Figure 112020067216918-pct00255
(203))가 코드 워드
Figure 112020067216918-pct00256
(202)와의 미리 결정된 함수적(예를 들어, 산술 또는 논리) 관계를 만족시키도록 함수
Figure 112020067216918-pct00257
를 구현한다. 데이터 체크(200)를 갖는 비-체계적 인코더는 데이터
Figure 112020067216918-pct00258
(201)가 코드 워드
Figure 112020067216918-pct00259
(202)의 일부로서 투명하게 나타나는 것이 보장되지 않는다는 점에서 비-체계적이다. 일부 응용에서, 코드 워드
Figure 112020067216918-pct00260
(202)의 일부는 “펑처링” 될 수 있거나, 다시 말해서, 채널로 전송되지 않을 수 있다. 펑처링은 주로 코드 워드의 길이를 지정된 값으로 조정하는 것이다. 본 원리는 체크 워드(203)를 포함하는 데이터 체크가 있을 때뿐만 아니라 펑처링이 적용될 때에도 적용된다.
도 3을 참조하면, 데이터 체크를 갖는 체계적 인코더(300)는 도 2의 데이터 체크를 가진 비-체계적 인코더(200)의 체계적 버전이다. 데이터 체크를 갖는 체계적 인코더(300)는 데이터
Figure 112020067216918-pct00261
(301)를 수신하여 그것을 코드 워드
Figure 112020067216918-pct00262
(302)로 변환한다. 코드 워드
Figure 112020067216918-pct00263
(302)는 일련의 심볼들이며, 좌표
Figure 112020067216918-pct00264
의 일부 서브 시퀀스에 대해
Figure 112020067216918-pct00265
라는 의미에서 데이터
Figure 112020067216918-pct00266
(301)를 투명하게 포함한다. 데이터 체크를 갖는 체계적 인코더(300)는 데이터 맵퍼(310) 및 데이터 체크를 갖는 비-체계적 인코더(320)를 포함한다. 데이터 맵퍼(310)는 데이터
Figure 112020067216918-pct00267
(301)를 수정된 데이터
Figure 112020067216918-pct00268
(303)에 매핑하는 맵퍼이다. 수정된 데이터
Figure 112020067216918-pct00269
(303)는 데이터 체크를 갖는 비-체계적 인코더(320)에 의해 수신되며, 이는 도 2에 도시된 유형의 비-체계적 인코더(200)이다. 비-체계적 인코더(320)는 수정된 데이터
Figure 112020067216918-pct00270
(303)를 처리하고 코드 워드
Figure 112020067216918-pct00271
(302)를 생성한다.
본 개시에 의해 해결되는 하나의 문제점은 데이터 체크를 갖는 비-체계적 인코더를 데이터 체크를 갖는 체계적 인코더로 바꾸는 데이터 맵퍼의 구성이다. 이러한 데이터 맵퍼의 직접적 구현은 인코딩 프로세스의 일부로서 리던던시를 포함하기 때문에 엄청나게 복잡할 수 있음에 유의해야 한다. 본 명세서에 기술된 본 원리는 폴라 코드의 경우에 이러한 데이터 맵퍼를 구현하기 위한 낮은 복잡성 방법의 개발을 다루고, 이는 본 개시의 대상에 대한 주요 적용 영역이다.
도 4는 본 개시의 실시예에 따른 데이터 체크 및 펑처링을 포함하는 폴라 인코더인 비-체계적 폴라 인코더(400)를 도시한다. 비-체계적 폴라 인코더(400)는 도 2의 비-체계적 인코더(200)의 특별한 예이며, 특수한 경우의 폴라 코드에 대해 더 상세하게 명시되어 있다.
비-체계적 폴라 인코더(400)는 처리 블록으로서 체크 생성기(410), 변환 입력 어셈블러(420), 폴라 변환
Figure 112020067216918-pct00272
(430), 및 펑처(puncturer)(440)를 포함한다. 이들 처리 블록은 데이터
Figure 112020067216918-pct00273
(401), 코드 워드
Figure 112020067216918-pct00274
(402), 고정 워드
Figure 112020067216918-pct00275
(403), 체크 워드
Figure 112020067216918-pct00276
(404) 및 역 펑처링 워드
Figure 112020067216918-pct00277
(405)를 포함하는 다수의 심볼(신호) 시퀀스에서 동작한다.
비-체계적 폴라 인코더(400)는 입력으로서 데이터
Figure 112020067216918-pct00278
(401)를 수신하고 출력으로서 코드 워드
Figure 112020067216918-pct00279
(402)를 생성한다.
고정 워드
Figure 112020067216918-pct00280
(403)는 데이터
Figure 112020067216918-pct00281
(401)와 독립적인 고정 패턴의 심볼이다.
체크 생성기(410)는
Figure 112020067216918-pct00282
를 계산함으로써 데이터
Figure 112020067216918-pct00283
(401)로부터 체크 워드
Figure 112020067216918-pct00284
(404)를 계산하며, 여기서
Figure 112020067216918-pct00285
는 데이터
Figure 112020067216918-pct00286
(401)와 독립적인 함수이다.
역 펑처링 워드
Figure 112020067216918-pct00287
(405)는 데이터
Figure 112020067216918-pct00288
(401)와 독립적인 고정 패턴의 심볼이다.
변환 입력 어셈블러(420)는 데이터
Figure 112020067216918-pct00289
(401), 고정 워드
Figure 112020067216918-pct00290
(403), 체크 워드
Figure 112020067216918-pct00291
(404) 및 역 펑처링 워드
Figure 112020067216918-pct00292
(405)를 수신하고, 변환 입력
Figure 112020067216918-pct00293
(406)를 생성한다. 변환 입력 어셈블러(420)에 의한 멀티플렉싱 동작은 입력 파티션
Figure 112020067216918-pct00294
을 특징으로 하며, 이는 폴라 변환
Figure 112020067216918-pct00295
(430)의 입력 벡터의 인덱스 세트
Figure 112020067216918-pct00296
의 파티션이다. 변환 입력 어셈블러(420)는
Figure 112020067216918-pct00297
,
Figure 112020067216918-pct00298
,
Figure 112020067216918-pct00299
, 및
Figure 112020067216918-pct00300
가 되도록 파티션
Figure 112020067216918-pct00301
에 따라 변환 입력
Figure 112020067216918-pct00302
(406)를 어셈블한다.
폴라 변환
Figure 112020067216918-pct00303
(430)는 "폴라 변환 행렬
Figure 112020067216918-pct00304
"로 표현되는 변환 연산을 구현하는데, 여기서 본 원리의 가장 일반적인 형태에서
Figure 112020067216918-pct00305
는 양의 정수
Figure 112020067216918-pct00306
에 대해
Figure 112020067216918-pct00307
개의 행과
Figure 112020067216918-pct00308
개의 열을 갖는 임의의 가역 행렬이다. 그러나, 이하에 설명되는 바와 같이,
Figure 112020067216918-pct00309
가 특별한 구조를 갖는 경우에만 낮은 복잡성으로 본 원리가 적용 가능하다.
본 개시는 단지 본 원리의 개시에서의 표기의 편의를 위해서 정수
Figure 112020067216918-pct00310
에 의해 변환 행렬
Figure 112020067216918-pct00311
의 행과 열을 라벨링하는 규칙을 사용한다는 점에 유의해야 한다. 대안적인 라벨 표기 규칙이 본 원리의 실제 실시예에서 사용될 수 있음이 명백할 것이다.
본 개시의 바람직한 실시예에서, 폴라 변환 행렬
Figure 112020067216918-pct00312
(430)는 재귀 계산 방법을 사용함으로써 가능한 낮은 복잡도에서 변환의 계산을 가능하게 하기 위해, 이들 각각의 크기가
Figure 112020067216918-pct00313
의 크기보다 작은, 복수의 행렬의 크로네커 곱에 의해 주어진다.
바람직한 실시예는 변환 행렬이
Figure 112020067216918-pct00314
의 형태를 가질 때마다 바람직하게 적용 가능하며, 여기서
Figure 112020067216918-pct00315
는 치환 행렬이고,
Figure 112020067216918-pct00316
은 제1 커널 변환(kernel transform)이고,
Figure 112020067216918-pct00317
은 제1 계층 변환이고,
Figure 112020067216918-pct00318
는 치환 행렬이고, 제1 커널 변환
Figure 112020067216918-pct00319
은 1보다 큰 크기를 갖고, 제1 계층 변환
Figure 112020067216918-pct00320
은 변환
Figure 112020067216918-pct00321
의 크기보다 작은 크기를 갖는다. 본 원리의 바람직한 실시예에 대한 일반적인 선택은
Figure 112020067216918-pct00322
Figure 112020067216918-pct00323
를 항등 치환으로서 취하는 것이다.
본 원리의 가장 바람직한 실시예의 제1 유형에서, 변환 행렬은
Figure 112020067216918-pct00324
의 형태를 가지며, 여기서
Figure 112020067216918-pct00325
이고 모든 변환 동작은 이진 필드
Figure 112020067216918-pct00326
에서 수행된다. 이 경우 행과 열의 수는 2의 거듭 제곱,
Figure 112020067216918-pct00327
으로 제한된다. (코드 워드의 길이를 2의 거듭 제곱 이외의 정수 값으로 설정하기 위해 펑처링이 필요하다. 본 개시는 데이터의 체계적 인코딩과 조합하여 특정 펑처링 방법을 수행하는 방법을 설명한다.)
본 원리의 가장 바람직한 실시예의 제2 유형에서, 변환 행렬은
Figure 112020067216918-pct00328
의 형태를 가지며, 여기서
Figure 112020067216918-pct00329
또는
Figure 112020067216918-pct00330
는 "비트 반전(bit reversal)" 치환으로서 [Arik1]에 정의된 바와 같다.
폴라 변환
Figure 112020067216918-pct00331
(430)는 변환 입력
Figure 112020067216918-pct00332
(406)를 입력으로서 취하고 변환 출력
Figure 112020067216918-pct00333
(407)를 생성하고, 변환 출력
Figure 112020067216918-pct00334
(407)은 함수적 관계
Figure 112020067216918-pct00335
에 의해 변환 입력
Figure 112020067216918-pct00336
(406)와 관련된다. 변환 출력
Figure 112020067216918-pct00337
(407)는 펑처(440)에 의해 처리되며, 펑처(440)는 출력 파티션
Figure 112020067216918-pct00338
에 의해 특징화 되고, 출력 파티션
Figure 112020067216918-pct00339
은 폴라 변환
Figure 112020067216918-pct00340
(430)의 범위 공간에서 벡터의 인덱스 세트
Figure 112020067216918-pct00341
의 파티션이 된다.
코드 워드
Figure 112020067216918-pct00342
(402)는 부분
Figure 112020067216918-pct00343
를 펑처링하는 것에 대응하는
Figure 112020067216918-pct00344
를 설정함으로써 변환 출력
Figure 112020067216918-pct00345
(407)로부터 획득된다.
[Wang, Huaw3]과 같은 일부 형태의 펑처링 및 본 원리의 바람직한 실시예에서, 펑처링 작업은
Figure 112020067216918-pct00346
형태의 제약을 포함하며, 여기서
Figure 112020067216918-pct00347
는 데이터
Figure 112020067216918-pct00348
(401)와 독립적인 고정 워드다. 비-체계적 인코더(400)는
Figure 112020067216918-pct00349
의 함수로서 역 펑처링 워드
Figure 112020067216918-pct00350
(405)를 계산하고
Figure 112020067216918-pct00351
대신에 제약 조건
Figure 112020067216918-pct00352
를 대체함으로써 그러한 제약을 수용한다.
도 5를 참조하면, 데이터 체크 및 펑처링을 갖는 체계적 폴라 인코더(500)가 도시되어 있다. 체계?? 폴라 인코더(500)는 폴라 코딩을 위해 맞춤화된 도 3의 유형의 체계적 폴라 인코더이며, 도 4의 유형의 비-체계적 폴라 인코더를 체계적 폴라 인코더로 전환하도록 구성될 수 있다.
체계적 폴라 인코더(500)는 데이터 맵퍼(510) 및 데이터 체크 및 펑처링(520)을 갖는 비-체계적 폴라 인코더를 포함한다. 비-체계적 폴라 인코더(520)는 도 4의 데이터 체크 및 펑처링을 갖는 비-체계적 폴라 인코더(400)와 같은 비-체계적 폴라 인코더이다.
데이터 맵퍼(510)는 데이터
Figure 112020067216918-pct00353
(501)를 수신하고 이를 수정된 데이터
Figure 112020067216918-pct00354
(503)로 변환하고, 이 데이터는 비-체계적 폴라 인코더(520)에 의해 입력으로서 수신되고 코드 워드
Figure 112020067216918-pct00355
(502)로 인코딩된다. 체계적 폴라 인코더(500)는
Figure 112020067216918-pct00356
와 같은 고정 된 튜플
Figure 112020067216918-pct00357
가 있다는 점에서 체계적이다.
이하에 설명되는 본 원리의 실시예는 비-체계적 인코더(520)의 구조를 변경하지 않고 적절한 데이터 맵퍼(510)를 구축함으로써 주어진 비-체계적 폴라 인코더(520)를 도 5에서와 같이 체계적인 폴라 인코더로 전환하는 것을 목표로 한다.
본 법칙의 특정 실시예를 제시하기 전에, 기본 원리는 데이터 맵퍼(510)와 비-체계적 인코더(520) 사이의 관계에 대한 수학적 분석을 수행함으로써 설명될 것이다. 이 분석은 체계적 폴라 인코더(500)의 실제 구현을 가능하게 하기에 충분한 조건을 밝힐 것이다.
이어지는 체계적 폴라 인코더(500)의 분석에서, 비-체계적 폴라 인코더(520)는 도 4에 도시된 유형의 비-체계적 폴라 인코더(400)이고, 도 4의 표기법이 분석 전체에 사용될 것이라고 가정될 것이다. 도 4에서, 펑처는 파티션
Figure 112020067216918-pct00358
를 사용하고; 분석에서, 이 파티션은 튜플
Figure 112020067216918-pct00359
를 두 개의 (분리) 튜플
Figure 112020067216918-pct00360
Figure 112020067216918-pct00361
으로의 분할에 의해 파티션
Figure 112020067216918-pct00362
로 세분화된다.
분석으로 돌아가서, 인코딩 동작은 다음과 같은 제약 조건 하에서 수행된다는 점에 유의한다. 먼저 변환 관계가 있다:
Figure 112020067216918-pct00363
둘째, 변환 입력은 다음과 같이 다양한 부분으로부터 어셈블된다.
Figure 112020067216918-pct00364
셋째, 데이터가 변환 출력의 일부로 나타나는 체계적 인코딩 제약 조건이 있다:
Figure 112020067216918-pct00365
마지막으로, 본 원리의 바람직한 실시예는 펑처링 동작에서 다음 형태의 제약을 부과한다.
Figure 112020067216918-pct00366
여기서
Figure 112020067216918-pct00367
는 데이터
Figure 112020067216918-pct00368
와 독립적인 고정 패턴이다. 식 (1) 내지 (7)의 시스템은
Figure 112020067216918-pct00369
과 같은, 자유도의 수보다 많은 방정식이 있다는 의미에서 과대 결정된 시스템을 구성한다. 그러나, 본 원리의 바람직한 실시예에서, 식 (2) 및 (7)은
Figure 112020067216918-pct00370
Figure 112020067216918-pct00371
의 함수가 되도록 허용함으로써 실제로 동일한 제약을 나타낸다. 따라서, 파티션
Figure 112020067216918-pct00372
Figure 112020067216918-pct00373
이 적절히 선택된다면, 식 (1) 내지 (7)을 동시에 만족시킬 수 있다. 본 개시는 식 (1) 내지 (7)의 제약 조건 하에서 체계적 인코딩을 제공하는 파티션을 선택하는 방법을 설명한다.
본 원리를 보다 철저히 논의하기 위해, 변환 관계식 (1)을 다음 형태로 재 작성하는 것이 유용하다:
Figure 112020067216918-pct00374
식 (8) - (10)은 입력 및 출력 파티션
Figure 112020067216918-pct00375
Figure 112020067216918-pct00376
하에서 변환 출력의 각 부분에 대한 변환 입력의 각 부분의 영향을 나타낸다. 아래에 언급된 것처럼 식 (2) 내지 (10)을 점검하면 많은 설계 규칙이 나타난다. 이러한 설계 규칙은 본 원리의 수학적 기초를 형성한다.
설계 규칙 0:
Figure 112020067216918-pct00377
,
Figure 112020067216918-pct00378
,
Figure 112020067216918-pct00379
, 및
Figure 112020067216918-pct00380
이 가역성이 되도록 변환 행렬
Figure 112020067216918-pct00381
와 입력 파티션
Figure 112020067216918-pct00382
및 출력 파티션
Figure 112020067216918-pct00383
을 선택한다.
비고: 식 (2), (7) 및 (8)에서 쉽게 알 수 있는 바와 같이, 설계 규칙 0은
Figure 112020067216918-pct00384
Figure 112020067216918-pct00385
가 관계
Figure 112020067216918-pct00386
Figure 112020067216918-pct00387
에 의해 서로 일대일 관계를 유지하도록 한다.
설계 규칙 1: 설계 규칙 0을 충족하는 것에 더해, 체크 생성기 식 (4)가 아래 식 (11) 형태의 아핀(affine) 함수가 되고
Figure 112020067216918-pct00388
가 가역 행렬이 되도록 변환 행렬
Figure 112020067216918-pct00389
와 입력 파티션
Figure 112020067216918-pct00390
및 출력 파티션
Figure 112020067216918-pct00391
을 선택한다.
Figure 112020067216918-pct00392
비고: 설계 규칙 1 하에서, 식 (2)에서 (7)과 식 (9)로부터
Figure 112020067216918-pct00393
가 따라온다. 식 (12)는 도 5에서 데이터 맵퍼(510)의 역할에 사용될 수 있는 데이터 맵퍼를 정의한다. 이러한 가능성은 본 원리의 제1 실시예로서 아래에서 탐구된다.
체계적 폴라 인코더(500)의 제1 실시예. 제1 실시예는 설계 규칙 1이 만족되는 것으로 가정한다. 이 실시예에서 데이터 맵퍼(510)는 식 (12)에 기초하며, 이는 다음과 같이 더 간단한 형태로 작성될 수 있다.
Figure 112020067216918-pct00394
여기서
Figure 112020067216918-pct00395
Figure 112020067216918-pct00396
다. 행렬
Figure 112020067216918-pct00397
및 벡터
Figure 112020067216918-pct00398
는 데이터
Figure 112020067216918-pct00399
와 독립이고, 따라서 사전 계산될 수 있고, 데이터 맵핑 동작 식 (13)은 데이터
Figure 112020067216918-pct00400
의 아핀 변환을 계산하는 것으로 구성된다.
이 실시예에서, 식 (13)에 의해 수정된 데이터
Figure 112020067216918-pct00401
(503)을 획득한 후, 비-체계적 인코더(520) 대신에 임의의 이용 가능한 비-체계적 인코더를 사용함으로써 체계적 폴라 인코딩이 완료될 수 있다. 비-체계적 인코더가 이용 가능하지 않거나, 기존의 비-체계적 인코더에 대한 대안으로서, 비-체계적 인코더(520)는 식 (2) 내지 (5)에 따라 변환 입력
Figure 112020067216918-pct00402
(406)를 어셈블하고 식 (1)에 따라 변환 출력
Figure 112020067216918-pct00403
(407)를 계산함으로써 실현될 수 있다. 변환 출력
Figure 112020067216918-pct00404
(407)가 이용 가능하면, 코드 워드
Figure 112020067216918-pct00405
(402)는
Figure 112020067216918-pct00406
를 설정함으로써 얻어지며, 여기서
Figure 112020067216918-pct00407
은 펑처링된 인덱스
Figure 112020067216918-pct00408
의 보수(complement)이다.
제1 실시예는 데이터 맵퍼가 식 (13)을 계산함으로써 구현될 수 있음을 보여줌으로써 개념 증명 목적에 주로 쓰인다. 실제 적용에 있어서, 제1 실시예는 식 (13)에 나타나는 행렬
Figure 112020067216918-pct00409
가 계산의 복잡성을 감소시키기 위해 이용될 수 있는 임의의 구조를 가질 수 없기 때문에 너무 복잡할 수 있다.
Figure 112020067216918-pct00410
의 직접적인 계산은 관련된 행렬의 크기 차수(order)에 따라 계산 복잡성을 가지며, 길이가
Figure 112020067216918-pct00411
인 코드의 경우
Figure 112020067216918-pct00412
차수로 실행될 수 있다. 제1 실시예의 개선에서, 계산 복잡도를 실용적인 레벨로 낮추기 위해 변환 행렬
Figure 112020067216918-pct00413
에 추가 구조가 부과된다.
설계 규칙 2: 설계 규칙 0을 충족하는 것에 더해,
Figure 112020067216918-pct00414
는 가역성이며
Figure 112020067216918-pct00415
Figure 112020067216918-pct00416
이 되도록 변환 행렬
Figure 112020067216918-pct00417
와 입력 파티션
Figure 112020067216918-pct00418
및 출력 파티션
Figure 112020067216918-pct00419
을 선택한다.
비고: 설계 규칙 2 하에서, 식 (13)은
Figure 112020067216918-pct00420
로 단순화된다. 식 (14)는 본 원리의 제2 실시예에서 탐색될 대안적인 데이터 맵퍼를 정의한다.
체계적 폴라 인코더(500)의 제2 실시예. 제2 실시예는 논의중인 시스템이 설계 규칙 2를 따르는 것으로 가정한다. 이 실시예는 식 (14)에 기초한 데이터 맵퍼를 사용한다. 나머지 체계적 인코딩 동작은 제1 실시예에서와 동일한 방식으로 완료될 수 있다.
식 (14)의 직접적인 계산은 실제 목적으로는 여전히 너무 복잡할 수 있다. 이하의 본 원리의 제3 실시예는 변환
Figure 112020067216918-pct00421
에 존재할 수 있는 구조를 이용하기 위한 목적으로 제2 실시예에서의 계산을 상이한 방식으로 구성하고, 이는 식 (14)에서와 같이 행렬
Figure 112020067216918-pct00422
로 직접 작업하는 것이 그러한 구조를 쉽게 이용할 수는 없게 하는 경우에 유용함을 입증한다.
체계적 폴라 인코더(500)의 제3 실시예. 제3 실시예는 제2 실시예의 계산 방법을 개선하고 본 원리의 가장 바람직한 실시예를 구성한다.
다음 행렬을 고려한다
Figure 112020067216918-pct00423
행렬
Figure 112020067216918-pct00424
Figure 112020067216918-pct00425
의 행과 열을 치환하여 구한다:
Figure 112020067216918-pct00426
여기서
Figure 112020067216918-pct00427
Figure 112020067216918-pct00428
는 치환 행렬이다.
Figure 112020067216918-pct00429
가 가역이라고 가정하면,
Figure 112020067216918-pct00430
도 가역이고 그리고
Figure 112020067216918-pct00431
이며, 이는 직접 계산을 통해 확인할 수 있고 치환 행렬의 역행렬이 그것의 전치와 같다는 점에 유의해야 한다.
설계 규칙 2 하에서, 행렬
Figure 112020067216918-pct00432
는 상삼각 형태를 가진다.
Figure 112020067216918-pct00433
가역 상삼각 행렬은 또한 상삼각인 역행렬을 가진다는 것이 잘 알려져 있다. 따라서
Figure 112020067216918-pct00434
의 역행렬은 아래 형태를 가진다.
Figure 112020067216918-pct00435
여기서 "*"는 특정 형태가 본 목적상 의미가 없는 일반 서브 행렬을 나타낸다. 식 (19)는
Figure 112020067216918-pct00436
Figure 112020067216918-pct00437
의 역이 존재한다고 가정하며, 이는 설계 규칙 2에 의해 참임이 보장된다.
제3 실시예는 다음의 데이터 맵퍼를 포함한다.
데이터 맵퍼(510)의 바람직한 실시예는:
1) 데이터
Figure 112020067216918-pct00438
(501)를 입력으로서 수신하고;
2)
Figure 112020067216918-pct00439
,
Figure 112020067216918-pct00440
, 및
Figure 112020067216918-pct00441
이 되도록 변환 워드
Figure 112020067216918-pct00442
를 준비하고;
3)
Figure 112020067216918-pct00443
를 계산하고; 그리고
4)
Figure 112020067216918-pct00444
를 수정된 데이터
Figure 112020067216918-pct00445
(503)로 출력한다.
제안. 이전 단락의 데이터 맵퍼는 식 (14)에 의해 특정된 데이터 매핑 동작을 구현한다; 즉, 단계 4)의 출력은
Figure 112020067216918-pct00446
Figure 112020067216918-pct00447
Figure 112020067216918-pct00448
를 충족시킨다.
증명. 방정식
Figure 112020067216918-pct00449
은 다음과 같이 쓸 수 있다.
Figure 112020067216918-pct00450
이는
Figure 112020067216918-pct00451
임을 보여준다.
Figure 112020067216918-pct00452
,
Figure 112020067216918-pct00453
, 및
Figure 112020067216918-pct00454
임을 상기하면, 식 (21)은
Figure 112020067216918-pct00455
와 같다. 증명이 완료되었다.
비고: 위의 증명은 식 (19)에서 "*"로 표시되는 서브 행렬이 이 맥락에서 아무런 역할을 하지 않음을 분명히 한다.
발생하는 질문은 식 (14)와 같이 직접적이 아닌, 식 (20)에서와 같이 더 큰 변환 동작의 일부로
Figure 112020067216918-pct00456
을 계산하는 데 이점이 있는지 여부이다. 큰 행렬에 대한 연산을 포함하기 때문에 식 (20)에 의한 계산이 식 (14)보다 더 관련된 것으로 보일 수 있다. 그러나 만약
Figure 112020067216918-pct00457
이 계산을 단순화하기 위해 이용될 수 있는 구조를 가지고 있다면, 식 (20)은 이것을 쉽게 이용할 수 있는 반면, 식 (14)에서, 도출 된 행렬
Figure 112020067216918-pct00458
는 쉽게 이용될 수 있는 구조가 남아 있지 않을 수 있다. 본 원리는 데이터 맵핑 연산을 더 큰 행렬 연산에 포함시키면 계산을 크게 단순화 할 수 있다는 것을 인식하고 있다.
이 제3 실시예에서, 수정된 데이터
Figure 112020067216918-pct00459
(503)가 데이터 맵퍼에 의해 계산되면, 비-체계적 폴라 인코더(520)에 대한 입력으로서 제공되고, 비-체계적 폴라 인코더는 임의의 주어진 인코더일 수 있거나 상기 제1 실시예와 관련하여 논의된 바와 같이 직접 구현된 것일 수 있다. 비-체계적 폴라 인코더(520)가 어떻게 구현되는지의 정확한 특성은 본 목적에 대한 부수적인 이슈이다. 본 원리는 우선적으로 복잡도가 낮은 데이터 맵퍼(510)의 구현을 제공하는 것에 관한 것이다.
본 원리로부터 쉽게 이점을 얻을 수 있는 코드 클래스는 폴라 코드 클래스이다 [Arik1]. 폴라 코드의 경우, 변환 행렬은
Figure 112020067216918-pct00460
형식이며 여기서
Figure 112020067216918-pct00461
은 구성의 "커널(kernel)"이라고 한다. 폴라 변환의 다음 특성은 잘 알려져 있다 [Arik1]. 변환 행렬은
Figure 112020067216918-pct00462
이면
Figure 112020067216918-pct00463
이고 그렇지 않으면
Figure 112020067216918-pct00464
이 되도록 원소
Figure 112020067216918-pct00465
를 갖는다. 역변환
Figure 112020067216918-pct00466
Figure 112020067216918-pct00467
와 같으며, 임의의 주어진
Figure 112020067216918-pct00468
에 대해, 순방향 변환
Figure 112020067216918-pct00469
및 그 역
Figure 112020067216918-pct00470
Figure 112020067216918-pct00471
차수 논리 연산을 사용하여 계산될 수 있다.
도 6을 참조하면, 폴라 변환(600)이 도시되어 있다. 폴라 변환(600)은 다음 16x16 행렬 표현을 갖는 폴라 변환
Figure 112020067216918-pct00472
를 구현하는 논리 회로이다.
Figure 112020067216918-pct00473
폴라 변환(600)은 변환 입력
Figure 112020067216918-pct00474
(601)를 수신하고 변환 출력
Figure 112020067216918-pct00475
(602)를 출력한다. 변환 입력
Figure 112020067216918-pct00476
(601) 및 변환 출력
Figure 112020067216918-pct00477
(602)는 표준 논리 게이트를 사용하여 구현될 수 있는 16 개의 부울 변수로 구성된 신호이다. 폴라 변환(600)은 표준 디지털 논리 회로를 사용하여 동작하고 주 데이터 처리 요소로서 배타적 논리합 게이트(exclusive-or gate)를 포함한다. 폴라 변환에 의해 수행된 계산은 이진 필드
Figure 112020067216918-pct00478
에서의 행렬 연산
Figure 112020067216918-pct00479
와 동등하다.
도 6을 여전히 참조하며, 전술한 제2 및 제3 실시예를 설명하기 위한 예가 제공될 것이다.
예: 그림 5에서와 같이 체계적 폴라 인코더를 고려한다. 비-체계적 폴라 인코더(520)가 변환 행렬
Figure 112020067216918-pct00480
를 갖는 도 4에 도시된 유형의 비-체계적 폴라 인코더라고 가정하자.
입력 파티션
Figure 112020067216918-pct00481
및 출력 파티션
Figure 112020067216918-pct00482
이 다음과 같이 특정되었다고 가정하자.
Figure 112020067216918-pct00483
Figure 112020067216918-pct00484
Figure 112020067216918-pct00485
Figure 112020067216918-pct00486
Figure 112020067216918-pct00487
파티션 요소를 작성할 때, 인덱스의 이진 표현은 또한
Figure 112020067216918-pct00488
인지의 확인을 용이하게 하기 위해 제공되었다(
Figure 112020067216918-pct00489
가 유지되는 경우에만
Figure 112020067216918-pct00490
임을 상기.).
본 예에서 관심있는
Figure 112020067216918-pct00491
의 일부 서브 행렬은 다음과 같다.
Figure 112020067216918-pct00492
설계 규칙 2에 따라,
Figure 112020067216918-pct00493
Figure 112020067216918-pct00494
는 가역이다.
또한
Figure 112020067216918-pct00495
,
Figure 112020067216918-pct00496
,
Figure 112020067216918-pct00497
,
Figure 112020067216918-pct00498
, 및
Figure 112020067216918-pct00499
임에 유의한다.
따라서 이 예의 설계 선택은 설계 규칙 2의 모든 요구 사항을 충족한다.
설계 규칙 2에 대한 적합성은 변환
Figure 112020067216918-pct00500
의 일부 일반적인 속성에 의해 용이하게 된다. 구체적으로, 서브 행렬
Figure 112020067216918-pct00501
Figure 112020067216918-pct00502
의 가역성은
Figure 112020067216918-pct00503
가 어떠한 비어 있지 않은
Figure 112020067216918-pct00504
에 대해 가역인 일반적인 성질에 기인한다.
Figure 112020067216918-pct00505
이라는 사실은
Figure 112020067216918-pct00506
의 어떤 요소도
Figure 112020067216918-pct00507
의 어떤 요소에 대해 우세하지 않기 때문이다.
Figure 112020067216918-pct00508
,
Figure 112020067216918-pct00509
,
Figure 112020067216918-pct00510
, 및
Figure 112020067216918-pct00511
에 대해서도 동일한 설명이 유지된다.
따라서 설계 규칙 2가 일반적으로 어떠한 정수
Figure 112020067216918-pct00512
에 대해서도
Figure 112020067216918-pct00513
으로 유효하도록 앞의 논의에서부터 입력 파티션
Figure 112020067216918-pct00514
와 출력 파티션 (
Figure 112020067216918-pct00515
을 선택하는 방법이 명확해야 한다.
이 예를 계속하여, 선형 함수
Figure 112020067216918-pct00516
에 의해
Figure 112020067216918-pct00517
,
Figure 112020067216918-pct00518
, 및
Figure 112020067216918-pct00519
를 지정한다.
역 펑처링 워드
Figure 112020067216918-pct00520
는 다음과 같이 계산된다.
Figure 112020067216918-pct00521
.
제2 실시예에서, 데이터 맵퍼는 다음과 같은 형태를 취한다.
Figure 112020067216918-pct00522
예를 들어,
Figure 112020067216918-pct00523
이면
Figure 112020067216918-pct00524
이다.
제3 실시예에서, 데이터 맵퍼는 먼저
Figure 112020067216918-pct00525
,
Figure 112020067216918-pct00526
,
Figure 112020067216918-pct00527
, 이 되도록
Figure 112020067216918-pct00528
를 어셈블한 다음
Figure 112020067216918-pct00529
을 계산하고, 최종적으로
Figure 112020067216918-pct00530
Figure 112020067216918-pct00531
로 출력한다. 예를 들어,
Figure 112020067216918-pct00532
이면
Figure 112020067216918-pct00533
,
Figure 112020067216918-pct00534
, 및
Figure 112020067216918-pct00535
.
도 7을 참조하면, 파티셔닝(700)을 갖는 데이터 맵퍼가 도시되어 있으며, 이는 도 3의 데이터 맵퍼(310) 또는 도 5의 데이터 맵퍼(510) 대신에 사용될 수 있다. 파티셔닝을 갖는 데이터 맵퍼(700)는 데이터
Figure 112020067216918-pct00536
(701)를 수신하고, 데이터 분할기(710) 내에서 데이터
Figure 112020067216918-pct00537
(701)를 데이터 1
Figure 112020067216918-pct00538
(702) 및 데이터 2
Figure 112020067216918-pct00539
(703)로 분할한다. 데이터 1
Figure 112020067216918-pct00540
(702) 및 데이터 2
Figure 112020067216918-pct00541
(703)은 각각 데이터 맵퍼 1(720) 및 데이터 맵퍼 2(730)에 의해 수신되고, 수정된 데이터 1
Figure 112020067216918-pct00542
(704) 및 수정된 데이터 2
Figure 112020067216918-pct00543
(705)를 각각 출력한다. 수정된 데이터 1
Figure 112020067216918-pct00544
(704) 및 수정된 데이터 2
Figure 112020067216918-pct00545
(705)는 둘 다 데이터 결합기(740)에 의해 수신되며, 이들을 결합하여 수정된 데이터
Figure 112020067216918-pct00546
(706)를 생성한다.
도 7은 데이터 맵퍼를 구현하기 위한 분할 정복(divide-and-conquer) 접근법을 나타낸다. 데이터 맵퍼 1(720) 및 데이터 맵퍼 2(730) 각각은 재귀적인 방식으로, 도 7에서와 동일한 전략을 사용하여 구현될 수 있다. 이러한 재귀적 구현은 본 원리에 따라 체계적 폴라 인코더를 구현할 때
Figure 112020067216918-pct00547
차수 복잡성을 달성하는 열쇠이다.
상기 제3 실시예는 이것이 폴라 코드와 함께 사용될 때 도 7의 재귀 분할 정복 전략을 이용할 수 있는데 이 경우 역변환
Figure 112020067216918-pct00548
은 크로네커 거듭곱
Figure 112020067216918-pct00549
에 의해 주어지고, 도 7에 주어진 재귀 회로 구현의 유형에 적합하게 되기 때문이다.
도 8은 본 개시에 따라 데이터 전송시의 복잡도 낮은 체계적 인코더를 이용하여 오류 정정이 구현될 수 있는 예시적인 무선 네트워크를 도시한다. 도 8에 도시된 무선 네트워크(800)의 실시예는 단지 예시를 위한 것이다. 무선 네트워크(800)의 다른 실시예가 본 개시의 범위를 벗어나지 않고 사용될 수 있다. 무선 네트워크(800)는 eNodeB(eNB)(801), eNB(802) 및 eNB(803)를 포함한다. eNB(801)는 eNB(802) 및 eNB(803)와 통신한다. eNB(801)는 또한 인터넷, 독점 IP 네트워크, 또는 다른 데이터 네트워크와 같은 적어도 하나의 인터넷 프로토콜(IP) 네트워크(830)와 통신한다.
네트워크 유형에 따라, "기지국"("BS") 또는 "액세스 포인트"와 같은 "eNodeB" 또는 "eNB"대신에 다른 잘 알려진 용어가 사용될 수 있다. 편의를 위해, 본 특허 명세서에서 "eNodeB" 및 "eNB"라는 용어는 원격 단말기에 무선 액세스를 제공하는 네트워크 인프라 컴포넌트를 지칭하기 위해 사용된다. 또한 네트워크 유형에 따라 "모바일 스테이션"(또는 "MS"), "가입자 스테이션"(또는 "SS"), "원격 터미널", "무선 터미널" 또는 "사용자 디바이스"와 같은, "사용자 장비" 또는 "UE" 대신 다른 잘 알려진 용어가 사용될 수 있다. 편의를 위해, "사용자 장비" 및 "UE"라는 용어는 UE가(휴대 전화 또는 스마트 폰과 같은) 모바일 디바이스인지 또는 일반적으로 고려하는 고정된 디바이스(예를 들어, 데스크톱 컴퓨터 또는 자동 판매기)인지에 관계없이 eNB에 무선으로 액세스하는 원격 무선 디바이스를 지칭하기 위해 본 특허 문서에서 사용된다.
eNB(802)는 eNB(802)의 커버리지 영역(820) 내의 제1 복수의 사용자 장비(UE)를 위해 네트워크(830)에 무선 광대역 액세스를 제공한다. 제1 복수의 UE는 소규모 비즈니스(SB)에 위치할 수 있는 UE(811); 기업(E)에 위치할 수 있는 UE(812); WiFi 핫스팟(HS)에 위치할 수 있는 UE(813); 제1 거주지(R1)에 위치할 수 있는 UE(814); 제2 거주지(R2)에 위치할 수 있는 UE(815); 그리고 휴대폰, 무선 랩탑, 무선 개인 휴대 정보 단말기(PDA) 등과 같은 모바일 디바이스(M)일 수 있는 UE(816)를 포함한다. eNB(803)는 eNB(803)의 커버리지 영역(825) 내의 제2 복수의 UE를 위해 네트워크(830)에 무선 광대역 액세스를 제공한다. 제2 복수의 UE는 UE(815) 및 UE(816)를 포함한다. 일부 실시예들에서, 하나 이상의 eNB들(801-803)은 3G, 4G 또는 5G, 롱 텀 에볼루션(LTE), LTE-A, WiMAX 또는 기타 첨단 무선 통신 기술을 사용하여 서로 그리고 UE들(811-816)과 통신할 수 있다
점선은 커버리지 영역(820 및 825)의 대략적인 범위를 나타내며, 단지 예시 및 설명의 목적으로 대략 원형으로 도시되어 있다. 커버리지 영역들(820 및 825)과 같은 eNB들과 연관된 커버리지 영역들은 eNB의 구성 및 자연 및 인공 장애물과 연관된 무선 환경의 변형에 따라 불규칙한 형상을 포함하는 다른 형상들을 가질 수 있음을 분명히 이해해야 한다.
이하에서 더 상세히 설명되는 바와 같이, BS(801), BS(802) 및 BS(803) 중 하나 이상은 본 개시의 실시예에서 설명된 바와 같은 2D 안테나 어레이를 포함한다. 일부 실시예들에서, BS(801), BS(802) 및 BS(803) 중 하나 이상은 2D 안테나 어레이를 갖는 시스템에 대한 코드북 설계 및 구조를 지원한다.
도 8은 무선 네트워크(800)의 일례를 도시하지만, 도 8에 대한 다양한 변경이 이루어질 수 있다. 예를 들어, 무선 네트워크(800)는 임의의 적절한 구성으로 임의의 수의 eNB 및 임의의 수의 UE를 포함할 수 있다. 또한, eNB(801)는 임의의 수의 UE와 직접 통신하고 이들 UE에게 네트워크(830)에 대한 무선 광대역 액세스를 제공할 수 있다. 유사하게, 각각의 eNB(802-803)는 네트워크(830)와 직접 통신하고 UE들에게 네트워크(830)에 대한 직접적인 무선 광대역 액세스를 제공할 수 있다. 또한, eNB(801, 802 및/또는 803)는 외부 전화 네트워크 또는 다른 유형의 데이터 네트워크와 같은 다른 또는 추가 외부 네트워크에 대한 액세스를 제공할 수 있다.
도 1에 도시되고 위에서 설명된 예시적인 무선 전송 시스템(20) 및 수신 시스템(40)은 아래에서 더 상세히 설명되는 바와 같이, eNB(예를 들어, eNB(802)) 및/또는 UE(예를 들어, UE(816))에서 구현될 수 있다.
도 9a는 본 개시에 따라 데이터 전송시의 복잡도 낮은 체계적 인코더를 이용하여 오류 정정이 구현될 수 있는 예시적인 사용자 장비 네트워크를 도시한다. 도 9a에 도시된 UE(816)의 실시예는 단지 예시를 위한 것이며, 도 8의 UE(811-815)는 동일하거나 유사한 구성을 가질 수 있다. 그러나, UE는 매우 다양한 구성으로 제공되며, 도 9a는 본 개시의 범위를 UE의 임의의 특정 구현으로 제한하지 않는다.
UE(816)는 안테나(905), 무선 주파수(RF) 트랜시버(910), 송신(TX) 처리 회로(915)(도 1의 전송 시스템(20) 일 수 있음), 마이크로폰(920) 및 수신(RX) 처리 회로(925)(도 1의 수신 시스템(40)일 수 있음)를 포함한다. UE(816)는 또한 스피커(930), 메인 프로세서(940), I/O 인터페이스(IF)(945), 키패드(950), 디스플레이(955) 및 메모리(960)를 포함한다. 메모리(960)는 기본 운영 체제(OS) 프로그램(961) 및 하나 이상의 애플리케이션(962)을 포함한다. OS 프로그램(961), 애플리케이션(962) 중 하나, 또는 이들의 일부 조합은 도 1 내지 도 7의 다양한 실시예에서 설명된 바와 같이 오류 정정을 갖는 복잡도 낮은 체계적 폴라 인코딩을 위한 프로그래밍을 구현할 수 있다.
RF 트랜시버(910)는 안테나(905)로부터 네트워크(800)의 eNB에 의해 전송된 수신 RF 신호를 수신한다. RF 트랜시버(910)는 수신 RF 신호를(예를 들어, 복조기(170) 내에 또는 이와 관련하여) 하향 변환(down-convert)하여, 채널 디코더(180) 및 소스 디코더(190)를 구현하는 수신(Rx) 처리 회로(925)로 전송될 중간 주파수(IF) 또는 기저 대역 신호를 생성할 수있고, 수신 처리 회로는 기저 대역 또는 IF 신호를 필터링, 디코딩 및/또는 디지털화함으로써 처리된 신호를 생성한다. Rx 처리 회로(925)는 처리된 신호(출력 데이터(195)를 포함)를 (예를 들어 음성 데이터의 경우) 스피커(930) 또는 (예를 들어 웹 브라우징 데이터의 경우) 추가 처리를 위해 메인 프로세서(940)로 전송한다.
송신(Tx) 처리 회로(915)는 적어도 일부 입력 데이터(110)로서, 마이크로폰(920)으로부터 아날로그 또는 디지털 음성 데이터 또는 메인 프로세서(940)로부터 (웹 데이터, 이메일 또는 인터렉티브 비디오 게임 데이터와 같은) 다른 발신 기저 대역 데이터를 수신한다. Tx 처리 회로(915)는 처리된 기저 대역 또는 IF 신호를 생성하기 위해 발신 데이터를 인코딩, 멀티플렉싱 및/또는 디지털화 하도록 소스 인코더(120) 및 채널 인코더(130)를 구현한다. RF 트랜시버(910)는 발신 처리된 기저 대역 또는 IF 신호를 Tx 처리 회로(915)로부터 수신하고, 기저 대역 또는 IF 신호를 안테나(905)를 통해 전송되는 RF 신호로(예를 들어, 변조기(140) 내에서 또는 이와 관련하여) 상향 변환(up-convert) 한다.
메인 프로세서(940)는 하나 이상의 프로세서 또는 다른 처리 디바이스를 포함하고 UE(816)의 전체 동작을 제어하기 위해 메모리(960)에 저장된 기본 OS 프로그램(961)을 실행할 수 있다. 예를 들어, 메인 프로세서(940)는 알려진 원리에 따라 RF 트랜시버(910), Rx 처리 회로(925) 및 Tx 처리 회로(915)에 의한 순방향 채널 신호의 수신 및 역방향 채널 신호의 송신을 제어할 수 있다. 일부 실시예들에서, 메인 프로세서(940)는 적어도 하나의 프로그래머블 마이크로 프로세서 또는 마이크로 제어기를 포함하고, 다른 실시예들에서, 메인 프로세서는(예를 들어, 시스템 및/또는 비-체계적 인코딩 또는 디코딩 프로세스, 펑처링 프로세스, 데이터 매핑 등을 위한) 전용 회로 뿐만 아니라 (선택적으로) 프로그래머블 로직 또는 프로세싱 회로를 포함한다.
메인 프로세서(940)는 또한 본 개시의 실시예에서 설명된 바와 같이 2D 안테나 어레이를 갖는 시스템에 대한 채널 품질 측정 및 보고를 위한 동작과 같은, 메모리(960)에 저장된 다른 프로세스 및 프로그램을 실행할 수 있다. 메인 프로세서(940)는 실행 프로세스에 의해 요구되는대로 데이터 및/또는 명령을 메모리(960) 내외로 이동시킬 수 있다. 일부 실시예에서, 메인 프로세서(940)는 OS 프로그램(961)에 기초하여 또는 eNB 또는 오퍼레이터로부터 수신된 신호에 응답하여 애플리케이션(962)을 실행하도록 구성된다. 메인 프로세서(940)는 또한 I/O 인터페이스(945)에 연결되며, 이는 UE(816)에 랩톱 컴퓨터 및 핸드 헬드 컴퓨터와 같은 다른 디바이스에 연결하는 능력을 제공한다. I/O 인터페이스(945)는 이러한 부속품과 메인 제어기(940) 사이의 통신 경로이다.
메인 프로세서(940)는 또한 키패드(950)(단순 단일 버튼이거나 버튼 어레이 또는 다른 버튼 세트일 수 있음) 및 디스플레이 유닛(955)에 연결된다. UE(816)의 운영자는 키패드(950)를 사용하여 UE(816)에 데이터를 입력할 수 있다. 디스플레이(955)는 웹 사이트로부터와 같이, 텍스트 및/또는 적어도 제한된 그래픽을 렌더링하고 알려진 관례에 따라 사용자에 의해 터치 입력을 수신할 수 있는 터치 스크린 디스플레이 또는 다른 디스플레이일 수 있다. 메모리(960)는 메인 프로세서(940)에 연결되고, 메모리(960)의 적어도 일부는 랜덤 액세스 메모리(RAM)를 포함할 수 있고, 메모리(960)의 다른 부분은 플래시 메모리 또는 다른 판독 전용 메모리(ROM)를 포함할 수 있다.
도 9a는 UE(816)의 일례를 도시하지만, 도 9a에 대한 다양한 변경이 이루어질 수 있다. 예를 들어, 도 9a의 다양한 컴포넌트들이 결합되거나, 더 세분화되거나, 생략될 수 있고 추가의 컴포넌트들이 특정 요구에 따라 추가될 수 있다. 특정 예로서, 메인 프로세서(940)는 하나 이상의 중앙 처리 디바이스(CPU) 및 하나 이상의 그래픽 처리 디바이스(GPU)와 같은 다수의 프로세서로 분할될 수 있다. 또한, 도 9a는 모바일 전화 또는 스마트 폰으로서 구성된 UE(816)를 도시하지만, UE는 다른 유형의 모바일 또는 고정 디바이스로서 동작하도록 구성될 수 있다.
도 9b는 본 개시에 따라 데이터 전송시의 복잡도 낮은 체계적 인코더를 이용하여 오류 정정이 구현될 수 있는 예시적인 enhanced NodeB(eNB) 네트워크를 도시한다. 도 9b에 도시된 eNB(802)의 실시예는 단지 예시를 위한 것이며, 도 8의 다른 eNB는 동일하거나 유사한 구성을 가질 수 있다. 그러나, eNB는 매우 다양한 구성으로 제공되며, 도 9b는 본 개시의 범위를 eNB의 임의의 특정 구현으로 제한하지 않는다. eNB(801) 및 eNB(803)는 eNB(802)와 동일하거나 유사한 구조를 포함할 수 있음에 유의한다.
도 9b에 도시된 바와 같이, eNB(802)는 다수의 안테나(970a-970n), 다수의 RF 트랜시버(972a-972n), 송신(Tx) 처리 회로(974) 및 수신(Rx) 처리 회로(976)를 포함한다. 특정 실시예에서, 다수의 안테나(970a-970n) 중 하나 이상은 2D 안테나 어레이를 포함한다. eNB(802)는 또한 제어기/프로세서(977), 메모리(980) 및 백홀(backhaul) 또는 네트워크 인터페이스(982)를 포함한다.
RF 트랜시버(972a-972n)는 안테나(970a-970n)로부터, UE 또는 다른 eNB에 의해 전송된 신호와 같은 수신 RF 신호를 수신한다. RF 트랜시버들(972a-972n)은 IF 또는 기저 대역 신호들을 생성하기 위해 수신된 RF 신호들을(예를 들어, 복조기(170) 내에서 또는 이와 관련하여) 하향 변환한다. IF 또는 기저 대역 신호는 채널 디코더(180) 및 소스 디코더(190)를 구현하는 Rx 처리 회로(976)로 전송되며, 이는 기저 대역 또는 IF 신호를 필터링, 디코딩 및/또는 디지털화함으로써 처리된 신호를 생성한다. Rx 처리 회로(976)는 추가 처리를 위해 처리된 신호(출력 데이터(195) 포함함)를 제어기/프로세서(978)로 전송한다.
Tx 처리 회로(974)는 적어도 일부 입력 데이터(110)로서, 제어기/프로세서(978)로부터(음성 데이터, 웹 데이터, 이메일 또는 인터렉티브 비디오 게임 데이터와 같은) 아날로그 또는 디지털 데이터를 수신한다. Tx 처리 회로(974)는 처리된 신호를 생성하기 위해 발신 기저 대역 데이터를 인코딩, 멀티플렉싱 및/또는 디지털화도록 소스 인코더(120) 및 채널 인코더(130)를 구현한다. RF 트랜시버(972a-972n) 발신 처리된 신호를 Tx 처리 회로(974)로부터 수신하고, 기저 대역 또는 IF 신호를 안테나(970a-970n)를 통해 전송되는 RF 신호로(예를 들어, 변조기(140) 내에서 또는 이와 관련하여) 상향 변환한다.
제어기/프로세서(978)는 eNB(802)의 전체 동작을 제어하는 하나 이상의 프로세서 또는 다른 처리 디바이스를 포함할 수 있다. 예를 들어, 제어기/프로세서(978)는 알려진 원리에 따라 RF 트랜시버(972a-972n), Rx 처리 회로(976) 및 Tx 처리 회로(974)에 의한 순방향 채널 신호의 수신 및 역방향 채널 신호의 송신을 제어할 수 있다. 제어기/프로세서(978)는 첨단 무선 통신 기능과 같은 추가 기능도 지원할 수 있다. 제어기/프로세서(978)에 의해 eNB(802)에서 다양한 다른 기능들 중 임의의 기능이 지원 될 수 있다. 일부 실시예들에서, 제어기/프로세서(978)는 적어도 하나의 마이크로 프로세서 또는 마이크로 제어기를 포함하고, 다른 실시예들에서, 메인 프로세서는(예를 들어, 체계적및/또는 비-체계적 인코딩 또는 디코딩 프로세스, 펑처링 프로세스, 데이터 매핑 등을 위한) 전용 회로 뿐만 아니라 (선택적으로) 프로그래머블 로직 또는 프로세싱 회로를 포함한다.
제어기/프로세서(978)는 또한 기본 OS와 같은, 메모리(980)에 저장된 프로그램 및 다른 프로세스를 실행할 수 있다. 제어기/프로세서(978)는 또한 본 개시의 실시예에서 설명된 바와 같이 2D 안테나 어레이를 갖는 시스템에 대한 채널 품질 측정 및 보고를 지원할 수 있다. 일부 실시예들에서, 제어기/프로세서(978)는 엔티티들 간의 통신을 지원한다. 제어기/프로세서(978)는 실행 프로세스에 의해 요구되는대로 데이터 및/또는 명령을 메모리(980) 내외로 이동시킬 수 있다.
제어기/프로세서(978)는 또한 백홀 또는 네트워크 인터페이스(982)에 연결된다. 백홀 또는 네트워크 인터페이스(982)는 eNB(802)가 백홀 연결 또는 네트워크를 통해 다른 디바이스 또는 시스템과 통신할 수 있게 한다. 인터페이스(982)는 임의의 적합한 유선 또는 무선 연결(들)을 통한 통신을 지원할 수 있다. 예를 들어, eNB(802)가 셀룰러 통신 시스템의 일부(예를 들어, 3G, 4G, 5G, LTE 또는 LTE-A를 지원하는 것)로서 구현될 때, 인터페이스(982)는 eNB(802)가 유선 또는 무선 백홀 연결을 통해 다른 eNB와 통신할 수 있게 한다. eNB(802)가 액세스 포인트로서 구현될 때, 인터페이스(982)는 eNB(802)가 유선 또는 무선 근거리 네트워크를 통해 또는 유선 또는 무선 연결을 통해 (인터넷과 같은) 더 큰 네트워크로 통신하게 할 수 있다. 인터페이스(982)는 이더넷 또는 RF 트랜시버와 같은, 유선 또는 무선 연결을 통해 통신을 지원하는 임의의 적절한 구조를 포함한다.
메모리(980)는 제어기/프로세서(978)에 연결된다. 메모리(980)의 일부는 RAM을 포함할 수 있고, 메모리(980)의 다른 일부는 플래시 메모리 또는 다른 ROM을 포함할 수 있다. 특정 실시예에서, 복수의 명령이 메모리에 저장된다. 복수의 명령은 제어기/프로세서(978)가 체계적 및/또는 비-체계적 인코딩 또는 디코딩 프로세스, 펑처링 프로세스, 데이터 매핑 등을 수행하도록 구성된다
도 9b는 eNB(802)의 일례를 도시하지만, 도 9b에 대한 다양한 변경이 이루어질 수 있다. 예를 들어, eNB(802)는 도시된 각 컴포넌트를 임의의 개수만큼 포함할 수 있다. 특정 예로서, 액세스 포인트는 다수의 인터페이스(982)를 포함할 수 있고, 제어기/프로세서(978)는 상이한 네트워크 어드레스 사이에서 데이터를 라우팅하기 위한 라우팅 기능을 지원할 수 있다. 다른 특정 예로서, Tx 처리 회로(974)의 단일 인스턴스 및 Rx 처리 회로(976)의 단일 인스턴스를 포함하는 것으로 도시되어 있지만, eNB(802)는 (RF 트랜시버 당 하나 같이) 각각 복수의 인스턴스를 포함할 수 있다.
특정한 "복잡성 낮은 체계적 인코더를 이용하는 데이터 전송시의 오류 정정 방법 및 시스템"이 본 명세서에서 상세히 설명되고 도면에 도시되어 있지만, 본 개시 내용에 포함되는 대상은 청구 범위에 의해서만 제한됨을 이해해야 한다. 본 개시는 예시적인 실시예들로 설명되었지만, 당업자에게는 다양한 변경 및 수정이 암시될 수 있다. 본 개시는 첨부된 청구 범위의 범주에 속하는 변경 및 수정을 포함하는 것으로 의도된다. 본 출원의 설명이 임의의 특정 요소, 단계 또는 기능이 청구 범위에 포함되어야 하는 필수 또는 중요 요소를 암시하는 것으로 해석되어서는 안된다: 특허 대상의 범위는 허용된 청구 범위에 의해서만 정의된다.

Claims (27)

  1. 전송 시스템에서의 데이터 체크를 갖는 체계적 폴라 인코더(systematic polar encoder)로서,
    전송될 정보를 포함하는 입력 데이터 워드
    Figure 112021103397976-pct00550
    를 수신하도록 구성된 입력;
    코드 워드
    Figure 112021103397976-pct00551
    를 생성하도록 구성된 인코더 회로; 및
    코드 워드
    Figure 112021103397976-pct00791
    의 전송을 위한 전송 시스템에서의 출력을 포함하고,
    상기 인코더 회로에 의한 인코딩 동작은 변환 행렬
    Figure 112021103397976-pct00552
    , 및 변환 입력
    Figure 112021103397976-pct00553
    를 사용하고,
    상기 변환 입력
    Figure 112021103397976-pct00554
    는,
    상기 입력 데이터 워드
    Figure 112021103397976-pct00555
    와는 독립적인 고정 워드
    Figure 112021103397976-pct00556
    에 대해
    Figure 112021103397976-pct00557
    를 만족하는 부분
    Figure 112021103397976-pct00558
    ,
    상기 입력 데이터 워드
    Figure 112021103397976-pct00559
    와는 독립적인 고정 워드이고, 펑처링 워드
    Figure 112021103397976-pct00792
    일대일 관계에 있는, 역 펑처링 워드
    Figure 112021103397976-pct00560
    에 대해
    Figure 112021103397976-pct00561
    를 만족하는 부분
    Figure 112021103397976-pct00562
    ,
    상기 입력 데이터 워드
    Figure 112021103397976-pct00563
    로부터 도출된 수정된 데이터 워드
    Figure 112021103397976-pct00564
    에 대해
    Figure 112021103397976-pct00565
    를 만족하는 부분
    Figure 112021103397976-pct00566
    , 및
    Figure 112021103397976-pct00567
    를 만족하는 부분
    Figure 112021103397976-pct00568
    -상기
    Figure 112021103397976-pct00569
    는 상기 수정된 데이터 워드
    Figure 112021103397976-pct00570
    에서 동작하고 비-공백(non-void) 체크 워드를 생성하는 체크 생성기 함수이고, 상기 변환 입력
    Figure 112021103397976-pct00571
    는 변환 출력
    Figure 112021103397976-pct00572
    와 연관되어 있음-를 포함하고,
    상기 변환 출력
    Figure 112021103397976-pct00573
    Figure 112021103397976-pct00574
    에 의해 상기 변환 입력
    Figure 112021103397976-pct00575
    와 관련되고, 상기 변환 출력
    Figure 112021103397976-pct00576

    공백(void) 고정 워드 및 비-공백 고정 워드 중 하나인 상기 펑처링 워드
    Figure 112021103397976-pct00577
    에 대해
    Figure 112021103397976-pct00578
    를 만족하는 펑처링된 부분
    Figure 112021103397976-pct00579
    ,
    Figure 112021103397976-pct00580
    를 만족시키는 부분
    Figure 112021103397976-pct00581
    ,
    상기
    Figure 112021103397976-pct00793
    및 상기
    Figure 112021103397976-pct00794
    에 대해 상보적인(complementary) 상기
    Figure 112021103397976-pct00795
    의 요소로 구성되는 부분
    Figure 112021103397976-pct00796
    을 포함하고,
    상기 입력 데이터 워드
    Figure 112021103397976-pct00583
    의 체계적 인코딩은 상기 변환 출력
    Figure 112021103397976-pct00584
    의 상기 부분
    Figure 112021103397976-pct00585
    와 상기 부분
    Figure 112021103397976-pct00586
    을 미리 결정된 순서로 조합하여 상기 코드 워드
    Figure 112021103397976-pct00587
    를 형성함으로써 달성되는, 데이터 체크를 갖는 체계적 폴라 인코더.
  2. 청구항 1에 있어서,
    상기 인코딩 동작은 임의의 워드
    Figure 112021103397976-pct00588
    에 대해
    Figure 112021103397976-pct00589
    ,
    Figure 112021103397976-pct00590
    Figure 112021103397976-pct00591
    를 갖는 벡터
    Figure 112021103397976-pct00592
    를 형성하고,
    Figure 112021103397976-pct00593
    을 계산하고
    Figure 112021103397976-pct00594
    를 설정함으로써 상기 수정된 데이터 워드
    Figure 112021103397976-pct00595
    를 얻는 단계를 포함하고,
    상기
    Figure 112021103397976-pct00797
    는 상기 변환 입력
    Figure 112021103397976-pct00807
    의 부분
    Figure 112021103397976-pct00799
    를 지정하는 인덱스 세트인, 데이터 체크를 갖는 체계적 폴라 인코더.
  3. 청구항 2에 있어서,
    상기 변환 행렬
    Figure 112021051545995-pct00596
    의 형태는
    Figure 112021051545995-pct00597
    이며, 여기서 상기
    Figure 112021051545995-pct00598
    는 치환 행렬, 상기
    Figure 112021051545995-pct00599
    은 제1 커널(kernel) 변환, 상기
    Figure 112021051545995-pct00600
    은 제1 계층 변환, 상기
    Figure 112021051545995-pct00601
    는 치환 행렬이고, 상기 제1 커널 변환
    Figure 112021051545995-pct00602
    의 크기가 1보다 크고, 상기 제1 계층 변환은 상기 변환
    Figure 112021051545995-pct00603
    의 크기보다 작은 크기를 가지며,
    Figure 112021051545995-pct00604
    의 계산은
    Figure 112021051545995-pct00605
    의 구조를 이용함으로써 단순화되는, 데이터 체크를 갖는 체계적 폴라 인코더.
  4. 청구항 3에 있어서,
    상기 제1 계층 변환
    Figure 112020067216918-pct00606
    은 복수의 커널 변환의 크로네커 곱:
    Figure 112020067216918-pct00607
    이며, 상기 복수의 커널 변환 각각은 1보다 큰 크기를 갖는, 데이터 체크를 갖는 체계적 폴라 인코더.
  5. 청구항 4에 있어서,
    모든
    Figure 112020067216918-pct00608
    대해
    Figure 112020067216918-pct00609
    인, 데이터 체크를 갖는 체계적 폴라 인코더.
  6. 청구항 5에 있어서,
    Figure 112020067216918-pct00610
    인, 데이터 체크를 갖는 체계적 폴라 인코더.
  7. 청구항 6에 있어서,
    상기
    Figure 112020067216918-pct00611
    또는
    Figure 112020067216918-pct00612
    는 항등 행렬인, 데이터 체크를 갖는 체계적 폴라 인코더.
  8. 전송 시스템에서의 데이터 체크를 갖는 체계적 폴라 인코더로서,
    전송을 위해 폴라 코딩될 정보를 포함하는 입력 데이터 워드
    Figure 112020109222608-pct00613
    를 수신하고 수정된 데이터 워드
    Figure 112020109222608-pct00614
    를 생성하도록 구성된 데이터 맵퍼;
    상기 수정된 데이터 워드
    Figure 112020109222608-pct00615
    를 수신하고 코드 워드
    Figure 112020109222608-pct00616
    를 위한 변환 출력
    Figure 112020109222608-pct00617
    를 생성하도록 구성된 비체계적 폴라 인코더-상기 비체계적 폴라 인코더는 좌표
    Figure 112020109222608-pct00618
    의 일부 서브 시퀀스에 대해,
    Figure 112020109222608-pct00619
    가 되도록 상기 코드 워드
    Figure 112020109222608-pct00620
    를 위한 변환 출력
    Figure 112020109222608-pct00621
    를 생성하기 위해 상기 수정된 데이터 워드
    Figure 112020109222608-pct00622
    를 인코딩하는 변환 행렬
    Figure 112020109222608-pct00623
    를 구현함-;
    상기 변환 행렬
    Figure 112020109222608-pct00624
    Figure 112020109222608-pct00625
    ,
    Figure 112020109222608-pct00626
    , 및
    Figure 112020109222608-pct00627
    가 가역이 되도록,
    Figure 112020109222608-pct00628
    인, 입력 파티션
    Figure 112020109222608-pct00629
    및 출력 파티션
    Figure 112020109222608-pct00630
    에 의해 제한되고,
    상기 코드 워드
    Figure 112020109222608-pct00631
    를 전송하도록 구성된 전송 시스템에서의 트랜시버를 포함하는, 데이터 체크를 갖는 체계적 폴라 인코더.
  9. 청구항 8에 있어서,
    상기 변환 출력
    Figure 112021103397976-pct00632
    를 생성하기 위해 상기 변환 행렬
    Figure 112021103397976-pct00633
    를 구현하도록 구성된 폴라 변환을 더 포함하고,
    상기 체계적 폴라 인코더는 상기 변환 행렬
    Figure 112021103397976-pct00634
    의 상기 변환 출력
    Figure 112021103397976-pct00635
    로부터 상기 코드 워드
    Figure 112021103397976-pct00636
    를 적어도 부분적으로 결정하도록 구성되고,
    상기 변환 출력
    Figure 112021103397976-pct00637
    는,
    펑처링 워드
    Figure 112021103397976-pct00638
    에 대해
    Figure 112021103397976-pct00639
    를 만족하는 펑처링된 부분
    Figure 112021103397976-pct00640
    -상기 펑처링 워드
    Figure 112021103397976-pct00641
    는 공백 고정 워드와 비-공백 고정 워드 중 하나이고, 상기 입력 데이터 워드
    Figure 112021103397976-pct00642
    와 독립적임-,
    상기 입력 데이터 워드
    Figure 112021103397976-pct00643
    에 대응하는 데이터를 전달하는 부분
    Figure 112021103397976-pct00644
    . 및
    상기
    Figure 112021103397976-pct00800
    및 상기
    Figure 112021103397976-pct00801
    에 대해 상보적인 상기
    Figure 112021103397976-pct00802
    의 요소로 구성되는 부분
    Figure 112021103397976-pct00645
    -상기 부분
    Figure 112021103397976-pct00646
    및 상기 부분
    Figure 112021103397976-pct00647
    은 미리 결정된 순서로 결합되어 상기 코드 워드
    Figure 112021103397976-pct00648
    를 형성함-을 포함하는, 데이터 체크를 갖는 체계적 폴라 인코더.
  10. 청구항 9에 있어서,
    상기 변환 행렬
    Figure 112021103397976-pct00649
    을 위한 변환 입력
    Figure 112021103397976-pct00650
    는,
    Figure 112021103397976-pct00651
    에 의해 상기 변환 출력
    Figure 112021103397976-pct00652
    와 관련되고, 상기 입력 데이터 워드
    Figure 112021103397976-pct00653
    와는 독립적인 고정 워드인 동결(frozen) 워드
    Figure 112021103397976-pct00654
    에 대해
    Figure 112021103397976-pct00655
    를 만족하는 부분
    Figure 112021103397976-pct00656
    , 상기 수정된 데이터 워드
    Figure 112021103397976-pct00657
    에 대해 동작하고 상기 수정된 데이터 워드
    Figure 112021103397976-pct00658
    에 의존하는 적어도 하나의 요소를 갖는 체크 생성기 함수
    Figure 112021103397976-pct00659
    의 출력을 포함하는 데이터 체크
    Figure 112021103397976-pct00660
    를 포함하는 부분
    Figure 112021103397976-pct00661
    , 상기 수정된 데이터 워드
    Figure 112021103397976-pct00662
    를 포함하는 부분
    Figure 112021103397976-pct00663
    , 및
    Figure 112021103397976-pct00664
    을 만족하는 부분
    Figure 112021103397976-pct00665
    를 가지는, 데이터 체크를 갖는 체계적 폴라 인코더.
  11. 청구항 10에 있어서,
    상기 변환 행렬
    Figure 112020067216918-pct00666
    , 상기 입력 파티션
    Figure 112020067216918-pct00667
    및 상기 출력 파티션
    Figure 112020067216918-pct00668
    은 상기 체크 생성기 함수
    Figure 112020067216918-pct00669
    가 아핀(affine) 함수가 되도록 선택되는, 데이터 체크를 갖는 체계적 폴라 인코더.
  12. 청구항 10에 있어서,
    상기 변환 행렬
    Figure 112020067216918-pct00670
    , 상기 입력 파티션
    Figure 112020067216918-pct00671
    및 상기 출력 파티션
    Figure 112020067216918-pct00672
    Figure 112020067216918-pct00673
    가 가역이고,
    Figure 112020067216918-pct00674
    , 및
    Figure 112020067216918-pct00675
    이 되도록 선택되는, 데이터 체크를 갖는 체계적 폴라 인코더.
  13. 청구항 12에 있어서,
    상기 변환 행렬
    Figure 112021103397976-pct00676
    의 형태는
    Figure 112021103397976-pct00677
    이며, 여기서 상기
    Figure 112021103397976-pct00678
    는 치환 행렬, 상기
    Figure 112021103397976-pct00679
    은 제1 커널 변환, 상기
    Figure 112021103397976-pct00680
    은 제1 계층 변환, 상기
    Figure 112021103397976-pct00681
    는 치환 행렬이고, 상기 제1 커널 변환
    Figure 112021103397976-pct00682
    의 크기가 1보다 크고, 상기 제1 계층 변환은 상기 변환 행렬
    Figure 112021103397976-pct00683
    의 크기보다 작은 크기를 가지며, 상기 변환 출력
    Figure 112021103397976-pct00684
    의 계산은
    Figure 112021103397976-pct00685
    의 구조를 이용함으로써 단순화되는, 데이터 체크를 갖는 체계적 폴라 인코더.
  14. 청구항 13에 있어서,
    상기 제1 계층 변환
    Figure 112020067216918-pct00686
    은 복수의 커널 변환의 크로네커 곱:
    Figure 112020067216918-pct00687
    이며, 상기 복수의 커널 변환 각각은 1보다 큰 크기를 갖는, 데이터 체크를 갖는 체계적 폴라 인코더.
  15. 청구항 14에 있어서,
    모든
    Figure 112020067216918-pct00688
    대해
    Figure 112020067216918-pct00689
    인, 데이터 체크를 갖는 체계적 폴라 인코더.
  16. 청구항 15에 있어서,
    Figure 112020067216918-pct00690
    인, 데이터 체크를 갖는 체계적 폴라 인코더.
  17. 청구항 16에 있어서,
    상기
    Figure 112020067216918-pct00691
    또는
    Figure 112020067216918-pct00692
    는 항등 행렬인, 데이터 체크를 갖는 체계적 폴라 인코더.
  18. 데이터 맵퍼에서 전송을 위해 폴라 코딩될 정보를 포함하는 입력 데이터 워드
    Figure 112020109222608-pct00693
    를 수신하는 단계;
    상기 데이터 맵퍼를 사용하여 수정된 데이터 워드
    Figure 112020109222608-pct00694
    를 생성하는 단계;
    비체계적 폴라 인코더에서 상기 수정된 데이터 워드
    Figure 112020109222608-pct00695
    를 수신하는 단계;
    상기 비체계적 폴라 인코더를 사용하여, 좌표
    Figure 112020109222608-pct00696
    의 일부 서브 시퀀스에 대해,
    Figure 112020109222608-pct00697
    가 되도록 코드 워드
    Figure 112020109222608-pct00698
    를 위한 변환 출력
    Figure 112020109222608-pct00699
    를 생성하기 위해 상기 수정된 데이터 워드
    Figure 112020109222608-pct00700
    를 인코딩하는 변환 행렬
    Figure 112020109222608-pct00701
    에 의해 코드 워드
    Figure 112020109222608-pct00702
    를 위한 변환 출력
    Figure 112020109222608-pct00703
    를 생성하는 단계-상기 변환 행렬
    Figure 112020109222608-pct00704
    Figure 112020109222608-pct00705
    ,
    Figure 112020109222608-pct00706
    , 및
    Figure 112020109222608-pct00707
    가 가역이 되도록,
    Figure 112020109222608-pct00708
    인, 입력 파티션
    Figure 112020109222608-pct00709
    및 출력 파티션
    Figure 112020109222608-pct00710
    에 의해 제한됨-; 및
    전송 시스템에서의 트랜시버를 사용하여 상기 코드 워드
    Figure 112020109222608-pct00711
    를 전송하는 단계를 포함하는, 전송 시스템에서의 데이터 체크를 갖는 체계적 폴라 인코딩을 위한 방법.
  19. 청구항 18에 있어서,
    상기 변환 출력
    Figure 112021103397976-pct00712
    를 생성하기 위해 상기 변환 행렬
    Figure 112021103397976-pct00713
    를 구현하는 폴라 변환을 사용하는 단계를 더 포함하고,
    상기 코드 워드
    Figure 112021103397976-pct00714
    는 상기 변환 출력
    Figure 112021103397976-pct00715
    로부터 적어도 부분적으로 결정되고,
    상기 변환 출력
    Figure 112021103397976-pct00716
    는,
    펑처링 워드
    Figure 112021103397976-pct00717
    에 대해
    Figure 112021103397976-pct00718
    를 만족하는 펑처링된 부분
    Figure 112021103397976-pct00719
    -상기 펑처링 워드
    Figure 112021103397976-pct00720
    는 공백 고정 워드와 비-공백 고정 워드 중 하나이고, 상기 입력 데이터 워드
    Figure 112021103397976-pct00721
    와 독립적임-,
    상기 입력 데이터 워드
    Figure 112021103397976-pct00722
    에 대응하는 데이터를 전달하는 부분
    Figure 112021103397976-pct00723
    . 및
    상기
    Figure 112021103397976-pct00803
    및 상기
    Figure 112021103397976-pct00804
    에 대해 상보적인 상기
    Figure 112021103397976-pct00805
    의 요소로 구성되는 부분
    Figure 112021103397976-pct00724
    -상기 부분
    Figure 112021103397976-pct00725
    및 상기 부분
    Figure 112021103397976-pct00726
    은 미리 결정된 순서로 결합되어 상기 코드 워드
    Figure 112021103397976-pct00727
    를 형성함-을 포함하는 방법.
  20. 청구항 19에 있어서,
    상기 변환 행렬
    Figure 112021103397976-pct00728
    을 위한 변환 입력
    Figure 112021103397976-pct00729
    는,
    Figure 112021103397976-pct00730
    에 의해 상기 변환 출력
    Figure 112021103397976-pct00731
    와 관련되고, 상기 입력 데이터 워드
    Figure 112021103397976-pct00732
    와 독립적인 고정 워드인 동결 워드
    Figure 112021103397976-pct00733
    에 대해
    Figure 112021103397976-pct00734
    를 만족하는 부분
    Figure 112021103397976-pct00735
    , 상기 수정된 데이터 워드
    Figure 112021103397976-pct00736
    에 대해 동작하고 상기 수정된 데이터 워드
    Figure 112021103397976-pct00737
    에 의존하는 적어도 하나의 요소를 갖는 체크 생성기 함수
    Figure 112021103397976-pct00738
    의 출력을 포함하는 데이터 체크
    Figure 112021103397976-pct00739
    를 포함하는 부분
    Figure 112021103397976-pct00740
    , 상기 수정된 데이터 워드
    Figure 112021103397976-pct00741
    를 포함하는 부분
    Figure 112021103397976-pct00742
    , 및
    Figure 112021103397976-pct00743
    을 만족하는 부분
    Figure 112021103397976-pct00744
    를 가지는 방법
  21. 청구항 20에 있어서,
    상기 변환 행렬
    Figure 112020067216918-pct00745
    , 상기 입력 파티션
    Figure 112020067216918-pct00746
    및 상기 출력 파티션
    Figure 112020067216918-pct00747
    은 상기 체크 생성기 함수
    Figure 112020067216918-pct00748
    가 아핀 함수가 되도록 선택되는 방법.
  22. 청구항 20에 있어서,
    상기 변환 행렬
    Figure 112020067216918-pct00749
    , 상기 입력 파티션
    Figure 112020067216918-pct00750
    및 상기 출력 파티션
    Figure 112020067216918-pct00751
    Figure 112020067216918-pct00752
    가 가역이고,
    Figure 112020067216918-pct00753
    , 및
    Figure 112020067216918-pct00754
    이 되도록 선택되는 방법.
  23. 청구항 22에 있어서,
    상기 변환 행렬
    Figure 112021103397976-pct00755
    의 형태는
    Figure 112021103397976-pct00756
    이며, 여기서 상기
    Figure 112021103397976-pct00757
    는 치환 행렬, 상기
    Figure 112021103397976-pct00758
    은 제1 커널 변환, 상기
    Figure 112021103397976-pct00759
    은 제1 계층 변환, 상기
    Figure 112021103397976-pct00760
    는 치환 행렬이고, 상기 제1 커널 변환
    Figure 112021103397976-pct00761
    의 크기가 1보다 크고, 상기 제1 계층 변환은 상기 변환 행렬
    Figure 112021103397976-pct00762
    의 크기보다 작은 크기를 가지며, 상기 변환 출력
    Figure 112021103397976-pct00808
    의 계산은
    Figure 112021103397976-pct00764
    의 구조를 이용함으로써 단순화되는 방법.
  24. 청구항 23에 있어서,
    상기 제1 계층 변환
    Figure 112020067216918-pct00765
    은 복수의 커널 변환의 크로네커 곱:
    Figure 112020067216918-pct00766
    이며, 상기 복수의 커널 변환 각각은 1보다 큰 크기를 갖는 방법.
  25. 청구항 24에 있어서,
    모든
    Figure 112020067216918-pct00767
    대해
    Figure 112020067216918-pct00768
    인 방법.
  26. 청구항 25에 있어서,
    Figure 112020067216918-pct00769
    인 방법.
  27. 청구항 26에 있어서,
    상기
    Figure 112020067216918-pct00770
    또는
    Figure 112020067216918-pct00771
    는 항등 행렬인 방법.
KR1020207018817A 2017-11-29 2018-11-28 낮은 복잡도 체계적 인코더를 이용하는 데이터 전송에서의 오류 정정을 위한 방법 및 시스템 KR102353777B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/826,335 2017-11-29
US15/826,335 US10404291B2 (en) 2017-11-29 2017-11-29 Method and system for error correction in transmitting data using low complexity systematic encoder
PCT/IB2018/059373 WO2019106544A1 (en) 2017-11-29 2018-11-28 Encoding systematic punctured polar codes concatenated with inner code

Publications (2)

Publication Number Publication Date
KR20200093627A KR20200093627A (ko) 2020-08-05
KR102353777B1 true KR102353777B1 (ko) 2022-01-21

Family

ID=64744771

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020207018817A KR102353777B1 (ko) 2017-11-29 2018-11-28 낮은 복잡도 체계적 인코더를 이용하는 데이터 전송에서의 오류 정정을 위한 방법 및 시스템

Country Status (6)

Country Link
US (1) US10404291B2 (ko)
EP (1) EP3718217B1 (ko)
JP (1) JP6847321B2 (ko)
KR (1) KR102353777B1 (ko)
CN (1) CN111656692B (ko)
WO (1) WO2019106544A1 (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11405055B2 (en) * 2019-06-26 2022-08-02 Polaran Haberlesme Teknolojileri Anonim Sirketi Methods and apparatus for error correction coding with triangular factorization of generator matrix
US11271593B2 (en) 2019-12-02 2022-03-08 Polaran Yazilim Bilisim Danismanlik Ithalatihracat Sanayi Ticaret Limited Sirketi Methods and apparatus for systematic encoding of data in error correction coding using triangular factorization of generator matrix
CN112787683B (zh) * 2020-12-30 2022-03-01 深圳市紫光同创电子有限公司 以太网数据传输电路、系统及以太网数据传输方法
WO2023090471A1 (ko) * 2021-11-17 2023-05-25 엘지전자 주식회사 정보를 전송하는 방법 및 장치, 그리고 정보를 수신하는 방법 및 장치

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8347186B1 (en) 2012-04-19 2013-01-01 Polaran Yazilim Bilisim Danismanlik Ithalat Ihracat Sanayi Ticaret Limited Sirketi Method and system for error correction in transmitting data using low complexity systematic encoder
CN103023618B (zh) * 2013-01-11 2015-04-22 北京邮电大学 一种任意码长的极化编码方法
US9007241B2 (en) * 2013-09-16 2015-04-14 Seagate Technology Llc Reduced polar codes
CN105164959B (zh) * 2014-02-21 2019-06-21 华为技术有限公司 用于极化码的速率匹配的方法和装置
RU2571587C2 (ru) * 2014-04-10 2015-12-20 Самсунг Электроникс Ко., Лтд. Способ и устройство кодирования и декодирования данных в скрученном полярном коде
US10193578B2 (en) 2014-07-10 2019-01-29 The Royal Institution For The Advancement Of Learning / Mcgill University Flexible polar encoders and decoders
CN107370560B (zh) * 2016-05-12 2020-04-21 华为技术有限公司 一种极化码的编码和速率匹配方法、装置及设备
CN106230489B (zh) * 2016-07-15 2019-07-16 西安电子科技大学 适用于任意高阶调制的极化码编码调制方法
WO2018124779A1 (ko) * 2017-01-02 2018-07-05 엘지전자 주식회사 폴라 코드에 기반한 harq를 수행하는 방법 및 장치
WO2018152694A1 (en) * 2017-02-22 2018-08-30 Qualcomm Incorporated Mutual-information based recursive polar code construction
CN107342846B (zh) * 2017-06-27 2023-01-13 华为技术有限公司 一种编码方法、无线设备和芯片

Also Published As

Publication number Publication date
JP2021505096A (ja) 2021-02-15
EP3718217B1 (en) 2023-04-26
US10404291B2 (en) 2019-09-03
US20190165887A1 (en) 2019-05-30
WO2019106544A1 (en) 2019-06-06
CN111656692B (zh) 2021-11-16
KR20200093627A (ko) 2020-08-05
CN111656692A (zh) 2020-09-11
EP3718217A1 (en) 2020-10-07
JP6847321B2 (ja) 2021-03-24

Similar Documents

Publication Publication Date Title
KR102353777B1 (ko) 낮은 복잡도 체계적 인코더를 이용하는 데이터 전송에서의 오류 정정을 위한 방법 및 시스템
JP6963620B2 (ja) インタリーブを伴う連接ポーラ符号
JP6817452B2 (ja) レートマッチング方法、符号化装置、および通信装置
KR102548215B1 (ko) 압축된 채널 출력 정보를 사용하여 데이터를 디코딩하기 위한 시스템 및 방법
KR102125520B1 (ko) 연접한 극성 코드를 사용하여 인코딩 및 디코딩하는 방법 및 시스템
WO2019158031A1 (zh) 编码的方法、译码的方法、编码设备和译码设备
RU2728527C1 (ru) Способ и устройство кодирования
CN108365850B (zh) 编码方法、编码装置和通信装置
CN108282259B (zh) 一种编码方法及装置
CN111446969B (zh) 一种级联crc码的极化码编码方法及装置
CN108809482B (zh) Polar码的速率匹配方法及装置
JP2022544645A (ja) 生成行列の三角分解による誤り訂正符号化のための方法及び装置
US11936402B2 (en) Puncturing of polar codes with complementary sequences
EP3659259B1 (en) Enhanced information sequences for polar codes
EP4218141B1 (en) Codeword bit interleaving scheme for multilayer transmissions in wireless communication system
CN109474377B (zh) 编译码方法及装置
CN109474378B (zh) 编码方法及装置
WO2018207377A1 (ja) 通信装置、符号化方法、及び復号方法
WO2019047788A1 (zh) 编码方法及装置

Legal Events

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