KR20100114065A - 채널-map 메시지들 상의 선험적 정보를 이용한 채널 디코딩 - Google Patents

채널-map 메시지들 상의 선험적 정보를 이용한 채널 디코딩 Download PDF

Info

Publication number
KR20100114065A
KR20100114065A KR1020107017687A KR20107017687A KR20100114065A KR 20100114065 A KR20100114065 A KR 20100114065A KR 1020107017687 A KR1020107017687 A KR 1020107017687A KR 20107017687 A KR20107017687 A KR 20107017687A KR 20100114065 A KR20100114065 A KR 20100114065A
Authority
KR
South Korea
Prior art keywords
message
bit values
map
bits
hypotheses
Prior art date
Application number
KR1020107017687A
Other languages
English (en)
Other versions
KR101250873B1 (ko
Inventor
춘우 이
종현 박
Original Assignee
콸콤 인코포레이티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 콸콤 인코포레이티드 filed Critical 콸콤 인코포레이티드
Publication of KR20100114065A publication Critical patent/KR20100114065A/ko
Application granted granted Critical
Publication of KR101250873B1 publication Critical patent/KR101250873B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/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/41Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors
    • H03M13/4107Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors implementing add, compare, select [ACS] operations
    • 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/3994Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using state pinning or decision forcing, i.e. the decoded sequence is forced through a particular trellis state or a particular set of trellis states or a particular decoded symbol
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/65Purpose and implementation aspects
    • H03M13/6522Intended application, e.g. transmission or communication standard
    • H03M13/6544IEEE 802.16 (WIMAX and broadband wireless access)

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Error Detection And Correction (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Abstract

무선 통신 전송의 인코딩된 데이터 비트들을 디코딩하기 위한 방법 및 장치가 제공된다. 인코딩된 데이터 비트들에 대응하는 선험적인 비트 값들의 세트가 생성될 수 있다. 선험적인 비트 값들과 불일치하는 디코딩된 데이터 비트들에 대응하는 디코딩 경로들은 고려가능한 디코딩 경로들로부터 제거될 수 있으며, 제거되지 않은 가능한 디코딩 경로들 중 잔여 디코딩 경로들로부터 디코딩 경로를 선택함으로써 인코딩된 데이터 비트들이 디코딩된다. 선험적인 비트 값들은, DL-MAP, UL-MAP, RNG-REQ 및 BW-REQ 메시지들과 같은 다양한 메시지들로부터 추출될 수 있다.

Description

채널-MAP 메시지들 상의 선험적 정보를 이용한 채널 디코딩{CHANNEL DECODING WITH A-PRIORI INFORMATION ON CHANNEL-MAP MESSAGES}
본 발명의 특정 실시예들은 일반적으로 무선 통신에 관련되며, 더 구 체적으로는 무선 전송들을 디코딩하는 것에 관련된다.
광대역 인터넷 액세스 및 스트리밍 미디어 애플리케이션들과 같은 무선 통신 서비스의 빠른 성장은 더 높은 데이터 레이트에 대한 요구를 증가시키기에 이르렀다. 직교 주파수 분할 멀티플렉싱(OFDM) 및 직교 주파수 분할 다중 액세스(OFDMA)와 같은 멀티플렉싱 방식들의 발전들은 다음 세대 무선 통신 시스템에서 중요하다. 이는 이러한 방식들이 변조 효율성, 스펙트럼 효율성, 유연성(예를 들어, 차별화된 서비스 품질을 허용하는 것) 및 일반적인 단일 반송파 변조 방식들 보다 강력한 다중-경로 내구성(immunity)를 제공할 수 있다는 사실에 근거한다.
OFDM 및 OFDMA 시스템들은 종종 에러 정정을 제공하기 위해 송신기에서 컨벌루셔널 인코더들을 사용한다. 컨벌루셔널 코드를 사용하여, m-비트 데이터 스트링은 n-비트로 변환되며, 여기서 m/n은 코딩 레이트이다. 비터비(Viterbi) 디코더들과 같은 디코더들은 수신기에서 원래 m-비트 시퀀스를 복원하기 위해 수신된 인코딩된 n-비트들을 디코딩하기 위해 사용된다. 이러한 방식은 종종, 인코딩된 n-비트 중 하나 또는 그 이상이 정확하게 수신되지 않은 경우에도, 원래 m-비트 시퀀스가 정확하게 디코딩되도록 하며, 따라서 비트 에러 레이트의 감소를 야기한다.
그러나, 무선 서비스의 신뢰성 및 성능 요구들이 계속하여 증가함에 따라, 비트 에러 레이트를 지속적으로 감소하기 위한 진행중인 필요가 존재한다.
특정한 실시예들은 MAP 메시지에 대한 무선 통신 전송의 인코딩된 데이터 비트를 디코딩하기 위한 방법을 제공한다. 방법은 일반적으로 MAP 메시지의 콘텐츠 및 관련된 전송의 파라미터: 중 적어도 하나에 관한 선험적(priori) 정보에 기반하여 상기 인코딩된 데이터 비트들의 비트 값들의 세트들을 특정(specify)하는 가설을 생성하는 단계 및 상기 특정된 비트 값들과 불일치(inconsistent) 하는 디코딩된 비트들의 고려(consideration) 세트들을 제거하고, 그리고, 상기 가설에 의해 특정된 비트 값들과 일치하는 디코딩된 비트들을, 출력으로서, 선택함으로써 상기 전송을 디코딩하는 단계를 포함한다.
특정한 실시예들은 메시지에 대한 무선 전송을 수신하고 인코딩된 비트들의 세트를 생성하기 위한 수신기 프론트 엔드(front end), 가설 엔진 및 디코더를 포함하는 무선 통신을 위한 수신기를 포함한다. 가설 엔진은 각각이 상기 메시지와 관련되는 선험적인 정보에 기반하여 상기 인코딩된 데이터 비트들의 비트 값들의 세트를 식별하는, 하나 이상의 가설들을 생성하도록 구성된다. 디코더는 상기 가설들에 의해 특정된 비트 값들과 불일치 하는 디코딩된 비트들의 세트들을 고려에서 제거하고, 그리고, 상기 가설들 중 하나에 의해 특정된 비트 값들과 일치하는 디코딩된 비트들을, 출력으로서, 선택함으로써 상기 인코딩된 비트들을 디코딩하도록 구성된다.
특정한 실시예들은 무선 통신을 위한 장치를 제공한다. 장치는 일반적으로 메시지에 대한 무선 전송 및 인코딩된 비트들의 세트를 생성하기 위한 수단, 각각 상기 메시지에 관한 선험적 정보에 기반하여 상기 인코딩된 데이터 비트들의 비트 값들의 세트를 특정하는, 하나 이상의 가설들을 생성하기 위한 수단, 및 상기 가정들에 의해 특정되는 비트 값들과 불일치하는 디코딩된 비트들의 세트들을 고려에서 제거하고, 그리고, 출력으로서, 상기 가설들 중 하나에 의해 특정되는 비트 값들과 일치하는 디코딩된 비트들을 선택함으로써 상기 인코딩된 비트들을 디코딩하기 위한 수단을 포함한다.
특정한 실시예들은 일반적으로 MAP 메시지에 대한 무선 전송을 수신하고 그리고 인코딩된 비트들의 세트를 생성하기 위한 수신기 프론트 엔드, 가설 엔진, 및 디코더를 포함하는 모바일 디바이스를 제공한다. 가설 엔진은 상기 MAP 메시지의 콘텐츠 또는 이전에 디코딩된 MAP 메시지: 중 적어도 하나와 관련되는 선험적인 정보에 기반하여 상기 인코딩된 데이터 비트들의 비트 값들의 세트를 식별하는, 하나 이상의 가설들을 생성하도록 구성된다. 디코더는 상기 가설들에 의해 특정된 비트 값들과 불일치 하는 디코딩된 비트들의 세트들을 고려에서 제거하고, 그리고, 출력으로서, 상기 가설들 중 하나에 의해 특정된 비트 값들과 일치하는 디코딩된 비트들을 선택함으로써 상기 인코딩된 비트들을 디코딩하도록 구성된다.
본 발명의 앞서 인용된 특징들이 더 자세히 이해될 수 있는 방법으로, 앞서 간략하게 요약된, 본 발명의 더 구체적인 설명이 특정한 실시예들에 대한 참조에 의해 잘 이해될 것이며, 이들 중 일부는 첨부된 도면에 도시된다. 그러나, 첨부된 도면들은 본 발명의 단지 특정한 실시예들만을 도시하며, 따라서 이들의 자신의 범위를 제한하는 것으로 판단될 수 없으며, 본 발명은 동일하게 효과적인 다른 실시예들을 허용할 수 있다.
도 1은 본 발명의 특정한 실시예에 따른 예시적인 무선 시스템을 도시한다.
도 2는 본 발명의 특정한 실시예에 따른 무선 장치의 블록 다이어그램을 도시한다.
도 3은 본 발명의 특정한 실시예에 따른 송신기의 블록 다이어그램 및 수신기의 블록 다이어그램을 도시한다.
도 4A 및 4B는 본 발명의 특정한 실시예에 따른 선험적인 디코더의 블록 다이어그램을 도시한다.
도 5는 본 발명의 특정한 실시예에 따른 격자(trellis) 다이어그램의 상태 전이의 예시를 도시한다.
도 6 및 6A는 본 발명의 특정한 실시예에 따른 선험적인 디코딩의 예시적인 동작들의 플로우 다이어그램들을 도시한다.
도 7은 선험적인 정보 비트의 예시적인 값들을 이용한 도 5의 디코더를 도시한다.
도 8은 본 발명의 특정한 실시예에 따른, 선험적인 비트들에 기반하여 감소된 디코딩 경로들의 세트 및 디코딩 경로들의 전체 세트를 가진 격자 다이어그램을 의 예시를 도시한다.
도 9는 본 발명의 특정한 실시예에 따른 선험적인 정보의 제 1 세트를 고려하는 디코딩의 예시적인 결과를 도시한다.
도 10은 본 발명의 특정한 실시예에 따른 선험적인 정보의 제 1 세트를 고려하는 디코딩의 예시적인 결과를 도시한다.
도 11은 본 발명의 특정한 실시예에 따른 선험적 디코더 및 가설 엔진을 가진 수신기의 블록 다이어그램이다.
도 12는 본 발명의 특정한 실시예에 따른 가설 엔진의 블록 다이어그램이다.
도 13은 선험적인 정보 비트에 기반한 디코딩 가설들을 생성하기 위해 사용될 수 있는 예시적인 메시지 포맷을 도시한다.
도 14A-14G는 선험적인 정보 비트에 기반한 가설들의 상이한 디코딩을 도시한다.
도 15는 본 발명의 특정한 실시예에 따른 상이한 API 가설들에 대한 디코딩의 예시적인 결과들을 도시한다.
도 16은 본 발명의 특정한 실시예에 따른 상이한 API 가설들에 대한 디코딩의 예시적인 결과들을 도시한다.
도 17은 본 발명의 특정한 실시예에 따른 상이한 API 가설들에 대한 디코딩의 예시적인 결과들을 도시한다.
도 18은 병렬로 다수의 디코딩 가설들을 평가할 수 있는 예시적인 수신기를 도시한다.
도 19는 병렬로 다수의 디코딩 가설들을 평가하기 위한 예시적인 동작들을 도시한다.
도 20은 병렬로 다수의 디코딩 가설들을 평가할 수 있는 예시적인 디코더를 도시한다.
도 21은 순차적인 방법으로 다수의 디코딩 가설들을 평가할 수 있는 예시적인 수신기를 도시한다.
도 22는 순차적인 방법으로 다수의 디코딩 가설들을 평가하기 위한 예시적인 동작들을 도시한다.
도 23은 순차적인 방법으로 다수의 디코딩 가설들을 평가할 수 있는 예시적인 디코더를 도시한다.
도 24은 반복적인 방법으로 다수의 디코딩 가설들을 평가할 수 있는 예시적인 수신기를 도시한다.
도 25는 반복적인 방법으로 다수의 디코딩 가설들을 평가하기 위한 예시적인 동작들을 도시한다.
도 26은 DL-MAP 메시지에 기반하여 가설을 이용한 API 디코딩을 할 수 있는 예시적인 수신기를 도시한다.
도 27은 DL-MAP 메시지에 기반하여 가설을 이용한 API 동작들의 예시적인 동작들을 도시한다.
도 28은 예시적인 일반 DL-MAP 메시지 포맷을 도시한다.
도 29는 일반 DL-MAP 메시지의 API 디코딩을 위한 예시적인 동작들을 도시한다.
도 30은 압축된 DL-MAP 메시지 포맷을 도시한다.
도 31은 병렬로 일반 DL-MAP 및 압축된 DL-MAP 가설들을 평가할 수 있는 예시적인 디코더를 도시한다.
도 32는 병렬로 일반 DL-MAP 및 압축된 DL-MAP을 평가하기 위한 예시적인 동작들을 도시한다.
도 33은 UL-MAP 메시지에 기반한 가설을 이용하여 API 디코딩을 할 수 있는 예시적인 수신기를 도시한다.
도 34는 예시적인 UL-MAP 메시지 포맷을 도시한다.
도 35는 UL-MAP 메시지의 API 디코딩을 위한 예시적인 동작들을 도시한다.
도 36은 BW-REQ 및 RNG-REQ 메시지들과 관련한 가설들을 가진 기지국에서의 API 디코딩이 가능한 예시적인 수신기를 도시한다.
도 37은 예시적인 RNG-REQ 메시지 포맷을 도시한다.
도 38은 예시적인 BW-REQ 메시지 포맷을 도시한다.
도 39는 BW-REQ 및 RNG-REQ 메시지들의 API 디코딩을 위한 예시적인 동작들을 도시한다.
본 발명은 일반적으로 전송과 관련된 선험적(priori) 정보들을 이용하여 컨벌루셔널하게 인코딩된 무선 전송들을 디코딩하기 위한 기술들 및 장치를 제공한다. 선험적 정보는 선험적 정보와 일치하지 않는 비트들을 포함하는 것들을 제거함으로써 가능한 디코딩된 비트 스트림들의 파퓰레이션(population)을 효율적으로 감소하기 위해 사용될 수 있다. 이러한 오류 데이터를 야기하는 이러한 "알려진 잘못된" 경로들을 제거함으로써, 디코딩된 비트 에러 레이트들은 임의의 상황에서 개선될 수 있다.
여기에 사용되는 바와 같이, 선험적 정보라는 용어는 일반적으로 알려진 또는 가정된 원인으로부터 필수적으로 관련된 효과로 진행하는 정보와 같은, 미리 알려진 정보를 지칭한다. 아래에서 더 상세하게 설명될 바와 같이, 전송과 관련된 선험적 정보는 특정한 메시지들에서 알려진 정보 비트들을 포함한다. 이러한 알려진 정보 비트들의 예시들은, 이전의 전송들에서 그들의 값에 기반하여 알려졌거나 예측가능한 값들을 가지는 비트들 또는 표준들에 의해 특정되는 바와 같은, 값들을 가진 예약된 비트들을 포함한다. 이러한 알려진 비트 위치들 및 비트 값들은(여기에서는 "API 값들"로서 지칭됨) API 값들과 반대되는 값들에 대응하는 경로들을 제외함으로써 디코딩 성능을 향상시키기 위해 디코딩 프로세스에서 사용될 수 있다.
예시적인 무선 통신 시스템
본 명세서의 방법 및 장치는 광대역 무선 통신 시스템에서 사용될 수 있다. 용어 "광대역 무선"은 무선, 음성, 인터넷, 및/또는 주어진 영역에 걸친 데이터 네트워크 액세스를 제공하는 기술을 지칭한다.
Worldwide Interoperability for Microwave Access를 의미하는, WiMAX는 긴 거리에 걸친 높은-스루풋(throughput) 광대역 접속들을 제공하는 표준-기반 광대역 무선 기술이다. 오늘날 WiMAX의 두 개의 메인 애플리케이션들이 존재한다: 고정식 WiMAX 및 모바일 WiMAX. 고정된 WiMAX 애플리케이션들은 점-대-다중점이며, 예를 들어, 가정 및 회사에 광대역 액세스를 인에이블한다. 이동 WiMAX는 광대역 속도로 셀룰러 네트워크의 전체 이동성을 제공한다.
이동 WiMAX는 OFDM(직교 주파수-분할 멀티플렉싱) 및 OFDMA(직교 주파수 분할 다중 액세스) 기술에 기반한다. OFDM은 최근에 고-데이터-레이트 통신 시스템의 다양성을 넓게 수용한 디지털 다중-캐리어 변조 기술이다. OFDM을 이용하여, 전송 비트 스트림은 다수의 낮은-레이트 서브-스트림들로 나뉜다. 각각의 서브-스트림은 다수의 직교 서브-캐리어들 중 하나를 이용하여 변조되고, 복수의 병렬 서브-채널들 중 하나를 통해 전송된다. OFDMA는 사용자들이 상이한 시간 슬롯들의 서브캐리어들을 할당받는 다중 액세스 기술이다. OFDMA는 넓게 가변하는 애플리케이션들, 데이터 레이트들 및 서비스 품질 요구사항들을 가진 많은 사용자들의 편의를 제공할 수 있는 유연한 다중-액세스 기술이다.
무선 인터넷 및 통신들의 빠른 성장은 무선 통신 서비스들의 필드에서 높은 데이터 레이트에 대한 요구를 증가시켰다. OFDM/OFDMA 시스템들은 오늘날 가장 유망한 연구 영역 중 하나로서 그리고 무선 통신의 다음 세대를 위한 핵심 기술(key technology)로서 간주된다. 이는 OFDM/OFDMA 방식들이 변조 효율성, 스펙트럼 효율성, 유연성(예를 들어, 차별화된 서비스 품질을 허용하는 것) 및 일반적인 단일 반송파 변조 방식들 보다 강력한 다중-경로 내구성(immunity)를 제공할 수 있다는 사실에 근거한다.
IEEE 802.16x는 고정 및 이동 광대역 무선 액세스 (BWA) 시스템들에 대한 무선 인터페이스를 정의하기 위한 확장중인 표준 기구이다. IEEE 802.16x는 고정된 BWA 시스템들에 대하여 2004년 5월에 "IEEE P802.16-REVd/D5-2004"를 승인하였고, 이동 BWA 시스템들에 대하여 2005년 10월에 "IEEE P802.16e/D12 Oct. 2005"를 출판하였다. 이러한 두 개의 표준들은 네 개의 상이한 물리 계층(PHY)들 및 하나의 매체 액세스 제어(MAC) 계층을 제어한다. 네 개의 상이한 물리 계층들의 OFDM 및 OFDMA 물리 계층은 각각 고정 및 이동 BWA 영역에서 가장 인기있다.
예시적인 환경
도 1은 본 발명의 실시예들이 기지국(110)으로부터 이동국(120)으로 무선 신호를 처리하기 위해 사용될 수 있는 예시적인 시스템을 도시한다. 기지국(110)은 셀룰러 전화 탑과 같은, 고정된 위치에 설치된 무선 통신 스테이션일 수 있다. 이동국(120)은 셀룰러 핸드셋 또는 다른 타입의 모바일 디바이스와 같은, 기지국(110)과 통신할 수 있는 임의의 적합한 타입의 사용자 장비(UE)일 수 있다.
기지국(110) 및 이동국(120)은 각각 하나 이상의 안테나(112, 122)를 이용하고, 직교 주파수-분할 멀티플렉싱(OFDM) 및 직교 주파수 분할 다중 액세스(OFDMA)와 같은 변조 방식들을 사용하는 임의의 적합한 무선 통신 기술을 이용하여 통신할 수 있다. 임의의 실시예들에 대하여, 기지국 및 이동국 사이의 통신은 IEEE 802.16(Worldwide Interoperability for Microwave Access-WiMAX) 및 802.20(Mobile Broadband Wireless Access - MBWA) 표준 패밀리와 같은 IEEE(Institute of Electrical and Electronics Engineers) 표준들의 변형과 부분적으로 또는 전체적으로 부합할 수 있다.
임의의 애플리케이션들에서, 기지국(110)은 순방향 링크로 공통적으로 지칭되는 것을 통해 이동국으로 데이터를 전송할 수 있으며, 이동국(120)은 역방향 링크를 통해 기지국(120)으로 데이터를 전송한다. 아래에서 더 자세히 설명될 바와 같이, 상이한 타입들의 선험적인 정보들은 순방향 및 역방향 링크 전송들에 대하여 사용가능할 수 있다. 이러한 선험적인 정보는 기지국(110) 및 이동국(120) 사이의 특정 메시지들의 타이밍 및 콘텐츠와 관련된 정보를 포함할 수 있으며, 이는 전송의 하나 이상의 비트들의 값이 알려지게 할 수 있다.
여기에 설명된 기술들은 기지국(110), 이동국(120), 또는 둘 다에서 수행되는 디코딩에서 사용될 수 있다. 아래에서 더 자세히 설명될 바와 같이, 기지국(110) 및 이동국(120) 사이에서 전송되는 상이한 타입의 메시지들과 관련한 선험적인 정보는 전송 내의 특정한 비트 위치들의 값을 결정하기 위해 사용될 수 있다.
도 2는 전송된 신호들을 수신할 수 있는 수신기의 일 실시예의 예시적인 컴포넌트들의 블록 다이어그램을 도시한다. 하나 이상의 안테나(202)는 송신기로부터의 전송된 신호들을 수신하고 이를 무선 주파수(RF) 프론트 엔드(210)로 전송한다. RF 프론트 엔드(210)는, 전송된 신호들을 수신하고 자동 이득 제어(AGC), 고속 푸리어 트랜스폼(FFT) 블록, 채널 추정기, 및 캐리어-대-간섭-및-잡음 비(CINR) 추정기와 같은 디지털 신호 프로세싱을 위해 그들을 준비시키기 위한 임의의 적합한 회로들을 포함할 수 있다.
RF 프론트 엔드(210)로부터의 신호들은 그리고나서 신호 프로세싱 블록(220)으로 전송될 수 있으며, 신호 프로세싱 블록(220)은 서브캐리어 할당-해제, 신호 디매핑, 등과 같은 임의의 적합한 회로들을 포함할 수 있다. 신호 프로세싱 블록(220)의 출력은 인코딩된 비트들의 세트이다. 인코딩된 비트들은 채널 디코더(230)로 포워딩되고, 이는 대응하는 전송에 관한 선험적인 정보를 이용하여 인코딩된 비트들을 디코딩할 수 있다.
선험적 디코딩
도 3은 본 발명의 일 실시예에 따른 선험적 정보에 기반한 디코더 동작을 수행할 수 있는 디코더(230)의 블록 다이어그램이다. 도시된 예시가 비터비(Viterbi) 디코딩 방식을 예로서 보여주나, 여기에 표시된 선험적 디코딩 기술들은 터보(Turbo) 코딩/디코딩, 저-밀도 패리티-체크(LDPC) 코딩/디코딩, RS 코딩/디코딩, BCH 코딩/디코딩, 및 다양한 다른 방식들과 같은 다른 타입의 디코딩 방식들에 적용될 수 있다.
시스템적 코드들을 사용하는 방식들의 경우에서, 코딩된 비트들은 시스템적 비트(인코딩되기 전의 정보) 및 패리티 비트들(인코딩으로 인한 리던던시 비트들)을 포함할 수 있다. API 디코딩 방식은 시스템적 비트들에 적용될 수 있다. 다시 말해서, API 비트 값들은 사용된 특정한 시스템적 코드들에 기반하여 시스템적 비트들의 알려진 값들을 포함할 수 있다. 시스템적 코드들을 사용하는 시스템들에 대하여 API를 적용하기 위해, 수신된 데이터 비트들은 디코더의 프론트 엔드에서 (알려진/예측된) API 비트 값들과 교체될 수 있다. 이 방식으로, 성공적인 디코딩의 확률은 시스템적 디코더들에 대한 API를 사용하여 증가될 수 있다.
디코더(230)는 브랜치 메트릭 유닛(232), ACS(add compare select) 로직(234), 트레이스백(traceback; TB) 유닛(236)을 포함하여 "소프트(또는 하드)" 수신/인코딩된 비트들(240)의 세트로부터 디코딩된 비트들(246)의 세트를 생성한다. 브랜치 메트릭 유닛은 일반적으로 브랜치 메트릭들을 계산하기 위해 기능하며, 이는 수신된 심벌(비트들의 세트) 및 코드 알파벳의 심벌들 사이의 일반화된 거리들을 나타낸다. ACS 유닛(234)은 일반적으로 경로들(2K-1 개의 경로들, 제약 길이를 K로 가정함)을 디코딩하기 위한 메트릭들을 생성하기 위해 브랜치 메트릭 데이터를 컴파일(complile)하고, 최적으로서 이러한 디코딩된 경로들 중 하나를 선택한다. 이러한 선택들의 결과는 트레이스백 유닛(236)의 메모리에 기록되고, 이는 저장된 결정들로부터 경로를 복원(restore)한다. 디코딩된 비트들의 세트는 그리고나서 복원된 경로의 전이에 기반하여 생성될 수 있다.
디코더 컴포넌트들 중 하나 이상은 선험적 정보와 불일치하는 비트 값들에 대응하는 디코딩 경로들의 선택을 방지하기 위해 API 비트들(250)의 세트에 의해 제어될 수 있다. 다시 말해서, API 비트들(250)은 디코딩되고 있는 비트들의 시퀀스에서 특정한 비트 위치들에 대하여 알려진 특정한 값들("0" 또는 "1")을 표시하기 위해 충분한 정보를 포함할 수 있다. API 비트들(250)에서 특정된 값과 다른 값을 가지는 임의의 비트 스트링은 유효한 디코딩된 비트 스트링이 아니다. 따라서, 디코더는 경로 선택동안 고려되는 것으로부터 이러한 무효 비트 스트링들에 대응하는 디코딩 경로들을 제거할 수 있다.
도 4에 도시된 바와 같이, 임의의 실시예들에 대하여, ACS 유닛(234)은 무효 디코딩된 비트 스트링들에 대응하는 디코딩 경로들을 제외하기 위해 API 비트들(250)에 의해 제어될 수 있다. ACS 동작동안, API 비트들(250)은 API 값들과 불일치하는 인코딩된 비트 값들에 대응하는 특정 디코딩 경로 전이(transition)들을 감소하기 위해 사용될 수 있다.
API 비트들(250)은 일반적으로 선험적 정보 그리고, 추가적으로, 이러한 비트 값들이 무엇인지에 기반하여 알려진 (또는 예측가능한) 비트 값들을 가지는 디코딩된 비트스트링에서 하나 이상의 비트들을 식별하기에 충분한 정보를 포함할 수 있다. 이 정보가 전달될 수 있는 실제 포맷은 실제 구현 방식에 따라 상이한 실시예들로 가변적일 수 있다.
예를 들어, 임의의 실시예들에 대하여, API 비트들(250)은 세 개의 타입의 정보를 포함할 수 있다: 비트 위치들(252)의 표시, 비트 값들(254) 및 선택적으로, API 마스크 비트들(256). 비트 위치들(252)은 알려진 값들을 가지는 (인코딩된 시퀀스에서의) 비트 위치들의 표시를 제공할 수 있으며, 비트 값들(254)은 인코딩된 비트의 실제 알려진 값들("0" 또는 "1")을 제공한다. 아래에 자세히 설명되는, 도 7은 이 포맷에 따라 비트 위치들, 비트 값들, 및 마스크 비트들에 대한 예시적인 값들을 이용한 도면을 제공한다.
API 비트 위치들(252)은 격자(trellis) 구조에서 알려진/예측된 비트의 위치에 대응하는 비트 위치들을 식별할 수 있다. 일 실시예에 따라, API 비트 위치들(252)은 알려진 값들을 가지는 비트 위치들을 명백하게 식별할 수 있으며, 모든 다른 비트 위치들은 "알려지지 않음"으로 간주된다. 비트 값들(254)의 "0" 또는 "1"의 대응하는 비트 값은 따라서 격자 구조에서 유효한 전이를 식별하고 무효 전이를 포함한 디코딩 경로들을 효율적으로 제거하기 위해 사용될 수 있다.
예를 들어, 도 5는 3-비트 상태들을 가지는 격자 구조의 상태 전이의 예시를 도시한다. 도시된 예시는 ½의 코딩 레이트 및 K=4(3-비트, K-1, 상태 레지스터)를 가정한다. 실선 화살표는 "0" 입력 비트에 대응하는 상태 전이를 표시하고, 점선 화살표는 "1" 입력 비트에 대응하는 상태 전이를 표시한다. API 디코딩에 따라, 알려진 값들과 불일치하는 입력 비트들에 대응하는 상태 전이들은 고려대상에서 제외되며, 따라서 최종 선택에서 이러한 전이들을 포함하는 임의의 경로들을 효율적으로 제거한다.
예로서, 만약 이 상태에 대한 알려진 API 비트 값이 "0"인 경우, 실선을 가진 상태 전이가 평가될 것이며, 점선을 가진 상태 전이들은 그들이 선택을 위한 고려대상이 되어서는 안되는 무효한 경로들의 일부이기 때문에 계산될 필요가 없다. 전술한 바와 같이, 이러한 전이들은 상태 메트릭의 값을 최악의 경우 값으로 설정함으로써 다음 전이에서 효율적으로 제거될 수 있다. 선택으로부터 무효한 경로들을 제거함으로써 비트 에러 레이트를 감소하는 것에 더하여, API 비트 값들에 기반하여 전이들의 수를 제거하는 것은 ACS 유닛에서의 연산들의 수를 감소시킬 수 있다.
특정한 실시예들에 대하여, 마스크 기능은 API 비트 값이 무시되어야하는 비트 위치들을 식별하기 위해 API 마스크 비트들(256)을 사용함으로써 실현될 수 있다. 이러한 마스크 기능은, 예를 들어, 표준의 이전의 알려진 비트 값이 알려지지 않게 하도록 하면서 변경되는 경우, 유용하며 유연성을 더할 수 있다.. 마스크 비트를 설정하는 것은 이러한 변화들에 효율적으로 조화하기 위한 단순한 메커니즘을 제공할 수 있다. 마스크 기능은 알려진 값을 더 이상 가지지 않는 비트 위치의 식별을 제거하기 위해 API 비트 위치들(252)을 조작ㅎ마으로써 실현될 수 있고, 따라서, 비트 마스크 값의 값을 변경하는 것에 대안을 제공하고 그리고/또는 비트 마스크 값에 대한 수요를 전부 제거한다.
도 6은 API 디코딩을 위한 예시적인 동작들(600)을 도시한다. 동작들은, 602에서, 선험적인 정보에 기반하여 가설을 생성함으로써 시작한다. 604에서, 가설의 API 비트 값들과 불일치하는 비트 값들을 야기하는 디코딩 경로들이 제거된다. 마지막으로, 606에서, 디코딩이 잔여 경로들 중 하나의 선택에 기반하여 수행된다.
여기에 사용되는 바와 같이, 가설이라는 용어는 일반적으로, 예를 들어, 알려진 값들을 가진 비트 위치들을 표시하고 그리고 이러한 비트들에 대한 값을 특정하는 API 비트들의 특정 세트를 지칭한다. 아래에 더 자세하게 설명될 바와 같이, 특정한 실시예들에 대하여, 분리 로직(여기서 "가설 엔진"으로서 지칭됨)은 예를 들어, MAC 프로세서로부터 메시지 정보에 기반하여 하나 이상의 가설들을 생성하기 위해 제공될 수 있다.
도 7은 API 디코더에 적용되는 6-비트 스트림에 대한 가설의 일 예를 도시한다. 도시된 가설들은, API 비트 위치 값들 [1 2 3 5]을 통해, API 비트 값들이 디코딩에서 사용하기 위한 비트 위치들 1, 2, 3, 및 5에서 나타난다는 것을 표시한다. 도시된 방식에 따라, 대응하는 API 비트 값들 [1 0 1 1]은 이러한 위치들에서 비트들에 대한 비트 값들을 표시한다:bit1=1, bit2=0, bit3=1, 및 bit5=1. 특정한 실시예들에서, [0 0 0 0] API 마스크 비트 값들이 사용되어 어떠한 비트들에도 마스크 기능이 적용되지 않았음을 표시할 수 있다. 반면에, API 디코딩으로부터 비트를 제외함으로써, 마스크 비트는, 비트 위치 5를 마스크하기 위해, 예를 들어 [0 0 0 1]로 설정될 수 있으며, [1 0 1 X]의 유효 비트 값을 야기한다.
물론, API 마스크 기능은 API 비트 위치 값들 또한 제어함으로써 실현될 수 있다. 예를 들어, 비트 위치 5는 비트 위치 값으로부터 5를 제거함으로써 유효하게 마스크 아웃될 수도 있으며, 이는 대응하는 API 비트 값들[1 0 1]을 가진 비트 위치 값 [1 2 3]을 야기할 수 있다. 이 방식에서, API 비트 위치들은 개별 마스크 값 데이터 구조에 대한 필요 없이 효율적으로 마스크될 수 있다.
선택적인 방식에서, API 비트 값들 및 대응하는 API 마스크 값들만이 사용될 수 있다. 일 예로서, 비트 시퀀스에 모든 위치들이, 예를 들어, API 위치 값(예를 들어, [1 2 3 4 5 6])에서 모든 비트 위치들의 표현 위치 또는 디폴트(default)에 의해 API 디코딩을 위해 사용된다는 것이 가정될 수 있다. 다른 경우에, API 마스크 값들은 대응하는 API 비트 값들을 가지지 않는 비트 위치들을 식별하기 위해 사용될 수 있다. 예를 들어, [0 0 0 1 0 1]의 API 마스크 값은 비트 위치 4 및 6에 대응하는 API 비트 값들이 무시되어야만 한다고 표시하는 "1" 값들과 사용될 수 있으며, [1 0 1 X 1 X]의 대응하는 비트 값들을 야기한다.
도 8은 도 7에 도시된 가설들의 API 비트 값들이 어떻게 디코딩 동안 고려되는 디코딩 경로들의 수를 감소시키기 위해 적용될 수 있는지를 도시한다. 상단 다이어그램(810)은 모든 입력 비트들이 알려지지 않는다고 가정하는 일반적인 디코딩 방식에서 고려되는 다이어그램에 걸친 모든 가능한 경로들을 도시한다. 하단 다이어그램(820)에 도시된 바와 같이, 그러나, API 디코딩 방식은 알려진 API 비트 값들을 사용하는 것에 기반하여 다수의 경로 전이를 제거함으로써, 크게 감소된 수의 경로들을 탐색한다.
API 비트 값들에 기반한 경로들의 감소는 좌로부터 우의 다이어그램(820)을 트해버싱(traverse)함으로써 설명될 수 있다. 대응하는 전이에 대한 알려진 API 값들은 상단에 리스팅된다. 최초의 전이에 대하여, 비트 값은 "1"로서 알려지고, 제로 입력 비트에 대응하는 실선 경로 전이들의 제거를 야기한다. 이는 상태 노드들 100b, 101b, 110b 및 111b로의 전이를 야기한다.
제 2 전이는 알려진 비트 값 "0"에 대응하며 점선 경로 전이의 제거를 야기한다. 이는 상태 노드들로의 전이가 010b 및 011b가 되도록 한다. 제 3 전이는 알려진 비트 값 "1"에 대응하며 실선 경로 전이들의 제거를 야기한다. 이는 단일 상태 노드 101b로의 전이를 야기한다.
제 4 전이의 비트 값은, 그러나, 알려지지 않았다. 따라서, 가능한 경로들 둘 다가 평가된다. 이는 상태 노드들 010b 및 110b로의 전이를 야기한다. 제 5 전이는 알려진 비트 값 "1"에 대응하며 실선 라인 경로 전이의 제거를 야기한다. 이는 상태 노드들 101b 및 111b로의 전이를 야기한다. 제 6 전이에 대한 비트 값은 또한 알려지지 않았다. 따라서, 가능한 경로들 둘 다 평가되며, 상태 노드 101b로부터 상태 노드들 010b 및 110b로의 전이를 야기하며, 상태 노드 111b로부터 상태 노드들 011b 및 111b로의 상태 노드들로의 전이를 야기한다.
이러한 잔여 경로들에 대한 브랜치 메트릭들은 최적 경로를 선택하고 디코딩된 비트들의 대응하는 세트를 생성하기 위해 평가될 수 있다. 무효 비트 시퀀스들에 대응하는 디코딩 경로들을 제거함으로써, 비트/패킷 에러 레이트들은 API 디코딩을 사용하여 개선될 수 있으며, 잡음있는 환경에서는 더 큰 향상이 기대된다.
도 9는 IEEE 802.16e 표준의 프레임 제어 헤더(FCH)/다운링크 프레임 프리픽스(DLFP) 메시지의 시뮬레이션된 디코딩하기 위한 신호 대 잡음 비(SNR) 대 패킷 에러 레이트(PER)의 예시적인 그래프이다. 이러한 타입의 메시지는 24 개의 정보 비트를 포함한다. 물론, 5 개의 비트는 표준에 따라 0으로 설정될 예약된 비트이다. 이러한 시뮬레이션된 예시에서, 이러한 5개의 예약된 비트들은, 24 비트 스트링에서 대응하는 위치들에서 알려진 비트 값 "0"를 사용하여, 선험적인 정보로서 사용된다. 시뮬레이션은 변조 및 코딩을 다음과 같이 가정한다: 반복인자 4 및 중복인자 2를 이용한 QPSK, TBCC(r=1/2), 그리고 수신 측(RX)에서의 반복 MRC(Maximum Ratio Combining)을 가정한다.
도시된 바와 같이, API 코딩 방식은 AWGN 환경에서 일반적인 디코딩 방식과 비교하여 향상된 성능을 보여준다. 예를 들어, API 디코딩 방식은 일반적인 디코딩과 비교하여(API 를 고려하지 않고) AGWN 채널에서 PER 10-2에서 약0.6dB 이득을 보여준다.
도 10은 도 9와 유사한 다이어그램이나, 대응하는 시뮬레이션이 반복 MRC(Maximum Ratio Combining) 및 수신단에서 중복을 가정한다. 도시된 바와 같이, 이 예에서, API 디코딩 방식은 API 디코딩 방식이 없는 것과 비교하여 AGWN 채널에서 PER 10-2에서 약0.75dB 이득을 보여준다.
가설 엔진
전술한 바와 같이, 특정 실시예들에서, 가설 엔진이 API 디코딩을 수행하는데 사용되는 API 비트들 값들의 세트를 각각 포함하는 "가설들"을 생성하기 위해 제공될 수 있다. 특정 구현에 따라, 가설 엔진은 단일 가설 또는 이러한 알려진 비트 값들이 무엇인지 그리고 어떠한 비트 값들이 알려진 값들인지가 차별되는 다수의 가설들을 생성할 수 있다. 다수의 가설들을 평가하는 것은, 예를 들어, 주어진 시퀀스에서, 제한된 수의 유효 비트 조합들이 존재하는 경우 유용할 수 있다.
도 11은 가설 엔진(1110) 및 API 디코더(230)를 포함하는 수신기 회로(1100)를 도시한다. 도시된 바와 같이, 가설 엔진(1110)은 매체 액세스 제어(MAC) 프로세서(1120)로부터 메시지에 관한 정보를 수신하고 API 디코더(230)에 의해 사용되기 위한 API 비트 값들(가설)을 생성한다. API 디코더(230)는 가설 엔진(1110)에 의해 제공되는 API 비트 값들을 이용하여 수신된 소프트(또는 하드) 비트 Rs를 디코딩하는 것을 시작한다. API 디코더(230)는 디코딩된 데이터 비트 Rd를 출력하며, 이는 메시지 파서(parser)(1130)로 전달된다.
메시지 파서(1130)가 디코딩된 비트들이 일종의 메시지에 대한 것이라고 검출하면, 메시지는 파싱되고 MAC(매체 액세스 제어) 프로세서(1120)로 전달된다. MAC 프로세서(1120)는 예를 들어, 다음 가능한 메시지 타입(들)이 무엇인지 그리고 그 타이밍이 언제일지를 결정하기 위해 수신된 데이터를 분석하는, 프로토콜 분석기의 일 타입으로서 기능할 수 있다.
일 예로서, MAC 프로세서(1120)는 최초의 유입 메시지(또는 데이터)가 FCH/DLFP 메시지일 것이라고 인식할 수 있으며, 다운링크 프리엠블이 이어진다. 임의의 경우들에서, MAC 프로세서(1120)는 예를 들어, 코딩 레이트, 메시지 길이, 또는 임의의 다른 파라미터를 결정하기 위해, 이전 프레임에서 임의의 정보를 사용할 수 있다. MAC 프로세서(1120)는 이 정보를 특정한 비트 위치들에 대한 알려진 비트 값들(또는 예측된 비트 값들을) 추출하고 API디코더에 포워딩하기 위해 API 정보를 생성하기 위해 사용할 가설 엔진(1110)으로 제공한다.
도 12는 선험적 정보 및 MAC 프로세서(1120)에 의해 제공되는 메시지 정보에 기반하여 디코딩 가설들을 생성하기 위해 사용될 수 있는 예시적인 가설 엔진(1110)을 도시한다. 도시된 바와 같이, 가설 엔진은 메시지 타입의 표시를 수신하고 메시지 타입에 의해 지정되는 대응하는 메시지(들)을 검색하기 위한 로직(1210)을 포함하며 메시지(들)의 포맷은 포맷 로직(1220에 의해 분석된다.
특정한 실시예들에서, (표준에 따라 알려진 값으로 설정된 예약된 비트와 같은) 고정된/알려진 비트 값들을 가진 비트 위치들에 더하여, 가설들은 예측가능한 정보를 이용하여 생성될 수 있다. 일 예로서, 비트 정보는 이전에 수신된 메시지(예를 들어, 코딩 타입은 하나의 메시지로부터 다음메시지로 갈때 잘 변경되지 않을 수 있음)로부터의 값에 기반하여 예측가능할 수 있다.
따라서, 분류 로직(1230)은 적어도 세 개의 카테고리들로 주어진 메시지의 비트 정보를 분류할 수 있다: 고정 정보, 예측가능한 정보, 및 가변 정보. 고정된 (알려진) 정보는 일반적으로 고정되어 초기 단계에서 100% 알려진 정보 또는 임의의 조건들(예를 들어, 관련된 메시지들의 디코딩 결과들을 체크한 이후에) 하에 알려지는 임의의 비트 값들을 지칭한다. 예를 들어, 데이터가 디코딩되기 이전에 위치하는 것으로 알려진 메시지들 또는 데이터와 같은, 디코딩될 데이터와 관련된 메시지들의 디코딩된 결과들이 분석될 수 있으며, API 정보는 분석된 데이터로부터 추출될 수 있다.
예측가능한 정보는 특정 조건 또는 가정하에서 예측 가능하여 하나 이상의 비트들의 세트에 대해 상이한 후보 값들 또는 비트 조합들을 제공할 수 있는 정보를 포함할 수 있다. 상이한 후보 값들은 상이한 가설들에서 포함될 수 있다. 예를 들어, 예측가능한 정보는 특정한 조건 또는 가정하에서 예측가능한 임의의 정보 또는 관련된 메시지들의 디코딩 결과들을 체크한 이후에 예측가능한 정보를 포함할 수 있다.
가변 정보는 일반적으로 알려지지 않거나 예측하기 너무나 어려워 일반적으로 API 비트 값들로 사용되지 않는 정보(예를 들어, 이러한 비트 위치에 대한 API 비트 위치 값들은 "0"으로 설정될 수 있음)를 포함한다. 정보 비트들을 분류한 이후에, 가설 엔진의 가설 API 및 전달 로직(1240)은 분류된 정보를 이용하여 API 비트 값들의 일 세트 또는 세트들(각각의 세트는 가설에 대응함)을 생성할 수 있다. 예를 들어, 로직(1240)은 디코더(230)로 출력될 API 비트 위치, 비트 값, 마스크 스트링들을 구성할 수 있다.
여기에 나타나는 API 디코딩 방식은 다양한 종류의 메시지들에 적용될 수 있다. 예를 들어, API 디코딩은 (FCH) 다운링크 프레임 프리픽스(DLFP) 메시지들, 아래에 설명될 바와 같이, 일반 다운링크 MAP(DL-MAP) 메시지들, 압축된 DL-MAP 메시지들, 업링크 MAP(UL-MAP) 메시지들, 대역폭 요청(BW-REQ) 메시지들, 초기 레인징 요청(IRNG-REQ) 메시지들 등에 적용될 수 있다.
프레임 제어 헤더(FCH) 다운링크 프레임 프리픽스(DLFP) 메시지(1300)는 도 13에 도시된 바와 같이, 고정된, 예측가능한 그리고 가변인 것으로 분류될 수 있는 다양한 정보 비트의 좋은 예를 제공한다. FCH 메시지의 포맷 및 콘텐츠는 IEEE 802.16e OFDMA 표준에 정의된다. DLFP는 FCH 채널의 콘텐츠이다. DLFP는 각각의 프레임의 시작에서 전송되는 데이터 구조이며 현재 프레임과 관련된 정보를 포함하고 FCH에 매핑된다. 따라서, DLFP의 성공적인 디코딩은 전체 프레임을 프로세싱하기 위해 매우 중요하다. 임의의 비트들의 분류는 시간에 따라, 예를 들어, 초기 획득(acquisition) 상태로부터 제 1 메시지 프레임을 검출하는 전이 이후에 변경될 수 있다.
일 예로서, 비트맵 필드(1310)은 6 비트를 포함하며, 각각의 비트는 대응하는 메시지 그룹이 세그먼트에 의해 사용되는지 여부를 표시한다. 초기 획득 상태에서, 이러한 비트들은 알려지지 않는다. 그러나, 초기 디코딩 및 메시지 세그먼트 식별 이후에, 비트들 중 적어도 하나는 식별될 것이다(예를 들어, 제 1 메시지 그룹 비트는 API 비트="1XXXXX"로서 사용됨). 또한, 일반 동작 상태에서, 이동국은 기지국이 이전 프레임에서 동일한 비트맵을 전송하였다고 가정하면 6 비트들 전부를 예측할 수 있다.
전술한 바와 같이, 예약된 필드들(1320 및 1322)의 비트는 표준이 변경되지 않는한 고정된 채로 유지될 것이다. 반대로, 반복 타입 필드(1330)의 2 비트는 예측하기 어려우며 프레임마다 변경될 수 있다.
3-비트 코딩 타입 필드(1340)는 상이한 방법으로 분류될 수 있으며, 다수의 상이한 가설들을 생성하기 위해 사용된다. 예를 들어, 코딩의 타입에 어떠한 조건들도 설정하지 않고, 3-비트 필드는 가변적인 것으로서 취급될 수 있다. 그러나, 선험적인 정보를 이용하여 이러한 비트들 중 일부는 고정된 것으로 취급될 수 있다. 예를 들어, WiMax의 현재 버전이 두 개의 타입의 코딩(TBCC(0b000) 및 CTC(0b010)만을 지원한다고 알려진 경우, 제 1 및 제 3 비트들은 알려진 비트 값"0"으로서 취급될 것이다(API 비트 ="0b0X0").
8-비트 길이 필드(1350)가 프레임마다 가변하나, 비트들의 일부는 상이한 방법으로 분류될 수 있다. 일 예로서, 길이 필드 상에 어떠한 제한도 가하지 않는 경우 모든 8개의 비트들이 가변적일 수 있다. 그러나, 대부분의 경우들에서, DL-MAP의 길이는 2^7보다 적어서, MSB가 "0"인것으로 예측될 수 있도록 할 수 있다(API 비트 "0b0XXXXXXX"). 이러한 예측이 참이 아닐 수 있으나, 달성되는 비트 에러 레이트의 향상은 상이한 가설을 이용하여 다시 디코딩하여야 하는 성능 결점(penalty)보다 비중이크다(outweigh). 더 공격적(aggressive)인 가설들이 유사한 방법, 예를 들어, 길이가 2^6보다 작을 것(API 비트 = "0b00XXXXXX") 또는 2^4보다 작을것(API 비트 = "0b0000XXXX")이라고 가정하여 생성될 수 있다.
도 14A-14G는 전술한 가능한 분류들 및 가설들 및 정보에 기반하여 FCH/DLFP 메시지에 대한 다수의 API 디코딩 가설 예시들을 도시한다. 가설들은 일반적으로 알려진 비트 값들로 취급되는 비트들의 수에 기반하여 그 가설이 얼마나 "공격적"인지를 나타내는 상이한 레벨들(L0-L6)을 가지는 것으로서 참조된다.
도 14A를 먼저 참조하면, L0 가설은 각각의 프레임의 제 1 메시지의 경우에서와 같이, API 비트 값들이 없는(가설이 없는) 경우에 대응한다. 다시 말해서, 메시지가 디코딩되지 않았기 때문에, API 값들을 생성하기 위해 사용될 수 있는 메시지 정보가 존재하지 않는다. 도 14B는 가설에서 예약된 비트 값들만이 사용되는 제 1 레벨(L1) 가설을 도시한다.
도 14C는 L2 가설을 도시하며, 이는 가설에서 사용되는 비트맵 비트 값(제 1 프레임에서 표시된 메시지 그룹)을 더한 예약된 비트 값들을 포함한다. 도 14D는 L3 가설을 도시하며, 이는 L2 가설과 비교하여 이전 프레임에 사용되었던 잔여 비트맵 비트 값들 더한다.
도 14E는 L4 가설을 도시하며, 이는 L3 가설과 비교하여 TBCC 및 CTC 지원되는 코딩 타입들에 일반적인 코딩 필드 비트 값들을 더한다. 도 14F는 L5 가설을 도시하며, 이는 L4 가설과 비교하여, 길이가 2^6보다 작다는 가설에 기반한 길이 필드의 상위 2 비트를 더한다. 도 14G는 L6 가설을 도시하며, 이는L5 가설과 비교하여, 길이가 2^6보다 작다는 가설에 기반한 길이 필드의 두 비트를 더 더한다.
이러한 가설들의 각각에 대한 비트 값들은 전술한 방법으로 오류 데이터에 대응하는 디코딩 경로들의 수를 감소시키기 위해 API 디코더에 의해 사용될 수 있다. 물론, 도 14B-14G에 도시된 가설들은 단지 예시적인 것이다. 또한, 도시된 가설들이 더 많은 알려진 비트 값들을 포함하며, 점진적으로 더 공격적(aggressive)이 되나, 당업자는 다른 가설들이 이러한 예시들에서 도시된 비트 값들의 상이한 조합들을 이용하여 생성될 수 있음을 이해할 것이다.
전술한 바와 같이, 이러한 상이한 가설들에 따른 API 비트 값들은 오류 데이터에 대응하는 디코딩 경로들을 제거하기 위해 API 디코더에 의해 사용가능할 수 있다. 상이한 가설들이 상이한 API 비트 값들을 가지기 때문에, 디코딩 성능이 가설마다 다를 수 있다. 도 15-17은 상이한 채널들에 걸친 상이한 가설들 사이의 성능 변화를 도시하는 예시적인 그래프를 도시한다.
도 15는 부가 백색 가우시안 잡음(AWGN) 채널에서 상이한 가설 L0-L6에 대한 API 디코딩의 시뮬레이션 결과를 도시한다. 시뮬레이션에서, 모든 가설들이 정확하다고(다시 말해서, API 비트 값들이 실제 인코딩된 비트 값들과 매칭됨) 가정한다.
도시된 바와 같이, 더 많은 API 비트들을 가진 가설들이 더 양호한 성능(감소된 비트 에러 레이트들)을 도출했다. 도 16은 ITU Ped-A 및 ITU Ped-B 채널들에 대한 상이한 가설들을 이용한 API 디코딩에 대하여, 유사한 결과를 보여준다. 도 17은, ITU Veh-A 및 Veh-B 채널들에 대한 상이한 가설을 이용한 API 디코딩에 대하여 유사한 결과들을 보여준다.
전술한 것이 본 발명의 특정 실시예들을 지시하나, 본 발명의 다른 또는 추가적인 특정한 실시예들이 이들의 기본 범위에서 벗어남이 없이 고안될 수 있으며, 이들의 범위는 아래의 청구범위에 의해 결정된다.
다수의 가설들을 프로세싱하는 방법
전술한 바와 같이, 가설 엔진은 고정된 그리고 예측가능한 선험적인 정보 둘 다에 기반하여 비트 값들의 가설을 생성한다. 가설 엔진은 비트 값들의 상이한 조합을 가정함으로써 Nc 개의 다수의 가설들을 생성하기 위해 예측가능한 정보를 사용할 수 있다. 성능을 증가시키기 위해 다수의 가설들을 프로세싱하는 것이 바람직할 수 있다. 따라서, 디코더는 다수의 전달된 가설들을 검사할 수 있다. 따라서, 프로세싱된 가설들의 수는 전달된 가설들의 수 Nc 와 동일할 수 있다. 다수의 프로세싱된 가설들이 존재하는 경우, 가장 정확한 가설들이 선택될 수 있다.
특정한 실시예들에서, 수신된 메시지는 순환 리던던시 체크(CRC) 필드를 포함할 수 있다. CRC가 없는 메시지들에 대하여, 선택 기준은 디코딩의 최종 스테이지에서 누적된 확률(또는 누적된 거리)에 기반할 수 있다. CRC를 가진 메시지들에 대하여, 선택 기준은 CRC체크의 결과 또는 누적된 확률 중 하나에 기반할 수 있다.
다수의 가설들을 평가하기 위해 사용되는 몇몇 방법들이 존재한다. 이러한 방법들은, 병렬, 순차적 그리고 반복 평가를 포함할 수 있다. 병렬 평가 방법을 구현하기 위해, 복수의 디코더들이 Nc 개의 API 가설들 중 하나 이상을 처리하는 각각의 디코더와 함께 사용된다.
반대로, 순차적 및 반복 디코딩 방법들은 한번에 단일 가설들을 처리하는 단일 디코더를 사용할 수 있다. 순차적인 방법에서, 디코더는 Nc 만큼 긴 루프에서 모든 가설들을 프로세싱하며, 반복 방법에서 디코더는 미리 결정된 선택 기준 임계치를 충족하는 하나의 가설을 찾을 때까지 일련의 가설들을 프로세싱한다.
특정 실시예들에서, 가설들의 수는 프로세서들의 수를 초과할 수 있다. 이러한 실시예들에서, 프로세서가 병렬로 동작하나, 각각의 프로세서가 순차적 또는 방법 방식으로 하나 이상의 가설들을 평가하는 혼합 방법이 사용될 수 있다.
도 18은 병렬 API 디코더(1830) 및 다수의 가설들을 생성하는 가설 엔진(1860)을 포함하는 수신기 회로를 도시한다.
도시된 바와 같이, 가설 엔진(1860)은 Nc 개의 상이한 가설들을 생성할 수 있으며, 각각은 MAC 프로세서로부터 수신된 메시지 정보에 기반하여 API(1) 에서 API(c) 까지의 상이한 세트를 가진다. 가설 엔진은, 예를 들어, 비트 값들을 예측하기 위해 사용되는 상이한 가설들에 기반하여 다수의 가설들을 생성할 수 있다. 설명한 바와 같이, 가설들 중 일부는, 예를 들어, 예측되는 비트 값들의 수에 기반하여, 다른 것들보다 더 공격적인 것으로 간주될 수 있다.
디코더(1830)는 상이한 가설들의 API 비트 값들을 이용하여 수신된 비트들 Rs를 디코딩, 요컨대 상이한 가설들을 적용함으로써 병렬로 수신된 비트들을 여러번 디코딩한다. 다수의 가설들을 평가한 이후에, 디코더(1830)는 임의의 타입의 선택 기준에 기반하여 최적인 것으로 보이는 가설을 이용하여 획득된 디코딩된 데이터 비트들 RD를 출력할 수 있다.
도 19는 병렬로 다수의 가설들을 평가하기 위한 예시적인 동작들(1900)을 도시한다. 동작들(1900)은 도 20을 참조하여 설명될 수 있으며, 이는 병렬로 배치된 복수의 API 디코더들(2000)을 가지는 병렬 디코더(1830)의 예시적인 실시예를 도시한다.
동작은 1902에서, 선험적인 정보에 기반하여 복수의 가설들을 생성함으로써 시작한다. 1904에서, 각각의 가설은 디코더들(2000) 중 하나로 전송될 수 있다. 도 20에 도시된 바와 같이, 각각의 가설은 수신된 비트들 RS를 디코딩하는데 디코더에 의해 사용될 전술한 타입의 정보(예를 들어, 비트 값들, 비트 위치들 및/또는 비트 마스크들)을 포함할 수 있다.
각각의 디코더는 단계들 1906 및 1908에서, 대응하는 가설의 API비트 값들에 기반하여 디코딩 경로들을 제거하고 디코딩된 비트들 RD의 세트를 생성하기 위해 잔여 경로들로부터 선택하는 API 디코딩을 수행한다. 1910에서, 각각의 디코더는 예를 들어, 디코딩된 메시지가 CRC를 포함하지 않는 경우 최선의 가설을 선택하기 위해 사용될 수 있는 품질 메트릭(QA)을 생성할 수 있다. 메시지가 CRC를 포함하는 경우, 개별 품질 메트릭이 생성되거나 생성되지 않을 수 있다. 1912에서, 각각의 디코더로부터 디코딩 결과들이 비교되며, 단계 1914에서, 최선의 가설을 이용하여 획득된 결과들이 선택된다.
도 20에 도시된 바와 같이, 메시지가 CRC를 포함하는 것으로 코딩되는 경우, 디코딩 결과들은 CRC 로직(2020)을 이용하여 CRC 체크를 수행함으로써 비교될 수 있다. CRC 로직(2020)은 CRC와 매칭되었던 디코딩된 결과들을 가진 가설을 식별하는 출력(SX)을 생성할 수 있다. 출력(SX)은 대응하는 디코딩된 결과들을 출력하기 위해 멀티플렉서로서 서빙하는 선택 로직(2030)을 제어하기 위해 사용될 수 있다.
CRC 체크의 선택으로서(예를 들어, 디코딩된 메시지가 CRC를 가지지 않은 경우), 품질 메트릭은 최선의 가설을 선택하기 위해 사용될 수 있다. 품질 메트릭은, 예를 들어, 누적 거리 또는 확률 값일 수 있다. ML 결정 로직(2010)은 각각의 디코더로부터의 품질 메트릭을 평가하고, 최선의 품질 메트릭(예를 들어, 가장 낮은 누적 거리 또는 가장 높은 확률)을 가졌던 디코딩된 결과들을 가진 가설을 식별하는 출력(SY)을 생성한다. 출력(SY)은 대응하는 디코딩된 결과들을 출력하기 위해 선택 로직(2030)을 제어하기 위해 사용될 수 있다.
도 21은 순차적 디코더(2130) 및 다수의 가설들을 생성하는 가설 엔진(2160)을 포함하는 수신기 회로를 도시한다.
도시된 바와 같이, 가설 엔진(2160)은 Nc개의 상이한 가설들을 생성할 수 있으며, 디코더(2130)에 순차적인 방법으로 이러한 가설들을 출력할 수 있다. 예를 들어, 도시된 바와 같이, 가설 엔진(2160)은 API 비트 값들(API(c))을 디코더(2130)로 출력할 수 있으며, 여기서 c=1 에서 Nc이다.
디코더(2130)는 상이한 가설들의 API 비트 값들을 이용하여 수신된 비트 Rs를 디코딩, 요컨대, 상이한 가설들을 적용함으로써 여러번 수신된 비트들을 직렬로 디코딩한다. 다수의 가설들을 평가한 이후에, 디코더(2130)는 임의의 타입의 선택 기준에 기반하여 최선으로 간주되는 가설을 이용하여 획득된 디코딩된 데이터 비트 RD를 출력할 수 있다.
도 22는 순차적 방법으로 다수의 가설들을 평가하기 위한 예시적인 동작들(2200)을 도시한다. 동작들(2200)은 도 23을 참조하여 설명될 수 있으며, 이는 상이한 가설들의 API 비트 값에 기반하여 순차적으로 여러번 수신된 비트 RS의 세트를 디코딩하기 위한 단일 API 디코더(2300)를 가지는 순차적 디코더(2130)의 예시적인 실시예를 도시한다.
동작은 2202에서, 선험적인 정보에 기반하여 복수의 가설들을 생성함으로써 시작한다. 2204에서, API(c) 비트 값들을 가지는, 가설들 중 하나는, 수신된 비트를 디코딩하는데 사용되는 디코더(2130)로 전송되도록 선택된다.
디코더는 API 비트 값들에 기반하여 디코딩 경로들을 제거하고 디코딩된 비트들 RD의 세트를 생성하기 위해 잔여 경로로부터 선택(2330)하는 API 디코딩을 단계 2206 및 2208에서 수행한다. 2210에서, 디코더는, 예를 들어, 디코딩된 메시지가 CRC(2320)를 포함하지 않는 경우, 최선 가설을 선택하기 위해 사용될 수 있는 품질 메트릭(2310)을 생성할 수 있다. 전술한 바와 같이, 메시지가 CRC를 포함하는 경우, 개별 품질 메트릭이 생성되거나 생성되지 않을 수 있다. 2212에서, 디코딩 결과 및 품질 스코어(생성되는 경우)가 추후의 평가를 위해 메모리(2340)에 저장된다.
2214에서 결정되는 바와 같이, 가설들이 더 존재하는 경우, 동작들 2204-2212가 반복된다. 동작들이 각각의 가설들에 대해 수행되면, 가설들의 결과가 2216에서 비교되며 최선 가설을 이용하여 선택된 결과들이 2218에서 선택된다.
도 23에 도시된 바와 같이, 가설들 중 각각에 대한 디코딩 결과 RD(c) 및 품질 메트릭 QA(c)(생성되는 경우)은 메모리(2340)로부터 검색되고 최선 가설을 결정하기 위해 평가될 수 있다. 도시된 바와 같이, 도 20에 도시된 것과 유사한 회로가 대응하는 디코딩된 결과들을 출력하는 선택 로직을 제어하기 위해 CRC(SX) 및/또는 품질 메트릭(SY)에 기반하여 최선 가설의 식별을 출력하기 위해 사용될 수 있다.
도 24는 반복 API 디코더(2430) 및 다수의 가설들을 생성하는 가설 엔진(2460)을 포함하는 수신기 회로를 도시한다.
도 21의 가설 엔진(2160)과 같이, 가설 엔진(2460)은 Nc 개의 상이한 가설들을 생성하며, 디코더(2430)로 이러한 가설들을 순차적 방식으로 출력할 수 있다. 도 21의 디코더(2130)와 같이, 디코더(2430)는 상이한 가설들의 API 비트 값들 API(c)을 이용하여 수신된 비트들 Rs를 디코딩하기 위해, 요컨대, 상이한 가설들을 적용함으로써 여러번 수신된 비트들을 순차적으로 디코딩하기 위해 단일 디코더(2470)를 사용할 수 있다.
그러나, 각각의 가능한 가설을 평가하고 출력 결과들을 비교하기 보다, 디코더(2430)는 임계 선택 기준에 대하여 각각의 가설의 결과를 비교할 수 있다. 가설이 결과를 이용하여 평가되고, 선택 기준을 충족하는 경우, 대응하는 디코딩된 데이터 비트들은 잔여 가설들을 평가하지 않고 출력될 수 있다.
도 25는 반복적인 방식으로 다수의 가설들을 평가하기 위한 예시적인 동작들(2500)을 도시한다. 동작(2500)은 예를 들어, 도 24의 도시된 컴포넌트들에 의해 수행될 수 있다.
동작은 2502에서, 선험적 정보에 기반하여 복수의 가설들을 생성함으로써 시작한다. 2504에서, API(c)를 가지는, 가설들 중 하나가 수신된 비트들을 디코딩하기 위해 디코더(2430)로 전송되도록 선택된다. 디코더는 API 비트 값들에 기반하여 디코딩 경로들을 제거하고 디코딩된 비트들 RD의 세트를 생성하기 위해 잔여 경로로부터 선택하는 API 디코딩을 단계 2506 및 2508에서 수행한다.
도 22와 같이, 가설들 전부가 평가되고 결과들이 비교될 때까지 대기하기보다, 선택된 가설에 대해 획득된 결과가 (루프 내에서) 단계 2512에서 평가된다. 도시된 바와 같이, 디코더(2430)는 디코딩된 비트들의 세트가 선택 기준을 충족하는지 여부를 결정하는 로직(2480)을 포함할 수 있다. 예를 들어, 로직(2480)은 CRC 체크를 수행하고 그리고/또는 미리 결정된 임계값에 품질 메트릭을 비교할 수 있다.
선택 기준이 충족되지 못한 경우(예를 들어, CRC 체크가 매칭되지 않거나 품질 메트릭이 임계값 이하로 떨어진 경우), 동작들 2504-2512는 상이한 가설을 평가하기 위해 반복될 수 있다. 그러나, 선택된 기준이 충족되면, 현재 가설을 이용하여 획득된 결과가 2514에서 선택된다.
이 반복 방식에서 상이한 가설들이 평가되는 순서는 가변된다. 예를 들어, 특정 실시예들에 대하여 더 공격적인 가설들(더 많은 알려진/예측된 비트 값들을 가진)이 덜 공격적인 가설들 보다 앞서 평가될 수 있다. 특정 실시예들에 대하여, 덜 공격적인 가설들이 더 공격적인 가설들 보다 앞서 평가될 수 있다. 특정 실시예들에 대하여, 임의의 타입의 기준들이 평가를 위해 선택되는 가설들의 순서를 결정하기 위해 사용될 수 있다.
당업자는 다수의 가설들을 평가하기 위한 다양한 기술들이 가변적일 수 있으며, 임의의 경우에서는, 결합될 수 있음을 알 것이다. 예를 들어, 이전에 설명한 바와 같이, 병렬 및 순차적 기술들이 병렬 디코더들보다 많은 가설들이 존재하는 경우, 병렬로 복수의 가설들을 평가하기 위해 결합될 수 있다.
API 정보들을 추출하기 위한 예시적인 메시지들
전술한 바와 같이, API 디코더들은 전송된 메시지들을 디코딩하는 데 있어 비트 에러 레이트들을 감소시키기 위해 비트 값들을 결정 그리고/또는 예측하기 위해 다양한 타입의 메시지들의 시퀀스, 포맷, 및/또는 콘텐츠와 관련된 선험적 정보를 사용할 수 있다.
일 예로서, IEEE 802.16e OFDMA 표준에 따르면, 프레임의 최초 데이터 유닛은 FCH(프레임 제어 헤더)이고, 그 다음에는 일반 DL-MAP, 또는 압축된 DL-MAP 및 UL-MAP이 따른다. 프레임 제어 헤더(FCH) 메시지들, 다운링크 MAP(DL-MAP) 메시지들 및 업링크 MAP(UL-MAP) 메시지들은 알려진 API 비트 값들을 가진 디코딩 가설들을 생성하기 위해 사용될 수 있는 메시지들의 예시이다.
전술한 바와 같이, FCH 메시지는 일반적으로 MAP 길이 및 코딩 정보를 포함하며, 예를 들어, 현재 표준, 현재 지원되는 코딩, 및 맵 길이에 관한 가정들에 기반하여 이러한 정보의 콘텐츠와 관련하여 다양한 가정들이 수행될 수 있다. DL-MAP 및 UL-MAP 데이터는 일반적으로 서브-채널들 및 서브 프레임들 할당과 같은 자원 할당과 관련된 데이터 및 다운링크 업링크 채널 프레임들에 대한 제어 정보를 제공한다. 이러한 MAP 메시지들의 콘텐츠 및 포맷과 관련된 정보는 이러한 메시지들을 디코딩하기 위한 API 비트 값들을 생성하기 위해 사용될 수 있다.
도 26은 선험적인 정보에 기반하여 DL-MAP 메시지를 디코딩할 수 있는 수신기 회로를 도시한다. 도시한 바와 같이, MAC 프로세서(2650)는 DL-MAP 타이밍 및 메시지 정보를 가설 엔진(2660)으로 제공할 수 있다. 가설 엔진(2660)은 API 디코더(2630)를 제어하기 위해, DL-MAP 정보에 기반하여 API 비트 값들의 세트를 생성할 수 있다. 실시예에 따라, MAC 프로세서는 DL-MAP 정보(예를 들어, 각각의 프레임) 및 연속적인 타이밍을 제공할 수 있으며 또는 그것이 변화함에 따라 덜 자주 이러한 정보를 업데이트하기만 할 수 있다.
MAC 프로세서(2650)는 이전에 디코딩된 비트들을 분석하고, 정확한 DL-MAP 메시지가 존재하는지 여부를 결정하기 위해 CRC 체크 로직(2640) 및 HCS8(Header Check Sequence) 체크 로직(2642)으로부터의 결과를 체크하고, DL-MAP 표시 정보 및 타이밍뿐 아니라 다른 선험적인 정보를 가설 엔진(2660)으로 제공한다.
HCS8 로직은 일반 DL-MAP 메시지를 이용하여 제공되는 MAC 헤더에 대한 8-비트 CRC(예를 들어, IEEE 802.16 표준에 정의된 바와 같이) 체크를 수행할 수 있다. 이러한 체크는 적어도, MAC 헤더가 적절하게 디코딩되었는지 여부에 대한 표시를 제공한다. 아래에서 더 자세히 설명될 바와 같이, 전체 CRC 체크가 실패하는 경우(전체 일반 DL-MAP 메시지에 대항), 성공적인 HCS8 체크는 성공적으로 디코딩된 MAC 헤더의 정보가 API 비트 값들을 생성하기 위해 사용되도록 하며, 이는 메시지의 나머지를 디코딩하는 것을 도울 수 있다.
상이한 포맷 및 콘텐츠로 인하여, DL-MAP 메시지들 및 압축된 DL-MAP 메시지들이 상이하게 디코딩될 수 있다. 특정한 실시예들에 대하여, 수신기 회로는 적절한 메시지를 디코딩하기 위해 API 비트 값들의 상이한 세트를 제어할 수 있을 수 있다. 도 27은 일반 및 압축된 DL-MAP 메시지들을 디코딩하기 위한 예시적인 동작들을 도시한다.
2702에서, DL-MAP 메시지의 표시가 수신된다. 예를 들어, MAC 프로세서는 DL-MAP 메시지가 순서에서 다음이라는 메시지 시퀀스의 알려진 타이밍에 기반하여 이 표시를 제공할 수 있다. DL-MAP 메시지가 일반인지 또는 압축된 것인지에 대한 결정이 단계 2704에서 내려진다. DL-MAP 메시지가 일반인 경우, 메시지는 2706에서, 일반 DL-MAP 메시지에 대해 생성된 API 비트 값들을 이용하여 디코딩된다. DL-MAP 메시지가 압축되면, DL-MAP메시지는 2708에서 압축된 DL-MAP에 대하여 생성된 API 비트 값들을 이용하여 디코딩된다.
이러한 예시적인 동작들에서 상호 배타적인 별개의 단계들로서 도시되었으나, 특정한 실시예들에서, DL-MAP 메시지 타입이 알려지기 이전에 디코딩이 시작되도록 하는 병렬 디코더들이 일반 및 압축된 DL-MAP 메시지들을 디코딩하기 위해 제공될 수 있다. 디코딩 이후에, 정확하게 디코딩된 타입에 대한 디코딩 결과들만이 사용될 것이며, 나머지는 버려질 것이다.
일반 및 압축된 DL-MAP 메시지들 사이의 중요한 차이들 중 하나는 일반 DL-MAP 메시지에서 제공되는 MAC 헤더이다. 도 28은 전체 일반 DL-MAP 메시지 포맷을 도시한다. MAC 헤더의 시작으로부터 DlSymDur 필드까지의, 메시지의 제 1 부분은, 고정된 길이를 가진다. 이러한 고정된 길이 부분 뒤에는 복수의 가변 크기 필드인 DL-MAP IE 필드들이 따르고, 최종적으로 CRC32필드가 따른다.
따라서, 메시지가 일반 DL-MAP 메시지인 것으로 식별될 수 있는 경우, 몇몇 API 비트 값들을 생성하는 것이 가능하다. 예를 들어, MAC 헤더의 많은 필드들이 언제나 특정한 값들로 고정된다. 이러한 필드들은 알려진 비트 값들에 기반한 API 디코더에 대한 가설들을 생성하기 위해 사용될 수 있다. 도 28에서, 고정된 값들을 가지는 필드들이 제 1 교차-무늬(cross-hatching)를 이용하여 표시된다. 제 2 교차-무늬를 가지고 마킹된, 임의의 예약된 필드들은 표준이 이러한 필드들의 값들이 변경되지 않도록 지시하면, 또한 알려진 비트 값들로서 취급될 수도 있다.
통신 중에 언제나 고정되는 몇몇 필드들이 존재하나, 이러한 값들은, 예를 들어, 이동국이 기지국과 접속되도록 결정하기 전까지 알려지지 않을 수 있다. 제 3 교차-무늬로 마킹된 이러한 필드들은, 기지국과 동기화 이후에 API 디코딩을 위한 고정된 필드들로서 취급될 수 있다.
추가적인 비트 값들은 또한 현재 값 및 가능한 미래 값들에 기반하여 결정될 수 있다. 예를 들어, 프레임 수 필드(FrmNr)는 각각의 프레임 하나 마다 단조 증가하여, 비트 값들이 프레임들에 걸쳐 예측가능하도록 한다.
다운링크 채널 서술기(Downlink Channel Descriptor; DCD) 카운트 필드(DcdCnt)는 각각의 프레임에서 변경되지 않으나, CDC 메시지의 구성에서 변화를 표시하기 위한 경우에 1만큼 증분될 수 있다. 따라서, 비트들 모두를 예측하는 것은 가능하지 않을 수 있으나, 현재 값이 알려진 경우, 값이 1 만큼 증분되는 경우 변경될 수 있는 DCDCnt 비트들의 제한된 수에 기반하여 비트 값들을 예측하는 것은 가능하다. 단순한 예로서, 값들이 이전 프레임에서 0x2(b'00000010')이면, 값은 다음 프레임에서 0x2 또는 0x3(b'00000011)이며, 이는 7 개의 MSB들의 비트값들이 예측가능하다는 것을 의미한다(API 비트 값들 = b'0000001X').
도 29는, 예를 들어, 도 26의 수신기에 의해 수행될 수 있는 일반 DL-MAP 메시지의 API 디코딩을 위한 예시적인 동작들(2900)의 플로우 다이어그램이다. 예시적인 동작(2900)들은 2902에서 일반 DL-MAP 메시지에 관한 API에 기반하여 가설을 생성함으로써 시작한다. 동작은 유효 프레임 프리엠블을 검출한 이후에 또는 프레임 경계에서 시작할 수 있다. 예를 들어, MAC 프로세서는 일반 DL-MAP 가설 엔진에 일반 DL-MAP 가설 정보를 업데이트하고 제공할 수 있다. 특정한 실시예들에 대하여, 일반 DL-MAP 가설은 최신의 정보로 유지되어 MAC 프로세서가 그것이 변경되지 않은 경우 그 정보를 업데이트할 필요가 없도록 할 수 있다. 일반 DL-MAP 가설들을 업데이트하고 제공하는 것은 다음 프레임에 대한 플로우의 끝에서 종료될 수 있다.
API 디코딩은 API 비트 값들과 불일치하는 고려대상들로부터의 디코딩 경로를 제거하고 메시지에 대한 디코딩된 비트의 세트를 생성하기 위해 잔여 경로들로부터 선택함으로써 2904 및 2906에서 수행된다. 예를 들어, API 디코더는 표준에서 미리정의된 프레임 경계로부터의 DL-MAP의 시간 오프셋에서 DL-MAP 디코딩을 디코딩하는 것을 시작할 수 있다.
2908에서, CRC체크는 메시지가 성공적으로 디코딩되었는지 여부를 결정하기 위해 (전체 메시지 상에서) 수행된다. 예를 들어, API 디코더의 출력이 DL-MAP 메시지를 검증하기 위해 계산된 CRC 값과 수신된 CRC 값을 비교하는 CRC32 체커로 들어간다. CRC 체크가 성공적인 경우, 메시지는 정확하게 디코딩된 것으로 가정되며, DL-MAP은 2910에서 포워딩된다.
그러나, 전체 메시지에 대한 CRC 체크가 성공적이지 않은 경우에, MAC 헤더 체크 코드(HCS8)은 적어도 MAC 헤더가 성공적으로 디코딩되었는지 여부를 확인하기 위해 2912에서 체크될 수 있다. HCS8 체크가 성공적이고 현재 디코딩 루프가 2916에서 결정된 바와 같이 "최초 패스"이면, 가설 정보는, 예를 들어, 일반 DL-MAP 메시지의 잔여 부분으로부터 다른 고정된/예측된 필드들에 더하여 전체 성공적으로 디코딩된 MAC 헤더 필드들로 2918에서 업데이트 된다.
잠재적으로, 실질적으로 더 알려진 비트 값들과 업데이트된 이러한 가설들을 이용하여, 메시지를 디코딩하기 위한 두 번째 시도가 수행된다. 추가적인 비트는 2908에서 성공적인 CRC 체크를 야기할 수 있다. 그렇지 않으면 디코딩은 2914에서 실패한 것으로 결정된다.
특정한 실시예들에 대하여, 유사한 API 디코딩된 동작들이 압축된 DL-MAP 메시지에 대한 고정된, 예약된, 그리고 예측된 비트 값들에 기반하여 수행될 수 있다.
도 30은 압축된 DL-MAP 메시지 포맷을 도시한다. 메시지의 시작으로부터 IeCnt 필드까지의, 메시지의 제 1 부분은, 고정된 길이를 가지며, 다수의 가변 크기를 가지는 DL-MAP IE들 및 최종적으로 CRC32 필드가 이어진다. (예를 들어, MAC 프로세서에 의해) 메시지가 압축된 DL-MAP 메시지로서 식별한 이후에, 메시지의 타입을 압축된 MAP 표시자로서 식별하는 메시지의 최초 3 비트가 알려지며 이는 제 1 교차-무늬에 의해 표시된 바와 같이, (b'0110')으로 고정될 것이다.
제 2 격자 무늬를 이용하여 표시된 예약된 필드는, 임의의 목적으로 필드가 변경되지 않는 표준이 제공되면 고정된 것으로 간주되고 API 디코딩을 위해 사용될 수도 있다. 일반 DL-MAP 메시지와 같이, 통신 중에 언제나 고정되어 있는 몇몇 필드들이 존재하나, 이러한 값들은, 예를 들어, 이동국이 기지국과 접속하려고 결정하기 전까지 알려지지 않을 수 있다. 제 3 교차-무늬로 마킹된, 이러한 필드들은, 기지국과 동기화된 이후에 API 디코딩을 위한 고정된 필드들로서 취급될 수 있다.
추가적인 비트 값들은 일반 DL-MAP과 공통인 다른 필드들의 가능한 미래 값들 및 현재 값들에 기반하여 결정될 수도 있다. 이러한 필드들은 전술한 바와 같이 프레임 번호 필드(FrmNr) 및 다운링크 채널 기술자(DCD) 카운트 필드(DcdCnt)를 포함한다.
특정한 실시예들에 대하여, 디코딩 로직은 일반 및 압축된 DL-MAP 메시지 타입들 사이에서 선택을 위해 제공될 수 있다. 메시지 시퀀스에 기반하여 DL-MAP 이 오는것이 알려질 수 있으나, 이것이 일반 또는 압축된 DL-MAP 메시지인지 여부는 알려지지 않을 수 있다.
도 31은 병렬로 일반 및 압축된 DL-MAP 메시지들을 디코딩하기 위한 병렬 API 디코더들을 포함하는 디코딩 로직(3100)을 도시한다. 도 32는 병렬로 일반 및 압축된 DL-MAP 메시지들을 프로세싱하기 위한 예시적인 동작들(3200)을 도시한다. 동작들(3200)은 도 32에 도시된 컴포넌트들에 의해 수행될 수 있다.
동작들(3200)은 일반 및 압축된 DL-MAP들 둘 다에 대해 선험적인 정보에 기반하여 가설들을 생성함으로써 3202에서 시작한다. 3204 및 3206에서, API 디코딩은 일반 및 압축된 DL-MAP 가설들을 이용하여 병렬로 수행된다. 도시된 바와 같이, 디코더(3110)는 일반 DL-MAP API 비트 값들에 기반하여 코딩된 비트들을 디코딩하고, 디코더(3120)는 압축된 DL-MAP API 비트 값들에 기반하여 동일한 코딩된 비트들을 디코딩한다.
3208에서, 일반 또는 압축된 DL-MAP 가설들을 이용하여 DL-MAP 메시지가 성공적으로 디코딩되었는지 여부에 대한 결정이 내려진다. 그렇지 않으면, 디코딩은 단계 3212에서 실패한다. 그렇지 않으면, DL-MAP은 3210에서, DL-MAP 메시지가 일반 또는 압축된 것인지 여부와 관계없이 출력된다.
디코딩이 성공적이었는지 여부를 결정하고 디코더들 사이의 선택을 돕기 위해, DL-MAP 선택 로직(3130)은 CRC32 및/또는 HCS8 체크를 수행함으로써 디코딩된 데이터를 검증하기 위해 제공될 수 있다. CRC 체크가 디코더(3120)로부터의 출력에 대해 성공적인 경우, 메시지는 압축된 DL-MAP 메시지이다. CRC 체크가 디코더(3110)로부터의 출력에 대해 성공적인 경우, 메시지는 일반 DL-MAP 메시지이다. 전술한 바와 같이, 일반 DL-MAP의 MAC 헤더의 성공적인 부분 디코딩은, 성공적인 HCS8 체크에 의해 표시되는 바와 같이, CRC 체크가 실패하는 경우, 일반 DL-MAP에 대한 디코딩의 다른 반복을 수행하기 위해 사용될 수 있다.
전술한 병렬 반복의 대안으로서, DL-MAP은 순차적 방식을 이용하여 디코딩될 수도 있다. 예를 들어, 단일 API 디코더는 순차적인 방식으로 일반 및 압축된 DL-MAP 가설들을 시도하기 위해 사용될 수 있다. 일 예에서, 일반 DL-MAP에 대한 가설은 먼저 시도될 수 있고, 디코딩이 실패하면 압축된 DL-MAP에 대한 가설이 사용될 수 있다. 단일 디코더를 사용하는 것은 전술한 다수의 디코더 실시예들 보다 적은 전력을 소모할 수 있다.
특정한 실시예들에 대하여, 반복의 수를 최소화하기 위하여, 이전의 DL-MAP타입들의 히스토리가 현재 프레임의 DL-MAP 타입을 예측하기 위해 사용될 수 있다. 다시 말해서, 최종 DL-MAP 메시지 타입이 압축된 것인 경우, 압축된 DL-MAP 타입에 대응하는 API 비트 값들이 디코딩을 위하여 사용될 수 있다. 압축된 DL-MAP API 디코딩이 실패하는 경우, 일반 DL-MAP 타입에 대응하는 API 비트 값들이 순차적인 디코딩 반복에서 사용될 수 있다.
업링크 MAP(UL-MAP) 메시지 포맷 및 콘턴츠와 관련된 선험적인 정보가 API 비트 값들을 생성하고 디코딩을 돕기위해 사용될 수 있다. IEEE 802.17e OFDMA 표준에 따르면, UL-MAP 메시지는 최초 데이터 트래픽 DL-MAP 정보 엘리먼트(IE)에 의해 지시되는 버스트의 최초의 MPDU로서 특정된다. 압축된 UL-MAP 및 Sub-DL-UL-MAP이 프레임에 존재하지 않는 경우, 이동국은 일반적으로, 최초의 데이터 버스트의 최초 MPDU가 DL-MAP들을 파싱한 이후에 임의의 조건들이 만족되는 경우 UL-MAP 메시지일 것으로 가정할 수 있다. 이 정보를 사용하여 이동국은 특정 포인트에서 디코더에 의해 어떠한 타입의 메시지가 출력될지를 알고, API 디코딩 방식에 기반하여 디코딩 성능을 향상시키기 위해 메시지들의 '알려진 값들'을 '선험적인 정보'로서 사용할 수 있다.
도 33은 선험적인 정보에 기반하여 UL-MAP 메시지를 디코딩할 수 있는 수신기 회로를 도시한다. DL-MAP 및 UL-MAP 메시지들 사이의 포맷의 유사성으로 인하여, 수신기 회로는 선험적인 정보에 기반하여 DL-MAP 메시지들을 디코딩할 수 있는 도 26의 수신기 회로와 유사한 방식으로 동작할 수 있다.
도시한 바와 같이, MAC 프로세서(3350)는 UL-MAP 타이밍 및 메시지 정보를 가설 엔진(3360)으로 제공할 수 있다. 가설 엔진(3360)은 API 디코더(3330)를 제어하기 위해, UL-MAP 정보에 기반하여 API 비트 값들의 세트를 생성할 수 있다. 실시예에 따라, 프로세서는 UL-MAP 정보(예를 들어, 각각의 프레임) 및 연속적인 타이밍을 제공할 수 있으며 또는 그것이 변화함에 따라 덜 자주 이러한 정보를 업데이트하기만 할 수 있다. 프로세서(3350)는 이전에 디코딩된 비트들을 분석할 수 있으며, 정확한 UL-MAP 메시지가 존재하는지 여부를 결정하기 위해 HCS8 체크 로직(3342) 및 CRC 체크 로직(3340)으로부터 결과를 체크하고, UL-MAP 표시 정보 및 타이밍 뿐 아니라 다른 선험적 정보를 가설 엔진(3360)으로 제공할 수 있다.
도 34는 UL-MAP 메시지 포맷을 도시한다. MAC헤더의 시작부터 UlSymDur 필드까지의 메시지의 최초 부분은 고정된 길이를 가진다. 고정된 길이 부분은 다수의 가변 크기 필드 UL-MAP IE 필드들에 앞서며, 최종적으로 CRC32 필드가 존재한다.
메시지가 UL-MAP 메시지인 것으로 결정되면, MAC 헤더의 많은 필드들은 고정된 값들로 유지될 것이다. 이러한 필드들과 관련하여 알려진 정보는 API 디코더에 대한 API 비트 값들을 생성하기 위해 사용될 수 있다. 이 도면에서, 고정된 값들을 가진 필드들은 제 1 교차-무늬에 의해 표시된다. 제 2 교차-무늬로 표시되는, 임의의 예약된 필드들은, 임의의 목적으로 필드들의 비트 값들이 변경되지 않는 다는 표준이 제공되면, API 디코더에 의해 사용될 수도 있다.
현재 동작 파라미터들에 기반하여 예측될 수 있는 임의의 값들을 가지는 다양한 필드들이 존재한다. 예를 들어, 업링크 채널 기술자(CDC) 카운트 UcdCnt 필드는 대부분의 경우에 변경되지 않으나, 임의의 포인트에서 1만큼 증가될 수 있다. 따라서, 대부분의 경우에, 다수의 MSB들은 변경되지 않을 것이다.
다른 예로서, 특정 필드들의 최대 값이 이동국이 특정 기지국에 접속한 후에 결정될 수 있으며, 이러한 필드들에 영향을 주는 모든 네트워크 파라미터들이 알려진다. 일 예로서, RF 대역폭, 프레임 듀레이션 및 UL-MAP 관련 정책이 획득되면, 할당된 시작 시간 필드(AllocStartTime) 및/또는 업링크 심벌 듀레이션 필드(UlSymDur)이 계산될 수 있다.
이를 설명하기 위해, 현재 RF 대역폭이 5MHz이고, 프레임 듀레이션이 5msec인 경우, AllocStartTime의 최대 값은 MAP 관련 모드에 따르면 0x1B58 또는 0x36B0일 수 있다. 최대 값이 0x36B0인 경우 18개의 MSB들은 0으로 설정될 것이다. 다른 설명에서, 현재 RF 대역폭이 5MHz이고 프레임 듀레이션이 5msec이면, UlSymDur의 최대 값은 WiMAX 프로파일에 따라 0x15일 것이다. 따라서, 최초 3 개의 MSB들(7-5비트)은 0으로 설정될 것이다.
도 35는 UL-MAP 메시지를 디코딩하기 위한 예시적인 동작들(3500)을 도시한다. 동작들(3500)은 예를 들어, FCH를 따르는 DL-MAP을 디코딩한 이후에 시작할 수 있다. 도 33에 도시된 바와 같이, MAC 프로세서는 이러한 동작들에 대한 UL-MAP으로 UL-MAP 가설들을 업데이트하고 제공할 수 있다.
동작들(3500)은, UL-MAP에 대한 선험적인 정보에 기반하여 하나 이상의 가설들을 생성함으로써 3052에서 시작한다. 실시예에 따라, UL-MAP 가설 엔진은 최근의 정보를 유지하여 MAC 프로세서가 이것이 변경되지 않은 경우에는 그 정보를 업데이트할 필요가 없도록 할 수 있다. UL-MAP 가설을 업데이트하고 제공하는 것은 다음프레임에 대한 플로우의 끝에서 완료될 수 있다.
3504 및 3506에서, API 디코더는 API 비트 값들과 불일치하는 디코딩 경로들을 제거하고 잔여 경로들로부터 선택하면서 UL-MAP API를 이용하여 시작할 수 있다. API 디코더는, DL-MAP 메시지에 있는 DL-MAP IE에 대응하여 설명되는 UL-MAP의 시간 오프셋에서 디코딩을 시작할 수 있다.
3508에서, CRC 체크는 디코딩된 메시지에 대하여 수행된다. 도 33에 도시된 바와 같이, API 디코더로부터 출력되는 디코딩된 비트는 수신된 CRC 값 및 계산된 CRC 값들을 비교하여 UL-MAP 메시지를 검증하는 CRC32 체크 로직으로 출력될 수 있다. CRC가 매칭되면, 성공적으로 디코딩된 UL-MAP은 3510에서 포워딩된다.
일반 DL-MAP을 디코딩하는 것을 참조하여 전술한 것과 유사한 방식으로, 전체 메시지에 대한 CRC가 검증되는 데 실패하나, MAC 헤더에 대한 HCS8이 3512에서 매칭되면, 디코딩의 다른 반복(3514)이 3518에서 생성되는 업데이트된 가설을 이용하여 수행될 수 있다. 예를 들어, 전체 디코딩된 MAC 헤더는 UL-MAP 메시지의 잔여 부분에서 다른 고정된/예측된 비트 값들에 더하여 알려진 값들로서 사용될 수 있다. 디코딩이 이러한 두 번째 반복 이후에도 실패하면, 디코딩은 3514에서 실패한 것으로 간주될 수 있다.
UL-MAP 및 DL-MAP 메시지 디코딩과 관련하여, 전술한 예시들은 기지국으로부터 이동국으로 일반적으로 전송되는 우선적으로 관련되는 메시지들을 가진다. 유사한 타입 API 디코딩 동작들이 이동국(또는 다른 타입 송신기)으로부터 전송되는 메시지들을 디코딩하는 경우에, 기지국에서 발생할 수 있다.
예를 들어, API 디코딩은 WiMAX에 따라 레인징 요청(RNG-REQ) 및 대역폭 요청(BW-REQ)에 적용될 수 있다. RNG-REQ 및 BW-REQ 메시지들과 관련된 선험적인 정보에 기반하여 생성된 비트 값들을 사용하는 API 디코딩 동작들은 기지국에서 RNG-REQ 및 BW-REQ 메시지 디코딩 성능을 향상시키기 위해 사용될 수 있다.
IEEE 802.16e 표준에 따라, 이동국은 업링크에서 자원 할당을 요청하기 위해 기지국으로 CDMA 코드들을 전송하여 이동국이 RNG-REQ 및/또는 BW-REQ 메시지들을 전송하도록 할 수 있다. 기지국은 UL-MAP에 포함되는 CDMA_Allocation_IE를 이용하여 업링크에서 임의의 양의 자원들을 할당할 수 있다.
기지국은 기지국이 실제로 메시지를 수신하기 전에 어떠한 타입의 메시지가 CDMA_Allocation_IE에 의해 할당된 영역으로 전달될 지를 안다. 이 메시지는 RNG-REQ 메시지 또는 BW-REQ 메시지일 것이다. 이러한 정보에 기반하여, 기지국은 RNG-REQ 및 BW-REQ 메시지들과 관련된 선험적인 정보에 기반하여 생성되는 비트 값들을 가진 가설들을 이용하여 API 디코딩을 수행할 수 있다.
도 36은 RNG-REQ 및 BW-REQ 메시지들과 관련한 선험적인 정보에 기반한 API 디코딩을 할 수 있는 수신기 회로를 도시한다. 도시된 바와 같이, MAC 스케줄러(3650)는 MAC 프로세서(3630)로 CDMA_Allocation 정보(예를 들어, 타이밍, 지역 및 예측되는 메시지 타입을 포함함)를 제공할 수 있다. 프로세서(3630)는 알려진 비트 값들을 추출하고 RNG-REQ 및/또는 BW-REQ 메시지를 디코딩하기 위한 가설 정보를 생성할 수 있는 가설 엔진(3620)으로 관련된 타이밍 및 가설 정보를 포워딩할 것이다. RNG-REQ 및 BW-REQ 가설들은, 일반 및 압축된 DL-MAP 가설들을 참조하여 전술한 바와 같이, 병렬 또는 순차적 방식으로 평가될 수 있다.
도 37 및 38은 RNG-REQ 및 BW-REQ 메시지 포맷들을 도시하며, 가설들은 이로부터 생성될 수 있다. 도 37을 먼저 참조하면, RNG-REQ 메시지는 6-바이트 일반 MAC 헤더와 함께 시작한다. MAC 헤더 이후에 1-바이트 관리 메시지 타입이 이어지고, 1-바이트 예약된 필드가 이어지며, 다수의 TLV(Type-Length-Value) 필드가 이어지고, 마지막으로 32-bit CRC가 이어진다. 이러한 필드들 중에서, 이들 정보 중 일부는 고정되고 이들 중 일부는 예측가능하다.
일 예로서, 1-바이트 관리 메시지 타입은 RNG-REQ 메시지들에 대하여 "4"로 고정되며 1-바이트 예약 필드는 모드 0이다. 또한, MAC 헤더는 1-비트 헤더 타입으로 시작하며, 1-비트 암호화 코드(EC), 6-비트 타입 필드, 및 1-비트 연장된 Sub0-header 필드가 이어지고, 이들 모드는 RNG-REQ 메시지들에 대하여 모두 0이다. 이러한 필드들 이후에는 1-비트 CRC 표시자(CI)가 이어지며, 이는 RNG-REQ에 대하여 1이고, 2-비트 암호화 키 시퀀스(EKS) 필드가 이어지며, 이들은 모두 0이며, 0인 1-비트 예약 비트가 이어진다.
이러한 필드들에는 TLV들의 길이를 제한함으로써 적어도 부분적으로 결정될 수 있는 길이 필드가 따른다. TLV들의 최대 길이는 도 37에 도시된 바와 같이 모든 RNG-REQ 관련된 TLV 길이들을 누적함으로써 결정될 수 있으며, 이는 IEEE 802.16e 표준의 일 버전에 따르면 85바이트를 도출한다. 따라서, RNG-REQ 메시지는 MAC 헤더 및 CRC32를 포함하여 97바이트를 초과할 수 없다. 그 결과, 길이 필드의 아래 8비트들만이 길이를 나타내기 위해 요구되며, 잔여 MSB들은 모두 0이 될 것이다.
MAC 헤더의 16-비트 접속 식별자(CID) 필드의 전부 또는 일부는 또한 적어도 두 가지 방법으로 예측될 수 있다. 첫째로, 기지국은 어느 타입의 RNG-REQ가 할당된 UL 영역을 통해 전송될지를 알고 있는 데 이는 그 자신이 이를 스케줄링하였기 때문이다. 그 영역이 초기 레인징을 위해 스케줄링된 경우, CID는 0일 것이다.
둘째로, 기지국이 RNG-REQ의 타입을 알지 못하는 경우(예를 들어, CID 필드가 0가 이날 수 있음), 기지국은 기지국이 지원할 수 있는 이동국의 최대 수를 이용할 수 있다. 표준이 일반적으로 RNG-REQ의 CID가 Basic CID 이어야 하고 Basic CID의 레인지를 1 및 m사이로(m은 Basic CID의 최대 값) 선언하기 때문에, CID 필드의 최대 값은 알려져 있으며 이는 MSB들이 알려질 수 있게 한다. 일 예로서, 최대 CID 값이 255인 경우, 하위 8 비트들만이 요구되며 잔여 MSB들은 0으로 추정될 것이다.
각각의 TLV의 길이 필드의 값은 TLV 타입 21을 제외하고 표준에 의해 고정된다. 불행히도, 타입을 알지 못하면, 길이 값을 가설로서 사용하는 것이 가능하지 않을 수 있다. 그러나, 주어진 가정에서 타입 필드가 정확하다는 가정이 내려진다면, 대응하는 TLV 비트들이 사용될 수 있다. TLV 길이 필드들의 비트 값들은, 예를 들어, 메시지의 CRC32가 정확하지 않은 경우 제 2 또는 추가적인 반복에서 평가되는 상이한 가설들에서 사용될 수 있다.
도 38의 BW-REQ 메시지를 참조하면, 이 메시지 포맷은 단지 6바이트만을 가진다. 그러나, 이들의 최초 4 비트는 고정된 값들을 지니고, 이들은 선험적인 정보로서 사용될 수 있다. 특정한 실시예들에 대하여, 개별적인 디코더들이 전술한 일반 및 압축된 DL-MAP 가정들을 사용한 디코딩 동작들과 유사한, RNG-REQ 및 BW-REQ 가설들을 병렬로 사용하는 API 디코딩 동작들을 허용하기 위해 제공된다. 선택적으로, 이러한 가설들은, 순차적 방법으로 평가될 수 있다.
도 39는 예를 들어, 도 36의 기지국 수신기에 의해 수행될 수 있는 RNG-REQ 및 BW-REQ 메시지들의 API 디코딩을 위한 예시적인 동작들(3900)의 플로우 다이어그램이다.
동작들(3900)은 3902에서, 이동국과 업링크 접속에서 임의의 양의 자원들을 할당하기 위해 CDMA_ALLOCATION_IE를 전송함으로써 시작한다. 3903에서, CDMA 할당 정보는 프로세서(3660)로 제공되고, 프로세서(3660)는 메시지 타입, 타이밍 및 가설 정보를 가설 엔진에 제공하며(3904), 3906에서, BW_REQ 및 RNG_REQ 가설들이 생성된다. 특정한 실시예들에 대하여, 가설 정보들은 가설 엔진에 저장되고 변경될 경우에만 (예를 들어, MAC 프로세서에 의해) 업데이트될 수 있다.
3908에서, 기지국은 CDMA_ALLOCATION 영역 상에서 업링크 신호를 대기한다. CDMA_ALLOCATION 영역 상의 업링크 신호는 3910에서 수신된다. 3912에서, 신호가 RNG_REQ 메시지 또는 BW_REQ 메시지에 대응하는지 여부에 관한 결정이 내려진다.
3912에서 결정되는 바와 같이, 신호가 RNG_REQ 메시지에 대응하는 경우, 신호는 3914에서 RNG_REQ 가설들을 이용하여 디코딩된다. 디코딩된 신호의 CRC가 성공적으로 체크하면, 3916에서 결정된 바와 같이, 디코딩은 성공이며, 이는 3918에서 임의의 방법으로 표시될 수 있다.
CRC가 실패하는 경우에도, 헤더가 완전하게 디코딩되는 것이 가능하며, 이는 3920에서 HCS 체크에 의해 결정된다. HCS 체크가 실패하는 경우, 헤더는 완전하게 디코딩 되지 않으며 3926에서 디코딩이 실패한다.
그러나, HCS 체크가 성공적이고(MAC 헤더가 완전하게 디코딩된다고 표시됨) 이것이 최초 디코딩 루프인 경우, 3922에서 결정되는 바와 같이, 가설은 3924에서 이를 반영하기 위해 업데이트될 수 있다. 디코딩 동작들이 업데이트된 가설들 (다른 API 비트 값들에 더해진 MAC 헤더를 포함함)을 이용하여 다시 수행될 수 있다. 예를 들어, MAC 프로세서는 가설 엔진에 제공되는 가설 정보를 업데이트할 수 있다.
CRC가 이러한 추가적인 가설 정보를 이용한 API디코딩 이후에 다시 실패하나 HCS 체크가 다시 성공적인 경우, MAC 프로세서는 TLV 아이템들 상에 더 공격적인 가정을 이용하여 디코딩하는 것을 시도할 수 있다. 예를 들어, 두번째 디코딩 루프 상에서(헤더 비트들을 이용한 API 디코딩 이후), 3928에서 결정되는 바와 같이, MAC 프로세서는 3930에서 TLV 가정들을 수행할 수 있다. 일 예에서, 타입 필드들이 정확하다고 가정되는 경우, 길이 필드들 대부분은 표준에 따라 선험적인 정보로서 사용될 수 있다. 특정한 실시예들에 대하여, 얼마나 많은 디코딩 반복들이 허용되는지에 대한 제한이 존재한다. 예를 들어, CRC가 TLV 가정들에 기반하여 더 공격적인 디코딩 이후에 다시 실패하면, 3932에서, HCS가 매칭된다 하더라도, 디코딩은 실패한다.
3912를 다시 참조하면, 신호가 BW_REQ 메시지에 대응하면, 신호는 3940에서 BW_REQ 가설들을 사용하여 디코딩된다. BW_REQ 메시지는 HCS 값만을 가지고 CRC를 가지지 않는다. 따라서, 3942에서 디코딩된 신호의 HCS가 성공적으로 체크되면, 디코딩은 성공한다(3944). HCS 체크가 실패하면, 3946에서 디코딩이 실패한다.
예를 들어, 여기에 설명된 가설들을 이용하여, 기지국에서 API 디코딩을 수행함으로써, 기지국에서 RNG-REQ 및 BW-REQ 메시지 디코딩 성능이 향상될 수 있다.
전술한 방법들의 다양한 동작들은 도면들에 도시된 기능 수단(mean-plus-function) 블록들에 대응하는 다양한 하드웨어 및/또는 소프트웨어 컴포넌트(들) 및/또는 모듈(들)에 의해 수행될 수 있다. 예를 들어, 도 6에 도시된 블록들 600-606은 도 6A에 도시된 기능 수단들(600A-606A)에 대응한다. 더 일반적으로, 대응하는 상대 기능수단 도면들을 가지는 도면들에 도시된 방법들이 존재하고, 동작 블록들은 유사한 번호를 가지는 기능 수단 블록들에 대응한다.
여기에 사용되는 바와 같이, 용어 "결정하는"은 다양한 범위의 동작들을 포함한다. 예를 들어, "결정하는"은 계산, 컴퓨팅, 프로세성, 유도, 조사, 룩업(예를 들어, 테이블, 데이터베이스 또는 다른 데이터 구조를 룩업), 어서팅(ascertaining) 등을 포함할 수 있다. 또한, "결정하는"것은 수신(예를 들어, 정보를 수신), 액세스(예를 들어, 메모리의 데이터에 액세스) 등을 포함할 수 있다. 또한 "결정하는"은 분해하기, 선택하기, 고르기, 설정하기 등을 포함할 수 있다.
정보 및 신호들은 다양한 타입의 상이한 기술들을 사용하여 표현될 수 있다. 예를 들어, 본 명세서상에 제시된 데이터, 지령, 명령, 정보, 신호 등은 전압, 전류, 전자기파, 자기장 또는 입자, 광 필드 또는 입자, 또는 이들의 임의의 조합으로 표현될 수 있다.
다양한 예시적인 논리 블록들, 모듈들, 및 회로들이 범용 프로세서; 디지털 신호 처리기, DSP; 주문형 집적회로, ASIC; 필드 프로그램어블 게이트 어레이, FPGA; 또는 다른 프로그램어블 논리 장치; 이산 게이트 또는 트랜지스터 논리; 이산 하드웨어 컴포넌트들; 또는 이러한 기능들을 구현하도록 설계된 것들의 조합을 통해 구현 또는 수행될 수 있다. 범용 프로세서는 마이크로 프로세서 일 수 있지만; 대안적 실시예에서, 이러한 프로세서는 기존 프로세서, 제어기, 마이크로 제어기, 또는 상태 머신일 수 있다. 프로세서는 예를 들어, DSP 및 마이크로프로세서, 복수의 마이크로프로세서들, DSP 코어와 결합된 하나 이상의 마이크로 프로세서, 또는 이러한 구성들의 조합과 같이 계산 장치들의 조합으로서 구현될 수 있다.
본 명세서와 연관되어 설명된 방법의 단계들 또는 알고리즘은 하드웨어에서, 프로세서에 의해 실행되는 소프트웨어 모듈에서, 또는 이들의 조합에 의해 직접 구현될 수 있다. 소프트웨어 모듈은 당업계에 공지된 임의의 형태의 저장 매체의 형태로 존재할 수 있다. 사용될 수 있는 저장 매체의 임의의 예들은 RAM 메모리; 플래쉬 메모리; ROM 메모리; EPROM 메모리; EEPROM 메모리; 레지스터; 하드디스크; 휴대용 디스크; 콤팩트 디스크 ROM(CD-ROM) 일 수 있다. 소프트웨어 모듈은 단일 명령 또는 다수의 명령들을 포함할 수 있고, 상이한 프로그램들 사이에서 그리고 다수의 저장 매체에 걸쳐 몇몇 상이한 코드 세그먼트들에 걸쳐 분산될 수 있다. 저장 매체는 프로세서에 연결되어 프로세서가 저장매체로부터 정보를 판독하고 저장매체로 정보를 기록할 수 있도록 한다. 대안적으로, 저장 매체는 프로세서에 내장될 수 있다.
여기에 설명된 방법은 전술한 방법을 달성하기 위한 하나 이상의 단계들 및 동작들을 포함한다. 방법 단계들 및/또는 동작들은 청구항들의 범위에서 벗어남이 없이 서로 교환될 수 있다. 디시 말해서, 단계 또는 동작들의 특정한 순서가 특정되지 않는 한, 특정한 단계들 및/또는 동작들의 순서 및/또는 사용은 청구항들의 범위로부터 벗어남이 없이 수정될 수 있다.
여기서 제시된 기능들은 하드웨어, 소프트웨어, 펌웨어, 또는 이들의 조합을 통해 구현될 수 있다. 소프트웨어로 구현되는 경우, 상기 기능들은 컴퓨터 판독가능한 매체 상에 하나 이상의 명령로서 저장될 수 있다. 저장 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용한 매체일 수 있다. 예를 들어, 이러한 컴퓨터 판독가능한 매체는 RAM,ROM,EEPROM,CD-ROM 또는 다른 광학 디스크 저장 매체, 자기 디스크 저장 매체 또는 다른 자기 저장 장치들, 또는 명령 또는 데이터 구조의 형태로 요구되는 프로그램 코드 수단을 저장하는데 사용될 수 있고, 범용 컴퓨터, 특별한 컴퓨터, 범용 프로세서, 또는 특별한 프로세서에 의해 액세스될 수 있는 임의의 다른 매체를 포함하지만, 이들로 제한되는 것은 아니다. 여기서 사용되는 disk 및 disc은 컴팩트 disc(CD), 레이저 disc , 광 disc, DVD, 플로피 disk, 및 블루-레이 disc를 포함하며, 여기서 disk는 데이터를 자기적으로 재생하지만, disc은 레이저를 통해 광학적으로 데이터를 재생한다.
소프트웨어 또는 명령들은 전송 매체를 통해 전송될 수도 있다. 예를 들어, 소프트웨어가 웹사이트, 서버, 또는 다른 원격 소스로부터 동축 케이블, 광섬유 케이블, 연선, 디지털 가입자 라인(DSL), 또는 적외선 라디오, 및 마이크로웨이브와 같은 무선 기술들을 통해 전송되는 경우, 이러한 동축 케이블, 광섬유 케이블, 연선, DSL, 또는 적외선 라디오, 및 마이크로웨이브와 같은 무선 기술들이 이러한 매체의 정의 내에 포함될 수 있다.
또한, 도면에 도시된 것과 같은 모듈들 및/또는 여기에 설명된 방법들 및 기술들을 수행하기 위한 다른 적합한 수단은 다운로드되거나 그리고/또는 적용가능한 경우 모바일 디바이스 및/또는 기지국에 의해 획득될 수 있다. 예를 들어, 이러한 디바이스는 여기에 설명된 방법들을 수행하기 위한 수단의 전달을 실행하기 위해 서버에 연결될 수 있다. 선택적으로, 여기에 설명된 다양한 방법들이 저장 수단들(예를 들어, 랜덤 액세스 메모리(RAM), 판독 전용 메모리(ROM), 컴팩트 디스크(CD) 또는 플로피 디스크와 같은 물리 저장 매체, 등)을 통해 제공되어 모바일 디바이스 및/또는 이동국이 디바이스로 저장 수단을 연결하거나 제공하면 다양한 방법들을 획득할 수 있도록 할 수 있다. 또한, 디바이스로 여기에 설명된 방법들 및 기술들을 제공하기 위한 임의의 적합한 수단이 사용될 수 있다.
청구범위들은 전술한 정화한 구성 및 컴포넌트들로 제한되지 않음을 이해할 것이다. 다양한 수정들, 변경들 및 변형들이 청구항의 범위에 벗어남이 없이 방법들 및 전술한 장치의 배열, 동작 및 세부내용에 대하여 수행될 수 있다.
여기에 사용되는 바와 같이, 용어 "결정하는"은 다양한 범위의 동작들을 포함한다. 예를 들어, "결정하는"은 계산, 컴퓨팅, 프로세성, 유도, 조사, 룩업(예를 들어, 테이블, 데이터베이스 또는 다른 데이터 구조를 룩업), 어서팅(ascertaining) 등을 포함할 수 있으며, 그 역도 그러하다. 또한, "결정하는"것은 수신(예를 들어, 정보를 수신), 액세스(예를 들어, 메모리의 데이터에 액세스) 등을 포함할 수 있다. 또한 "결정하는"은 분해하기, 선택하기, 고르기, 설정하기 등을 포함할 수 있다.
정보 및 신호들은 다양한 타입의 상이한 기술들을 사용하여 표현될 수 있다. 예를 들어, 본 명세서상에 제시된 데이터, 지령, 명령, 정보, 신호 등은 전압, 전류, 전자기파, 자기장 또는 입자, 광 필드 또는 입자, 또는 이들의 임의의 조합으로 표현될 수 있다.
다양한 예시적인 논리 블록들, 모듈들, 및 회로들이 범용 프로세서; 디지털 신호 처리기, DSP; 주문형 집적회로, ASIC; 필드 프로그램어블 게이트 어레이, FPGA; 또는 다른 프로그램어블 논리 장치; 이산 게이트 또는 트랜지스터 논리; 이산 하드웨어 컴포넌트들; 또는 이러한 기능들을 구현하도록 설계된 것들의 조합을 통해 구현 또는 수행될 수 있다. 범용 프로세서는 마이크로 프로세서 일 수 있지만; 대안적 실시예에서, 이러한 프로세서는 기존 프로세서, 제어기, 마이크로 제어기, 또는 상태 머신일 수 있다. 프로세서는 예를 들어, DSP 및 마이크로프로세서, 복수의 마이크로프로세서들, DSP 코어와 결합된 하나 이상의 마이크로 프로세서, 또는 이러한 구성들의 조합과 같이 계산 장치들의 조합으로서 구현될 수 있다.
본 명세서와 연관되어 설명된 방법의 단계들 또는 알고리즘은 하드웨어에서, 프로세서에 의해 실행되는 소프트웨어 모듈에서, 또는 이들의 조합에 의해 직접 구현될 수 있다. 소프트웨어 모듈은 당업계에 공지된 임의의 형태의 저장 매체의 형태로 존재할 수 있다. 사용될 수 있는 저장 매체의 임의의 예들은 RAM 메모리; 플래쉬 메모리; ROM 메모리; EPROM 메모리; EEPROM 메모리; 레지스터; 하드디스크; 휴대용 디스크; 콤팩트 디스크 ROM(CD-ROM) 일 수 있다. 소프트웨어 모듈은 단일 명령 또는 다수의 명령들을 포함할 수 있고, 상이한 프로그램들 사이에서 그리고 다수의 저장 매체에 걸쳐 몇몇 상이한 코드 세그먼트들에 걸쳐 분산될 수 있다. 저장 매체는 프로세서에 연결되어 프로세서가 저장매체로부터 정보를 판독하고 저장매체로 정보를 기록할 수 있도록 한다. 대안적으로, 저장 매체는 프로세서에 내장될 수 있다.
여기에 설명된 방법은 전술한 방법을 달성하기 위한 하나 이상의 단계들 및 동작들을 포함한다. 방법 단계들 및/또는 동작들은 청구항들의 범위에서 벗어남이 없이 서로 교환될 수 있다. 디시 말해서, 단계 또는 동작들의 특정한 순서가 특정되지 않는 한, 특정한 단계들 및/또는 동작들의 순서 및/또는 사용은 청구항들의 범위로부터 벗어남이 없이 수정될 수 있다.
여기서 제시된 기능들은 하드웨어, 소프트웨어, 펌웨어, 또는 이들의 조합을 통해 구현될 수 있다. 소프트웨어로 구현되는 경우, 상기 기능들은 컴퓨터 판독가능한 매체 상에 하나 이상의 명령로서 저장될 수 있다. 저장 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용한 매체일 수 있다. 예를 들어, 이러한 컴퓨터 판독가능한 매체는 RAM,ROM,EEPROM,CD-ROM 또는 다른 광학 디스크 저장 매체, 자기 디스크 저장 매체 또는 다른 자기 저장 장치들, 또는 명령 또는 데이터 구조의 형태로 요구되는 프로그램 코드 수단을 저장하는데 사용될 수 있고, 범용 컴퓨터, 특별한 컴퓨터, 범용 프로세서, 또는 특별한 프로세서에 의해 액세스될 수 있는 임의의 다른 매체를 포함하지만, 이들로 제한되는 것은 아니다. 여기서 사용되는 disk 및 disc은 컴팩트 disc(CD), 레이저 disc , 광 disc, DVD, 플로피 disk, 및 블루-레이 disc를 포함하며, 여기서 disk는 데이터를 자기적으로 재생하지만, disc은 레이저를 통해 광학적으로 데이터를 재생한다.
소프트웨어 또는 명령들은 전송 매체를 통해 전송될 수도 있다. 예를 들어, 소프트웨어가 웹사이트, 서버, 또는 다른 원격 소스로부터 동축 케이블, 광섬유 케이블, 연선, 디지털 가입자 라인(DSL), 또는 적외선 라디오, 및 마이크로웨이브와 같은 무선 기술들을 통해 전송되는 경우, 이러한 동축 케이블, 광섬유 케이블, 연선, DSL, 또는 적외선 라디오, 및 마이크로웨이브와 같은 무선 기술들이 이러한 매체의 정의 내에 포함될 수 있다.
또한, 도면에 도시된 것과 같은 모듈들 및/또는 여기에 설명된 방법들 및 기술들을 수행하기 위한 다른 적합한 수단은 다운로드되거나 그리고/또는 적용가능한 경우 모바일 디바이스 및/또는 기지국에 의해 획득될 수 있다. 예를 들어, 이러한 디바이스는 여기에 설명된 방법들을 수행하기 위한 수단의 전달을 실행하기 위해 서버에 연결될 수 있다. 선택적으로, 여기에 설명된 다양한 방법들이 저장 수단들(예를 들어, 랜덤 액세스 메모리(RAM), 판독 전용 메모리(ROM), 컴팩트 디스크(CD) 또는 플로피 디스크와 같은 물리 저장 매체, 등)을 통해 제공되어 모바일 디바이스 및/또는 이동국이 디바이스로 저장 수단을 연결하거나 제공하면 다양한 방법들을 획득할 수 있도록 할 수 있다. 도한, 디바이스로 여기에 설명된 방법들 및 기술들을 제공하기 위한 임의의 적합한 수단이 사용될 수 있다.
청구범위들은 전술한 정화한 구성 및 컴포넌트들로 제한되지 않음을 이해할 것이다. 다양한 수정들, 변경들 및 변형들이 청구항의 범위에 벗어남이 없이 방법들 및 전술한 장치의 배열, 동작 및 세부내용에 대하여 수행될 수 있다.

Claims (35)

  1. 메시지에 대한 무선 통신 전송의 인코딩된 데이터 비트들을 디코딩하기 위한 방법으로서,
    MAP 메시지의 콘텐츠 및 관련된 전송의 파라미터: 중 적어도 하나에 관한 선험적(priori) 정보에 기반하여 상기 인코딩된 데이터 비트들의 비트 값들의 세트를 특정(specify)하는 가설을 생성하는 단계; 및
    상기 특정된 비트 값들과 불일치(inconsistent) 하는 디코딩된 비트들 세트들을 고려(consideration)에서 제거하고, 그리고, 상기 가설에 의해 특정된 비트 값들과 일치하는 디코딩된 비트들을, 출력으로서, 선택함으로써 상기 전송을 디코딩하는 단계를 포함하는, 메시지에 대한 무선 통신 전송의 인코딩된 데이터 비트들을 디코딩하기 위한 방법.
  2. 제 1 항에 있어서, 상기 MAP 메시지는 일반 DL-MAP 메시지, 압축된 DL-MAP 메시지, UL-MAP 메시지, RNG-REQ 메시지, 및 BW-REQ 메시지 중 적어도 하나를 포함하는, 메시지에 대한 무선 통신 전송의 인코딩된 데이터 비트들을 디코딩하기 위한 방법.
  3. 제 1 항에 있어서,
    상기 메시지가 성공적으로 디코딩되지 않는다고 결정하는 단계;
    상기 메시지의 MAC 헤더가 성공적으로 디코딩된다고 결정하는 단계;
    상기 성공적으로 디코딩된 MAC 헤더의 비트 값들을 특정하기 위해 상기 가설들을 업데이트하는 단계;
    가설들을 이용하여 비트 값들을 특정하기 위해 상기 가설을 업데이트하는 단계; 및
    상기 특정된 비트 값들과 불일치 하는 디코딩된 비트들의 세트들을 고려에서 제거하고, 그리고, 상기 가설에 의해 특정된 비트 값들과 일치하는 디코딩된 비트들을, 출력으로서, 선택함으로써 상기 전송을 다시 디코딩하는 단계를 포함하는, 메시지에 대한 무선 통신 전송의 인코딩된 데이터 비트들을 디코딩하기 위한 방법.
  4. 제 1 항에 있어서, 상기 가설을 생성하는 단계는:
    상기 표준에 따라 언제나 고정된 값에 기반하여 하나 이상의 비트 값들을 특정하는 단계를 포함하는, 메시지에 대한 무선 통신 전송의 인코딩된 데이터 비트들을 디코딩하기 위한 방법.
  5. 제 1 항에 있어서, 상기 가설을 생성하는 단계는:
    이전에 디코딩된 MAP 메시지에서의 필드의 값 및 현재 디코딩된 전송에서 변경될 것으로 예측되는 비트들의 수에 기반하여 하나 이상의 비트 값들을 특정하는 단계를 포함하는, 메시지에 대한 무선 통신 전송의 인코딩된 데이터 비트들을 디코딩하기 위한 방법.
  6. 제 5 항에 있어서, 상기 필드의 값은 단조(monotonically) 증가하도록 예측되는, 메시지에 대한 무선 통신 전송의 인코딩된 데이터 비트들을 디코딩하기 위한 방법.
  7. 제 5 항에 있어서, 상기 필드의 값은 상기 동작 중에 변경되지 않을 것으로 예측되는, 메시지에 대한 무선 통신 전송의 인코딩된 데이터 비트들을 디코딩하기 위한 방법.
  8. 제 1 항에 있어서,
    상기 MAP 메시지는 UL-MAP 메시지이고; 그리고
    상기 가설을 생성하는 단계는 RF 대역폭 및 프레임 듀레이션에, 적어도 부분적으로, 의하여 결정되는 상기 MAP 메시지에서 필드 값에 기반하여 하나 이상의 비트 값들을 특정하는 단계를 포함하는, 메시지에 대한 무선 통신 전송의 인코딩된 데이터 비트들을 디코딩하기 위한 방법.
  9. 제 1 항에 있어서,
    상기 메시지는 RNG-REQ 메시지이고; 그리고
    상기 가설을 생성하는 단계는 상기 수신된 필드들 중 일부가 정확하다는 가정을 이용한 표준에 따라 고정된 값에 기반하여 하나 이상의 비트 값들을 특정하는 단계를 포함하는, 메시지에 대한 무선 통신 전송의 인코딩된 데이터 비트들을 디코딩하기 위한 방법.
  10. 무선 통신을 위한 수신기로서,
    메시지와 관련되는 무선 전송을 수신하고 인코딩된 비트들의 세트를 생성하기 위한 수신기 프론트 엔드(front end);
    각각이 상기 메시지와 관련되는 선험적인 정보에 기반하여 상기 인코딩된 데이터 비트들의 비트 값들의 세트를 식별하는, 하나 이상의 가설들을 생성하기 위한 가설 엔진(Hypothesis Engine); 및
    상기 가설들에 의해 특정된 비트 값들과 불일치 하는 디코딩된 비트들의 세트들을 고려에서 제거하고, 그리고, 상기 가설들 중 하나에 의해 특정된 비트 값들과 일치하는 디코딩된 비트들을, 출력으로서, 선택함으로써 상기 인코딩된 비트들을 디코딩하도록 구성되는 디코더를 포함하는, 무선 통신을 위한 수신기.
  11. 제 10 항에 있어서, 상기 메시지는 레인지 요청(RNG-REQ) 메시지 및 대역폭 요청(BW-REQ) 메시지 중 적어도 하나를 포함하는, 무선 통신을 위한 수신기.
  12. 제 11 항에 있어서, 상기 가설 엔진은 RNG-REQ에 대응하는 비트 값들을 특정하는 적어도 하나의 가설 및 BW-REQ 메시지에 대응하는 비트 값들을 특정하는 적어도 하나의 가설을 생성하도록 구성되는, 무선 통신을 위한 수신기.
  13. 제 10 항에 있어서, 상기 메시지는: 업링크 MAP(UL-MAP) 메시지, 일반 다운링크 MAP(DL-MAP) 메시지, 및 압축된 DL-MAP 메시지 중 적어도 하나를 포함하는, 무선 통신을 위한 수신기.
  14. 제 13 항에 있어서, 상기 가설 엔진은 일반 DL-MAP 메시지에 대응하는 비트 값들을 특정하는 적어도 하나의 가설 및 압축된 DL-MAP 메시지에 대응하는 비트 값들을 특정하는 적어도 하나의 가설을 생성하도록 구성되는, 무선 통신을 위한 수신기.
  15. 제 14 항에 있어서, 상기 디코더는, 병렬로, 일반 DL-MAP 메시지에 대응하는 비트 값들을 특정하는 가설 및 압축된 DL-MAP 메시지에 대응하는 비트 값들을 특정하는 가설에 기반하여 상기 인코딩된 비트들을 디코딩하기 위한 적어도 두 개의 디코딩 회로들을 포함하는, 무선 통신을 위한 수신기.
  16. 제 10 항에 있어서,
    상기 메시지는 성공적으로 디코딩되지 않았으나, 상기 메시지의 MAC 헤더는 성공적으로 디코딩되었음을 결정하고;
    상기 성공적으로 디코딩된 MAC 헤더에 대응하는 비트 값들을 특정하는 상기 가설들을 업데이트하도록 상기 가설 엔진에 시그널링하고; 그리고
    상기 업데이트된 가설들에 의해 특정되는 비트 값들과 불일치하는 디코딩된 비트들의 세트들을 고려에서 제거하고, 출력으로서, 상기 업데이트된 가설들에 의해 특정되는 비트 값들과 일치하는 디코딩된 비트들을 선택함으로써 상기 인코딩된 비트들을 디코딩하도록 상기 디코더에 시그널링하도록 구성되는 로직을 더 포함하는, 무선 통신을 위한 수신기.
  17. 제 10 항에 있어서, 상기 가설 엔진은 상기 표준에 따라 언제나 고정된 값에 기반하여 하나 이상의 비트 값들을 특정함으로써:
    적어도 하나의 가설을 생성하도록 구성되는, 무선 통신을 위한 수신기.
  18. 제 10 항에 있어서, 상기 가설 엔진은 이전에 디코딩된 메시지에서의 필드의 값 및 현재 디코딩된 전송에서 변경될 것으로 예측되는 비트들의 수에 기반하여 하나 이상의 비트 값들을 특정함으로써:
    적어도 하나의 가설을 생성하도록 구성되는, 무선 통신을 위한 수신기.
  19. 제 18 항에 있어서, 상기 필드의 값은 단조 증가하도록 예측되는, 무선 통신을 위한 수신기.
  20. 제 18 항에 있어서, 상기 필드의 값은 상기 동작 중에 변경되지 않을 것으로 예측되는, 무선 통신을 위한 수신기.
  21. 제 10 항에 있어서,
    상기 메시지는 UL-MAP 메시지이고,
    상기 MAP 메시지는 UL-MAP 메시지이고; 그리고
    상기 가설 엔진은 RF 대역폭 및 프레임 듀레이션에, 적어도 부분적으로, 의하여 결정되는 상기 MAP 메시지에서 필드 값에 기반하여 하나 이상의 비트 값들을 특정함으로써 적어도 하나의 가설을 생성하도록 구성되는, 무선 통신을 위한 수신기.
  22. 무선 통신을 위한 장치로서,
    메시지에 대한 무선 전송 및 인코딩된 비트들의 세트를 생성하기 위한 수단;
    각각이 상기 메시지에 관한 선험적 정보에 기반하여 상기 인코딩된 데이터 비트들의 비트 값들의 세트를 특정하는, 하나 이상의 가설들을 생성하기 위한 수단; 및
    상기 가정들에 의해 특정되는 비트 값들과 불일치하는 디코딩된 비트들의 세트들을 고려에서 제거하고, 그리고, 출력으로서, 상기 가설들 중 하나에 의해 특정되는 비트 값들과 일치하는 디코딩된 비트들을 선택함으로써 상기 인코딩된 비트들을 디코딩하기 위한 수단을 포함하는, 무선 통신을 위한 장치.
  23. 제 22 항에 있어서,
    상기 메시지는: 레인지 요청(RNG-REQ) 메시지 및 대역폭 요청(BW-REQ) 메시지 중 적어도 하나를 포함하고; 그리고
    상기 하나 이상의 가설들을 생성하기 위한 수단은 RNG-REQ 메시지에 대응하는 비트 값들을 특정하는 적어도 하나의 가설 및 BW-REQ 메시지에 대응하는 비트값들을 특정하는 적어도 하나의 가설을 생성하도록 구성되는, 무선 통신을 위한 장치.
  24. 제 22 항에 있어서,
    상기 메시지는: 업링크 MAP(UL-MAP) 메시지, 일반 다운링크 MAP(DL-MAP) 메시지, 및 압축된 DL-MAP 메시지 중 적어도 하나를 포함하는, 무선 통신을 위한 장치.
  25. 제 24 항에 있어서, 상기 가설들을 생성하기 위한 수단은 일반 DL-MAP 메시지에 대응하는 비트 값들을 특정하는 적어도 하나의 가설 및 압축된 DL-MAP 메시지에 대응하는 비트 값들을 특정하는 적어도 하나의 가설을 생성하도록 구성되는, 무선 통신을 위한 장치.
  26. 제 22 항에 있어서,
    상기 메시지가 성공적으로 디코딩되지 않았으나 상기 메시지의 MAC 헤더가 성공적으로 디코딩되었음을 결정하기 위한 수단;
    상기 성공적으로 디코딩된 MAC 헤더에 대응하는 비트 값들을 특정하기 위해 상기 가설들을 업데이트하도록 상기 가설들을 생성하기 위한 수단에 시그널링하기 위한 수단; 및
    상기 업데이트된 가설들에 의해 특정되는 비트 값들과 불일치하는 디코딩된 비트들의 세트들을 고려에서 제거하고, 그리고, 출력으로서, 상기 업데이트된 가설들에 의해 특정되는 비트 값들과 일치하는 디코딩된 비트들을 선택함으로써 상기 인코딩된 비트들을 디코딩하도록 상기 디코딩하기 위한 수단에 시그널링하기 위한 수단을 더 포함하는, 무선 통신을 위한 장치.
  27. 모바일 디바이스로서,
    MAP 메시지에 대한 무선 전송을 수신하고 그리고 인코딩된 비트들의 세트를 생성하기 위한 수신기 프론트 엔드;
    상기 MAP 메시지의 콘텐츠 또는 이전에 디코딩된 MAP 메시지: 중 적어도 하나에 관한 선험적인 정보에 기반하여 상기 인코딩된 데이터 비트들의 비트 값들의 세트를 식별하는, 하나 이상의 가설들을 생성하기 위한 가설 엔진(Hypothesis Engine); 및
    상기 가설들에 의해 특정된 비트 값들과 불일치 하는 디코딩된 비트들의 세트들을 고려에서 제거하고, 그리고, 출력으로서, 상기 가설들 중 하나에 의해 특정된 비트 값들과 일치하는 디코딩된 비트들을 선택함으로써 상기 인코딩된 비트들을 디코딩하도록 구성되는 디코더를 포함하는, 모바일 디바이스.
  28. 제 27 항에 있어서, 상시 MAP 메시지는 일반 다운링크 MAP(DL-MAP) 메시지, 및 압축된 DL-MAP 메시지 중 적어도 하나를 포함하는, 모바일 디바이스.
  29. 제 27 항에 있어서,
    상기 가설 엔진은 일반 DL-MAP 메시지에 대응하는 비트 값들을 특정하는 적어도 하나의 가설 및 압축된 DL-MAP 메시지에 대응하는 비트 값들을 특정하는 적어도 하나의 가설을 생성하도록 구성되고; 그리고
    상기 디코더는, 병렬로, 일반 DL-MAP 메시지에 대응하는 비트 값들을 특정하는 가설 및 압축된 DL-MAP 메시지에 대응하는 비트 값들을 특정하는 가설에 기반하여 상기 인코딩된 비트들을 디코딩하기 위한 적어도 두 개의 디코딩 회로들을 포함하는, 모바일 디바이스.
  30. 제 27 항에 있어서,
    상기 MAP 메시지는 성공적으로 디코딩되지 않았으나, 상기 MAP 메시지의 MAC 헤더는 성공적으로 디코딩되었음을 결정하고;
    상기 성공적으로 디코딩된 MAC 헤더에 대응하는 비트 값들을 특정하는 상기 가설들을 업데이트하도록 상기 가설 엔진에 시그널링하고; 그리고
    상기 업데이트된 가설들에 의해 특정되는 비트 값들과 불일치하는 디코딩된 비트들의 세트들을 고려에서 제거하고, 그리고, 출력으로서, 상기 업데이트된 가설들에 의해 특정되는 비트 값들과 일치하는 디코딩된 비트들을 선택함으로써 상기 인코딩된 비트들을 디코딩하도록 상기 디코더를 시그널링하도록 구성되는 로직을 더 포함하는, 모바일 디바이스.
  31. 저장된 명령들의 세트를 가지는 컴퓨터 판독가능한 매체를 포함하는 무선 통신을 위한 컴퓨터-프로그램 물건(product)으로서, 상기 명령들의 세트는 하나 이상의 프로세서들에 의해 실행가능하고, 상기 명령들의 세트는:
    메시지에 대한 무선 전송을 수신하고 인코딩된 비트들의 세트를 생성하기 위한 명령들;
    각각이 상기 메시지에 관한 선험적인 정보에 기반하여 상기 인코딩된 데이터 비트들의 비트 값들의 세트를 식별하는, 하나 이상의 가설들을 생성하기 위한 명령들; 및
    상기 가설들에 의해 특정된 비트 값들과 불일치 하는 디코딩된 비트들의 세트들을 고려에서 제거하고, 그리고, 상기 가설들 중 하나에 의해 특정된 비트 값들과 일치하는 디코딩된 비트들을, 출력으로서, 선택함으로써 상기 인코딩된 비트들을 디코딩하기 위한 명령들을 포함하는, 컴퓨터-프로그램 물건.
  32. 제 31 항에 있어서,
    상기 메시지는: 레인지 요청(RNG-REQ) 메시지 및 대역폭 요청(BW-REQ) 메시지 중 적어도 하나를 포함하고; 그리고
    상기 하나 이상의 가설들을 생성하기 위한 명령은 RNG-REQ 메시지에 대응하는 비트 값들을 특정하는 적어도 하나의 가설 및 BW-REQ 메시지에 대응하는 비트값들을 특정하는 적어도 하나의 가설을 생성하도록 구성되는, 컴퓨터 프로그램 물건.
  33. 제 31 항에 있어서, 상기 메시지는: 업링크 MAP(UL-MAP) 메시지, 일반 다운링크 MAP(DL-MAP) 메시지, 및 압축된 DL-MAP 메시지 중 적어도 하나를 포함하는, 컴퓨터 프로그램 물건.
  34. 제 33 항에 있어서, 상기 가설들을 생성하기 위한 명령들은 일반 DL-MAP 메시지에 대응하는 비트 값들을 특정하는 적어도 하나의 가설 및 압축된 DL-MAP 메시지에 대응하는 비트 값들을 특정하는 적어도 하나의 가설을 생성하도록 구성되는, 컴퓨터 프로그램 물건.
  35. 제 31 항에 있어서,
    상기 메시지가 성공적으로 디코딩되지 않았으나 상기 메시지의 MAC 헤더가 성공적으로 디코딩되었음을 결정하기 위한 명령들;
    상기 성공적으로 디코딩된 MAC 헤더에 대응하는 비트 값들을 특정하기 위해 상기 가설들을 업데이트하도록 상기 가설들을 생성하기 위한 명령들에 시그널링하기 위한 명령들; 및
    상기 업데이트된 가설들에 의해 특정되는 비트 값들과 불일치하는 디코딩된 비트들의 세트들을 고려에서 제거하고, 그리고, 출력으로서, 상기 업데이트된 가설들에 의해 특정되는 비트 값들과 일치하는 디코딩된 비트들을 선택함으로써 상기 인코딩된 비트들을 디코딩하도록 상기 디코딩하기 위한 명령들에 시그널링하기 위한 명령들을 더 포함하는, 컴퓨터 프로그램 물건.
KR1020107017687A 2008-01-07 2008-07-17 채널-map 메시지들 상의 선험적 정보를 이용한 채널 디코딩 KR101250873B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/970,373 US8392811B2 (en) 2008-01-07 2008-01-07 Methods and systems for a-priori decoding based on MAP messages
US11/970,373 2008-01-07
PCT/US2008/070385 WO2009088535A1 (en) 2008-01-07 2008-07-17 Channel decoding with a-priori information on channel-map messages

Publications (2)

Publication Number Publication Date
KR20100114065A true KR20100114065A (ko) 2010-10-22
KR101250873B1 KR101250873B1 (ko) 2013-04-04

Family

ID=39870548

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020107017687A KR101250873B1 (ko) 2008-01-07 2008-07-17 채널-map 메시지들 상의 선험적 정보를 이용한 채널 디코딩

Country Status (9)

Country Link
US (1) US8392811B2 (ko)
EP (1) EP2243223A1 (ko)
JP (1) JP5185395B2 (ko)
KR (1) KR101250873B1 (ko)
CN (1) CN101911509A (ko)
CA (1) CA2710493A1 (ko)
RU (1) RU2454795C2 (ko)
TW (1) TWI373226B (ko)
WO (1) WO2009088535A1 (ko)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8392811B2 (en) * 2008-01-07 2013-03-05 Qualcomm Incorporated Methods and systems for a-priori decoding based on MAP messages
US8406342B2 (en) * 2008-06-19 2013-03-26 Qualcomm Incorporated Methods and systems for improving frame decoding performance using known information
WO2010001454A1 (ja) * 2008-06-30 2010-01-07 富士通株式会社 無線リソースの割り当て方法、基地局、移動局
US8902828B2 (en) 2009-10-05 2014-12-02 Qualcomm Incorporated Carrier indicator field for cross carrier assignments
US20110124289A1 (en) * 2009-11-20 2011-05-26 Krishna Balachandran Opportunistic Network Interference Cancellation For Wireless Networks
WO2011100583A2 (en) * 2010-02-12 2011-08-18 Yitran Communications Ltd. Digital communication system for use in high noise channels
US8478258B2 (en) * 2010-03-05 2013-07-02 Intel Corporation Techniques to reduce false detection of control channel messages in a wireless network
US8340004B2 (en) * 2010-04-07 2012-12-25 Qualcomm Incorporated Combining transmission with incrementing fields
JP2012165040A (ja) * 2011-02-03 2012-08-30 Sharp Corp 受信装置、受信方法、通信システムおよび通信方法
CN108055110A (zh) * 2012-12-18 2018-05-18 华为技术有限公司 用于先验解码的系统和方法
US8824598B2 (en) * 2012-12-18 2014-09-02 Telefonaktiebolaget L M Ericsson (Publ) System and method for communicating information in a wireless network
EP3039788B1 (en) * 2013-08-29 2021-07-07 Harman International Industries, Incorporated Soft decision decoding method and system thereof
WO2015149868A1 (en) * 2014-04-04 2015-10-08 Telefonaktiebolaget L M Ericsson (Publ) Method and node for improving error rate performance based on packet header information
US10498662B2 (en) * 2015-12-29 2019-12-03 Ondas Networks Inc. System and method for automatic packet field supression in broadband wireless communications systems
US11146356B2 (en) * 2017-05-12 2021-10-12 Telefonaktiebolaget Lm Ericsson (Publ) Adaptive CRC length for beam sweeping
CN110612669B (zh) * 2017-05-24 2021-07-09 华为技术有限公司 译码的方法和装置
CN113709700B (zh) * 2020-05-21 2024-03-26 中信科智联科技有限公司 一种地图数据的处理方法、装置及设备

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5721746A (en) 1996-04-19 1998-02-24 General Electric Company Optimal soft-output decoder for tail-biting trellis codes
US5721745A (en) * 1996-04-19 1998-02-24 General Electric Company Parallel concatenated tail-biting convolutional code and decoder therefor
JP3205723B2 (ja) * 1997-12-12 2001-09-04 松下電器産業株式会社 Cdma用データ伝送方法及び装置
DE50010933D1 (de) 1999-07-22 2005-09-15 Siemens Ag Verfahren zum fehlerschutz eines datenbitstromes
US6608828B1 (en) * 1999-09-15 2003-08-19 Ericsson Inc. Methods and systems for decoding headers that are repeatedly transmitted and received along with data on a radio channel
US20040022181A1 (en) * 2002-08-05 2004-02-05 Coffey John T. Pseudo-bit-loading for enhanced performance with standards-compliant air interface for multi-tone wireless lans
GB2400002A (en) * 2003-03-27 2004-09-29 Tandberg Television Asa Decoding a concatenated convolutional and block encoded signal by marking known correct bits
US8046662B2 (en) * 2004-08-20 2011-10-25 Broadcom Corporation Method and system for decoding control data in GSM-based systems using inherent redundancy
US7636399B2 (en) * 2005-05-06 2009-12-22 Her Majesty The Queen In Right Of Canada As Represented By The Minister Of Industry, Through The Communications Research Centre Canada Iterative non-coherent CPM decoder
US8155247B2 (en) * 2005-08-16 2012-04-10 Telefonaktiebolaget L M Ericsson (Publ) Message decoding with a priori information and soft combining
KR101216079B1 (ko) * 2005-11-30 2012-12-26 엘지전자 주식회사 디지털 방송 시스템 및 처리 방법
US7730385B2 (en) * 2005-11-30 2010-06-01 Motorola, Inc. Method for decoding a received control channel message with a priori information
US7797607B2 (en) * 2005-12-27 2010-09-14 Lg Electronics, Inc. DTV transmitter and method of coding main and enhanced data in DTV transmitter
US7587005B2 (en) * 2006-03-28 2009-09-08 Research In Motion Limited Exploiting known padding data to improve block decode success rate
EP2025061B1 (en) 2006-06-01 2012-11-14 Telefonaktiebolaget LM Ericsson (publ) Method and apparatus relating to channel decoding
KR20080012434A (ko) * 2006-08-03 2008-02-12 삼성전자주식회사 입력 메시지의 특성을 고려한 복호 장치 및 방법
GB0619769D0 (en) * 2006-10-06 2006-11-15 Siemens Ag Variable length coding
US8027284B2 (en) * 2006-11-27 2011-09-27 Ntt Docomo, Inc. Method and apparatus for reliable multicasting in wireless relay networks
KR101048456B1 (ko) * 2007-10-16 2011-07-11 삼성전자주식회사 무선 접속 통신 시스템에서 셀 부하 예측 장치 및 방법
US8259866B2 (en) * 2008-01-04 2012-09-04 Qualcomm Incorporated Decoding scheme using A-priori information about transmitted messages
US8000411B2 (en) 2008-01-04 2011-08-16 Qualcomm Incorporated Decoding scheme using multiple hypotheses about transmitted messages
US8392811B2 (en) * 2008-01-07 2013-03-05 Qualcomm Incorporated Methods and systems for a-priori decoding based on MAP messages
WO2009131416A2 (en) * 2008-04-25 2009-10-29 Samsung Electronics Co., Ltd. Apparatuses and methods for providing emergency service in a wireless communication system

Also Published As

Publication number Publication date
US20090177951A1 (en) 2009-07-09
JP2011509633A (ja) 2011-03-24
RU2454795C2 (ru) 2012-06-27
TW200931860A (en) 2009-07-16
WO2009088535A1 (en) 2009-07-16
CA2710493A1 (en) 2009-07-16
EP2243223A1 (en) 2010-10-27
RU2010133230A (ru) 2012-02-20
CN101911509A (zh) 2010-12-08
US8392811B2 (en) 2013-03-05
KR101250873B1 (ko) 2013-04-04
JP5185395B2 (ja) 2013-04-17
TWI373226B (en) 2012-09-21

Similar Documents

Publication Publication Date Title
KR101250873B1 (ko) 채널-map 메시지들 상의 선험적 정보를 이용한 채널 디코딩
US8000411B2 (en) Decoding scheme using multiple hypotheses about transmitted messages
CN113708775B (zh) 利用分段式的冗余校验对控制信令进行编码和解码
US7779328B2 (en) Method and apparatus for efficiently decoding concatenated burst in a WiBro system
US8259866B2 (en) Decoding scheme using A-priori information about transmitted messages
EP2599228B1 (en) Decoding techniques for tail-biting codes
US8259867B2 (en) Methods and systems for turbo decoding in a wireless communication system
WO2011137918A1 (en) Technique for processing encoded information in a wireless communication network
JP2005124103A (ja) 受信装置および伝送レート判定方法

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee