KR20210102116A - 로그-가능 비율(llr) 최적화를 이용한 수신된 업링크 전송의 디코딩을 위한 방법 및 장치 - Google Patents

로그-가능 비율(llr) 최적화를 이용한 수신된 업링크 전송의 디코딩을 위한 방법 및 장치 Download PDF

Info

Publication number
KR20210102116A
KR20210102116A KR1020210019988A KR20210019988A KR20210102116A KR 20210102116 A KR20210102116 A KR 20210102116A KR 1020210019988 A KR1020210019988 A KR 1020210019988A KR 20210019988 A KR20210019988 A KR 20210019988A KR 20210102116 A KR20210102116 A KR 20210102116A
Authority
KR
South Korea
Prior art keywords
llr
value
soft
machine learning
parameters
Prior art date
Application number
KR1020210019988A
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 KR20210102116A publication Critical patent/KR20210102116A/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/0045Arrangements at the receiver end
    • H04L1/0047Decoding adapted to other signal detection operation
    • H04L1/005Iterative decoding, including iteration between signal detection and decoding operation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L25/00Baseband systems
    • H04L25/02Details ; arrangements for supplying electrical power along data transmission lines
    • H04L25/03Shaping networks in transmitter or receiver, e.g. adaptive shaping networks
    • H04L25/03006Arrangements for removing intersymbol interference
    • H04L25/03178Arrangements involving sequence estimation techniques
    • H04L25/03248Arrangements for operating in conjunction with other apparatus
    • H04L25/03286Arrangements for operating in conjunction with other apparatus with channel-decoding circuitry
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L27/00Modulated-carrier systems
    • H04L27/18Phase-modulated carrier systems, i.e. using phase-shift keying
    • H04L27/22Demodulator circuits; Receiver circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • 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/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/39Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
    • H03M13/3905Maximum a posteriori probability [MAP] decoding or approximations thereof based on trellis or lattice decoding, e.g. forward-backward algorithm, log-MAP decoding, max-log-MAP decoding
    • H03M13/3927Log-Likelihood Ratio [LLR] computation by combination of forward and backward metrics into LLRs
    • 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/0045Arrangements at the receiver end
    • H04L1/0047Decoding adapted to other signal detection operation
    • H04L1/005Iterative decoding, including iteration between signal detection and decoding operation
    • H04L1/0051Stopping criteria
    • 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/0045Arrangements at the receiver end
    • H04L1/0054Maximum-likelihood or sequential decoding, e.g. Viterbi, Fano, ZJ algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L25/00Baseband systems
    • H04L25/02Details ; arrangements for supplying electrical power along data transmission lines
    • H04L25/03Shaping networks in transmitter or receiver, e.g. adaptive shaping networks
    • H04L25/03006Arrangements for removing intersymbol interference
    • H04L25/03178Arrangements involving sequence estimation techniques
    • H04L25/03184Details concerning the metric
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L25/00Baseband systems
    • H04L25/02Details ; arrangements for supplying electrical power along data transmission lines
    • H04L25/03Shaping networks in transmitter or receiver, e.g. adaptive shaping networks
    • H04L25/03828Arrangements for spectral shaping; Arrangements for providing signals with specified spectral properties
    • H04L25/03866Arrangements for spectral shaping; Arrangements for providing signals with specified spectral properties using scrambling
    • H04L25/03872Parallel scrambling or descrambling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L27/00Modulated-carrier systems
    • H04L27/32Carrier systems characterised by combinations of two or more of the types covered by groups H04L27/02, H04L27/10, H04L27/18 or H04L27/26
    • H04L27/34Amplitude- and phase-modulated carrier systems, e.g. quadrature-amplitude modulated carrier systems
    • H04L27/38Demodulator circuits; Receiver circuits
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1105Decoding
    • 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/29Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2957Turbo codes and decoding

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Medical Informatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Power Engineering (AREA)
  • Probability & Statistics with Applications (AREA)
  • Computational Linguistics (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Error Detection And Correction (AREA)

Abstract

로그-가능 비율 최적화를 사용하여 수신된 업링크 전송들을 디코딩하는 방법들 및 장치들이 제공된다. 일 실시예에서, 방법은 로그-가능 비율 (LLR) 값을 생성하기 위한 프로세스의 일부로서 소프트 디매핑 파라미터에 기초하여 리소스 요소들을 소프트 디매핑하는 단계, 디코딩된 데이터를 생성하기 위해 LLR을 디코딩하는 단계, 및 타겟 성능 값을 식별하는 단계를 포함한다. 상기 방법은 또한 디코딩된 데이터로부터 성능 메트릭을 결정하고, 성능 메트릭을 목표 성능 값으로 이동시키기 위해 소프트 디매핑 파라미터들을 동적으로 조정하는 머신 러닝 알고리즘을 수행하는 단계를 포함한다.

Description

로그 유사 비율(LOG-LIKELIHOOD RATIO: LLR) 최적화를 사용하여 수신된 업링크 전송을 디코딩하는 방법 및 장치{METHODS AND APPARATUS FOR DECODING RECEIVED UPLINK TRANSMISSIONS USING LOG-LIKELIHOOD RATIO (LLR) OPTIMIZATION}
관련 출원들에 대한 상호 참조
본 출원은 2020년 2월 11일자에 "LOG-LIKELIHOOD RATIO(LLR) OPTIMIZATION FOR 5G BY MACHINE REARNING" 라는 명칭으로 미국에 출원된 미국 가출원(출원번호: 62/975,080호)의 우선권을 주장하며, 상기 가출원은 그 전체 내용이 본 명세서에 참조로서 포함된다.
본 발명의 예시적인 실시예는 통신 네트워크의 동작에 관한 것이다. 보다 구체적으로, 본 발명의 예시적인 실시예는 무선 원격 통신 네트워크를 사용하여 데이터 스트림을 수신 및 프로세싱하는 것에 관한 것이다.
LTE(Long Term Evolution), 4 세대(4G), 5 세대(5G) 셀룰러 서비스와 같은 고속 통신 네트워크를 통한 모바일 및 원격 데이터 액세스의 급격한 성장 추세에 따라, 데이터 스트림을 정확하게 전달하고 해독하는 것이 점점 더 어려워지고 있다. 정보를 전달할 수 있는 고속 통신 네트워크는 무선 네트워크, 셀룰러 네트워크, 무선 개인 영역 네트워크(WPAN), 무선 로컬 영역 네트워크(WLAN), 무선 메트로폴리탄 영역 네트워크("MAN") 등을 포함하지만, 이에 한정되지 않는다. 무선 개인 영역 네트워크("WPAN")는 블루투스(Bluetooth) 또는 지그비(ZigBee)일 수 있는 반면, 무선 로컬 영역 네트워크(WLAN)은 IEEE 802.11 WLAN 표준에 따른 Wi-Fi 네트워크 일 수 있다.
5G 시스템에서, 기준 신호, 데이터 및 업링크 제어 정보(UCI)는 사용자 장비로부터의 업링크 전송에 포함될 수 있다. 기준 신호(Reference Signal: RS)는 채널 상태를 추정하거나 또는 다른 목적으로 사용된다. 하지만, 기준 신호는 데이터와 혼합되며, 따라서 데이터 및/또는 UCI 정보가 프로세싱될 때 기준 신호를 고려해야만 한다. 예를 들어, 업링크 전송에서 수신된 자원 요소(RE)를 처리할 때, 기준 신호를 포함하는 자원 요소를 스킵하기 위한 특별한 프로세싱이 필요할 수 있다. 기준 신호들이 0으로 설정되거나 비어있는 경우에도, 수신된 데이터를 프로세싱할 때 이들의 해당 자원 요소들은 여전히 고려될 필요가 있다. 또한, 수신된 업링크 전송을 프로세싱하기 위해 효율적인 디스크램블링(descrambling), 결합(combining) 및 디코딩 기능을 제공하는 것이 바람직하다.
따라서, 업링크 전송에서 수신되는 데이터 및 UCI 정보를 효율적으로 처리할 수 있는 시스템을 갖는 것이 바람직하다.
다양한 예시적인 실시예에서, 수신된 4G 및/또는 5G 업링크 전송의 빠르고 효율적인 처리를 가능하게하는 디코딩 시스템을 위한 방법 및 디바이스가 제공된다. 다양한 예시적인 실시예에서, 로그 유사 비율(LLR: log-likelihood ratio) 최적화를 사용하여 수신된 업링크 전송을 디코딩하는 디코더가 제공된다.
일 실시예에서, 자원 요소 식별자는 수신된 업링크 심볼들의 업링크 제어 정보(UCI)를 3 개의 카테고리들 중 하나로 인덱싱하고 분류한다. 예를 들어, UCI 정보는 하이브리드 자동 반복 요청("HARQ") 승인("ACK"), 제 1 채널 상태 정보("CSI1") 및 제 2 채널 상태 정보(CSI2)를 포함한다. 예를 들어, 카테고리 0은 데이터 또는 CSI2 정보이고, 카테고리 1은 ACK 정보이고, 카테고리 2는 CSI1 정보이다. 일 실시예에서, 분류 정보는 디스크램블링된 자원 요소를 수신하는 결합기/추출기로 전달된다. 분류 정보는 각 심볼에 대해 디스크램블링된 자원 요소로부터 업링크 제어 정보를 식별하고 결합하는데 사용된다. 예를 들어, ACK를 포함하는 자원 요소들이 결합되고, CSI1을 포함하는 자원 요소들이 결합되고, CSI2를 포함하는 자원 요소들이 결합된다. 결합은 선택된 개수의 수신된 심볼들에 대해 수행된다.
일 실시예에서, 제공되는 디코더 시스템은 LLR 스트림을 개별 데이터 및 CSI2 LLR 스트림들로 분할하는 LLR 프리프로세서를 포함한다. 별도의 디코더들이 스트림들을 디코딩하여 디코딩된 정보를 생성한다. 따라서, 다양한 예시적인 실시예들에서, 수신된 업링크 제어 정보는 효율적인 프로세싱 및 향상된 시스템 성능을 제공하기 위해 UCI 정보를 획득하기 위해 디스크램블링되고, 결합되고, 디코딩된다.
일 실시예에서, 방법이 제공되는바, 상기 방법은 로그 유사 비율(LLR) 값을 생성하는 프로세스의 일부로서 소프트 디매핑 파라미터에 기초하여 자원 요소들을 소프트 디매핑하는 단계, 디코딩된 데이터를 생성하기 위해 LLR을 디코딩하는 단계, 목표 성능 값을 식별하는 단계를 포함한다. 상기 방법은 또한 디코딩된 데이터로부터 성능 메트릭을 결정하는 단계, 성능 메트릭을 목표 성능 값으로 이동시키기 위해 소프트 디매핑 파라미터를 동적으로 조정하는 머신 러닝 알고리즘을 수행하는 단계를 포함한다.
일 실시예에서, 장치가 제공되며, 상기 장치는 로그 유사 비율(LLR) 값을 생성하는 프로세스의 일부로서 소프트 디매핑 파라미터에 기초하여 자원 요소들을 소프트 디매핑하도록 구성된 소프트 디매퍼, LLR로부터 데이터를 디코딩하도록 구성된 디코더를 포함한다. 상기 장치는 또한 머신 러닝 회로를 포함하며, 상기 머신 러닝 회로는, 목표 성능 값을 식별하고, 디코딩된 데이터로부터 성능 메트릭을 결정하고, 소프트 디매핑 파라미터들을 동적으로 조정하는 머신 러닝 알고리즘을 수행하여 성능 메트릭을 목표 성능 값으로 이동시킨다.
일 실시예에서, 장치가 제공되며, 상기 장치는 로그 유사 비율(LLR) 값들을 생성하는 프로세스의 일부로서 소프트 디매핑 파라미터들에 기초하여 자원 요소들을 소프트 디매핑하는 수단, 디코딩된 데이터를 생성하기 위해 LLR을 디코딩하는 수단; 목표 성능 값을 식별하기 위한 수단, 디코딩된 데이터로부터 성능 메트릭을 결정하기 위한 수단; 및 성능 메트릭을 목표 성능 값으로 이동시키도록 소프트-디매핑 파라미터를 동적으로 조정하는 머신 러닝 알고리즘을 수행하기 위한 수단을 포함한다.
본 발명의 예시적인 실시예의 추가적인 특징 및 이점은 아래에 설명된 상세한 설명, 도면 및 청구 범위로부터 명백해질 것이다.
본 발명의 예시적인 측면은 다음의 상세한 설명 및 본 발명의 다양한 실시예에 대한 첨부된 도면들로부터 보다 완전하게 이해될 것이지만, 본 발명의 다양한 실시예는 본 발명을 특정 실시예로 제한하는 것으로 간주되어서는 안되며, 이는 설명과 이해를 위한 것이다.
도 1은 업링크 전송에서 사용자 장비로부터 수신된 자원 요소가 디스크램블링 및 결합 시스템의 예시적인 실시예에 의해 디스크램블링되고 결합되는 통신 네트워크의 블록도를 도시한다.
도 2는 디스크램블링 및 결합 시스템의 예시적인 상세한 실시예를 도시한다.
도 3은 도 2에 도시된 RE 식별자 블록의 상세한 예시적인 실시예를 나타내는 블록도를 도시한다.
도 4a는 도 2에 도시된 디스크램블러의 상세한 예시적인 실시예를 도시하는 블록도를 도시한다.
도 4b는 도 4a에 도시된 디스크램블러에 의해 수행되는 동작을 예시하는 블록도를 도시한다.
도 5a는 도 2에 도시된 결합기/추출기의 예시적인 실시예를 예시하는 블록도를 도시한다.
도 5b는 도 5a에 도시된 결합기/추출기에 의해 수행되는 동작을 예시하는 블록도를 도시한다.
도 6은 자원 요소 식별 시스템의 예시적인 실시예에 따라 자원 요소 분류를 수행하기 위한 예시적인 방법을 도시한다.
도 7은 디스크램블링 및 결합 시스템의 예시적인 실시예에 따라 디스크램블링을 수행하기 위한 예시적인 방법을 도시한다.
도 8은 디스크램블링 및 결합 시스템의 예시적인 실시예에 따라 결합을 수행하는 예시적인 방법을 도시한다.
도 9a-b는 디스크램블링 및 결합 시스템의 예시적인 실시예에 따라 결합을 수행하기 위한 예시적인 방법을 도시한다.
도 10a는 디코더 시스템의 예시적인 블록도를 도시한다.
도 10b는 도 10a에 도시된 디코더 시스템에 입력되는 LLR 스트림의 실시예를 예시하는 예시적인 상세도를 도시한다.
도 11은 디코더 시스템의 예시적인 실시예들에 따라 디코딩을 수행하기 위한 예시적인 방법을 도시한다.
도 12는 도 2에 도시된 디스크램블링 및 결합 시스템의 일부의 예시적인 실시예를 도시한다.
도 13은 도 12에 도시된 머신 러닝 회로의 예시적인 상세한 실시예를 도시한다.
도 14는 도 13에 도시된 파라미터 테이블의 예시적인 실시예를 나타낸다.
도 15는 본 발명의 실시예에서 사용하기 위한 소프트-디맵퍼 회로의 예시적인 실시예를 도시한다.
도 16은 시스템의 작동을 예시하는 예시적인 그래프를 도시한다.
도 17은 디코더 시스템의 예시적인 실시예에 따라 성능을 최적화하기 위해 머신 러닝 알고리즘을 수행하는 예시적인 방법을 도시한다.
도 18은 머신 러닝 회로의 예시적인 실시예에 따라 머신 러닝 알고리즘을 수행하기 위한 예시적인 방법을 도시한다.
도 19는 머신 러닝 회로를 포함하는 디코더 시스템의 예시적인 실시예를 갖는 처리 시스템을 예시하는 블록도를 도시한다.
본 발명의 양태는 무선 전송에서 수신된 업링크 정보를 프로세싱하기 위한 방법 및 디바이스와 관련하여 아래에서 설명된다.
다음의 상세한 설명의 목적은 본 발명의 하나 이상의 실시예에 대한 이해를 제공하는 것이다. 당업자는 다음의 상세한 설명이 단지 예시일 뿐이며 어떤 식으로든 본 발명을 제한하려는 의도가 없음을 인식할 것이다. 다른 실시예는 본 개시 및/또는 설명의 이점을 갖는 그러한 당업자에게 용이하게 인식될 것이다.
명확성을 위해, 여기에 설명된 구현예의 모든 일상적인 특징들이 도시 및 설명되는 것은 아니다. 물론 이러한 실제 구현예를 개발할 때 어플리케이션 및 비즈니스 관련 제약 조건 준수와 같은 개발자의 특정 목표를 달성하기 위해 수많은 구현예별 결정들이 내려질 수 있으며 이러한 특정 목표가 구현예마다, 개발자마다 다를 수도 있다. 더욱이, 그러한 개발 노력은 복잡하고 시간 소모적일 수 있지만 그럼에도 불구하고 본 개시의 실시예의 이점을 갖는 기술 분야의 통상의 기술을 가진 사람들을 위한 일상적인 엔지니어링 작업일 것임을 이해할 것이다.
도면에 도시된 본 발명의 다양한 실시예는 축척에 따라 그려지지 않을 수 있다. 오히려, 명확성을 위해 다양한 피처들의 치수가 확장되거나 축소될 수 있다. 또한, 일부 도면은 명확성을 위해 단순화될 수 있다. 따라서, 도면은 소정 장치(예를 들어, 디바이스) 또는 방법의 모든 구성요소들을 묘사하지 않을 수 있다. 도면 전체에 걸쳐 동일하거나 유사한 부분을 지칭하기 위해 동일한 참조 번호들이 사용될 것이다.
"시스템" 또는 "디바이스"라는 용어는 본 명세서에서 일반적으로 임의 개수의 구성 요소, 요소, 서브-시스템, 디바이스, 패킷 스위치 요소, 패킷 스위치, 액세스 스위치, 라우터, 네트워크, 모뎀, 기지국, eNB(eNodeB), 컴퓨터 및/또는 통신 디바이스 또는 메커니즘, 또는 이들의 구성 요소들의 조합을 서술하는데 이용된다. "컴퓨터"라는 용어는 명령을 실행할 수 있는 프로세서, 메모리 및 버스를 포함하며, 여기서 컴퓨터는 컴퓨터, 퍼스널 컴퓨터, 워크스테이션, 메인 프레임 또는 컴퓨터 조합의 하나 또는 클러스터를 의미한다.
IP 통신 네트워크, IP 네트워크 또는 통신 네트워크는 예를 들어, TCP/IP 또는 UDP/IP 유형의 전송 매체에서 가령, 비동기 전송 모드(Asynchronous Transfer Mode: ATM) 유형과 같은 패킷들 또는 셀들의 형태로 데이터를 전송할 수 있는 액세스 네트워크를 갖는 모든 유형의 네트워크를 의미한다. ATM 셀은 데이터 패킷, IP 타입의 분해(또는 분할)의 결과이며 이러한 패킷(여기서는 IP 패킷)은 IP 헤더, 전송 매체(예: UDP 또는 TCP)에 특정한 헤더 및 페이로드 데이터로 구성된다. IP 네트워크는 위성 네트워크, 위성을 통한 인터넷 액세스를 제공하는 DVB-RCS(Digital Video Broadcasting-Return Channel System) 네트워크 또는 SDMB(Satellite Digital Multimedia Broadcast) 네트워크, 지상파 네트워크, 케이블(xDSL) 네트워크 또는 모바일 또는 셀룰러 네트워크(GPRS/EDGE 또는 UMTS(멀티미디어 브로드 캐스트/멀티 캐스트 서비스(MBMS) 타입, 또는 LTE(Long Term Evolution)로 알려진 UMTS의 진화형, 또는 DVB-H(Digital Video Broadcasting-Handhelds)이 적용가능함) 또는 하이브리드(위성 및 지상파) 네트워크를 포함할 수 있다.
도 1은 사용자 장비로부터 업링크 전송에서 수신된 자원 요소가 디코더 시스템(156)의 예시적인 실시예에 의해 디코딩되는 통신 네트워크(100)의 블록도를 도시한다. 네트워크(100)는 패킷 데이터 네트워크 게이트웨이("P-GW")(120), 2 개의 서빙 게이트웨이("S-GW")(121-122), 2 개의 기지국(또는 셀 사이트)(102-104), 서버(124) 및 인터넷(150)을 포함한다. P-GW(120)은 소스와 목적지 간의 라우팅 활동을 용이하게하기 위한 빌링 모듈(billing module)(142), 가입 모듈(subscribing module)(144) 및/또는 추적 모듈(146)과 같은 다양한 구성 요소(140)를 포함한다. 다음을 유의해야 하는바, 예시적인 실시예의 기본 개념은 네트워크(100)에 하나 이상의 블록(또는 디바이스)이 추가되거나 제거되는 경우에도 변경되지 않는다는 점에 유의해야 한다.
네트워크(100)는 4 세대("4G"), LTE(Long Term Evolution), 5G(Fifth Generation), NR(New Radio), 또는 4G 및 5G 셀룰러 네트워크 구성의 조합으로 동작할 수 있다. 일 양상에서 모빌리티 관리 엔티티(MME)(126)는 4G LTE와 5G 사이의데이터 전송을 용이하게할 수 있는 기지국(또는 셀 사이트) 및 S-GW에 연결된다. MME(126)는 다양한 제어/관리 기능, 네트워크 보안 및 자원 할당을 수행한다.
하나의 예에서 P-GW(120), MME(126), 및 기지국(102 또는 104)에 연결된 S-GW(121 또는 122)는 기지국(102) 또는 eNodeB 로부터 P-GW(120) 및/또는 MME(126)으로 데이터 패킷을 라우팅할 수 있다. S-GW(121 또는 122)의 기능은 3G와 4G 장비 간의 이동성을 위한 앵커링 기능을 수행하는 것이다. S-GW(122)는 또한 경로 종료, 유휴 UE 페이징, 데이터 저장, 정보 라우팅, 복제본 생성 등과 같은 다양한 네트워크 관리 기능을 수행할 수 있다.
S-GW(121-122) 및 인터넷(150)에 결합된 P-GW(120)는 사용자 장비("UE")와 인터넷(150)과 같은 IP 기반 네트워크 간의 네트워크 통신을 제공할 수 있다. P-GW(120)는 연결, 패킷 필터링, 검사, 데이터 사용량, 빌링 또는 PCRF(정책 및 과금 규칙 기능) 시행 등을 위해 사용된다. 또한, P-GW(120)은 4G와 5G 패킷 코어 네트워크 간의 이동성을 위한 앵커링 기능도 제공한다.
셀 사이트, 노드 B 또는 eNodeB로도 알려진 기지국(102 또는 104)은 하나 이상의 무선 타워(110 또는 112)를 포함한다. 무선 타워(110 또는 112)는 무선 통신들 또는 채널들(137-139)을 통해 셀룰러 전화(106), 핸드헬드 디바이스(108), 태블릿 및/또는 아이패드(iPad®)(107)와 같은 다양한 UE에 또한 연결된다. 디바이스(106-108)는 아이폰(iPhone®), 블랙베리(BlackBerry®), 안드로이드(Android®) 등과 같은 휴대용 디바이스 또는 모바일 디바이스일 수 있다. 기지국(102)은 무선 타워(110)를 통해 S-GW(121)와 함께 UE(106-107)와 같은 모바일 디바이스 사이의 네트워크 통신을 용이하게한다. 기지국 또는 셀 사이트는 다른 지상 스위칭 회로뿐만 아니라 추가 무선 타워를 포함할 수 있다는 점에 유의해야 한다.
업링크 전송에서 사용자 장비로부터 수신된 업링크 제어 정보의 효율성 및/또는 처리 속도를 향상시키기 위해, 업링크 전송에서 수신된 데이터 및 UCI 정보를 디코딩하기 위해 디코더 시스템(156)이 제공된다. 디코더 시스템(156)에 대한 보다 상세한 설명이 아래에 제공된다.
도 2는 REI 시스템(152)의 예시적인 상세한 실시예를 도시한다. 도 2는 무선 전송(226)을 통해 기지국(112)과의 무선 통신을 허용하는 안테나(222)를 갖는 사용자 장비("UE")(224)를 도시한다. UE(224)는 기지국 프론트 엔드(FE)(228)에 의해 수신되는 업링크 통신(230)을 전송한다. 일 실시예에서, 기지국은 이득 정규화기(202), 역변환 블록(IDFT)(204), 구성 파라미터(222), 프로세싱 타입 검출기(208), RS 제거기(210), 계층 디맵퍼(layer demapper)(212), 디스프레더(despreader)(214) 및 REI 시스템(152)을 포함한다. 일 실시예에서, REI 시스템(152)은 RE 식별자(232), 소프트 디맵퍼(216), SINR 계산기(234) 및 디스크램블링 및 결합 시스템(DCS)(154)을 포함한다. 일 실시예에서, DCS(154)는 디스크램블러(218) 및 결합기/추출기(220)를 포함한다. 일 실시예에서, DCS(154)로부터 출력된 결합된 데이터 및 UCI 정보는 디코더 시스템(156)으로 입력되고, 디코더 시스템(156)은 디코딩된 정보를 출력한다. 일 실시예에서, 머신 러닝 회로(MLC)(250)가 제공되는바, 머신 러닝 회로(MLC)(250)는 디코딩된 데이터/UCI(252)를 수신하고 그리고 성능 메트릭을 생성하며, 성능 메트릭은 머신 러닝 알고리즘에 의해 사용되어 업데이트된 소프트-디맵퍼 파라미터(256)들을 결정하며, 이는 선택된 시스템 성능을 달성하기 위해 소프트-디맵핑을 수행하는데 이용된다.
일 실시예에서, 업링크 전송의 수신기는 한 번에 1 개의 심볼을 처리하고, 이는 NR을 위해 다수의 레이어들로부터 올 수 있으며, 그리고 업링크 전송의 수신기는 1ms 전송 시간 간격(TTI), 7-OFDM 기호(OS) 쇼트(s) TTI 및 2/3-OS sTTI를 커버하는 LTE를 위한 레이어의 전체 서브 프레임 또는 슬롯을 프로세싱한다. 변조 차수(modulation order)는 다음과 같이 유도될 수 있다.
1. NR을 위한 (π/2) BPSK
2. LTE sub-PRB, QPSK, 16QAM, 64QAM 및 256QAM 을 위한 (π/2) BPSK
더욱이, 디매핑 규칙은 LTE(4G) 및/또는 NR(5G) 표준에 정의된 바와 같이 성상도(constellations)에 적용된다.
구성 파라미터(Configuration Parameter)(블록 222)
일 실시예에서, 구성 파라미터(222)는 도 2에 도시된 다수의 블록에 의해 사용되는 파라미터들을 포함하는 다수의 필드들을 포함한다. 예를 들어, 구성 파라미터(222) 중 일부는 이득 정규화기(202), IDFT(204), REI 시스템(152) 및 디코더 시스템(156)의 동작을 제어한다. 일 실시예에서, 구성 파라미터(222)는 이득 정규화기(202) 및 IDFT(204)가 바이패스됨을 나타낼 수 있다. 일 실시예에서, 구성 파라미터(222)는 수신된 자원 요소를 소프트-디매핑할 때 특별한 처리를 언제 적용할지를 결정하기 위해 소프트-디맵퍼(216)에 의해 사용된다. 구성 파라미터(222)는 또한 디스크램블러(218), 결합기/추출기(220) 및/또는 SINR 계산기(234)의 동작을 제어하는데 사용된다.
이득 정규화기(블록 202)
일 실시예에서, 이득 정규화기(202)는 수신된 업링크 전송에 대해 이득 정규화 기능을 수행한다. 예를 들어, 이득 정규화기(202)는 LTE 및 NR DFT-s-OFDM 케이스에 적용가능하다. 입력 샘플은 다음과 같이 심볼당 계산된 표준(norm) 이득 값으로 부반송파 당 데이터 심볼 당 다음과 같이 정규화된다.
Gainnorm_out [Ds][sc] =(Gainnorm_in[Ds][sc])/(Norm_Gain[Ds])
IDFT(블록 204)
IDFT(204)는 시간 도메인 신호를 생성하기 위해 역변환을 제공하도록 동작한다. 일 실시예에서, IDFT(204)는 LTE 및 NR DFT-s-OFDM 및 LTE 서브 -PRB에 대해서만 활성화된다. 일 실시예에서, 입력 및 출력은 각각 16 비트 I 및 Q 값으로 가정된다. DFT 및 IDFT 연산은 다음과 같이 정의된다.
Figure pat00001
Figure pat00002
여기서,
Figure pat00003
이다.
프로세싱 타입 검출기(블록 208)
예시적인 실시예에서, 프로세싱 타입 검출기(214)는 시스템에 의해 수행될 프로세싱 타입을 검출한다. 예를 들어, 이러한 정보는 구성 파라미터(222)로부터 검출될 수 있다. 일 실시예에서, 프로세싱 타입 검출기(208)는 다음과 같이 시스템의 동작을 커버하는 2 개의 프로세싱 타입 중 하나를 검출하도록 동작한다.
1. 타입 1 - 5G NR DFT-s-OFDM
2. 타입 1 - 5G NR CP-OFDM
3. 타입 2 - 5G NR PUCCH Format 4
RS 리무버(블록 210)
일 실시예에서, RS 제거기(210)는 계층 디맵퍼에 입력되는 데이터 스트림을 생성하기 위해, 수신된 데이터 스트림으로부터 RS 자원 요소들을 제거하도록 타입 1 프로세싱 동안 동작한다. 예를 들어, RS 심볼들의 RE 위치들이 식별되고 그리고 데이터/UCI 만을 포함하는 출력을 생성하도록 RS 심볼들을 제거하기 위해 데이터가 하나 이상의 버퍼에 재기입된다(re-written). 다시 기록된다. 일 실시예에서, 타입 1 프로세싱은 RS/DTX 제거, 인터리빙 구조를 사용한 계층 디매핑, 소프트 디매핑 및 디스크램블링을 포함한다. 레이어링 전에 RS RE를 제거하게 되면, 추가 버퍼링없이 연속적인 방식으로 방해없이 단일 샷 디스크램블링 프로세스를 사용할 수 있다는 장점이 있다.
계층 디맵퍼(Layer Demapper)(블록 212)
일 실시예에서, 특정 서브캐리어의 다중 계층들로부터 오는 데이터 및 신호 대 간섭 잡음 비율(signal to interference noise ratio: SINR)은 다중 스레드 읽기 DMA 동작을 통해 계층 디매핑 회로(미도시)로 전송될 것이다. 이 경우, 각 스레드는 특정 심볼에 대해 서로 다른 레이어들의 메모리 위치를 가리킬 것이다. 계층 디맵퍼(212)는 디맵핑된 데이터 및 계층 당 다수의 pSINR 리포트를 생성한다. 일 실시예에서, NR의 경우, DMRS/PTRS/DTX RE는 I/Q 및 SINR 샘플 모두에 대해 소프트-디매핑 전에 정보 스트림으로부터 제거될 것이다.
디스프레더(Despreader)(블록 214)
일 실시예에서, 디스프레더(214)는 PUCCH 포맷 4에 대해서만 디스프레딩 타입 2 프로세싱을 제공한다. 디스프레딩은 적절한 스프레딩 시퀀스의 콘주게이트와 이들을 곱할 때 주파수 축을 따라 반복되는 심볼을 결합하는 것을 포함한다. 정보를 올바른 방식으로 결합하기 위한 스프레딩 시퀀스 인덱스 및 스프레딩 타입은 구성 파라미터(222)에 의해 제공될 것이다. 이 프로세스는 항상 총 12 개의 RE에 걸쳐 수행된다. 후속 블록으로 푸시되는 RE들의 개수는 스프레딩 타입에 따라 디스프레딩 이후에 절반 또는 1/4로 감소될 것이다. 결합된 결과는 소프트 디매핑 전에 평균화되어 16 비트 정보로 저장된다.
REI 시스템(블록 152)
일 실시예에서, REI 시스템(152)은 RE 식별자(232), 소프트 디맵퍼(216), 디스크램블러(218), 결합기/추출기(220) 및 SINR 계산기(234)를 포함한다. 동작 중에 REI 시스템(152)은 자원 요소를 분류하고 이러한 분류된 RE를 소프트 디매퍼(216) 및 REI 시스템(152)의 하나 이상의 다른 블록에 전달한다. 일 실시예에서, 소프트 디매퍼(216)는 분류된 RE들을 이용하여, 소프트 디매핑 프로세스에 특별한 처리를 적용할 시기를 결정한다.
이하에서 더 상세히 설명되는 다른 실시예에서, RE 식별자(232)는 데이터/CSI2 정보를 포함하는 자원 요소들에 대한 가설 인덱스 값(hypothesis index values)에 대한 요청을 수신한다. RE 식별자(232)는 이들 요청들을 프로세싱하여, RE가 데이터 또는 CSI2 값을 포함하는지, 그리고 CSI2 값과 관련된 가설 인덱스 값을 제공함으로써 RE가 CSI2 값을 포함하는지를 결정한다.
자원 요소 식별자(블록 232)
일 실시예에서, RE 식별자(232)는 자원 요소의 수신된 정보 스트림을 처리하여 각 요소를 식별, 인덱싱 및 분류하도록 동작한다. 각 요소(예를 들어, RE 정보 236)의 인덱싱 및 분류는 소프트 디매퍼(216) 및 REI 시스템(152)의 다른 블록으로 전달된다. RE 식별자(232)의 동작에 대한 보다 상세한 설명이 아래에 제공된다.
도 3은 도 2에 도시된 RE 식별자(232)의 상세한 예시적인 실시예를 도시하는 블록도이다. 도 3에 도시된 바와 같이, RE 식별자(232)는 RE 입력 인터페이스(302), 파라미터 수신기(304), 분류기(306) 및 RE 출력 인터페이스(308)를 포함한다.
동작시에, 업링크 전송이 전술한 블록들에 의해 수신 및 프로세싱되어, 정보 스트림(312)과 같은 정보 스트림을 생성한다. 예를 들어, 수신된 업링크 전송은 프로세싱 타입 검출기(208), 계층 디맵퍼(212), 또는 디스프레더(214) 중 적어도 하나에 의해 프로세싱된다. 결과적으로, 정보 스트림(312)은 어떠한 기준 신호(RS)도 포함하지 않지만, 데이터 또는 UCI 정보로 다중화된 데이터를 포함하고, 이러한 스트림은 RE 식별자(232)에 입력된다.
일 실시예에서, 정보 스트림(312)은 정보 또는 데이터 비트 및 UCI 비트를 포함한다. 일 예에서, ACK 비트, CSI1 비트 및/또는 데이터/CSI2 비트와 같은 UCI 비트는 정보 스트림(312) 전체에 분산되어 있다. 예를 들어, UCI 비트는 예시된 바와 같이 데이터 비트와 혼합된다.
일 실시예에서, 5G 동작 동안, RE 식별자(232)는 도 2에 도시된 바와 같이 소프트 디맵퍼 특수 처리, 디스크램블러 코드 수정 및 UCI 결합/추출을 위해 UCI 비트들의 RE 인덱스들을 정확하게 식별한다. UCI 비트들의 RE 인덱스들은 NR CP-OFDM 동작뿐만 아니라 ACK 및 CSI1에 대한 SINR 리포트 값을 생성하는데에도 사용된다.
일 실시예에서, RE 식별 프로세스는 314로 표시된, 사이클 당 2 개의 RE를 프로세싱할 것이다. 예를 들어, 수신된 스트림(312)의 자원 요소들은 RE 입력 인터페이스(302)에 의해 수신되고, RE 입력 인터페이스(302)는 수신된 정보를 분류기(306)에 제공한다. 파라미터 수신기(304)는 구성 파라미터 블록(222)으로부터 파라미터(310)를 수신한다. 분류기(306)는 이러한 파라미터를 사용하여 수신된 자원 요소들(RE)을 분류하고 그리고 수신된 RE들을 분류한 후, 분류기(306)는 분류된 RE들을 어레이(316)와 같은 어레이에 저장하는바, 이는 인덱스, RE 값 및 카테고리를 표시한다. 일 실시예에서, RE1의 식별은 RE0의 다중 가설들에 기초하여 획득될 수 있다. 유사하게, RE2 식별은 RE0 및 RE1의 다중 가설들에 기초하여 도출될 수 있다. RE 출력 인터페이스(308)는 분류된 RE들을 소프트 디맵퍼(216), 디스크램블러(218), UCI 결합기(220) 및 SINR 계산기(234)로 출력한다. 일 양상에서, 소프트 디맵퍼(216), 디스크램블러(218), UCI 결합기(220) 및 SINR 계산기(234)는 구성 요소들은 이들 구성 요소들 사이에서 특정 정보를 전송하기 위해 상호연결된다.
예시적인 실시예에서, RE 식별자(232)는 데이터/CSI2 정보를 포함하는 RE에 대한 가설 인덱스 값에 대한 요청(318)을 수신한다. 요청은 결합기/추출기(220)로부터 수신된다. 요청(318)에 응답하여, RE 식별자(232)는 RE가 데이터 또는 CSI2 정보를 포함하는지를 결정한다. 만일, RE가 CSI2 정보를 포함하고 있다면, CSI2 값과 관련된 가설 인덱스 값이 결정된다. 일 실시예에서, CSI2 정보와 관련된 최대 11 개의 가설(0-10)이 존재한다. RE 식별자(232)는 결정된 가설 인덱스 값(320)을 후속 프로세싱을 위해 결합기/추출기로 출력한다.
다시 도 2를 참조한다. 다양한 실시예에서, 소프트 디맵퍼(216)는 특정 UCI 카테고리에 기초하여 RE에 특별한 처리를 제공한다. 디스크램블러(218)는 특정 UCI 카테고리에 기초하여 스크램블링 코드 수정을 제공할 수 있다. UCI 결합기/추출기(220)는 DATA, ACK, CSI1 및/또는 CSI2 정보를 결합할 수 있다. SINR 계산기(234)는 ACK SINR 및 CSI SINR과 같은 다른 RE 관련 SINR 뿐만 아니라 데이터/CSI2 SINR을 계산할 수 있다.
소프트 디매퍼(Soft-demapper)
소프트 디매핑 원리는 논리 0인지 1인지에 대한 확실성의 수준을 정량화하는 비트의 로그 유사 비율(log-likelihood ratio: LLR)을 계산하는 것에 기초한다. 소프트 디맵퍼(216)는 심볼별(symbol by symbol)로 그리고, 심볼 내에서 RE별로(RE by RE) 프로세싱한다.
소프트 디매핑 원리는 논리 0인지 1인지에 대한 확실성의 수준을 정량화하는 비트의 로그 유사 비율(log-likelihood ratio: LLR)을 계산하는 것에 기초한다. 가우스 잡음의 가정하에, i 번째 비트의 LLR은 다음과 같이 주어진다:
Figure pat00004
수학식 1
여기서 cj와 ck는 i 번째 비트가 각각 0과 1의 값을 취하는 성상 포인트(constellation points)이다. [R1]에 주어진 그레이 매핑 변조 방식의 경우, x는 단일 차원 I 또는 Q를 참조하는 것으로 간주될 수 있다. 계산 복잡도는 변조 차수에 따라 선형적으로 증가한다. 계산 복잡성을 줄이기 위해 max-log MAP 근사가 채택되었다. 이러한 근사는 QPSK에는 필요하지 않는데, 왜냐하면 QPSK의 LLR은 분자와 분모 모두에 항이 하나만 있기 때문이다.
Figure pat00005
이러한 근사는 특히 높은 SNR 영역에서 충분히 정확하고 그리고 복잡한 지수 연산 및 로그 연산을 대폭 회피할 수 있으므로 LLR 계산을 단순화한다. I와 Q가 입력 샘플들의 실수부와 허수부라는 점을 감안할 때 소프트 LLR은 (π/2) BPSK, QPSK, 16QAM, 64QAM 및 256QAM에 대해 각각 다음과 같이 정의된다.
일 실시예에서, 소프트-디매퍼(216)는 제 1 최소 함수 성분(minimum function component: MFC), 제 2 MFC, 특수 처리 성분(special treatment component: STC), 감산기(subtractor) 및/또는 LLR 생성기를 포함한다. 소프트-디맵퍼(216)의 기능은 수신된 심볼 또는 비트 스트림과 관련된 소프트 비트 정보를 디맵핑하거나 확인하는 것이다. 예를 들어, 소프트 디매퍼(216)는 소프트 디매핑 원리를 채용하는바, 소프트 디매핑 원리는 그것이 논리 0인지 1인지에 대한 확실성의 수준을 정량화하는 비트의 로그 유사 비율(LLR)을 계산하는데 기초한다. 잡음 및 간섭을 감소시키기 위해, 소프트-디맵퍼(216)는 또한 비트 스트림의 주파수에 관한 하나 이상의 미사용 성상 포인트들을 성상 맵으로부터 폐기할 수 있다.
일 양상에서, STC는 비트 스트림이 식별되고 특별한 처리가 필요할 때 제 1 MFC에 대한 하나의 입력으로서 무한대 값(infinity value)을 강제하도록 구성된다. 예를 들어, 미리 정의된 인코딩 카테고리 세트가 있는 ACK와 같은, 특정 인코딩 카테고리 세트가 있는 미리 정의된 제어 신호는 특별한 처리를 필요로 한다. 일 양상에서, 특별한 처리들 중 하나는 MFC에 대한 입력으로 무한대 값을 강제하는 것이다. 예를 들어, STC는 비트 스트림이 미리 정의된 인코딩 카테고리들을 가진 ACK 또는 CSI1로 식별될 때, 제 1 및 제 2 MFC에 대한 입력으로서 무한대 값을 강제한다. 일 예에서, STC는 수신된 비트 스트림 또는 심볼들에 기초하여, 특수한 처리(또는 특수 처리 기능)가 필요한지의 여부를 결정하도록 구성된다. 일 양상에서, 표 1에 나열된 미리 정의된 인코딩 카테고리들을 갖는 1 비트 및 2 비트 제어 신호들은 특별한 처리를 필요로 한다. 표 1은 예시적이며 다른 구성이 가능하다는 점에 유의해야 한다.
번호 인코딩 카테고리들을 갖는 제어 신호 재명명된 카테고리들
1 OACK = 1 ACK[1]
2 OACK = 2 ACK[2]
3 OCSI1 = 1 CSI1[1]
4 OCSI1 = 2 CSI1[2]
SINR 계산기(블록 234)
SINR 계산기(234)는 REI 블록(232)으로부터 수신된 카테고리들에 기초하여 UCI 타입별 SINR을 계산한다.
디스크램블러(블록 218)
디스크램블러(218)는 비트들 또는 비트 스트림의 디스크램블링 시퀀스를 생성하도록 구성된다. 예를 들어, 디스크램블러는 입력 값에 따라 시퀀스를 생성한 이후, 디스크램블링될 제어 정보의 특정 카테고리들에 대해 디스크램블링 시퀀스 수정이 필요한지의 여부를 결정한다. 예를 들어, 디스크램블러(218)는 RE 식별자(232)로부터 분류된 RE 정보(236)를 수신하고 이 정보를 사용하여 디스크램블링 시퀀스 수정이 언제 필요한지를 결정한다. 일 실시예에서, 디스크램블러는 또한 다수의 심볼들에 대한 연속적인 디스크램블링 시퀀스 생성을 용이하게하기 위해 중간 선형 피드백 시프트 레지스터(LFSR) 상태의 저장을 제공한다. 심볼의 디스크램블링된 자원 요소(244)는 대응하는 디스크램블링 시퀀스(246)와 함께 결합기/추출기(220)로 전달된다. 디스크램블러(218)에 대한보다 상세한 설명이 아래에 제공된다.
결합기/추출기(블록 220)
결합기/추출기(220)는 디스크램블러(218)로부터의 디스크램블링된 소프트 비트들을 결합하고 그리고 업링크 제어 정보를 추출하는 결합 및 추출 기능을 제공한다. 일 실시예에서, 결합기/추출기(220)는 REI 블록(232)으로부터 수신된 카테고리에 기초하여 자신의 동작을 수정한다. 결합기/추출기(220)에 대한 더 상세한 설명이 아래에 제공된다.
디코더 시스템(블록 156)
디코더 시스템(156)은 결합기/추출기(220)로부터 수신된 미가공(raw) LLR 및 결합된 데이터/UCI 정보(254)를 디코딩한다. 일 실시예에서, 디코더 시스템(156)은 구성 파라미터에 기초하여 결합된 데이터 및 CSI2 정보를 별개의 LLR 스트림으로 분할한다. 그 다음, 디코더 시스템(156)은 각각의 스트림을 개별적으로 디코딩하여, 디코딩된 데이터 및 CSI2(UCI) 정보(252)를 생성한다. 디코더 시스템(156)에 대한 보다 상세한 설명이 아래에 제공된다.
머신 러닝 회로(MLC)(블록 250)
일 실시예에서, 디코딩된 데이터/UCI 정보(252)를 수신하고 성능 메트릭을 결정하는 머신 러닝 회로(250)가 제공된다. 결정된 성능 메트릭에 기초하여, MLC(250)는 구성 파라미터(222)에 입력되는 업데이트된 소프트 디매퍼 파라미터(256)를 생성하기 위해 머신 러닝 알고리즘을 수행한다. 일 실시예에서, 파라미터(256)는 소프트 디매퍼(216)에 입력되고 소프트 디매핑된 RE(242)를 결정하는데 이용되며, 이는 디코더 시스템(156)에 의해 디코딩되는 미가공 LLR 및 결합된 데이터/UCI 정보(254)로 프로세싱된다. 일 실시예에서, MLC(250)는 원하는 성능 메트릭이 획득될 때까지 소프트 디매퍼 파라미터(256)를 조절한다. MLC(250)에 대한 자세한 설명은 아래에 제공된다.
도 4a는 도 2에 도시된 디스크램블러(218)의 상세한 예시적인 실시예를 예시하는 블록도를 도시한다. 일 실시예에서, 디스크램블러(218)는 디스크램블러 프로세서(402), 내부 메모리(404), 선형 피드백 시프트 레지스터 LFSR0 및 LFSR1, 및 출력 인터페이스(406)를 포함한다. 디스크램블러 프로세서(402)는 또한 특정 카테고리의 ACK 및 CSI1 정보에 대한 디스크램블링 시퀀스를 수정하도록 동작하는 시퀀스 수정기(412)를 포함한다.
도 4b는 도 4a에 도시된 디스크램블러(218)에 의해 수행되는 동작을 예시하는 블록도를 도시한다. 동작시에, 디스크램블러 프로세서(402)는 소프트 디맵퍼(216)로부터 소프트 디매핑된 RE(242)를 수신한다. 디스크램블러 프로세서(402)는 또한 선택된 구성 파라미터(222), RE 정보(236) 및 초기화 값(416)을 수신한다. 일 실시예에서, 초기화 값(416)은 중앙 프로세서 또는 다른 수신기 엔티티에 의해 제공되고 INIT0(408) 및 INIT1(410)로서 저장된다. 디스크램블러 프로세서(402)는 초기화 값 INIT0(408) 및 INIT1(410)을 각각 사용하여 LFSR0 및 LFSR1을 초기화한다. 시프트 레지스터들(LFSR0 및 LFSR1)은 디스크램블링 비트들을 결정하는데 사용되는 비트들을 출력하며, 디스크램블링 비트들은 수신된 RE(242)를 디스크램블링하는데 사용된다. 예를 들어, 시프트 레지스터 LFSR0 및 LFSR1의 출력은 디스크램블러 프로세서(402)에 의해 수학적으로 결합되어, 수신된 RE(242)를 디스크램블링하는데 사용될 디스크램블링 비트를 결정한다.
제 1 심볼의 자원 요소들이 수신됨에 따라, 디스크램블러 프로세서(402)는 시프트 레지스터의 출력으로부터 결정된 디스크램블링 비트를 사용하여, 수신된 RE(242)를 디스크램블링한다. 예를 들어, 심볼 S0의 자원 요소가 수신되면, 디스크램블러 프로세서(402)는 생성된 디스크램블링 비트를 사용하여, 수신된 자원 요소를 디스크램블링한다. 각각의 RE가 디스크램블링됨에 따라(경로 418로 표시된 바와 같이), 디스크램블링된 RE는 내부 메모리(404)에 저장된다. 심볼의 모든 RE의 디스크램블링이 완료된 후, 디스크램블러 프로세서(402)는 시프트 레지스터 LFSR0/1의 상태를 외부 메모리(414)에 저장한다. 예를 들어, 심볼 S0의 끝에서, LFSR0/1의 상태(422)는 외부 메모리(414)에 저장된다. 또한 다음을 유의해야 하는바, 시퀀스 수정기(412)는 특정 카테고리의 ACK 및 CSI1 정보에 대한 디스크램블링 시퀀스를 수정하는데 사용될 수 있다.
다음 심볼(예를 들어, S1)의 RE가 디스크램블링되기 전에, LSFR 상태(422)가 외부 메모리(414)로부터 복원되고 그리고 초기화 값(416)으로서 디스크램블러 프로세서(402)에 제공된다. 따라서, 복원된 상태는, 이전 심볼(예컨대, S0)의 디스크램블링이 완료된 후 중단된 위치부터 시프트 레지스터들의 동작이 계속될 수 있게한다. 심볼 S1을 디스크램블링한 후, 디스크램블러 프로세서(402)는 시프트 레지스터의 상태를 외부 메모리(414)에 저장한다(424로 표시됨). 심볼 S3의 디스크램블링이 시작되기 전에, 상태(424)는 전술한 바와 같이 디스크램블러 프로세서(402)의 LFSR 레지스터로 복원된다. 시프트 레지스터 상태를 저장 및 복원하는 이러한 프로세스는 모든 심볼들의 모든 RE들이 디스크램블링될 때까지 계속된다. 다음을 유의해야 하는바, RE는 데이터 또는 UCI 정보를 포함한다. 예를 들어, S0 심볼은 도 4b에 도시된 ACK 420 정보를 포함한다. RE들이 디스크램블된 이후, 이들은 디스크램블러 출력 인터페이스(406)에 의해서 디스크램블링된 RE(244)로서 결합기/추출기(220)로 출력된다. 일 실시예에서, RE를 디스크램블링하는데 사용되는 디스크램블링 시퀀스(246)도 역시 결합기/추출기(220)로 제공된다.
도 5a는 도 2에 도시된 결합기/추출기(220)의 상세한 예시적인 실시예를 도시하는 블록도를 도시한다. 일 실시예에서, 결합기/추출기(220)는 결합기/추출기 프로세서(502) 및 내부 저장소(504)를 포함한다. 프로세서(502)는 가설 프로세서(516)를 포함한다. 동작 동안, 프로세서(502)는 디스크램블러(218)로부터 RE 정보(236) 및 디스크램블링된 RE(244)를 수신한다. 프로세서(502)는 또한 디스크램블링된 RE(244)를 디스크램블링하는데 사용되었던 디스크램블링 시퀀스(246)를 수신한다. 프로세서(502)는 어떤 RE가 UCI 값을 나타내는지를 결정하기 위해 RE 정보(236)를 사용한다. 예를 들어, RE 정보(236)는 인덱싱되고 분류된 RE 정보를 포함하므로, 프로세서(502)는 이 정보를 사용하여 선택된 UCI RE가 언제 수신되는지를 결정할 수 있다.
심볼의 시작에서, 프로세서(502)는 메모리(504)에서 ACK(508), CSI1(510) 및 11개(0-10)의 가설 CSI2(512) 값을 초기화한다. ACK 및 CSI1 정보를 포함하는 RE가 수신되면, 프로세서(502)는 이러한 정보와 메모리의 현재 값들을 결합한다. 예를 들어, 프로세서(502)는 REI 정보(236)를 사용하여 ACK 정보 비트들이 언제 수신되는지를 결정하고, 그리고 이들 비트들과 현재 저장된 ACK 비트들(508)을 결합한다. 이러한 프로세스는 ACK(508) 및 CSI1(510)에 대해 계속된다.
CSI2(512) 정보가 수신되면, 가설 프로세서(516)는 CSI2 정보를 축적할 가설(512)들 중 하나를 결정하도록 동작한다. 가설 프로세서(516)의 동작에 대한 보다 상세한 설명이 아래에 제공된다.
심볼의 모든 RE가 수신되면 결합된 값은 외부 메모리(514)에 기록된다. 다음 심볼이 시작되기 전에 외부 메모리(514)의 값은 프로세서(502)로 반환되고 복원된다. 그 후 다음 심볼의 UCI 값의 결합이 수행된다. 각 심볼의 UCI 정보가 결합된 후, 결과는 외부 메모리(514)에 저장된다. 프로세스는 선택된 개수의 심볼들로부터의 UCI 정보가 결합될 때까지 계속된다. 결합 프로세스가 완료되면, 프로세서(502)는 결합된 결과(506)를 디코더에 출력한다.
도 5b는 도 5a에 도시된 결합기/추출기(220)에 의해 수행되는 동작을 예시하는 블록도를 도시한다. 일 실시예에서, 가설 프로세서(516)는 디스크램블링된 RE 스트림(244) 및 디스크램블링된 스트림의 RE를 디스크램블링하는데 사용되는 디스크램블링 시퀀스(246)를 수신한다. 프로세서(516)는 디스크램블링된 스트림(416)으로부터 ACK 정보를 드롭하거나 소거하여(518로 표시됨), CSI1 및 데이터/CSI2 정보만을 포함하는 스트림을 생성한다. 다음으로, 프로세서(516)는 스트림으로부터 CSI1 정보를 드롭하여(520으로 표시됨), 데이터/CSI2 정보만을 포함하는 스트림을 생성한다. 그 다음, 프로세서(516)는 데이터/CSI2 스트림과 관련된 가설을 식별하기 위한 기능(522)을 수행한다. 예를 들어, 프로세서(516)는 데이터/CSI2 정보와 관련된 가설 인덱스 값을 식별하기 위해 요청(318)을 RE 식별자(232)로 전송한다. RE 식별자(232)는 데이터/CSI2 정보가 데이터 또는 CSI2 정보를 포함하는지 여부를 나타내는 식별 정보를 반환한다. 정보가 데이터를 포함한다면, 데이터(524)는 추가 프로세싱을 위해 출력된다. 정보가 CSI2를 포함한다면, CSI2 정보와 관련된 가설을 나타내는 가설 인덱스가 수신된다. CSI2 정보 및 그 가설(526)이 추가로 프로세싱된다.
가설 프로세서(516)는 CSI2/Hyp(526)를 수신하고 추가 프로세싱을 수행한다. 가설이 530에 표시된 바와 같이 (2-10) 범위에 있으면, CSI2 정보가 메모리(504)에 누적되도록 전달된다. 가설이(0-1) 범위에 있으면, CSI2 값은 리스크램블 기능(532)으로 입력되며, 리스크램블 기능(532)은 수신된 디스크램블링 시퀀스(246)를 사용하여, 디스크램블링 이전에 CSI2 정보(536)를 복구하도록 CSI2 정보를 재스크램블링(rescrambling)한다. 디스크램블링 시퀀스(246)는 수정 기능(534)에 의해 수정되어, 수정된 디스크램블링 시퀀스(540)를 생성한다. 수정된 디스크램블링 시퀀스(540)는 디스크램블링 기능(542)에 의해 이용되어, 수정된 디스크램블링된 CSI2 정보(544)를 생성하기 위해 재스크램블링된 CSI2 정보(536)를 디스크램블링한다. 수정된 CSI2 정보는 메모리(504)에 축적을 위해 전달된다.
UCI를 위한 결합된 소프트 출력
예시적인 실시예에서, UCI 소프트 결합을 위한 출력은 다음과 같이 요약될 수 있다.
1 비트 UCI 케이스
A. 16-비트 비트 폭의 하나의 소프트-결합된 UCI 출력
B. ACK 및 16QAM, 64QAM 및 256QAM 만에 대해 16-비트 비트 폭의 하나의 소프트-결합된 'x' 라벨 비트 출력.
struct UCI_REPORT_1BIT {
int16_t uci_soft_combined;
int16_t uci_x_soft_combined; // valid only for ACK and 16QAM, 64QAM, 256QAM
int16_t reserved[30];
}
2 비트 UCI 케이스
A. 16-비트 비트 폭의 2 비트 UCI 케이스에 대한 3 개의 소프트-결합된 UCI 출력
B. ACK 및 16QAM, 64QAM 및 256QAM 만에 대해 16-비트 비트 폭의 하나의 소프트-결합된 'x' 라벨 비트 출력.
struct UCI_REPORT_2BIT {
int16_t uci_soft_combined[3];// c0, c1, c2
int16_t uci_x_soft_combined; // valid only for ACK and 16QAM, 64QAM, 256QAM
int16_t reserved[28];
}
RM 인코딩(3 ≤ O UCI ≤ 11) 케이스
A. RM 디코더에 대한 입력으로서 16-비트 비트 폭을 가진 32 개의 소프트-결합된 UCI 출력 세트 1 개.
struct UCI_REPORT_RM {
int16_t uci_soft_combined [32];
}
CSI2 케이스
예시적인 실시예에서, 가설에 각각 대응하는 총 11 개까지의 소프트 결합 결과들이 있을 것이다. 각 가설에 대한 소프트 결합 방법론은 고정되어 있으며 아래 표 2에 나와 있다.
표 2: 가설 당 CSI2 소프트 결합
Hypothesis # 소프트 결합 방법
가설 0 1-비트 소프트 결합
가설 1 2-비트 소프트 결합
가설 2 Reed Muller(RM) 소프트 결합
소프트 결합 동작 이전의 변조 타입 및 스크램블링 시퀀스에 따라 'x' 및 'y' 비트의 존재로 인해, 가설 0 및 가설 1에 대해 LLR 수정이 필요할 수 있음에 유의해야 한다. 이는 아래 표 3에 설명되어 있다.
Scrambling seq Hypo0 Hypo1 Hypo2-Hypo10
CSI2 RE llr0 1 1 1 1
llr1 -1 1* -1 -1
llr2 -1 1* 1* -1
llr3 1 1* 1* 1
Stream out along with data 1-bit combiner input 2-bit combiner input RM combiner input
llr0 llr0 llr0 llr0
-llr1 llr1 -llr1 -llr1
-llr2 llr2 llr2 -llr2
llr3 llr3 llr3 llr3
 * denotes x/y bit modification
표 3: 다수 가설들에 대한 CSI2 결합 일례
도 6은 REI 시스템의 예시적인 실시예에 따라 자원 요소 분류를 수행하기 위한 예시적인 방법(600)을 도시한다. 예를 들어, 방법(600)은 도 2에 도시된 REI 시스템(152)과 함께 사용하기에 적합하다.
블록(602)에서, 5G 통신 네트워크에서 업링크 전송이 수신된다. 예를 들어, 업링크 전송은 도 2에 도시된 프론트 엔드(228)에서 수신된다.
블록(604)에서, 이득 정규화가 수행된다. 예를 들어, 이득 정규화는 도 2에 도시된 이득 정규화기(202)에 의해 수행된다.
블록(606)에서, 시간 도메인 신호를 획득하기 위해 역 푸리에 변환이 수행된다. 예를 들어, 이 프로세스는 도 2에 도시된 IDFT 블록(204)에 의해 수행된다.
블록(608)에서, 수행될 프로세싱 유형에 대한 결정이 이루어진다. 예를 들어, 2 개의 프로세싱 유형들에 대한 설명이 위에 제공된다. 만일, 제 1 유형의 프로세싱이 수행될 경우, 방법은 블록(610)으로 진행한다. 만일, 제 2 유형의 프로세싱이 수행될 경우, 방법은 블록(624)로 진행한다. 예를 들어, 이러한 동작은 도 2에 도시된 프로세싱 유형 검출기(208)에 의해 수행된다.
블록(624)에서, 프로세싱 유형이 유형 2(Type 2)일 때, 수신된 자원 요소에 대해 역확산(또는, 디스프레딩:despreading)이 수행된다. 예를 들어, 이러한 동작은 도 2에 도시된 역확산기(디스프레더:despreader)(214)에 의해 수행된다. 그 후 방법은 블록(614)로 진행한다.
프로세싱 유형이 유형 1인 경우, 다음 동작이 수행된다.
블록(610)에서, 수신된 자원 요소들로부터 기준 신호가 제거된다. 예를 들어 RS/DTX가 포함된 자원 요소가 제거된다. 이러한 동작은 도 2에 도시된 RS 제거기(210)에 의해 수행된다.
블록(612)에서, 계층 디매핑이 수행된다. 예를 들어, RS/DTX가 없는 자원 요소들이 계층 디맵핑된다. 이 동작은 계층 디맵퍼(212)에 의해 수행된다.
블록(614)에서, RE 식별 및 분류가 수행된다. 예를 들어, 도 3에 도시된 바와 같이, RE 식별자(232)는 RE 스트림을 수신하고, RE를 분류한 다음, 어레이(316)를 출력하는바, 어레이에서 RE가 인덱싱되고 분류 값을 포함한다.
블록(616)에서, 소프트 디매핑이 수행된다. 예를 들어, 소프트 디맵퍼(216)는 수신된 RE들의 분류에 기초하여 제공되는 특별한 처리로 RE를 소프트 디맵핑한다. 소프트 디맵퍼(216)는 소프트 디매핑된 출력을 생성하며 이러한 출력은 디스크램블러(218)에 입력된다.
블록(618)에서, 디스크램블링이 수행된다. 예를 들어, 디스크램블러(218)는 소프트 디맵퍼(216)로부터 소프트 디매핑된 비트를 수신하고 그리고 디스크램블링된 비트를 생성한다. 일 실시예에서, RE들의 분류에 기초하여 수정된 디스크램블러 코드가 사용된다. 일 실시예에서, 디스크램블러(218)는 심볼들 간의 LFSR 상태들을 저장하도록 동작하며, 따라서 연속적인 디스크램블링 코드 생성이 심볼에서 심볼로 제공될 수 있다.
블록(620)에서, UCI 정보의 결합 및 추출이 수행된다. 예를 들어, 결합기/추출기(220)는 디스크램블된 비트들을 수신하고, 이들 비트들을 결합하고, 그리고 UCI 정보를 추출한다. 예를 들어, 결합기/추출기(220)는 RE 분류 정보를 이용하여 UCI 자원 요소들을 식별하고 그리고 이들 요소들을 메모리(504)에 결합한다. 결합된 UCI 값들은 심볼의 끝에서 출력되고, 메모리는 다음 심볼의 UCI의 결합을 위해 재초기화된다.
블록(622)에서, 데이터/CSI2, ACK 및 CSI1 SINR 값을 계산하기 위해 SINR 계산이 수행된다.
따라서, 방법(600)은 예시적인 실시예에 따라 자원 요소 식별 및 분류를 제공하도록 동작한다. 방법(600)의 동작은 실시예의 범위 내에서 수정, 추가, 삭제, 재배열 또는 달리 변경될 수 있다는 점에 유의해야 한다.
도 7은 디스크램블링 및 결합 시스템의 예시적인 실시예에 따라 디스크램블링을 수행하기 위한 예시적인 방법(700)을 도시한다. 예를 들어, 방법(700)은 도 2에 도시된 DCS(154)와 함께 사용하기에 적합하다.
블록(702)에서, 구성 파라미터들 및 초기화 값들이 디스크램블러(218)에 의해 수신된다. 예를 들어, 구성 파라미터들(222)은 디스크램블러 프로세서(402)에 의해 수신된다. 또한, 초기화 값들(416)이 디스크램블러 프로세서(402)에 의해 수신된다. 일 실시예에서, 초기화 값(416)은 수신기의 중앙 처리 엔티티로부터 수신된다. 다른 실시예에서, 초기화 값(416)은 외부 메모리(414)로부터 수신된 LFSR 상태 정보이다.
블록(704)에서, 하나 이상의 선형 피드백 시프트 레지스터가 초기화된다. 예를 들어, 프로세서(402)는 초기화 값 INIT0(408) 및 INIT1(410)로 레지스터 LFSR0 및 LFSR1을 각각 초기화한다.
블록(706)에서, 심볼의 자원 요소가 수신된다. 예를 들어, 프로세서(402)는도 4b에 도시된 바와 같이 심볼 S0의 자원 요소를 수신한다.
블록(708)에서, 디스크램블링 코드가 생성된다. 예를 들어, 프로세서(402)는 시프트 레지스터 LFSR0 및 LFSR1의 출력에 기초하여 디스크램블링 코드를 생성한다.
블록(710)에서, 현재 자원 요소에 대한 정보를 결정하기 위해 프로세서에 의해 RE 정보가 액세스된다. 예를 들어, 프로세서(402)는 RE 정보(236) 및 파라미터(222)에 기초하여 현재 자원 요소에 대한 정보에 액세스한다.
블록(712)에서, 스크램블링 코드 수정이 이루어져야하는지에 대한 결정이 이루어진다. 예를 들어, 프로세서(402)는 RE 정보(236) 및 파라미터(222)에 기초하여 현재 자원 요소를 디스크램블링하기 위해 디스크램블링 코드 수정이 필요한지 여부를 결정한다. 스크램블링 코드의 수정이 필요한 경우, 방법은 블록(714)으로 진행한다. 수정이 필요없는 경우, 방법은 블록(716)으로 진행한다.
블록(714)에서, 필요에 따라 스크램블링 코드가 프로세서(402)에 의해 수정된다. 예를 들어, 시퀀스 수정기(412)는 특정 유형의 ACK 및 CSI1 정보에 대한 스크램블링 코드를 수정한다.
블록(716)에서, RE는 스크램블링 코드를 사용하여 디스크램블링된다. 예를 들어, 프로세서(402)는 현재 스크램블링 코드를 사용하여 RE를 디스크램블링한다.
블록(718)에서, 현재 심볼에서 디스크램블링할 더 많은 RE가 있는지에 대한 결정이 내려진다. 예를 들어, 프로세서(402)는 구성 파라미터(222) 및/또는 RE 정보(236)로부터 이러한 결정을 내린다. 디스크램블링할 심볼이 더 이상 없으면, 방법은 블록(720)으로 진행한다. 현재 심볼에 디스크램블링할 심볼이 더 많은 경우, 방법은 블록(706)으로 진행한다.
블록(720)에서, 디스크램블링할 더 많은 심볼이 있는지에 대한 결정이 이루어진다. 예를 들어, 프로세서(402)는 구성 파라미터(222) 및/또는 RE 정보(236)로부터 이러한 결정을 내린다. 디스크램블링할 심볼이 더 이상 없으면, 방법이 종료된다. 디스크램블링할 심볼이 더 있다면, 방법은 블록(722)로 진행한다.
블록(722)에서, LFSR 상태가 저장된다. 예를 들어, 프로세서(402)는 레지스터 LFSR0 및 LFSR1의 현재 상태를 예를 들어, 422로 나타낸 바와 같이, 외부 메모리(414)로 푸시한다.
블록(724)에서, 다음 심볼을 디스크램블링하기 전에 LFSR 상태가 복원된다. 예를 들어, 메모리(414)로부터 저장된 LFSR 상태는 초기화 값들(416)의 새로운 세트로서 프로세서(402)에 제공되며, 이는 레지스터 LFSR0 및 LFSR1의 상태를 복원하는데 사용된다. 따라서, LFSR은 복원된 상태에 기초하여 디스크램블링 시퀀스를 생성한다. 그 다음, 방법은 블록(706)으로 진행하며, 블록(706)에서는 원하는 개수의 심볼이 디스크램블링될 때까지 디스크램블링이 계속된다.
따라서, 방법(700)은 디스크램블링 및 결합 시스템의 예시적인 실시예에 따라 디스크램블링을 제공하도록 동작한다. 방법(700)의 동작은 실시예의 범위 내에서 수정, 추가, 삭제, 재배열 또는 달리 변경될 수 있다는 점에 유의해야 한다.
도 8은 디스크램블링 및 결합 시스템의 예시적인 실시예에 따라 결합을 수행하기 위한 예시적인 방법(800)을 도시한다. 예를 들어, 방법(800)은 도 2에 도시된 DCS(154)와 함께 사용하기에 적합하다.
블록(802)에서, 메모리 내의 ACK, CSI1 및 CSI2 값의 초기화가 수행된다. 예를 들어, 일 실시예에서, 프로세서(502)는 메모리(504)에서 ACK(508), CSI1(510) 및 CSI2(512)의 값을 초기화한다.
블록(804)에서, 심볼의 디스크램블링된 RE가 수신된다. 예를 들어, 프로세서(502)는 디스크램블링된 RE(244)를 수신한다.
블록(806)에서, RE 분류 정보가 수신된다. 예를 들어, 프로세서(502)는 RE 정보(236)를 수신한다.
블록(808)에서, 현재 RE가 ACK 값을 포함하는지 여부에 대한 결정이 이루어진다. 프로세서(502)는 RE 정보(236)로부터 이러한 결정을 수행한다. 만일, 현재 RE가 ACK 값을 포함한다면, 방법은 블록(810)으로 진행한다. 현재 RE가 ACK 값을 포함하지 않는다면, 방법은 블록(812)로 진행한다.
블록(810)에서, 현재 RE에 포함된 ACK 값은 메모리의 ACK 값과 결합된다. 예를 들어, 프로세서(502)는 현재 RE 값을 저장된 ACK 값(508)과 결합하고, 결합된 값을 메모리(504)에 다시 복원한다.
블록(812)에서, 현재 RE가 CSI1 값을 포함하는지 여부에 대한 결정이 이루어진다. 프로세서(502)는 RE 정보(236)로부터 이러한 결정을 수행한다. 현재 RE가 CSI1 값을 포함하면, 방법은 블록(814)로 진행한다. 현재 RE가 CSI1 값을 포함하지 않으면, 방법은 블록(816)으로 진행한다.
블록(814)에서, 현재 RE에 포함된 CSI1 값은 메모리의 CSI1 값과 결합된다. 예를 들어, 프로세서(502)는 현재 RE 값을 저장된 CSI1 값(510)과 결합하고, 결합된 값을 메모리(504)에 다시 복원한다.
블록(816)에서, 현재 RE가 CSI2 값을 포함하는지에 대한 결정이 이루어진다. 프로세서(502)는 RE 정보(236)로부터 이러한 결정을 수행한다. 현재 RE가 CSI2 값을 포함하면, 방법은 블록(818)로 진행한다. 현재 RE가 CSI2 값을 포함하지 않으면, 방법은 블록(820)으로 진행한다.
블록(818)에서, 현재 RE에 포함된 CSI2 값은 메모리의 CSI2 값과 결합된다. 예를 들어, 프로세서(502)는 현재 RE 값을 저장된 가설 CSI2 값들(512) 중 하나와 결합하고, 결합된 값을 다시 메모리(504)에 복원한다. CSI2 값들의 결합에 대한 상세한 설명은 도 9a 내지 도 9b와 관련하여 제공된다.
블록(820)에서, 현재 심볼에서 결합할 더 많은 RE들이 있는지에 대한 결정이 이루어진다. 프로세서(502)는 RE 정보(236)로부터 이러한 결정을 수행한다. 결합할 RE가 더 많은 경우, 방법은 블록(804)로 진행한다. 결합할 RE가 더 이상 없으면, 방법은 블록(822)로 진행한다.
블록(822)에서, 축적된 UCI 값들이 외부 메모리로 푸시된다. 예를 들어, 축적된 UCI 값들은 외부 메모리(514)로 푸시된다.
블록(824)에서, 결합할 더 많은 심볼이 있는지에 대한 결정이 내려진다. 일 실시예에서, 프로세서(502)는 REI 정보(236)로부터 이러한 결정을 수행한다. 결합할 심볼이 더 이상 없다면, 방법은 종료된다. 결합할 심볼이 더 있다면, 방법은 블록(826)으로 진행한다.
블록(826)에서, 외부 메모리에 저장된 UCI 값들이 획득되고, 새로운 초기화 값으로서 프로세서(502)에 입력된다. 예를 들어, 외부 메모리(514)에 저장된 누적 UCI 값은 프로세서(502)에 의해 획득된다. 그런 다음, 방법은 외부 메모리로부터 획득된 UCI 값들이 내부 저장소(504)의 UCI 값들(508, 510 및 512)을 초기화하는데 사용되는 블록(802)으로 진행한다.
따라서, 방법(800)은 디스크램블링 및 결합 시스템의 예시적인 실시예에 따라 결합을 제공하도록 동작한다. 방법(800)의 동작은 실시예의 범위 내에서 수정, 추가, 삭제, 재배열 또는 달리 변경될 수 있다는 점에 유의해야 한다.
도 9a-b는 디스크램블링 및 결합 시스템의 예시적인 실시예에 따라 결합을 수행하기 위한 예시적인 방법(900)을 도시한다. 예를 들어, 방법(900)은 도 2에 도시된 DCS(154)와 함께 사용하기에 적합하다.
이제 도 9a를 참조하면, 블록(902)에서, 메모리에 저장된 ACK, CSI1 및 11 개의 가설 CSI2 값에 대해 초기화가 수행된다. 예를 들어, 일 실시예에서, 프로세서(502)는 메모리(504) 내의 ACK(508), CSI1(510) 및 11 개의 가설 CSI2 값(512)를 초기화한다. 일 실시예에서, 메모리(504)를 초기화하는데 이용되는 값들은 외부 메모리(D로 표시됨)로부터 수신된다.
블록(904)에서, 심볼의 디스크램블링된 RE가 수신된다. 예를 들어, 프로세서(502)는 디스크램블링된 RE(244)를 수신한다.
블록(906)에서, 디스크램블링된 시퀀스가 수신된다. 예를 들어, 프로세서(502)는 디스크램블링 시퀀스(246)를 수신한다.
블록(908)에서, RE 분류 정보가 수신된다. 예를 들어, 프로세서(502)는 RE 정보(236)를 수신한다.
블록(910)에서, RE가 ACK 값인지에 대한 결정이 이루어진다. 수신된 RE가 ACK 값이면, 방법은 블록(912)로 진행한다. 수신된 RE가 ACK 값이 아니면, 방법은 블록(914)로 진행한다.
블록(912)에서, ACK 프로세싱이 본 문서의 다른 부분에 설명된 바와 같이 수행된다. 그 후 방법은 블록(938)(B로 표시됨)으로 진행한다.
블록(914)에서, RE가 CSI1 값인지에 대한 결정이 내려진다. 수신된 RE가 CSI1 값이면, 방법은 블록(916)으로 진행한다. 수신된 RE가 CSI1 값이 아니면, 방법은 블록(918)로 진행한다.
블록(916)에서, CSI1 프로세싱이 본 문서의 다른 부분에 설명된 바와 같이 수행된다. 그 후 방법은 블록(938)(B로 표시됨)으로 진행한다.
블록(918)에서, RE는 데이터/CSI2를 포함하며, 따라서 RE에 대한 가설 값에 대한 요청이 생성된다. 예를 들어, 프로세서(516)는 데이터/CSI2 정보에 대해 가설 인덱스 값을 획득하기 위해 요청(318)을 RE 식별자(232)로 출력한다. 일 실시예에서, RE 식별자(232)에 의해 생성된 응답(320)은 데이터/CSI2 정보가 데이터임을 나타낸다. 일 실시예에서, RE 식별자(232)에 의해 생성된 응답(320)은 데이터/CSI2 정보가 선택된 가설 값(예를 들어, x)과 연관된 CSI2 정보임을 나타낸다.
블록(920)에서,데이터/CSI2 정보가 데이터인지에 대한 결정이 이루어진다. RE 식별자(232)로부터의 응답이 데이터/CSI2 정보가 데이터임을 나타내는 경우, 방법은 블록(922)로 진행한다. 그렇지 않은 경우, 방법은 블록(924)로 진행한다.
블록(922)에서, 데이터는 본 문서의 다른 부분에 설명된 바와 같이 프로세싱된다. 그 후 방법은 블록(938)(B로 표시됨)으로 진행한다.
블록(924)에서, CSI2 정보와 연관된 가설 인덱스가(2-10)의 범위에 있는지에 대한 결정이 내려진다. 가설 인덱스가(2-10) 범위에 있으면, 방법은 블록(926)으로 진행한다. 그렇지 않은 경우 방법은 블록(928)(A로 표시됨)으로 진행한다.
블록(926)에서, 본 문서의 다른 부분에서 설명된 바와 같이, CSI2 정보는 가설 값에 기초하여 적절한 CSI2 정보와 함께 메모리(504)에 축적된다. 그 후 방법은 블록(936)(B로 표시됨)으로 진행한다.
이제 도 9b를 참조하면, 블록(928)에서, 현재 CSI2 정보는 가설 0 또는 1과 연관되는 것으로 식별된다.
블록(930)에서, CSI2 RE는 수신된 디스크램블링 시퀀스를 사용하여 재스크램블링된다. 예를 들어, 프로세서(516)는 수신된 디스크램블링 시퀀스(246)를 사용하여 수신된 스크램블링된 CSI2 RE(528)를 재스크램블하여, 재스크램블링된 CSI2 RE(536)를 생성한다.
블록(932)에서, 디스크램블링 시퀀스(246)가 수정되어 수정된 디스크램블링 시퀀스를 생성한다. 프로세서(516)는 수정된 디스크램블링 시퀀스(540)를 생성하기 위해 수신된 디스크램블링 시퀀스(246)를 수정하는 수정 기능(534)을 수행한다.
블록(934)에서, 재스크램블링된 RE는 수정된 디스크램블링 시퀀스로 디스크램블링되어, 수정된 디스크램블링된 RE를 생성한다. 예를 들어, 프로세서(516)는 수정된 디스크램블링된 CSI2 RE(544)를 생성하도록 재스크램블링된 CSI2 RE(536)를 디스크램블링하기 위해 디스크램블링 기능(542)을 수행한다.
블록(936)에서, 수정된 디스크램블링된 CSI2 RE(544)는 적절한 가설 값과 함께 메모리(504)에 축적된다.
블록(938)에서, 현재 심볼에 결합할 더 많은 RE가 있는지에 대한 결정이 이우러진다. 프로세서(502)는 RE 정보(236)로부터 이러한 결정을 수행한다. 결합할 RE가 더 많은 경우, 방법은 블록(904)(C로 표시됨)으로 진행한다. 결합할 RE가 더 이상 없으면, 방법은 블록(940)으로 진행한다.
블록(940)에서, 메모리(504)에 축적된 UCI 값들이 외부 메모리(514)에 저장된다.
블록(942)에서, 결합될 UCI 정보를 갖는 심볼이 더 있는지에 대한 결정이 이루어진다. (예를 들어, 슬롯 또는 서브 프레임에서) 결합될 UCI 정보를 갖는 심볼이 더 많은 경우, 방법은 블록(902)(D로 표시됨)로 진행한다. 이 경로에서, 외부 메모리(514)에 저장된 정보는 추가 심볼들로부터의 정보를 결합하기 전에 메모리(504)에 저장된 값을 초기화하는데 사용된다. 결합할 심볼이 더 이상 없으면 상기 방법은 종료된다.
따라서, 방법(900)은 디스크램블링 및 결합 시스템의 예시적인 실시예에 따라 결합을 제공하도록 동작한다. 방법(900)의 동작은 실시예의 범위 내에서 수정, 추가, 삭제, 재배열 또는 달리 변경될 수 있다는 점에 유의해야 한다.
도 10a는 디코더 시스템(156)의 예시적인 블록도를 도시한다. 일 실시예에서, 디코더 시스템(156)은 LLR 프리프로세서(1002A-B),데이터 디코더(1004) 및 CSI2 디코더(1006)를 포함한다. 일 실시예에서, 또한 도 10a에는 메모리(1008)가 도시되어 있다. 일 실시예에서, 메모리(1008)는 도 5에 도시된 결합기/추출기 프로세서(502)로부터 결합된 데이터 및 UCI 정보(506)를 수신한다. 예를 들어, 메모리(1008)는 결합된 가설 CSI2 값(1010)을 수신하고 그리고 이들 값들을 LLR 스트림(1012)으로 디코더 시스템(156)에 출력한다.
5G 또는 NR에서,데이터 및 UCI LLR은 시간과 주파수 둘다에서 다중화된다. UCI는 CSI1/CSI2 및 ACK 필드로 구성된다. 일 실시예에서, CSI1 및 ACK LLR은 LLR 스트림으로부터 분리 및/또는 제거될 수 있다. 그러나, CSI2 LLR은 디코더 시스템(156)에 입력으로서 제공되는 복합 출력 LLR 스트림(1012)을 생성하기 전에 분리 될 수 없다. 이러한 복합 스트림으로부터 필요한 LLR을 추출하기 위해, LLR 프리프로세서(1002A-B)는 이 동작을 수행한다. 예를 들어, 어떤 경우에, 프리프로세서(1002A)는 스트림(1012)으로부터 데이터 LLR을 추출하고 그리고 나머지 LLR을 드롭하여 데이터 LLR 스트림을 형성한다. 다른 경우에, 프리프로세서(1002B)는 CSI2 LLR을 추출하고 그리고 나머지 LLR을 드롭하여 CSI2 LLR 스트림을 형성한다.
일 실시예에서, 데이터 디코더(1004)는 데이터 LLR 스트림을 디코딩하여 디코딩된 데이터를 생성한다. CSI2 디코더(1006)는 CSI2 LLR 스트림을 디코딩하여 디코딩된 CSI2 정보를 생성한다. 다른 실시예에서, 리드 뮬러(Reed Muller: RM), 1 비트 또는 2 비트 인코딩된 CSI2 LLR(1016으로 표시됨)은 CSI2 디코더(1006)에 직접 제공된다.
도 10b는 본 발명의 일 실시예에 따라 디코더 시스템(156)에 입력되는 LLR 스트림(1012)의 일례를 도시하는 예시적인 상세 다이어그램이다. LLR 스트림(1012)은 CSI2에 대한 LLR, 데이터에 대한 LLR, 및 패딩 LLR을 포함하며, 이는 도 10b에서 각각의 음영에 의해 식별된다. 일 실시예에서, LLR 프리프로세서(1002A-B)는 데이터 및 CSI2에 대한 LLR을 포함하는 제 2 스트림(1014)을 생성하기 위해 패딩 LLR을 제거하는 알고리즘을 수행한다. 예를 들어, 패딩 LLR이 프리프로세서(1002A-B)에 의해 드롭된 후, 나머지 LLR 스트림은 스트림(1014)에 도시된 바와 같은 패턴을 따른다.
일 실시예에서, 최대 3 개의 CSI2 LLR 버스트 및 최대 2 개의 데이터 LLR 버스트가 각각의 하프 슬롯에서 서로 교대로 존재할 수 있다. 데이터 LLR의 각각의 버스트는 DMRS 심볼 내의 데이터 LLR 세트에 해당한다. 주파수 호핑의 경우, 각 하프 슬롯에 최대 2 개의 DMRS 심볼이 있을 수 있으므로, 데이터 LLR의 2 개의 버스트가 가능한다. CSI2 LLR의 각각의 버스트는 데이터 LLR에 의해 인터럽트되지 않는 CSI2 LLR의 연속 그룹에 해당한다.
CSI2 LLR의 버스트 크기는 px_a0, px_a1 및 px_a2로 표현된다. 그리고 데이터 LLR의 버스트 크기는 각각 px_b0 및 p1_b1로 표시된다. 이러한 CSI2 및 데이터 버스트에 후속하여, "a_k"번 반복되는 주기적으로 교번하는 CSI2 및 데이터 LLR이있을 수 있다. 각각의 기간은 "px_a_r" LLR 길이의 CSI2로 시작하고 "px_a_d - px_a_r" LLR 길이의 데이터가 이어진다. 이러한 주기적인 패턴에 후속하여, 나머지는 'num_rd_dma_word_px'가 끝날 때까지 데이터 LLR이 될 것이다. 전반적으로, 이러한 버스트들은 두 번 반복된다. 예를 들어, px는 파트 0의 경우 p0이 되고 파트 1의 경우 p1이 된다.
구성(Configuration)
일 실시예에서, 데이터 및 CSI2 LLR을 분리하기 위해 LLR 프리프로세서(1002A-B)의 동작을 위해, 아래의 테이블 4에 도시된 다음의 구성 파라미터들(222)이 사용된다. 이러한 파라미터들은 구성 파라미터(222)의 LDPC 디코더(LDEC) 및 폴라 디코더(PDEC) 블록의 AB_CFG 섹션에 존재할 것이다. 이러한 파라미터들 모두가 수가 동일한 64-비트 워드 또는 연속된 워드로 표시될 필요는 없다.
표 4: 구성 파라미터들
Parameter
Width Description
1 preproc_mode 1 '0': Pass CSI2 LLRs and drop rest
'1': Pass data LLRs and drop rest
2 preproc_p0_csi2_len0 19 CSI2 part 0 - burst 0 size. Range : [0:422399]
3 preproc_p0_csi2_len1 19 CSI2 part 0 - burst 1 size. Range : [0:422399]
4 preproc_p0_csi2_len2 19 CSI2 part 0 - burst 2 size. Range : [0:422399]
5 preproc_p1_csi2_len0 19 CSI2 part 1 - burst 0 size. Range : [0:422399]
6 preproc_p1_csi2_len1 19 CSI2 part 1 - burst 1 size. Range : [0:422399]
7 preproc_p1_csi2_len2 19 CSI2 part 1 - burst 2 size. Range : [0:422399]
8 preproc_p0_data_len0 17 Data part 0 - burst 0 size. Range : [0:105599]
9 preproc_p0_data_len1 17 Data part 0 - burst 1 size. Range : [0:105599]
10 preproc_p1_data_len0 17 Data part 0 - burst 0 size. Range : [0:105599]
11 preproc_p1_data_len1 17 Data part 0 - burst 1 size. Range : [0:105599]
12 preproc_p0_csi2_repeat_period 16 Periodicity of Repeated CSI2 LLRs followed by part 0 (3 bursts of CSI2 and 2 bursts of data) LLRs. Represents number of LLRs of each period. Range : [0:52800]
13 preproc_p1_csi2_repeat_period 16 Periodicity of Repeated CSI2 LLRs followed by part 1 (3 bursts of CSI2 and 2 bursts of data) LLRs. Represents number of LLRs of each period. Range : [0:52800]
14 preproc_csi2_repeat_burst_size 6 Burst size of CSI2 LLRs in each repeat of both part 0 and part 1. Range : {1,2,3,4,6,8,10,12,16,18,20,24,30,32,40}
15 preproc_p0_num_repeat 11 Number of periodic repetitions in part 0. Range : [0:2047]
16 preproc_p1_num_repeat 11 Number of periodic repetitions in part 1. Range : [0:2047]
17 num_rd_dma_words_p0 32 Number of read DMA words for part 0
18 num_rd_dma_words_p1 32 Number of read DMA words for part 1
19 tb_tx_bit_size 24 Number of LLRs to be sent to the decoder core
LLR 프리프로세서(preprocessor) 동작
예시적인 실시예에서, 다음의 의사-코드(pseudo-code)는 데이터 및 CSI2 LLR을 적절한 디코더로 분리하기 위한 디코딩 시스템의 LLR 프리프로세서(1002A-B)의 동작을 설명한다. 예를 들어, 아래의 의사 코드는 테이블 4에 표시된 구성 파라미터들을 활용하여, 패딩(예컨대, "태그된") LLR을 제거하고, 입력 스트림으로부터 데이터 및 CSI2 LLR을 분리하여 적절한 디코더로 전달되는 데이터 및 CSI2 스트림을 생성한다.
If (preproc_mode == 0)
target = 'csi2'
else
target = 'data'
end
csi2_count = 'preproc_p0_csi2_len0'
data_count = 'preproc_P0_data_len0'
Step 0:
Drop all tagged LLRs.
Step 1: part 0 starts
Read 'csi2_count' csi2 LLRs.
If target == 'csi2'
pass LLRs to CSI2 decoder
else
drop them (remove from stream)
end
Step 2:
Read 'data_count' data LLRs.
If target == 'csi2'
drop them
else
pass remaining to data decoder
end
Step 3:
Repeat steps 1 and 2 one more time with csi2_count = 'preproc_p0_csi2_len1' and data count = 'preproc_p0_data_len1'
Step 4:
Read 'preproc_p0_csi2_len2' csi2 LLRs.
If target == 'csi2'
pass them to CSI2 decoder
else
drop them
end
Step 5:
Read 'preproc_csi2_repeat_burst_size' CSI2 LLRS
If target == 'csi2'
pass them to CSI2 decoder
else
drop them
end
Step 6:
Read 'preproc_p0_csi2_repeat_period - preproc_p0_csi2_repeat _burst_size' data LLRS
If target == 'csi2'
drop them
else
pass them to data decoder
end
Step 7:
Repeat steps 5 and 6 'preproc_p0_num_repeat' times
Step 8: part 0 ends
Continue reading rest of data LLRs till 'num_rd_dma_words_p0' are read
If target == 'csi2'
drop them
else if (num_rd_data_llrs < 'tb_tx_bit_size')
// Number of data LLRs read so far pass them to decoder
else
drop them.
Step 9: part 1 starts
Repeats Step 1 to Step 7 by replacing all 'p0' with 'p1'.
Step 10: part 1 ends
Continue reading rest of data LLRs till 'num_rd_dma_words_p0 + num_rd_dma_words_p1' are read
If target == 'csi2'
drop them
else
if (num_rd_data_llrs < 'tb_tx_bit_size')
// Number of data LLRs read so far pass them to decoder
else
drop them.
도 11은 디코더 시스템의 예시적인 실시예에 따라 디코딩을 수행하기 위한 예시적인 방법(1100)을 도시한다. 예를 들어, 방법(1100)은 도 2에 도시된 디코더 시스템(156)과 함께 사용하기에 적합하다.
블록(1102)에서, 데이터, CSI2 및 패딩 LLR들의 스트림이 수신된다. 예를 들어, 일 실시예에서, 스트림(1012)은 디코더(156)에 의해 메모리(1008)로부터 수신된다. 일 실시예에서, 2개의 LLR 프리프로세서들(1002A-B)이 스트림을 수신한다.
블록(1104)에서, 구성 파라미터들이 수신된다. 일 실시예에서, 구성 파라미터들(222)이 프리프로세서(1002A-B)에 의해 수신된다.
블록(1106)에서, 패딩 LLR이 스트림으로부터 제거된다. 예를 들어, 프리프로세서(1002A-B)는 그들이 수신한 스트림으로부터 패딩("태그된") LLR을 제거한다.
블록(1108)에서, 데이터 및 CSI2 LLR이 분리된다. 예를 들어, 프리프로세서(1102A-B)는 수신된 구성 파라미터에 기초하여 데이터 및 CSI2 LLR을 분리한다. 예를 들어, 각각의 LLR 프리프로세서(1102A-B)는 그들이 수신한 스트림으로부터 데이터 또는 CSI2 LLR을 분리하기 위해 전술한 알고리즘을 수행한다.
블록(1110)에서, 데이터 LLR이 디코딩된다. 예를 들어, 데이터 디코더(1004)는 데이터 LLR을 수신하고 디코딩한다.
블록(1112)에서, CSI2 LLR이 디코딩된다. 예를 들어, CSI2 디코더(1006)는 CSI2 LLR을 수신하고 디코딩한다.
따라서, 방법(1100)은 예시적인 실시예에 따라 디코딩을 제공하도록 동작한다. 방법(1100)의 동작은 실시예의 범위 내에서 수정, 추가, 삭제, 재배열 또는 달리 변경될 수 있다는 점에 유의해야 한다.
머신 러닝을 사용한 LLR 최적화
5G 시스템에서 LLR 생성기에 의해 생성된 LLR의 품질 및 범위(range)는 최상의 물리 계층 성능을 달성하는데 있어 중요하다. 다양한 실시예에서, 머신 러닝 회로는 선택된 성능 목표를 달성하기 위해 LLR 생성기의 소프트 디매핑 프로세스에 파라미터를 제공하도록 동작한다. 반복 프로세스(iterative process)에서 머신 러닝 알고리즘은 목표 성능이 달성될 때까지 시스템 성능을 선택된 목표 성능으로 이동시키기 위해, 측정된 성능 메트릭에 기초하여소프트 디매핑 파라미터를 조정한다. 머신 러닝 회로는 각각의 반복 후에 생성된 소프트 디매핑 파라미터를 저장하는 파라미터 테이블을 포함한다. 상기 테이블은 또한 다중 변조 코딩 방식으로 작동하는 다수의 디코더들 각각에 대해 생성되는 소프트 디매핑 파라미터들에 대한 저장소를 제공한다.
도 12는 도 2에 도시된 디스크램블링 및 결합 시스템의 일부분에 대한 예시적인 실시예를 도시한다. 도 12에 도시된 바와 같이, REI 시스템(152)은 미가공(raw) LLR(254)을 생성하고 그리고 소프트 디맵퍼(216)를 포함한다. REI 시스템(152)은 계층 디맵퍼(212) 또는 디스프레더(214)로부터 입력을 수신하고 그리고 미가공 LLR 및 결합된 데이터/UCI 정보(254)를 생성한다. REI 시스템(152)은 구성 파라미터(222)를 수신하며, 구성 파라미터(222)는 소프트 디매퍼(216)를 포함하는 REI 시스템(152)의 다양한 기능 블록들의 동작을 제어하는데 사용된다.
일 실시예에서, 구성 파라미터(222)는 소프트 디매퍼(216)로 전달되고 소프트 디매핑 프로세스를 제어하는데 이용되는 소프트 디매핑 파라미터(256)를 포함한다. 소프트 디매핑 파라미터(256)에 대한 보다 상세한 설명이 아래에 제공된다.
5G 시스템에서, LLR 생성기에 의해 생성된 LLR은 하나 이상의 디코더에 공급된다. 예를 들어, 일 실시예에서, 디코더(156)는 터보 디코더(TDEC) 블록, LDPC 디코더(LDEC) 블록 및 X 디코더(XDEC) 블록을 포함한다. 디코더 블록들 중 임의의 것 디코딩된 데이터/UCI 출력(252)을 생성하기 위해 이용될 수 있다. 이러한 모든 디코더의 내부 고정 소수점 구현은 다양한 이유로 인해 다를 수 있다. 이들 디코더들 각각으로부터 가능한 최상의 성능을 보장하기 위해, LLR 생성기의 구성 파라미터들(222)이 신중하게 선택된다.
일 실시예에서, 머신 러닝 회로(250)는 디코딩된 데이터/UCI 출력(252)을 수신하고 시스템 성능을 나타내는 성능 메트릭을 결정한다. 일 실시예에서, MLC(250)는 측정된 성능을 원하는 목표 성능으로 이동시키기 위해, 소프트 디매퍼(216)의 동작을 조정하는데 사용될 업데이트된 소프트-디매핑 파라미터(256)를 생성하기 위해 머신 러닝 알고리즘을 수행한다. 일 실시예에서, MLC(250)는 원하는 목표 성능을 달성하기 위해 업데이트된 파라미터(256)를 생성하기 위해 강화 학습 프로세스에 기초한 머신 러닝 알고리즘을 수행한다.
도 13은 도 12에 도시된 머신 러닝 회로(250)의 예시적인 상세한 실시예를 도시한다. 머신 러닝 회로(250)는 프로세서(1302), 메모리(1304) 및 성능 메트릭 회로(1306)를 포함하며, 이들 모두는 버스(1312)를 통해 통신하도록 결합된다. 메모리(1304)는 성능 타겟(들)(1308) 및 파라미터 테이블(1310)을 포함한다.
머신 러닝 접근법(Machine Learning Approach)
머신 러닝 접근법은 전통적으로 러닝 시스템에서 사용할 수 있는 "신호" 또는 "피드백"의 성질에 넓은 카테고리들로 나뉘어진다. 예시적인 실시예에서, 머신 러닝 알고리즘(1314)은 특정 목표를 수행해야하는 동적 환경과 상호 작용하기 위해 강화 학습을 수행한다(성능 목표를 충족시키기 위해 소프트 디맵퍼 파라미터를 조정하는 것과 같은). 알고리즘이 성능 공간을 탐색함에 따라, 알고리즘은 피드백(예를 들어, 성능 메트릭)을 제공받으며, 이는 성능 메트릭을 성능 목표(1308)로 이동시키기 위해 소프트 디매퍼 파라미터(256)를 조정하는데 사용된다.
머신 러닝 시스템을 구현하기 위해 다양한 유형의 모델들이 사용되고 연구되었다. 일 실시예에서, 머신 러닝 알고리즘(1314)은 뇌의 광대한 뉴런 네트워크와 유사한 노드들의 그룹들을 상호 연결하는 인공 뉴럴 네트워크에 의해 구현된다. 예를 들어, 프로세서(1302)는 여기에 설명된 동작을 수행하기 위해 뉴럴 네트워크를 구현하는 알고리즘(1314)을 수행한다.
동작 동안, 성능 측정 회로(1306)는 디코딩된 데이터/UCI(252)를 수신하고 그리고 하나 이상의 성능 메트릭을 결정한다. 예를 들어, 성능 메트릭은 블록 에러 레이트(BLER) 또는 기타 적절한 성능 메트릭을 포함할 수 있다. 예를 들어, 성능 메트릭은 10 %의 BLER와 같이 사용자가 정의할 수 있는 특정 BLER를 달성하는데 필요한 최소 SINR 일 수 있다. 프로세서(1302)는 후속 성능 메트릭이 성능 목표에 도달할 때까지 성능 목표(1308)를 향해 이동하도록, 파라미터 테이블(1310)의 파라미터들을 조정하는 머신 러닝 알고리즘(1314)을 실행한다. 따라서, 머신 러닝 알고리즘(1314)은 수동 개입 없이 성능 타겟(1308)을 향해 시스템의 성능을 조정하기 위해 소프트 디맵퍼(216)에 대한 파라미터를 동적으로 조정한다. 일 실시예에서, 목표 성능은 특정 성능 레벨이거나 또는 성능 범위를 나타낸다.
도 14는 도 13에 도시된 파라미터 테이블(1310)의 예시적인 실시예를 도시한다. 일 실시예에서, 파라미터 테이블(1310)은 디코더 유형(1402)에 대한 컬럼을 포함한다. 각각의 디코더 유형(1402)은 복수의 변조 코딩 방식(MCS) 값들(1404)에 대한 파라미터들을 포함한다. 파라미터들은 변조(MOD) 스케일 값(1406), 제 1 오른쪽 시프트(first right shift: RSFT1) 값(1408), 제 2 오른쪽 시프트(second right shift: RSFT1) 값(1410), LLR 오프셋 값(1412) 및 LLR 비트-폭 값(1414)를 포함한다. 디코더 유형(1402) 및 MCS 값(1404)에 기초하여, 머신 러닝 알고리즘(1314)은 소프트 디맵퍼 파라미터들(256)을 조절하여 성능 메트릭을 목표 성능(1308)으로 이동시킨다. 예를 들어, 성능 메트릭은 10 %의 BLER와 같이 사용자에 의해 정의될 수 있는 특정 BLER를 달성하는데 필요한 최소 SINR 일 수 있다. 일 실시예에서, 파라미터 테이블(1310)의 파라미터는 임의의 원하는 초기 값으로 초기화될 수 있다.
도 15는 본 발명의 실시예에서 사용하기 위한 소프트 디맵퍼 회로(1500)의 예시적인 실시예를 도시한다. 예를 들어, 소프트 디맵퍼 회로(1500)는 소프트 디 맵퍼(216)의 적어도 일부로서 사용하기에 적합하다. 일 실시예에서, 소프트 디맵퍼 회로(1500)는 최소화(minimization: MIN) 검출기(1502 및 1504), 반올림(rounding) 회로(1506 및 1508), LLR 오프셋 회로(1510) 및 포화(SAT) 회로(1512)를 포함한다. 회로(1500)는 또한 곱셈기(1514, 1516, 1518), 가산기(1520) 및 감산기(1522)를 포함한다.
동작 동안, 수신된 I/Q 비트들은 곱셈기(1514)에 입력된다. 곱셈기(1514)는 또한 선택된 상수(예: 1, 3, 5, 7, 9, 13 및 15)를 수신하고 그리고 곱해진 결과는 가산기(1520)에 입력되는 20 비트 값이다. 가산기(1520)는 또한 부호없는 18 비트 값인 상수(MX_CONSTY)를 수신한다. 가산기(1520)는 21 비트 값으로서 그 입력들의 합계을 출력하며 이는 최소화 회로(1502 및 1504) 둘다에 입력된다. 각각의 최소화 회로는 그 입력들의 최소값을 출력한다. 최소화 제어 회로(1524)는 각각의 최소화 회로(1502 및 1504)에 제어 값들을 출력한다. 제어 값들은 각 최소화 회로로부터 어떤 값이 출력되는지를 제어한다. 예를 들어, 특정 변조 포맷에 대해 최소값이 선택된다. 최소화 회로의 출력은 감산기(1522)에 입력되며, 감산기(1522)는 값들을 감산하고 곱셈기(1516)에 입력되는 22 비트 출력을 생성한다. 일 실시예에서, 방정식(EQ. 1)이 구현된다.
제 2 곱셈기(1518)는 부호없는(unsigned) 24 비트 값인 SINR 신호 및 부호없는 16 비트 값인 변조 스케일 값을 수신한다. 이들 신호들의 곱은 반올림 회로(1508)에 입력되며, 반올림 회로(1508)는 제 1 시프트 값(RSFT1)에 기초하여 그 입력 값들을 시프트 및 반올림한다. 예를 들어, RS1 값을 생성하기 위해 다음의 연산이 수행된다.
[입력 + (2^(RSFT1-1))] >> 2^RSFT1 = 40 비트 RS1 값; 또는
[입력 + (2^(RSFT1-1))]/2^RSFT1 = 40 비트 RS1 값
RS1 값은 곱셈기(1516)에 입력되며, 곱셈기(1516)는 그 입력들을 곱셈하여 62 비트 값을 생성하며 이는 제 2 반올림 회로(1506)에 입력된다. 반올림 회로(1506)는 제 2 시프트 값(RSFT2)(1506)에 기초하여 입력 값을 시프트 및 반올림한다. 예를 들어, RS2 값을 생성하기 위해 다음의 연산이 수행된다.
[입력 +(2 ^(RSFT2-1))]/2 ^ RSFT2 = 40 비트 RS2 값
LLR 오프셋 회로(1510)는 RS2 값과 부호없는 (k-1) 비트 값인 LLR 오프셋 값을 수신하고 그리고 오프셋 동작을 수행한다. 오프셋 회로(1510)의 출력은 포화 회로(1512)에 입력된다. 포화 회로(1512)는 LLR_bit_width 값을 수신하고 그리고 포화를 방지하기 위해 그 입력을 스케일링하여 소프트 디맵핑된 RE(242)들을 결정하며, 이들은 미가공 LLR 및 디코더 시스템(156)에 의해 디코딩되는 결합된 데이터/UCI 정보(254)로 프로세싱된다.
LLR_bit_width 최적화
내부 구현 세부 사항들에 따라 디코더들은 상이한 LLR 비트 폭들로 다르게 행동할 수 있다. 제 1 동작에서, 선택된 디코더가 하드 디코딩 성능을 달성하는 최적의 비트 폭이 결정된다. 일 실시예에서, 디코딩 프로세스 동안 사용하기 위한 최적의 LLR 비트 폭을 결정하기 위해 프로세서(1302)에 의해 다음의 동작들이 수행된다.
1. 모든 곱셈기들(multipliers)을 최대화하고 LLR을 포화 상태로 만드는 모든 분할기들(dividers)을 최소화한다. 예를 들어, 프로세서(1302)는 LLR(242)을 포화 상태로 만드는 파라미터를 출력한다.
2. 최상의 성능을 달성하기 위해 특정 디코더/MCS에 대한 LLR_bit_width 값(1414)을 조정한다. 예를 들어, 프로세서(1302)는 최상의 LLR 성능을 달성하기 위해 LLR_bit_width 파라미터를 조정한다. LLR_bit_width 값은 파라미터 테이블(1310)에 저장된다.
머신 러닝을 기반으로한 파라미터들의 최적화
일단 LLR_bit_width 파라미터가 결정되면, 머신 러닝 알고리즘(1314)은 목표 성능을 달성하기 위해 나머지 소프트-디매핑 파라미터를 조정하도록 동작한다. 일 실시예에서, 소프트-디매핑 파라미터를 조정하기 위해 머신 러닝 회로(250)에 의해 다음 동작들이 수행된다.
1. 성능 메트릭은 성능 메트릭 회로(1306)에 의해 결정된다.
2. 목표 성능(1308)은 메모리(1304)로부터 획득된다.
3. 머신 러닝 알고리즘(1314)은 현재 성능 메트릭 및 타겟 성능을 이용하여, 성능 메트릭을 목표 성능으로 이동시키기 위해 특정 디코더/MCS에 대한 MOD_SCALE(1406), RSF1(1408), RSFT2(1410) 및 LLR_OFFSET(1412) 파라미터들을 조정한다. 다음을 유의해야하는바, 위의 동작들의 결과로서, 각 디코더는 연관된 목표 성능을 달성하기 위한 구성 파라미터들의 고유한 세트를 갖게 될 것이다. 예를 들어, LLR 비트-폭 파라미터(1414)는 특정 디코더/MCS에 대해 결정된다. 다른 파라미터들은 초기 조건으로 설정된다. 머신 러닝 알고리즘(1314)은 현재 성능 메트릭 및 목표 성능을 이용하여 특정 디코더/MCS에 대한 MOD_SCALE(1406), RSF1(1408), RSFT2(1410) 및 LLR_OFFSET(1412) 파라미터들 조정하여, 목표 성능이 획득될 때까지 반복(iteration) 프로세스에서 목표 성능을 향해 성능 메트릭을 이동시킨다. 각각의 반복 후에, 업데이트된 파라미터들든 파라미터 테이블(1310)에 저장된다.
도 16은 차이 변조 방식(difference modulation schemes)에 대해 수신된 SINR에 기초하여 LLR 생성을 조정하기 위한 시스템의 동작을 예시하는 예시적인 그래프를 도시한다. 그래프(1602)는 신호 대 간섭 잡음 비(SINR)에 대한 LLR 값들의 절대값의 평균(예를 들어, mean(abs(LLR)))의 플롯을 보여준다. 그래프(1604)는 SINR에 대한 LLR 값의 절대값의 분산(예를 들어, var(abs(LLR)))의 플롯을 보여준다. 예를 들어, 플롯은 서로 다른 SINR 값들에 대한 특정 고정 구성에 대해 LLR 생성기가 생성한 LLR 범위들을 나타낸다. 일 실시예에서, LLR_bit_width 파라미터는 LLR의 상한 및 하한 포화 한계를 제어하는 반면에, 시프트 값들(RSFT1 및 RSFT2)은 포화가 발생하는 위치를 결정하는 SINR 축을 따라 곡선들을 이동시킨다. 각 디코더 유형에 대해, 이러한 곡선들은 최적의 성능을 위해 신중하게 형성된다. 내부 구현이 다르기 때문에, LLR 생성기가 제공하는 각 디코더는 소프트 디매핑 구성 파라미터들의 상이한 세트를 필요로 한다. 각 디코더에 대한 이들 최적의 구성 파라미터들은 외부 개입을 최소화하거나 전혀없이 머신 러닝 알고리즘(1314)에 의해 생성 될 것이다. 머신 러닝 알고리즘(1314)은 목표 성능을 달성하기 위한 최적화 프로세스를 도출하기 위해 성능 메트릭의 형태로 디코더로부터 피드백을 수신한다.
도 17은 디코더 시스템의 예시적인 실시예에 따라 성능을 최적화하기 위해 머신 러닝을 이용하는 예시적인 방법(1700)을 도시한다. 예를 들어, 방법(1700)은도 12에 도시된 디스크램블링 및 결합 시스템의 일부와 함께 사용하기에 적합하다.
블록(1702)에서,데이터, CSI2 및 패딩 LLR들의 스트림이 수신된다.
블록(1704)에서, LLR 프로세싱의 일부로서 소프트 디매핑 파라미터들을 사용하여 소프트 디매핑이 수행되어 미가공 LLR을 생성한다.
블록(1706)에서, 선택된 디코더에 의해 미가공 LLR이 디코딩된다.
블록(1708)에서, 성능 메트릭 및 목표 성능이 결정된다. 예를 들어, 성능 메트릭은 성능 메트릭 회로(1306)에 의해 결정되고 목표 성능(1308)이 메모리(1304)에 저장된다.
블록(1710)에서, 성능 메트릭이 목표 성능을 충족하는지 여부에 대한 결정이 이루어진다. 성능 메트릭이 성능 목표를 충족하면 방법이 종료된다. 성능 메트릭이 성능 목표를 충족하지 않으면 방법은 블록(1712)으로 진행한다.
블록(1712)에서, 성능 메트릭을 성능 목표를 향해 이동시키기 위해 소프트-디매핑 파라미터를 조정하기 위해 머신 러닝 알고리즘이 수행된다. 예를 들어, 머신 러닝 알고리즘(1314)이 수행된다.
블록(1714)에서, 파라미터 테이블은 업데이트된 소프트 디매핑 파라미터들로 업데이트된다. 예를 들어, 파라미터 테이블(1310)은 새로 결정된 소프트 디매퍼 파라미터로 업데이트된다. 그 다음, 방법은 수신된 스트림을 더 많이 수신 및 프로세싱하기 위하여 블록(1702로 진행한다.
따라서, 방법(1700)은 디코더 시스템의 예시적인 실시예에 따라 성능을 최적화하기 위해 머신 러닝을 활용하도록 동작한다. 방법(1700)의 동작은 실시예의 범위 내에서 수정, 추가, 삭제, 결합, 재배열 또는 달리 변경될 수 있다는 점에 유의해야 한다.
도 18은 머신 러닝 회로의 예시적인 실시예에 따라 머신 러닝 알고리즘을 수행하기 위한 예시적인 방법(1800)을 도시한다. 예를 들어, 방법(1800)은 도 17의 블록(1712)에서 사용하기에 적합하다. 일 실시예에서, 방법(1800)은 도 13에 도시된 머신 러닝 회로(250)에 의해 수행된다.
블록(1802)에서, 이것이 선택된 디코더 및 MCS에 대한 머신 러닝 프로세스를 통한 첫 번째 통과인지에 대한 결정이 이루어진다. 첫 번째 통과인 경우, 방법은 블록(1804)으로 진행한다. 첫 번째 통과가 아닌 경우, 방법은 블록(1808)으로 진행한다.
블록(1804)에서, 선택된 디코더/MCS에 대한 LLR 포화를 얻기 위해 파라미터 값들이 조정된다. 예를 들어, 선택된 디코더/MCS에 대해 LLR을 포화 상태로 만들기 위해 디매핑 회로(1500)에서 모든 곱셈기들이 최대화되고 모든 분할기들이 최소화되도록 파라미터들이 설정된다,
블록(1806)에서, LLR 포화 레벨에 기초하여, 선택된 디코더/MCS에 대해 LLR_bit_width 값이 결정된다. 포화를 피하기 위해 비트 폭 값이 선택된다.
블록(1808)에서, 선택된 디코더/MCS에 대한 목표 성능이 메모리(1304)로부터 획득된다. 예를 들어, 목표 성능(1308)이 메모리(1304)로부터 획득된다.
블록(1810)에서, 선택된 디코더/MCS에 대한 성능 메트릭이 획득된다. 예를 들어, 성능 메트릭 회로(1306)는 디코딩된 데이터(252)를 분석함으로써 선택된 디코더/MCS에 대한 성능 메트릭을 결정한다. 일 실시예에서, 성능 메트릭은 BLER 값이다.
블록(1812)에서, 목표 성능을 향해 성능 메트릭을 이동시키도록 소프트-디매핑 파라미터를 조정하기 위해 머신 러닝 알고리즘이 수행된다. 일 실시예에서, MLC(250)는 원하는 목표 성능을 달성하기 위해 업데이트된 파라미터(256)를 생성하도록 강화 학습 프로세스에 기초하여 머신 러닝 알고리즘(1314)을 수행한다. 결정된 소프트 디맵퍼 파라미터는 파라미터 테이블(1310)에 저장되는 블록(1714)으로 전달된다.
따라서, 방법(1800)은 디코더 시스템의 예시적인 실시예에 따라 성능을 최적화하기 위해 머신 러닝 알고리즘을 수행하도록 동작한다. 방법(1800)의 동작은 실시예의 범위 내에서 수정, 추가, 삭제, 결합, 재배열 또는 달리 변경될 수 있다는 점에 유의해야 한다.
도 19는 선택된 디코더에 대한 성능 타겟을 획득하기 위해 소프트-디매핑 파라미터를 조정하는 머신 러닝 회로를 포함하는 디코더 시스템(1930)의 예시적인 실시예를 갖는 프로세싱 시스템(1900)을 예시하는 블록도를 보여준다. 예를 들어, 일 실시예에서, 디코더 시스템(1930)은 도 2에 도시된 머신 러닝 회로(250)를 포함한다. 다른 대안적인 컴퓨터 시스템 아키텍처가 또한 사용될 수 있다는 것은 당업자에게 명백할 것이다.
시스템(1900)은 프로세싱 유닛(1901), 인터페이스 버스(1912) 및 입력/출력("IO") 유닛(1920)을 포함한다. 프로세싱 유닛(1901)은 프로세서(1902), 메인 메모리(1904), 시스템 버스(1911), 정적 메모리 디바이스(1906), 버스 제어 유닛(1909), 대용량 저장 메모리(1908) 및 디코더 시스템(1930)을 포함한다. 버스(1911)는 데이터 프로세싱을 위해 다양한 컴포넌트들과 프로세서(1902) 사이에 정보를 전송하는데 사용된다. 프로세서(1902)는 다양한 범용 프로세서, 임베디드 프로세서 또는 ARM® 임베디드 프로세서, Intel® CoreTM2 Duo, CoreTM2 Quad, Xeon®, PentiumTM 마이크로 프로세서, AMD® 제품군 프로세서, MIPS® 임베디드 프로세서 또는 Power PCTM 마이크로 프로세서와 같은 마이크로 프로세서 중 하나 일 수 있다.
여러 레벨의 캐시 메모리를 포함할 수 있는 메인 메모리(1904)는 자주 사용되는 데이터 및 명령어를 저장한다. 메인 메모리(1904)는 RAM(랜덤 액세스 메모리), MRAM(자기 RAM), 또는 플래시 메모리일 수 있다. 정적 메모리(1906)는 정적 정보 및/또는 명령을 저장하기 위해 버스(1911)에 연결된 ROM(읽기 전용 메모리)일 수 있다. 버스 제어 유닛(1909)은 버스(1911-1912)에 연결되고 메인 메모리(1904) 또는 프로세서(1902)와 같은 어떤 구성 요소가 버스를 사용할 수 있는지를 제어한다. 대용량 저장 메모리(1908)는 대량의 데이터를 저장하기 위한 자기 디스크, 솔리드 스테이트 드라이브(SSD), 광학 디스크, 하드 디스크 드라이브, 플로피 디스크, CD-ROM 및/또는 플래시 메모리일 수 있다.
일 예에서 I/O 유닛(1920)은 디스플레이(1921), 키보드(1922), 커서 제어 디바이스(1923) 및 통신 디바이스(1929)를 포함한다. 디스플레이 디바이스(1921)는 액정 디바이스, 평면 패널 모니터, 음극선관(CRT), 터치 스크린 디스플레이 또는 기타 적절한 디스플레이 디바이스일 수 있다. 디스플레이(1921)는 그래픽 이미지 또는 윈도우를 투영하거나 디스플레이한다. 키보드(1922)는 컴퓨터 시스템(1900)과 컴퓨터 오퍼레이터 사이에 정보를 통신하기 위한 통상적인 영숫자 입력 디바이스일 수 있다. 다른 유형의 사용자 입력 디바이스는 마우스, 터치 마우스, 트랙볼, 또는 시스템(1900)과 사용자 사이에 정보를 통신하기 위한 다른 유형의 커서와 같은 커서 제어 디바이스(1923)이다.
통신 디바이스(1929)는 광역 네트워크를 통해 원격 컴퓨터 또는 서버로부터 정보에 액세스하기 위해 버스(1912)에 연결된다. 통신 디바이스(1929)는 모뎀, 라우터 또는 네트워크 인터페이스 디바이스, 또는 컴퓨터(1900)와 네트워크 사이의 통신을 용이하게 하는 다른 유사한 디바이스를 포함할 수 있다. 일 양상에서, 통신 디바이스(1929)는 무선 기능을 수행하도록 구성된다. 대안적으로, 디코더 시스템(1930) 및 통신 디바이스(1929)는 본 발명의 실시예에 따라 자원 요소 분류, 디스크램블링 및 결합, 디코딩 및 머신 러닝 최적화 기능을 수행한다.
일 양상에서 디코더 시스템(1930)은 버스(1911)에 연결합되고, 전체 수신기 성능을 개선하기 위해 전술한 바와 같이 수신된 업링크 통신에 대해 디코딩 및 머신 러닝 및 최적화 기능을 수행하도록 구성된다. 일 실시예에서, 디코더 시스템(1930)은 하드웨어, 펌웨어, 또는 하드웨어와 펌웨어의 조합을 포함한다.
일 실시예에서, 로그 유사 비율(LLR) 값을 생성하는 프로세스의 일부로서 소프트 디매핑 파라미터에 기초하여 자원 요소들을 소프트 디매핑하기 위한 수단을 포함하는 장치가 제공되며, 이는 일 실시예에서 소프트 디맵퍼(216)를 포함한다. 상기 장치는 또한 디코딩된 데이터를 생성하기 위해 LLR을 디코딩하기 위한 수단을 포함하며, 이는 일 실시예에서 디코더 시스템(156)을 포함한다. 상기 장치는 또한 타겟 성능 값을 식별하기 위한 수단, 디코딩된 데이터로부터 성능 메트릭을 결정하기 위한 수단, 및 성능 메트릭을 목표 성능 값을 향해 이동시키기 위해 소프트-디매핑 파라미터를 동적으로 조정하는 머신 러닝 알고리즘을 수행하기 위한 수단을 포함하며, 이는 실시예에서 머신 러닝 회로(250)를 포함한다.
본 발명의 특정 실시예가 도시되고 설명되었지만, 본 명세서의 교시에 기초하여, 본 발명의 예시적인 실시예로부터 벗어나지 않고도 변경 및 수정이 이루어질 수 있다는 것이 당업자에게 명백할 것이다. 따라서, 첨부된 청구 범위는 본 발명의 이러한 예시적인 실시예의 진정한 사상 및 범위 내에 있는 모든 변경 및 수정을 그 범위 내에서 포함하도록 의도된다.

Claims (20)

  1. 방법으로서,
    로그 유사 비율(log-likelihood ratio: LLR) 값들을 생성하는 프로세스의 일부로서 소프트 디매핑 파라미터들에 기초하여 자원 요소들을 소프트 디매핑(soft-demapping)하는 단계;
    디코딩된 데이터를 생성하도록 LLR을 디코딩하는 단계;
    목표 성능 값을 식별하는 단계;
    디코딩된 데이터로부터 성능 메트릭을 결정하는 단계; 및
    성능 메트릭을 목표 성능 값으로 이동시키도록 소프트 디매핑 파라미터들을 동적으로 조정하는 머신 러닝 알고리즘을 수행하는 단계
    를 포함하는 것을 특징으로 하는 방법.
  2. 제1항에 있어서,
    상기 자원 요소들은 뉴 라디오(new radio: NR) 업링크 전송에서 수신된 심볼들로부터 유도되는 것을 특징으로 하는 방법.
  3. 제1항에 있어서,
    디코딩된 데이터를 출력하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  4. 제1항에 있어서,
    상기 소프트 디매핑 파라미터들은 변조 스케일(MOD_SCALE) 값, 제 1 시프트(RSFT1) 값, 제 2 시프트(RSFT2) 값, LLR 오프셋 값 및 LLR 비트-폭 값을 포함하는 것을 특징으로 하는 방법.
  5. 제4항에 있어서,
    상기 머신 러닝 알고리즘을 수행하는 단계는, LLR 포화 레벨을 결정하기 위해 소프트 디매핑 파라미터들을 조정하는 단계를 포함하는 것을 특징으로 하는 방법.
  6. 제5항에 있어서,
    상기 조정하는 단계는, 선택된 LLR 비트-폭 값을 결정하기 위해 LLR 포화 레벨을 이용하는 단계를 포함하는 것을 특징으로 하는 방법.
  7. 제6항에 있어서,
    상기 머신 러닝 알고리즘을 수행하는 단계는, 선택된 LLR 비트-폭 값에 기초하여 소프트 디매핑 파라미터들을 업데이트하기 위해 상기 머신 러닝 알고리즘을 수행하는 단계를 포함하는 것을 특징으로 하는 방법.
  8. 제7항에 있어서,
    상기 머신 러닝 알고리즘을 수행하는 단계는, 성능 메트릭이 목표 성능을 충족할 때까지 소프트-디매핑 파라미터들을 업데이트하기 위해 반복 프로세스(iterative process)에서 상기 머신 러닝 알고리즘을 수행하는 단계를 포함하는 것을 특징으로 하는 방법.
  9. 장치로서,
    로그 유사 비율(LLR) 값들을 생성하는 프로세스의 일부로서 소프트 디매핑 파라미터들에 기초하여 자원 요소들을 소프트 디매핑하도록 구성된 소프트 디매퍼(soft-demapper);
    LLR로부터 데이터를 디코딩하도록 구성된 디코더; 및
    머신 러닝 회로를 포함하며, 상기 머신 러닝 회로는,
    목표 성능 값을 식별하고,
    디코딩된 데이터로부터 성능 메트릭을 결정하고;
    소프트 디매핑 파라미터들을 동적으로 조정하는 머신 러닝 알고리즘을 수행하여 성능 메트릭을 목표 성능 값으로 이동시키는 것을 특징으로 하는 장치.
  10. 제9항에 있어서,
    상기 자원 요소는 뉴 라디오(new radio: NR) 업링크 전송에서 수신된 심볼들로부터 유도되는 것을 특징으로 하는 장치.
  11. 제9항에 있어서,
    상기 디코더는 머신 러닝 회로에 입력되는 디코딩된 데이터를 출력하는 것을 특징으로 하는 장치.
  12. 제9항에 있어서,
    상기 소프트 디매핑 파라미터들은 변조 스케일(MOD_SCALE) 값, 제 1 시프트(RSFT1) 값, 제 2 시프트(RSFT2) 값, LLR 오프셋 값 및 LLR 비트-폭 값을 포함하는 것을 특징으로 하는 장치.
  13. 제12항에 있어서,
    상기 머신 러닝 회로는 LLR 포화 레벨을 결정하기 위해 소프트 디매핑 파라미터들을 조정하는 것을 특징으로 하는 장치.
  14. 제13항에 있어서,
    상기 머신 러닝 회로는 선택된 LLR 비트-폭 값을 결정하기 위해 LLR 포화 레벨을 이용하는 것을 특징으로 하는 장치.
  15. 제14항에 있어서,
    상기 머신 러닝 회로는 선택된 LLR 비트-폭 값에 기초하여 소프트 디매핑 파라미터들을 업데이트하기 위해 머신 러닝 알고리즘을 수행하는 것을 특징으로 하는 장치.
  16. 제15항에 있어서,
    상기 머신 러닝 알고리즘은 성능 메트릭이 목표 성능을 충족할 때까지 소프트 디매핑 파라미터들을 업데이트하기 위해 반복 프로세스를 수행하는 것을 특징으로 하는 장치.
  17. 장치로서,
    로그 유사 비율(LLR) 값들을 생성하는 프로세스의 일부로서 소프트 디매핑 파라미터들에 기초하여 자원 요소들을 소프트 디매핑하는 수단;
    디코딩된 데이터를 생성하도록 LLR을 디코딩하는 수단;
    목표 성능 값을 식별하는 수단;
    디코딩된 데이터로부터 성능 메트릭을 결정하는 수단; 및
    성능 메트릭을 목표 성능 값으로 이동시키도록 소프트 디매핑 파라미터들을 동적으로 조정하는 머신 러닝 알고리즘을 수행하는 수단
    을 포함하는 것을 특징으로 하는 장치.
  18. 제17항에 있어서,
    상기 소프트 디매핑 파라미터들은 변조 스케일(MOD_SCALE) 값, 제 1 시프트(RSFT1) 값, 제 2 시프트(RSFT2) 값, LLR 오프셋 값 및 LLR 비트-폭 값을 포함하는 것을 특징으로 하는 장치.
  19. 제18항에 있어서,
    상기 머신 러닝 알고리즘을 수행하는 수단은 선택된 LLR 비트-폭 값에 기초하여 소프트 디매핑 파라미터들을 업데이트하는 것을 특징으로 하는 장치.
  20. 제19항에 있어서,
    상기 머신 러닝 알고리즘을 수행하는 수단은 성능 메트릭이 목표 성능을 충족할 때까지 소프트 디매핑 파라미터들을 업데이트하는 반복 프로세스를 수행하는 것을 특징으로 하는 장치.
KR1020210019988A 2020-02-11 2021-02-15 로그-가능 비율(llr) 최적화를 이용한 수신된 업링크 전송의 디코딩을 위한 방법 및 장치 KR20210102116A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US202062975080P 2020-02-11 2020-02-11
US62/975,080 2020-02-11

Publications (1)

Publication Number Publication Date
KR20210102116A true KR20210102116A (ko) 2021-08-19

Family

ID=76968828

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210019988A KR20210102116A (ko) 2020-02-11 2021-02-15 로그-가능 비율(llr) 최적화를 이용한 수신된 업링크 전송의 디코딩을 위한 방법 및 장치

Country Status (4)

Country Link
US (2) US11558147B2 (ko)
KR (1) KR20210102116A (ko)
CN (1) CN113381957A (ko)
DE (1) DE102021103239A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023167453A1 (ko) * 2022-03-04 2023-09-07 삼성전자 주식회사 무선 통신 시스템에서 복호 장치 및 방법

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11728843B2 (en) * 2021-10-19 2023-08-15 L3Harris Technologies, Inc. Frequency hopping interference detection using decoder codeword metrics
US11984910B1 (en) * 2021-10-28 2024-05-14 Marvell Asia Pte, Ltd. Reinforcement learning-enabled low-density parity check decoder
CN113922868B (zh) * 2021-12-13 2022-03-18 南京先锋硕通无线技术有限公司 Dvb-rcs2 rl三涡轮迭代接收机及接收方法
CN115276937B (zh) * 2022-07-18 2023-11-28 哲库科技(北京)有限公司 探测参考信号的发送方法、装置、终端及存储介质

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8116410B1 (en) * 2004-08-09 2012-02-14 Rockstar Bidco, LP Communication signal decoding and soft demapping methods and systems
US10027457B2 (en) * 2015-12-14 2018-07-17 Cavium, Inc. Methods and apparatus for providing soft and blind combining for PUSCH CQI processing
US10171207B2 (en) * 2017-04-26 2019-01-01 Cavium, Llc Methods and apparatus for control bit detection
US10931360B2 (en) * 2019-04-23 2021-02-23 Samsung Electronics Co., Ltd System and method for providing multiple input multiple output (MIMO) detector selection with reinforced learning neural network

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023167453A1 (ko) * 2022-03-04 2023-09-07 삼성전자 주식회사 무선 통신 시스템에서 복호 장치 및 방법

Also Published As

Publication number Publication date
CN113381957A (zh) 2021-09-10
US11558147B2 (en) 2023-01-17
DE102021103239A1 (de) 2021-08-12
US20230120502A1 (en) 2023-04-20
US20210250121A1 (en) 2021-08-12

Similar Documents

Publication Publication Date Title
KR20210102116A (ko) 로그-가능 비율(llr) 최적화를 이용한 수신된 업링크 전송의 디코딩을 위한 방법 및 장치
US7555071B2 (en) Method and apparatus for non-linear scaling of log likelihood ratio (LLR) values in a decoder
US20220069964A1 (en) Methods and apparatus for providing soft and blind combining for pusch acknowledgement (ack) processing
EP3454517B1 (en) Ftn-based communication method and relevant apparatus
EP2391044A2 (en) A receiver for a wireless telecommunication system with a channel deinterleaver
US11729709B2 (en) Methods and apparatus for providing a resource element (RE) identification system to process received uplink transmissions
US12010673B1 (en) Methods and apparatus for combining received uplink transmissions
US20230254826A1 (en) Methods and apparatus for descrambling received uplink transmissions
US11750422B2 (en) Methods and apparatus for decoding received uplink transmissions
US10171207B2 (en) Methods and apparatus for control bit detection
US11683203B2 (en) Methods and apparatus for providing a demapping system with phase compensation to demap uplink transmissions
US10952187B2 (en) Methods and apparatus for providing a demapping system to demap uplink transmissions
KR20210105845A (ko) 업링크 전송들을 디맵핑하기 위해 위상 보상을 갖는 디맵핑 시스템을 제공하기 위한 방법들 및 장치
US11690057B2 (en) Methods and apparatus for detecting ACK/NACK bits with dual list-RM decoder and symbol regeneration for LTE PUCCH format 3
CN113285901A (zh) 用于提供具有相位补偿的解映射系统来对上行链路传输进行解映射的方法和装置
US9825799B2 (en) Method and apparatus for discarding unused points from constellation mapping rule using transceiver processing hardware (“TPH”)
WO2024091727A1 (en) Decoding correlated received multi-symbol data by guessing noise effect