KR101551261B1 - 전송된 메시지들에 대한 다중 가설들을 사용한 디코딩 방식 - Google Patents
전송된 메시지들에 대한 다중 가설들을 사용한 디코딩 방식 Download PDFInfo
- Publication number
- KR101551261B1 KR101551261B1 KR1020137008438A KR20137008438A KR101551261B1 KR 101551261 B1 KR101551261 B1 KR 101551261B1 KR 1020137008438 A KR1020137008438 A KR 1020137008438A KR 20137008438 A KR20137008438 A KR 20137008438A KR 101551261 B1 KR101551261 B1 KR 101551261B1
- Authority
- KR
- South Korea
- Prior art keywords
- hypotheses
- decoding
- bit values
- bits
- hypothesis
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0045—Arrangements at the receiver end
- H04L1/0054—Maximum-likelihood or sequential decoding, e.g. Viterbi, Fano, ZJ algorithms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0059—Convolutional codes
- H04L1/006—Trellis-coded modulation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0072—Error control for data other than payload data, e.g. control data
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Artificial Intelligence (AREA)
- Error Detection And Correction (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
Abstract
무선 통신 전송들의 인코딩된 데이터 비트들을 디코딩하기 위한 방법 및 장치가 제공된다. 인코딩된 데이터 비트들의 기지의 비트 값들에 대응하는 한 세트의 선험적 비트 값들이 생성될 수 있다. 선험적 비트 값들에 부합하지 않는 디코딩된 데이터 비트들에 대응하는 디코딩 경로들은 고려할 디코딩 경로들로부터 제거될 수 있고, 제거되지 않은 가능한 디코딩 경로들의 잔존 디코딩 경로들로부터 디코딩 경로를 선택함으로써 인코딩된 데이터 디코딩이 이뤄진다. 각각 상이한 한 세트의 선험적 비트 값들에 대응하는 다수의 가설들이 평가될 수 있고, 추가 처리를 위해 평가 출력에 기반하여 하나의 가설에 대한 디코딩된 데이터가 선택된다.
Description
본 발명은 일반적으로 무선 통신에 관한 것으로서, 특히 무선 전송들의 디코딩에 관한 것이다.
브로드밴드 인터넷 액세스 및 스트리밍 미디어 애플리케이션들과 같은 무선 통신 서비스들에 있어서의 급속한 성장은 보다 높은 데이터 레이트들에 대한 요구를 증가시킨다. 직교 주파수 분할 멀티플렉싱(OFDM) 및 직교 주파수 분할 다중 액세스(OFDMA)와 같은 멀티플렉싱 방식들에서의 발전들은 차세대 무선 통신 시스템들에 있어서 중요하다. 이는 이러한 방식들이 기존의 단일 캐리어 변조 방식들에 비해 변조 효율성, 스펙트럼 효율성, 유연성(예를 들면, 상이한 서비스 품질을 허용함), 및 강한 다중-경로 면역성을 포함하여 많은 장점들을 제공할 수 있다는 사실에 기인한다.
OFDM 및 OFDMA 시스템들은 종종 에러 정정을 제공하기 위해서 전송기에서 컨벌루셔널 인코더들을 사용한다. 컨벌루셔널 인코더를 사용하는 경우, m-비트 데이터 스트링이 n-비트로 변환되고, 여기서 m/n은 코딩 레이트이다. 비터비 디코더와 같은 디코더들이 수신된 인코딩된 n-비트들을 디코딩하여 원래의 m-비트 시퀀스를 복원하도록 수신기에서 사용된다. 이러한 방식은 종종 인코딩된 n-비트들 중 하나 이상이 정확하게 수신되지 않더라도 원래의 m-비트 시퀀스가 정확하게 디코딩될 수 있도록 하여주며, 결과적으로 비트 에러율을 감소시킨다.
그러나 지속적으로 증가하는 무선 서비스들에 대한 신뢰성 및 성능 요구들로 인해, 비트 에러율을 계속하여 감소시키기 위한 요구들이 존재한다.
일 실시예는 무선 통신 전송의 인코딩된 데이터 비트들을 디코딩하기 위한 방법을 제공한다. 상기 방법은 일반적으로 전송 또는 관련된 전송에 관한 선험적 정보(a-priori information)에 기반하여 알려지거나(known) 또는 예측되는 상기 인코딩된 데이터 비트들의 한 세트의 비트 값들을 각각 규정하는 다수의 가설들을 생성하는 단계; 상기 인코딩된 데이터 비트들에 대한 디코딩을 수행함으로써 상기 다수의 가설들을 평가하는 단계 - 여기서, 상기 디코딩은 상기 가설들에 의해 규정된 비트 값들에 부합하지 않는 디코딩된 비트들의 세트들을 제거하는 것을 포함함 -; 및 상기 가설들 중 하나에 대응하는 디코딩된 비트들을 출력으로서 선택하는 단계를 포함한다.
일 실시예는 무선 통신을 위한 수신기를 제공한다. 상기 수신기는 일반적으로 무선 전송을 수신하고 한 세트의 인코딩된 비트들을 생성하기 위한 수신기 프론트 엔드; 전송 또는 관련된 전송에 관한 선험적 정보(a-priori information)에 기반하여 알려지거나(known) 또는 예측되는 상기 인코딩된 데이터 비트들의 한 세트의 비트 값들을 각각 규정하는 다수의 가설들을 생성하기 위한 가설 엔진; 및 상기 가설들에 의해 규정된 비트 값들에 부합하지 않는 디코딩된 비트들의 세트들을 제거하고, 상기 가설들 중 하나에 대응하는 디코딩된 비트들을 출력으로서 선택하는 것을 포함하는 디코딩 동작들을 수행함으로써 상기 가설들을 평가하도록 구성된 디코더를 포함한다.
일 실시예는 무선 통신을 위한 장치를 제공한다. 상기 장치는 무선 전송을 수신하고 한 세트의 인코딩된 비트들을 생성하기 위한 수단; 전송 또는 관련된 전송에 관한 선험적 정보(a-priori information)에 기반하여 알려지거나(known) 또는 예측되는 상기 인코딩된 데이터 비트들의 한 세트의 비트 값들을 각각 규정하는 다수의 가설들을 생성하기 위한 수단; 및 상기 가설들에 의해 규정된 비트 값들에 부합하지 않는 디코딩된 비트들의 세트들을 제거하고, 상기 가설들 중 하나에 대응하는 디코딩된 비트들을 출력으로서 선택하는 것을 포함하는 디코딩 동작들을 수행함으로써 상기 가설들을 평가하기 위한 수단을 포함한다.
전술한 본원발명의 특징들이 상세히 이해될 수 있도록 하기 위해서, 앞에서 간단히 요약된 본 발명의 보다 구체적인 설명이 실시예들을 참조하여 설명되며, 이러한 실시예들 중 일부는 첨부된 도면에서 제시된다. 그러나 첨부된 도면은 본 발명의 전형적인 실시예들만을 예시할 뿐이고, 따라서 본 발명이 이들로 제한되는 것은 아니며, 본 발명이 다른 실시예들에 적용될 수 있음을 이해하여야 한다.
도1은 본 발명의 실시예에 따른 예시적인 시스템을 보여주는 도이다.
도2는 본 발명의 실시예에 따른 선험적(a-priori) 디코딩을 수행할 수 있는 수신기의 블록도이다.
도3은 본 발명의 실시예에 따른 선험적 디코더의 블록도이다.
도4는 본 발명의 실시예에 따른 선험적 정보(API) 비트들의 일 예를 보여주는 선험적 디코더의 블록도이다.
도5는 본 발명의 실시예에 따른 트렐리스 다이어그램의 상태 전이에 대한 일 예를 보여주는 도이다.
도6은 본 발명의 실시예에 따른 선험적 디코딩의 예시적인 동작들에 대한 흐름도이다.
도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는 다수의 디코딩 가설들을 반복적인 방식으로 평가하기 위한 예시적인 동작들을 보여주는 도이다.
도2는 본 발명의 실시예에 따른 선험적(a-priori) 디코딩을 수행할 수 있는 수신기의 블록도이다.
도3은 본 발명의 실시예에 따른 선험적 디코더의 블록도이다.
도4는 본 발명의 실시예에 따른 선험적 정보(API) 비트들의 일 예를 보여주는 선험적 디코더의 블록도이다.
도5는 본 발명의 실시예에 따른 트렐리스 다이어그램의 상태 전이에 대한 일 예를 보여주는 도이다.
도6은 본 발명의 실시예에 따른 선험적 디코딩의 예시적인 동작들에 대한 흐름도이다.
도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는 다수의 디코딩 가설들을 반복적인 방식으로 평가하기 위한 예시적인 동작들을 보여주는 도이다.
본 발명은 일반적으로 전송에 대한 선험적 정보를 사용하여 컨벌루셔널하게 인코딩된 무선 전송들을 디코딩하기 위한 기술 및 장치를 제공한다. 선험적 정보는 선험적 정보와 부합하지 않는 비트들을 포함하고 있는 비트 스트림들을 제거함으로써 디코딩된 비트 스트림들의 수를 효과적으로 감소시키는데 사용될 수 있다. 에러 데이터를 야기하는 이러한 "잘못된 것으로 알려진" 경로들을 제거함으로써, 디코딩된 비트 에러가 일부 상황들에서 개선될 수 있다.
여기서 사용되는 바와 같이, 용어 "선험적 정보"는 일반적으로 알려진 또는 가정된 원인(cause)로부터 필연적으로 관련된 결과로 진행하는 정보와 같이 미리 알려진 기지의(known) 정보를 지칭한다. 아래에서 보다 상세히 설명되는 바와 같이, 전송에 관련된 선험적 정보의 예들은 특정 메시지들 내의 기지의 정보 비트들을 포함한다. 이러한 기지의 정보 비트들의 예들은 표준에 의해 규정된 값들을 갖는 예비 비트들, 또는 이전 전송들에서의 자신들의 값에 기반하여 기지의 또는 예측가능한 값들을 갖는 비트들을 포함한다. 이러한 기지의 비트 위치들 및 비트 값들(여기서, "API 값들"로 지칭됨)은 API 값들과 차이가 있는 값들에 대응하는 경로들을 배제함으로써 디코딩 성능을 개선하기 위해서 디코딩 처리에서 사용될 수 있다.
예시적인 환경
도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)으로 데이터를 전송한다. 아래에서 보다 상세히 설명되는 바와 같이, 상이한 타입의 선험적 정보가 순방향 링크 및 역방향 링크 전송들을 위해 제공될 수 있다. 이러한 선험적 정보는 기지국(110) 및 이동국(120) 사이의 특정 메시지들의 타이밍 및 컨텐츠에 대한 정보를 포함할 수 있으며, 이는 알려진 전송에서의 하나 이상의 비트의 값을 초래할 수 있다.
여기 제시된 기술들은 기지국(110), 이동국(120), 또는 이 둘 모두에서 수행되는 디코딩에서 이용될 수 있다. 아래에서 보다 상세히 기술되는 바와 같이, 기지국(110) 및 이동국(120) 사이에서 전송되는 상이한 타입의 메시지들에 대한 선험적 정보는 전송 내의 특정 비트 위치들의 값을 결정하기 위해서 사용될 수 있다.
도2는 전송된 신호들을 수신할 수 있는 수신기의 일 실시예에 대한 예시적인 컴포넌트들에 대한 블록도이다. 안테나(202)는 전송기로부터 전송된 신호들을 수신하고, 이들을 무선 주파수(RF) 프론트 엔드(210)로 전송할 수 있다. RF 프론트 엔드(210)는 전송된 신호들을 수신하고 디지털 신호 처리를 위해 이들을 준비하기 위한 임의의 적절한 회로들(예를 들면, 자동 이득 제어(AGC), 고속 퓨리어 변환(FFT) 블록, 채널 추정기, 및 캐리어 대 간섭 및 잡음비(CINR) 추정기)을 포함할 수 있다.
그리고 나서 RF 프론트 엔드(210)로부터의 신호들이 신호 처리 블록(220)으로 전송될 수 있고, 신호 처리 블록(220)은 서브캐리어 할당해제, 신호 디매핑 등을 위한 임의의 적절할 회로들을 포함할 수 있다. 신호 처리 블록(220)의 출력은 한 세트의 인코딩된 비트들이다. 인코딩된 비트들은 채널 디코더(230)로 포워딩되고, 채널 디코더(230)는 대응하는 전송에 대한 선험적 정보를 사용하여 인코딩된 비트들을 디코딩할 수 있다.
선험적 디코딩
도3은 본 발명의 실시예에 따른 선험적 정보에 기반하여 디코더의 동작들을 수행할 수 있는 디코더(230)의 블록도이다. 제시된 예는 예로서 비터비 디코딩 방식을 보여주지만, 여기 제시된 선험적 디코딩 기술들은 터보 코딩/디코딩, 전-밀도 패러티-검사(LDPC) 코딩/디코딩, RS 코딩/디코딩, BCH 코딩/디코딩, 및 다양한 다른 방식들과 같은 다른 타입의 디코딩 방식들에 또한 적용될 수 있다.
시스템적(systematic) 코드들을 이용하는 방식들의 경우, 코딩된 비트들은 시스템적 정보(인코딩 전의 정보) 및 패러티 비트(인코딩을 통해 생성되는 리던던시 비트들)를 포함한다. API 디코딩 방식은 시스템적 비트들에 적용될 수 있다. 즉, API 비트 값들은 사용되는 특정 시스템적 코드들에 기반한 시스템적 비트들에 대한 기지의 값들을 포함할 수 있다. 시스템적 코드들을 사용하여 시스템들에 API를 적용하기 위해서, 수신된 데이터 비트들은 디코더의 프론트 엔드에서 (기지의/예측된) API 비트 값들로 대체될 수 있다. 이러한 방식으로, 성공적인 디코딩 가능성이 시스템적 디코더들에 대해 API를 사용함으로써 증가될 수 있다.
디코더(230)는 한 세트의 "소프트(또는 하드)" 수신/인코딩 비트들(240)로 부터 한 세트의 디코딩된 비트들(246)을 생성하기 위해서 브랜치 메트릭 유닛(232), 가산 비교 선택(ACS) 로직(234), 및 트레이스백(TB) 유닛(236)을 포함한다. 브랜치 메트릭 유닛은 일반적으로 코드 알파벳의 심벌들 및 수신된 심벌(비트들 세트) 사이의 정규화된 거리들을 나타내는 브랜치 메트릭들을 계산하도록 작용한다. ACS 유닛(234)은 일반적으로 디코딩 경로들(K개의 구속장을 가정하면, 2K-1개의 경로들)에 대한 메트릭들을 생성하기 위해서 브랜치 메트릭을 컴파일하고, 이러한 디코딩 경로들 중 최적의 디코딩 경로를 선택한다. 이러한 선택들의 결과들은 저장된 결정들로부터 하나의 경로를 복원하는 트레이스백 유닛(236)의 메모리에 기록된다. 그리고 나서, 한 세트의 디코딩된 비트들이 복원된 경로의 전이들에 기반하여 생성될 수 있다.
디코더 컴포넌트들 중 하나 이상이 선험적 정보와 부합하지 않는 비트 값들에 대응하는 디코딩 경로들의 선택을 방지하기 위해서 한 세트의 API 비트들(250)에 의해 제어될 수 있다. 즉, API 비트들(250)은 디코딩되는 비트들의 시퀀스에서 특정 비트 위치들에 대해 알려진 특정 값들(O 또는 1)을 표시하기에 충분할 정보를 포함할 수 있다. API 비트들(250)에서 규정된 값과 다른 값을 가지는 비트 스트링은 유효한 디코딩된 비트 스트링이 아니다. 따라서, 디코더는 이러한 유효하지 않은 비트 스트링에 대응하는 디코딩 경로들을 경로 선택 동안 고려하지 않을 수 있다.
도4에 제시된 바와 같이, 일부 실시예들에서, ACS 유닛(234)은 유효하지 않은 디코딩된 비트 스트링들에 대응하는 디코딩 경로들을 배제하기 위해서 API 비트들(250)에 의해 제어될 수 있다. ACS 동작 동안, API 비트들(250)은 API 값들에 부합하지 않는 인코딩된 비트 값들에 대응하는 특정 디코딩 경로 전이들을 감소시키기 위해서 사용될 수 있다.
API 비트들(250)은 일반적으로 선험적인 정보 및 부가적으로 이러한 비트들의 값이 무엇인지에 기반하여 기지의(또는 예측가능한) 비트 값들을 갖는 하나 이상의 비트들을 디코딩된 비트 스트링에서 식별하기에 충분한 정보를 포함한다. 이러한 정보가 전달되는 실제 포맷은 실시예 마다 그리고 실제 구현 방식에 따라 변할 수 있다.
예를 들어, 일부 실시예들에서, API 비트들(250)은 3개 타입의 정보(비트 위치 표시(252), 비트 값들(254), 및 선택적으로 API 마스크 비트들(256))을 포함할 수 있다. 비트 위치들(252)은 기지의 값들을 가지는 (인코딩된 시퀀스 내의) 비트 위치들의 표시를 제공할 수 있고, 비트 값들(254)은 인코딩된 비트의 실제 기지의 값들(0 또는 1)을 제공한다. 아래에서 상세히 설명되겠지만, 도7은 이러한 포맷에 따른 비트 위치들, 비트 값들, 및 마스크 비트들의 예시적인 값들을 갖는 일 예를 제공한다.
API 비트 위치들(252)은 트렐리스 구조에서 기지의/예측된 인코딩된 비트의 위치에 대응하는 비트 위치들을 식별할 수 있다. 일 실시예에 따르면, API 비트 위치들(252)은 기지의 값들을 갖는 비트 위치들을 명시적으로 식별할 수 있고, 모든 다른 비트 위치들은 "미지(unknown)"로 간주된다. 따라서, 비트 값들(254)에서의 대응하는 비트 값 "0" 또는 "1"은 트렐리스 구조에서의 유효한 전이(transition)들을 식별하고, 유효하지 않은 전이들을 포함하는 디코딩 경로들을 효과적으로 제거하는데 사용될 수 있다.
예를 들어, 도5는 3-비트 상태들을 갖는 트렐리스 구조의 상태 전이의 일 예를 보여준다. 제시된 예는 1/2 코딩 레이트 및 K=4를 가정한다(3-비트, K-1, 상태 레지스터를 이용함). 실선은 "0" 입력 비트에 대응하는 상태 전이들을 나타내고, 점선은 "1" 입력 비트에 대응하는 상태 전이들을 나타낸다. API 디코딩에 따라, 기지의 값들에 부합하지 않는 입력 비트들에 대응하는 상태 전이들은 고려에서 제외되고, 이를 통해 최종 선택에서 이러한 전이들을 포함하는 모든 경로들을 효과적으로 제거한다.
일 예로서, 이러한 상태에 대한 기지의 API 비트 값이 "0"이였다면, 실선을 갖는 상태 전이들이 평가될 것이고, 점선을 갖는 상태 전이들은 계산될 필요가 없는데, 왜냐하면 이들은 선택에서 고려되어서는 안 되는 유효하지 않은 경로들의 일부이기 때문이다. 전술한 바와 같이, 이러한 전이들은 상태 메트릭의 값을 최악의 값(worst case value)으로 설정함으로써 다음 전이에서 효과적으로 제거될 수 있다. 선택에서 유효하지 않은 경로들을 제거함으로써 비트 에러율을 감소시킬 뿐 아니라, API 비트 값들에 기반한 전이들의 수 감소는 또한 ACS 유닛에서의 계산들의 수도 감소시킬 수 있다.
일부 실시예들에서, 무시되어야 할 API 비트 값을 가지는 비트 위치들을 식별하기 위해서 API 마스크 비트들(256)을 이용함으로써 마스크 함수가 실현될 수 있다. 이러한 마스크 함수는 유용하고, 예를 들어 표준이 변경되어 이전에 기지의 비트 값이 미지의 값이 될 때 유연성을 증가시킬 수 있다. 마스크 비트 값을 설정하는 것은 이러한 변경들을 효율적으로 수용하기 위한 간단한 메커니즘을 제공할 수 있다. 더 이상 기지의 값을 가지지 않는 비트 위치의 식별을 제거하기 위해서 API 비트 위치들(252)을 조작함으로써 마스크 함수가 또한 실현될 수 있으며, 이를 통해 비트 마스크 값 변경에 대한 대안을 제공하고 및/또는 비트 마스크 값에 대한 필요성을 제거하게 된다.
도6은 API 디코딩을 위한 예시적인 동작들(600)을 보여준다. 동작들은 선험적 정보에 기반하여 하나의 가설을 생성함으로써 602에서 시작한다. 604에서, 가설의 API 비트 값들에 부합하지 않는 비트 값들을 초래하는 디코딩 경로들이 제거된다. 마지막으로, 606에서, 나머지 경로들 중 하나의 선택에 기반하여 디코딩이 수행된다.
여기서 사용되는 바와 같이, 용어 가설은 일반적으로 예를 들어 기지의 값들을 갖는 비트 위치들을 표시하고 이러한 비트들의 값들을 특정하는 특정한 한 세트의 API 비트들을 지칭한다. 아래에서 상세히 설명되는 바와 같이, 일부 실시예들에서, 예를 들어 MAC 프로세서로부터의 메시지 정보에 기반하여 하나 이상의 가설을 생성하기 위해서 별개의 로직(여기서 "가설 엔진"으로 지칭됨)이 제공될 수 있다.
도7은 API 디코더에 적용되는 6-비트 스트림에 대한 가설의 일 예를 보여준다. 제시된 가설은 API 비트 위치 값들[1235]을 통해 API 비트 값들이 디코딩에서 사용하기 위해 비트 위치들 1,2,3 및 5에 존재함을 표시한다. 제시된 방식에 따르면, 대응하는 API 비트 값[1011]은 이러한 3개의 위치들에서의 비트들에 대한 비트 값들이 비트1=1, 비트2=0, 비트3=1, 및 비트5=1임을 나타낸다. 일부 실시예들에서, [0000]의 API 마스크 비트 값들이 어떠한 비트들에도 마스크 함수들이 적용되지 않음을 표시하기 위해서 사용될 수 있다. 다른 한편으로, API 디코딩에서 비트를 배제하기 위해서, 마스크 비트는 예를 들어 비트 위치 5를 마스킹하기 위해서 [0001]로 설정될 수 있고, 이 경우 [101X]의 유효 비트 값들을 초래한다.
물론, API 마스크 기능이 또한 API 비트 위치 값들을 제어함으로써 실현될 수 있다. 일 예로서, 비트 위치 5는 또한 비트 위치 값들에서 5를 제거하여 대응하는 API 비트 값 [101]을 갖는 비트 위치 값 [123]을 초래함으로써 효과적으로 마스킹 아웃될 수 있다. 이러한 방식에서, API 비트 위치들은 별개의 마스크 값 데이터 구조를 필요로 하지 않고 효과적으로 마스킹될 수 있다.
대안적인 방식에서, 단지 API 비트 값들 및 대응하는 API 마스크 값들만이 사용될 수 있다. 일 예로서, 비트 시퀀스의 모든 위치들이 예를 들어 디폴트에 의해 또는 API 위치 값에서의 모든 비트 위치들의 명시적인 표시(예를 들면, [123456])에 의해 API 디코딩에 사용된다고 가정될 수 있다. 어떤 경우이던지 간에, API 마스크 값들이 대응하는 API 비트 값들을 가지지 않는 비트 위치들을 식별하기 위해서 사용될 수 있다. 예를 들어, API 마스크 값 [000101]이 사용될 수 있고, 여기서 "1" 값은 비트 위치 4 및 6에 대응하는 API 비트 값들이 무시되어야 함을 표시하고, 결과적으로 대응하는 API 비트 값 [101X1X]을 초래한다.
도8은 디코딩 동안 고려되는 디코딩 경로들의 수를 감소시키기 위해서 도7에 제시된 가설의 API 비트 값들이 적용될 수 있는 방식을 보여준다. 상부 다이어그램(810)은 모든 입력 비트들이 미지라고 가정하는 기존의 디코딩 방식에서 고려될 수 있는 다이어그램에 대한 모든 가능한 경로들을 보여준다. 그러나 하부 다이어그램(800)에 의해 제시되는 바와 같이, 기지의 API 비트 값들의 사용에 기반하여 다수의 경로 전이들을 제거한, 크게 감소된 수의 경로들을 API 디코딩 방식이 탐색한다.
API 비트 값들에 기반한 경로들의 감소는 다이어그램(820)을 좌측에서 우측으로 횡단함으로써 설명될 수 있다. 대응하는 전이들에 대한 기지의 API 값들은 상단부에 리스트된다. 제1 전이의 경우, 비트 값은 기지의 "1"이고, 결과적으로 0 입력 비트에 대응하는 실선 경로 전이들이 제거된다. 이는 상태 노드들 100b,101b,110b 및 111b로의 전이들을 초래한다.
제2 전이는 점선 라인 전이의 제거를 초래하는 기지의 비트 값 "0"에 대응한다. 이는 상태 노드들 010b 및 011b로의 전이를 초래한다. 제3 전이는 실선 경로 전이들의 제거를 초래하는 기지의 비트 값 "0"에 대응한다. 이는 하나의 상태 노드 101b로의 전이를 초래한다.
그러나 제4 전이에 대한 비트 값은 미지이다. 따라서, 2개의 가능한 전이 경로들 모두가 평가된다. 이는 상태 노드 010b 및 110b로의 전이를 초래한다. 제5 전이는 실선 경로 전이들의 제거를 초래하는 기지의 비트 값 "1"에 대응한다. 이는 상태 노드들 101b 및 111b로의 전이를 초래한다. 제6 전이에 대한 비트 값은 다시 미지이다. 따라서, 2개의 가능한 전이 경로들 모두가 평가되어, 상태 노드 101b로부터 상태 노드들 010b 및 110b로의 전이 및 상태 노드 111b로부터 상태 노드들 011b 및 111b로의 전이들을 초래한다.
이러한 잔존 경로들에 대한 브랜치 메트릭들은 최적 경로를 선택하고 대응하는 한 세트의 디코딩 비트들을 생성하기 위해서 평가될 수 있다. 유효하지 않은 비트 시퀀스들에 대응하는 디코딩 경로들을 제거함으로써, API 디코딩을 사용하여 비트/패킷 에러율이 개선될 수 있고, 잡음이 존재하는 환경에서 큰 개선이 기대된다.
도9는 IEEE 802.16e 표준의 프레임 제어 헤더(FCH)/다운링크 프레임 프리픽스(DLFP) 메시지의 시뮬레이션된 디코딩에 대한 패킷 에러율(PER) 대 신호대잡음비의 예시적인 그래프이다. 이러한 타입의 메시지는 24 비트 정보를 포함한다. 물론, 5비트들은 표준에 따라 0으로 설정되는 예비 비트들이다. 시뮬레이션된 예에서, 이러한 5개의 예비 비트들이 24비트 스트림의 대응하는 위치에 "0"의 기지의 비트 값들을 갖는 선험적 정보로서 사용된다. 시뮬레이션은 또한 다음과 같은 변조 및 코딩을 가정한다: QPSK, TBCC(r=1/2), 4의 반복 인자, 및 2의 듀플리케이션 인자, 그리고 수신측(RX)에서의 반복 최대 비 결합(MRC)을 가정한다.
제시된 바와 같이, API 디코딩 방식은 AWGN 환경에서 기존의 디코딩 방식에 비해 개선된 성능을 보여준다. 예를 들어, API 디코딩 방식은 (API를 고려하지 않는) 기존의 디코딩과 비교하여 AWGN 채널에서 PER 10-2에서 대략 0.6dB의 이득을 보여준다.
도10은 도9와 유사한 다이어그램이지만, 대응하는 시뮬레이션은 수신측(RX)에서 반복 최대 비 결합(MRC) 및 듀플리케이션 모두를 가정한다. 제시된 바와 같이, 이러한 예에서, API 디코딩 방식은 API 디코딩 방식을 사용하지 않는 경우에 비해서 AWGN 채널에서 PER 10-2에서 대략 0.75dB의 이득을 보여준다.
가설 엔진
상술한 바와 같이, 일부 실시예들에서, 가설 엔진은 API 디코딩 수행에서 사용하기 위한 한 세트의 API 비트 값들을 각각 포함하는 "가설들"을 생성하기 위해서 제공될 수 있다. 특정 구현에 따라, 가설 엔진은 하나의 가설 또는 어떤 비트들이 기지의 값을 가지는지 및 이러한 비트의 기지의 값이 무엇인지에 있어서 서로 다를 수 있는 다수의 가설들을 생성할 수 있다. 다수의 가설들을 평가하는 것은 주어진 시퀀스에 대해 단지 제한된 수의 유효 비트 조합들만이 존재하는 경우에 유용할 수 있다.
도11은 API 디코더(230) 및 가설 엔진(1110)을 포함하는 수신기 회로(1100)를 보여준다. 제시된 바와 같이, 가설 엔진(1110)은 매체 액세스 제어(MAC) 프로세서(1120)로부터 메시지에 대한 정보를 수신하고, API 디코더(230)에 의해 사용할 API 비트 값들(가설)을 생성할 수 있다. API 디코더(230)는 가설 엔진(1110)에 의해 제공되는 API 비트 값들을 사용하여 수신된 소프트(또는 하드) 비트들 Rs의 디코딩을 개시한다. API 디코더(230)는 메시지 파서(parser)(1130)로 전달되는 디코딩된 데이터 비트 Rd를 출력한다.
메시지 파서(1130)가 디코딩된 비트들이 일종의 메시지에 대한 것이라고 검출하면, 메시지는 분석되어 MAC(매체 액세스 제어) 프로세서(1120)로 전달된다. MAC 프로세서(1120)는 일 타입의 프로토콜 분석기로서 기능하여, 예를 들어 다음으로 가능한 메시지 타입(들)이 무엇인지 및 그 타이밍이 무엇일지를 결정하기 위해서 수신된 데이터를 분석할 수 있다.
일 예로서, MAC 프로세서(1120)는 다운링크 프리앰블에 앞서는 제1 인입 메시지(또는 데이터)가 FCH/DLFP 메시지임을 인지할 수 있다. 일부 경우들에서, MAC 프로세서(1120)는 예를 들어 코딩 레이트, 메시지 길이, 또는 일부 다른 파라미터를 결정하기 위해서 이전 프레임으로부터의 일부 정보를 사용할 수 있다. MAC 프로세서(1120)는 이러한 정보를 가설 엔진(1110)으로 제공하고, 가설 엔진(1110)은 이러한 정보를 사용하여 특정 비트 위치들에 대한 기지의 비트 값들을 추출하고(또는 비트 값들을 예측하고) API 디코더로 포워딩할 API 정보를 생성할 수 있다.
도12는 MAC 프로세서(1120)에 의해 제공되는 메시지 정보 및 선험적 정보에 기반하여 디코딩 가설들을 생성하는데 사용될 수 있는 예시적인 가설 엔진(1110)을 보여준다. 제시되는 바와 같이, 가설 엔진은 메시지 타입 표시를 수신하고, 메시지 타입에 의해 지정되는 대응하는 메시지(들)를 리트리브하기 위한 로직(1210)을 포함하며, 메시지(들)의 포맷은 포맷 로직(1220)에 의해 분석된다.
일부 실시예들에서, 고정된/기지의 비트 값들(예를 들면, 표준에 따라 기지의 값으로 설정된 예비 비트들)뿐만 아니라, 가설들은 예측가능한 정보를 이용하여 생성될 수 있다. 일 예로서, 비트 정보는 이전에 수신된 메시지로부터의 값에 기반하여 예측될 수 있다(예를 들어, 코딩 타입은 메시지 마다 변하지 않을 확률이 높다).
따라서, 분류 로직(1230)은 주어진 메시지의 비트 정보를 적어도 3개의 카테고리(고정된 정보, 예측가능한 정보, 및 가변 정보)로 분류할 수 있다. 고정된(기지의) 정보는 일반적으로 고정되어 초기 스테이지 또는 일부 조건들 하에서(예를 들면, 관련된 메시지들의 디코딩 결과들의 검사 후에) 알려지도록 일부 비트 값들로부터 100% 알려지는 고정된 정보를 지칭한다. 예를 들어, 디코딩될 데이터 전에 위치되는 것으로 알려진 메시지 또는 데이터와 같이, 디코딩될 데이터에 관련된 메시지들의 디코딩된 결과들은 분석될 수 있고, API 정보가 이러한 분석된 데이터로부터 추출될 수 있다.
예측가능한 정보는 하나 이상의 비트들의 세트에 대한 상이한 후보 값들 또는 비트 조합들을 제공할 수 있도록 특정 조건 또는 가정들 하에서 예측될 수 있는 정보를 포함한다. 상이한 후보 값들은 상이한 가설들에 포함될 수 있다. 예를 들어, 예측가능한 정보는 관련된 메시지들의 디코딩 결과들을 검사한 후에 예측될 수 있는 정보 또는 특정 조건 또는 가설들 하에서 예측될 수 있는 정보를 포함할 수 있다.
가변 정보는 일반적으로 미지이거나 예측하기가 너무 어려워서 API 비트 값들로 사용되지 않는 정보를 포함한다(예를 들어, API 비트 위치들에 대한 API 비트 위치 값들은 "0"으로 설정될 수 있음). 정보 비트들을 분류한 후에, 가설 엔진의 가설 API 및 전달 로직(1240)은 분류된 정보를 사용하여 API 비트 값들의 세트 또는 세트들을 생성할 수 있다. 예를 들어, 로직(1240)은 디코더(230)로 출력될 API 비트 위치, 비트 값, 및 마스크 스트링을 구축할 수 있다.
여기서 제시되는 API 디코딩 방식은 다양한 상이한 타입의 메시지들에 적용될 수 있다. 예를 들어, API 디코딩은 아래에서 제시되는 바와 같은 다운링크 프레임 프리픽스(DLFP) 메시지, 노멀(normal) DL 맵 메시지, 압축된 DL MAP 메시지, UL MAP 메시지, 대역폭 요청(BW-REQ) 메시지, 초기 레인징 요청(IRNG-REQ) 메시지 등에 적용될 수 있다.
도13에 제시되는 프레임 제어 헤더(FCH) 다운링크 프레임 프리픽스(DLFP) 메시지(1300)는 고정된, 예측가능한 및 가변적으로 분류될 수 있는 다양한 정보 비트들의 좋은 예를 제공한다. FCH 메시지의 포맷 및 컨텐츠는 IEEE 802.16e OFDMA 표준에 정의된다. DLFP는 FCH 채널의 컨텐츠들이다. DLFP는 각 프레임의 시작에서 전송되는 데이터 구조이며, 현재 프레임에 대한 정보를 포함하고, FCH에 매핑된다. 따라서, DLFP의 성공적인 디코딩은 전체 프레임을 처리하는데 있어서 매우 중요하다. 일부 비트들의 분류는 시간이 경과함에 따라, 예를 들면 초기 포착 상태에서 제1 메시지 프레임 검출로의 전이 후에 변경될 수 있다.
일 예로서, 비트맵 필드(1310)는 6비트들을 포함하며, 각 비트는 대응하는 메시지 그룹이 세그먼트에 의해 사용되는지 여부를 표시한다. 초기 포착 상태에서, 이러한 비트들은 미지이다. 그러나 메시지 세그먼트의 초기 디코딩 및 식별 후에, 이러한 비트들 중 적어도 하나는 식별될 것이다(예를 들어, 제1 메시지 그룹 비트들이 사용된다고 가정하면, API 비트들 ="1XXXXXX"). 또한, 노멀 동작 상태에서, 기지국이 이전 프레임과 동일한 비트맵을 전송한다고 가정하면, 이동국은 모든 6개의 비트들을 예측할 수 있다.
전술한 바와 같이, 예비 필드들(1320 및 1322)의 비트들은 표준이 변경되지 않는 한 고정된 채로 유지될 것이다. 대조적으로, 반복 타입 필드(1330)의 2 비트들은 예측하기 어렵고 프레임마다 변경될 수 있다.
3-비트 코딩 타입 필드(1340)는 상이한 방식으로 분류될 수 있고, 다수의 상이한 가설들을 생성하는데 사용될 수 있다. 예를 들어, 코딩 타입들에 대한 어떠한 조건들도 부가하지 않으면, 3 비트 필드가 가변적인 것으로 처리될 수 있다. 그러나 선험적 정보를 사용하면, 이러한 비트들 중 일부는 고정된 것으로 처리될 수 있다. 예를 들어, WiMAX의 현재 버젼이 코딩, TBCC(0b000) 및 CTC(0b010)의 단지 2개의 타입들만을 지원하는 것으로 알려지면, 제1 및 제3 비트들은 "0"인 기지의 비트값으로 처리될 수 있다(AP1비트="0b0X0").
8비트 길이 필드(1350)는 프레임마다 가변할 수 있고, 비트들 중 일부는 상이한 방식으로 분류될 수 있다. 일 예로서, 길이 필드에 어떠한 제한도 부가하지 않으면, 모든 8비트들은 가변적이 될 것이다. 그러나 대부분의 경우, DL-MAP의 길이는 2^7보다 작을 것이고, 따라서 MSB는 "0"으로 예측될 것이다(API 비트들=0b0XXXXXXX). 이러한 예측은 사실이 아닐 수도 있지만, 달성되는 비트 에러율의 개선은 다른 가설들을 사용하여 다시 디코딩하여야만 하는 성능 패널티를 능가할 것이다. 보다 공세적인(aggressive) 가설들이 또한 유사한 방식으로 생성될 수 있고, 예를 들어, 2^6보다 작은 길이(API 비트들="0b00XXXXX) 또는 2^4보다 작은 길이(API 비트들="0b0000XXXX)를 가정할 수 있다.
도14a-14g는 전술한 정보 및 가능한 분류 및 가정들에 기반한, FCH/DLFP에 대한 다수의 API 디코딩 가설 예들을 보여준다. 이러한 가설들은 기지의 비트 값을 가지는 것으로 취급되는 비트들의 수에 기반하여 그 가설이 공세적인 정도를 일반적으로 나타내는 상이한 레벨들(L0-L6)을 가지는 것으로 참조된다.
먼저 도14a를 참조하면, L0 가설은 각 프레임의 제1 메시지의 경우와 같이, 어떠한 API 비트 값들도 존재하지 않는 경우(가설이 존재하지 않음)에 대응한다. 즉, 메시지가 디코딩되지 않았기 때문에, API 값들을 생성하는데 사용될 수 있는 메시지 정보가 존재하지 않는다. 도14b는 단지 예비 비트 값들만이 가설에서 사용되는 제1 레벨(L1) 가설을 보여준다.
도14c는 가설에서 사용되는 예비 비트 값들 및 비트맵 비트 값(제1 프레임에서 표시되는 메시지 그룹)을 포함하는 L2 가설을 보여준다. 도`14d는 L2 가설에 비해, 이전 프레임에서 사용된 잔존 비트맵 비트 값들을 추가하는 L3 가설을 보여준다.
도14e는 L3 가설에 비해 지원되는 코딩 타입들 TBCC 및 CTC에 공통인 코딩 필드 비트 값들을 추가하는 L4 가설을 보여준다. 도14f는 길이가 2^6 미만이라는 가정에 기반하여 길이 필드의 상위 2개 비트들을 추가하는 L5 가설을 보여준다. 도14g는 길이가 2^4 미만이라는 가정에 기반하여 길이 필드의 2개의 추가적인 비트들을 추가하는 L6 가설을 보여준다.
이러한 가설들 각각에 대한 비트 값들은 전술한 방식으로 에러 데이터에 대응하는 디코딩 경로의 수를 감소시키기 위해서 API 디코더에 의해 사용될 수 있다. 물론, 도14b-14g에 제시된 가설들은 단지 예일뿐이다. 또한, 제시된 가설들이 점진적으로 보다 많은 기지의 비트 값들을 포함하게 보다 공세적이 될 수 있고, 당업자는 이러한 예들에서 제시된 비트 값들의 상이한 조합들을 사용하여 다른 가설들이 생성될 수 있음을 잘 이해할 수 있을 것이다.
전술한 바와 같이, 이러한 상이한 가설들에 따른 API 비트 값들은 에러 데이터에 대응하는 디코딩 경로들을 제거하기 위해서 API 디코더에 의해 사용될 수 있다. 상이한 가설들이 상이한 API 비트 값들을 가지기 때문에, 디코딩 성능은 가설마다 변할 수 있다. 도15-17은 상이한 채널들에 대한 상이한 가설들 사이의 성능 변동을 보여주는 예시적인 그래프를 도시한다.
도15는 AWGN(additive white Gaussian noize) 채널에서의 상이한 가설들 L0-L6에 대한 API 디코딩 시뮬레이션 결과들을 보여준다. 이러한 시뮬레이션에서, 모든 가설들이 정확한 것으로 가정된다(즉, API 비트 값들이 실제 코딩된 비트 값들에 매칭하는 것으로 가정된다).
제시된 바와 같이, 보다 많은 API 비트들을 갖는 가설들이 보다 양호한 성능(감소된 비트 에러율)을 산출한다. 도16은 ITU Ped-A 및 Ped-B 채널들에 대한 상이한 가설들을 사용한 API 디코딩에 대한 유사한 결과들을 보여준다. 도17은 ITU Veh-A 및 Veh-B 채널들에 대한 상이한 가설들을 사용한 API 디코딩에 대한, 유사한 결과들을 보여준다.
전술한 내용이 본 발명의 실시예들에 관한 것이지만, 본 발명의 다른 그리고 추가적인 실시예들이 본 발명의 영역을 벗어남이 없이 착안될 수 있고, 본 발명의 범위는 하기 청구범위에 의해 결정된다.
다수의 가설들을
처리하는 방법.
전술한 바와 같이, 가설 엔진은 고정된 그리고 예측가능한 선험적 정보 모두에 기반하여 비트 값들의 가설을 생성한다. 가설 엔진은 비트 값들의 상이한 조합들을 가정함으로써 Nc개의 가설들을 생성하기 위해서 예측가능한 정보를 사용할 수 있다. 성능을 증가시키기 위해서, 다수의 가설들을 처리하는 것이 바람직할 수 있다. 따라서, 디코더는 다수의 전달된 가설들을 조사할 수 있다. 따라서, 처리되는 가설들의 수는 전달되는 가설들의 수(Nc)와 동일 할 수 있다. 다수의 처리되는 가설들이 존재하는 경우, 단지 하나의 가장 정확한 가설만이 선택될 수 있다.
일부 실시예들에서, 수신된 메시지는 순환 중복 검사(CRC) 필드, 또는 다른 유사한 타입의 검사 필드를 포함할 수 있다. CRC가 없는 메시지들의 경우, 선택 기준은 최종 디코딩 스테이지에서의 누적된 확률(누적된 거리)에 기반할 수 있다. CRC를 갖는 메시지들의 경우, 선택 기준은 CRC 검사 결과 또는 누적된 확률 중 하나에 기반할 수 있다.
다수의 가설들을 평가하는데 이용될 수 있는 수개의 방법들이 존재한다. 이러한 방법들은 병렬적인, 순차적인 그리고 반복적인 평가를 포함할 수 있다. 병렬적인 평가 방법을 구현하기 위해서, 복수의 디코더들이 사용될 수 있고, 여기서 각 디코더는 Nc개의 API 가설들 중 하나 이상을 처리한다.
대조적으로, 순차적 및 반복적 디코딩 방법들은 한 번에 하나의 가설을 처리하기 위해서 하나의 디코더를 이용할 수 있다. 순차적인 방법에서, 디코더는 Nc 길이의 루프에서 모든 가설들을 처리하고, 반복적인 방법에서 디코더는 미리 결정된 선택 기준 임계치를 충족하는 하나의 가설을 발견할 때까지 일련의 가설들을 처리한다.
일부 실시예들에서, 가설들의 수는 프로세서들의 수를 초과할 수 있다. 이러한 실시예들에서, 하이브리드 방법이 이용될 수 있고, 이 경우 각 프로세서는 병렬적으로 동작하지만, 각 프로세서는 순차적 또는 반복적 방식에서 2 이상의 가설을 평가한다.
도18은 다수의 가설들을 생성하는 가설 엔진(1860) 및 병렬 API 디코더를 포함하는 수신기 회로를 보여준다.
제시된 바와 같이, 가설 엔진(1860)은 Nc개의 상이한 가설들을 생성할 수 있고, 각 가설은 MAC 프로세서로부터 수신된 메시지 정보에 기반하여 상이한 API 비트 값들 API(1) 내지 API(Nc)의 세트를 갖는다. 가설 엔진은 예를 들어 비트 값들을 예측하는데 사용되는 상이한 가정들에 기반하여 다수의 가설들을 생성할 수 있다. 전술한 바와 같이, 가설들 중 일부는 예를 들어 예측되는 비트 값들의 수에 기반하여 보다 공세적인 것으로 간주될 수 있다.
디코더(1830)는 상이한 가설들의 API 비트 값들을 사용하여 수신된 비트 Rs를 디코딩하여, 결과적으로 상이한 가설들을 적용함으로써 수신된 비트들을 여러 번 디코딩한다. 다수의 가설들을 평가한 후에, 디코더(1830)는 일부 선택 기준 타입에 기반하여 최적인 것으로 간주되는 가설을 사용하여 획득된 디코딩된 데이터 비트들 RD를 출력할 수 있다.
도19는 다수의 가설들을 병렬적으로 평가하기 위한 예시적인 동작(1900)을 보여준다. 동작(1900)들은 도20을 참조하여 기술되며, 도20은 병렬로 배치된 복수의 API 디코더들(2000)을 갖는 병렬 디코더(1830)의 실시예를 보여준다.
동작은 선험적 정보에 기반하여 복수의 가설들을 생성함으로써 1902에서 시작한다. 1904에서, 각 가설은 디코더들(2000) 중 하나로 전송될 수 있다. 도20에 제시된 바와 같이, 각 가설은 수신된 비트들 Rs를 디코딩함에 있어서 디코더에 의해 사용되는 전술한 정보 타입들(예를 들면, 비트 값들, 비트 위치들, 및/또는 비트 마스크들)을 포함할 수 있다.
각 디코더는 단계(1906 및 1908)에서 API 디코딩, 대응하는 가설의 API 비트 값들에 기반한 디코딩 경로들 제거, 및 잔존 경로들로부터 선택을 수행하여 한 세트의 디코딩된 비트들 RD를 생성한다. 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은 다수의 가설들을 생성하는 가설 엔진(2160) 및 순차적 API 디코더를 포함하는 수신기 회로를 보여준다.
제시된 바와 같이, 가설 엔진(2160)은 Nc개의 상이한 가설들을 생성하며, 이러한 가설들을 순차적으로 디코더(2130)로 출력한다. 예를 들어, 제시된 바와 같이, 가설 엔진(2160)은 API 비트 값들(API(c))을 디코더(2130)로 출력할 수 있으며, 여기서 c=1 내지 Nc이다.
디코더(2130)는 상이한 가설들의 API 비트 값들을 사용하여 수신된 비트들 Rs를 디코딩하여, 상이한 가설들을 적용함으로써 연속적으로 수신된 비트들을 여러 번 디코딩한다. 다수의 가설들을 평가한 후에, 디코더(2130)는 일부 선택 기준 타입에 기반하여 최상인 것으로 간주되는 가설을 사용하여 획득된 디코딩된 데이터 비트 RD를 출력할 수 있다.
도22는 순차적인 방식으로 다수의 가설들을 평가하기 위한 동작들(2200)을 보여준다. 동작(2200)은 도23을 참조하여 기술되며, 도23은 상이한 가설들의 API 비트 값들에 기반하여 한 세트의 수신된 비트들 Rs를 순차적으로 여러 번 디코딩하기 위한 단일 API 디코더(2300)를 갖는 순차적 디코더(2130)의 일 예를 보여준다.
동작은 선험적 정보에 기반하여 복수의 가설들을 생성함으로써 2202에서 시작한다. 2204에서, 수신된 비트들의 디코딩에 사용하기 위해서 디코더(2130)로 전송될 비트 값 API(c)를 갖는 가설들 중 하나가 선택된다.
디코더는 단계(2206 및 2208)에서 디코딩을 수행하고, API 비트 값들에 기반하여 디코딩 경로들을 제거하며, 잔존 경로들로부터 선택을 수행하여 한 세트의 디코딩된 비트 RD를 생성한다. 2210에서, 디코더는 예를 들어 디코딩된 메시지가 CRC를 포함하지 않는 경우에 최상의 가설을 선택하는데 사용될 수 있는 품질 메트릭(QA)을 생성할 수 있다. 전술한 바와 같이, 메시지가 CRC를 포함하면, 별개의 품질 메트릭이 생성될 수도 있고, 생성되지 않을 수도 있다. 2212에서, 디코딩 결과들 및 품질 스코어(생성되는 경우)가 이후 평가를 위해 메모리(2340)에 저장된다.
2214에서 결정되는 바와 같이, 추가적인 가설들이 존재하면, 동작들(2204-2212)이 반복된다. 각 가설에 대한 동작들이 수행되면, 이러한 가설들의 결과들이 2216에서 비교되고, 최상의 가설을 사용하여 획득된 결과들이 2218에서 선택된다.
도23에 제시된 바와 같이, 각 가설에 대한 디코딩 결과들 RD(c) 및 품질 메트릭 QA(c)(생성되는 경우)이 메모리(2340)로부터 리트리브되어 최상의 가설을 결정하기 위해서 평가된다. 제시된 바와 같이, 도20에 제시된 것과 유사한 회로가 CRC(Sx)(2320) 및/또는 품질(2310) 메트릭(SY)에 기반한 최상 가설의 식별을 출력하는데 사용되어 선택 로직(2330)이 대응하는 디코딩된 결과들을 출력하도록 제어할 수 있다.
도24는 다수의 가설들을 생성하는 가설 엔진(2460) 및 반복 API 디코더(2430)를 포함하는 수신기 회로를 보여준다.
도21의 가설 엔진(2160)과 같이, 가설 엔진(2460)은 Nc개의 상이한 가설들을 생성하여, 이러한 가설들을 순차적인 방식으로 디코더(2430)로 출력할 수 있다. 도21의 디코더(2130)와 같이, 디코더(2430)는 상이한 가설들의 API 비트 값들(API(c))을 사용하여 수신된 비트들 Rs를 디코딩하기 위해서 하나의 디코더(2470)를 사용하고, 상이한 가설들을 적용함으로써 수신된 비트들을 순차적으로 여러 번 디코딩할 수 있다.
그러나 가능한 가설들 각각을 평가하여 그 출력 결과들을 비교하기 보다는, 디코더(2340)는 각 가설의 결과들을 임계 선택 기준에 비교할 수 있다. 가설이 임계 선택 기준을 충족하는 결과들을 갖는다고 평가되면, 대응하는 디코딩된 데이터 비트들은 나머지 가설들에 대한 평가 없이 출력될 수 있다.
도25는 반복적인 방식으로 다수의 가설들을 평가하기 위한 예시적인 동작들(2500)을 보여준다. 동작들(2500)은 예를 들어, 도24에 제시된 컴포넌트들에 의해 수행될 수 있다.
동작들은 선험적 정보에 기반하여 복수의 가설들을 생성함으로써 2502에서 시작한다. 2504에서, 수신된 비트들을 디코딩하는데 사용하기 위해서 디코더(2430)로 전송될 비트 값(API(c))을 갖는 하나의 가설이 선택된다. 디코더는 단계들(2506 및 2508)에서 API 디코딩을 수행하고, API 비트 값들에 기반하여 디코딩 경로들을 제거하며, 한 세트의 디코딩된 비트들 RD를 생성하기 위해서 잔존 경로로부터 선택을 수행한다.
모든 가설들이 평가되어 그 결과들을 비교하기를 기다리기 보다는, 선택된 가설에 대해 획득된 결과들은 단계(2510-2112)에서 (루프 내에서) 평가된다. 제시된 바와 같이, 디코더(2430)는 한 세트의 디코딩된 비트들이 선택 기준을 충족하는지 여부를 결정하기 위한 로직(2480)을 포함할 수 있다. 예를 들어, 로직(2480)은 CRC 검사를 수행하거나 및/또는 품질 메트릭을 미리 결정된 임계값과 비교할 수 있다.
선택 기준이 충족되지 않으면(예를 들어, CRC가 매칭되지 않거나, 품질 메트릭이 임계치 미만인 경우), 동작(2504-2512)이 반복되어 다른 가설들을 평가한다. 그러나 선택 기준이 충족되면, 현재 가설을 사용하여 획득된 결과들이 2514에서 선택된다.
이러한 반복적인 방식에서 상이한 가설들이 평가되는 순서는 가변할 수 있다. 예를 들어, 일부 실시예들에서, (보다 많은 기지의/예측된 비트 값들을 갖는) 보다 공세적인 가설들이 보다 덜 공세적인 가설들에 앞서 평가될 수 있다. 일부 실시예들에서, 보다 덜 공세적인 가설들이 보다 더 공세적인 가설에 앞서 평가될 수 있다. 일부 실시예들에서, 일부 다른 타입의 기준이 평가를 위해 가설들이 선택되는 순서를 결정하는데 사용될 수 있다.
당업자는 다수의 가설들을 평가하기 위한 다양한 기술들이 가변할 수 있고, 일부 경우들에서 결합될 수 있음을 이해할 수 있을 것이다. 예를 들어, 전술한 바와 같이, 병렬 디코더들 보다 많은 수의 가설들이 존재하는 경우에, 다수의 가설들을 병렬적으로 평가하기 위해서, 병렬 및 순차적 기술들이 결합될 수 있다.
여기에서 사용되는 용어 "결정"은 다양한 동작들을 포함한다. 예를 들어, "결정"은 계산, 컴퓨팅, 처리, 유도, 조사, 룩업(예를 들면, 테이블, 데이터베이스, 또는 다른 데이터 구조 룩업), 확인 등을 포함할 수 있다. 또한, "결정"은 수신(예를 들면, 정보 수신), 액세스(메모리의 데이터에 액세스) 등을 포함할 수 있다. 또한, "결정"은 해결, 선택, 선정, 설정 등을 포함할 수 있다.
당업자는 정보 및 신호들이 다양한 타입의 상이한 기술들을 사용하여 표현될 수 있음을 잘 이해할 것이다. 예를 들어, 본 명세서상에 제시된 데이터, 지령, 명령, 정보, 신호, 비트, 심벌, 및 칩은 전압, 전류, 전자기파, 자기장 또는 입자, 광 필드 또는 입자, 또는 이들의 임의의 조합으로 표현될 수 있다.
다양한 예시적인 논리 블록들, 모듈들, 및 회로들이 범용 프로세서; 디지털 신호 처리기, DSP; 주문형 집적회로, ASIC; 필드 프로그램어블 게이트 어레이, FPGA; 또는 다른 프로그램어블 논리 장치; 이산 게이트 또는 트랜지스터 논리; 이산 하드웨어 컴포넌트들; 또는 이러한 기능들을 구현하도록 설계된 것들의 조합을 통해 구현 또는 수행될 수 있다. 범용 프로세서는 마이크로 프로세서 일 수 있지만; 대안적 실시예에서, 이러한 프로세서는 기존 프로세서, 제어기, 마이크로 제어기, 또는 상태 머신일 수 있다. 프로세서는 예를 들어, DSP 및 마이크로프로세서, 복수의 마이크로프로세서들, DSP 코어와 결합된 하나 이상의 마이크로 프로세서, 또는 이러한 구성들의 조합과 같이 계산 장치들의 조합으로서 구현될 수 있다.
상술한 방법의 단계들 및 알고리즘은 하드웨어에서, 프로세서에 의해 실행되는 소프트웨어 모듈에서, 또는 이들의 조합에 의해 직접 구현될 수 있다. 소프트웨어 모듈은 공지된 저장 매체의 임의의 형태로서 존재할 수 있다. 저장 매체의 일부 예들은 랜덤 액세스 메모리(RAM); 플래쉬 메모리; 판독 전용 메모리(ROM); 전기적 프로그램어블 ROM(EPROM); 전기적 삭제가능한 프로그램어블 ROM(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 (28)
- 무선 통신 전송의 인코딩된 데이터 비트들을 디코딩하기 위한 방법으로서,
다수의 가설들을 생성하는 단계 ― 각각의 가설은 전송 또는 관련된 전송에 관한 선험적 정보(a-priori information)에 기반하여 알려지거나(known) 또는 예측되는 한 세트의 상기 인코딩된 데이터 비트들의 비트 값들을 규정하고, 각각의 가설은 매체 액세스 제어(MAC) 프로세서로부터 수신되는 메시지 정보에 기반한 상이한 세트의 비트 값들을 가짐 ―;
상기 인코딩된 데이터 비트들에 대한 디코딩을 수행함으로써 상기 다수의 가설들을 평가하는 단계 - 상기 디코딩은 상기 가설들에 의해 규정되는 비트 값들에 부합하지 않는(inconsistent) 디코딩된 비트들의 세트들을 제거하는 것을 포함함 -; 및
상기 가설들 중 하나에 대응하는 디코딩된 비트들을 출력으로서 선택하는 단계를 포함하는, 무선 통신 전송의 인코딩된 데이터 비트들을 디코딩하기 위한 방법. - 제1항에 있어서,
상기 다수의 가설들을 평가하는 단계는,
각각 상이한 가설에 의해 규정된 비트 값들을 이용하는 다수의 디코더들을 사용하여 상기 인코딩된 데이터 비트들에 대한 디코딩을 수행함으로써 병렬적으로 다수의 가설들을 평가하는 단계를 포함하는, 무선 통신 전송의 인코딩된 데이터 비트들을 디코딩하기 위한 방법. - 제1항에 있어서,
상기 다수의 가설들을 평가하는 단계는,
매번 상이한 가설에 의해 규정된 비트 값들을 이용하여 상기 인코딩된 데이터 비트들을 디코딩하기 위해서, 하나의 디코더를 사용하여 상기 인코딩된 데이터 비트들에 대한 디코딩을 여러 번 수행함으로써 순차적인 방식으로 다수의 가설들을 평가하는 단계를 포함하는, 무선 통신 전송의 인코딩된 데이터 비트들을 디코딩하기 위한 방법. - 제1항에 있어서,
순차적인 방식으로 다수의 가설들을 평가하는 것은 상기 가설들 중 전부가 아닌 일부를 평가하는 것을 포함하는, 무선 통신 전송의 인코딩된 데이터 비트들을 디코딩하기 위한 방법. - 제1항에 있어서,
상이한 가설들에 의해 규정된 비트 값들을 사용하는 디코딩 동작들에 의해 획득된 결과들을 비교하는 단계; 및
상기 비교에 기반하여 상기 가설들 중 하나에 대응하는 디코딩된 비트들을 출력으로서 선택하는 단계를 더 포함하는, 무선 통신 전송의 인코딩된 데이터 비트들을 디코딩하기 위한 방법. - 제5항에 있어서,
상기 상이한 가설들에 의해 규정된 비트 값들을 사용하는 디코딩 동작들에 의해 획득된 결과들을 비교하는 단계는 누적된 거리 값들 및 확률 값들 중 적어도 하나를 비교하는 단계를 포함하는, 무선 통신 전송의 인코딩된 데이터 비트들을 디코딩하기 위한 방법. - 제5항에 있어서,
상기 상이한 가설들에 의해 규정된 비트 값들을 사용하는 디코딩 동작들에 의해 획득된 결과들을 비교하는 단계는 검사 필드 비교를 포함하는, 무선 통신 전송의 인코딩된 데이터 비트들을 디코딩하기 위한 방법. - 제1항에 있어서,
상기 가설들에 의해 규정된 비트 값들에 부합하지 않는 디코딩된 비트들의 세트들을 제거하는 것은 한 세트의 가능한 디코딩 경로들 중에서 가설에 의해 규정된 비트 값들에 부합하지 않는 디코딩된 데이터 비트들에 대응하는 디코딩 경로들을 제거하는 것을 포함하는, 무선 통신 전송의 인코딩된 데이터 비트들을 디코딩하기 위한 방법. - 무선 통신을 위한 수신기로서,
무선 전송을 수신하고 한 세트의 인코딩된 데이터 비트들을 생성하기 위한 수신기 프론트 엔드;
다수의 가설들을 생성하기 위한 가설 엔진 ― 각각의 가설은 전송 또는 관련된 전송에 관한 선험적 정보(a-priori information)에 기반하여 알려지거나(known) 또는 예측되는 한 세트의 상기 인코딩된 데이터 비트들의 비트 값들을 규정하고, 각각의 가설은 매체 액세스 제어(MAC) 프로세서로부터 수신되는 메시지 정보에 기반한 상이한 세트의 비트 값들을 가짐 ―; 및
상기 가설들에 의해 규정된 비트 값들에 부합하지 않는 디코딩된 비트들의 세트들을 제거하고, 그리고 상기 가설들 중 하나에 대응하는 디코딩된 비트들을 출력으로서 선택하는 것을 포함하는 디코딩 동작들을 수행함으로써 상기 가설들을 평가하도록 구성된 디코더를 포함하는, 무선 통신을 위한 수신기. - 제9항에 있어서,
상기 디코더는 가설에 의해 규정된 비트 값들에 부합하지 않는 디코딩된 데이터 비트들에 대응하는 디코딩 경로들을 가능한 디코딩 경로들의 집합에서 제거함으로써 상기 인코딩된 데이터 비트들을 디코딩하고, 그리고 제거되지 않은 상기 가능한 디코딩 경로들의 잔존 디코딩 경로들로부터 디코딩 경로를 선택하도록 구성되는, 무선 통신을 위한 수신기. - 제9항에 있어서,
상기 디코더는 다수의 가설들이 병렬적으로 평가될 수 있도록 하여주는 복수의 디코딩 회로들을 포함하는, 무선 통신을 위한 수신기. - 제9항에 있어서,
상기 디코더는 상기 인코딩된 데이터 비트들에 대한 디코딩을 여러 번 수행함으로써 순차적인 방식으로 다수의 가설들을 평가하도록 구성되며, 상기 디코딩은 매번 상이한 가설에 의해 규정된 비트 값들을 사용하여 수행되는, 무선 통신을 위한 수신기. - 제9항에 있어서,
상이한 가설들에 의해 규정된 비트 값들을 사용한 디코딩의 결과들을 저장하기 위한 메모리를 더 포함하는, 무선 통신을 위한 수신기. - 제9항에 있어서,
상기 디코더는 규정된 기준을 충족하는 디코딩 결과들이 획득될 때까지 가설들을 평가함으로써 다수의 가설들을 순차적인 방식으로 평가하는, 무선 통신을 위한 수신기. - 제9항에 있어서,
상이한 가설들에 의해 규정된 비트 값들을 사용한 디코딩 동작들에 의해 획득된 결과들을 비교하기 위한 비교 로직; 및
상기 비교 로직에 의해 생성된 출력에 기반하여 상기 가설들 중 하나에 대응하는 디코딩된 비트들을 출력으로서 선택하기 위한 선택 로직을 더 포함하는, 무선 통신을 위한 수신기. - 제15항에 있어서,
상기 비교 로직은 상기 상이한 가설들에 의해 규정된 비트 값들을 사용한 디코딩 동작들에 의해 획득된 결과들에 대해 누적된 거리 값들 및 확률 값들 중 적어도 하나를 비교하는, 무선 통신을 위한 수신기. - 무선 통신을 위한 장치로서,
무선 전송을 수신하고 한 세트의 인코딩된 데이터 비트들을 생성하기 위한 수단;
다수의 가설들을 생성하기 위한 수단 ― 각각의 가설은 전송 또는 관련된 전송에 관한 선험적 정보(a-priori information)에 기반하여 알려지거나(known) 또는 예측되는 한 세트의 상기 인코딩된 데이터 비트들의 비트 값들을 규정하고, 각각의 가설은 매체 액세스 제어(MAC) 프로세서로부터 수신되는 메시지 정보에 기반한 상이한 세트의 비트 값들을 가짐 ―; 및
상기 가설들에 의해 규정된 비트 값들에 부합하지 않는 디코딩된 비트들의 세트들을 제거하고, 그리고 상기 가설들 중 하나에 대응하는 디코딩된 비트들을 출력으로서 선택하는 것을 포함하는 디코딩 동작들을 수행함으로써 상기 가설들을 평가하기 위한 수단을 포함하는, 무선 통신을 위한 장치. - 제17항에 있어서,
상기 가설들을 평가하기 위한 수단은 병렬적으로 다수의 가설들을 평가할 수 있도록 하여주는 다수의 디코딩 수단을 포함하는, 무선 통신을 위한 장치. - 제17항에 있어서,
상기 가설들을 평가하기 위한 수단은 순차적인 방식으로 다수의 가설들을 디코딩하기 위한 순차적 디코딩 수단을 포함하는, 무선 통신을 위한 장치. - 제19항에 있어서,
상이한 가설들을 사용하여 획득된 디코딩 결과들의 품질을 나타내는 품질 파라미터들을 저장하기 위한 수단; 및
상기 저장된 품질 파라미터들에 기반하여 가장 높은 디코딩 품질에 대응하는 결과들을 선택하기 위한 수단을 더 포함하는, 무선 통신을 위한 장치. - 제19항에 있어서,
상이한 가설들에 의해 규정된 비트 값들을 사용한 디코딩 동작들에 의해 획득된 결과들을 비교하기 위한 수단; 및
상기 비교에 기반하여 상기 가설들 중 하나에 대응하는 디코딩된 비트들을 출력으로서 선택하기 위한 수단을 더 포함하는, 무선 통신을 위한 장치. - 제21항에 있어서,
상기 상이한 가설들에 의해 규정된 비트 값들을 사용한 디코딩 동작들에 의해 획득된 결과들을 비교하기 위한 수단은,
누적된 거리 값들 및 확률 값들 중 적어도 하나를 비교하기 위한 수단을 포함하는, 무선 통신을 위한 장치. - 한 세트의 명령들을 저장하는, 무선 통신 전송의 인코딩된 데이터 비트들을 디코딩하기 위한 컴퓨터 판독가능한 매체로서, 상기 한 세트의 명령들은 하나 이상의 프로세서에 의해 실행될 수 있으며, 상기 한 세트의 명령들은
다수의 가설들을 생성하기 위한 명령들 ― 각각의 가설은 전송 또는 관련된 전송에 관한 선험적 정보(a-priori information)에 기반하여 알려지거나(known) 또는 예측되는 한 세트의 상기 인코딩된 데이터 비트들의 비트 값들을 규정하고, 각각의 가설은 매체 액세스 제어(MAC) 프로세서로부터 수신되는 메시지 정보에 기반한 상이한 세트의 비트 값들을 가짐 ―;
상기 인코딩된 데이터 비트들에 대한 디코딩을 수행함으로써 상기 다수의 가설들을 평가하기 위한 명령들 - 상기 디코딩은 상기 가설들에 의해 규정된 비트 값들에 부합하지 않는(inconsistent) 디코딩된 비트들의 세트들을 제거하는 것을 포함함 -; 및
상기 가설들 중 하나에 대응하는 디코딩된 비트들을 출력으로서 선택하기 위한 명령들을 포함하는,
컴퓨터 판독가능한 매체. - 제23항에 있어서,
상기 가설들을 평가하기 위한 명령들은 다수의 가설들을 병렬적으로 평가하도록 하여주는 복수의 디코딩 수단을 포함하는, 컴퓨터 판독가능한 매체. - 제23항에 있어서,
상기 가설들을 평가하기 위한 명령들은 순차적인 방식으로 다수의 가설들을 디코딩하기 위한 순차적 디코딩 수단을 포함하는, 컴퓨터 판독가능한 매체. - 제25항에 있어서,
상이한 가설들을 사용하여 획득된 디코딩 결과들의 품질을 나타내는 품질 파라미터들을 저장하기 위한 명령들; 및
상기 저장된 품질 파라미터들에 기반하여 가장 높은 디코딩 품질에 대응하는 결과들을 선택하기 위한 명령들을 더 포함하는, 컴퓨터 판독가능한 매체. - 제23항에 있어서,
상이한 가설들에 의해 규정된 비트 값들을 사용한 디코딩 동작들에 의해 획득된 결과들을 비교하기 위한 명령들; 및
상기 비교에 기반하여 상기 가설들 중 하나에 대응하는 디코딩된 비트들을 출력으로서 선택하기 위한 명령들을 더 포함하는, 컴퓨터 판독가능한 매체. - 제27항에 있어서,
상기 상이한 가설들에 의해 규정된 비트 값들을 사용한 디코딩 동작들에 의해 획득된 결과들을 비교하기 위한 명령들은,
누적된 거리 값들 및 확률 값들 중 적어도 하나를 비교하기 위한 명령들을 포함하는, 컴퓨터 판독가능한 매체.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/969,857 US8000411B2 (en) | 2008-01-04 | 2008-01-04 | Decoding scheme using multiple hypotheses about transmitted messages |
US11/969,857 | 2008-01-04 | ||
PCT/US2008/070380 WO2009088534A1 (en) | 2008-01-04 | 2008-07-17 | Decoding scheme using multiple hypotheses about transmitted messages |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020107017335A Division KR20100114061A (ko) | 2008-01-04 | 2008-07-17 | 전송된 메시지들에 대한 다중 가설들을 사용한 디코딩 방식 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20130052635A KR20130052635A (ko) | 2013-05-22 |
KR101551261B1 true KR101551261B1 (ko) | 2015-09-09 |
Family
ID=39831812
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020107017335A KR20100114061A (ko) | 2008-01-04 | 2008-07-17 | 전송된 메시지들에 대한 다중 가설들을 사용한 디코딩 방식 |
KR1020137008438A KR101551261B1 (ko) | 2008-01-04 | 2008-07-17 | 전송된 메시지들에 대한 다중 가설들을 사용한 디코딩 방식 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020107017335A KR20100114061A (ko) | 2008-01-04 | 2008-07-17 | 전송된 메시지들에 대한 다중 가설들을 사용한 디코딩 방식 |
Country Status (10)
Country | Link |
---|---|
US (1) | US8000411B2 (ko) |
EP (1) | EP2235864A1 (ko) |
JP (1) | JP5180319B2 (ko) |
KR (2) | KR20100114061A (ko) |
CN (1) | CN101960763B (ko) |
BR (1) | BRPI0821988A2 (ko) |
CA (1) | CA2710773C (ko) |
RU (1) | RU2452101C2 (ko) |
TW (1) | TWI372534B (ko) |
WO (1) | WO2009088534A1 (ko) |
Families Citing this family (15)
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 |
US8254469B2 (en) * | 2008-05-07 | 2012-08-28 | Kiu Sha Management Liability Company | Error concealment for frame loss in multiple description coding |
US8406342B2 (en) * | 2008-06-19 | 2013-03-26 | Qualcomm Incorporated | Methods and systems for improving frame decoding performance using known information |
US8837592B2 (en) * | 2010-04-14 | 2014-09-16 | Mediatek Inc. | Method for performing local motion vector derivation during video coding of a coding unit, and associated apparatus |
CN101873197A (zh) * | 2010-06-12 | 2010-10-27 | 电子科技大学 | Ldpc码固定比特位的编译码设备 |
US8510639B2 (en) * | 2010-07-01 | 2013-08-13 | Densbits Technologies Ltd. | System and method for multi-dimensional encoding and decoding |
CN104218956B (zh) * | 2013-06-05 | 2019-04-26 | 中兴通讯股份有限公司 | 一种无线接收设备的软比特译码方法及装置 |
CN104821862B (zh) * | 2015-04-17 | 2018-02-06 | 中国科学院计算技术研究所 | 一种提高正交频分复用环境中编码性能的方法及系统 |
US10277256B2 (en) * | 2016-01-05 | 2019-04-30 | Mediatek Inc. | Decoding across transmission time intervals |
WO2017127973A1 (en) * | 2016-01-25 | 2017-08-03 | Qualcomm Incorporated | Generation of polar codes with a variable block length utilizing puncturing |
CN109075806B (zh) * | 2016-05-13 | 2023-07-18 | 英特尔公司 | 极化码构造和编码 |
US10326479B2 (en) * | 2016-07-11 | 2019-06-18 | Micron Technology, Inc. | Apparatuses and methods for layer-by-layer error correction |
RU2633614C1 (ru) * | 2016-12-09 | 2017-10-16 | Акционерное общество "Акустический институт имени академика Н.Н. Андреева" | Способ передачи информации в системах связи с шумоподобными сигналами |
WO2018207155A2 (en) * | 2017-05-12 | 2018-11-15 | Telefonaktiebolaget Lm Ericsson (Publ) | Adaptive crc length for beam sweeping |
RU2688253C2 (ru) * | 2017-10-21 | 2019-05-21 | Вячеслав Михайлович Агеев | Устройство различения гипотез |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070079215A1 (en) * | 2005-09-14 | 2007-04-05 | Samsung Electronics Co., Ltd. | Apparatus and method for decoding burst in an OFDMA mobile communication system |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3665396A (en) * | 1968-10-11 | 1972-05-23 | Codex Corp | Sequential decoding |
RU2110148C1 (ru) * | 1994-04-15 | 1998-04-27 | Акционерное общество "Тейвас" | Способ кодирования и декодирования данных для системы радиовещательной передачи цифровых сообщений |
US5577053A (en) * | 1994-09-14 | 1996-11-19 | Ericsson Inc. | Method and apparatus for decoder optimization |
JP4029498B2 (ja) | 1998-10-22 | 2008-01-09 | ソニー株式会社 | ビタビ検出方法並びにビタビ検出装置 |
US6366624B1 (en) * | 1998-11-30 | 2002-04-02 | Ericsson Inc. | Systems and methods for receiving a modulated signal containing encoded and unencoded bits using multi-pass demodulation |
US6567475B1 (en) * | 1998-12-29 | 2003-05-20 | Ericsson Inc. | Method and system for the transmission, reception and processing of 4-level and 8-level signaling symbols |
CN1134131C (zh) * | 1999-07-22 | 2004-01-07 | 西门子公司 | 数据比特流的差错保护方法 |
US6484285B1 (en) * | 2000-02-07 | 2002-11-19 | Ericsson, Inc. | Tailbiting decoder and method |
FR2817091B1 (fr) * | 2000-11-22 | 2003-03-21 | St Microelectronics Sa | Codeur a turbocodes a synchronisation facilitee |
DE10156110A1 (de) * | 2001-11-16 | 2003-05-28 | Philips Corp Intellectual Pty | Empfangsschaltung zum Empfang von Nachrichtensignalen |
RU2214690C2 (ru) * | 2001-12-26 | 2003-10-20 | Государственное конструкторское бюро аппаратно-программных систем "Связь" Всероссийского НИИ "Градиент" | Способ восстановления переданных информационных сигналов после прохождения их через канал связи |
GB2400001A (en) | 2003-03-27 | 2004-09-29 | Tandberg Television Asa | Constraining a Viterbi decoding trellis using known synchronisation bits |
US8331445B2 (en) * | 2004-06-01 | 2012-12-11 | Qualcomm Incorporated | Method, apparatus, and system for enhancing robustness of predictive video codecs using a side-channel based on distributed source coding techniques |
US7805656B2 (en) | 2005-09-29 | 2010-09-28 | Dolby Laboratories Licensing Corporation | Error correction in packet-based communication networks using data consistency checks |
-
2008
- 2008-01-04 US US11/969,857 patent/US8000411B2/en not_active Expired - Fee Related
- 2008-07-17 JP JP2010541453A patent/JP5180319B2/ja not_active Expired - Fee Related
- 2008-07-17 WO PCT/US2008/070380 patent/WO2009088534A1/en active Application Filing
- 2008-07-17 RU RU2010132640/08A patent/RU2452101C2/ru not_active IP Right Cessation
- 2008-07-17 KR KR1020107017335A patent/KR20100114061A/ko not_active Application Discontinuation
- 2008-07-17 BR BRPI0821988A patent/BRPI0821988A2/pt not_active IP Right Cessation
- 2008-07-17 CN CN200880127753.1A patent/CN101960763B/zh not_active Expired - Fee Related
- 2008-07-17 KR KR1020137008438A patent/KR101551261B1/ko not_active IP Right Cessation
- 2008-07-17 EP EP08782007A patent/EP2235864A1/en not_active Ceased
- 2008-07-17 CA CA2710773A patent/CA2710773C/en not_active Expired - Fee Related
- 2008-07-25 TW TW097128492A patent/TWI372534B/zh active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070079215A1 (en) * | 2005-09-14 | 2007-04-05 | Samsung Electronics Co., Ltd. | Apparatus and method for decoding burst in an OFDMA mobile communication system |
Also Published As
Publication number | Publication date |
---|---|
RU2010132640A (ru) | 2012-02-10 |
US8000411B2 (en) | 2011-08-16 |
CN101960763B (zh) | 2014-01-29 |
JP5180319B2 (ja) | 2013-04-10 |
EP2235864A1 (en) | 2010-10-06 |
TWI372534B (en) | 2012-09-11 |
KR20100114061A (ko) | 2010-10-22 |
CA2710773C (en) | 2014-02-04 |
BRPI0821988A2 (pt) | 2015-09-08 |
CA2710773A1 (en) | 2009-07-16 |
RU2452101C2 (ru) | 2012-05-27 |
TW200931861A (en) | 2009-07-16 |
JP2011509042A (ja) | 2011-03-17 |
KR20130052635A (ko) | 2013-05-22 |
US20090175387A1 (en) | 2009-07-09 |
CN101960763A (zh) | 2011-01-26 |
WO2009088534A1 (en) | 2009-07-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101551261B1 (ko) | 전송된 메시지들에 대한 다중 가설들을 사용한 디코딩 방식 | |
JP5185395B2 (ja) | チャネルmapメッセージの既知情報を用いたチャネルデコーディング | |
US7716565B2 (en) | Method and system for decoding video, voice, and speech data using redundancy | |
US8081719B2 (en) | Method and system for improving reception in wired and wireless receivers through redundancy and iterative processing | |
US8259866B2 (en) | Decoding scheme using A-priori information about transmitted messages | |
EP2599228B1 (en) | Decoding techniques for tail-biting codes | |
US20090175389A1 (en) | Methods and systems for turbo decoding in a wireless communication system | |
KR20120093536A (ko) | 통신 시스템에서 복호화를 위한 장치 및 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A107 | Divisional application of patent | ||
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E90F | Notification of reason for final refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
LAPS | Lapse due to unpaid annual fee |