KR20190073386A - 인코딩된 송신들을 위한 펑쳐링 및 재송신 기법들 - Google Patents

인코딩된 송신들을 위한 펑쳐링 및 재송신 기법들 Download PDF

Info

Publication number
KR20190073386A
KR20190073386A KR1020197011742A KR20197011742A KR20190073386A KR 20190073386 A KR20190073386 A KR 20190073386A KR 1020197011742 A KR1020197011742 A KR 1020197011742A KR 20197011742 A KR20197011742 A KR 20197011742A KR 20190073386 A KR20190073386 A KR 20190073386A
Authority
KR
South Korea
Prior art keywords
block
puncture
bits
information
puncture pattern
Prior art date
Application number
KR1020197011742A
Other languages
English (en)
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 KR20190073386A publication Critical patent/KR20190073386A/ko

Links

Images

Classifications

    • 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/0067Rate matching
    • H04L1/0068Rate matching by puncturing
    • 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/0067Rate matching
    • H04L1/0068Rate matching by puncturing
    • H04L1/0069Puncturing patterns
    • 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/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
    • H03M13/6368Error control coding in combination with rate matching by puncturing using rate compatible puncturing or complementary puncturing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/20Arrangements for detecting or preventing errors in the information received using signal quality detector
    • H04L1/203Details of error rate determination, e.g. BER, FER or WER
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1812Hybrid protocols; Hybrid automatic repeat request [HARQ]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Error Detection And Correction (AREA)

Abstract

본 개시의 다양한 양태들은 (예를 들어, 무선 통신을 위한) 정보의 통신을 위한 재송신 기법들에 관한 것이다. 몇몇 양태들에서, 펑처링된 인코딩된 데이터를 포함하는 디바이스의 제 1 송신이 실패하면, (예를 들어, NAK 에 응답하여) 디바이스의 제 2 송신은 펑처링된 비트들을 송신하는 것을 포함할 수도 있다. 일부 양태들에서, 제 1 송신을 위해 데이터를 인코딩하기 위해 사용되는 코딩 레이트는 제 2 송신을 위한 에러 레이트 (예를 들어, 블록 에러 레이트) 를 만족시키도록 선택된다. 제 2 송신은 또한 인코딩된 데이터 중 적어도 일부를 포함할 수도 있다. 몇몇 양태들에서, 펑처링은 인코딩된 데이터에 대한 비트 위치들의 비트 에러 확률들에 기초하여 생성되는 펑쳐 패턴에 따라 수행될 수도 있다.

Description

인코딩된 송신들을 위한 펑쳐링 및 재송신 기법들
본 출원은 2016년 10월 26일자로 출원된 특허 협력 조약 출원 번호 PCT/CN2016/103351 에 대한 우선권 및 이익을 주장하며, 그 전체 내용이 참조에 의해 여기에 포함된다.
여기에 기술된 여러 양태들은 통신에 관한 것으로서, 특히 하지만 비배타적으로, 인코딩된 송신들에 대한 펑쳐링 및 재송신 기법들에 관한 것이다.
무선 통신 시스템은 잡음성 채널들을 통한 디지털 메시지들의 신뢰성 있는 송신을 용이하게 하기 위해 에러 정정 코드들을 사용할 수도 있다. 블록 코드는 에러 정정 코드의 하나의 타입이다. 통상적인 블록 코드에서, 정보 메시지 또는 시퀀스는 블록들로 분할되고, 송신 디바이스에서의 인코더는 정보 메시징에 리던던시를 수학적으로 가산한다. 인코딩된 정보 메시지에서의 이러한 리던던시의 활용은 메시지의 신뢰성을 향상시켜서, 잡음으로 인해 발생할 수도 있는 비트 에러들에 대한 정정을 가능하게 한다. 즉, 수신 디바이스에서의 디코더는, 비트 에러들이 채널에 의한 잡음의 추가로 인해, 부분적으로, 발생할 수 있을지라도, 정보 메지시를 신뢰성 있게 복구하기 위해 리던던시를 이용할 수 있다. 에러 정정 블록 코드들의 예들은 무엇보다도 해밍 코드들, BCH (Bose-Chaudhuri-Hocquenghem) 코드들, 및 터보 코드들을 포함한다. 터보 코드들을 이용하는 3GPP LTE 네트워크들, 및 IEEE 802.11n Wi-Fi 네트워크들과 같은 다수의 현존하는 무선 통신 네트워크들은 그러한 블록 코드들을 이용한다.
(예를 들어, 무선 통신 시스템들에서) 통신 성능을 더욱 향상시키기 위해, 하이브리드 자동 반복 요청 (HARQ) 스킴과 같은 재송신 스킴이 사용될 수도 있다. HARQ 스킴에서, 코딩된 블록들은 제 1 송신이 올바르게 디코딩되지 않는 경우 재송신된다. 일부 경우들에서, 수 회의 재송신들이 원하는 레벨의 통신 성능을 달성하기 위해 필요할 수도 있다. 그러나, 다수의 재송신들과 연관된 지연이 주어지는 경우, HARQ 스킴은 매우 엄격한 레이턴시 및/또는 신뢰성 요건들을 갖는 시스템들에 대해 충분히 강건한 성능을 제공하지 않을 수도 있다. 이에 따라, (예를 들어, 낮은 레이턴시 애플리케이션들 및 다른 강건한 애플리케이션들에 비해) 높은 레벨의 성능을 제공할 수 있는 에러 정정 기법들에 대한 필요가 존재한다.
다음은 본 개시의 일부 양태들의 기본적인 이해를 제공하기 위해 본 개시의 그 일부 양태들의 간략화된 개요를 제시한다. 이러한 개요는 본 개시의 모든 고려된 특징들의 광범위한 개관이 아니며, 본 개시의 모든 양태들의 핵심의 또는 중요한 엘리먼트들을 식별하지도 않고 본 개시의 임의의 또는 모든 양태들의 범위를 기술하지도 않도록 의도된다. 이 개요의 유일한 목적은, 추후 제시되는 더 상세한 설명의 서두로서 본 개시의 일부 양태들의 다양한 개념들을 간략화된 형태로 제시하는 것이다.
일 양태에서, 본 개시는 메모리 및 메모리에 커플링 된 프로세서를 포함하는 통신을 위해 구성된 장치를 제공한다. 프로세서 및 메모리는, 복수의 비트들을 포함하는 인코딩된 데이터를 생성하기 위해 데이터의 제 1 블록을 인코딩하고; 복수의 비트들과 연관된 비트 위치들에 대한 비트 에러 확률들에 기초하여 펑쳐 패턴을 생성하며; 데이터의 제 2 블록을 생성하기 위해 펑쳐 패턴에 따라 복수의 비트들의 부분을 펑쳐링하고; 데이터의 제 2 블록을 포함하는 제 1 정보를 송신하며; 다른 송신이 필요하다고 결정하고; 복수의 비트들의 부분을 포함하는 제 2 정보를 송신하는 것으로서, 제 2 정보는 그 결정의 결과로서 송신되는, 상기 제 2 정보를 송신하도록 구성된다.
본 개시의 다른 양태는 통신을 위한 방법을 제공하며, 그 방법은 복수의 비트들을 포함하는 인코딩된 데이터를 생성하기 위해 데이터의 제 1 블록을 인코딩하는 단계; 복수의 비트들과 연관된 비트 위치들에 대한 비트 에러 확률들에 기초하여 펑쳐 패턴을 생성하는 단계; 데이터의 제 2 블록을 생성하기 위해 펑쳐 패턴에 따라 복수의 비트들의 부분을 펑쳐링하는 단계; 데이터의 제 2 블록을 포함하는 제 1 정보를 송신하는 단계; 다른 송신이 필요하다고 결정하는 단계; 및 복수의 비트들의 부분을 포함하는 제 2 정보를 송신하는 단계로서, 제 2 정보는 그 결정의 결과로서 송신되는, 상기 제 2 정보를 송신하는 단계를 포함한다.
본 개시의 다른 양태는 통신을 위해 구성된 장치를 제공한다. 그 장치는, 복수의 비트들을 포함하는 인코딩된 데이터를 생성하기 위해 데이터의 제 1 블록을 인코딩하는 수단; 복수의 비트들과 연관된 비트 위치들에 대한 비트 에러 확률들에 기초하여 펑쳐 패턴을 생성하는 수단; 데이터의 제 2 블록을 생성하기 위해 펑쳐 패턴에 따라 복수의 비트들의 부분을 펑쳐링하는 수단; 데이터의 제 2 블록을 포함하는 제 1 정보를 송신하는 수단; 및 다른 송신이 필요하다고 결정하는 수단으로서, 송신하는 수단은 복수의 비트들의 부분을 포함하는 제 2 정보를 송신하도록 구성되고, 제 2 정보는 그 결정의 결과로서 송신되는, 상기 결정하는 수단을 포함한다.
본 개시의 다른 양태는 컴퓨터 실행가능 코드를 저장하는 비일시적 컴퓨터 판독가능 매체를 제공하며, 상기 코드는 복수의 비트들을 포함하는 인코딩된 데이터를 생성하기 위해 데이터의 제 1 블록을 인코딩하는 코드; 복수의 비트들과 연관된 비트 위치들에 대한 비트 에러 확률들에 기초하여 펑쳐 패턴을 생성하는 코드; 데이터의 제 2 블록을 생성하기 위해 펑쳐 패턴에 따라 복수의 비트들의 부분을 펑쳐링하는 코드; 데이터의 제 2 블록을 포함하는 제 1 정보를 송신하는 코드; 다른 송신이 필요하다고 결정하는 코드; 및 복수의 비트들의 부분을 포함하는 제 2 정보를 송신하는 코드로서, 제 2 정보는 그 결정의 결과로서 송신되는, 상기 제 2 정보를 송신하는 코드를 포함한다.
본 개시의 이들 및 다른 양태들은 뒤이어지는 상세한 설명의 검토 시 더 충분히 이해되게 될 것이다. 본 개시의 다른 양태들, 특징들, 및 구현들은, 첨부 도면들과 함께 본 개시의 특정한 구현들의 다음의 설명을 검토할 시, 당업자들에게 자명하게 될 것이다. 본 개시의 특징들이 하기의 특정 구현들 및 도면들에 대하여 논의될 수도 있지만, 본 개시의 모든 구현들은 본 명세서에서 논의된 유리한 특징들 중 하나 이상을 포함할 수 있다. 즉, 하나 이상의 구현들이 특정 유리한 특징들을 갖는 것으로서 논의될 수도 있지만, 그러한 특징들 중 하나 이상은 또한, 본 명세서에서 논의된 본 개시의 다양한 구현들에 따라 사용될 수도 있다. 유사한 방식으로, 특정 구현들이 디바이스, 시스템, 또는 방법 구현들로서 하기에서 논의될 수도 있지만, 그러한 구현들은 다양한 디바이스들, 시스템들, 및 방법들로 구현될 수 있음을 이해해야 한다.
첨부 도면들은 본 개시의 다양한 양태들의 설명을 돕기 위해 제시되며, 오로지 양태들의 예시를 위해 제공될 뿐 그 한정을 위해 제공되지 않는다.
도 1 은 본 개시의 양태들이 사용될 수도 있는 예시적인 통신 시스템의 블록도이다.
도 2 는 본 개시의 양태들이 사용될 수도 있는 예시적인 통신 디바이스들의 블록도이다.
도 3 은 통신 채널의 예시적인 표현의 다이어그램이다.
도 4 는 폴라 코드들에 대한 분극화의 예의 다이어그램이다.
도 5 는 폴라 코드들에 기초한 인코더의 예시의 구조의 다이어그램이다.
도 6 은 폴라 코드들에 대한 예시의 HARQ 기법의 다이어그램이다.
도 7 은 본 개시의 일부 양태들에 따른 예시의 펑쳐링 및 재송신 기법의 다이어그램이다.
도 8 은 본 개시의 일부 양태들에 따른 HARQ 프로세스의 일 예를 도시한 플로우챠트이다.
도 9 는 본 개시의 일부 양태들에 따른 HARQ 프로세스의 다른 예를 도시한 플로우챠트이다.
도 10 은 본 개시의 일부 양태들에 따른 마더 코드를 생성하기 위한 프로세스의 일 예를 도시한 플로우챠트이다.
도 11 은 본 개시의 일부 양태들에 따른 제 1 송신을 수행하기 위한 프로세스의 일 예를 도시한 플로우챠트이다.
도 12 는 본 개시의 일부 양태들에 따른 재송신 프로세스의 일 예를 도시한 플로우챠트이다.
도 13 은 본 개시의 일부 양태들에 따른 마더 코드 내의 정보 비트들의 위치들를 결정하는 예의 다이어그램이다.
도 14 는 본 개시의 일부 양태들에 따른 마더 코드 내의 정보 비트들의 위치들를 결정하는 프로세스의 일 예를 도시하는 프로우챠트이다.
도 15 는 본 개시의 일부 양태들에 따른 펑쳐 패턴을 생성하기 위한 반복 프로세스의 일 예를 도시한 플로우챠트이다.
도 16 은 본 개시의 일부 양태들에 따른 펑쳐 패턴을 결정하기 위한 반복 프로세스의 일 예를 도시한 플로우챠트이다.
도 17 은 본 개시의 일부 양태들에 따른 펑쳐 패턴들의 예의 다이어그램이다.
도 18 은 본 개시의 일부 양태들에 따른 예비 펑쳐 패턴의 생성을 위한 SNR 을 결정하는 프로세스의 일 예를 도시하는 프로우챠트이다.
도 19 는 본 개시의 일부 양태들에 따른 예시의 인코더 및 디코더 디바이스들의 블록 다이어그램이다.
도 20 은 본 개시의 일부 양태들에 따라 인코딩을 제공하는 장치 (예를 들어, 전자 디바이스) 에 대한 예시적인 하드웨어 구현을 도시한 블록도이다.
도 21 은 본 개시의 일부 양태들에 따른 통신 프로세스의 예를 도시한 플로우챠트이다.
도 22 는 본 개시의 일부 양태들에 따른 펑쳐 패턴을 생성하는 양태들의 예를 도시한 플로우챠트이다.
도 23 은 본 개시의 일부 양태들에 따라 다른 송신을 위한 목표 블록 에러 레이트에 기초한 레이트로 데이터를 인코딩하기 위한 프로세스의 예를 도시하는 플로우챠트이다.
도 24 는 본 개시의 일부 양태들에 따른 채널 조건에 기초하여 코딩 레이트를 선택하기 위한 프로세스의 일 예를 도시하는 프로우챠트이다.
도 25 는 본 개시의 일부 양태들에 따라 목표 블록 에러 레이트에 기초하는 레이트로 데이터를 송신하기 위한 프로세스의 예를 도시하는 플로우챠트이다.
도 26 은 본 개시의 일부 양태들에 따른 재송신에 포함될 인코딩된 비트들의 양을 결정하기 위한 프로세스의 일 예를 도시하는 프로우챠트이다.
도 27 은 본 개시의 일부 양태들에 따른 재송신에 인코딩된 데이터를 포함시킬지 여부를 결정하기 위한 프로세스의 일 예를 도시하는 프로우챠트이다.
본 개시의 다양한 양태는 코딩된 정보의 재송신에 관한 것이다. 예를 들어, 본 명세서의 교시는 (예를 들어, 무선 통신을 위한) 정보의 통신을 위한 하이브리드 자동 반복 요청 (HARQ) 기능을 제공하는데 사용될 수도 있다. 일부 양태들에서, 디바이스는 인코딩된 데이터를 펑쳐링하여 제 1 세트의 펑쳐링된 인코딩된 데이터 (예를 들어, 마더 코드) 를 제공한다. 이어서, 디바이스는 제 1 세트의 펑처링된 인코딩된 데이터를 펑처링하여 제 1 송신을 위한 펑처링된 인코딩된 데이터의 제 2 세트를 제공한다. 일부 양태들에서, 제 1 송신을 위해 데이터를 인코딩하기 위해 사용되는 코딩 레이트는 제 2 전송을 위한 에러 레이트 (예를 들어, 블록 에러 레이트) 을 충족 시키도록 선택된다. 디바이스의 제 1 송신이 실패하면 (예: 수신기로부터 NAK 가 수신됨), 디바이스는 이전에 펑처링된 인코딩된 비트들을 송신하는 것을 포함하는 제 2 송신을 호출한다. 제 2 송신은 또한 제 1 세트의 펑처링된 인코딩된 데이터로부터의 인코딩된 데이터 중 적어도 일부를 포함할 수도 있다. 몇몇 양태들에서, 펑처링은 인코딩된 데이터에 대한 비트 위치들의 비트 에러 확률들에 기초하여 생성되는 펑쳐 패턴에 따라 수행될 수도 있다.
첨부 도면들과 관련하여 하기에 기재된 상세한 설명은 다양한 구성들의 설명으로서 의도되며, 본 명세서에 설명된 개념들이 실시될 수도 있는 유일한 구성들만을 나타내도록 의도되지 않는다. 상세한 설명은 다양한 개념들의 철저한 이해를 제공할 목적으로 특정 상세들을 포함한다. 하지만, 이들 개념들은 이들 특정 상세들없이도 실시될 수도 있음이 당업자에게 명백할 것이다. 또, 대안적인 구성들이 본 개시의 범위로부터 일탈함없이 고안될 수도 있다. 부가적으로, 잘 알려진 엘리먼트들은, 본 개시의 관련 상세들을 불명료하게 하지 않도록 상세히 설명되지 않거나 생략될 것이다.
본 개시 전반에 걸쳐 제시된 다양한 개념들은 매우 다양한 전기통신 시스템들, 네트워크 아키텍처들, 및 통신 표준들에 걸쳐 구현될 수도 있다. 예를 들어, 제 3 세대 파트너쉽 프로젝트 (3GPP) 는, 롱 텀 에볼루션 (LTE) 네트워크로서 종종 지칭되는 진화된 패킷 시스템 (EPS) 을 수반하는 네트워크들에 대한 수개의 무선 통신 표준들을 정의하는 표준 단체이다. 5 세대 (5G) 네트워크와 같은 진화된 버전의 LTE 네트워크는 웹 브라우징, 비디오 스트리밍, VoIP, 미션 크리티컬 애플리케이션, 멀티 홉 네트워크, 실시간 피드백을 갖는 원격 동작 (예를 들어, 원격-수술) 등을 포함하지만, 이들에 제한되지 않는 다양한 유형의 서비스 또는 애플리케이션을 제공할 수도 있다. 따라서, 여기에서의 교시는 5G 기술, 제 4 세대 (4G) 기술, 제 3 세대 (3G) 기술, 및 다른 네트워크 아키텍쳐들을, 제한 없이, 포함하는 다양한 네트워크 기술들에 따라 구현될 수 있다. 또한, 여기에 기술된 기법들은 다운 링크, 업 링크, 피어-투-피어 링크, 또는 일부 다른 유형의 링크를 위해 사용될 수도 있다.
채용된 실제 전기통신 표준, 네트워크 아키텍처, 및/또는 통신 표준은 시스템에 부과된 전체 설계 제약들 및 특정 어플리케이션에 의존할 것이다. 예시를 위해, 다음은 5G 시스템 및/또는 LTE 시스템의 맥락에서 다양한 양태들을 기술할 수도 있다. 그러나, 여기의 교시가 다른 시스템에서도 사용될 수 있음을 이해해야한다. 따라서, 5G 및/또는 LTE 용어의 맥락에서의 기능에 대한 언급은 다른 유형의 기술, 네트워크, 컴포넌트, 시그널링 등에 동등하게 적용 가능하다는 것을 이해해야한다.
예시적인 통신 시스템
도 1 은 사용자 장비 (UE) 가 무선 통신 시그널링을 통해 다른 디바이스들과 통신할 수 있는 무선 통신 시스템 (100) 의 예를 도시한다. 예를 들어, 제 1 UE (102) 및 제 2 UE (104) 는 TRP (106) 및/또는 다른 네트워크 컴포넌트들 (예를 들어, 코어 네트워크 (108), 인터넷 서비스 제공자 (ISP) (110), 피어 디바이스들 (peer devices) 등) 에 의해 관리되는 무선 통신 자원들을 사용하여 송신 수신 포인트 (transmit receive point: TRP) (106) 와 통신할 수도 있다. 일부 구현 예에서, 시스템 (100) 의 하나 이상의 컴포넌트는 디바이스-대-디바이스 (D2D) 링크 (112) 또는 몇몇 다른 유사한 유형의 직접 링크를 통해 서로 직접 통신할 수도 있다.
시스템 (100) 의 둘 이상의 구성 요소들 사이의 정보 통신은 정보를 인코딩하는 것을 포함할 수도 있다. 예를 들어, TRP (106) 는 TRP (106) 가 UE (102) 또는 UE (104) 로 전송하는 데이터 또는 제어 정보를 인코딩할 수도 있다. 다른 예로서, UE (102) 는 UE (102) 가 TRP (106) 또는 UE (104) 로 전송하는 데이터 또는 제어 정보를 인코딩할 수도 있다. 인코딩은 폴라 코딩과 같은 블록 코딩을 포함할 수도 있다. 본 명세서의 교시에 따라, UE (102), UE (104), TRP (106), 또는 시스템 (100) 의 일부 다른 컴포넌트 중 하나 이상은 이전에 펑처링된 정보 (114) 로 펑처링 및 재송신하기위한 인코더를 포함할 수도 있다.
무선 통신 시스템 (100) 의 컴포넌트들 및 링크들은 상이한 구현 예에서 상이한 형태를 취할 수도 있다. UE 의 예로는, 제한 없이, 셀룰러 디바이스, IoT (Internet of Things) 디바이스, 셀룰러 IoT (CIoT) 디바이스, LTE 무선 셀룰러 디바이스, 머신-타입 통신 (MTC) 셀룰러 디바이스, 스마트 경보, 원격 센서, 스마트 폰, 휴대 전화, 스마트 계량기, 개인용 정보 단말기 (PDA), 개인용 컴퓨터, 메쉬 노드 및 태블릿 컴퓨터를 포함할 수도 있다.
몇몇 양태들에서, TRP 는 특정 물리적 셀에 대한 무선 헤드 기능성을 통합하는 물리적 엔티티를 지칭할 수도 있다. 몇몇 양태들에서, TRP 는 직교 주파수 분할 멀티플렉싱 (OFDM)에 기초한 무선 인터페이스를 갖는 5G 뉴 라디오 (NR) 기능성을 포함할 수도 있다. NR 은, 예를 들어 그리고 제한없이, 향상된 모바일 광대역 (eMBB), 미션-크리티컬 서비스 및 IoT 디바이스들의 대규모 전개를 지원할 수도 있다. TRP 의 기능성은, 하나 이상의 양태들에서, CIoT 기지국 (C-BS), 노드B, 진화된 노드B (e노드B), 무선 액세스 네트워크 (RAN) 액세스 노드, 무선 네트워크 제어기 (RNC), 기지국 (BS), 무선 기지국 (RBS), 기지국 제어기 (BSC), 기지국 송수신기 (BTS), 송수신기 기능부 (TF), 무선 송수신기, 무선 라우터, 기본 서비스 세트 (BSS), 확장된 서비스 세트 (ESS), 매크로 셀, 매크로 노드, 홈 eNB (HeNB), 펨토 셀, 펨토 노드, 피코 노드, 또는 기타 다른 적합한 엔티티의 기능성과 유사할 (그 기능성을 포함하거나 그 기능성에 통합될) 수도 있다. 다른 시나리오 (예: NR, LTE 등) 에서, TRP 는 gNodeB (gNB), eNB, 기지국으로서 지칭되거나, 또는 다른 용어를 사용하여 참조될 수도 있다.
다양한 타입의 네트워크-대-디바이스 링크들 및 D2D 링크들이 무선 통신 시스템 (100)에서 지원될 수도 있다. 예를 들어, D2D 링크에는 머신-대-머신 (M2M) 링크, MTC 링크, 차량-대-차량 (V2V) 링크 및 차량-대-만물 (V2X) 링크가 포함되며, 이에 제한되지 않는다. 네트워크-대-디바이스 링크들은 업 링크 (또는 역방향 링크), 다운 링크 (또는 순방향 링크) 및 차량-대-네트워크 (V2N) 링크가 포함되며 이에 국한되지는 않습니다.
예시적인 통신 컴포넌트들
도 2 는 본 명세서의 교시를 사용할 수도 있는 제 1 무선 통신 디바이스 (202) 및 제 2 무선 통신 디바이스 (204) 를 포함하는 무선 통신 시스템 (200)의 개략도이다. 일부 구현 예에서, 제 1 무선 통신 디바이스 (202) 또는 제 2 무선 통신 디바이스 (204) 는 UE (102), UE (104), TRP (106) 또는 도 1 의 일부 다른 컴포넌트에 대응할 수도 있다.
도시된 예에서, 제 1 무선 통신 디바이스 (202) 는 통신 채널 (206) (예를 들어, 무선 채널) 을 통해 제 2 무선 통신 디바이스 (204) 로 메시지를 송신한다. 메시지의 신뢰성있는 통신을 제공하기 위해 처리되어야하는 그러한 방식의 한 가지 문제는 통신 채널 (206) 에 영향을 미치는 잡음 (208) 을 고려하는 것이다.
블록 코드 또는 오류 정정 코드는 잡음성 채널을 통한 메시지의 신뢰성있는 송신을 제공하는데 자주 사용된다. 전형적인 블록 코드에서, 제 1 (송신) 무선 통신 디바이스 (202) 에서의 정보 소스 (210) 로부터의 정보 메시지 또는 시퀀스는 각각의 블록이 K 비트의 길이를 갖는 블록들로 분할된다. 인코더 (212) 는 정보 메시지에 리던던시 (redundancy) 를 수학적으로 부가하여 N 의 길이를 갖는 코드 워드를 발생시키며, 여기서 N > K 이다. 여기서, 코드 레이트 R 은 메시지 길이와 블록 길이 간의 비율이다 (즉, R = K/N ). 인코딩된 정보 메시지에서의 이러한 리던던시의 활용은 제 2 (수신) 무선 통신 디바이스 (204) 에서 송신된 메시지를 신뢰성있게 수신하는 열쇠이며, 리던던시는 송신된 메시지에 부여된 잡음 (208) 으로 인해 발생할 수 있는 비트 에러에 대한 정정을 가능하게 한다 . 즉, 제 2 (수신) 무선 통신 디바이스 (204) 에서의 디코더 (214) 는, 부분적으로, 채널 (206) 에 대한 잡음 (208) 의 부가에 기인하여 비트 에러가 발생할 수 있음에도 불구하고 정보 싱크 (216) 에 제공된 정보 메시지를 신뢰성있게 복구하기 위해 리던던시를 이용할 수 있다.
다른 것들 중에서, 해밍 코드, BCH (Bose-Chaudhuri-Hocquenghem) 코드 및 터보 코드를 포함하는 이러한 에러 정정 블록 코드의 많은 예는 당업자들에게 알려져있다. 일부 기존 무선 통신 네트워크는 이러한 블록 코드를 이용한다. 예를 들어, 3GPP LTE 네트워크는 터보 코드를 사용할 수도 있다. 그러나 장래의 네트워크에서, 폴라 코드라고 불리는 새로운 범주의 블록 코드는 다른 코드와 비교하여 향상된 성능으로 신뢰할 수 있고 효율적인 정보 전송을 위한 잠재적인 기회를 제공한다.
폴라 코드는 채널 분극화가 극성 코드를 정의하는 재귀 알고리즘으로 생성되는 선형 블록 에러 정정 코드이다. 폴라 코드는 대칭 이진 입력 이산 무기억 채널의 채널 용량을 달성하는 제 1 명시적 코드이다. 즉, 폴라 코드는 채널 용량 (섀넌 한도) 또는 노이즈가 있는 경우 주어진 대역폭의 이산 무메모리 채널에서 송신될 수 있는 무오류 정보의 양에 대한 이론적 상한을 달성한다. 이 용량은 간단한 연속 제거 (SC) 디코더로 얻을 수 있다.
본 개시는 몇몇 양태들에서, 폴라 코드를 갖는 하이브리드 자동 반복 요청 (HARQ) 의 사용에 관한 것이다. 예를 들어, 인코더 (212) 는 제 1 송신을 위해 인코딩된 데이터 (218) 를 생성 할 수도 있다. 인코더 (212) 는 비트 에러 확률들 (220)에 기초한 펑쳐 패턴을 결정하기위한 모듈 및 결정된 펑쳐 패턴을 사용하여 인코딩된 데이터 (222)를 펑 처링하기위한 모듈을 포함한다. 본 명세서에서 사용 된 바와 같이, 펑처링 (puncturing) 이라는 용어는, 예를 들어, 원래 블록의 비트들의 일부를 생략함으로써 (예를 들어, 제거함으로써) 블록의 크기를 감소시키는 것을 지칭할 수도 있다.
제 1 무선 통신 디바이스 (202) 는 펑처링된 인코딩된 데이터를 포함하는 제 1 송신을 제 2 무선 통신 디바이스 (204) 에 전송한다. 또한, 인코더 (212)는 재송신이 필요한 경우에 제 2 송신을 위한 인코딩된 정보 (예를 들어, 제 1 송신 중에 전송되지 않은 인코딩된 데이터의 펑처링 된 부분) 를 저장한다.
제 2 무선 통신 디바이스 (204) 에서, 디코더 (214) 는 제 1 송신 (224) 에 대한 디코딩을 위한 모듈 (예를 들어, 본 명세서의 교시에 따라 구현된 SC 디코더) 을 포함한다. 디코더 (214) 가 제 1 송신의 수신된 펑처링된 인코딩된 데이터를 정확하게 디코딩할 수 없는 경우, 제 2 무선 통신 디바이스 (204) 는 NAK 피드백 (도시되지 않음) 을 제 1 무선 통신 디바이스 (202) 로 전송할 수도 있다.
NAK 피드백에 응답하여, 제 1 무선 통신 디바이스 (202) 는 제 1 송신에서 전송되지 않은 인코딩된 데이터 (예를 들어, 펑처링된 인코딩된 데이터) 를 포함하는 제 2 송신 (재송신으로 지칭될 수도 있음) 을 제 2 무선 통신 디바이스 (204) 로 전송한다. 몇몇 경우에, 제 2 송신은 또한 반복 정보를 포함할 수도 있다. 반복 정보는 예를 들어, 제 1 송신에서 전송된 인코딩된 데이터 (예를 들어, 인코딩된 데이터의 적어도 일부) 의 반복을 포함할 수도 있다.
따라서, 제 2 무선 통신 디바이스 (204) 는 제 2 송신 (226) 으로부터 펑처링된 비트 (및, 선택적으로, 인코딩된 데이터) 를 획득할 수도 있다. 본 명세서의 교시에 따르면, 제 1 송신 (224) 에 대한 디코딩을 위한 모듈은 (제 1 송신의) 수신된 데이터를 디코딩하기 위해 제 2 송신을 통해 수신된 인코딩된 비트들을 사용할 수도 있다. 전술한 바와 같이, 이 정보는 제 1 송신시 전송되지 않은 (예를 들어, 펑처링된) 데이터 정보를 포함한다. 또한,이 정보는 경우에 따라, 제 1 송신으로부터의 인코딩된 데이터의 적어도 일부의 반복을 포함할 수도 있다. 따라서, 제 1 송신 (224) 에 대한 디코딩은 제 1 송신의 인코딩된 데이터와 제 2 송신의 인코딩된 데이터의 소프트 결합을 수행할 수도 있다.
아래에서 보다 상세히 논의되는 바와 같이, 일부 양태들에서, 개시된 HARQ 방식은 초신뢰성 저레이턴시 통신 (URLLC) 에 효과적일 수도 있다. URLLC 애플리케이션은 예를 들어, 5G 시스템 또는 기타 다른 타입의 통신 시스템에서 사용될 수도 있다. URLLC 는 스마트 그리드, 산업 자동화, 증강 현실 및 기타 고성능 애플리케이션들과 같은 애플리케이션들을 지원하는 데 사용될 수도 있다. 일부 양태들에서, URLLC 애플리케이션은 매우 엄격한 성능 요건을 가질 수도 있다. 예를 들어, 1E-5 또는 그 이하 정도의 블록 에러 레이트 (BLER) 가 특정될 수도 있다. 또한 1 밀리 초 (ms) 이하 정도의 레이턴시가 특정될 수도 있다.
폴라 코드
폴라 코드에 대한 간략한 소개는 다음과 같다. 도 3 의 상부를 참조하면, 2 진-입력 이산 무기억 채널 (302) 은 W: X → Y 로서 표현될 수도 있으며, 여기서 X는 입력이고 Y는 채널 W 의 출력이다. 이 채널의 용량 C 는 다음과 같다: C = I(X;Y), 여기서 I 는 상호 정보 함수를 나타낸다.
도 3 의 하부를 참조하면, 다수의 입력들에 대한 유효 채널 Wvec (308) 은 다음과 같이 표현될 수도 있다. 이진 입력의 예인 0 ≤ C ≤ 1 의 경우, 변환은 다음 동작들을 포함할 수도 있다. 채널 W (302) 의 N 개의 복사본으로 시작; 일대일 매핑 GNxN (310) 이 표 1의 수학식 1 에 나타낸 바와 같이 U 입력들 (U0, U1, ..., UN) 로부터 X 출력들 (X0, X1, ..., XN) 로 적용된다. 유효 채널 Wvec (308) 이 이렇게 생성되고, XN = UN·GNxN 이다. N = 2 인 비교적 단순한 경우에 대해, GNxN 은 표 1 의 수학식 2 에 나타낸 바와 같이 표현될 수도 있다.
수학식 2 에 나타낸 바와 같이 표현될 수도 있다.
XN = UN · GNxN,
여기서 GNxN = {0 , 1}N → {0 , 1}N.
수학식 1
Figure pct00001
수학식 2
Figure pct00002
(패리티 체크에 대응)
Figure pct00003
(반복에 대응)
수학식 3

