KR20200093627A - 내부 코드와 결부된 체계적 펑처링된 폴라 코드의 인코딩 - Google Patents
내부 코드와 결부된 체계적 펑처링된 폴라 코드의 인코딩 Download PDFInfo
- Publication number
- KR20200093627A KR20200093627A KR1020207018817A KR20207018817A KR20200093627A KR 20200093627 A KR20200093627 A KR 20200093627A KR 1020207018817 A KR1020207018817 A KR 1020207018817A KR 20207018817 A KR20207018817 A KR 20207018817A KR 20200093627 A KR20200093627 A KR 20200093627A
- Authority
- KR
- South Korea
- Prior art keywords
- data
- word
- systematic
- transform
- input
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/13—Linear codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/11—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
- H03M13/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1148—Structural properties of the code parity-check or generator matrix
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/61—Aspects and characteristics of methods and arrangements for error correction or error detection, not provided for otherwise
- H03M13/615—Use of computational or mathematical techniques
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/61—Aspects and characteristics of methods and arrangements for error correction or error detection, not provided for otherwise
- H03M13/615—Use of computational or mathematical techniques
- H03M13/616—Matrix operations, especially for generator matrices or check matrices, e.g. column or row permutations
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/63—Joint error correction and other techniques
- H03M13/635—Error control coding in combination with rate matching
- H03M13/6362—Error control coding in combination with rate matching by puncturing
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/65—Purpose and implementation aspects
- H03M13/6522—Intended application, e.g. transmission or communication standard
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0041—Arrangements at the transmitter end
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0057—Block codes
- H04L1/0058—Block-coded modulation
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- General Physics & Mathematics (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied 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), 및 좌표 의 일부 서브 시퀀스에 대해, 가 되도록 코드 워드 (302, 502)를 생성하기 위해 수정된 데이터를 인코딩하는 변환 행렬(600)을 구현하는 비체계적 폴라 인코더(320, 400, 520)를 포함한다. 비체계적 인코딩의 경우, 변환 입력 (406, 601)는, 역 펑처링 워드(405), 수정된 데이터(303, 401, 503), 및 수정된 데이터로부터 도출된 체크 워드(404)를 전달하는 것에 대한, 부분들을 포함한다. 변환 출력(407, 602)은 펑처 워드에 대한 부분, 데이터를 전달하는 부분 및 리던던트 심볼로서 기능하는 부분을 포함하고, 코드 워드 는 에 의해 변환 출력과 관련되며, 여기서 는 펑처링된 부분의 보수이다.
Description
본 출원은 일반적으로 오류 정정에 관한 것으로, 보다 구체적으로, 폴라 코드를 사용하여 데이터를 전송시 오류 정정을 위한 복잡도 낮은 체계적 인코더(systematic encoder)를 제공하는 것에 관한 것이다.
최신 디지털 데이터 전송(무선 전화, 무선 데이터 전송, 플레이어로의 광 디스크 전송, 음악 데이터를 수신하는 음악 플레이어 등)에서, 소스 인코더는 효율을 위해 전송될 데이터를 압축할 수 있고, 채널 인코더는 압축된 데이터를 수신하고 그에 중복성을 추가하여 전송 채널의 노이즈로부터 데이터를 보호할 수 있다. 채널의 다른 쪽 끝에 있는 수신기(때로는 "싱크"라고 함)는 인코딩 된 데이터를 수신하고 채널 디코더를 사용하여 채널 인코딩의 역을 수행하고, 다음으로 소스 인코딩의 역을 수행하는 소스 디코더가 이어진다. 그런 다음 디코딩 된 정보가 싱크에 의해, 예를 들어 광 디스크 플레이어 또는 음악 플레이어에 의해 또는 수신하는 전화에 의해 오디오로서 재생되거나, 또는 다른 경우 수신기에 의해 사용 및/또는 저장된다.
본 원리는 수신기에서 오류로부터 복구될 가능성을 향상시키기 위해 의도적으로 도입된 중복성을 포함할 수 있는 데이터의 전송을 위한 채널 인코딩에 초점을 둔다. 채널 인코딩은 일반적으로, 데이터 워드로부터 파생되고 데이터 워드보다 오류로부터 더 잘 보호되고 따라서 데이터 워드보다 전송에 더 적합한 "코드 워드"를 생성하기 위한 변환을 통해, "데이터 워드(data word)"라고 하는 전달하고자 하는 데이터를 전송하는 방식으로 작동한다. 본 개시의 목적으로, 행렬을 사용하여 데이터 워드를 곱하는 선형 블록 인코더가, 노이즈에 의해 발생하는 비트 오류율(BER)과 같은 오류율로 일반적으로 표현되는 노이즈에 대해 필요한 계산량 측면에서 충분히 "낮은 복잡도"를 가지면서 (절대는 아니지만) 상당한 보호를 제공한다는 허용 가능한 트레이드 오프를 달성할 수 있기 때문에 이러한 목적으로 사용되었다고 말할 수 있다. 수신된 신호의 BER을 줄이지만 기대하는 데이터 전송 속도를 위해 너무 많은 계산을 요구하는 더 높은 복잡도의 인코딩 체계는 실용적이지 않다.
새로운 유형의 선형 블록 코드는 폴라(polar) 코드이며, 이는 채널 용량을 달성할 수 있게 함으로써, 즉 전송 채널의 전체 용량이 이용될 수 있도록 데이터를 인코딩 할 수 있게 함으로써 구형 코드를 개선시킨다. 채널 양극화(Channel polarization)는 대칭 용량 를 갖는 이진 입력 이산 비기억(discrete memoryless) 채널 가 주어지면, N이 커질수록, 합성된 채널의 의 일부분은 거의 완벽하게 되고 채널의 나머지 부분은 거의 쓸모없게 되는 것을 만족하는, N 개의 독립적인 의 사본들 중 N 개의 이진 입력 채널들 , 의 제2 세트를 합성할 수 있는 사실을 의미한다. 이 아이디어를 기반으로 구성된 코드를 폴라 코드라고 한다. 비-체계적 폴라 인코더는 입력 데이터 워드 d 및 고정 워드 b를 변환 입력 워드 u에 수집하고 이를 변환 행렬 와 곱하여 코드 워드 x, 즉 를 렌더링함으로써 폴라 코딩을 수행한다.
폴라 코드에 사용된 변환 행렬 는 크로네커 곱(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월.
상기에 기재된 간행물은 본 명세서에 참고로 포함된다.
데이터 체크를 갖는 체계적 폴라 엔코더는 좌표 의 일부 서브 시퀀스에 대해, 가 되도록 코드 워드 를 생성하기 위해 수정된 데이터 워드 를 인코딩하는 변환 행렬를 구현하는 비체계적 폴라 인코더와 함께, 전송을 위해 폴라 코딩될 정보를 포함하는 입력 데이터를 수신하고 수정된 데이터 를 생성하는 데이터 맵퍼를 포함한다. 비체계적 인코딩 동작은, 데이터 워드 와 독립적인 고정 워드 에 대해 를 만족하는 부분 , 데이터 워드 와 독립적인 고정 워드인, 역 펑처링 워드 에 대해 를 만족하는 부분 , 인 수정된 데이터를 전달하는 부분 , 체크 생성기 함수 에 의해 인 수정된 데이터로부터 도출된 체크 워드를 전달하는 부분 -부분 는 엄격히 비-널(non-null)임-, 을 포함하는 변환 입력 를 특징으로 한다. 변환 입력 에 대응하는 것은, 데이터 워드 와 독립적인 고정 워드인 펑처링 워드 에 대해 를 만족하는 펑처링된 부분 , 인 데이터 를 전달하는 부분 , 리던던트 심볼로서 기능하는 부분 을 포함하는 에 의해 주어진 변환 출력 이고, 코드 워드 는 에 의한 변환 출력과 관련되며, 여기서 는 펑처링된 부분의 보수이다. 변환 행렬 , 입력 파티션 및 출력 파티션 은 가 가역이고, ,이 되도록 선택하고, 바람직하게는 체크 생성기 함수 가 아핀(affine) 함수가 되고, 가 가역이고, , 및 이 되도록 선택된다.
이하의 상세한 설명을 수행하기 전에, 본 특허 명세서 전체에 걸쳐 사용된 특정 단어 및 문구의 정의를 제시하는 것이 바람직할 수 있다. 용어 "결합(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은 변환 입력 워드 에 곱하여 변환 출력 , 즉 를 렌더링하는 폴라 변환 행렬 를 도시한다;
도 7은 본 개시의 실시예에 따른 체계적 인코더에 통합된 파티셔닝(partitioning)을 갖는 데이터 맵퍼(mapper)를 도시한다;
도 8은 본 개시에 따라 데이터 전송시의 복잡도 낮은 체계적 인코더를 이용하여 오류 정정이 구현될 수 있는 예시적인 무선 네트워크를 도시한다;
도 9a는 본 개시에 따라 데이터 전송시의 복잡도 낮은 체계적 인코더를 이용하여 오류 정정이 구현될 수 있는 예시적인 사용자 장비 네트워크를 도시한다; 그리고
도 9b는 본 개시에 따라 데이터 전송시의 복잡도 낮은 체계적 인코더를 이용하여 오류 정정이 구현될 수 있는 예시적인 enhanced NodeB(eNB) 네트워크를 도시한다.
도 1은 본 개시의 실시예들에 따른 데이터 전송시의 복잡도 낮은 체계적 인코더를 사용하는 오류 정정의 실시예들이 있는 통신 시스템을 도시한다;
도 2는 본 개시의 실시예 내에서 이용될 수 있는 데이터 체크를 갖는 비-체계적 인코더의 단순화된 도면이다;
도 3은 본 개시의 실시예 내에서 이용될 수 있는 데이터 체크를 갖는 체계적 인코더의 단순화된 도면이다;
도 4는 본 개시의 실시예들에 따른 비-체계적 폴라 인코더를 도시한다.
도 5는 본 개시의 실시예들에 따른 데이터 체크를 갖는 체계적 폴라 인코더를 도시한 도면이다;
도 6은 변환 입력 워드 에 곱하여 변환 출력 , 즉 를 렌더링하는 폴라 변환 행렬 를 도시한다;
도 7은 본 개시의 실시예에 따른 체계적 인코더에 통합된 파티셔닝(partitioning)을 갖는 데이터 맵퍼(mapper)를 도시한다;
도 8은 본 개시에 따라 데이터 전송시의 복잡도 낮은 체계적 인코더를 이용하여 오류 정정이 구현될 수 있는 예시적인 무선 네트워크를 도시한다;
도 9a는 본 개시에 따라 데이터 전송시의 복잡도 낮은 체계적 인코더를 이용하여 오류 정정이 구현될 수 있는 예시적인 사용자 장비 네트워크를 도시한다; 그리고
도 9b는 본 개시에 따라 데이터 전송시의 복잡도 낮은 체계적 인코더를 이용하여 오류 정정이 구현될 수 있는 예시적인 enhanced NodeB(eNB) 네트워크를 도시한다.
이하에서 논의되는 도 1 내지 도 9b 및 본 특허 명세서에서 본 개시의 원리를 설명하기 위해 사용된 다양한 실시예는 단지 예시적인 것이며 본 개시의 범위를 제한하는 것으로 해석되어서는 안된다. 당업자는 본 개시의 원리가 적절히 구성된 통신 시스템에서 구현될 수 있다는 것을 이해할 것이다.
코딩 이론에서 확립된 규칙에 따라, 시스템에서의 데이터 워드, 패리티 워드 및 코드 워드는 본 명세서에서 유한 필드 에 대한 벡터로 표현되며, 여기서 는 필드 내의 요소의 수를 나타낸다. 필드 요소(스칼라)는 와 같은 일반 소문자로 표시된다. 필드 위의 벡터는 소문자 볼드체, 예를 들어, 로 표현되며, 여기서 은 벡터의 길이를 나타낸다. 표기법 는 벡터 의 번째 좌표를 나타낸다. 길이가 인 벡터의 요소가 정수 로 인덱싱되는 규칙이 사용된다. 따라서, 벡터 은 그 요소의 관점에서 또는 대안적으로 로 표시된다. 필드 위의 행렬은 예를 들어 와 같이 대문자 볼드체로 표현되며, 여기서 은 의 행 수를 나타내고 은 의 열 수를 나타낸다. 표기법은 의 번째 행과 번째 열에 있는 요소를 나타낸다. 개의 행과 개의 열이 있는 행렬의 요소는 정수 , , 의 쌍으로 인덱싱된다. 따라서, 행렬 은 그 요소의 관점에서 로 표시된다. 행렬 의 크기는 의 요소 수로 정의된다. 따라서 개의 행과 개의 열을 가진 행렬의 크기는 이다. 모두 제로인 벡터와 모두 제로인 행렬은 으로 표시된다.
주어진 벡터의 서브-벡터 또는 주어진 행렬의 서브-행렬이 종종 고려된다. 이러한 서브 벡터 또는 서브 행렬을 특정하기 위해 튜플(주어진 인덱스 세트에 대해 고유한 인덱스의 순서가 지정된 목록)이 사용되며 , 와 같은 기울임 꼴 대문자로 표시된다. 튜플 의 요소 수는 로 표시된다.
예를 들어, 및 이면 이고; 반면에 이면 이다. 행렬과 그 서브 행렬에도 비슷한 표기법이 적용된다. 예를 들어, ,, 및 이면, 이다. 일반적으로, 벡터 및 에 대한 k-튜플 인덱스에 대해, 는 서브 벡터 를 나타낸다. 마찬가지로, 개의 행과 개의 열이 있는 행렬 , 에 대한 m-튜플 및 에 대한 n-튜플 에 대해, 표기는 서브-행렬 를 나타낸다.
각 인덱스 이 튜플 중 하나에만 속하고 각 튜플 의 각 요소가 인덱스 세트 에 속하는 경우, 튜플의 튜플 을 인덱스 세트 의 파티션이라고 한다. 의 모든 파티션 은 각 벡터 를 (비연속) 서브 벡터 , 로 분할한다. 마찬가지로 의 과 의 의 모든 파티션 쌍은 행 인덱스 세트가 이고 열 인덱스 세트가 인 각 행렬 를 (비 연속) 서브 행렬 , , 로 분할한다.
인코딩 동작은 데이터 워드, 패리티 워드 및 코드 워드의 벡터 표현의 다양한 변환을 포함한다. 용어 "변환(transform)"은 선형 벡터 공간 변환을 지칭하기 위해 아래에서 사용된다. 변환은 행렬로 표시된다. 변환은 일반적으로 특정 행렬 표현과 함께 아래에 지칭된다; 예를 들어, "변환 "는 특정 기저(basis)의 행렬 에 의해 표현되는 변환을 지칭한다.
인 경우, 은 의 이진 확장이다. , 범위의 임의의 두 정수 에 대해, 표기법은 모든 에 대해 라는 의미에서, 의 이진 확장 이 의 이진 확장 보다 우세하다(dominate)는 의미를 나타내기 위해 사용된다. " "와 "가 보다 우세하다(dominate)"라는 문구가 동의어로 사용된다. 0에서 범위의 정수 세트에서 관계 ""는 "부분 순서(partial order)"를 정의한다. 반사관계(reflexive): 모든 에 대해, ; 비대칭: 구분되는 와 에 대해 인 경우, 역인 는 참일 수 없다; 이행성(transitive): 및 이면 이다. 관계 ">"는 와 가 모두 참이 아닌 정수 와 가 있다는 의미에서 "부분 순서"("전 순서(total order)"와 반대)이다. 예를 들어 14(이진수 1110)도 7(이진수 0111)도 서로 다른 것에 우세하지 않는다.
폴라 코딩에 중요한 특수한 변환 유형은 변환 이며 여기서 이고 은 의 번째 크로네커 거듭곱이다. 잘 알려진 [Arik1] 속성은 을 이진 확장 사이의 우세 관계와 연결한다: 행과 열이 0으로 시작하여 색인화되고 인덱스가 , 범위의 값을 갖는 인 경우에만 이다. 예를 들어, 일 때,
본 원리에 중요한 변환 의 주요 속성은 와 같은 (고유한) 좌표의 모든 튜플의 경우 서브 행렬 은 가역이라는 것이다. 이것은 의 원소가 인 오름차순이면 가 대각선에 1들을 갖는 하삼각형인 것을 보고 알 수 있다. 가 오름차순이 아닌 경우, 오름차순으로 의 좌표를 갖는 튜플 를 고려할 수 있다. 와 는 행과 열의 치환에 의해서만 다르므로, 하나는 다른 하나가 가역성이 있는 경우에만 가역성이 있다.
변환 의 두 번째 주요 속성은, 임의의 두 개의 튜플 및 에 대해, 서브 행렬 는 어떠한 의 요소 도 의 임의의 요소 에 우세하지 않는 경우에만 모두 제로인 행렬과 동일하다. 즉, 모든 및 에 대해 가 거짓인 경우에만 이다.
상기를 염두에 두고, 처음의 도 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)는 송신 시스템(20)으로부터 신호를 수신하고 그 신호를 복조기(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를 참조하면, 데이터(또는, "데이터 워드") (201)를 수신하고 이를 코드 워드 (202)로 변환하는 데이터 체크(200)를 갖는 비-체계적 인코더의 단순화된 다이어그램이 도시되어 있다. 데이터 체크를 갖는 비-체계적 인코더(200)는 데이터 를 입력으로서 취하고 체크 워드 (203)를 출력으로서 생성하는 리던던시(또는 "체크") 생성기 (210)를 포함하고, 체크 워드 (203)는 데이터 의 함수 로서 계산된 비-널(non-null) 심볼 시퀀스의 형태를 갖고, 이는 수신기의 디코더가 보다 안정적인 결정을 내리기 위해 활용할 수 있는 여분의 중복성을 제공한다. 인코더 입력 어셈블러(220)는 데이터 (201)와 체크 워드 (203)를 인코더 입력 (204)로 결합한다. 인코더(230)는 인코더 입력 (204)를 수신하고 코드 워드 (202)를 생성한다. 인코더(230)는 인코더 입력 (204)(따라서 데이터 (201) 및 체크 워드 (203))가 코드 워드 (202)와의 미리 결정된 함수적(예를 들어, 산술 또는 논리) 관계를 만족시키도록 함수 를 구현한다. 데이터 체크(200)를 갖는 비-체계적 인코더는 데이터 (201)가 코드 워드 (202)의 일부로서 투명하게 나타나는 것이 보장되지 않는다는 점에서 비-체계적이다. 일부 응용에서, 코드 워드 (202)의 일부는 “펑처링” 될 수 있거나, 다시 말해서, 채널로 전송되지 않을 수 있다. 펑처링은 주로 코드 워드의 길이를 지정된 값으로 조정하는 것이다. 본 원리는 체크 워드(203)를 포함하는 데이터 체크가 있을 때뿐만 아니라 펑처링이 적용될 때에도 적용된다.
도 3을 참조하면, 데이터 체크를 갖는 체계적 인코더(300)는 도 2의 데이터 체크를 가진 비-체계적 인코더(200)의 체계적 버전이다. 데이터 체크를 갖는 체계적 인코더(300)는 데이터 (301)를 수신하여 그것을 코드 워드 (302)로 변환한다. 코드 워드 (302)는 일련의 심볼들이며, 좌표 의 일부 서브 시퀀스에 대해 라는 의미에서 데이터 (301)를 투명하게 포함한다. 데이터 체크를 갖는 체계적 인코더(300)는 데이터 맵퍼(310) 및 데이터 체크를 갖는 비-체계적 인코더(320)를 포함한다. 데이터 맵퍼(310)는 데이터 (301)를 수정된 데이터 (303)에 매핑하는 맵퍼이다. 수정된 데이터 (303)는 데이터 체크를 갖는 비-체계적 인코더(320)에 의해 수신되며, 이는 도 2에 도시된 유형의 비-체계적 인코더(200)이다. 비-체계적 인코더(320)는 수정된 데이터 (303)를 처리하고 코드 워드 (302)를 생성한다.
본 개시에 의해 해결되는 하나의 문제점은 데이터 체크를 갖는 비-체계적 인코더를 데이터 체크를 갖는 체계적 인코더로 바꾸는 데이터 맵퍼의 구성이다. 이러한 데이터 맵퍼의 직접적 구현은 인코딩 프로세스의 일부로서 리던던시를 포함하기 때문에 엄청나게 복잡할 수 있음에 유의해야 한다. 본 명세서에 기술된 본 원리는 폴라 코드의 경우에 이러한 데이터 맵퍼를 구현하기 위한 낮은 복잡성 방법의 개발을 다루고, 이는 본 개시의 대상에 대한 주요 적용 영역이다.
도 4는 본 개시의 실시예에 따른 데이터 체크 및 펑처링을 포함하는 폴라 인코더인 비-체계적 폴라 인코더(400)를 도시한다. 비-체계적 폴라 인코더(400)는 도 2의 비-체계적 인코더(200)의 특별한 예이며, 특수한 경우의 폴라 코드에 대해 더 상세하게 명시되어 있다.
비-체계적 폴라 인코더(400)는 처리 블록으로서 체크 생성기(410), 변환 입력 어셈블러(420), 폴라 변환 (430), 및 펑처(puncturer)(440)를 포함한다. 이들 처리 블록은 데이터 (401), 코드 워드 (402), 고정 워드 (403), 체크 워드 (404) 및 역 펑처링 워드 (405)를 포함하는 다수의 심볼(신호) 시퀀스에서 동작한다.
변환 입력 어셈블러(420)는 데이터 (401), 고정 워드 (403), 체크 워드 (404) 및 역 펑처링 워드 (405)를 수신하고, 변환 입력 (406)를 생성한다. 변환 입력 어셈블러(420)에 의한 멀티플렉싱 동작은 입력 파티션 을 특징으로 하며, 이는 폴라 변환 (430)의 입력 벡터의 인덱스 세트 의 파티션이다. 변환 입력 어셈블러(420)는 , , , 및 가 되도록 파티션 에 따라 변환 입력 (406)를 어셈블한다.
폴라 변환 (430)는 "폴라 변환 행렬 "로 표현되는 변환 연산을 구현하는데, 여기서 본 원리의 가장 일반적인 형태에서 는 양의 정수 에 대해 개의 행과 개의 열을 갖는 임의의 가역 행렬이다. 그러나, 이하에 설명되는 바와 같이, 가 특별한 구조를 갖는 경우에만 낮은 복잡성으로 본 원리가 적용 가능하다.
본 개시는 단지 본 원리의 개시에서의 표기의 편의를 위해서 정수 에 의해 변환 행렬 의 행과 열을 라벨링하는 규칙을 사용한다는 점에 유의해야 한다. 대안적인 라벨 표기 규칙이 본 원리의 실제 실시예에서 사용될 수 있음이 명백할 것이다.
본 개시의 바람직한 실시예에서, 폴라 변환 행렬 (430)는 재귀 계산 방법을 사용함으로써 가능한 낮은 복잡도에서 변환의 계산을 가능하게 하기 위해, 이들 각각의 크기가 의 크기보다 작은, 복수의 행렬의 크로네커 곱에 의해 주어진다.
바람직한 실시예는 변환 행렬이 의 형태를 가질 때마다 바람직하게 적용 가능하며, 여기서 는 치환 행렬이고, 은 제1 커널 변환(kernel transform)이고, 은 제1 계층 변환이고, 는 치환 행렬이고, 제1 커널 변환 은 1보다 큰 크기를 갖고, 제1 계층 변환 은 변환 의 크기보다 작은 크기를 갖는다. 본 원리의 바람직한 실시예에 대한 일반적인 선택은 및 를 항등 치환으로서 취하는 것이다.
본 원리의 가장 바람직한 실시예의 제1 유형에서, 변환 행렬은 의 형태를 가지며, 여기서 이고 모든 변환 동작은 이진 필드 에서 수행된다. 이 경우 행과 열의 수는 2의 거듭 제곱, 으로 제한된다. (코드 워드의 길이를 2의 거듭 제곱 이외의 정수 값으로 설정하기 위해 펑처링이 필요하다. 본 개시는 데이터의 체계적 인코딩과 조합하여 특정 펑처링 방법을 수행하는 방법을 설명한다.)
본 원리의 가장 바람직한 실시예의 제2 유형에서, 변환 행렬은 의 형태를 가지며, 여기서 또는 는 "비트 반전(bit reversal)" 치환으로서 [Arik1]에 정의된 바와 같다.
폴라 변환 (430)는 변환 입력 (406)를 입력으로서 취하고 변환 출력 (407)를 생성하고, 변환 출력 (407)은 함수적 관계 에 의해 변환 입력 (406)와 관련된다. 변환 출력 (407)는 펑처(440)에 의해 처리되며, 펑처(440)는 출력 파티션에 의해 특징화 되고, 출력 파티션은 폴라 변환 (430)의 범위 공간에서 벡터의 인덱스 세트 의 파티션이 된다.
[Wang, Huaw3]과 같은 일부 형태의 펑처링 및 본 원리의 바람직한 실시예에서, 펑처링 작업은 형태의 제약을 포함하며, 여기서 는 데이터 (401)와 독립적인 고정 워드다. 비-체계적 인코더(400)는 의 함수로서 역 펑처링 워드 (405)를 계산하고 대신에 제약 조건 를 대체함으로써 그러한 제약을 수용한다.
도 5를 참조하면, 데이터 체크 및 펑처링을 갖는 체계적 폴라 인코더(500)가 도시되어 있다. 체계?? 폴라 인코더(500)는 폴라 코딩을 위해 맞춤화된 도 3의 유형의 체계적 폴라 인코더이며, 도 4의 유형의 비-체계적 폴라 인코더를 체계적 폴라 인코더로 전환하도록 구성될 수 있다.
체계적 폴라 인코더(500)는 데이터 맵퍼(510) 및 데이터 체크 및 펑처링(520)을 갖는 비-체계적 폴라 인코더를 포함한다. 비-체계적 폴라 인코더(520)는 도 4의 데이터 체크 및 펑처링을 갖는 비-체계적 폴라 인코더(400)와 같은 비-체계적 폴라 인코더이다.
데이터 맵퍼(510)는 데이터 (501)를 수신하고 이를 수정된 데이터 (503)로 변환하고, 이 데이터는 비-체계적 폴라 인코더(520)에 의해 입력으로서 수신되고 코드 워드 (502)로 인코딩된다. 체계적 폴라 인코더(500)는 와 같은 고정 된 튜플 가 있다는 점에서 체계적이다.
이하에 설명되는 본 원리의 실시예는 비-체계적 인코더(520)의 구조를 변경하지 않고 적절한 데이터 맵퍼(510)를 구축함으로써 주어진 비-체계적 폴라 인코더(520)를 도 5에서와 같이 체계적인 폴라 인코더로 전환하는 것을 목표로 한다.
본 법칙의 특정 실시예를 제시하기 전에, 기본 원리는 데이터 맵퍼(510)와 비-체계적 인코더(520) 사이의 관계에 대한 수학적 분석을 수행함으로써 설명될 것이다. 이 분석은 체계적 폴라 인코더(500)의 실제 구현을 가능하게 하기에 충분한 조건을 밝힐 것이다.
이어지는 체계적 폴라 인코더(500)의 분석에서, 비-체계적 폴라 인코더(520)는 도 4에 도시된 유형의 비-체계적 폴라 인코더(400)이고, 도 4의 표기법이 분석 전체에 사용될 것이라고 가정될 것이다. 도 4에서, 펑처는 파티션를 사용하고; 분석에서, 이 파티션은 튜플 를 두 개의 (분리) 튜플 와 으로의 분할에 의해 파티션로 세분화된다.
분석으로 돌아가서, 인코딩 동작은 다음과 같은 제약 조건 하에서 수행된다는 점에 유의한다. 먼저 변환 관계가 있다:
둘째, 변환 입력은 다음과 같이 다양한 부분으로부터 어셈블된다.
셋째, 데이터가 변환 출력의 일부로 나타나는 체계적 인코딩 제약 조건이 있다:
마지막으로, 본 원리의 바람직한 실시예는 펑처링 동작에서 다음 형태의 제약을 부과한다.
여기서 는 데이터 와 독립적인 고정 패턴이다. 식 (1) 내지 (7)의 시스템은 과 같은, 자유도의 수보다 많은 방정식이 있다는 의미에서 과대 결정된 시스템을 구성한다. 그러나, 본 원리의 바람직한 실시예에서, 식 (2) 및 (7)은 가 의 함수가 되도록 허용함으로써 실제로 동일한 제약을 나타낸다. 따라서, 파티션 및 이 적절히 선택된다면, 식 (1) 내지 (7)을 동시에 만족시킬 수 있다. 본 개시는 식 (1) 내지 (7)의 제약 조건 하에서 체계적 인코딩을 제공하는 파티션을 선택하는 방법을 설명한다.
본 원리를 보다 철저히 논의하기 위해, 변환 관계식 (1)을 다음 형태로 재 작성하는 것이 유용하다:
식 (8) - (10)은 입력 및 출력 파티션 및 하에서 변환 출력의 각 부분에 대한 변환 입력의 각 부분의 영향을 나타낸다. 아래에 언급된 것처럼 식 (2) 내지 (10)을 점검하면 많은 설계 규칙이 나타난다. 이러한 설계 규칙은 본 원리의 수학적 기초를 형성한다.
설계 규칙 1: 설계 규칙 0을 충족하는 것에 더해, 체크 생성기 식 (4)가 아래 식 (11) 형태의 아핀(affine) 함수가 되고 가 가역 행렬이 되도록 변환 행렬 와 입력 파티션 및 출력 파티션 을 선택한다.
비고: 설계 규칙 1 하에서, 식 (2)에서 (7)과 식 (9)로부터
가 따라온다. 식 (12)는 도 5에서 데이터 맵퍼(510)의 역할에 사용될 수 있는 데이터 맵퍼를 정의한다. 이러한 가능성은 본 원리의 제1 실시예로서 아래에서 탐구된다.
체계적 폴라 인코더(500)의 제1 실시예. 제1 실시예는 설계 규칙 1이 만족되는 것으로 가정한다. 이 실시예에서 데이터 맵퍼(510)는 식 (12)에 기초하며, 이는 다음과 같이 더 간단한 형태로 작성될 수 있다.
이 실시예에서, 식 (13)에 의해 수정된 데이터 (503)을 획득한 후, 비-체계적 인코더(520) 대신에 임의의 이용 가능한 비-체계적 인코더를 사용함으로써 체계적 폴라 인코딩이 완료될 수 있다. 비-체계적 인코더가 이용 가능하지 않거나, 기존의 비-체계적 인코더에 대한 대안으로서, 비-체계적 인코더(520)는 식 (2) 내지 (5)에 따라 변환 입력 (406)를 어셈블하고 식 (1)에 따라 변환 출력 (407)를 계산함으로써 실현될 수 있다. 변환 출력 (407)가 이용 가능하면, 코드 워드 (402)는 를 설정함으로써 얻어지며, 여기서 은 펑처링된 인덱스 의 보수(complement)이다.
제1 실시예는 데이터 맵퍼가 식 (13)을 계산함으로써 구현될 수 있음을 보여줌으로써 개념 증명 목적에 주로 쓰인다. 실제 적용에 있어서, 제1 실시예는 식 (13)에 나타나는 행렬 가 계산의 복잡성을 감소시키기 위해 이용될 수 있는 임의의 구조를 가질 수 없기 때문에 너무 복잡할 수 있다. 의 직접적인 계산은 관련된 행렬의 크기 차수(order)에 따라 계산 복잡성을 가지며, 길이가 인 코드의 경우 차수로 실행될 수 있다. 제1 실시예의 개선에서, 계산 복잡도를 실용적인 레벨로 낮추기 위해 변환 행렬 에 추가 구조가 부과된다.
비고: 설계 규칙 2 하에서, 식 (13)은
로 단순화된다. 식 (14)는 본 원리의 제2 실시예에서 탐색될 대안적인 데이터 맵퍼를 정의한다.
체계적 폴라 인코더(500)의 제2 실시예. 제2 실시예는 논의중인 시스템이 설계 규칙 2를 따르는 것으로 가정한다. 이 실시예는 식 (14)에 기초한 데이터 맵퍼를 사용한다. 나머지 체계적 인코딩 동작은 제1 실시예에서와 동일한 방식으로 완료될 수 있다.
식 (14)의 직접적인 계산은 실제 목적으로는 여전히 너무 복잡할 수 있다. 이하의 본 원리의 제3 실시예는 변환 에 존재할 수 있는 구조를 이용하기 위한 목적으로 제2 실시예에서의 계산을 상이한 방식으로 구성하고, 이는 식 (14)에서와 같이 행렬 로 직접 작업하는 것이 그러한 구조를 쉽게 이용할 수는 없게 하는 경우에 유용함을 입증한다.
체계적 폴라 인코더(500)의 제3 실시예. 제3 실시예는 제2 실시예의 계산 방법을 개선하고 본 원리의 가장 바람직한 실시예를 구성한다.
다음 행렬을 고려한다
이며, 이는 직접 계산을 통해 확인할 수 있고 치환 행렬의 역행렬이 그것의 전치와 같다는 점에 유의해야 한다.
제3 실시예는 다음의 데이터 맵퍼를 포함한다.
데이터 맵퍼(510)의 바람직한 실시예는:
이는
임을 보여준다.
와 같다. 증명이 완료되었다.
비고: 위의 증명은 식 (19)에서 "*"로 표시되는 서브 행렬이 이 맥락에서 아무런 역할을 하지 않음을 분명히 한다.
발생하는 질문은 식 (14)와 같이 직접적이 아닌, 식 (20)에서와 같이 더 큰 변환 동작의 일부로 을 계산하는 데 이점이 있는지 여부이다. 큰 행렬에 대한 연산을 포함하기 때문에 식 (20)에 의한 계산이 식 (14)보다 더 관련된 것으로 보일 수 있다. 그러나 만약 이 계산을 단순화하기 위해 이용될 수 있는 구조를 가지고 있다면, 식 (20)은 이것을 쉽게 이용할 수 있는 반면, 식 (14)에서, 도출 된 행렬 는 쉽게 이용될 수 있는 구조가 남아 있지 않을 수 있다. 본 원리는 데이터 맵핑 연산을 더 큰 행렬 연산에 포함시키면 계산을 크게 단순화 할 수 있다는 것을 인식하고 있다.
이 제3 실시예에서, 수정된 데이터 (503)가 데이터 맵퍼에 의해 계산되면, 비-체계적 폴라 인코더(520)에 대한 입력으로서 제공되고, 비-체계적 폴라 인코더는 임의의 주어진 인코더일 수 있거나 상기 제1 실시예와 관련하여 논의된 바와 같이 직접 구현된 것일 수 있다. 비-체계적 폴라 인코더(520)가 어떻게 구현되는지의 정확한 특성은 본 목적에 대한 부수적인 이슈이다. 본 원리는 우선적으로 복잡도가 낮은 데이터 맵퍼(510)의 구현을 제공하는 것에 관한 것이다.
본 원리로부터 쉽게 이점을 얻을 수 있는 코드 클래스는 폴라 코드 클래스이다 [Arik1]. 폴라 코드의 경우, 변환 행렬은 형식이며 여기서 은 구성의 "커널(kernel)"이라고 한다. 폴라 변환의 다음 특성은 잘 알려져 있다 [Arik1]. 변환 행렬은 이면 이고 그렇지 않으면 이 되도록 원소 를 갖는다. 역변환 은 와 같으며, 임의의 주어진 에 대해, 순방향 변환 및 그 역 은 차수 논리 연산을 사용하여 계산될 수 있다.
폴라 변환(600)은 변환 입력 (601)를 수신하고 변환 출력 (602)를 출력한다. 변환 입력 (601) 및 변환 출력 (602)는 표준 논리 게이트를 사용하여 구현될 수 있는 16 개의 부울 변수로 구성된 신호이다. 폴라 변환(600)은 표준 디지털 논리 회로를 사용하여 동작하고 주 데이터 처리 요소로서 배타적 논리합 게이트(exclusive-or gate)를 포함한다. 폴라 변환에 의해 수행된 계산은 이진 필드 에서의 행렬 연산 와 동등하다.
도 6을 여전히 참조하며, 전술한 제2 및 제3 실시예를 설명하기 위한 예가 제공될 것이다.
따라서 이 예의 설계 선택은 설계 규칙 2의 모든 요구 사항을 충족한다.
설계 규칙 2에 대한 적합성은 변환 의 일부 일반적인 속성에 의해 용이하게 된다. 구체적으로, 서브 행렬 및 의 가역성은 가 어떠한 비어 있지 않은 에 대해 가역인 일반적인 성질에 기인한다. 이라는 사실은 의 어떤 요소도 의 어떤 요소에 대해 우세하지 않기 때문이다. , , , 및 에 대해서도 동일한 설명이 유지된다.
제2 실시예에서, 데이터 맵퍼는 다음과 같은 형태를 취한다.
도 7을 참조하면, 파티셔닝(700)을 갖는 데이터 맵퍼가 도시되어 있으며, 이는 도 3의 데이터 맵퍼(310) 또는 도 5의 데이터 맵퍼(510) 대신에 사용될 수 있다. 파티셔닝을 갖는 데이터 맵퍼(700)는 데이터 (701)를 수신하고, 데이터 분할기(710) 내에서 데이터 (701)를 데이터 1 (702) 및 데이터 2 (703)로 분할한다. 데이터 1 (702) 및 데이터 2 (703)은 각각 데이터 맵퍼 1(720) 및 데이터 맵퍼 2(730)에 의해 수신되고, 수정된 데이터 1 (704) 및 수정된 데이터 2 (705)를 각각 출력한다. 수정된 데이터 1 (704) 및 수정된 데이터 2 (705)는 둘 다 데이터 결합기(740)에 의해 수신되며, 이들을 결합하여 수정된 데이터 (706)를 생성한다.
도 7은 데이터 맵퍼를 구현하기 위한 분할 정복(divide-and-conquer) 접근법을 나타낸다. 데이터 맵퍼 1(720) 및 데이터 맵퍼 2(730) 각각은 재귀적인 방식으로, 도 7에서와 동일한 전략을 사용하여 구현될 수 있다. 이러한 재귀적 구현은 본 원리에 따라 체계적 폴라 인코더를 구현할 때 차수 복잡성을 달성하는 열쇠이다.
상기 제3 실시예는 이것이 폴라 코드와 함께 사용될 때 도 7의 재귀 분할 정복 전략을 이용할 수 있는데 이 경우 역변환 은 크로네커 거듭곱 에 의해 주어지고, 도 7에 주어진 재귀 회로 구현의 유형에 적합하게 되기 때문이다.
도 8은 본 개시에 따라 데이터 전송시의 복잡도 낮은 체계적 인코더를 이용하여 오류 정정이 구현될 수 있는 예시적인 무선 네트워크를 도시한다. 도 8에 도시된 무선 네트워크(800)의 실시예는 단지 예시를 위한 것이다. 무선 네트워크(800)의 다른 실시예가 본 개시의 범위를 벗어나지 않고 사용될 수 있다. 무선 네트워크(800)는 eNodeB(eNB)(801), eNB(802) 및 eNB(803)를 포함한다. eNB(801)는 eNB(802) 및 eNB(803)와 통신한다. eNB(801)는 또한 인터넷, 독점 IP 네트워크, 또는 다른 데이터 네트워크와 같은 적어도 하나의 인터넷 프로토콜(IP) 네트워크(830)와 통신한다.
네트워크 유형에 따라, "기지국" 또는 "액세스 포인트"와 같은 "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 거주지(R)에 위치할 수 있는 UE(814); 제2 거주지(R)에 위치할 수 있는 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은 무선 네트워크(100)의 일례를 도시하지만, 도 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 트랜시버 당 하나 같이) 각각 복수의 인스턴스를 포함할 수 있다.
특정한 "복잡성 낮은 체계적 인코더를 이용하는 데이터 전송시의 오류 정정 방법 및 시스템"이 본 명세서에서 상세히 설명되고 도면에 도시되어 있지만, 본 개시 내용에 포함되는 대상은 청구 범위에 의해서만 제한됨을 이해해야 한다. 본 개시는 예시적인 실시예들로 설명되었지만, 당업자에게는 다양한 변경 및 수정이 암시될 수 있다. 본 개시는 첨부된 청구 범위의 범주에 속하는 변경 및 수정을 포함하는 것으로 의도된다. 본 출원의 설명이 임의의 특정 요소, 단계 또는 기능이 청구 범위에 포함되어야 하는 필수 또는 중요 요소를 암시하는 것으로 해석되어서는 안된다: 특허 대상의 범위는 허용된 청구 범위에 의해서만 정의된다. 더욱이, 이러한 청구항들 중 어느 하나도 특정 청구항에서 기능을 식별하는 분사구가 따라오는 "수단(means for)" 또는 "단계(step for)"라는 정확한 단어가 명시적으로 사용되지 않는 한, 첨부된 청구항 또는 청구항 요소들과 관련하여 35 USC § 112(f)를 적용할 의도는 없다. 청구 범위 내의 "메커니즘(mechanism)", "모듈(module)", "디바이스(device)", "유닛(unit)", "컴포넌트(component)" "요소(element)", "부재(member)", "장치(apparatus)", "기계(machine)", "시스템(system)", "프로세서(processor)" 또는 "제어기(controller)"와 같은 (그러나 이에 국한되지는 않음) 용어의 사용은 청구 범위 자체의 특징에 의해 추가로 수정되거나 개선된 바에 따라, 관련 기술 분야의 당업자에게 알려진 구조를 의미하는 것으로 이해되고 의도되며, 35 U.S.C. § 112(f)를 적용하도록 의도되지는 않는다.
Claims (27)
- 데이터 체크를 갖는 체계적 폴라 인코더(systematic polar encoder)로서,
전송될 정보를 포함하는 입력 데이터 워드 를 수신하도록 구성된 입력; 및
코드 워드 를 생성하도록 구성된 인코더 회로를 포함하고,
상기 인코더 회로에 의한 인코딩 동작은 변환 행렬 , 변환 입력 를 사용하고,
상기 변환 입력 는,
상기 데이터 워드 와 독립적인 고정 워드 에 대해 를 만족하는 부분 ,
상기 데이터 워드 와 독립적인 고정 워드인, 역 펑처링 워드 에 대해 를 만족하는 부분 ,
상기 데이터 로부터 도출된 수정된 데이터 워드 에 대해 를 만족하는 부분 , 및
를 만족하는 부분 -상기 는 상기 수정된 데이터 워드 에서 동작하고 비-공백(non-void) 체크 워드를 생성하는 체크 생성기 함수이고, 상기 변환 입력 와 변환 출력 는 연관되어 있음-를 포함하고,
상기 변환 출력 는 에 의해 상기 변환 입력 와 관련되고, 상기 변환 출력 는
공백(void) 고정 워드 및 비-공백 고정 워드 중 하나인 펑처링 워드 에 대해 를 만족하는 펑처링된 부분 ,
를 만족시키는 부분 ,
리던던트 심볼로서 기능하는 부분 을 포함하고,
상기 데이터 워드 의 체계적 인코딩은 상기 변환 출력 의 상기 부분 와 상기 부분 을 미리 결정된 순서로 조합하여 상기 코드 워드 를 형성함으로써 달성되는, 데이터 체크를 갖는 체계적 폴라 인코더. - 데이터 체크를 갖는 체계적 폴라 인코더로서,
전송을 위해 폴라 코딩될 정보를 포함하는 입력 데이터 워드 를 수신하고 수정된 데이터 워드 를 생성하도록 구성된 데이터 맵퍼;
상기 수정된 데이터 워드 를 수신하고 코드 워드 를 위한 변환 출력 를 생성하도록 구성된 비체계적 폴라 인코더-상기 비체계적 폴라 인코더는 좌표 의 일부 서브 시퀀스에 대해, 가 되도록 코드 워드 를 위한 변환 출력 를 생성하기 위해 상기 수정된 데이터 워드 를 인코딩하는 변환 행렬 를 구현함-;
상기 변환 행렬 는 ,, 및 가 가역이 되도록, 인, 입력 파티션 및 출력 파티션 에 의해 제한되고,
상기 코드 워드 를 전송하도록 구성된 트랜시버를 포함하는, 데이터 체크를 갖는 체계적 폴라 인코더. - 청구항 8에 있어서,
상기 변환 출력 를 생성하기 위해 상기 변환 행렬 를 구현하도록 구성된 폴라 변환을 더 포함하고,
상기 체계적 폴라 인코더는 상기 변환 행렬 의 상기 변환 출력 로부터 상기 코드 워드 를 적어도 부분적으로 결정하도록 구성되고,
상기 변환 출력 는,
펑처링 워드 에 대해 를 만족하는 펑처링된 부분 -상기 펑처링 워드 는 공백 고정 워드와 비-공백 고정 워드 중 하나이고, 상기 데이터 워드 와 독립적임-,
상기 입력 데이터 워드 에 대응하는 데이터를 전달하는 부분 . 및
전송된 데이터를 보호하기 위해 리던던트 심볼로서 기능하는 부분 -상기 부분 및 상기 부분 은 미리 결정된 순서로 결합되어 상기 코드 워드 를 형성함-을 포함하는, 데이터 체크를 갖는 체계적 폴라 인코더. - 데이터 맵퍼에서의 전송을 위해 폴라 코딩될 정보를 포함하는 입력 데이터 워드 를 수신하는 단계;
상기 데이터 맵퍼를 사용하여 수정된 데이터 워드 를 생성하는 단계;
비체계적 폴라 인코더에서 상기 수정된 데이터 워드 를 수신하는 단계;
상기 비체계적 폴라 인코더를 사용하여, 좌표 의 일부 서브 시퀀스에 대해, 가 되도록 코드 워드 를 위한 변환 출력 를 생성하기 위해 상기 수정된 데이터 워드 를 인코딩하는 변환 행렬 에 의해 코드 워드 를 위한 변환 출력 를 생성하는 단계-상기 변환 행렬 는 ,, 및 가 가역이 되도록, 인, 입력 파티션 및 출력 파티션 에 의해 제한됨-; 및
트랜시버를 사용하여 상기 코드 워드 를 전송하는 단계를 포함하는 방법. - 청구항 18에 있어서,
상기 변환 출력 를 생성하기 위해 상기 변환 행렬 를 구현하는 폴라 변환을 사용하는 단계를 더 포함하고,
상기 코드 워드 는 상기 변환 출력 로부터 적어도 부분적으로 결정되고,
상기 변환 출력 는,
펑처링 워드 에 대해 를 만족하는 펑처링된 부분 -상기 펑처링 워드 는 공백 고정 워드와 비-공백 고정 워드 중 하나이고, 상기 데이터 워드 와 독립적임-,
상기 입력 데이터 워드 에 대응하는 데이터를 전달하는 부분 . 및
전송된 데이터를 보호하기 위해 리던던트 심볼로서 기능하는 부분 - 상기 부분 및 상기 부분 은 미리 결정된 순서로 결합되어 상기 코드 워드 를 형성함-을 포함하는 방법.
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 true KR20200093627A (ko) | 2020-08-05 |
KR102353777B1 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) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023090471A1 (ko) * | 2021-11-17 | 2023-05-25 | 엘지전자 주식회사 | 정보를 전송하는 방법 및 장치, 그리고 정보를 수신하는 방법 및 장치 |
Families Citing this family (3)
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 | 深圳市紫光同创电子有限公司 | 以太网数据传输电路、系统及以太网数据传输方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20150032197A (ko) * | 2013-09-16 | 2015-03-25 | 엘에스아이 코포레이션 | 감소된 극 코드 |
KR20160096684A (ko) * | 2014-02-21 | 2016-08-16 | 후아웨이 테크놀러지 컴퍼니 리미티드 | 폴라 코드 비율 매칭 방법 및 장치 |
Family Cites Families (9)
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 | 北京邮电大学 | 一种任意码长的极化编码方法 |
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 |
CN109039544B (zh) * | 2017-06-27 | 2019-11-19 | 华为技术有限公司 | 一种编码方法、无线设备和芯片 |
-
2017
- 2017-11-29 US US15/826,335 patent/US10404291B2/en active Active
-
2018
- 2018-11-28 CN CN201880087968.9A patent/CN111656692B/zh active Active
- 2018-11-28 KR KR1020207018817A patent/KR102353777B1/ko active IP Right Grant
- 2018-11-28 EP EP18822148.5A patent/EP3718217B1/en active Active
- 2018-11-28 JP JP2020547457A patent/JP6847321B2/ja active Active
- 2018-11-28 WO PCT/IB2018/059373 patent/WO2019106544A1/en active Application Filing
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20150032197A (ko) * | 2013-09-16 | 2015-03-25 | 엘에스아이 코포레이션 | 감소된 극 코드 |
KR20160096684A (ko) * | 2014-02-21 | 2016-08-16 | 후아웨이 테크놀러지 컴퍼니 리미티드 | 폴라 코드 비율 매칭 방법 및 장치 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023090471A1 (ko) * | 2021-11-17 | 2023-05-25 | 엘지전자 주식회사 | 정보를 전송하는 방법 및 장치, 그리고 정보를 수신하는 방법 및 장치 |
Also Published As
Publication number | Publication date |
---|---|
US20190165887A1 (en) | 2019-05-30 |
US10404291B2 (en) | 2019-09-03 |
CN111656692B (zh) | 2021-11-16 |
JP2021505096A (ja) | 2021-02-15 |
EP3718217A1 (en) | 2020-10-07 |
CN111656692A (zh) | 2020-09-11 |
KR102353777B1 (ko) | 2022-01-21 |
JP6847321B2 (ja) | 2021-03-24 |
EP3718217B1 (en) | 2023-04-26 |
WO2019106544A1 (en) | 2019-06-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Bae et al. | An overview of channel coding for 5G NR cellular communications | |
JP6963620B2 (ja) | インタリーブを伴う連接ポーラ符号 | |
KR102548215B1 (ko) | 압축된 채널 출력 정보를 사용하여 데이터를 디코딩하기 위한 시스템 및 방법 | |
KR102353777B1 (ko) | 낮은 복잡도 체계적 인코더를 이용하는 데이터 전송에서의 오류 정정을 위한 방법 및 시스템 | |
CN109314600B (zh) | 用于在使用通用极化码时进行速率匹配的系统和方法 | |
WO2019158031A1 (zh) | 编码的方法、译码的方法、编码设备和译码设备 | |
JP2022174079A (ja) | 符号化方法、復号方法、装置、および装置 | |
KR102684139B1 (ko) | 생성기 행렬의 삼각 인수분해를 사용한 오류 정정 코딩 방법 및 장치 | |
CN108282259B (zh) | 一种编码方法及装置 | |
CN107659381B (zh) | 编译码方法及装置 | |
CN108365850B (zh) | 编码方法、编码装置和通信装置 | |
JP2020504932A (ja) | データ伝送方法、送信デバイス、受信デバイス、及び通信システム | |
CN110663189B (zh) | 用于极化编码的方法和装置 | |
CN111446969B (zh) | 一种级联crc码的极化码编码方法及装置 | |
US11296723B2 (en) | Methods and apparatuses for data processing in communication system | |
US11936402B2 (en) | Puncturing of polar codes with complementary sequences | |
US11463108B2 (en) | Information processing method and communications apparatus | |
CN111490798B (zh) | 译码的方法和译码装置 | |
WO2021249080A1 (zh) | 编码方法及装置 | |
CN111525980B (zh) | 译码方法及装置 | |
WO2019047788A1 (zh) | 编码方法及装置 | |
WO2019047543A1 (zh) | 编码方法及装置 | |
WO2023226689A1 (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 |