Figure pct00004
=
Figure pct00005
수학식 4

ε+ = ε2.
수학식 5
W 가 소거 확률이 'ε'인 이진 소거 채널 (BEC) 이라면, 표 1의 수학식 3에 기술된 관계는 참이다 (도 4 의 개략도 400을 참조). 도 4 에서, U 0 는 입력이고 Y 0 는 채널 W 0 에 대한 출력이다. 유사하게, U 1 는 입력이고 Y 1 는 채널 W 1 에 대한 출력이다.
채널 W 0 : U 0 Y N 의 경우, 소거 확률 (ε-) 은 표 1 의 수학식 4 에 기술된다. 채널 W 1 : U 1 → (Y N , U 0 ) 의 경우, 소거 확률 (ε+) 은 표 1 의 수학식 5 에 기술된다. 상기 관점에서, W 1 W 0 보다 더 양호한 채널이다. 따라서, U 1 U 0 보다 높은 신뢰성을 가질 것이다. 위의 동작은 재귀적으로 수행될 수 있어서, N 에 걸친 더 많은 분극화를 산출한다.
폴라 코드 인코더 구조
폴라 코드에 대한 인코더 구조 (500) 의 예가 도 5 에 도시된다. 상술한 바와 같이, 상이한 폴라 코드 서브-채널들의 품질은 상당히 다를 수도 있다. 일부 구현 예에서, 서브-채널들은 송신기 내의 인코더의 입력과 수신기 내의 연속 소거 (SC) 디코더의 출력 사이의 비트 채널들에 대응한다.
도 5 의 예에서, 폴라 코드 서브-채널들은 이전 섹션에서 논의된 바와 같이 각 서브-채널과 연관된 대응하는 에러 확률에 기초하여 최상의 서브-채널들로부터 최악의 서브-채널들에 이르는 서브 세트들로 할당된다. 이 예에서, 정보 비트 (502) 는 최상의 서브-채널들 상에 놓이는 반면, (제로 값을 갖는) 프로즌 (frozen) 비트들 (504) 은 최악의 서브-채널 상에 놓인다. 비트 반전 퍼뮤테이션 (506) 은 원하는 시퀀스로 디코더의 출력 비트를 제공하는데 사용된다. 인코딩은 하다마드 행렬 (508) 을 곱한 후에 수행된다. 폴라 코드들의 생성기 행렬은 하다마드 행렬의 행들로 구성된다. SC 디코더의 낮은 에러 확률에 대응하는 행들은 정보 비트들에 대해 선택되지만 나머지 행들은 프로즌 비트들에 대한 것이다.
따라서 폴라 코드는 블록 코드 (N, K) 의 일종임을 알 수 있으며, 여기서 N 은 코드 블록 크기 (코드 워드 길이) 이고 K 는 정보 비트의 수이다. 폴라 코드의 경우, 코드 워드 길이 N 은 2 의 멱이며 (예: 256, 512, 1024 등), 이는 분극화 행렬의 원래 구성은
Figure pct00006
의 크로네커 (Kronecker) 곱에 기초하기 때문이다.
HARQ
HARQ-IR (HARQ-Increment Redundancy) 방식은 무선 통신 시스템에서 송신 효율을 향상시키기 위해 널리 사용된다. HARQ-IR 방식에서, 제 1 송신이 정확하게 디코딩되지 않으면 코딩된 블록들이 재송신될 것이다. 일반적인 애플리케이션에서의 최대 송신 횟수는 4 이다. 그러나 일부 애플리케이션들은 다른 재송신 제한을 사용할 수도 있다.
폴라 코드에 대한 HARQ-IR 방식 (600) 의 예가 도 6 에 도시된다. 단순화를 위해, 제 1 송신 및 제 2 송신 (재송신) 만이 도시된다. 제 1 송신의 μ 도메인 (602) 에서, 정보 비트들은 A 및 B 로 표시된 2 개의 서브-블록으로 할당된다. F 블록은 0 의 값을 갖는 프로즌 비트들을 위한 것이다. 비트 반전 퍼뮤테이션 및 인코딩 후에, X 도메인 내의 코딩된 블록이 획득된다. 이 블록의 제 1 송신 (1TX) (604) 이 수신기에서 정확하게 디코딩되면, 송신이 종료된다.
그러나, 제 1 송신 (1TX) (604) 이 정확하게 디코딩되지 않으면, 송신기는 B 정보 비트들로 μ 도메인 (606) 에 새로운 코드 워드를 생성할 것이다. 비트 반전 퍼뮤테이션 및 인코딩 후에, 송신기는 제 2 송신 (2TX) (608)을 호출하여 X2 도메인에서 대응하는 코딩된 블록을 전송한다. 수신기가 제 2 송신 (2TX) (608) 에 대한 B 정보를 정확하게 디코딩하지 않으면, 제 3 송신이 호출될 수도 있는 등등이다.
제 2 송신 (2TX) (608) 의 B 정보가 수신기에 의해 정확하게 디코딩되면, 제 1 송신의 B 정보는 프로즌 비트로서 설정되고, 제 1 송신의 A 정보는 이에 따라 디코딩될 것이다. 이 경우, 이것은 제 1 송신에서의 A 정보에 대한 낮은 레이트를 얻는 것과 등가이다.
성능 관점에서, 도 6 의 알고리즘은 따라서 코딩 이득의 관점에서 기존 (예를 들어, 비폴라 코딩) HARQ-IR 방식들과 등가일 수도 있다. 도 6 에서, 2 회의 송신 이후의 등가의 코딩 레이트는 제 1 송신의 블록 크기를 갖는 제 1 송신의 절반이다. 따라서 성능은 제 1 송신의 블록 크기의 두 배를 갖는 하프 레이트 코딩을 사용하는 성능보다 나쁠 수도 있다. 더욱이, 도 6 의 알고리즘은 2 개의 개별 코딩 프로세스를 포함한다: 하나는 제 1 송신을 위한 것이고 다른 하나는 제 2 송신을 위한 것이다.
더욱이, 도 6 의 알고리즘에서, 2 회의 송신 이후의 등가의 코딩 레이트는 제 2 송신의 정보 비트들을 프로즌 비트들로 설정함으로써 제 1 송신의 절반으로 감소된다. 이는 터보 코드들 및 저밀도 패리티 검사 (LDPC) 코드들에 대한 종래의 HARQ-IR 방식으로서 코딩 이득이 얻어지지 않는다는 것을 암시한다. 또한, 다수의 송신으로부터의 다이버시티 이득이 없으므로 페이딩 채널 하에서 성능이 악화될 수도 있다.
위의 관점에서 기존 알고리즘은 URLLC 에 적용하기 어려울 수도 있다. URLLC 시스템에서, 최대 송신 횟수는 낮은 레이턴시 요건을 충족시키기 위해 상대적으로 낮을 수도 있다. 예를 들어, 원하는 블록 에러 레이트 (BLER) 가 이러한 작은 송신 횟수로 여전히 충족되어야 한다는 요건에 따라 최대 송신 횟수는 2 회 (또는 일부 다른 수) 로 제한될 수도 있다. 기존의 방식들은 최대 허용된 송신 횟수 내에서 원하는 BLER 을 충족시키지 못할 수도 있다. 결과적으로, 기존의 HARQ 기법은 URLLC 애플리케이션에서 초신뢰성 및 저 레이턴시 요건들이 주어지면 URLLC 에 대해 충분히 효율적이지 않을 수도 있다.
폴라 코드들에 대한 저 레이턴시 초신뢰성 HARQ 방식
본 개시는 몇몇 양태들에서 폴라 코드들에 대한 효율적 증분 리던던시 HARQ 에 관련된다. 본 명세서의 교시에 따라, (예를 들어, URLLC 애플리케이션에 충분한) 저 레이턴시 및 초신뢰성을 제공할 수 있는 폴라 코드에 대한 HARQ 에 대한 설계 목적들의 예는 다음과 같다. 첫째, 최종 송신의 목표 BLER 이 보장될 수 있다. 예를 들어, 개시된 기술들은 페이딩 채널 하에서 강건한 성능을 갖는 제 2 송신을 위한 보장된 BLER 을 제공할 수도 있다. 둘째로, 제 1 송신을 위한 적절한 코딩 레이트는 효율을 증가 시키도록 선택될 수도 있다. 셋째, 최종 송신을 위해 더 많은 자원들이 할당되어 초저 레지듀얼 BLER 을 제공할 수도 있다. 예를 들어, 더 양호한 성능을 얻기위해, 제 1 송신에 대한 목표 BLER 이 제 2 송신에 대한 목표 BLER 과 다를 수도 있다. 또한 채널이 예상보다 나쁜 경우 더 많은 코딩된 비트들이 송신될 수도 있다.
HARQ 동작들의 예
도 7 은 위의 설계 목적들을 충족시키는 데 사용될 수도 있는 폴라 코드들에 대한 예시의 HARQ 동작들 (700) 을 도시한다. HARQ 동작들 (700) 에 대한 입력은 데이터에 대한 길이 K 비트의 블록 D 및 (각각 값 0 을 갖는) 프로즌 비트들에 대한 길이 N-K 의 블록 F 를 포함하는 입력 비트들 (702) 로 구성된다. 도 7 의 블록 D 는 일반적으로 도 6 의 A 및 B 블록들에 대응한다.
HARQ 동작들 (700) 은 도 8 의 프로세스 (800) 와 관련하여 설명될 것이다. 프로세스 (800) 는 프로세싱 회로 (예를 들어, 도 20 의 프로세싱 회로 (2010)) 내에서 발생할 수도 있으며, 그 프로세싱 회로는 UE, TRP, gNB, 액세스 단말기, 기지국, 또는 (예를 들어, 인코딩을 제공하는) 임의의 다른 적절한 장치에 위치될 수도 있다. 물론, 본 개시의 범위 내의 다양한 양태들에 있어서, 프로세스 (800) 는 통신 관련 동작들을 지원 가능한 임의의 적합한 장치에 의해 구현될 수도 있다.
블록 (802) 에서, 장치 (예를 들어, 인코더를 포함하는 디바이스) 는 입력 비트들을 인코딩하여 폴라 코드워드를 생성한다. 블록 (804) 에서, 장치는 제 1 펑쳐 패턴을 이용하여 폴라 코드워드를 펑 처링함으로써 소위 마더 코드를 생성한다. 펑처링된 비트의 수는 선택된 코딩 레이트에 기초한다.
이들 동작들은 도 7 의 인코딩 및 펑처링 (704) 에 의해 표현된다. 이 예에서, 원하는 마더 코드 (706) 는 폴라 코드 (M, K) 이다. 원래의 코드 (N, K), 즉 길이가 N 이고 K 개의 정보 비트들을 포함하는 입력 비트들 (702) 가 인코딩되고, 정보 비트들에 대한 위치들이 이하에 설명되는 알고리즘을 사용하여 결정된다. 마더 코드 (706) (폴라 코드 (M, K)) 는 (아래에서 설명되는) 펑쳐 패턴 P N - M 에 따라 N-M 개의 코딩된 비트들 (708) 을 펑처링함으로써 획득된다.
도 8 의 블록 (806) 에서, 장치는 (이하에 논의되는 펑쳐 패턴들 P N - M P M- L 에 기초하여) 제 2 펑쳐 패턴을 이용하여 마더 코드를 펑처링하여 제 1 송신을 위한 데이터의 블록을 제공한다. 도 7 에 도시된 바와 같이, 마더 코드 (706) 의 인코딩된 비트들 X (M) 의, X''(M-L) 로 지정된 M-L 개의 비트들 (710) 은 펑처링되어 제 1 송신 (1TX) (714) 에 대해, X'(L) 로 표시된 코딩된 비트들 (712) 을 남긴다. 즉, 비트들 710(1), 710(2) 내지 710(M-L) 은 (이전에 펑처링된 비트들 (708) 과 함께) 펑처링되어, 제 1 송신 (714) 을 위한 인코딩된 비트들 712(1), 712(2), 내지 712(L) 을 남긴다.
도 8 의 블록 (808) 에서, 장치는 제 1 송신을 수행한다. 따라서, 비트들 712 (1) 내지 712 (L) 이 도 7 의 경우 제 1 송신 (714) 동안 송신된다.
본 명세서에서 논의된 바와 같이, 경우에 따라, 재송신이 필요할 수도 있다. 예를 들어, 장치는 수신 장치가 제 1 송신을 성공적으로 디코딩할 수 없었다는 표시 (예를 들어, NAK) 를 수신할 수도 있다. 애플리케이션 요건들에 따라 하나 이상의 재송신들이 허용될 수도 있다.
블록 (810) 에서, 재송신이 필요한 경우, 장치는 블록 (806) 에서 마더 코드로부터 펑처링된 비트들을 전송한다. 또한, 일부 경우에, 마더 코드로부터의 코딩된 비트들 중 적어도 일부 (즉, 블록 (808) 에서 제 1 송신 동안 전송된 비트들) 가 또한 전송될 수도 있다. 따라서, 도 7 에서, 제 2 송신 (2TX) (716) 은 (X"(M-L) 비트들 (710) 에 대응하는) M-L 코딩된 비트들 (710A) 을 포함한다. 또한, 일부 경우에, 마더 코드 (712A) 로부터의 코딩된 비트들 중 적어도 일부 (즉, 제 1 송신 (714) 동안 전송된 코드 비트들 중 적어도 하나) 가 송신 (716) 동안 재송신될 수도 있다.
예시의 인코딩 동작
전술한 바와 같이, 본 명세서의 교시에 따른 HARQ 프로세스는 제 1 송신 및 제 2 송신 (또는 최종 송신) 에 관한 특정 BLER 목적들을 충족시키도록 설계될 수도 있다. 도 9 는 그러한 프로세스 (900) 의 예를 도시한다. 프로세스 (900) 는 프로세싱 회로 (예를 들어, 도 20 의 프로세싱 회로 (2010)) 내에서 발생할 수도 있으며, 그 프로세싱 회로는 UE, TRP, gNB, 액세스 단말기, 기지국, 또는 (예를 들어, 인코딩을 제공하는) 임의의 다른 적절한 장치에 위치될 수도 있다. 물론, 본 개시의 범위 내의 다양한 양태들에 있어서, 프로세스 (900) 는 통신 관련 동작들을 지원 가능한 임의의 적합한 장치에 의해 구현될 수도 있다.
블록 (902) 에서, 장치 (예를 들어, 인코더를 포함하는 디바이스) 는 마더 코드에 대한 정보 비트들의 수 (예를 들어, 마더 코드의 크기)를 결정한다. 일부 양태들에서, 이 수는 송신 블록 크기에 기초할 수도 있다.
블록 (904) 에서, 장치는 마더 코드를 인코딩하기 위한 코딩 레이트를 선택한다. 일부 양태들에서, 이 코딩 레이트는 최종 송신에 대한 목표 에러 레이트 (예를 들어, 제 2 송신을 위한 목표 BLER) 에 기초하여 선택될 수도 있다. 본 명세서에서 논의된 바와 같이, 목표 에러 레이트는 채널의 조건들 (예를 들어, 목표 장기 SNR) 에 기초할 수도 있다.
블록 (906) 에서, 장치는 마더 코드를 생성한다. 예를 들어, 장치는 블록 (902) 에서 선택된 코딩 레이트에 따라 입력 데이터를 인코딩할 수도 있다. 본 명세서에서 논의된 바와 같이, 이러한 인코딩은 폴라 코딩일 수도 있다.
블록 (908) 에서, 장치는 제 1 송신을 위한 코딩 레이트를 선택한다. 일부 양태들에서, 이러한 코딩 레이트는 제 1 송신에 대한 목표 에러 레이트 (예를 들어, BLER) 에 기초하여 선택될 수도 있다. 예를 들어, 마더 코드는 송신될 데이터의 블록을 생성하기 위해 코딩 레이트에 따라 (펑처링으로) 인코딩될 수도 있다.
블록 (910) 에서, 장치는 제 1 송신을 수행한다. 예를 들어, 장치는 유선 또는 무선 통신 매체를 통해 수신 장치로 인코딩된 데이터 블록을 전송할 수도 있다.
본 명세서에서 논의된 바와 같이, 경우에 따라, 재송신이 발생할 수도 있다. 예를 들어, 장치는 수신 장치가 제 1 송신을 성공적으로 디코딩할 수 없었다는 표시 (예를 들어, NAK) 를 수신할 수도 있다. 애플리케이션 요건들에 따라 하나 이상의 재송신들이 허용될 수도 있다.
블록 (912) 에서, 필요하다면, 장치는 최종 송신을 위한 목표 에러 레이트 (예를 들어, 목표 BLER) 를 만족시키기 위해 최종 송신을 위한 자원들을 할당한다.
블록 (914) 에서, 장치는 블록 (912) 에서 할당된 자원들을 사용하여 최종 송신을 수행한다.
마더 코드 생성하기
도 10 은 마더 코드를 생성하기 위한 프로세스 (1000) 의 예를 도시한다. 프로세스 (1000) 는 프로세싱 회로 (예를 들어, 도 20 의 프로세싱 회로 (2010)) 내에서 발생할 수도 있으며, 그 프로세싱 회로는 UE, TRP, gNB, 액세스 단말기, 기지국, 또는 (예를 들어, 인코딩을 제공하는) 임의의 다른 적절한 장치에 위치될 수도 있다. 물론, 본 개시의 범위 내의 다양한 양태들에 있어서, 프로세스 (1000) 는 통신 관련 동작들을 지원 가능한 임의의 적합한 장치에 의해 구현될 수도 있다.
블록 (1002) 에서, 장치 (예를 들어, 인코더를 포함하는 디바이스) 는 K 개의 정보 비트들 및 N-K 개의 프로즌 비트들을 포함하는 원래의 코드를 획득한다.
블록 (1004) 에서, 장치는 크기 M 을 갖는 마더 코드를 생성하는데 사용될 펑쳐 패턴 P N - M 을 결정한다. 이 펑쳐 패턴의 생성은 도 13 과 관련하여 이하에서 더 상세히 논의된다.
상술한 바와 같이, 마더 코드의 정보 비트들의 수는 전송 블록 크기에 기반 할 수도 있다. 따라서, 마더 코드의 크기는 상위 프로토콜 계층에 의해 특정된 프로토콜 데이터 유닛 (PDU) 의 크기에 의존할 수도 있다. 일부 양태들에서, 그 상위 계층은 송신되는 데이터의 유형, 시스템 요건들, 또는 다른 팩터들에 기초하여 전송 블록 크기를 설정할 수도 있다.
일반적으로, URLLC 의 전송 블록 크기는 비교적 작을 수도 있다. 따라서, 이 경우, 전송 블록은 높은 레이턴시를 피하기 위해 하나의 코드 블록으로 인코딩될 수 있다.
상기 관점에서, 일부 양태들에서, 도 7 의 D 의 크기는 전송 블록 크기에 의존할 수도 있다. 하나의 비배타적인 예에서, 도 7 의 제 1 송신 (714) 에 대한 블록 크기는 도 6 의 블록 크기와 동일하다 (예: D 도 마찬가지로 동일함). 따라서, 도 7 의 마더 코드 (706) 에 대한 블록 크기는 도 6 의 블록 크기보다 더 커서 더 양호한 성능을 가능하게 한다.
블록 (1006) 에서, 블록 (1008) (이하) 의 인코딩과 관련하여, 장치는 마더 코드 내의 정보 비트들에 대한 위치들을 결정한다. 몇몇 양태들에서, 이러한 동작은 수신기에서 수행될 수도 있는 디코딩 동작에 대응할 수도 있다. 이들 비트 위치들의 결정은 도 13 및 도 14 와 관련하여 이하에서 더 상세히 논의된다.
블록 (1008) 에서, 장치는 정보 비트들 및 프로즌 비트들을 인코딩하여 크기 (예를 들어, 길이) N 을 갖는 코드 워드를 생성한다. 마더 코드를 생성하기 위한 변조 순서 및 코딩 레이트는 장기 신호 대 잡음비 (SNR) 에 따라 제 2 송신을 위한 목표 BLER 를 달성하도록 선택될 수도 있다. 장기 SNR 은, 예를 들어, 소정 시간 주기 동안 채널을 통해 수신된 데이터의 SNR 을 평균함으로써 획득될 수도 있다.
블록 (1010) 에서, 장치는 펑쳐 패턴에 따라 원래의 폴라 코드 (N, K) 로부터의 N-M 개의 코딩된 비트들을 펑처링함으로써 마더 코드의 생성을 완료한다.
제 1 송신을 위한 코드의 생성
도 11 은 마더 코드로부터의 제 1 송신을 위한 코드를 생성하기 위한 프로세스 (1100) 의 예를 도시한다. 프로세스 (1100) 는 프로세싱 회로 (예를 들어, 도 20 의 프로세싱 회로 (2010)) 내에서 발생할 수도 있으며, 그 프로세싱 회로는 UE, TRP, gNB, 액세스 단말기, 기지국, 또는 (예를 들어, 인코딩을 제공하는) 임의의 다른 적절한 장치에 위치될 수도 있다. 물론, 본 개시의 범위 내의 다양한 양태들에 있어서, 프로세스 (1100) 는 통신 관련 동작들을 지원 가능한 임의의 적합한 장치에 의해 구현될 수도 있다.
블록 (1102) 에서, 장치 (예를 들어, 인코더를 포함하는 디바이스) 는 마더 코드를 펑처링하기 위한 펑쳐 패턴 P M- L 을 결정하기 위한 반복 프로세스를 수행한다. 도 15 내지 도 17 과 관련하여 이하에서 더 상세히 설명하는 바와 같이, 그 반복 프로세스는 i = 0 내지 i = M-L 에 대해 P N -M+ i 를 결정하는 것을 수반한다. 몇몇 양태들에서, 펑쳐 비트들의 수는 제 1 송신을 위한 목표 BLER 에 기초할 수도 있다.
블록 (1104) 에서, 장치는 블록 (1102) 에서 결정된 펑쳐 패턴을 사용하여 마더 코드를 펑쳐링한다. 이 펑처링은 제 1 송신을 위한 블록 X'(L) (예를 들어, 도 7 의 코딩된 비트들 (712)) 을 제공한다.
블록 (1106) 에서, 장치는 블록 X'(L) 을 송신한다.
제 2 송신을 위한 코드의 생성
제 1 송신에서의 코드가 정확하게 디코딩되지 않으면, 수신기는 NAK 신호를 송신기에 피드백할 수도 있다. 응답으로, 송신기는 제 2 (또는 최종) 송신을 위한 코딩된 비트들을 생성할 것이다. 제 2 송신에 대한 코딩 레이트는 채널 품질에 기초하여 (예를 들어, CQI 피드백에 기초하여) 결정될 수도 있다. 이 코딩 레이트가 제 1 송신에 대한 코딩 레이트보다 작지 않다면, 제 2 송신은 제 1 송신의 M-L 개의 펑처링된 비트들 X” 로 이루어질 것이다. 펑쳐링된 비트들 모두를 전송하는 것은 제 2 송신에 대한 원하는 성능이 충족되는 것을 보장하도록 돕는다. 제 2 송신을 위한 결정된 코딩 레이트가 제 1 송신의 코딩 레이트보다 작은 경우, 마더 코드의 추가의 코딩된 비트들은 제 2 송신을 위한 타겟 BLER 를 충족시키기 위해 송신될 것이다. 그 추가의 코딩된 비트들이 필요한 경우, 그 비트들은 제 2 송신에 대한 최상의 성능에 따라 선택될 수도 있다.
상기로부터, 제 2 송신의 BLER 은 마더 코드를 생성할 때 더 큰 블록 크기를 사용하기 때문에 기존의 알고리즘보다 낮을 수도 있다는 것을 알아야한다. 또한, 개시된 알고리즘은 제 2 송신의 목표 BLER 을 보장하는 관점에서 양호한 스루풋을 제공할 수 있다. 또한, 제 2 송신은 도 6 의 예와는 달리 별도의 폴라 코딩 동작을 수반하지 않는다.
도 12 는 마더 코드로부터의 제 1 송신을 위한 코드를 생성하기 위한 프로세스 (1200) 의 예를 도시한다. 프로세스 (1200) 는 프로세싱 회로 (예를 들어, 도 20 의 프로세싱 회로 (2010)) 내에서 발생할 수도 있으며, 그 프로세싱 회로는 UE, TRP, gNB, 액세스 단말기, 기지국, 또는 (예를 들어, 인코딩을 제공하는) 임의의 다른 적절한 장치에 위치될 수도 있다. 물론, 본 개시의 범위 내의 다양한 양태들에 있어서, 프로세스 (1200) 는 통신 관련 동작들을 지원 가능한 임의의 적합한 장치에 의해 구현될 수도 있다.
선택적 블록들 (1202 및 1204) 은 지원되는 최대 재송신 수를 결정하는 것을 포함한다. 주어진 시나리오에서 사용되는 재송신 횟수는 동작 요건들에 기초할 수도 있다. 일부 양태들에서, 최대 송신 횟수는 프레임 구조에 의해 제한될 수도 있다. 예를 들어, 시분할 듀플렉스 (TDD) 시스템에서, (예를 들어, 다운 링크로의) 턴 어라운드가 요구되기 전에 고정된 시간 량이 한 방향 (예를 들어, 업 링크) 으로의 송신을 위해 할당된다. 따라서, 어떤 경우에는, 턴 어라운드가 일어나기 전에 모든 재송신들을 완료할 필요가 있을 수도 있다. 따라서, 재송신 시간 예산은 일부 경우들에서는 프레임 구조에 의존할 수 있다. 대안으로, 또는 부가적으로, 재송신 시간 예산은 몇몇 다른 팩터 또는 다른 팩터들에 기초할 수도 있다.
블록 (1202) 에서, 장치 (예를 들어, 인코더를 포함하는 디바이스) 는 시간 예산을 결정할 수도 있다. 예를 들어, 장치는 HARQ 프로세스에 사용될 프레임 구조에 기초하여 시간 예산을 계산할 수도 있다.
선택적 블록 (1204) 에서, 장치는 시간 예산에 기초하여 제 1 정보의 송신과 연관된 재송신들의 양을 선택할 수도 있다. 예를 들어, 장치는 재송신의 지속 기간 (예를 들어, 재송신이 걸리는 최대 시간량) 으로 시간 예산을 나눔으로써 최대 재송신 횟수를 결정할 수도 있다.
블록들 (1206 내지 1210) 은 제 2 (또는 최종) 송신을 갖는 추가의 코딩된 비트들을 전송할지 여부를 결정하는 것을 포함한다. 이 경우, 결정은 제 1 및 제 2 송신에 대한 코딩 레이트에 기초한다.
블록 (1206) 에서, 장치는 제 1 정보의 송신에 대한 제 1 코딩 레이트를 제 2 정보의 송신에 대한 제 2 코딩 레이트와 비교한다.
블록 (1208) 에서, 장치는 그 비교에 기초하여, 마더 코드로부터의 코딩된 비트들을 펑처링된 비트들과 함께 전송할지 여부를 결정한다. 예를 들어, 장치는 제 2 코딩 레이트가 제 1 코딩 레이트보다 작은 경우 반복 정보를 송신할 수도 있다.
블록 (1210) 에서, 블록 (1208) 의 결정이 코딩된 비트들을 송신하는 것이라면, 장치는 제 2 정보의 송신에 대한 코딩 레이트에 기초하여 전송할 코딩된 비트들의 양을 결정한다. 예를 들어, 코딩 레이트가 추가의 비트들을 허용하는 경우 추가의 코딩된 비트들이 전송될 수도 있다.
블록 (1212) 에서, 장치는 제 1 송신을 위해 펑처링된 비트들을 송신한다. 또한, 장치는 블록 (1208) 의 결정에 따라 마더 코드로부터의 코딩된 비트들을 송신할 수도 있다.
펑처 패턴 생성
상술한 바와 같이, 각 송신에 대한 코딩된 비트들은 펑쳐 패턴에 따라 마더 코드로부터의 코드 비트들 중 일부를 펑처링함으로써 획득된다. 몇몇 양태들에서, 펑쳐 패턴은 더 양호한 성능을 얻도록 특정될 수도 있다.
폴라 코드들에 대한 원래의 코딩된 블록 크기는 2의 거듭 제곱이다. 원래의 블록 크기가 2 의 거듭 제곱이 아닌 경우, 원래의 코딩된 블록을 펑 처링하여 마더 코드를 획득할 수도 있다. 상술한 바와 같이, 다른 펑처링 동작은 마더 코드들로부터의 일부 비트를 펑 쳐링함으로써 각 송신에 대한 코딩된 비트들을 생성하는데 사용된다. 이들 펑처링 동작들 양자 두에 대해 통일된 펑쳐 패턴을 생성하는 기술들이 이제 논의될 것이다.
다음은 블록 크기에 대해 M 및 L 및 정보 비트들의 수에 대해 K 를 갖는 원하는 마더 폴라 코드가 (M, K) 인 예를 제시한다. 제 1 송신을 위한 코딩된 비트의 길이는 L 이다. N 은 M 보다 큰 2 의 최소 정수 멱이다. 마더 폴라 코드 (M, K) 는 원래의 폴라 코드 (N, K) 로부터의 N-M 개의 코딩된 비트들을 펑쳐링함으로써 획득될 수 있고, 제 1 송신을 위한 코딩된 비트들은 마더 코드로부터 또다른 M-L 개의 코딩된 비트들을 추가로 펑쳐링함으로써 획득될 수도 있다. 최종 펑쳐 패턴은 다음의 단계들 1, 2, 및 3 에 의해 얻을 수 있다.
단계 1 - 마더 코드에 대한 펑처 패턴을 생성
펑쳐 패턴은 N-M 개의 연속적인 제로들이 후속하는 M 개의 연속적인 1 들로 이루어지는 P N -M = (1,1, ..., 1,0, ... 0)N 으로서 표현될 수 있다. 펑쳐 패턴에서의 0 의 값은 해당 위치의 코딩된 비트가 펑처링될 것을 의미한다.
단계 2 - 마더 코드에서 정보 비트들의 위치들을 결정
마더 코드 내의 정보 비트들의 위치들은 단계 1 에서 정의된 펑쳐 패턴을 사용하여 결정될 수 있다. 초기에, GA (Gaussian Approximation) 알고리즘, DE (Density Evolution) 알고리즘 또는 일부 다른 유사한 알고리즘에 대한 적절한 신호 대 잡음 비 (SNR) 가 선택된다. 구성 (construct) SNR 은 코딩 레이트의 증가에 따라 커진다. 일 구현에서, 선택된 구성 SNR 은 잡음 분산 값 δ2 을 갖는 S initial dB 이다. 정보 비트들의 위치들은 도 14 에서 더 기술되는 바와 같이 도 13 에 도시된 절차에 따라 획득될 수 있다.
정보 비트들의 위치들은 "D"로 표시된 위치들이다. 정보 비트들에 대한 위치들은 각 송신에서 동일하게 유지될 수 있다 (즉, 변경될 필요가 없다). 이것은 도 6 의 HARQ-IR 방식과 대조적이다.
도 14 는 마더 코드 내의 정보 비트들의 위치들을 결정하기 위한 프로세스 (1400) 의 예를 도시한다. 프로세스 (1400) 는 프로세싱 회로 (예를 들어, 도 20 의 프로세싱 회로 (2010)) 내에서 발생할 수도 있으며, 그 프로세싱 회로는 UE, TRP, gNB, 액세스 단말기, 기지국, 또는 (예를 들어, 인코딩을 제공하는) 임의의 다른 적절한 장치에 위치될 수도 있다. 물론, 본 개시의 범위 내의 다양한 양태들에 있어서, 프로세스 (1400) 는 통신 관련 동작들을 지원 가능한 임의의 적합한 장치에 의해 구현될 수도 있다.
블록 (1402) 에서, 장치 (예를 들어, 인코더를 포함하는 디바이스) 는 지정된 블록 크기 및 코딩 레이트에 적용 가능한 SNR 을 결정한다. SNR 의 해당 노이즈 분산 값 δ2 은 그 후 도 13 의 펑쳐 패턴 벡터들 (1300) 과 함께 사용된다.
블록 (1404) 에서, 장치는 도 13 의 N 비트 벡터 (1302) 의 각 아이템을 도시된 바와 같이 2/δ2 이도록 초기화한다.
블록 (1406) 에서, 장치는 마지막 N-M 개의 아이템들을 0 으로 설정함으로써 (단계 1 로부터의) 펑쳐 패턴 P N - M 을 적용한다. 따라서, 도 13 에서, 대응하는 펑쳐 동작 (1304) 은 펑쳐 (1306) 후에 도시된 벡터를 초래한다.
블록 (1408) 에서, 장치는 가우스 근사화 (GA) 또는 밀도 진화 (DE) 를 사용하여 각 위치의 비트 에러 확률 (BEP) 을 결정한다. 블록 (1410) 에서, 장치는 오름차순으로 BEP 들을 정렬한다. 따라서, 도 13 에서, 대응하는 BEP 및 정렬 동작들 (1308) 은 정렬된 비트들 (1310) 을 갖는 예시된 벡터를 야기한다.
블록 (1412) 에서, 장치는 (도 13 에서 "D"로 표시된) 정보 비트들에 대해 가장 신뢰성있는 위치들을 할당하고 (도 13 에서 "F"로 표시된) 프로즌 비트들에 대해 가장 신뢰성이 적은 위치들을 할당한다.
단계 3 - 최종 펑쳐 패턴 P N - L 획득
최종 펑쳐 패턴 P N - L 은 단계들 3a 및 3b 에 설명된 두 가지 동작을 M-L 회 실행함으로써 획득된다 (즉, 반복적 펑쳐 패턴 선택 프로세스).
단계 3a - 펑쳐 패턴 P N -M + I i = 1, ..., ML 를 결정
펑쳐 패턴 P N -M + i N-M+ i 개의 비트들을 펑쳐링하는데 사용된다. 네스팅된 구조를 얻기 위해, 펑쳐 패턴 P N -M+i 는 펑쳐 패턴 P N -M+i 에서 1 필드들의 위치들에 하나 더 0 을 추가함으로써 얻어진다. 평쳐 패턴 P N -M+i-1 M-i+1 개의 1 들이 존재하기 때문에, P N -M+i 에 대해 M-i+1 개의 가능한 펑쳐 패턴들이 존재한다. 앞 절에서 설명한 절차를 사용하여, 가능한 모든 펑쳐 패턴들에 대한 BEP 세트가 GA, DE 또는 일부 다른 적절한 알고리즘을 사용하여 획득될 수도 있다. 대응하는 블록 에러 레이트 (BLER) 는 정보 비트들에 대한 위치들에서의 BEP 들의 합을 계산함으로써 획득될 수 있다. 최소 BLER 를 갖는 펑쳐 패턴이 펑쳐 패턴 M-i+1 로서 선택될 것이다 .
단계 3b - GA에 대한 구성 SNR 업데이트
구성 SNR 은 펑쳐 비트의 수가 증가함에 따라 더 커질 수 있기 때문에, 보다 많은 코딩된 비트가 펑쳐링되면 구성 SNR 은 증가된다. 따라서, 구성 SNR 은 펑쳐 패턴 P N -M+i 이 결정된 후 업데이트될 수도 있다. 그 절차는 펑쳐 패턴 P N-M+i 을 결정하기 위한 절차와 유사할 수도 있다. 먼저, 펑쳐 패턴은 P N -M+ i 로서 고정된다. 그런 다음, 구성 SNR 은 S initial + Δ 로서 설정되고, 정보 비트들의 BLER 이 결정된다. 스텝 Δ 는 고정 값 (예: 0.01 dB 의 값 또는 기타 적절한 값) 이다. 계산된 BLER 이 목표 BLER 보다 낮으면, 현재의 구성 SNR 은 다음 펑쳐 패턴 P N -M+i+ 1 을 결정하기 위해 사용될 것이다. 그렇지 않으면, 구성 SNR 은 한 스텝 Δ 만큼 증가되고 정보 비트들의 BLER 이 다시 계산된다. 일단 획득된 BLER 이 목표 BLER 보다 작으면 (이하이면), 루프가 종료될 것이다.
현재 천공 패턴은 이전 펑쳐 패턴에서의 펑쳐링된 비트들을 포함하기 때문에 펑쳐 위치들이 네스팅된다. 따라서, 공개 펑쳐 패턴 생성 방식은 레이트 매칭에 대해 매우 유연성이 있다.
예시의 반복 프로세스들
도 15 내지도 18 은 단계들 3a 및 3b 에 대응하는 몇 개의 반복 프로세스들을 도시한다. 특히, 도 15 내지도 17 은 몇몇 양태들에서 단계 3a 에 대응하고 도 18 은 몇몇 양태들에서 단계 3b 에 대응한다.
도 15 는 마더 코드를 펑처링하기 위한 펑쳐 패턴을 결정하기 위한 반복 프로세스 (1500) 의 예를 도시한다. 프로세스 (1500) 는 프로세싱 회로 (예를 들어, 도 20 의 프로세싱 회로 (2010)) 내에서 발생할 수도 있으며, 그 프로세싱 회로는 UE, TRP, gNB, 액세스 단말기, 기지국, 또는 (예를 들어, 인코딩을 제공하는) 임의의 다른 적절한 장치에 위치될 수도 있다. 물론, 본 개시의 범위 내의 다양한 양태들에 있어서, 프로세스 (1500) 는 통신 관련 동작들을 지원 가능한 임의의 적합한 장치에 의해 구현될 수도 있다.
블록 (1502) 에서, 장치 (예를 들어, 인코더를 포함하는 디바이스) 는 SNR initial 을 결정하고 i = 1 을 설정한다.
블록 (1504) 에서, 장치는 i 의 현재의 반복에 대한 펑쳐 패턴 P N -M+ 1 을 결정한다. 이러한 동작은 도 16 과 관련하여 이하에서 보다 상세하게 설명된다.
블록 (1506) 에서, 장치는 루프의 다음 반복에 대해 (예를 들어, 새로운 잡음 분산 값을 얻기 위해) SNR 을 업데이트한다 . 전술한 바와 같이, SNR 은 펑쳐 비트들의 수가 변화함에 따라 변할 수도 있다.
블록 (1508) 에서, 장치는 루프의 최종 반복이 완료되었는지 여부를 결정한다. i M- L 이면, 프로세스는 블록 (1510) 으로 진행하고, 여기서 i 는 증분된다. 프로세스 흐름은 그 후 루프의 다음 반복을 위해 블록 (1504) 으로 되돌아 간다.
블록 (1508) 에서 i = M- L 이면, 프로세스 흐름은 블록 (1512) 으로 진행한다. 여기서 루프의 마지막 반복에 대한 (i = M- L 에 대한) 펑쳐 패턴은 최종 펑쳐 패턴으로서 사용된다. 예를 들어, 이 펑쳐 패턴은 도 11 의 블록 (1104) 에서 사용될 수 있다.
도 16 은 마더 코드를 펑처링하기 위한 펑쳐 패턴을 결정하기 위한 반복 프로세스 (1600) 의 더욱 상세한 예를 도시한다. 프로세스 (1600) 는 프로세싱 회로 (예를 들어, 도 20 의 프로세싱 회로 (2010)) 내에서 발생할 수도 있으며, 그 프로세싱 회로는 UE, TRP, gNB, 액세스 단말기, 기지국, 또는 (예를 들어, 인코딩을 제공하는) 임의의 다른 적절한 장치에 위치될 수도 있다. 물론, 본 개시의 범위 내의 다양한 양태들에 있어서, 프로세스 (1600) 는 통신 관련 동작들을 지원 가능한 임의의 적합한 장치에 의해 구현될 수도 있다.
프로세스 (1600) 는 각각의 연속적인 예비 펑쳐 패턴이 바로 전의 예비 펑쳐 패턴보다 하나 더 많은 펑쳐 비트를 갖는 일련의 예비 펑쳐 패턴들을 연속적으로 생성하는 것을 수반한다. 예를 들어, 제 1 예비 펑쳐 패턴은 마더 코드 (N-M) 로부터의 펑쳐 비트들의 수 플러스 1 을 포함한다. 마더 코드를 펑처링하기 위한 펑쳐 비트들의 지정된 수 (i = M-L) 를 갖는 최종 예비 펑쳐 패턴이 획득될 때까지, 제 2 예비 펑쳐 패턴은 제 1 예비 펑쳐 패턴으로부터의 펑쳐 비트들의 수 플러스 1 을 포함하는 등이다. 특히, 최정 예비 펑쳐 패턴은 N-L 개의 펑쳐 비트들 (펑쳐 패턴 P N - M 으로부터의 N-M 개의 펑쳐 비트들 플러스 M-L 개의 예비 펑쳐 패턴들의 연속적인 생성에 의해 추가된 M-L 개의 펑쳐 비트들) 을 가질 것이다.
각각의 예비 펑쳐 패턴에 대해, 그 예비 펑쳐 패턴에 대해 (즉, 루프의 그 반복에서의) 추가된 펑쳐 비트의 최적 위치가 결정된다. 전술한 바와 같이, 이는 (코딩된 비트들 내에) 새로 추가된 펑쳐 비트의 상이한 잠재적 위치들에 대응하는 BLER 들을 비교함으로써 결정된다. 가장 낮은 BLER 을 갖는 비트 위치에 대응하는 패턴은 최종 예비 펑쳐 패턴으로서 지정된다.
반복 프로세스는 최종 예비 펑쳐 패턴이 생성될 때까지 반복된다. 루프의 각각의 반복에서, 또 다른 펑쳐 비트가 추가되고 그 비트에 대한 최상의 위치 (및 따라서 대응하는 예비 펑쳐 패턴) 가 식별된다.
도 17 은 예비 펑쳐 패턴들 (1700) 의 세트를 도시한다. 예비 펑쳐 패턴들은 마더 코드를 생성하는 데 사용되었던 펑쳐 패턴 PN -M (1702) 으로 시작하여, 연속적으로 생성된다. 루프의 제 1 반복 (1706) 후에 생성된 제 1 예비 펑쳐 패턴 PN -M+1 (1704) 은 펑쳐 패턴 PN -M (1702) 에 비해 하나 더 많은 펑쳐 비트를 갖는다. 루프의 제 2 반복 (1710) 후에 생성된 제 2 예비 펑쳐 패턴 PN -M+2 (1708) 은 제 1 예비 펑쳐 패턴 PN -M+1 (1704) 에 비해 하나 더 많은 펑쳐 비트를 갖는다. 루프의 M-L 회의 반복들 후에 생성된 최종 예비 펑쳐 패턴 PN -M+1 (1712) 은 펑쳐 패턴 PN-M (1702) 에 비해 M-L 개 더 많은 펑쳐 비트들을 갖는다.
펑쳐 패턴 PN -M (1702) 는 N-M 개의 펑쳐 비트들과 함께 M 개의 인코딩된 비트들 1714(1), 1714(2), 내지 1714(M) 을 포함한다. M 개의 인코딩된 비트들 1714(1), 1714(2), 내지 1714 (M) 는 펑쳐 패턴 PN -M (1702) 의 생성을 위해 특정적으로 계산된 잡음 분산 값 δ2 을 사용하여 팝퓰레이팅된다.
제 1 예비 펑쳐 패턴 PN -M+1 (1704) 은 추가적인 펑쳐 비트 (1716) 를 포함한다. 본 명세서에서 논의된 바와 같이, 펑쳐 패턴 PN -M (1702) 의 M 개의 엔코딩된 비트들 1714(1), 1714(2), 내지 1714(M) 중에서의 이러한 추가의 펑쳐 비트에 대한 최상의 위치는 펑쳐 비트가 비트 1714(1) 에 있는 경우의 BLER, 펑처 비트가 비트 1714(2) 에 있는 경우의 BLER 등등 내지 펑쳐 비트가 비트 1714(M) 에 있는 경우를 연속적으로 계산함으로써 식별된다. 이들 M 개의 BLER 들로부터의 최저 BLER 가 식별되고, 대응하는 비트 위치가 제 1 예비 펑쳐 패턴 PN -M+1 (1704) 에 대한 펑쳐 비트 (1716) 로서 선택된다.
식별된 제 1 예비 펑쳐 패턴 PN -M+1 (1704) 는 N-M+1 개의 펑쳐 비트들과 함께 M-1 개의 인코딩된 비트들 1718(1), 1718(2), 내지 1718(M-1) 을 갖는다. M-1 개의 인코딩된 비트들 1716(1), 1716(2), 내지 1718 (M-1) 는 제 1 예비 펑쳐 패턴 PN -M+1 (1704) 의 생성을 위해 특정적으로 계산된 잡음 분산 값 δ2 을 사용하여 팝퓰레이팅된다.
제 2 예비 펑쳐 패턴 PN -M+2 (1708) 은 다른 펑쳐 비트 (1720) 를 포함한다. 다시, 펑쳐 패턴 PN -M+1 (1704) 의 M-1 개의 인코딩된 비트들 1718(1), 1718(2), 내지 1718(M-1) 중에서의 이러한 추가의 펑쳐 비트에 대한 최상의 위치는 펑쳐 비트가 비트 1718(1) 에 있는 경우의 BLER, 펑처 비트가 비트 1718(2) 에 있는 경우의 BLER 등등 내지 펑쳐 비트가 비트 1718(M-1) 에 있는 경우를 연속적으로 계산함으로써 식별된다. 이들 M-1 개의 BLER 들로부터의 최저 BLER 가 식별되고, 대응하는 비트 위치가 제 2 예비 펑쳐 패턴 PN -M+2 (1708) 에 대한 펑쳐 비트 (1720) 로서 선택된다.
식별된 제 2 예비 펑쳐 패턴 PN -M+2 (1708) 는 N-M+2 개의 펑쳐 비트들과 함께 M-2 개의 인코딩된 비트들 1722(1), 1722(2), 내지 1722(M-2) 을 갖는다. M-2 개의 인코딩된 비트들 1722(1), 1722(2), 내지 1722 (M-2) 는 제 2 예비 펑쳐 패턴 PN -M+2 (1708) 의 생성을 위해 특정적으로 계산된 잡음 분산 값 δ2 을 사용하여 팝퓰레이팅된다.
상기 동작들은 최종 예비 펑쳐 패턴 PN -L (1712) 가 생성될 때가지 루프의 각 반복에 대해 반복된다. 최종 예비 펑쳐 패턴 PN -L (1712) 는 N-L 개의 펑쳐 비트들과 함께 L 개의 인코딩된 비트들 1724(1), 1724(2), 내지 1724(L) 을 갖는다. L 개의 인코딩된 비트들 1724(1), 1724(2), 내지 1724(L) 는 최종 예비 펑쳐 패턴 PN -L (1712) 의 생성을 위해 특정적으로 계산된 잡음 분산 값 δ2 을 사용하여 팝퓰레이팅된다.
이제 도 16 의 상세들을 참조하면, 블록들 (1602 내지 1608) 은 예비 펑쳐 패턴을 생성하기 위해 수행되는 동작들을 나타낸다. 이에 따라, 장치 (예: 인코더를 포함하는 디바이스) 는 블록들 (1602 내지 1608) 을 M-L 회 반복적으로 수행하여 제 1 예비 펑쳐 패턴, 제 2 예비 펑쳐 패턴 등 내지 최종 예비 펑쳐 패턴을 연속적으로 생성한다.
블록 (1602) 에서, 장치는 펑쳐 패턴 P N -M+ i 을 식별하기 위해 사용될 잡음 분산을 결정한다 . 예를 들어, 장치는 도 18 과 관련하여 이하에서 보다 상세히 설명되는 루프의 현재 반복에 대한 인코딩된 비트들의 수 (M-i) 에 대한 SNR을 결정할 수도 있다.
블록 (1604) 에서, 예비 펑쳐 패턴 P N -M+i+ 1 의 현재 반복의 M-i+ 1 개의 코딩된 비트들 각각에 대해 (즉, 각각의 잠재적 펑쳐 비트 위치에 대해), 장치는: 비트를 0 으로 설정하고; 나머지 M-i 개의 비트들 각각에 대한 BEP 를 계산하며; 및 (예를 들어, BEP 들을 가산함으로써) 이들 나머지 M-i 개의 비트들에 대한 BEP 들로부터 BLER 을 계산한다.
블록 (1606) 에서, 장치는 블록 (1604) 에서 계산된 M-i +1 개의 BLER 들로부터 최상의 BLER 를 식별한다. 예를 들어, 장치는 가장 낮은 값을 갖는 BLER 들의 세트의 BLER 을 식별할 수도 있다.
블록 (1608) 에서, 장치는 최상의 BLER 에 대응하는 펑쳐 패턴을 루프의 이러한 반복에서 펑크 패턴으로서 선택한다. 블록 (1606) 에서 하나보다 많은 BLER 가 가장 낮은 값을 갖는 것으로 식별된 경우, 잠재적인 패턴들 중 하나를 선택하기 위해 타이-브레이킹 (tie-breaking) 절차가 채용될 수도 있다. 예를 들어, 가장 낮은 신뢰성과 연관된 펑쳐 비트 위치를 갖는 후보 펑쳐 패턴이 선택될 수도 있다.
블록 (1610) 에서, 장치는 i = M- L 까지 i 의 나머지 값들에 대해 블록 (1602) 내지 블록 (1608) 을 반복한다. 따라서, 이러한 반복 절차의 종료 시에, 생성된 최종 펑쳐 패턴은 펑쳐 패턴 P N -L 일 것이다.
블록 (1612) 에서, 장치는 루프의 최종 반복에 대한 펑쳐 패턴 (펑쳐 패턴 P N-L ) 를 마더 코드를 펑처링하는데 사용될 최종 펑쳐 패턴으로서 사용한다. 예를 들어, 도 17 의 최종 예비 펑쳐 패턴 P N -L (1712) 은 도 15 의 블록 (1512), 도 11 의 블록 (1104), 또는 도 8 의 블록 (806) 에서 사용될 수도 있다.
도 18 은 주어진 예비 펑쳐 패턴의 생성을 위한 잡음 분산을 결정하기 위한 반복 프로세스 (1800) 의 일 예를 도시한다. 프로세스 (1800) 는 프로세싱 회로 (예를 들어, 도 20 의 프로세싱 회로 (2010)) 내에서 발생할 수도 있으며, 그 프로세싱 회로는 UE, TRP, gNB, 액세스 단말기, 기지국, 또는 (예를 들어, 인코딩을 제공하는) 임의의 다른 적절한 장치에 위치될 수도 있다. 물론, 본 개시의 범위 내의 다양한 양태들에 있어서, 프로세스 (1800) 는 통신 관련 동작들을 지원 가능한 임의의 적합한 장치에 의해 구현될 수도 있다.
블록 (1802) 에서, 장치 (예를 들어, 인코더를 포함하는 디바이스) 는 초기에 반복 프로세스 (1800) 에서 사용될 SNR 을 SNR initial 과 동일하게 설정한다. 일부 구현들에서, SNR initial 은 소정 시간 주기에 대한 평균 SNR 로서 계산된다.
블록 (1804) 에서, 장치는 SNR의 현재 값에 기초하여 BLER 를 계산한다. 따라서, 루프의 제 1 반복에 대해, BLER 계산에 사용된 SNR 은 SNR initial 과 동일하다.
블록 (1808) 에서, 장치는 블록 (1804) 에서 계산된 BLER 이 목표 BLER 보다 작은 지 여부를 결정한다. BLER 이 목표 BLER 보다 작으면, 프로세스는 블록 (1808) 으로 진행하며, 여기서 SNR 은 스텝 Δ 만큼 증분된다. 프로세스 흐름은 그 후 루프의 다음 반복을 위해 블록 (1804) 으로 되돌아 간다. 따라서, (적용 가능하다면) 루프의 제 2 반복에 대해, BLER 계산에 사용된 SNR 은 SNR initial + Δ 와 동일하다. (적용 가능하다면) 루프의 제 3 반복에 대해, BLER 계산에 사용된 SNR 은 SNR initial + 2Δ 와 동일한 등등이다. 스텝 Δ 의 값은 예를 들어 원하는 정확도 수준 (더 작은 Δ 를 갖는 높은 정확도) 과 계산 비용 (더 큰 Δ 를 갖는 더 높은 비용) 사이의 타협으로서 선택될 수도 있다.
블록 (1806) 에서 BLER 이 목표 BLER 보다 작지 않은 경우, 프로세스 흐름은 블록 (1810) 으로 진행한다. 여기서, 최종 SNR (즉, 목표 BLER 보다 작거나 같은 BLER 을 야기한 SNR) 의 잡음 분산은 예비 펑쳐 패턴 루프의 현재 반복에 대한 잡음 분산으로서 사용된다. 예를 들어, 이러한 잡음 분산은 도 16 의 블록 (1602) 에서 사용될 수 있다.
예시의 인코더 및 디코더
도 19 는 본 명세서의 교시에 따라 구성된 예시적인 인코더 (1902) 및 예시적인 디코더 (1904) 를 도시한다. 일부 양태들에서, 인코더 (1902) 및 디코더 (1904) 는 각각 도 2 의 인코더 (212) 및 디코더 (214) 에 대응할 수도 있다.
인코더 (1902) 는 데이터 (1906) 를 인코딩하여 인코딩된 데이터 (1908) 를 생성한다. 본 명세서의 교시에 따르면, 인코더 (1902) 는 제 1 송신에 포함되지 않았던 펑쳐링된 정보를 포함하는 재송신을 갖는 폴라 코딩을 위한 모듈 (1910) 을 포함할 수도 있다.
디코더 (1904) 는 (예를 들어, 도시되지 않은 통신 채널을 통한 송신 이후에) 인코딩된 데이터 (1908) 를 디코딩하여 복원된 데이터 (1912) 를 제공한다. 본 명세서의 교시에 따르면, 디코더 (1904) 는 재송신에서 수신된 펑쳐링된 정보를 사용하여 제 1 송신으로부터의 정보를 디코딩하기 위한 모듈 (1914) 을 포함할 수도 있다.
일부 구현들에서, 인코더 (1902) 는 인터페이스 (1916), 인터페이스 (1918), 또는 둘 다를 포함할 수도 있다. 이러한 인터페이스는 예를 들어 인터페이스 버스, 버스 드라이버, 버스 수신기, 다른 적절한 회로 또는 이들의 조합을 포함할 수도 있다. 예를 들어, 인터페이스 (1916) 는 수신기 디바이스, 버퍼, 또는 신호를 수신하기 위한 다른 회로를 포함할 수도 있다. 다른 예로서, 인터페이스 (1918) 는 출력 디바이스, 드라이버, 또는 신호를 전송하기 위한 다른 회로를 포함할 수도 있다. 일부 구현들에서, 인터페이스들 (1916 및 1918) 은 인코더 (1902) 의 하나 이상의 다른 컴포넌트들 (도 19 에 도시되지 않은 다른 컴포넌트들) 과 인터페이싱하도록 구성될 수도 있다.
일부 구현들에서, 디코더 (1904) 는 인터페이스 (1920), 인터페이스 (1922), 또는 둘 다를 포함할 수도 있다. 이러한 인터페이스는 예를 들어 인터페이스 버스, 버스 드라이버, 버스 수신기, 다른 적절한 회로 또는 이들의 조합을 포함할 수도 있다. 예를 들어, 인터페이스 (1920) 는 수신기 디바이스, 버퍼, 또는 신호를 수신하기 위한 다른 회로를 포함할 수도 있다. 다른 예로서, 인터페이스 (1922) 는 출력 디바이스, 드라이버, 또는 신호를 전송하기 위한 다른 회로를 포함할 수도 있다. 일부 구현들에서, 인터페이스들 (1920 및 1922) 은 디코더 (1904) 의 하나 이상의 다른 컴포넌트들 (도 19 에 도시되지 않은 다른 컴포넌트들) 과 인터페이싱하도록 구성될 수도 있다.
인코더 (1902) 및 디코더 (1904) 는 상이한 구현들에서 상이한 형태를 취할 수 있다. 어떤 경우들에서, 인코더 (1902) 및/또는 디코더 (1904) 는 집적 회로일 수도 있다. 몇몇 경우들에서, 인코더 (1902) 및/또는 디코더 (1904) 는 다른 회로 (예를 들어, 프로세서 및 관련 회로) 를 포함하는 집적 회로에 포함될 수도 있다.
예시의 장치
도 20 은 본 개시의 하나 이상의 양태에 따라 인코딩을 사용하도록 구성된 장치 (2000) 의 예시적인 하드웨어 구현의 블록도를 도시한다. 장치 (2000) 는 UE, 송신 수신 포인트 (TRP), gNB, 기지국, 또는 본 명세서에서 교시된 인코딩을 지원하는 몇몇 다른 유형의 디바이스 내에서 구체화되거나 구현될 수 있다. 다양한 구현들에서, 장치 (2000) 는 액세스 단말기, 액세스 포인트 또는 일부 다른 유형의 디바이스 내에서 구체화되거나 구현될 수 있다. 다양한 구현들에서, 장치 (2000) 는 이동 전화, 스마트 폰, 태블릿, 휴대용 컴퓨터, 서버, 네트워크 엔티티, 개인용 컴퓨터, 센서, 경보 장치, 차량, 기계, 엔터테인먼트 디바이스, 의료 디바이스, 또는 회로를 갖는 임의의 다른 전자 디바이스 내에서 구체화되거나 구현될 수 있다.
장치 (2000) 는 통신 인터페이스 (2002) (예를 들어, 적어도 하나의 송수신기), 저장 매체 (2004), 사용자 인터페이스 (2006), 메모리 디바이스 (2008), 및 프로세싱 회로 (2010) (예를 들어, 적어도 하나의 프로세서) 를 포함한다. 이들 컴포넌트들은, 도 20 에서 접속 라인들에 의해 일반적으로 표현된 시그널링 버스 또는 다른 적합한 컴포넌트를 통해 서로 커플링되고/되거나 서로 전기 통신하도록 배치될 수 있다. 시그널링 버스는 프로세싱 회로 (2010) 의 특정 어플리케이션 및 전체 설계 제약들에 의존하는 임의의 수의 상호접속 버스들 및 브리지들을 포함할 수도 있다. 시그널링 버스는, 통신 인터페이스 (2002), 저장 매체 (2004), 사용자 인터페이스 (2006), 및 메모리 디바이스 (2008) 의 각각이 프로세싱 회로 (2010) 에 커플링되고/되거나 전기 통신하도록 다양한 회로들을 함께 링크시킨다. 시그널링 버스는 또한, 당업계에 널리 공지되고 따라서 어떠한 추가로 설명되지 않을 타이밍 소스들, 주변기기들, 전압 조정기들, 및 전력 관리 회로들과 같은 다양한 다른 회로들 (도시 안됨) 을 링크시킬 수도 있다.
통신 인터페이스 (2002) 는 장치 (2000) 의 무선 통신을 용이하게 하도록 적응될 수도 있다. 예를 들어, 통신 인터페이스 (2002) 는, 네트워크에 있어서의 하나 이상의 통신 디바이스들에 대하여 양방향으로의 정보의 통신을 용이하게 하도록 적응된 회로부 및/또는 프로그래밍을 포함할 수도 있다. 따라서, 일부 구현들에서, 통신 인터페이스 (2002) 는 무선 통신 시스템 내에서의 무선 통신을 위해 하나 이상의 안테나들 (2012) 에 커플링될 수도 있다. 일부 구현 예에서, 통신 인터페이스 (2002) 는 유선 기반 통신을 위해 구성될 수도 있다. 예를 들어, 통신 인터페이스 (2002) 는 버스 인터페이스, 전송/수신 인터페이스, 또는 신호들을 출력 및/또는 획득 (예를 들어, 집적 회로로부터 신호를 출력 및/또는 집적 회로로 신호들을 수신) 하기 위한 드라이버들, 버퍼들, 또는 다른 회로들을 포함하는 일부 다른 유형의 신호 인터페이스일 수 있다. 통신 인터페이스 (2002) 는 하나 이상의 자립형 수신기들 및/또는 송신기들 뿐 아니라 하나 이상의 송수신기들로 구성될 수 있다. 도시된 예에 있어서, 통신 인터페이스 (2002) 는 송신기 (2014) 및 수신기 (2016) 를 포함한다.
메모리 디바이스 (2008) 는 하나 이상의 메모리 디바이스들을 표현할 수도 있다. 나타낸 바와 같이, 메모리 디바이스 (2008) 는 장치 (2000) 에 의해 사용된 다른 정보와 함께 코딩 관련 정보 (2018) 를 유지할 수도 있다. 일부 구현들에 있어서, 메모리 디바이스 (2008) 및 저장 매체 (2004) 는 공통 메모리 컴포넌트로서 구현된다. 메모리 디바이스 (2008) 는 또한, 장치 (2000) 의 프로세싱 회로 (2010) 또는 기타 다른 컴포넌트에 의해 조작되는 데이터를 저장하기 위해 사용될 수도 있다.
저장 매체 (2004) 는 프로세서 실행가능 코드 또는 명령들 (예를 들어, 소프트웨어, 펌웨어), 전자 데이터, 데이터베이스들, 또는 다른 디지털 정보와 같은 프로그래밍을 저장하기 위한 하나 이상의 컴퓨터 판독가능, 머신 판독가능, 및/또는 프로세서 판독가능 디바이스들을 나타낼 수도 있다. 저장 매체 (2004) 는 또한, 프로그래밍을 실행할 경우 프로세싱 회로 (2010) 에 의해 조작되는 데이터를 저장하기 위해 사용될 수도 있다. 저장 매체 (2004) 는 휴대용 또는 고정식 저장 디바이스들, 광학 저장 디바이스들, 및 프로그래밍을 저장, 포함 및/또는 수록 가능한 다양한 다른 매체들을 포함하는 범용 또는 특수목적 프로세서에 의해 액세스될 수 있는 임의의 가용 매체들일 수도 있다.
한정이 아닌 예로서, 저장 매체 (2004) 는 자기 저장 디바이스 (예를 들어, 하드 디스크, 플로피 디스크, 자기 스트립), 광학 디스크 (예를 들어, 컴팩트 디스크 (CD) 또는 디지털 다기능 디스크 (DVD)), 스마트 카드, 플래시 메모리 디바이스 (예를 들어, 카드, 스틱, 또는 키 드라이브), 랜덤 액세스 메모리 (RAM), 판독 전용 메모리 (ROM), 프로그램가능 ROM (PROM), 소거가능 PROM (EPROM), 전기적으로 소거가능 PROM (EEPROM), 레지스터, 착탈가능 디스크, 및 컴퓨터에 의해 액세스 및 판독될 수도 있는 소프트웨어 및/또는 명령들을 저장하기 위한 임의의 다른 적합한 매체를 포함할 수도 있다. 저장 매체 (2004) 는 제조 물품 (예를 들어, 컴퓨터 프로그램 제품) 에 구현될 수도 있다. 예로서, 컴퓨터 프로그램 제품은 패키징 재료들에 컴퓨터 판독가능 매체를 포함할 수도 있다. 상기의 관점에서, 일부 구현들에 있어서, 저장 매체 (2004) 는 비-일시적인 (예를 들어, 유형의) 저장 매체일 수도 있다.
저장 매체 (2004) 는, 프로세싱 회로 (2010) 가 저장 매체 (2004) 로부터 정보를 판독할 수 있고 저장 매체에 정보를 기입할 수 있도록 프로세싱 회로 (2010) 에 커플링될 수도 있다. 즉, 저장 매체 (2004) 는, 적어도 하나의 저장 매체가 프로세싱 회로 (2010) 에 통합되는 예들 및/또는 적어도 하나의 저장 매체가 프로세싱 회로 (2010) 로부터 분리되는 (예를 들어, 장치 (2000) 에 상주하는, 장치 (2000) 외부에 있는, 다중의 엔터티들에 걸쳐 분포되는 등의) 예들을 포함하여 저장 매체 (2004) 가 프로세싱 회로 (2010) 에 의해 적어도 액세스가능하도록 프로세싱 회로 (2010) 에 커플링될 수 있다.
저장 매체 (2004) 에 의해 저장된 프로그래밍은, 프로세싱 회로 (2010) 에 의해 실행될 경우, 프로세싱 회로 (2010) 로 하여금 본 명세서에서 설명된 다양한 기능들 및/또는 프로세스 동작들 중 하나 이상을 수행하게 한다. 예를 들어, 저장 매체 (2004) 는 프로세싱 회로 (2010) 의 하나 이상의 하드웨어 블록들에서의 동작들을 조절하기 위해 뿐만 아니라 그 개별 통신 프로토콜들을 활용하는 무선 통신용 통신 인터페이스 (2002) 를 활용하기 위해 구성된 동작들을 포함할 수도 있다. 일부 양태들에서, 저장 매체 (2004) 는 여기에 설명된 바와 같은 동작들을 수행하기 위한 코드를 포함하는 컴퓨터 실행 가능 코드를 저장하는 비 일시적 컴퓨터 판독 가능 매체일 수도 있다.
프로세싱 회로 (2010) 는 일반적으로, 저장 매체 (2004) 상에 저장된 그러한 프로그래밍의 실행을 포함한 프로세싱을 위해 적응된다. 본 명세서에서 사용된 바와 같이, 용어 "코드" 또는 "프로그래밍" 은 소프트웨어, 펌웨어, 미들웨어, 마이크로코드, 하드웨어 디스크립션 언어, 또는 기타 등등으로 지칭되는지에 관계없이, 명령들, 명령 세트들, 데이터, 코드, 코드 세그먼트들, 프로그램 코드, 프로그램들, 서브프로그램들, 소프트웨어 모듈들, 어플리케이션들, 소프트웨어 어플리케이션들, 소프트웨어 패키지들, 루틴들, 서브루틴들, 오브젝트들, 실행가능물들, 실행 스레드들, 절차들, 함수들 등을 한정없이 포함하도록 넓게 해석될 것이다.
프로세싱 회로 (2010) 는 데이터를 획득, 프로세싱 및/또는 전송하고, 데이터 액세스 및 저장을 제어하고, 커맨드들을 발행하며, 다른 원하는 동작들을 제어하도록 배열된다. 프로세싱 회로 (2010) 는, 적어도 하나의 예에서 적절한 매체들에 의해 제공된 원하는 프로그래밍을 구현하도록 구성된 회로부를 포함할 수도 있다. 예를 들어, 프로세싱 회로 (2010) 는 실행가능 프로그래밍을 실행하도록 구성된 하나 이상의 프로세서들, 하나 이상의 제어기들, 및/또는 다른 구조로서 구현될 수도 있다. 프로세싱 회로 (2010) 의 예들은 범용 프로세서, 디지털 신호 프로세서 (DSP), 주문형 집적회로 (ASIC), 필드 프로그래밍가능 게이트 어레이 (FPGA) 또는 다른 프로그래밍가능 로직 컴포넌트, 이산 게이트 또는 트랜지스터 로직, 이산 하드웨어 컴포넌트들, 또는 본 명세서에서 설명된 기능들을 수행하도록 설계된 이들의 임의의 조합을 포함할 수도 있다. 범용 프로세서는 마이크로프로세서뿐 아니라 임의의 종래의 프로세서, 제어기, 마이크로 제어기, 또는 상태 머신을 포함할 수도 있다. 프로세싱 회로 (2010) 는 또한, DSP 와 마이크로프로세서의 조합, 다수의 마이크로프로세서들, DSP 코어와 결합된 하나 이상의 마이크로프로세서들, ASIC 및 마이크로프로세서, 또는 임의의 다른 수의 가변 구성물들과 같은 컴퓨팅 컴포넌트들의 조합으로서 구현될 수도 있다. 프로세싱 회로 (2010) 의 이들 예들은 예시를 위한 것이며, 본 개시의 범위 내의 다른 적합한 구성들이 또한 고려된다.
본 개시의 하나 이상의 양태들에 따르면, 프로세싱 회로 (2010) 는 본 명세서에서 설명된 장치들 중 임의의 하나 또는 그 모두에 대한 특징들, 프로세스들, 함수들, 동작들 및/또는 루틴들 중 임의의 하나 또는 그 모두를 수행하도록 적응될 수도 있다. 예를 들어, 프로세싱 회로 (2010) 는 도 1 내지 도 19 및 도 21 내지 도 27 을 참조하여 설명된 임의의 단계들, 기능들 및/또는 프로세스들을 수행하도록 구성될 수도 있다. 본 명세서에서 사용된 바와 같이, 프로세싱 회로 (2010) 와 관련한 용어 "적응된" 은, 프로세싱 회로 (2010) 가 본 명세서에서 설명된 다양한 특징들에 따른 특정 프로세스, 함수, 동작 및/또는 루틴을 수행하기 위해 구성되는 것, 채용되는 것, 구현되는 것, 및/또는 프로그래밍되는 것 중 하나 이상을 지칭할 수도 있다.
프로세싱 회로 (2010) 는 도 1 내지 도 19 및 도 21 내지 도 27 와 관련하여 기술된 동작들 중 임의의 하나를 수행하기 위한 수단 (예를 들어, 구조체) 으로서의 역할을 하는 주문형 집적 회로 (ASIC) 와 같은 특수 프로세서일 수도 있다. 처리 회로 (2010) 는 송신하기 위한 수단 및/또는 수신하기 위한 수단의 일례로서 작용할 수도 있다. 다양한 구현에서, 프로세싱 회로 (2010) 는 도 2 의 제 1 무선 통신 디바이스 (202) (예를 들어, 인코더 (212)) 또는 도 19 의 인코더 (1902) 의 기능성을 제공 및/또는 포함할 수도 있다.
장치 (2000) 의 적어도 하나의 예에 따르면, 프로세싱 회로 (2010) 는 인코딩하기 위한 회로/모듈 (2020), 생성하기 위한 회로/모듈 (2022), 펑처링하기 위한 회로/모듈 (2024), 출력하기 위한 회로/모듈 (2026), 다른 송신이 필요하다고 결정하기 위한 회로/모듈 (2028), SNR 을 결정하기 위한 회로/모듈 (2030), 비트 에러 확률들을 결정하기 위한 회로/모듈 (2032), 코딩 레이트를 선택하기 위한 회로/모듈 (2034), 채널의 조건을 결정하기 위한 회로/모듈 (2036), 비트들의 양을 결정하기 위한 회로/모듈 (2038), 비교하기 위한 회로/모듈 (2040), 또는 인코딩된 데이터를 포함할지 여부를 결정하기 위한 회로/모듈 (2042) 중 하나 이상을 포함할 수도 있다. 다양한 구현들에서, 인코딩하기 위한 회로/모듈 (2020), 생성하기 위한 회로/모듈 (2022), 펑처링하기 위한 회로/모듈 (2024), 출력하기 위한 회로/모듈 (2026), 다른 송신이 필요하다고 결정하기 위한 회로/모듈 (2028), SNR 을 결정하기 위한 회로/모듈 (2030), 비트 에러 확률들을 결정하기 위한 회로/모듈 (2032), 코딩 레이트를 선택하기 위한 회로/모듈 (2034), 채널의 조건을 결정하기 위한 회로/모듈 (2036), 비트들의 양을 결정하기 위한 회로/모듈 (2038), 비교하기 위한 회로/모듈 (2040), 또는 인코딩된 데이터를 포함할지 여부를 결정하기 위한 회로/모듈 (2042) 은 도 2 의 제 1 무선 통신 디바이스 (202) (예를 들어, 인코더 (212)) 또는 도 19 의 인코더 (1902) 에 대해 상술된 기능성을 적어도 부분적으로 제공 및/또는 포함할 수도 있다.
상기 언급된 바와 같이, 저장 매체 (2004) 에 의해 저장된 프로그래밍은, 프로세싱 회로 (2010) 에 의해 실행될 경우, 프로세싱 회로 (2010) 로 하여금 본 명세서에서 설명된 다양한 기능들 및/또는 프로세스 동작들 중 하나 이상을 수행하게 한다. 예를 들어, 프로그래밍은 프로세싱 회로 (2010) 로 하여금 여러 구현들에서 도 1 내지 도 19 및 도 21 내지 도 27 와 관련하여 여기서 설명된 다양한 기능, 단계 및/또는 프로세스를 수행하게 할 수도 있다. 도 20 에 도시된 바와 같이, 저장 매체 (2004) 의 인코딩하기 위한 코드 (2044), 생성하기 위한 코드 (2046), 펑처링하기 위한 코드 (2048), 출력하기 위한 코드 (2050), 다른 송신이 필요하다고 결정하기 위한 코드 (2052), SNR 을 결정하기 위한 코드 (2054), 비트 에러 확률들을 결정하기 위한 코드 (2056), 코딩 레이트를 선택하기 위한 코드 (2058), 채널의 조건을 결정하기 위한 코드 (2060), 비트들의 양을 결정하기 위한 코드 (2062), 비교하기 위한 코드 (2064), 또는 인코딩된 데이터를 포함할지 여부를 결정하기 코드 (2066) 중 하나 이상을 포함할 수도 있다. 다양한 구현들에서, 인코딩하기 위한 코드 (2044), 생성하기 위한 코드 (2046), 펑처링하기 위한 코드 (2048), 출력하기 위한 코드 (2050), 다른 송신이 필요하다고 결정하기 위한 코드 (2052), SNR 을 결정하기 위한 코드 (2054), 비트 에러 확률들을 결정하기 위한 코드 (2056), 코딩 레이트를 선택하기 위한 코드 (2058), 채널의 조건을 결정하기 위한 코드 (2060), 비트들의 양을 결정하기 위한 코드 (2062), 비교하기 위한 코드 (2064), 또는 인코딩된 데이터를 포함할지 여부를 결정하기 코드 (2066) 는 인코딩하기 위한 회로/모듈 (2020), 생성하기 위한 회로/모듈 (2022), 펑처링하기 위한 회로/모듈 (2024), 출력하기 위한 회로/모듈 (2026), 다른 송신이 필요하다고 결정하기 위한 회로/모듈 (2028), SNR 을 결정하기 위한 회로/모듈 (2030), 비트 에러 확률들을 결정하기 위한 회로/모듈 (2032), 코딩 레이트를 선택하기 위한 회로/모듈 (2034), 채널의 조건을 결정하기 위한 회로/모듈 (2036), 비트들의 양을 결정하기 위한 회로/모듈 (2038), 비교하기 위한 회로/모듈 (2040), 또는 인코딩된 데이터를 포함할지 여부를 결정하기 위한 회로/모듈 (2042) 에 대해 여기서 기술된 기능성을 제공하기 위해 실행되거나 다르게는 사용될 수도 있다.
인코딩하기 위한 모듈 (2020) 은, 예를 들어, 정보를 인코딩하는 것에 관한 수개의 기능들을 수행하도록 적응된 회로부 및/또는 프로그래밍 (예를 들어, 저장 매체 (2004) 상에 저장된 인코딩하기 위한 코드 (2044)) 을 포함할 수도 있다. 몇몇 양태들에서, 인코딩하기 위한 회로/모듈 (2020) (예를 들어, 인코딩하기 위한 수단) 은 예를 들어 프로세싱 회로에 대응할 수도 있다.
일부 양태들에서, 인코딩하기 위한 회로/모듈 (2020) 은 인코딩 알고리즘을 실행할 수도 있다. 예를 들어, 인코딩하기 위한 회로/모듈 (2020) 은 블록 코딩 알고리즘 또는 폴라 코딩 알고리즘을 수행할 수도 있다. 몇몇 양태들에서, 인코딩하기 위한 회로/모듈 (2020) 은 도 1 내지 도 19 및 도 21 내지 도 27 과 관련하여 본 명세서에 기술된 인코딩 동작들을 수행할 수도 있다. 인코딩하기 위한 회로/모듈 (2020) 은 그 후 (예를 들어, 펑처링하기 위한 회로/모듈 (2024), 메모리 디바이스 (2008), 통신 인터페이스 (2002) 또는 일부 다른 컴포넌트로) 결과적인 인코딩된 정보를 출력한다.
생성하기 위한 회로/모듈 (2022) 은, 예를 들어, 펑쳐 패턴을 생성하는 것에 관한 수개의 기능들을 수행하도록 적응된 회로부 및/또는 프로그래밍 (예를 들어, 저장 매체 (2004) 상에 저장된 생성하기 위한 코드 (2046)) 을 포함할 수도 있다. 몇몇 양태들에서, 생성하기 위한 회로/모듈 (2022) (예를 들어, 생성하기 위한 수단) 은 예를 들어 프로세싱 회로에 대응할 수도 있다.
몇몇 양태들에서, 생성하기 위한 회로/모듈 (2022) 은 마더 코드를 펑처링하기 위한 펑쳐 패턴을 생성하고 및/또는 반복 프로세스를 통해 펑쳐 패턴을 생성할 수도 있다. 예를 들어, 생성하기 위한 회로/모듈 (2022) 은 도 1 내지 도 19 및 도 21 내지 도 27 과 관련하여 본 명세서에 기술된 펑쳐 패턴 생성 동작들을 수행할 수도 있다. 생성하기 위한 회로/모듈 (2022) 은 그 후 (예를 들어, 펑처링하기 위한 회로/모듈 (2022), 메모리 디바이스 (2008), 통신 인터페이스 (2002) 또는 일부 다른 컴포넌트로) 결과적인 펑쳐 패턴을 출력한다.
펑처링하기 위한 회로/모듈 (2024) 은, 예를 들어, 정보를 펑처링하는 것에 관한 수개의 기능들을 수행하도록 적응된 회로부 및/또는 프로그래밍 (예를 들어, 저장 매체 (2004) 상에 저장된 펑처링하기 위한 코드 (2048)) 을 포함할 수도 있다. 몇몇 양태들에서, 펑처링하기 위한 회로/모듈 (2024) (예를 들어, 펑처링하기 위한 수단) 은 예를 들어 프로세싱 회로에 대응할 수도 있다.
일부 양태들에서, 펑처링하기 위한 회로/모듈 (2024) 은 인코딩된 데이터를 펑처링할 수도 있다. 예를 들어, 펑처링하기 위한 회로/모듈 (2024) 은 도 1 내지 도 19 및 도 21 내지 도 27 과 관련하여 본 명세서에 기술된 펑쳐링 동작들을 수행할 수도 있다. 펑처링하기 위한 회로/모듈 (2024) 은 그 후 (예를 들어, 출력하기 위한 회로/모듈 (2026), 메모리 디바이스 (2008), 통신 인터페이스 (2002) 또는 일부 다른 컴포넌트로) 결과적인 펑처링된 정보를 출력한다.
출력하기 위한 회로/모듈 (2026) 은, 예를 들어, 정보를 출력하는 것 (예를 들어, 전송하는 것 또는 송신하는 것) 에 관한 수개의 기능들을 수행하도록 적응된 회로부 및/또는 프로그래밍 (예를 들어, 저장 매체 (2004) 상에 저장된 출력하기 위한 코드 (2050)) 을 포함할 수도 있다. 일부 구현 예에서, 출력하기 위한 회로/모듈 (2026) 은 (예를 들어, 인코딩하기 위한 회로/모듈 (2020), 펑처링하기 위한 회로/모듈 (2024), 메모리 디바이스 (2008) 또는 장치 (2000) 의 일부 다른 컴포넌트로부터) 정보를 획득하고 그 정보를 프로세싱 (예를 들어, 송신을 위해 그 정보를 인코딩) 할 수도 있다. 일부 시나리오들에서, 출력을 위한 회로/모듈 (2026) 은 정보를 다른 디바이스에 전송할 다른 컴포넌트 (예를 들어, 송신기 (2014), 통신 인터페이스 (2002) 또는 일부 다른 컴포넌트) 에 정보를 전송한다. 몇몇 시나리오들에서 (예를 들어, 출력하기 위한 회로/모듈이 송신기를 포함하는 경우), 출력하기 위한 회로/모듈 (2026) 은 무선 주파수 시그널링 또는 적용가능한 통신 매체에 적합한 몇몇 다른 유형의 시그널링을 통해 정보를 다른 디바이스 (예를 들어, 최종 목적지) 에 직접 송신한다.
출력하기 위한 회로/모듈 (2026) (예를 들어, 출력하기 위한 수단, 전송하기 위한 수단, 송신하기 위한 수단 등) 은 다양한 형태를 취할 수도 있다. 몇몇 양태들에서, 출력하기 위한 회로/모듈 (2026) 은 예를 들어 본 명세서에서 논의된 프로세싱 회로에 대응할 수도 있다. 일부 양태들에서, 출력하기 위한 회로/모듈 (2026) 은 예를 들어 인터페이스 (예를 들어, 버스 인터페이스, 전송 인터페이스 또는 일부 다른 유형의 신호 인터페이스), 통신 디바이스, 송수신기, 송신기, 또는 여기에서 논의된 일부 다른 유사한 컴포넌트에 대응할 수도 있다. 일부 구현 예에서, 통신 인터페이스 (2002) 는 출력하기 위한 회로/모듈 (2026) 및/또는 출력하기 위한 코드 (2050) 를 포함한다. 일부 구현 예에서, 출력하기 위한 회로/모듈 (2026) 및/또는 출력하기 위한 코드 (2050) 는 정보를 송신하기 위해 통신 인터페이스 (2002) (예를 들어, 송수신기 또는 송신기) 를 제어하도록 구성된다.
다른 송신이 필요하다고 결정하기 위한 회로/모듈 (2028) 은, 예를 들어, 재송신을 수행할지 여부를 결정하는 것에 관한 수개의 기능들을 수행하도록 적응된 회로부 및/또는 프로그래밍 (예를 들어, 저장 매체 (2004) 상에 저장된 다른 송신이 필요하다고 결정하기 위한 코드 (2052)) 을 포함할 수도 있다. 몇몇 양태들에서, 다른 송신이 필요하다고 결정하기 위한 회로/모듈 (2028) (예를 들어, 다른 송신이 필요하다고 결정하기 위한 수단) 은 예를 들어 프로세싱 회로에 대응할 수도 있다.
일부 시나리오들에서, 다른 송신이 필요하다고 결정하기 위한 회로/모듈 (2028) 은 피드백 정보를 얻을 수도 있다. 예를 들어, 다른 송신이 필요하다고 결정하기 위한 회로/모듈 (2028) 은 ACK 또는 NAK 를 (예를 들어, 통신 인터페이스 (2002), 메모리 디바이스 (2008) 또는 장치 (2000) 의 일부 다른 컴포넌트로부터) 획득할 수도 있다. 다른 송신이 필요하다고 결정하기 위한 회로/모듈 (2028) 은 피드백이 NAK 또는 몇몇 다른 유사한 값이면 재송신할 것을 선택할 수도 있다. 다른 송신이 필요하다고 결정하기 위한 회로/모듈 (2028) 은 그 후 (예를 들어, 출력하기 위한 회로/모듈 (2026), 메모리 디바이스 (2008) 또는 일부 다른 컴포넌트로) 그 결정의 표시를 출력할 수도 있다.
SNR 을 결정하기 위한 회로/모듈 (2030) 은, 예를 들어, 펑쳐 패턴을 생성하는데 사용하기 위한 SNR 을 결정하는 것에 관한 수개의 기능들을 수행하도록 적응된 회로부 및/또는 프로그래밍 (예를 들어, 저장 매체 (2004) 상에 저장된 SNR 을 결정하기 위한 코드 (2054)) 을 포함할 수도 있다. 몇몇 양태들에서, SNR 을 결정하기 위한 회로/모듈 (2030) (예를 들어, 생성하기 위한 수단) 은 예를 들어 프로세싱 회로에 대응할 수도 있다.
일부 양태들에서, SNR 을 결정하기 위한 회로/모듈 (2030) 은 도 1 내지 도 19 및 도 21 내지 도 27 과 관련하여 본 명세서에 기술된 펑쳐 패턴 생성 동작들을 수행할 수도 있다. 예를 들어, SNR 을 결정하기 위한 회로/모듈 (2030) 은 예비 펑쳐 패턴에 대한 블록 에러 레이트가 목표 블록 에러 레이트보다 작거나 같을 때까지 예비 신호 대 잡음비를 증가시킴으로써 신호 대 잡음비를 결정할 수도 있다. SNR 을 결정하기 위한 회로/모듈 (2030) 은 그 후 (예를 들어, 생성하기 위한 회로/모듈 (2022), 메모리 디바이스 (2008), 통신 인터페이스 (2002) 또는 일부 다른 컴포넌트로) 결과적인 SNR 을 출력한다.
비트 에러 확률들을 결정하기 위한 회로/모듈 (2032) 은, 예를 들어, 펑쳐 비트의 상이한 위치들에 대한 비트 에러 확률들을 결정하는 것에 관한 수개의 기능들을 수행하도록 적응된 회로부 및/또는 프로그래밍 (예를 들어, 저장 매체 (2004) 상에 저장된 비트 에러 확률들을 결정하기 위한 코드 (2056)) 을 포함할 수도 있다. 몇몇 양태들에서, 비트 에러 확률들을 결정하기 위한 회로/모듈 (2032) (예를 들어, 생성하기 위한 수단) 은 예를 들어 프로세싱 회로에 대응할 수도 있다.
일부 양태들에서, 비트 에러 확률들을 결정하기 위한 회로/모듈 (2032) 은 도 1 내지 도 19 및 도 21 내지 도 27 과 관련하여 본 명세서에 기술된 비트 에러 확률들을 결정할 수도 있다. 예를 들어, 비트 에러 확률들을 결정하기 위한 회로/모듈 (2032) 은 잡음 분산에 기초하여 비트 에러 확률들을 결정할 수도 있다. 몇몇 경우들에서, 그 비트 에러 확률들의 결정은 가우시안 근사화 알고리즘 또는 밀도 진화 알고리즘에 기초 할 수도 있다. 비트 에러 확률들을 결정하기 위한 회로/모듈 (2032) 은 그 후 (예를 들어, 생성하기 위한 회로/모듈 (2022), 메모리 디바이스 (2008), 통신 인터페이스 (2002) 또는 일부 다른 컴포넌트로) 결과적인 펑쳐 패턴을 출력한다.
코딩 레이트를 선택하기 위한 회로/모듈 (2034) 은, 예를 들어, 정보를 인코딩하기 위한 코딩 레이트를 선택하는 것에 관한 수개의 기능들을 수행하도록 적응된 회로부 및/또는 프로그래밍 (예를 들어, 저장 매체 (2004) 상에 저장된 코딩 레이트를 선택하기 위한 코드 (2058)) 을 포함할 수도 있다. 몇몇 양태들에서, 코딩 레이트를 선택하기 위한 회로/모듈 (2034) (예를 들어, 코딩 레이트를 선택하기 위한 수단) 은 예를 들어 프로세싱 회로에 대응할 수도 있다.
코딩 레이트를 선택하기 위한 회로/모듈 (2034) 은 다양한 입력들에 기초하여 코딩 레이트를 선택할 수도 있다. 예를 들어, 코딩 레이트를 선택하기 위한 회로/모듈 (2034) 은 목표 에러 레이트, 채널 조건, 또는 일부 다른 입력에 기초하여 코딩 레이트를 선택할 수도 있다. 따라서, 코딩 레이트를 선택하기 위한 회로/모듈 (2034) 은 (예를 들어, 채널의 조건을 결정하기 위한 회로/모듈 (2036), 메모리 디바이스 (2008) 또는 장치 (2000) 의 일부 다른 컴포넌트로부터) 입력 정보를 초기에 획득할 수도 있다. 따라서, 코딩 레이트를 선택하기 위한 회로/모듈 (2034) 은 (예를 들어, 도 1 내지 도 19 및 도 21 내지 도 27 과 관련하여 본 명세서에 기술된) 적절한 입력에 기초하여 사용될 코딩 레이트를 결정할 수 있다. 그 다음, 코딩 레이트를 선택하기 위한 회로/모듈 (2034) 은 (예를 들어, 인코딩하기 위한 회로/모듈 (2020), 출력하기 위한 회로/모듈 (2026), 비트들의 양을 결정하기 위한 회로/모듈 (2038), 메모리 디바이스 (2008), 인코더 또는 일부 다른 컴포넌트로) 선택의 표시를 출력할 수도 있다.
채널의 조건을 결정하기 위한 회로/모듈 (2036) 은, 예를 들어, 시간의 주기에 대해 채널의 조건을 결정하는 것에 관한 수개의 기능들을 수행하도록 적응된 회로부 및/또는 프로그래밍 (예를 들어, 저장 매체 (2004) 상에 저장된 채널의 조건을 결정하기 위한 코드 (2060)) 을 포함할 수도 있다. 몇몇 양태들에서, 채널의 조건을 결정하기 위한 회로/모듈 (2036) (예를 들어, 채널의 조건을 결정하기 위한 수단) 은 예를 들어 프로세싱 회로에 대응할 수도 있다.
일부 시나리오들에서, 채널의 조건을 결정하기 위한 회로/모듈 (2036) 은 채널 측정들을 호출할 수도 있다. 예를 들어, 채널의 조건을 결정하기 위한 회로/모듈 (2036) 은 통신 인터페이스 (2002) 를 제어하여 채널을 모니터링하거나 (그리고 선택적으로, 다른 디바이스에 의한 채널 측정들을 위한 패턴들을 전송하거나) 장치 (2000) 의 일부 다른 컴포넌트를 제어할 수도 있다. 따라서, 채널의 조건을 결정하기 위한 회로/모듈 (2036) 은 수신된 신호 정보를 획득하고 적어도 하나의 채널 추정을 생성하기 위해 이 정보를 프로세싱할 수 있다. 채널의 조건을 결정하기 위한 회로/모듈 (2036) 은 그 후 (예를 들어, 코딩 레이트를 선택하기 위한 회로/모듈 (2034), 메모리 디바이스 (2008) 또는 일부 다른 컴포넌트로) 채널 추정의 표시를 출력할 수도 있다.
비트들의 양을 결정하기 위한 회로/모듈 (2038) 은, 예를 들어, 재송신을 위해 (예를 들어, 이전에 송신된 인코딩된 데이터의) 얼마나 많은 비트들을 사용할지를 결정하는 것에 관한 수개의 기능들을 수행하도록 적응된 회로부 및/또는 프로그래밍 (예를 들어, 저장 매체 (2004) 상에 저장된 비트들의 양을 결정하기 위한 코드 (2062)) 을 포함할 수도 있다. 몇몇 양태들에서, 비트들의 양을 결정하기 위한 회로/모듈 (2038) (예를 들어, 비트들의 양을 결정하기 위한 수단) 은 예를 들어 프로세싱 회로에 대응할 수도 있다.
비트들의 양을 결정하기 위한 회로/모듈 (2038) 은 코딩 레이트에 기초하여 비트들의 양을 결정할 수도 있다. 따라서, 비트들의 양을 결정하기 위한 회로/모듈 (2038) 은 (예를 들어, 코딩 레이트를 선택하기 위한 회로/모듈 (2034), 메모리 디바이스 (2008) 또는 장치 (2000) 의 일부 다른 컴포넌트로부터) 코딩 레이트 정보를 획득할 수도 있다. 비트들의 양을 결정하기 위한 회로/모듈 (2038) 은 그 후 (예를 들어, 여기서 논의된 바와 같은) 코딩 레이트 정보에 기초하여 사용할 비트들의 수를 계산한다. 비트들의 양을 결정하기 위한 회로/모듈 (2038) 은 그 후 (예를 들어, 출력하기 위한 회로/모듈 (2026), 메모리 디바이스 (2008), 인코딩하기 위한 회로/모듈 (2020), 인코더, 또는 일부 다른 컴포넌트로) 비트들의 수의 표시를 출력할 수도 있다.
비교하기 위한 회로/모듈 (2040) 은, 예를 들어, 2 개의 값들을 비교하는 것에 관한 수개의 기능들을 수행하도록 적응된 회로부 및/또는 프로그래밍 (예를 들어, 저장 매체 (2004) 상에 저장된 비교하기 위한 코드 (2064)) 을 포함할 수도 있다. 몇몇 양태들에서, 비교하기 위한 회로/모듈 (2040) (예를 들어, 비교하기 위한 수단) 은 예를 들어 프로세싱 회로에 대응할 수도 있다.
하나의 시나리오에서, 비교하기 위한 회로/모듈 (2040) 은 (예를 들어, 코딩 레이트를 선택하기 위한 회로/모듈 (2034), 메모리 디바이스 (2008) 또는 장치 (2000) 의 일부 다른 컴포넌트로부터) 제 1 코딩 레이트 및 제 2 코딩 레이트를 획득한다. 비교하기 위한 회로/모듈 (2040) 은 이들 값 중 어느 것이 이들 값들 중 다른 것보다 큰지를 (예를 들어, 감산 동작을 수행함으로써) 결정한다. 비교하기 위한 회로/모듈 (2040) 은 그 후 (예를 들어, 인코딩된 데이터를 포함할지 여부를 결정하기 위한 회로/모듈 (2042), 메모리 디바이스 (2008), 또는 일부 다른 컴포넌트로) 이러한 결정의 결과를 출력할 수도 있다.
인코딩된 데이터를 포함할지 여부를 결정하기 위한 회로/모듈 (2042) 은, 예를 들어, (예를 들어, 재송신을 위해) 제 2 정보에 인코딩된 데이터를 포함할지 여부를 결정하는 것에 관한 수개의 기능들을 수행하도록 적응된 회로부 및/또는 프로그래밍 (예를 들어, 저장 매체 (2004) 상에 저장된 인코딩된 데이터를 포함할지 여부를 결정하기 위한 코드 (2066)) 을 포함할 수도 있다. 몇몇 양태들에서, 인코딩된 데이터를 포함할지 여부를 결정하기 위한 회로/모듈 (2042) (예를 들어, 인코딩된 데이터를 포함할지 여부를 결정하기 위한 수단) 은 예를 들어 프로세싱 회로에 대응할 수도 있다.
일부 시나리오들에서, 인코딩된 데이터를 포함할지 여부를 결정하기 위한 회로/모듈 (2042) 은 재송신과 함께 인코딩된 데이터를 포함할지 여부를 결정할 수도 있다. 예를 들어, 인코딩된 데이터를 포함할지 여부를 결정하기 위한 회로/모듈 (2042) 은 획득된 코딩 레이트가 제 1 송신의 코딩 레이트보다 작은 지 여부를 결정할 수도 있다. 그렇다면, 제 2 송신을 위해 타겟 BLER 를 충족시키기 위해 추가적인 인코딩된 비트들이 송신될 필요가 있을 수도 있다. 인코딩된 데이터를 포함할지 여부를 결정하기 위한 회로/모듈 (2042) 은 그 후 (예를 들어, 출력하기 위한 회로/모듈 (2002), 통신 인터페이스 (2002), 메모리 디바이스 (2008) 또는 일부 다른 컴포넌트로) 상기 결정의 표시를 출력할 수도 있다.
제 1 예시의 프로세스
도 21 은 본 개시의 일부 양태들에 따른 통신을 위한 프로세스 (2100) 를 도시한다. 프로세스 (2100) 는 프로세싱 회로 (예를 들어, 도 20 의 프로세싱 회로 (2010)) 내에서 발생할 수도 있으며, 그 프로세싱 회로는 UE, TRP, gNB, 액세스 단말기, 기지국, 또는 (예를 들어, 인코딩을 제공하는) 임의의 다른 적절한 장치에 위치될 수도 있다. 물론, 본 개시의 범위 내의 다양한 양태들에 있어서, 프로세스 (2100) 는 통신 관련 동작들을 지원 가능한 임의의 적합한 장치에 의해 구현될 수도 있다.
블록 (2102) 에서, 장치 (예를 들어, 인코더를 포함하는 디바이스) 는 데이터의 제 1 블록을 인코딩하여 복수의 비트를 포함하는 인코딩된 데이터를 생성한다. 일부 양태들에 있어서, 그 인코딩은 폴라 코딩을 포함할 수도 있다.
일부 구현들에서, 도 20 의 인코딩하기 위한 회로/모듈 (2020) 은 블록 (2102) 의 동작들을 수행한다. 일부 구현 예에서, 도 20 의 인코딩하기 위한 코드 (2044) 는 블록 (2102) 의 동작들을 수행하기 위해 실행된다.
블록 (2104) 에서, 장치는 복수의 비트와 연관된 비트 위치들에 대한 비트 에러 확률들에 기초하여 펑쳐 패턴을 생성한다. 펑쳐 패턴의 생성은 상이한 구현들에서 상이한 형태들을 취할 수도 있다.
몇몇 양태들에서, 펑쳐 패턴의 생성은 제 1 예비 펑쳐 패턴으로부터 최종 예비 펑쳐 패턴으로 연속적으로 복수의 예비 펑쳐 패턴들을 생성하는 것으로서, 예비 펑쳐 패턴들 중 임의의 하나의 펑쳐 비트들의 양은 예비 펑쳐 패턴들 중 임의의 다른 하나의 펑쳐 비트들의 양과는 상이한, 상기 복수의 예비 펑쳐 패턴들을 생성하는 것, 및 상기 최종 예비 펑쳐 패턴을 최종 펑쳐 패턴으로 선택하는 것을 포함할 수도 있다. 일부 양태들에서, 최종 예비 펑쳐 패턴의 펑쳐 비트들의 양은 예비 펑쳐 패턴들 중 임의의 다른 하나의 펑쳐 비트들의 양보다 클 수도 있다. 몇몇 양태들에서, 제 1 예비 펑쳐 패턴의 생성은 펑쳐 비트에 대한 복수의 위치들에 기초하여 복수의 블록 에러 레이트들을 계산하는 것 (의 계산), 블록 에러 레이트들 중 가장 낮은 블록 에러 레이트를 식별하는 것 (의 식별), 및 가장 낮은 블록 에러 레이트에 기초하여 제 1 예비 펑쳐 패턴을 식별하는 것을 포함할 수도 있다.
몇몇 양태들에서, 펑쳐 패턴의 생성은 제 1 예비 펑쳐 패턴을 생성하는 것 및 제 1 예비 펑쳐 패턴의 생성 후에 제 2 예비 펑쳐 패턴을 생성하는 것을 포함할 수도 있다. 일부 양태들에서, 제 1 예비 펑쳐 패턴의 생성은 제 1 잡음 분산을 결정하는 것, 및 제 1 펑쳐 비트에 대한 복수의 위치들에 기초하여 복수의 제 1 블록 에러 레이트들을 계산하는 것을 포함할 수도 있으며, 여기서 각각의 제 1 블록 에러 레이트는 제 1 잡음 분산에 기초할 수도 있다. 몇몇 양태들에서, 제 2 예비 펑쳐 패턴의 생성은 제 1 잡음 분산과 상이한 제 2 잡음 분산을 결정하는 것, 및 제 2 펑쳐 비트에 대한 복수의 위치들에 기초하여 복수의 제 2 블록 에러 레이트들을 계산하는 것을 포함할 수도 있으며, 여기서 각각의 제 2 블록 에러 레이트는 제 2 잡음 분산에 기초할 수도 있다.
몇몇 양태들에서, 펑쳐 패턴의 생성은 제 1 신호 대 잡음비의 제 1 잡음 분산을 결정하는 것, 제 1 잡음 분산에 기초하여 비트 에러 확률들의 제 1 서브 세트를 결정하는 것, 비트 오류 확률들의 제 1 서브 세트에 기초하여 제 1 예비 펑쳐 패턴을 생성하는 것, 제 1 신호 대 잡음비와 상이한 제 2 신호 대 잡음비의 제 2 잡음 분산을 결정하는 것, 제 2 잡음 분산에 기초하여 비트 에러 확률들의 제 2 서브 세트를 결정하는 것, 및 제 1 예비 펑쳐 패턴 및 비트 에러 확률들의 제 2 서브 세트에 기초하여 제 2 예비 펑쳐 패턴을 생성하는 것을 포함할 수도 있다. 일부 양태들에서, 프로세스 (2100) 는 제 1 예비 펑쳐 패턴에 대한 제 1 블록 에러 레이트가 목표 블록 에러 레이트보다 작거나 같을 때까지 예비 제 1 신호대 잡음비를 증가시킴으로써 제 1 신호대 잡음비를 결정하는 것, 및 제 2 예비 펑쳐 패턴에 대한 제 2 블록 에러 레이트가 목표 블록 에러 레이트보다 작거나 같을 때까지 예비 제 2 신호대 잡음비를 증가시킴으로써 제 2 신호 대 잡음비를 결정하는 것을 더 포함할 수도 있다. 몇몇 양태들에서, 각각의 비트 에러 확률의 결정은 가우시안 근사화 알고리즘에 기초할 수도 있다. 몇몇 양태들에서, 각각의 비트 에러 확률의 결정은 밀도 진화 알고리즘에 기초할 수도 있다.
몇몇 양태들에서, 펑쳐 패턴의 생성은 복수의 예비 펑쳐 패턴들을 생성하는 것, 예비 펑쳐 패턴들에 기초하여 복수의 블록 에러 레이트들을 결정하는 것, 예비 펑쳐 패턴들 중의 예비 펑쳐 패턴을 블록 에러 레이트들 중 가장 낮은 블록 에러 레이트와 연관되는 것으로서 식별하는 것, 및 식별된 예비 펑쳐 패턴을 최종 펑쳐 패턴으로 선택하는 것을 포함할 수도 있다.
몇몇 양태들에서, 펑쳐 패턴의 생성은 비트 에러 확률들에 기초하여 복수의 예비 펑쳐 패턴들에 대한 대응하는 블록 에러 레이트들을 결정하는 것, 예비 펑쳐 패턴들 중 하나를 가장 낮은 블록 에러 레이트를 갖는 것으로서 식별하는 것, 및 식별된 예비 펑쳐 패턴을 최종 펑쳐 패턴으로서 선택하는 것을 포함할 수도 있다.
일부 구현 예에서, 도 20 의 생성하는 회로/모듈 (2022) 은 블록 (2104) 의 동작들을 수행한다. 일부 구현 예에서, 도 20 의 생성하기 위한 코드 (2046) 는 블록 (2104) 의 동작들을 수행하기 위해 실행된다.
블록 (2106) 에서, 장치는 블록 (2104) 의 펑쳐 패턴에 따라 복수의 비트의 일부를 펑처링하여 데이터의 제 2 블록을 생성한다.
일부 구현 예에서, 도 20 의 펑처링하기 위한 회로/모듈 (2024) 블록 (2106) 의 동작들을 수행한다. 일부 구현 예에서, 도 20 의 펑처링하기 위한 코드 (2048) 는 블록 (2106) 의 동작들을 수행하기 위해 실행된다.
블록 (2108) 에서, 장치는 데이터의 제 2 블록을 포함하는 제 1 정보를 송신한다.
일부 구현 예에서, 도 20 의 출력하기 위한 회로/모듈 (2026) 은 블록 (2108) 의 동작들을 수행한다. 일부 구현 예에서, 도 20의 출력하기 위한 코드 (2050) 는 블록 (2108) 의 동작들을 수행하기 위해 실행된다.
블록 (2110) 에서, 장치는 다른 송신이 필요하다고 결정한다. 예를 들어, 장치는 제 1 송신을 수신한 다른 장치로부터 NAK 를 수신할 수도 있다.
일부 구현 예에서, 도 20 의 다른 송신이 필요하다고 결정하기 위한 회로/모듈 (2028) 은 블록 (2110) 의 동작들을 수행한다. 일부 구현 예에서, 도 20 의 다른 송신이 필요하다고 결정하기 위한 코드 (2052) 는 블록 (2110) 의 동작들을 수행하기 위해 실행된다.
블록 (2112) 에서, 장치는 블록 (2106) 의 결정의 결과로서 제 2 정보를 송신한다. 몇몇 양태들에서, 제 2 정보는 블록 (2106) 으로부터의 복수의 비트들의 일부를 포함할 수도 있다.
일부 구현 예에서, 도 20 의 출력하기 위한 회로/모듈 (2026) 은 블록 (2112) 의 동작들을 수행한다. 일부 구현 예에서, 도 20 의 출력하기 위한 코드 (2050) 는 블록 (2112) 의 동작들을 수행하기 위해 실행된다.
일부 양태들에서, 프로세스 (2100) 는 제 2 정보의 송신에 대한 목표 에러 레이트를 만족시키는 제 1 코딩 레이트를 선택하는 것을 더 포함할 수도 있다. 이 경우, 제 1 데이터는 제 1 코딩 레이트에 따라 인코딩될 수도 있다. 일부 양태들에서, 프로세스 (2100) 는 시간의 주기에 대한 채널에 대한 신호대 잡음비 (SNR) 를 결정하는 것을 더 포함할 수도 있다. 이 경우, 제 1 코딩 레이트는 SNR 에 기초하여 선택될 수도 있다. 일부 양태들에서, 프로세스 (2100) 는 제 1 정보의 송신에 대한 목표 에러 레이트를 만족시키는 제 2 코딩 레이트를 선택하는 것을 더 포함할 수도 있다. 이 경우, 제 1 정보는 제 2 코딩 레이트에 따라 송신될 수도 있다.
일부 양태들에서, 제 2 정보는 인코딩된 데이터의 일부를 더 포함할 수도 있다. 몇몇 양태들에서, 반복 정보는 인코딩된 패리티 정보의 적어도 일부를 포함할 수도 있다. 일부 양태들에서, 프로세스 (2100) 는 제 1 정보의 송신에 대한 제 1 코딩 레이트를 제 2 정보의 송신에 대한 제 2 코딩 레이트와 비교하는 것, 그 비교에 기초하여, 제 2 정보에서 인코딩된 데이터를 송신할지 여부를 결정하는 것을 더 포함할 수도 있다. 일부 양태들에서, 프로세스 (2100) 는 제 2 정보의 송신에 대한 코딩 레이트에 기초하여 인코딩된 데이터에 대한 비트들의 양을 결정하는 것을 더 포함할 수도 있다.
일부 양태들에서, 프로세스 (2100) 는 상기 특징들의 임의의 조합을 포함할 수도 있다.
제 2 예시의 프로세스
도 22 는 본 개시의 일부 양태들에 따른 통신을 위한 프로세스 (2200) 를 도시한다. 프로세스 (2200) 의 하나 이상의 양태들은 도 21 의 프로세스 (2100) 와 관련하여 (예를 들어, 프로세스 (2100) 에 더하여 또는 그의 일부로서) 사용될 수도 있다. 예를 들어, 프로세스 (2200) 는, 적어도 일부 양태들에서, 도 21 의 블록 (2104) 에 대응할 수도 있다. 프로세스 (2200) 는 프로세싱 회로 (예를 들어, 도 20 의 프로세싱 회로 (2010)) 내에서 발생할 수도 있으며, 그 프로세싱 회로는 UE, TRP, gNB, 액세스 단말기, 기지국, 또는 (예를 들어, 인코딩을 제공하는) 임의의 다른 적절한 장치에 위치될 수도 있다. 물론, 본 개시의 범위 내의 다양한 양태들에 있어서, 프로세스 (2200) 는 통신 관련 동작들을 지원 가능한 임의의 적합한 장치에 의해 구현될 수도 있다.
블록 (2202) 에서, 장치 (예를 들어, 인코더를 포함하는 디바이스) 는 제 1 예비 펑쳐 패턴에 대한 제 1 블록 에러 레이트가 목표 블록 에러 레이트보다 더 작거나 같을 때까지 예비 제 1 신호대 잡음비를 증가시킴으로써 제 1 신호대 잡음비를 결정한다.
일부 구현들에서, 도 20 의 SNR 을 결정하기 위한 회로/모듈 (2030) 은 블록 (2202) 의 동작들을 수행한다. 일부 구현들에서, 도 20 의 SNR (2054) 을 결정하기 위한 코드 (2054) 는 블록 (2202) 의 동작들을 수행하기 위해 실행된다.
블록 (2204) 에서, 장치는 제 1 신호대 잡음비의 제 1 잡음 분산을 결정한다.
일부 구현들에서, 도 20 의 SNR 을 결정하기 위한 회로/모듈 (2030) 은 블록 (2204) 의 동작들을 수행한다. 일부 구현들에서, 도 20 의 SNR (2054) 을 결정하기 위한 코드 (2054) 는 블록 (2204) 의 동작들을 수행하기 위해 실행된다.
블록 (2206) 에서, 장치는 제 1 잡음 분산에 기초하여 비트 에러 확률들의 제 1 서브 세트 (예를 들어, 도 21 의 블록 (2104) 의 비트 에러 확률들의 서브 세트) 를 결정한다.
일부 구현 예에서, 도 20 의 비트 에러 확률들을 결정하는 회로/모듈 (2032) 은 블록 (2206) 의 동작들을 수행한다. 일부 구현 예에서, 도 20 의 비트 에러 확률들을 결정하기 위한 코드 (2056) 는 블록 (2206) 의 동작들을 수행하기 위해 실행된다.
블록 (2208) 에서, 장치는 비트 에러 확률들의 제 1 서브 세트에 기초하여 제 1 예비 펑쳐 패턴을 생성한다.
일부 구현 예에서, 도 20 의 생성하는 회로/모듈 (2022) 은 블록 (2208) 의 동작들을 수행한다. 일부 구현 예에서, 도 20 의 생성하기 위한 코드 (2046) 는 블록 (2208) 의 동작들을 수행하기 위해 실행된다.
블록 (2210) 에서, 장치는 제 2 예비 펑쳐 패턴에 대한 제 2 블록 에러 레이트가 목표 블록 에러 레이트보다 작거나 같을 때까지 예비 제 2 신호대 잡음비를 증가시킴으로써 제 2 신호대 잡음비를 결정한다. 일부 양태들에서, 제 2 신호대 잡음비는 제 1 신호대 잡음비와 다를 수도 있다.
일부 구현들에서, 도 20 의 SNR 을 결정하기 위한 회로/모듈 (2030) 은 블록 (2210) 의 동작들을 수행한다. 일부 구현들에서, 도 20 의 SNR (2054) 을 결정하기 위한 코드 (2054) 는 블록 (2210) 의 동작들을 수행하기 위해 실행된다.
블록 (2212) 에서, 장치는 제 2 신호대 잡음비의 제 2 잡음 분산을 결정한다.
일부 구현들에서, 도 20 의 SNR 을 결정하기 위한 회로/모듈 (2030) 은 블록 (2212) 의 동작들을 수행한다. 일부 구현들에서, 도 20 의 SNR (2054) 을 결정하기 위한 코드 (2054) 는 블록 (2212) 의 동작들을 수행하기 위해 실행된다.
블록 (2214) 에서, 장치는 제 2 잡음 분산에 기초하여 비트 에러 확률들의 제 2 서브 세트 (예를 들어, 도 21 의 블록 (2104) 의 비트 에러 확률들의 서브 세트) 를 결정한다.
일부 구현 예에서, 도 20 의 비트 에러 확률들을 결정하는 회로/모듈 (2032) 은 블록 (2214) 의 동작들을 수행한다. 일부 구현 예에서, 도 20 의 비트 에러 확률들을 결정하기 위한 코드 (2056) 는 블록 (2214) 의 동작들을 수행하기 위해 실행된다.
블록 (2216) 에서, 장치는 제 1 예비 펑쳐 패턴 및 비트 에러 확률들의 제 2 서브 세트에 기초하여 제 2 예비 펑쳐 패턴을 생성한다.
일부 구현 예에서, 도 20 의 생성하는 회로/모듈 (2022) 은 블록 (2216) 의 동작들을 수행한다. 일부 구현 예에서, 도 20 의 생성하기 위한 코드 (2046) 는 블록 (2216) 의 동작들을 수행하기 위해 실행된다.
일부 양태들에서, 프로세스 (2200) 는 상기 특징들의 임의의 조합을 포함할 수도 있다.
제 3 예시의 프로세스
도 23 은 본 개시의 일부 양태들에 따른 통신을 위한 프로세스 (2300) 를 도시한다. 프로세스 (2300) 의 하나 이상의 양태들은 도 21 의 프로세스 (2100) 와 관련하여 (예를 들어, 프로세스 (2100) 에 더하여 또는 그의 일부로서) 사용될 수도 있다. 예를 들어, 프로세스 (2300) 는, 적어도 일부 양태들에서, 도 21 의 블록 (2102) 에 대응할 수도 있다. 프로세스 (2300) 는 프로세싱 회로 (예를 들어, 도 20 의 프로세싱 회로 (2010)) 내에서 발생할 수도 있으며, 그 프로세싱 회로는 UE, TRP, gNB, 액세스 단말기, 기지국, 또는 (예를 들어, 인코딩을 제공하는) 임의의 다른 적절한 장치에 위치될 수도 있다. 물론, 본 개시의 범위 내의 다양한 양태들에 있어서, 프로세스 (2300) 는 통신 관련 동작들을 지원 가능한 임의의 적합한 장치에 의해 구현될 수도 있다.
블록 (2302) 에서, 장치 (예를 들어, 인코더를 포함하는 디바이스) 는 제 2 정보의 송신 (예를 들어, 도 21의 블록 (2112) 의 송신) 에 대한 목표 블록 에러 레이트를 만족시키는 제 1 코딩 레이트를 선택한다.
일부 구현들에서, 도 20 의 코딩 레이트를 선택하기 위한 회로/모듈 (2034) 은 블록 (2302) 의 동작들을 수행한다. 일부 구현들에서, 도 20 의 코딩 레이트를 선택하기 위한 코드 (2058) 는 블록 (2302) 의 동작들을 수행하기 위해 실행된다.
블록 (2304) 에서, 장치는 제 1 코딩 레이트에 따라 데이터의 제 1 블록을 인코딩한다 (예를 들어, 도 21 의 블록 (2102) 의 인코딩).
일부 구현들에서, 도 20 의 인코딩하기 위한 회로/모듈 (2020) 은 블록 (2304) 의 동작들을 수행한다. 일부 구현 예에서, 도 20 의 인코딩하기 위한 코드 (2044) 는 블록 (2304) 의 동작들을 수행하기 위해 실행된다.
일부 양태들에서, 프로세스 (2300) 는 상기 특징들의 임의의 조합을 포함할 수도 있다.
제 4 예시의 프로세스
도 24 는 본 개시의 일부 양태들에 따른 통신을 위한 프로세스 (2400) 를 도시한다. 프로세스 (2400) 의 하나 이상의 양태들은 도 21 의 프로세스 (2100) 와 관련하여 (예를 들어, 프로세스 (2100) 에 더하여 또는 그의 일부로서) 사용될 수도 있다. 예를 들어, 프로세스 (2400) 는, 적어도 일부 양태들에서, 도 21 의 블록 (2102) 에 대응할 수도 있다. 프로세스 (2400) 는 프로세싱 회로 (예를 들어, 도 20 의 프로세싱 회로 (2010)) 내에서 발생할 수도 있으며, 그 프로세싱 회로는 UE, TRP, gNB, 액세스 단말기, 기지국, 또는 (예를 들어, 인코딩을 제공하는) 임의의 다른 적절한 장치에 위치될 수도 있다. 물론, 본 개시의 범위 내의 다양한 양태들에 있어서, 프로세스 (2400) 는 통신 관련 동작들을 지원 가능한 임의의 적합한 장치에 의해 구현될 수도 있다.
블록 (2402) 에서, 장치 (예를 들어, 인코더를 포함하는 디바이스) 는 일정 시간 주기에 대한 채널의 조건을 결정한다.
일부 구현 예에서, 도 20 의 채널의 조건을 결정하기 위한 회로/모듈 (2036) 은 블록 (2402) 의 동작들을 수행한다. 일부 구현들에서, 도 20 의 채널의 조건을 결정하기 위한 코드 (2060) 는 블록 (2402) 의 동작들을 수행하기 위해 실행된다.
블록 (2404) 에서, 장치는 채널의 조건에 기초하여 제 1 코딩 레이트를 선택한다. 예를 들어, 도 23 의 블록 (2302) 의 제 1 코딩 레이트는 블록 (2402) 에서 결정된 채널 조건에 기초하여 계산될 수도 있다. 따라서, 목표 블록 에러 레이트를 만족시키는 제 1 코딩 레이트의 선택은 채널 조건에 기초할 수도 있다.
일부 구현들에서, 도 20 의 코딩 레이트를 선택하기 위한 회로/모듈 (2034) 은 블록 (2404) 의 동작들을 수행한다. 일부 구현들에서, 도 20 의 코딩 레이트를 선택하기 위한 코드 (2058) 는 블록 (2404) 의 동작들을 수행하기 위해 실행된다.
일부 양태들에서, 프로세스 (2400) 는 상기 특징들의 임의의 조합을 포함할 수도 있다.
제 5 예시의 프로세스
도 25 는 본 개시의 일부 양태들에 따른 통신을 위한 프로세스 (2500) 를 도시한다. 프로세스 (2500) 의 하나 이상의 양태들은 도 21 의 프로세스 (2100) 와 관련하여 (예를 들어, 프로세스 (2100) 에 더하여 또는 그의 일부로서) 사용될 수도 있다. 예를 들어, 프로세스 (2500) 는 적어도 일부 양태에서 도 21 의 블록들 (2106 및 2108) 에 대응할 수도 있다. 프로세스 (2500) 는 프로세싱 회로 (예를 들어, 도 20 의 프로세싱 회로 (2010)) 내에서 발생할 수도 있으며, 그 프로세싱 회로는 UE, TRP, gNB, 액세스 단말기, 기지국, 또는 (예를 들어, 인코딩을 제공하는) 임의의 다른 적절한 장치에 위치될 수도 있다. 물론, 본 개시의 범위 내의 다양한 양태들에 있어서, 프로세스 (2500) 는 통신 관련 동작들을 지원 가능한 임의의 적합한 장치에 의해 구현될 수도 있다.
블록 (2502) 에서, 장치 (예를 들어, 인코더를 포함하는 디바이스) 는 제 1 정보의 송신에 대한 목표 에러 레이트를 만족시키기 위해 제 2 코딩 레이트를 선택한다. 예를 들어, 이 코딩 레이트는 마더 코드에 적용될 펑처링 (예를 들어, 도 21 의 블록 (2106) 의 펑처링) 을 결정하는데 사용될 수도 있다. 일부 양태들에서, 제 1 정보의 송신에 대한 목표 블록 에러 레이트는 제 2 정보의 송신에 대한 목표 블록 에러 레이트와 다를 수도 있다.
일부 구현들에서, 도 20 의 코딩 레이트를 선택하기 위한 회로/모듈 (2034) 은 블록 (2502) 의 동작들을 수행한다. 일부 구현들에서, 도 20 의 코딩 레이트를 선택하기 위한 코드 (2058) 는 블록 (2502) 의 동작들을 수행하기 위해 실행된다.
블록 (2504) 에서, 장치는 제 2 코딩 레이트에 따라 제 1 정보를 송신한다. 예를 들어, 이러한 송신은 도 21 의 블록 (2108) 의 송신에 대응할 수도 있다.
일부 구현 예에서, 도 20 의 출력하기 위한 회로/모듈 (2026) 은 블록 (2504) 의 동작들을 수행한다. 일부 구현 예에서, 도 20 의 출력하기 위한 코드 (2050) 는 블록 (2504) 의 동작들을 수행하기 위해 실행된다.
일부 양태들에서, 프로세스 (2500) 는 상기 특징들의 임의의 조합을 포함할 수도 있다.
제 6 예시의 프로세스
도 26 은 본 개시의 일부 양태들에 따른 통신을 위한 프로세스 (2600) 를 도시한다. 프로세스 (2600) 의 하나 이상의 양태들은 도 21 의 프로세스 (2100) 와 관련하여 (예를 들어, 프로세스 (2100) 에 더하여 또는 그의 일부로서) 사용될 수도 있다. 예를 들어, 프로세스 (2600) 는, 적어도 일부 양태들에서, 도 21 의 블록 (2112) 에 대응할 수도 있다. 프로세스 (2600) 는 프로세싱 회로 (예를 들어, 도 20 의 프로세싱 회로 (2010)) 내에서 발생할 수도 있으며, 그 프로세싱 회로는 UE, TRP, gNB, 액세스 단말기, 기지국, 또는 (예를 들어, 인코딩을 제공하는) 임의의 다른 적절한 장치에 위치될 수도 있다. 물론, 본 개시의 범위 내의 다양한 양태들에 있어서, 프로세스 (2600) 는 통신 관련 동작들을 지원 가능한 임의의 적합한 장치에 의해 구현될 수도 있다.
블록 (2602) 에서, 장치 (예를 들어, 인코더를 포함하는 디바이스) 는 제 2 정보 (예를 들어, 도 21 의 블록 (2112) 의 제 2 정보) 의 송신을 위한 코딩 레이트를 선택한다. 몇몇 양태들에서, 이러한 선택은 채널 품질 표시 (CQI) 피드백에 기초할 수도 있다. 일부 양태들에서, 제 2 정보는 인코딩된 데이터의 적어도 일부 (예를 들어, 도 21 의 블록 (2102) 의 인코딩된 데이터의 적어도 일부) 를 포함할 수도 있다.
일부 구현들에서, 도 20 의 코딩 레이트를 선택하기 위한 회로/모듈 (2034) 은 블록 (2602) 의 동작들을 수행한다. 일부 구현들에서, 도 20 의 코딩 레이트를 선택하기 위한 코드 (2058) 는 블록 (2602) 의 동작들을 수행하기 위해 실행된다.
블록 (2604) 에서, 장치는 인코딩된 데이터의 적어도 일부에 대한 비트들의 양을 결정한다. 몇몇 양태들에서, 이러한 결정은 제 2 정보의 송신에 대한 코딩 레이트에 기초할 수도 있다. 예를 들어, 추가적인 인코딩된 데이터 비트들은 코딩 레이트가 부가적인 비트들을 허용한다면 도 21 의 블록 (2212) 에서의 제 2 정보의 송신에 포함될 수도 있다.
일부 구현 예에서, 도 20 의 비트들의 양을 결정하기 위한 회로/모듈 (2038) 은 블록 (2604) 의 동작들을 수행한다. 일부 구현 예에서, 도 20 의 비트들의 양을 결정하기 위한 코드 (2062) 는 블록 (2604) 의 동작들을 수행하기 위해 실행된다.
일부 양태들에서, 프로세스 (2600) 는 상기 특징들의 임의의 조합을 포함할 수도 있다.
제 7 예시의 프로세스
도 27 은 본 개시의 일부 양태들에 따른 통신을 위한 프로세스 (2700) 를 도시한다. 프로세스 (2700) 의 하나 이상의 양태들은 도 21 의 프로세스 (2100) 와 관련하여 (예를 들어, 프로세스 (2100) 에 더하여 또는 그의 일부로서) 사용될 수도 있다. 예를 들어, 프로세스 (2700) 는, 적어도 일부 양태들에서, 도 21 의 블록 (2112) 에 대응할 수도 있다. 프로세스 (2700) 는 프로세싱 회로 (예를 들어, 도 20 의 프로세싱 회로 (2010)) 내에서 발생할 수도 있으며, 그 프로세싱 회로는 UE, TRP, gNB, 액세스 단말기, 기지국, 또는 (예를 들어, 인코딩을 제공하는) 임의의 다른 적절한 장치에 위치될 수도 있다. 물론, 본 개시의 범위 내의 다양한 양태들에 있어서, 프로세스 (2700) 는 통신 관련 동작들을 지원 가능한 임의의 적합한 장치에 의해 구현될 수도 있다.
블록 (2702) 에서, 장치 (예를 들어, 인코더를 포함하는 디바이스) 는 제 1 정보의 송신에 대한 제 1 코딩 레이트를 제 2 정보의 송신에 대한 제 2 코딩 레이트와 비교한다. 예를 들어, 도 23 의 블록 (2302) 의 코딩 레이트는 도 25 의 블록 (2502) 의 제 2 코딩 레이트와 비교될 수도 있다.
일부 구현 예에서, 도 20 의 비교하기 위한 회로/모듈 (2040) 은 블록 (2702) 의 동작들을 수행한다. 일부 구현 예에서, 도 20 의 비교하기 위한 코드 (2064) 는 블록 (2702) 의 동작들을 수행하기 위해 실행된다.
블록 (2704) 에서, 장치는 블록 (2702) 의 비교에 기초하여, 제 2 정보에 인코딩된 데이터의 적어도 일부를 포함할지 여부를 결정한다. 예를 들어, 장치는 제 2 코딩 레이트가 제 1 코딩 레이트보다 작은 경우 인코딩된 데이터의 적어도 일부 (예를 들어, 도 26 의 블록 (2604) 으로부터의 적어도 일부) 를 송신할 수도 있다.
일부 구현 예에서, 도 20 의 인코딩된 데이터를 포함할지 여부를 결정하기 위한 회로/모듈 (2042) 은 블록 (2704) 의 동작들을 수행한다. 일부 구현 예에서, 도 20 의 인코딩된 데이터를 포함할지 여부를 결정하기 위한 코드 (2066) 는 블록 (2704) 의 동작들을 수행하기 위해 실행된다.
일부 양태들에서, 프로세스 (2700) 는 상기 특징들의 임의의 조합을 포함할 수도 있다.
추가적인 양태들
본원에 기재된 실시예는 본 개시의 특정 개념을 설명하기 위해 제공된다. 당업자는 이들이 본질적으로 단지 예시적인 것이며, 다른 예는 본 개시 및 첨부된 청구범위의 범위 내에 있을 수 있다는 것을 이해할 것이다. 본 명세서에서의 교시들에 기초하여, 당업자는, 본 명세서에 개시된 양태가 임의의 다른 양태들에 독립적으로 구현될 수도 있음 및 이들 양태들 중 2 이상의 양태가 다양한 방식들로 결합될 수도 있음을 인식할 것이다. 예를 들어, 본 명세서에 기재된 임의의 수의 양태들을 이용하여 장치가 구현될 수도 있거나 방법이 실시될 수도 있다. 부가적으로, 본 명세서에 기재된 양태들 중 하나 이상에 부가한 또는 그 이외의 구조 및 기능, 또는 다른 구조, 기능을 이용하여, 그러한 장치가 구현될 수도 있거나 그러한 방법이 실시될 수도 있다.
당업자가 용이하게 인식할 바와 같이, 본 개시 전반에 걸쳐 설명된 다양한 양태들은 임의의 적합한 원격통신 시스템들, 네트워크 아키텍처들, 및 통신 표준들로 확장될 수도 있다. 예로서, 광역 네트워크, 피어-투-피어 네트워크, 근거리 통신망, 다른 적합한 시스템, 또는 아직 정의되지 않은 표준에 의해 기술된 것을 포함하는 이들의 임의의 조합에 다양한 양태들이 적용될 수도 있다.
다수의 양태들은, 예를 들어, 컴퓨팅 디바이스의 엘리먼트들에 의해 수행될 액션들의 시퀀스들의 관점에서 설명된다. 여기에 설명된 다양한 액션들은 특정 회로, 예를 들어 중앙 처리 장치 (CPU), 그래픽 처리 장치 (GPU), 디지털 신호 프로세서 (DSP), 주문형 집적 회로 (ASIC), 필드 프로그래머블 게이트 어레이 (FPGA), 또는 다양한 다른 유형의 범용 또는 특수 목적 프로세서들 또는 회로들에 의해, 하나 이상의 프로세서들에 의해 실행되는 프로그램 명령들에 의해, 또는 양자 모두의 조합에 의해 수행될 수 있다. 부가적으로, 본 명세서에서 설명된 액션들의 이들 시퀀스는, 실행시 관련 프로세서로 하여금 본 명세서에서 설명된 기능을 수행하게 하는 컴퓨터 명령들의 대응하는 세트가 저장된 임의의 형태의 컴퓨터 판독가능 저장 매체 내에서 완전히 구현되는 것으로 고려될 수 있다. 따라서, 본 개시의 다양한 양태들은 다수의 상이한 형태들로 구현될 수도 있으며, 이들 형태들 모두는 청구된 청구물의 범위 내에 있는 것으로 고려되었다. 부가적으로, 본 명세서에서 설명된 양태들 각각에 대해, 임의의 그러한 양태들의 대응하는 형태는, 예를 들어, 설명된 액션을 수행 "하도록 구성된 로직" 으로서 본 명세서에 설명될 수도 있다.
당업자는 임의의 다양한 서로 다른 기술들 및 기법들을 이용하여 정보 및 신호들이 표현될 수도 있음을 인식할 것이다. 예를 들어, 위의 설명 전체에 걸쳐 언급될 수도 있는 데이터, 명령, 커맨드, 정보, 신호, 비트, 심볼, 및 칩은 전압, 전류, 전자기파, 자기장 또는 자기입자, 광학장 (optical field) 또는 광학 입자, 또는 이들의 임의의 조합에 의해 표현될 수도 있다.
추가로, 당업자는 본 명세서에 개시된 양태들과 관련하여 설명된 다양한 예시적인 논리 블록들, 모듈들, 회로들, 및 알고리즘 단계들이 전자 하드웨어, 컴퓨터 소프트웨어, 또는 이들 양자의 조합으로서 구현될 수도 있음을 인식할 것이다. 하드웨어와 소프트웨어의 이러한 상호대체 가능성을 분명히 예시하기 위해, 다양한 예시적인 컴포넌트들, 블록들, 모듈들, 회로들 및 단계들이 일반적으로 그들의 기능의 관점에서 상기 설명되었다. 그러한 기능이 하드웨어 또는 소프트웨어로 구현될지 여부는, 특정의 애플리케이션 및 전체 시스템에 부과된 설계 제약에 달려 있다. 당업자는 설명된 기능을 각각의 특정 어플리케이션에 대하여 다양한 방식으로 구현할 수도 있지만, 그러한 구현의 결정들이 본 개시의 범위로부터의 일탈을 야기하는 것으로서 해석되지는 않아야 한다.
위에서 도시된 컴포넌트들, 단계들, 특징들 및/또는 기능들 중 하나 이상은 단일 컴포넌트, 단계, 특징 또는 기능으로 재배열 및/또는 결합되거나, 또는 수개의 컴포넌트들, 단계들, 또는 기능들로 구현될 수도 있다. 부가적인 엘리먼트들, 컴포넌트들, 단계들, 및/또는 기능들이 또한, 본 명세서에 개시된 신규한 특징들로부터 일탈함없이 부가될 수도 있다. 위에서 도시된 장치들, 디바이스들, 및/또는 컴포넌트들은 여기서 설명된 방법들, 특징들, 또는 단계들 중 하나 이상을 수행하도록 구성될 수도 있다. 본 명세서에서 설명된 신규한 알고리즘들은 또한 소프트웨어에서 효율적으로 구현되고/되거나 하드웨어에 임베딩될 수도 있다.
개시된 방법들에 있어서의 단계들의 특정 순서 또는 계층은 예시적인 프로세스들의 예시임이 이해되어야 한다. 설계 선호도들에 기초하여, 방법들에 있어서의 단계들의 특정 순서 또는 계층이 재배열될 수도 있음이 이해된다. 첨부한 방법 청구항들은 다양한 단계들의 엘리먼트들을 샘플 순서로 제시하며, 그 안에 명확하게 기재되지 않으면, 제시된 특정 순서 또는 계층으로 한정되도록 의도되지 않는다.
여기에 개시된 양태들과 관련하여 설명된 방법들, 시퀀스들 및/또는 알고리즘들은 직접 하드웨어에서, 프로세서에 의해 실행되는 소프트웨어 모듈에서, 또는 이들 양자의 조합에서 구현될 수도 있다. 소프트웨어 모듈은 RAM 메모리, 플래시 메모리, ROM 메모리, EPROM 메모리, EEPROM 메모리, 레지스터들, 하드 디스크, 착탈가능 디스크, CD-ROM, 또는 당업계에 공지된 임의의 다른 형태의 저장 매체에 상주할 수도 있다. 저장 매체의 예는 프로세서가 저장 매체로부터 정보를 판독할 수 있고 저장 매체에 정보를 기입할 수 있도록 프로세서에 커플링된다. 대안적으로, 저장 매체는 프로세서에 통합될 수도 있다.
단어 "예시적인" 은 예, 예증, 또는 예시로서 기능함을 의미하도록 본 명세서에서 사용된다. "예시적인" 것으로서 본 명세서에서 설명된 임의의 양태는 다른 양태들에 비해 반드시 바람직하다거나 이로운 것으로서 해석되지는 않아야 한다. 유사하게, 용어 "양태들" 은 모든 양태들이 논의된 특징, 이점 또는 동작 모드를 포함하는 것을 요구하지는 않는다.
본 명세서에서 사용되는 용어는 특정 양태들을 설명할 목적일 뿐 그 양태들을 한정하는 것으로 의도되지 않는다. 본 명세서에서 사용되는 바와 같이, 단수 형태들 ("a”, "an" 및 "the" ) 은, 문맥에서 분명하게 달리 표시되지 않는다면 복수의 형태들을 물론 포함하도록 의도된다. 용어들 "구비한다", "구비하는", "포함한다", 및/또는 "포함하는" 은, 본 명세서에서 사용될 경우, 서술된 특징들, 정수들, 단계들, 동작들, 엘리먼트들, 및/또는 컴포넌트들의 존재를 명시하지만, 하나 이상의 다른 특징들, 정수들, 단계들, 동작들, 엘리먼트들, 컴포넌트들, 및/또는 이들의 그룹들의 존재 또는 부가를 배제하지 않음이 추가로 이해될 것이다. 또한, "또는"이라는 단어는 부울 연산자 "OR"와 동일한 의미를 가지며, 즉 "어느 하나"및 "둘 다"의 가능성을 포함하며 달리 명시하지 않는 한 "배타적 또는” ("XOR") 에 한정되지 않는다 . 또한, 두 인접 단어 사이의 "/” 기호는 달리 명시하지 않는 한 "또는"과 동일한 의미를 갖는다는 것을 이해할 수있다. 더욱이, "~에 연결된", "~ 에 커플링된” 또는 "~ 과 통신하고 있는” 과 같은 문구는 다르게 명시되지 않는 한 직접 연결로 제한되지 않는다.
"제 1", "제 2" 등과 같은 지정을 사용한 본 명세서에서의 엘리먼트에 대한 임의의 참조는 일반적으로 그 엘리먼트들의 양 또는 순서를 한정하지 않음이 이해되어야 한다. 대신, 이들 지정들은 2 이상의 엘리먼트들 또는 엘리먼트의 인스턴스들 간을 구별하는 편리한 방법으로서 본 명세서에서 사용될 수도 있다. 따라서, 제 1 및 제 2 엘리먼트들에 대한 참조는 오직 2개의 엘리먼트들만이 거기에서 채용될 수도 있거나 또는 제 1 엘리먼트가 어떤 방식으로든 제 2 엘리먼트에 선행해야 함을 의미하지 않는다. 또한, 달리 서술되지 않으면, 엘리먼트들의 세트는 하나 이상의 엘리먼트들을 포함할 수도 있다. 또한, 명세서 또는 청구항에 사용된 "a, b 또는 c 중 적어도 하나” 또는 "a, b 또는 c 중 하나 이상” 의 용어는 "a 또는 b 또는 c 또는 이 요소들의 임의의 조합” 을 의미한다. 예를 들어, 이 용어는 a, 또는 b, 또는 c, 또는 a 및 b, 또는 a 및 c, 또는 a 및 b 및 c, 또는 2a, 또는 2b, 또는 2c, 또는 2a 및 b 등을 포함할 수도 있다.
본원에서 사용된 바와 같이, 용어 "결정하는 것" 은 매우 다양한 액션들을 포괄한다. 예를 들어, "결정하는 것" 은 계산하는 것, 연산하는 것, 프로세싱하는 것, 도출하는 것, 조사하는 것, 검색하는 것 (예를 들어, 표, 데이터베이스, 또는 다른 데이터 구조에서 검색하는 것), 확인하는 것 등을 포함할 수도 있다. 또한, "결정하는 것" 은 수신하는 것 (예를 들어, 정보를 수신하는 것), 액세스하는 것 (예를 들어, 메모리 내 데이터에 액세스하는 것) 등을 포함할 수도 있다. 또한, "결정하는 것" 은 해결하는 것, 선택하는 것, 선출하는 것, 확립하는 것 등을 포함할 수도 있다.
전술한 개시는 예시적인 양태들을 나타내지만, 첨부된 청구항들의 범위로부터 일탈함없이 다양한 변경들 및 수정들이 본 명세서에서 행해질 수 있음이 주목되어야 한다. 여기에 기술된 양태들에 따른 방법 청구항들의 단계들 또는 동작들은 달리 명시적으로 언급되지 않는 한 임의의 특정 순서로 수행될 필요는 없다. 더욱이, 비록 엘리먼트들이 단수로 설명되거나 또는 청구될 수도 있지만, 단수로의 제한이 명시적으로 언급되지 않는다면, 복수가 고려된다.

Claims (30)

  1. 통신의 방법으로서,
    복수의 비트들을 포함하는 인코딩된 데이터를 생성하기 위해 데이터의 제 1 블록을 인코딩하는 단계;
    상기 복수의 비트들과 연관된 비트 위치들에 대한 비트 에러 확률들에 기초하여 펑쳐 패턴을 생성하는 단계;
    데이터의 제 2 블록을 생성하기 위해 상기 펑쳐 패턴에 따라 상기 복수의 비트들의 부분을 펑처링하는 단계;
    데이터의 상기 제 2 블록을 포함하는 제 1 정보를 송신하는 단계;
    다른 송신이 필요하다고 결정하는 단계; 및
    상기 복수의 비트들의 상기 부분을 포함하는 제 2 정보를 송신하는 단계로서, 상기 제 2 정보는 상기 결정의 결과로서 송신되는, 상기 제 2 정보를 송신하는 단계를 포함하는, 통신의 방법.
  2. 제 1 항에 있어서,
    상기 펑쳐 패턴의 상기 생성은,
    제 1 예비 펑쳐 패턴으로부터 마지막 예비 펑쳐 패턴까지 연속하여 복수의 예비 펑쳐 패턴들을 생성하는 단계로서, 상기 예비 펑쳐 패턴들 중 임의의 하나의 펑쳐 비트들의 양은 상기 예비 펑쳐 패턴들 중 임의의 다른 펑쳐 패턴의 펑쳐 비트들의 양과 상이한, 상기 복수의 예비 펑쳐 패턴들을 생성하는 단계; 및
    최종 펑쳐 패턴으로서 상기 마지막 예비 펑쳐 패턴을 선택하는 단계를 포함하는, 통신의 방법.
  3. 제 2 항에 있어서,
    상기 마지막 예비 펑쳐 패턴의 펑쳐 비트들의 양은 상기 예비 펑쳐 패턴들 중 임의의 다른 펑쳐 패턴의 펑쳐 비트들의 양보다 큰, 통신의 방법.
  4. 제 2 항에 있어서,
    상기 제 1 예비 펑쳐 패턴의 상기 생성은,
    펑쳐 비트에 대한 복수의 위치들에 기초하여 복수의 블록 에러 레이트들을 계산하는 단계;
    상기 블록 에러 레이트들 중 최저 블록 에러 레이트를 식별하는 단계; 및
    상기 최저 블록 에러 레이트에 기초하여 상기 제 1 예비 펑쳐 패턴을 식별하는 단계를 포함하는, 통신의 방법.
  5. 제 1 항에 있어서,
    상기 펑쳐 패턴의 상기 생성은,
    제 1 예비 펑쳐 패턴을 생성하는 단계; 및
    상기 제 1 예비 펑쳐 패턴의 상기 생성 후에 제 2 예비 펑쳐 패턴을 생성하는 단계를 포함하는, 통신의 방법.
  6. 제 5 항에 있어서,
    상기 제 1 예비 펑쳐 패턴의 상기 생성은,
    제 1 잡음 분산을 결정하는 단계; 및
    제 1 펑쳐 비트에 대한 복수의 위치들에 기초하여 복수의 제 1 블록 에러 레이트들을 계산하는 단계로서, 각각의 제 1 블록 에러 레이트는 상기 제 1 잡음 분산에 기초하는, 상기 복수의 제 1 블록 에러 레이트들을 계산하는 단계를 포함하는, 통신의 방법.
  7. 제 6 항에 있어서,
    상기 제 2 예비 펑쳐 패턴의 상기 생성은,
    상기 제 1 잡음 분산과 상이한 제 2 잡음 분산을 결정하는 단계; 및
    제 2 펑쳐 비트에 대한 복수의 위치들에 기초하여 복수의 제 2 블록 에러 레이트들을 계산하는 단계로서, 각각의 제 2 블록 에러 레이트는 상기 제 2 잡음 분산에 기초하는, 상기 복수의 제 2 블록 에러 레이트들을 계산하는 단계를 포함하는, 통신의 방법.
  8. 제 1 항에 있어서,
    상기 펑쳐 패턴의 상기 생성은,
    제 1 신호대 잡음비의 제 1 잡음 분산을 결정하는 단계;
    상기 제 1 잡음 분산에 기초하여 상기 비트 에러 확률들의 제 1 서브 세트를 결정하는 단계;
    상기 비트 에러 확률들의 상기 제 1 서브 세트에 기초하여 제 1 예비 펑쳐 패턴을 생성하는 단계;
    상기 제 1 신호대 잡음비와 상이한 제 2 신호대 잡음비의 제 2 잡음 분산을 결정하는 단계;
    상기 제 2 잡음 분산에 기초하여 상기 비트 에러 확률들의 제 2 서브 세트를 결정하는 단계; 및
    상기 제 1 예비 펑쳐 패턴 및 상기 비트 에러 확률들의 상기 제 2 서브 세트에 기초하여 제 2 예비 펑쳐 패턴을 생성하는 단계를 포함하는, 통신의 방법.
  9. 제 8 항에 있어서,
    상기 제 1 예비 펑쳐 패턴에 대한 제 1 블록 에러 레이트가 목표 블록 에러 레이트보다 작거나 같을 때까지 예비 제 1 신호대 잡음비를 증가시킴으로써 상기 제 1 신호대 잡음비를 결정하는 단계; 및
    상기 제 2 예비 펑쳐 패턴에 대한 제 2 블록 에러 레이트가 상기 목표 블록 에러 레이트보다 작거나 같을 때까지 예비 제 2 신호대 잡음비를 증가시킴으로써 상기 제 2 신호 대 잡음비를 결정하는 단계를 더 포함하는, 통신의 방법.
  10. 제 8 항에있어서,
    각각의 비트 에러 확률의 상기 결정은 가우시안 근사화 알고리즘에 기초하는, 통신의 방법.
  11. 제 8 항에있어서,
    각각의 비트 에러 확률의 상기 결정은 밀도 진화 알고리즘에 기초하는, 통신의 방법.
  12. 제 1 항에 있어서,
    상기 펑쳐 패턴의 상기 생성은,
    복수의 예비 펑쳐 패턴들을 생성하는 단계;
    상기 예비 펑쳐 패턴들에 기초하여 복수의 블록 에러 레이트들을 결정하는 단계;
    상기 블록 에러 레이트들 중의 최저 블록 에러 레이트와 연관되는 것으로서 상기 예비 펑쳐 패턴들 중의 예비 펑쳐 패턴을 식별하는 단계; 및
    식별된 상기 예비 펑쳐 패턴을 최종 펑쳐 패턴으로서 선택하는 단계를 포함하는, 통신의 방법.
  13. 제 1 항에 있어서,
    상기 인코딩하는 단계는 폴라 코딩하는 단계를 포함하는, 통신의 방법.
  14. 제 1 항에 있어서,
    상기 제 2 정보의 송신에 대한 목표 블록 에러 레이트를 만족시키는 제 1 코딩 레이트를 선택하는 단계를 더 포함하고,
    데이터 상기 제 1 블록의 상기 인코딩은 상기 제 1 코딩 레이트에 기초하는, 통신의 방법.
  15. 제 14 항에 있어서,
    시간 주기에 대한 채널의 조건을 결정하는 단계를 더 포함하고,
    상기 제 1 코딩 레이트는 상기 채널의 상기 조건에 기초하여 선택되는, 통신의 방법.
  16. 제 14 항에 있어서,
    상기 제 1 정보의 송신에 대한 목표 블록 에러 레이트를 만족시키는 제 2 코딩 레이트를 선택하는 단계를 더 포함하고,
    상기 제 1 정보는 상기 제 2 코딩 레이트에 따라 송신되는, 통신의 방법.
  17. 제 16 항에있어서,
    상기 제 1 정보의 송신에 대한 상기 목표 블록 에러 레이트는 상기 제 2 정보의 송신에 대한 상기 목표 블록 에러 레이트와 상이한, 통신의 방법.
  18. 제 1 항에 있어서,
    상기 제 2 정보는 상기 인코딩된 데이터의 적어도 일부를 더 포함하는, 통신의 방법.
  19. 제 18 항에 있어서,
    상기 제 2 정보의 송신을 위한 코딩 레이트에 기초하여 상기 인코딩된 데이터의 상기 적어도 일부에 대한 비트들의 양을 결정하는 단계를 더 포함하는, 통신의 방법.
  20. 제 1 항에 있어서,
    상기 제 1 정보의 송신에 대한 제 1 코딩 레이트를 상기 제 2 정보의 송신에 대한 제 2 코딩 레이트와 비교하는 단계; 및
    상기 비교에 기초하여, 상기 인코딩된 데이터의 적어도 일부를 상기 제 2 정보에 포함할지 여부를 결정하는 단계를 더 포함하는, 통신의 방법.
  21. 통신을 위한 장치로서,
    메모리; 및
    상기 메모리에 커플링된 프로세서를 포함하고,
    상기 프로세서 및 상기 메모리는,
    복수의 비트들을 포함하는 인코딩된 데이터를 생성하기 위해 데이터의 제 1 블록을 인코딩하고;
    상기 복수의 비트들과 연관된 비트 위치들에 대한 비트 에러 확률들에 기초하여 펑쳐 패턴을 생성하며;
    데이터 제 2 블록을 생성하기 위해 상기 펑쳐 패턴에 따라 상기 복수의 비트들의 부분을 펑처링하고;
    데이터의 상기 제 2 블록을 포함하는 제 1 정보를 송신하며;
    다른 송신이 필요하다고 결정하고; 및
    상기 복수의 비트들의 상기 부분을 포함하는 제 2 정보를 송신하는 것으로서, 상기 제 2 정보는 상기 결정의 결과로서 송신되는, 상기 제 2 정보를 송신하도록 구성된, 통신을 위한 장치.
  22. 제 21 항에 있어서,
    상기 펑쳐 패턴의 상기 생성은,
    제 1 예비 펑쳐 패턴으로부터 마지막 예비 펑쳐 패턴까지 연속하여 복수의 예비 펑쳐 패턴들의 생성으로서, 상기 예비 펑쳐 패턴들 중 임의의 하나의 펑쳐 비트들의 양은 상기 예비 펑쳐 패턴들 중 임의의 다른 펑쳐 패턴의 펑쳐 비트들의 양과 상이한, 상기 복수의 예비 펑쳐 패턴들의 생성; 및
    최종 펑쳐 패턴으로서 상기 마지막 예비 펑쳐 패턴의 선택을 포함하는, 통신을 위한 장치.
  23. 제 22 항에 있어서,
    상기 제 1 예비 펑쳐 패턴의 상기 생성은,
    펑쳐 비트에 대한 복수의 위치들에 기초하여 복수의 블록 에러 레이트들의 계산;
    상기 블록 에러 레이트들 중 최저 블록 에러 레이트의 식별; 및
    상기 최저 블록 에러 레이트에 기초하여 상기 제 1 예비 펑쳐 패턴의 식별을 포함하는, 통신을 위한 장치.
  24. 제 1 항에 있어서,
    상기 펑쳐 패턴의 상기 생성은,
    제 1 예비 펑쳐 패턴의 생성; 및
    상기 제 1 예비 펑쳐 패턴의 상기 생성 후에 제 2 예비 펑쳐 패턴의 생성을 포함하는, 통신을 위한 장치.
  25. 제 24 항에 있어서,
    상기 제 1 예비 펑쳐 패턴의 상기 생성은, 제 1 잡음 분산을 결정하는 것; 및 제 1 펑쳐 비트에 대한 복수의 위치들에 기초하여 복수의 제 1 블록 에러 레이트들을 계산하는 것으로서, 각각의 제 1 블록 에러 레이트는 상기 제 1 잡음 분산에 기초하는, 상기 복수의 제 1 블록 에러 레이트들을 계산하는 것을 포함하고; 및
    상기 제 2 예비 펑쳐 패턴의 상기 생성은, 상기 제 1 잡음 분산과 상이한 제 2 잡음 분산을 결정하는 것; 및 제 2 펑쳐 비트에 대한 복수의 위치들에 기초하여 복수의 제 2 블록 에러 레이트들을 계산하는 것으로서, 각각의 제 2 블록 에러 레이트는 상기 제 2 잡음 분산에 기초하는, 상기 복수의 제 2 블록 에러 레이트들을 계산하는 것을 포함하는, 통신을 위한 장치.
  26. 통신을 위한 장치로서,
    복수의 비트들을 포함하는 인코딩된 데이터를 생성하기 위해 데이터의 제 1 블록을 인코딩하는 수단;
    상기 복수의 비트들과 연관된 비트 위치들에 대한 비트 에러 확률들에 기초하여 펑쳐 패턴을 생성하는 수단;
    데이터 제 2 블록을 생성하기 위해 상기 펑쳐 패턴에 따라 상기 복수의 비트들의 부분을 펑처링하는 수단;
    데이터의 상기 제 2 블록을 포함하는 제 1 정보를 송신하는 수단; 및
    다른 송신이 필요하다고 결정하는 수단을 포함하고,
    상기 송신하는 수단은 상기 복수의 비트들의 상기 부분을 포함하는 제 2 정보를 송신하도록 구성되고, 상기 제 2 정보는 상기 결정의 결과로서 송신되는, 통신을 위한 장치.
  27. 제 26 항에 있어서,
    상기 제 2 정보의 송신에 대한 목표 블록 에러 레이트를 만족시키는 제 1 코딩 레이트를 선택하는 수단으로서, 데이터 상기 제 1 블록의 상기 인코딩은 상기 제 1 코딩 레이트에 기초하는, 상기 제 1 코딩 레이트를 선택하는 수단; 및
    상기 제 1 정보의 송신에 대한 목표 블록 에러 레이트를 만족시키는 제 2 코딩 레이트를 선택하는 수단으로서, 상기 제 1 정보는 상기 제 2 코딩 레이트에 따라 송신되는, 상기 제 2 코딩 레이트를 선택하는 수단을 더 포함하는, 통신을 위한 장치.
  28. 제 26 항에 있어서,
    상기 제 2 정보는 상기 인코딩된 데이터의 적어도 일부를 더 포함하고;
    상기 장치는 상기 제 2 정보의 송신에 대한 코딩 레이트에 기초하여 상기 인코딩된 데이터의 상기 적어도 일부에 대한 비트들의 양을 결정하는 수단을 더 포함하는, 통신을 위한 장치.
  29. 제 26 항에 있어서,
    상기 제 1 정보의 송신에 대한 제 1 코딩 레이트를 상기 제 2 정보의 송신에 대한 제 2 코딩 레이트와 비교하는 수단; 및
    상기 비교에 기초하여, 상기 인코딩된 데이터의 적어도 일부를 상기 제 2 정보에 포함할지 여부를 결정하는 수단을 더 포함하는, 통신을 위한 장치.
  30. 컴퓨터 실행가능 코드를 저장하는 비일시적 컴퓨터 판독가능 저장 매체로서,
    상기 컴퓨터 실행가능 코드는,
    복수의 비트들을 포함하는 인코딩된 데이터를 생성하기 위해 데이터의 제 1 블록을 인코딩하는 코드;
    상기 복수의 비트들과 연관된 비트 위치들에 대한 비트 에러 확률들에 기초하여 펑쳐 패턴을 생성하는 코드;
    데이터 제 2 블록을 생성하기 위해 상기 펑쳐 패턴에 따라 상기 복수의 비트들의 부분을 펑처링하는 코드;
    데이터의 상기 제 2 블록을 포함하는 제 1 정보를 송신하는 코드;
    다른 송신이 필요하다고 결정하는 코드; 및
    상기 복수의 비트들의 상기 부분을 포함하는 제 2 정보를 송신하는 코드로서, 상기 제 2 정보는 상기 결정의 결과로서 송신되는, 상기 제 2 정보를 송신하는 코드를 포함하는, 비일시적 컴퓨터 판독가능 저장 매체.
KR1020197011742A 2016-10-26 2017-06-22 인코딩된 송신들을 위한 펑쳐링 및 재송신 기법들 KR20190073386A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
PCT/CN2016/103351 WO2018076194A1 (en) 2016-10-26 2016-10-26 Hybrid automatic repeat request for encoded data
CNPCT/CN2016/103351 2016-10-26
PCT/CN2017/089590 WO2018076733A1 (en) 2016-10-26 2017-06-22 Puncturing and retransmission techniques for encoded transmissions

Publications (1)

Publication Number Publication Date
KR20190073386A true KR20190073386A (ko) 2019-06-26

Family

ID=62022985

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020197011742A KR20190073386A (ko) 2016-10-26 2017-06-22 인코딩된 송신들을 위한 펑쳐링 및 재송신 기법들

Country Status (7)

Country Link
US (1) US11616598B2 (ko)
EP (1) EP3533163A4 (ko)
JP (1) JP2019537880A (ko)
KR (1) KR20190073386A (ko)
CN (1) CN109891786B (ko)
BR (1) BR112019007820A2 (ko)
WO (2) WO2018076194A1 (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018124779A1 (ko) * 2017-01-02 2018-07-05 엘지전자 주식회사 폴라 코드에 기반한 harq를 수행하는 방법 및 장치
WO2018129254A1 (en) * 2017-01-06 2018-07-12 Idac Holdings, Inc. Advanced coding on retranmission of data and control
WO2020069635A1 (en) * 2018-10-03 2020-04-09 Qualcomm Incorporated Equivalent puncture sets for polar coded re-transmissions
WO2020198976A1 (en) * 2019-03-29 2020-10-08 Zte Corporation Methods, apparatus and systems for transmitting data based on polar code
US11949436B2 (en) * 2022-08-12 2024-04-02 Qualcomm Incorporated Low-density parity-check coding scheme with varying puncturing pattern

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2805418B1 (fr) * 2000-02-23 2003-05-30 Mitsubishi Electric Inf Tech Procede de transmission numerique de type a codage correcteur d'erreurs
JP2005223620A (ja) 2004-02-05 2005-08-18 Matsushita Electric Ind Co Ltd 無線通信装置及び無線通信システム
JP2007134888A (ja) * 2005-11-09 2007-05-31 Kddi Corp 誤り訂正符号を用いた再送方法、通信装置及びプログラム
WO2008075627A1 (ja) * 2006-12-18 2008-06-26 Mitsubishi Electric Corporation 符号化装置、符号化方法、符号化復号装置及び通信装置
CN101237310B (zh) * 2007-11-19 2010-10-20 北京邮电大学 一种增强型自适应数据重传的方法
SG10201606444UA (en) * 2008-02-04 2016-09-29 Samsung Electronics Co Ltd Control and data multiplexing in communication systems
US8271861B2 (en) * 2008-05-09 2012-09-18 Marvell International Ltd. Symbol vector-level combining receiver for incremental redundancy HARQ with MIMO
CN101729224A (zh) * 2008-10-20 2010-06-09 富士通株式会社 传输数据生成装置和接收机
JP5437279B2 (ja) * 2009-02-05 2014-03-12 パナソニック株式会社 無線通信装置
JP2011193434A (ja) * 2009-10-28 2011-09-29 Panasonic Corp パリティパケットを用いた通信方法、通信装置及び中継器
US9130748B2 (en) * 2012-02-25 2015-09-08 Telefonaktiebolaget L M Ericsson (Publ) Hybrid automatic repeat request with feedback dependent BIT selection
CN105164956B (zh) * 2013-11-04 2019-05-24 华为技术有限公司 Polar码的速率匹配方法和设备、无线通信装置
RU2688751C2 (ru) * 2013-12-30 2019-05-22 Хуавей Текнолоджиз Ко., Лтд. Способ и устройство согласования кодовой скорости полярного кода
US9742440B2 (en) * 2015-03-25 2017-08-22 Samsung Electronics Co., Ltd HARQ rate-compatible polar codes for wireless channels
US10461779B2 (en) * 2015-08-12 2019-10-29 Telefonaktiebolaget Lm Ericsson (Publ) Rate-compatible polar codes
CN105743621B (zh) * 2016-02-02 2019-03-26 北京邮电大学 基于极化码的harq信号发送、接收方法及装置
US10700816B2 (en) * 2016-08-09 2020-06-30 Lg Electronics Inc. Method for performing HARQ using polar code
WO2018058295A1 (en) 2016-09-27 2018-04-05 Qualcomm Incorporated Hybrid automatic repeat request for block codes

Also Published As

Publication number Publication date
BR112019007820A2 (pt) 2019-07-16
US20200052819A1 (en) 2020-02-13
CN109891786A (zh) 2019-06-14
JP2019537880A (ja) 2019-12-26
EP3533163A4 (en) 2020-07-01
WO2018076733A1 (en) 2018-05-03
WO2018076194A1 (en) 2018-05-03
EP3533163A1 (en) 2019-09-04
CN109891786B (zh) 2022-03-29
US11616598B2 (en) 2023-03-28

Similar Documents

Publication Publication Date Title
CN108781122B (zh) 一种使用具有经过极化编码的传输的harq的方法和装置
CN108604903B (zh) 使用删余来生成具有可变块长度的极性码
CN109891786B (zh) 用于经编码传输的穿孔和重传技术
CN109792314B (zh) 用于编码传输的重传方法和装置
US20210266100A1 (en) Puncturing and repetition for information encoding
US20220069841A1 (en) Encoding and decoding techniques
KR20170074684A (ko) 무선 통신 시스템에서 부호화를 위한 장치 및 방법
CN109565288B (zh) 用于块编码的速率匹配
CN109792298B (zh) 子信道映射
US11057055B2 (en) Encoding and decoding using Golay-based block codes
CN117675093A (zh) 速率匹配的方法和通信装置

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E601 Decision to refuse application