KR20140078714A - 낮은 복잡성 및 전력 효율적인 오류 정정 코딩 방식 - Google Patents
낮은 복잡성 및 전력 효율적인 오류 정정 코딩 방식 Download PDFInfo
- Publication number
- KR20140078714A KR20140078714A KR1020147011746A KR20147011746A KR20140078714A KR 20140078714 A KR20140078714 A KR 20140078714A KR 1020147011746 A KR1020147011746 A KR 1020147011746A KR 20147011746 A KR20147011746 A KR 20147011746A KR 20140078714 A KR20140078714 A KR 20140078714A
- Authority
- KR
- South Korea
- Prior art keywords
- codeword
- coding scheme
- feedback
- copy
- transmitter
- 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/0001—Systems modifying transmission characteristics according to link quality, e.g. power backoff
- H04L1/0009—Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the channel coding
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/35—Unequal or adaptive error protection, e.g. by providing a different level of protection according to significance of source information or by adapting the coding according to the change of transmission channel characteristics
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
- H03M13/3707—Adaptive decoding and hybrid decoding, e.g. decoding methods or techniques providing more than one decoding algorithm for one code
-
- 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/0001—Systems modifying transmission characteristics according to link quality, e.g. power backoff
- H04L1/0023—Systems modifying transmission characteristics according to link quality, e.g. power backoff characterised by the signalling
- H04L1/0026—Transmission of channel quality indication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0041—Arrangements at the transmitter end
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1012—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using codes or arrangements adapted for a specific type of error
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1048—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0057—Block codes
-
- 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/24—Testing correct operation
- H04L1/242—Testing correct operation by comparing a transmitted test signal with a locally generated replica
- H04L1/243—Testing correct operation by comparing a transmitted test signal with a locally generated replica at the transmitter, using a loop-back
Landscapes
- Engineering & Computer Science (AREA)
- Quality & Reliability (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Theoretical Computer Science (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
- Error Detection And Correction (AREA)
Abstract
오류 정정 코딩 방식을 조정하기 위한 기술이 여기에서 일반적으로 기술된다. 일부 예시적인 기술은 메시지를 수신할 수 있다. 기술은 오류 정정 코딩 방식에 기초하여 메시지를 인코딩함으로써 코드워드의 일부를 생성할 수 있다. 기술은 피드포워드 통신 채널을 통해 전송기에서 수신기로 코드워드의 일부의 복사본을 전송할 수 있다. 기술은 코드워드의 일부의 복사본에 기초하여 피드백을 생성할 수 있다. 기술은 피드백 통신채널을 통해 수신기에서 전송기로 피드백의 복사본을 전송할 수 있다. 기술은 피드백의 복사본에 기초하여 오류 정정 코딩 방식을 조정함으로써 조정된 오류 정정 코딩 방식을 생성할 수 있다.
Description
여기에서 달리 지적되지 않는다면, 본 섹션에서 설명되는 내용은 본 출원에서 청구범위에 대한 선행 기술이 아니며, 본 섹션에 포함함으로써 선행 기술로 인정되지 않는다.
통신 시스템은 특정 서비스 품질을 제공하기 위하여 기준치 레벨 이하의 오류 확률에서 동작하도록 설계될 수 있다. 일 예시에서, 그러한 시스템은 비트 오류 확률이 10-3 이하인 음성 통신을 위한 특정 서비스 품질을 제공할 수 있다. 다른 예시에서, 그러한 시스템은 블록 오류 확률이 10- 5이하인 비디오 통신을 위한 특정 서비스 품질을 제공할 수 있다.
원격 통신 산업의 초창기에는, 통신 제공자가 전송 전력을 증가시킴으로써 오류 확률을 통상적으로 감소시킬 수 있었다. 1948년, 클라우드 섀넌(Claude Shannon)은 채널 코딩 정리(channel coding theorem)에 대한 그의 작업을 출판하며, 오류 정정 코드(error correction code)를 구현함으로써 전력 트레이드오프에 대한 더 나은 오류 확률(즉, 더 적은 전송 전력을 사용하는, 더 낮은 오류 확률)이 달성 가능하다는 학설을 세웠다. 이 때부터, 전력 트레이드오프에 대한 점점 더 나은 오류 확률을 달성하는 다양한 오류 정정 코딩 방식이 개발되었다. 그러나, 현존하는 오류 정정 코딩 방식은 유비쿼터스 컴퓨팅 시스템, 위성 통신 및 모바일 통신과 같은, 일부 현대 애플리케이션에는 적절하지 않을 수 있다.
본 개시는 오류 정정 코딩 방식(error correction coding scheme)을 조정하기 위한 기법을 일반적으로 기술한다. 일부 예시적인 방법은 메시지를 수신하는 단계를 포함할 수 있다. 예시적인 방법은 오류 정정 코딩 방식에 기초하여 메시지를 인코딩함으로써 코드워드(codeword)의 일부를 생성하는 단계 및 피드포워드(feedforward) 통신 채널을 통해 전송기로부터 수신기로 코드워드의 일부의 복사본을 전송하는 단계를 또한 포함할 수 있다. 예시적인 방법은 코드워드의 일부의 복사본에 기초하여 피드백을 생성하는 단계 및 피드백 통신 채널을 통해 수신기에서 전송기로 피드백의 복사본을 전송하는 단계를 더 포함할 수 있다. 또한, 예시적인 방법은 피드백의 복사본에 기초하여 오류 정정 코딩 방식을 조정함으로써 조정된 오류 정정 코딩 방식을 생성하는 것을 포함할 수 있다.
본 개시는 오류 정정 코딩 방식을 조정하기 위한 일부 시스템을 일반적으로 또한 기술한다. 일부 예시적인 시스템은 인코딩 장치 및 코딩 방식 설계자를 포함하는 전송기를 포함할 수 있다. 예시적인 시스템은 디코딩 장치 및 피드백 신호 생성기를 포함하는 수신기를 또한 포함할 수 있다. 수신기는 피드포워드 통신 채널 및 피드백 통신 채널을 통하여 전송기에 결합될 수 있다. 인코딩 장치는 메시지를 수신하고, 오류 정정 코딩 방식에 기초하여 메시지를 인코딩함으로써 코드워드의 일부를 생성하고, 피드포워드 통신 채널을 통해 피드백 신호 생성기 및 디코딩 장치로 코드워드의 일부의 복사본을 전송하고, 코딩 방식 설계자로부터 조정가능 매개변수 선택 신호를 수신하고, 조정가능 매개변수 선택 신호에 따라 오류 정정 코딩 방식의 매개변수를 조정함으로써 조정된 오류 정정 코딩 방식을 생성하도록 구성될 수 있다. 디코딩 장치는 피드포워드 통신 채널을 통해 인코딩 장치로부터 코드워드의 일부의 복사본을 수신하고 오류 정정 코딩 방식에 기초하여 코드워드를 디코딩함으로써 디코드된 메시지를 생성하도록 구성될 수 있다. 피드백 신호 생성기는 피드포워드 통신 채널을 통해 인코딩 장치로부터 코드워드의 일부의 복사본을 수신하고, 코드워드의 일부의 복사본에 기초하여 피드백을 생성하고, 피드백 통신 채널을 통해 코딩 방식 설계자로 피드백의 복사본을 전송하도록 구성될 수 있다. 코딩 방식 설계자는 피드백 통신 채널을 통해 피드백 신호 생성기로부터 피드백의 복사본을 수신하고, 피드백의 복사본에 기초하여 조정가능 매개변수 선택 신호를 생성하고, 인코딩 장치로 조정가능 매개변수 선택 신호를 전송하도록 구성될 수 있다.
본 개시는 오류 정정 코딩 방식을 조정하기 위한 일부 컴퓨터 판독가능 저장 매체를 일반적으로 더 기술한다. 컴퓨터 판독가능 저장 매체는 컴퓨터 실행가능 명령어를 포함할 수 있고, 명령어는 컴퓨터에 의해 실행되는 경우 컴퓨터로 하여금 하나 이상의 동작을 수행하게 할 수 있다. 일부 예시적인 컴퓨터 실행가능 명령어는 컴퓨터로 하여금, 전송기에서, 오류 정정 코딩 방식에 기초하여 메시지를 인코딩함으로써 코드워드의 일부를 생성하고, 설정된 전력 레벨에서, 피드포워드 통신 채널을 통해 전송기에서 수신기로 코드워드의 일부의 복사본을 전송하게 할 수 있다. 예시적인 컴퓨터 실행가능 명령어는 컴퓨터로 하여금, 수신기에서, 전송기로부터 코드워드의 일부의 복사본을 수신하고, 수신기에서, 코드워드의 일부의 복사본에 기초하여 피드백을 생성하고, 피드백 통신 채널을 통해 수신기에서 전송기로 피드백의 복사본을 더 전송하게 할 수 있다. 또한, 예시적인 컴퓨터 실행가능 명령어는 컴퓨터로 하여금, 전송기에서, 수신로부터 피드백의 복사본을 수신하고, 전송기에서, 코드워드와 비교하여 피드백의 복사본에서 오류를 식별하고, 전송기에서 피드백의 복사본에 기초하여 오류 정정 코딩 방식을 조정함으로써 조정된 오류 정정 코딩 방식을 생성하게 할 수 있다. 예시시적인 컴퓨터 실행가능 명령어는 컴퓨터로 하여금, 전송기에서, 조정된 오류 정정 코딩 방식에 기초하여 메시지의 후속적인 일부를 인코딩함으로써 코드워드의 추가적인 일부를 생성하고, 설정된 전력 레벨에서, 피드포워드 통신 채널을 통해 전송기에서 수신기로 코드워드의 추가적인 일부의 복사본을 전송하게 할 수 있다.
본 개시는 오류 정정 코딩 방식을 조정하기 위한 기법을 일반적으로 기술한다. 일부 예시적인 방법은 메시지를 수신하는 단계를 포함할 수 있다. 예시적인 방법은 오류 정정 코딩 방식에 기초하여 메시지를 인코딩함으로써 코드워드의 일부를 생성하고 피드포워드 통신 채널을 통해 전송기에서 수신기로 코드워드의 일부의 복사본을 전송하는 단계를 또한 포함할 수 있다. 예시적인 방법은 코드워드의 일부의 복사본에 기초하여 피드백을 생성하는 단계 및 피드백 통신 채널을 통해 수신기에서 전송기로 피드백의 복사본을 전송하는 단계를 더 포함할 수 있다. 또한, 예시적인 방법은 피드백의 복사본에 기초하여 오류 정정 코딩 방식을 조정함으로써 조정된 오류 정정 코딩 방식을 생성하는 단계를 포함할 수 있다.
이상의 요약은 단순히 예시적인 것으로서 어떠한 방식으로든 제한적으로 의도된 것이 아니다. 이하의 상세한 설명과 도면을 참조함으로써, 상기 설명된 예시적인 양태, 실시예, 그리고 특징에 더하여, 추가적인 양태, 실시예, 그리고 특징 또한 명확해질 것이다.
본 개시의 전술한 특징 및 다른 특징은 첨부 도면과 함께, 다음의 설명과 첨부된 청구범위로부터 더욱 충분히 명백해질 것이다. 이들 도면은 본 개시에 따른 몇몇 실시예를 묘사할 뿐이고, 따라서, 범위를 제한하는 것으로 고려되어서는 안될 것임을 이해하면서, 본 개시는 첨부 도면의 사용을 통해 더 구체적이고 상세하게 설명될 것이다.
도 1은 조정가능 오류 정정 코딩 방식을 구현하도록 조정되는 예시적인 통신 아키텍처를 도시하는 기능적인 블록도이고,
도 2a는 예시적인 오류 정정 코딩 규칙을 도시하는 도표이고,
도 2b는 오류 정정 코딩 규칙에 기초하는 오류 정정 코딩 방식의 예시적인 구현예를 도시하는 도표이고,
도 2c는 오류 정정 코딩 방식에 기초하는 조정된 오류 정정 코딩 방식의 예시적인 구현예를 도시하는 기능적인 블록도이고,
도 3은 조정가능 오류 정정 코딩 방식을 구현하도록 조정되는 예시적인 통신 아키텍처를 도시하는 기능적인 블록도이고,
도 4는 조정가능 오류 정정 코딩 방식을 구현하도록 조정되는 예시적인 통신 아키텍처를 도시하는 기능적인 블록도이고,
도 5는 조정가능 오류 정정 코딩 방식을 구현하도록 조정되는 예시적인 통신 아키텍처를 도시하는 기능적인 블록도이고,
도 6은 수신기에 의해 수신된 피드백에 기초하여 전송기에서 수신기로의 신호 전송을 변경하도록 조정되는 예시적인 프로세스를 도시하는 흐름도이고,
도 7은 수신기에 의해 수신된 채널 관찰에 기초하여 전송기에서 수신기로의 신호 전송을 변경하도록 조정되는 예시적인 프로세스를 도시하는 흐름도이고,
도 8은 예시적인 컴퓨터 시스템을 위한 컴퓨터 하드웨어 아키텍처를 도시하는 블록도이고,
도 9a-9b는 컴퓨팅 장치 상에서 컴퓨터 프로세스를 실행하기 위한 컴퓨터 프로그램을 포함하는 컴퓨터 프로그램 제품을 도시하는 도식도이고, 모두 제시되는 적어도 일부 실시예에 따라 배열된다.
도 1은 조정가능 오류 정정 코딩 방식을 구현하도록 조정되는 예시적인 통신 아키텍처를 도시하는 기능적인 블록도이고,
도 2a는 예시적인 오류 정정 코딩 규칙을 도시하는 도표이고,
도 2b는 오류 정정 코딩 규칙에 기초하는 오류 정정 코딩 방식의 예시적인 구현예를 도시하는 도표이고,
도 2c는 오류 정정 코딩 방식에 기초하는 조정된 오류 정정 코딩 방식의 예시적인 구현예를 도시하는 기능적인 블록도이고,
도 3은 조정가능 오류 정정 코딩 방식을 구현하도록 조정되는 예시적인 통신 아키텍처를 도시하는 기능적인 블록도이고,
도 4는 조정가능 오류 정정 코딩 방식을 구현하도록 조정되는 예시적인 통신 아키텍처를 도시하는 기능적인 블록도이고,
도 5는 조정가능 오류 정정 코딩 방식을 구현하도록 조정되는 예시적인 통신 아키텍처를 도시하는 기능적인 블록도이고,
도 6은 수신기에 의해 수신된 피드백에 기초하여 전송기에서 수신기로의 신호 전송을 변경하도록 조정되는 예시적인 프로세스를 도시하는 흐름도이고,
도 7은 수신기에 의해 수신된 채널 관찰에 기초하여 전송기에서 수신기로의 신호 전송을 변경하도록 조정되는 예시적인 프로세스를 도시하는 흐름도이고,
도 8은 예시적인 컴퓨터 시스템을 위한 컴퓨터 하드웨어 아키텍처를 도시하는 블록도이고,
도 9a-9b는 컴퓨팅 장치 상에서 컴퓨터 프로세스를 실행하기 위한 컴퓨터 프로그램을 포함하는 컴퓨터 프로그램 제품을 도시하는 도식도이고, 모두 제시되는 적어도 일부 실시예에 따라 배열된다.
이하의 상세한 설명에서 본 개시의 일부를 이루는 첨부된 도면이 참조된다. 문맥에서 달리 지시하고 있지 않은 한, 통상적으로, 도면에서 유사한 부호는 유사한 컴포넌트를 나타낸다. 상세한 설명, 도면, 그리고 청구범위에 설명되는 예시적인 실시예는 제한적으로 여겨지지 않는다. 본 개시에서 제시되는 대상의 범위 또는 사상에서 벗어나지 않으면서도 다른 실시예가 이용되거나, 다른 변경이 이루어질 수 있다. 여기에서 일반적으로 설명되고, 도면에 도시되는 본 개시의 양태는 다양한 다른 구성으로 배열, 대체, 조합, 분리 및 설계될 수 있음과 이 모두가 여기에서 명시적으로 고려됨이 기꺼이 이해될 것이다.
본 개시는 그 중에서도 일반적으로 수신기에 의해 수신된 피드백에 기초하여 전송기에서 수신기로의 신호 전송을 변경하는 다양한 조정가능 오류 정정 코딩 방식에 관한 것이다. 그러한 조정가능 오류 정정 코딩 방식은 높은 전력 효율(즉, 저전력), 낮은 복잡성 및/또는 낮은 오류 확률에서 동작하도록 설계될 수 있다. 그 결과로, 이러한 조정가능 코딩 방식은 유비쿼터스 컴퓨팅 시스템, 위성 통신, 모바일 통신 및 저전력, 낮은 복잡성 및/또는 낮은 오류 확률 제약 하에서 동작하는 다른 적절한 기술에 적절할 수 있다.
종래의 오류 정정 코딩 방식에서, 전송기는 고정된 오류 정정 코딩 방식을 이용하여 이후 수신기로 전송되는 메시지를 인코딩할 수 있다. 종래의 오류 정정 코딩 방식에 대비하여, 조정가능 오류 정정 코딩 방식은 수신기 피드백에 기초하여 현존하는 오류 정정 코딩 방식을 동적으로 조정할 수 있다. 그러한 조정가능 오류 정정 코딩 기법 하에서, 전송기는 오류 정정 코딩 방식을 사용하여 메시지의 일부를 인코딩함으로써 인코딩된 메시지를 생성하고 수신기로 인코딩된 메시지 일부를 전송하도록 구성될 수 있다. 수신기는 전송된 인코딩된 메시지 일부를 수신하고, 저전력 전송기에 의한 전송 동안 저하(degradation)를 겪을 수 있는, 전송된 인코딩된 메시지 일부에 대하여 전송기로 피드백을 제공하도록 이후 구성될 수 있다. 수신기는 전송된 인코딩된 메시지 일부를 디코딩함으로써 디코딩된 메시지 일부를 생성하도록 또한 구성될 수 있다.
전송기는, 수신기가 전송된 인코딩된 메시지를 디코딩하는 경우, 수신기로 하여금 정확하지 않은 결과에 도달하게 할 수 있는 오류를 전송된 인코딩된 메시지가 포함하고 있는지 결정하기 위하여 피드백을 분석하도록 구성될 수 있다. 전송기가, 피드백에 기초하여, 전송된 인코딩된 메시지가 그러한 오류를 포함하고 있다고 결정하면, 전송기는 오류를 보상하기 위하여 오류 정정 코딩 방식을 조정함으로써 조정된 오류 정정 방식을 생성하도록 구성될 수 있다. 전송기는 추가적인 피드백에 기초하여 조정된 오류 정정 코딩 방식을 계속 변경하도록 구성될 수 있다. 수신기가 조정된 오류 정정 코딩 방식을 사용하여 인코딩된 추가적인 전송된 메시지 일부를 수신함에 따라, 수신기가 추가적인 전송된 메시지 일부를 디코딩하는 경우 더 정확한 결과에 도달할 가능성이 있는 그러한 방법으로, 추가적인 전송된 메시지 일부가 인코딩될 수 있다.
이제 도 1을 살펴보면, 여기에서 제시된 적어도 일부 실시예에 따라, 기능적인 블록도가 조정가능 오류 정정 코딩 방식을 구현하도록 조정되는 예시적인 통신 아키텍처(100)를 도시한다. 통신 아키텍처(100)는 피드포워드 채널(106) 및 피드백 채널(108)을 통해 결합되는 전송기(102) 및 수신기(104)를 포함할 수 있다. 전송기(102)는 인코딩 장치(110) 및 코딩 방식 설계 모듈(112)을 포함할 수 있다. 수신기(104)는 디코딩 장치(114) 및 피드백 신호 생성기(116)를 포함할 수 있다.
일부 실시예에서, 전송기(102)는 전력 제약 하에서 동작하는 저전력 전송기일 수 있다. 예컨대, 전송기(102)는 RFID(radio frequency identification) 태그, 센서 노드, 모바일 장치 또는 배터리와 같은 제한된 전력 공급을 가지고 동작하는 다른 적절한 장치일 수 있다. 일부 실시예에서, 수신기(104)는 전력 제약 없이 동작하는 고전력 전송기일 수 있다. 예컨대, 수신기(104)는 RFID 판독기, 데이터 수집 센터 또는 파워라인과 같은 일정 전력원에 결합되는 다른 적절한 장치일 수 있다. 피드포워드 채널(106) 및/또는 피드백 채널(108)은 RF(radio frequency), 적외선, 레이저광, 가시광, 어쿠스틱 에너지 또는 다른 적절한 무선 통신 기술에서 구현될 수 있다. 피드포워드 채널(106) 및/또는 피드백 채널(108)은 적합한 변조 방식을 구현할 수 있다. 일부 실시예에서, 인코딩 장치(110)는 폴라 코딩 방식(polar coding scheme)을 사용하는 폴라 코드로 메시지를 인코딩하도록 구성되는 폴라 인코더일 수 있고, 디코딩 장치(114)는 폴라 코드를 디코딩하도록 구성되는 폴라 디코더일 수 있다. 일부 다른 실시예에서, 인코딩 장치(110) 및 디코딩 장치(114)는 해밍 코드(Hamming code) 및 다른 낮은 복접성 오류 정정 코딩 방식을 구현할 수 있다.
인코딩 장치(110)는, 메시지(118)와 같은 메시지를 수신하도록 구성될 수 있다. 인코딩 장치(110)는 오류 정정 코딩 방식(122)에 따라 메시지(118)를 인코딩함으로써 코드워드(120)를 생성하도록 이후 구성될 수 있다. 코드워드(120)를 생성하면, 인코딩 장치(110)는 피드포워드 채널(106)을 통해 수신기(104)로 코드워드(120)를 전송하도록 구성될 수 있다. 특히, 인코딩 장치(110)는 디코딩 장치(114) 및 피드백 신호 생성기(116)로 코드워드(120)를 전송하도록 구성될 수 있다. 전송기(102)가 일부 실시예에 따르는 저전력 전송기인 경우, 피드포워드 채널(106)은 전송기(102)가 충분한 전송 전력을 제공하지 않으므로 전송 동안 코드워드(120)를 저하시킬 수 있다. 예컨대, 피드포워드 채널(106)은 잡음 채널일 수 있다. 그 결과, 디코딩 장치(114) 및 피드백 신호 생성기(116)는 수신된 코드워드(124)로서 코드워드(120)를 수신하도록 구성될 수 있고, 수신된 코드워드(124)는 코드워드(120)의 저하된 복사본(예컨대, 수신된 코드워드(124)는 잡음을 포함할 수 있음)일 수 있다. 수신된 코드워드(124)를 수신하면, 디코딩 장치(114)는 수신된 코드워드(124)를 디코딩함으로써 디코딩된 메시지(126)를 생성하도록 구성될 수 있다.
인코딩 장치(110)는 순차적인 순서대로 코드워드(120)의 일부를 생성하여 코드워드(120)가 완전히 전송될 때까지 수신기(104)로 코드워드(120)의 일부를 전송하도록 구성될 수 있다. 피드백 신호 생성기(116)는 코드워드(120)의 이러한 일부를 수신된 코드워드(124)의 일부로서 수신하도록 구성될 수 있다. 피드백 신호 생성기(116)는 수신된 코드워드(124)의 적어도 일부에 기초하여 피드백(128)을 생성하도록 구성돌 수 있다. 이러한 방법에서, 피드백 신호 생성기(116)는 코드워드(120)가 완전히 전송되기 전에 오류 정정 코딩 방식(122)에서 오류를 정정하는 것을 가능하게 할 수 있다. 피드백 신호 생성기(116)는 피드백(128)을 전송기(102)로 전송하도록 구성될 수 있다. 특히, 피드백 신호 생성기(116)는 코딩 방식 설계 모듈(112)로 피드백(128)을 전송하도록 구성될 수 있다. 수신기(104)가 일부 실시예에 따르는 고전력 수신기인 경우, 수신기(104)가 충분한 전송 전력을 제공하므로, 피드백 채널(108)은 피드백 채널(108) 상에서 피드백이 전송되는 것처럼 피드백(128)을 저하시키지 않거나 또는 현저하게 저하시키지 않을 수 있다. 예컨대, 일부 예시에서, 피드백 채널(108)은 피드백(128)을 여전히 약하게 저하시킬 수 있다. 그러나, 저하는 해로울 만큼 충분하지 않을 수 있다.
일부 실시예에서, 피드백(128)은, 코딩 방식 설계 모듈(112)에게, 수신된 코드워드(124)를 디코딩하는 경우 디코딩 장치(114)로 하여금 정확하지 않은 결과에 도달하게 할 수 있는 오류를 수신된 코드워드(124)가 포함하는지에 관해 통지하도록 조정된 피드백 신호일 수 있다. 통신 아키텍처(100)는 적합하게 작동 가능하고, 수신된 코드워드(124)는 (수신된 코드워드(124)로부터 디코딩된)디코딩된 메시지(126)가 (코드워드(124)가 그로부터 생성된)메시지(118)에 매치되도록 코드워드(120)와 동일하거나 실질적으로 동일해야 한다. 그러나, 일부 경우에, 코드워드(120)는 디코딩된 메시지(126)가 메시지(118)에 매치되지 않을 정도로 수신된 코드워드(124)와 상이할 수 있다. 전술된 바와 같이, 피드포워드 채널(106)은 일부 실시예에 따라, 전송 동안, 코드워드(120)를 저하시킬 수 있다.
코딩 방식 설계 모듈(112)이 피드백(128)을 수신하는 경우, 코딩 방식 설계 모듈(112)은, 수신된 코드워드(124)를 디코딩하는 경우 디코딩 장치로 하여금 정확하지 않은 결과에 도달하게 할 수 있는 오류를 수신된 코드워드(124)가 포함하는 것을 피드백이 나타내는지 결정하도록 구성될 수 있다. 일부 실시예에서, 피드백(128)은 수신된 코드워드(124)의 적어도 일부를 포함할 수 있다. 그러한 경우에, 코딩 방식 설계 모듈(112)은, 피드백(128)이 디코딩된 메시지(126)가 메시지(118)에 매치되지 않을 수 있을 정도로 코드워드(120)의 대응하는 일부와 상이한지 결정하도록 구성될 수 있다. 피드백(128)이 코드워드(120)의 대응하는 일부에 매치되면, 코딩 방식 설계 모듈(112)은 오류 정정 코딩 방식(122)을 조정하지 않도록 구성될 수 있다. 피드백(128)이 코드워드(120)의 대응하는 일부와 매치되지 않으나 피드백(128) 내의 오류가 정확하지 않은 디코딩 결과를 발생되는 않을 것 같은 경우, 코딩 방식 설계 모듈(112)은 오류 정정 코딩 방식(122)을 조정하지 않도록 구성될 수 있다. 피드백(128)이 코드워드(120)의 대응하는 일부에 매치되지 않고 피드백(128) 내의 오류가 정확하지 않은 디코딩 결과를 발생시킬 가능성이 있으면, 코딩 방식 설계 모듈(112)은 오류 정정 코딩 방식(122)을 조정하도록 구성될 수 있고, 이에 의해 오류 정정 코딩 방식(122)에 기초하여 조정된 오류 정정 코딩 방식(130)을 생성할 수 있다.
코딩 방식 설계 모듈(112)이 조정된 오류 정정 코딩방식인 경우, 인코딩 장치(110)는 오류 정정 코딩 방식(122) 대신 조정된 오류 정정 코딩 방식(130)을 사용하여 코드워드(120)의 추가적인 일부를 생성하도록 구성될 수 있다. 조정된 오류 정정 코딩 방식(130)은 전송 동안 피드포워드 채널(106)에 의해 발생되는 저하를 설명하는 것을 시도하거나 설명하도록 구성될 수 있다. 전술된 바와 같이, 코드워드(120)의 추가적인 일부를 생성하면, 인코딩 장치(110)는 디코딩 장치(114) 및 피드백 신호 생성기(116)로 코드워드(120)의 추가적인 일부를 전송하도록 구성될 수 있다. 디코딩 장치(114) 및 피드백 신호 생성기(116)는 수신된 코드워드(124)의 추가적인 일부로서 코드워드(120)의 추가적인 일부를 수신하도록 구성될 수 있다. 수신된 코드워드(124)를 디코딩하는 경우 디코딩 장치(114)가 정확하지 않은 결과에 도달할 가능성이 있다고 피드백 신호 생성기(116)가 결정하면, 전술된 방법에서, 피드백 신호 생성기(116)는 수신된 코드워드(124)의 추가적인 일부에 기초하여 현재의 오류 정정 코딩 방식을 계속 조정하도록 구성될 수 있다.
일부 실시예에서, 코딩 방식 설계 모듈(112)은 카운터(132)를 포함할 수 있다. 코딩 방식 설계 모듈(112)은 코딩 방식 설계 모듈(112)이 현재의 오류 정정 코딩 방식을 조정하는 각각의 시간에서 카운터(132)를 증가시키도록 구성될 수 있다. 수신된 코드워드(124)를 디코딩하는 경우 디코딩 장치(114)가 정확하지 않은 결과에 도달할 가능성이 있다고 아직 코딩 방식 설계 모듈(112)이 결정하지 않은 기준치에 카운터(132)가 도달하는 경우, 인코딩 장치(110)는 코드워드(120)를 전송하는 경우 전송 전력을 증가시키도록 구성될 수 있다. 그러한 방법에서, 전송기(102)는 현재의 오류 정정 코딩 방식을 조정하는 것을 시도한 후에만 전송 전력을 증가시키도록 구성될 수 있다. 즉, 전송기(102)는 현재의 오류 정정 코딩 방식을 조정하고 고정된 전송 전력 레벨에서 데이터를 전송함으로써 피드포워드 채널(106)에서 저하를 해결하는 것을 처음에 시도하도록 구성될 수 있다. 전송기(102)는 현재의 오류 정정 코딩 방식이 카운터(132)에 따른 시도의 기준치 수를 넘어도 성공적이지 않으면 전송 전력 레벨을 증가시키도록 이후 구성될 수 있다.
이제 도 2a를 살펴보면, 여기에서 제시되는 적어도 일부 실시예에 따라, 도표가 예시적인 오류 정정 코딩 규칙(200)을 도시한다. 일부 실시예에서, 오류 정정 코딩 방식(122) 및 조정된 오류 정정 코딩 방식(130)은 오류 정정 코딩 규칙(200)과 같은, 동일한 오류 정정 코딩 규칙에 기초할 수 있다. 오류 정정 코딩 규칙(200)은 하나 이상의 심볼로 메시지(118)를 매핑하도록 구성될 수 있다. 오류 정정 코딩 방식(122) 및 조정된 오류 정정 코딩 방식(130)은 오류 정정 코딩 규칙(200)을 따라 생성될 수 있다. 특히, 도 2b 및 2c에 관하여 아래에서 기술된 바와 같이, 오류 정정 코딩 방식(122) 및 조정된 오류 정정 코딩 방식(130)은 오류 정정 코딩 규칙(200)에 의해 정의되는 매핑을 따를 수 있다.
도 2a에서 도시되는 예시에서, 메시지(118)는 데이터의 적어도 도 비트를 포함할 수 있다. 예컨대, 메시지(118)는 바이너리 00, 바이너리 01, 바이너리 10 또는 바이너리 11일 수 있다. 오류 정정 코딩 규칙(200)은 제1 매핑(202), 제2 매핑(204), 제3 매핑(206) 및 제4 매핑(208)을 포함할 수 있다. 제1 매핑(202)은 바이너리 11이 양의 실수, 음의 실수, 음의 실수 및 양의 실수를 순서대로 포함하는 네 개의 심볼 데이터 스트림을 나타내는, "+ - - +"로 매핑되는 것으로 정의할 수 있다. 제2 매핑(204)은 바이너리 00이 음의 실수, 양의 실수, 양의 실수 및 음의 실수를 순서대로 포함하는 네 개의 심볼 데이터 스트림을 나타내는, "- + + -"로 매핑되는 것으로 정의할 수 있다. 제3 매핑(206)은 바이너리 01이 음의 실수, 음의 실수, 양의 실수 및 양의 실수를 순서대로 포함하는 네 개의 심볼 데이터 스트림을 나타내는, "- - + +"로 매핑되는 것으로 정의할 수 있다. 제4 매핑(208)은 바이너리 10이 양의 실수, 양의 실수, 음의 실수 및 음의 실수를 순서대로 포함하는 네 개의 심볼 데이터 스트림을 나타내는, "+ + - -"로 매핑되는 것으로 정의할 수 있다. 0의 값은 다양한 구현예에 따라 양의 실수 또는 음의 실수를 나타낼 수 있다.
이제 도 2b를 살펴보면, 여기에서 제시된 적어도 일부 실시예에 따라, 도표가 오류 정정 코딩 규칙(200)에 기초하는 오류 정정 코딩 방식(122)의 예시적인 구현예를 도시한다. 도 2a에서 도시된 예시적인 오류 정정 코딩 규칙(200)에 따라, 바이너리 값 00, 01, 10 및 11은 피드포워드 채널(106) 상 전송에 앞서 양의 실수 및 음의 실수를 포함하는 심볼의 일부 조합으로 인코딩될 수 있다. 일부 실시예에서, 오류 정정 코딩 방식(122)은 양의 실수 및 음의 실수가 디폴트 크기를 가지도록 심볼을 정의할 수 있다.
도 2b에 도시된 바와 같이, 오류 정정 코딩 방식(122)은 각각의 양의 실수를 1.0에 각각의 음의 실수를 정수 -1.0에 매핑할 수 있다. 그러므로, 이러한 예시에서, 양의 실수 및 음의 실수의 디폴트 크기는 1.0이다. 예시적인 예시에서, 메시지(118)는 바이너리 11을 포함할 수 있다. 도 2b의 오류 정정 코딩 방식(122)에 따라, 인코딩 장치(110)는 코드워드(120)의 제1, 제2 및 제3 부분을 나타내는, (즉, 양의 실수, 그에 뒤따르는 음의 실수, 그에 뒤따르는 음의 실수인)"1.0, -1.0, -1.0" 데이터 스트림에서 메시지를 처음에 인코딩하도록 구성될 수 있다. 데이터 스트림 내의 각각의 실수는 코드워드(120)의 분리된 일부를 나타낼 수 있다. 인코딩 장치(110)는 코드워드(120)의 일부를 피드포워드 채널(106)을 통해 디코딩 장치(114) 및 피드백 신호 생성기(116)로 전송하도록 이후 구성될 수 있다.
디코딩 장치(114) 및 피드백 신호 생성기(116)는 수신된 코드워드(124)의 일부로서 코드워드(120)의 일부를 수신하도록 구성될 수 있다. 수신된 코드워드(124)의 일부 각각은 피드포워드 재널(106)을 통한 전송 후 코드워드(120)의 일부의 대응하는 것을 나타낼 수 있다. 특히, 수신된 코드워드(124)의 일부는 피드포워드 채널(106)에 의해 발생된 저하를 반영할 수 있다. 이러한 예시적인 예시에서, 디코딩 장치(114) 및 피드백 신호 생성기(116)는 수신된 코드워드(124)의 세 부분을 실수 0.8, 실수 0.1 및 실수 -1.6으로 수신하도록 구성될 수 있다. 수신된 코드워드(124)의 제1 부분에서 실수 0.8은 코드워드(120)의 제1 부분에서 실수 1.0에 대응할 수 있다. 수신된 코드워드(124)의 제2 부분에서 실수 0.1은 코드워드(120)의 제2 부분에서 실수 -1.0에 대응할 수 있다. 수신된 코드워드(124)의 제3 부분에서 실수 -1.6은 코드워드(120)의 제3 부분에서 실수 -1.0에 대응할 수 있다.
전술된 바와 같이, 메시지(118)에서 바이너리 11은 "+ - - +"로 적합하게 인코딩될 수 있다. 수신된 코드워드(124)의 제1 부분에서 실수 0.8은 인코딩의 제1 심볼에서 나타나는 양의 실수에 정확하게 대응한다. 나아가, 수신된 코드워드(124)의 제3 부분에서 실수 -1.6은 인코딩의 제3 심볼에서 나타나는 음의 실수와 정확하게 대응한다. 그러나, 수신된 코드워드(124)의 제2 부분에서 실수 0.1은 인코딩의 제2 심볼에서 음의 실수에 정확하게 대응하지 않는다. 그 결과, 디코딩 장치(114)는, 메시지(118)에 대응하는 수신된 코드워드(124)를 디코딩하는 경우, 바이너리 10과 같은, 정확하지 않은 결과에 도달할 수 있다
피드백 신호 생성기(116)가 수신된 코드워드(124)의 일부를 수신함에 따라, 피드백 신호 생성기(116)는 수신된 코드워드(124)의 일부 중 하나 이상에 기초하여 피드백(128)을 생성하고 코딩 방식 설계 모듈(112)로 피드백(128)을 전송하도록 구성될 수 있다. 일부 실시예에서, 피드백(128)은 수신된 코드워드(124)의 대응하는 일부의 양자화된 버전을 나타낼 수 있다. 예시적인 예시에서, 피드백 신호 생성기(116)는 실수 0.8을 가장 근접한 정수 1로 반올림함으로써 수신된 코드워드(124)의 제1 부분에서 실수 0.8을 양자화하도록 구성될 수 있고, 이는 제1 피드백 부분을 나타낸다. 피드백 신호 생성기(116)는 실수 0.1을 가장 근접한 정수 0으로 반올림함으로써 수신된 코드워드(124)의 제2 부분에서 실수 0.1을 양자화하도록 구성될 수 있고, 이는 제2 피드백 부분을 나타낸다. 피드백 신호 생성기(116)는 실수 -1.6를 가장 근접한 정수 -2로 반올림함으로써 수신된 코드워드(124)의 제3 부분에서 실수 -1.6을 양자화하도록 구성될 수 있고, 이는 제3 피드백 부분을 나타낸다. 피드백(128)은 "1,0, -2" 데이터 스트림에서 제1 피드백 부분, 제2 피드백 부분 및 제3 피드백 부분을 포함할 수 있다.
피드백 신호 생성기(116)는 코딩 방식 설계 모듈(112)로 피드백(128)을 전송하도록 구성될 수 있다. 피드백(128)을 수신하면, 코딩 방식 설계 모듈(112)은 제1 피드백 부분에서 정수 1을 분석하여 코드워드(120)의 제1 부분에서 실수 1.0의 양의 부호와 매치된다고 결정하도록 구성될 수 있다. 코딩 방식 설계 모듈(112)은 제3 피드백 부분에서 정수 -2를 분석하여 코드워드(120)의 제3 부분에서 실수 -1.0의 음의 부호와 매치된다고 결정하도록 구성될 수 있다. 코딩 방식 설계 모듈(112)은 제2 피드백 부분에서 정수 0이 코드워드(120)의 제2 부분에서 실수 -1.0의 음의 부호와 매치되지 않는다고 결정하도록 또한 구성될 수 있다. 코딩 방식 설계 모듈(112)은, 이러한 예시적인 예시에서, 피드포워드 채널(106)이 코드워드(120)의 전송된 일부의 값을 감소시켜 이에 의해 수신된 코드워드(124)의 잠재적으로 정확하지 않은 일부를 발생시켜 디코딩 장치(114)에 의해 부정확하지 않은 디코딩 결과를 잠재적으로 초래할 수 있다고 인식하도록 더 구성될 수 있다.
이제 도 2c를 살펴보면, 여기에서 제시된 적어도 일부 실시예에 따라, 도표가 오류 정정 코딩 방식(122)에 기초하는 조정된 오류 정정 코딩 방식(130)의 예시적인 구현예를 도시한다. 피드포워드 채널(106)에 의해 발생되는 코드워드(120)의 전송된 일부의 값에서 감소를 어드레스하기 위하여, 코딩 방식 설계 모듈(112)은 양의 실수 및 음의 실수를 포함하는 심볼의 크기를 조정함으로써 조정된 오류 정정 코딩 방식(130)을 생성하도록 구성될 수 있다. 코딩 방식 설계 모듈(112)이 피드포워드 채널(106)이 코드워드(120)의 전송된 일부의 값을 감소시키는 것을 인식하는 경우, 코딩 방식 설계 모듈(112)은 조정가능 매개변수 선택 신호를 생성하여 인코딩 장치(110)로 조정가능 매개변수 선택 신호를 전송하도록 구성될 수 있다. 조정가능 매개변수 선택 신호는 인코딩 장치(110)에게 심볼의 디폴트 크기를 증가시키라고 지시하도록 구성될 수 있다. 예컨대, 조정가능 매개변수 선택 신호는 실수 1.0에서 실수 5.0으로 심볼의 디폴트 크기를 증가시키라고 지시하도록 구성될 수 있다.
따라서, 도 2c의 조정된 오류 정정 코딩 방식(130)에 따라, 인코딩 장치(110)는 코드워드(120)의 앞의 세 부분에 뒤따르는 코드워드(120)의 제4 부분을 나타내는, 실수 5.0으로 메시지(118)를 인코딩하여 완료하도록 구성될 수 있다. 인코딩 장치(110)는 코드워드(120)의 제4 부분을 디코딩 장치(114) 및 피드백 신호 생성기(116)으로 전송하도록 이후 구성될 수 있다. 디코딩 장치(114) 및 피드백 신호 생성기(116)는 수신된 코드워드(124)의 제4 부분으로서 코드워드(120)의 제4 부분을 수신하도록 구성될 수 있고, 이에 의해 수신된 코드워드(124)의 전송을 완료할 수 있다. 예시적인 예시에서, 디코딩 장치(114)는 실수 4.3으로 수신된 코드워드(124)의 제4 부분을 수신하도록 구성될 수 있다. 수신된 코드워드(124)의 제4 부분에서 실수 4.3는 인코딩의 제4 심볼에서 나타나는 양의 실수에 정확하게 대응한다.
일부 실시예에서, 디코딩 장치(114)는 양의 실수, 양의 실수, 음의 실수 및 양의 실수를 포함하는 수신된 코드워드(124)가 바이너리 11에 대응할 듯하다고 인식하도록 구성될 수 있다. 예컨대, 코딩 방식 설계 모듈(112)은 피드백(128)에 대한 관찰(observation)을 디코딩 장치(114)에게 제공하도록 구성될 수 있다. 디코딩 장치(114)는 수신된 코드워드(124)의 제2 부분에서 양의 실수(즉, 0.1)가 음의 실수여야 함을 결정하기 위하여 그러한 관찰을 사용하도록 구성될 수 있다. 이러한 방법에서, 디코딩 장치(114)는 바이너리 11의 정확한 디코딩 결과에 도달할 수 있다.
이제 도 3을 살펴보면, 여기에서 제시된 적어도 일부 실시예에 따라, 기능적인 블록도는 조정가능 오류 정정 코딩 방식을 구현하도록 조정되는 예시적인 통신 아키텍처를 도시한다. 통신 아키텍처(300)는 피드포워드 채널(106) 및 피드백 채널(108)을 통해 결합되는 전송기(302) 및 수신기(304)를 포함할 수 있다. 전송기(302)는 메시지(318), 인코딩 장치(310), 전송 모듈(312) 및 스위치(313)를 포함할 수 있다. 수신기(304)는 디코딩 장치(314) 및 인덱스 결정 모듈(316)을 포함할 수 있다.
인코딩 장치(310)는 메시지(318)와 같은, 메시지를 수신하도록 구성될 수 있다. 인코딩 장치(310)는 오류 정정 코딩 방식(322)에 따라 메시지(318)를 인코딩함으로써 코드워드를 생성하도록 이후 구성될 수 있다. 오류 정정 코딩 방식(322)은 폴라 코드, 해밍 코드 또는 다른 낮은 복잡성 오류 정정 코딩 방식을 구현하도록 구성될 수 있다. 코드워드(320)는 복수의 비트의 시퀀스를 포함할 수 있다. 전송 모듈(312)은 코드워드(320)으로부터 하나 이상의 비트를 피드포워드 채널(106)를 통해 디코딩 장치(314) 및 인덱스 결정 모듈(316)로 전송하도록 구성될 수 있다. 스위치(313)는 전송 모듈(312)에게 특정 비트를 디코딩 장치(314) 및 인덱스 결정 모듈(316)로 전송하라고 지시하도록 구성될 수 있다. 일부 실시예에서, 전송 모듈(312)은 전송에 앞서 비트를 변조하도록 구성될 수 있다.
일부 실시예에서, 전송기(302)는 전력 제약 하에서 동작하는 저전력 전송기일 수 있다. 예컨대, 전송기(302)는 RFID 태그, 센서 노드, 모바일 장치, 또는 배터리와 같은 제한된 전력 공급을 가지고 동작하는 다른 적절한 장치일 수 있다. 일부 실시예에서, 수신기(304)는 전력 제약 없이 동작하는 고전력 전송기일 수 있다. 예컨대, 전송기(304)는 RFID 판독기, 데이터 수집 센터 또는 파워라인과 같은 일정한 전력원에 결합되는 다른 적절한 장치일 수 있다.
다양한 실시예에 따라, 메시지를 전송하기 위한 프로세스는 상호적인 프로세스일 수 있다. 인덱스 결정 모듈(316)은 전송 모듈(312)에 의해 디코딩 장치(314) 및 인덱스 결정 모듈(316)로 전송될 코드워드(320)의 다음 비트(324)의 인덱스(328)(또는 복수의 비트의 인덱스들)를 결정하도록 구성될 수 있다. 인덱스 결정 모듈(316)은 채널 관찰(326) 내부의 심볼로서 피드포워드 채널(106)을 통하여 하나 이상의 전송된 비트를 수신하도록 구성될 수 있다. 심볼은 피드포워드 채널(106)에서 잡음에 의해 손상된 후 전송된 비트를 나타낼 수 있다. 인덱스 전송 모듈(316)은 채널 관찰(326)에서 나타나는 잡음을 보상함으로써 채널 관찰(326)에 기초하여 다음 비트(324)의 인덱스(328)(또는 복수의 비트의 인덱스들)를 결정하도록 구성될 수 있다.
전송될 코드워드(320)의 다음 비트(324)의 인덱스(328)(또는 복수의 비트의 인덱스들)를 결정하면, 인덱스 결정 모듈(316)은 피드백 채널(108)을 통해 스위치(313)로 다음 비트(324)의 인덱스(328)(또는 복수의 비트의 인덱스들)를 전송하도록 구성될 수 있다. 일부 실시예에서, 인덱스 결정 모듈(316)은 미리 결정된 타임 슬롯에 대응하는 인터벌에서 스위치(313)로 인덱스(328)(또는 인덱스들)를 전송하도록 구성될 수 있다. 인덱스 결정 모듈(316)으로부터 코드워드(320) 내 다음 비트(324)의 인덱스(328)(또는 복수의 비트의 인덱스들)을 수신하면, 스위치(313)는 전송 모듈(312)에게 수신된 인덱스(328)(또는 인덱스들)에 대응하는 코드워드(320) 내 다음 비트(324)(또는 복수의 비트)를 선택하여 전송하라고 지시하도록 구성될 수 있다. 예컨대, 인덱스 결정 모듈(316)은 전송 모듈(312)에게 동일한 비트 또는 비트들을 여러 번 전송하라고 지시할 수 있다.
코드워드(320)는 변수 X에 의해 나타나는 비트의 시퀀스일 수 있다. 변수 i는 인덱스를 나타낼 수 있다. 변수 Xi는 코드워드 X의 i번째 비트를 나타낼 수 있다. 인덱스 결정 모듈(316)은 인덱스 i의 값을 결정하도록 구성될 수 있다. 일부 실시예에서, 인덱스 결정 모듈(316)은 전송 모듈(312)이 다음 비트(324)을 전송한 후 가 감소될 수 있도록 인덱스 i의 값을 결정하도록 구성될 수 있다. 여기에서, Z(Ui)는 일부 가상 채널의 바타차야 매개변수(Bhattacharyya parameter)를 나타낼 수 있고, 는 오류 확률의 상계(upper bound)이다. 또한 여기에서 M은 인덱스 i의 세트를 나타낼 수 있고, 예컨대, M은 폴라 코딩 방식에서 모든 정보 운반 비트의 인덱스로 선택될 수 있다.
일반화된 메시지 U는 폴라 인코딩 중 형성될 수 있다, 여기에서 Ui는 일반화된 메시지 U의 i번째 비트를 표시할 수 있다. 일반적으로, Z(U-i)는 Ui에서 U1, U2, … , Ui -1까지의 가상 채널의 바타차야 매개변수 및 총 채널 관찰 Y를 표시할 수 있다. 가상 채널의 입력은 일반화된 메시지 U의 i번째 비트일 수 있다. 가상 채널의 출력은 일반화된 메시지 U의 제1 i-1 비트 및 채널 관찰일 수 있다.
일반화된 메시지 U는 비트의 스트링일 수 있고, 자신의 좌표는 2부로 분할될 수 있다. 미리 설계된 세트 M에서 모든 인덱스 i에 대하여, 비트 Ui -는 일반화된 메시지 U의 i번째 좌표에서 메시지(318)에 의해 결정될 수 있다. 예컨대, 비트 Ui는 전송된 메시지(318)의 하나의 특정 비트에 동등할 수 있다. M에 있지 않은 모든 인덱스 i에 대하여, 반면, i번째 좌표에서 비트 Ui는 미리 설계된 고정된 값을 취할 수 있다. 일반화된 메시지 U는 폴라 인코딩 방식을 사용하여 폴라 코드워드로 인코딩될 수 있다. 일부 예시적인 폴라 코딩 방식은 http://arxiv.org/abs/0807.3917에서 또한 이용 가능한, 2009년 7월, 정보 이론에 대한 IEEE 보고서(IEEE Transactions on Information Theory), 어달 아리칸(Erdal Arikan)의, "채널 양극화: 대칭 바이너리 입력 메모리가 없는 채널에 대한 용량 획득 코드를 구성하기 위한 방법(Cannel polarization: a method for constructing capacity-achieving codes for symmetric binary-input memoryless channel)"에 기술된다. 다른 폴라 코딩 방식이 또한 이용될 수 있음이 이해될 것이다.
일부 실시예에서, 인덱스 결정 모듈(316)은 모든 i에 대하여 바타차야 매개변수 Z(X-i)를 1로 처음에 설정하도록 구성될 수 있다. 여기에서, Z(X-i)는 코드워드(320) Xi의 i번째 비트와 대응하는 채널 관찰 Yi 사이의 바타차야 매개변수를 표시할 수 있다. 인덱스 결정 모듈(316)이 피드포워드 채널(106)으로부터 일부 X-i에 대하여 채널 출력(예컨대, 다음 비트(324))을 수신한 후, 인덱스 결정 모듈(316)은 채널 출력에 기초하여 피드포워드 채널(106)에 관한 채널 관찰(326)을 식별하도록 구성될 수 있다. 예컨대, 채널 관찰(326)은 피드포워드 채널(106)에서 수신된 신호의 관찰을 포함할 수 있다. 인덱스 결정 모듈(316)은 채널 관찰에 따라 대응하는 바타차야 매개변수 Z(X-i)를 다시 계산하고 또한 모든 i에 대하여 바타차야 매개변수 Z(Ui)를 다시 계산하도록 이후 구성될 수 있다.
인덱스 결정 모듈(316)은 다음의 식에 의해 다음의 전송된 인덱스 i(next transmitted index i)를 계산하도록 구성될 수 있다.
인덱스 결정 모듈(316)은, 비선형 최적화에서 최심 강하 접근법의 유사물(analog of a deepest descent approach)인, 다음의 식에 의해 다음의 전송된 비트 인덱스 i를 계산하도록 구성될 수 있다.
그러한 미분계수 N 사이에서, 하나 또는 몇몇 정수 j가 존재할 수 있고, 이는 미분계수의 가장 큰 값을 획득한다. 다음의 전송된 인덱스 i는 위의 정수 j 중 하나로 선택될 수 있다.
일부 실시예에서, 인덱스 결정 모듈(316)은 고정된 전력 예산에 따라 타임 슬롯의 고정된 수에 대하여 위의 메시지 전송 프로세스를 반복할 수 있다. 일부 다른 실시예에서, 인덱스 결정 모듈(316)은 바타차야 상계 에 대한 특정 기준치에 도달된 때까지 위의 프로세스를 반복하도록 구성될 수 있다.
바타차야 매개변수를 계산하는 것의 다양한 구현예가 이용될 수 있다. 폴라 코드워드의 i번째 코드는 Xi에 의해 표시될 수 있다. 나아가 (y1, y2, … , yk)는 K 타임 슬롯에 대한 Xi에 대응하는 수신된 신호를 표시할 수 있다. 즉, i번째 비트는 K 타임 슬롯 동안 상호적인 코딩 프로세스에서 전송을 위해 선택될 수 있고, 는 이러한 타임 슬롯 동안 수신된 신호이다. Xi에서 로의 매핑은 Xi에서 슈퍼 심볼 로의 통신 채널로 간주될 수 있다.
제1 예시적인 접근법에서, 바타차야 매개변수 Z(Xi)는 다음의 식에서 정의되는 오류 확률 바운딩에서 정의되어 사용될 수 있다.
이러한 제1 예시적인 접근법에서, Xi에서 로의 통신 채널은 복합적 채널(compound channel)로 간주될 수 있다. 복합적 채널은 동일한 입력 알파벳을 가지고 통신 채널의 세트와 연관되는 통신 채널을 지칭할 수 있다. 신호가 입력인 경우, 복합적 채널은 채널의 세트로부터 하나의 채널을 무작위로 선택하고 선택된 채널을 사용하여 신호를 전송하도록 구성될 수 있다. 이러한 예시에서, 선택된 채널은 심볼 을 포함하는 바이너리 입력 및 출력 알파벳을 가질 수 있다.
제2 예시적인 접근법에서, 바타차야 매개변수 Z(Xi)는 다음의 식에서 정의되는 오류 확률 바운딩에서 정의되어 사용될 수 있다.
여기에서, α는 특정 확률 아규먼트(certain probability arguments)로부터 도출된 표준화 상수(normalization constant)이다.
이러한 제2 예시적인 접근법에서, 상이한 복합적 채널 모델이 이용될 수 있다. 복합적 채널에 의해 각각의 선택된 통신 채널은 바이너리 입력 및 바이너리 출력 알파벳을 가질 수 있다. 출력 알파벳은 두 슈퍼 심볼 , 을 포함할 수 있다. 이러한 제2 예시적인 접근법은 제1 예시적인 접근법에 비해 더 낮은 오류 확률을 발생시킬 수 있다. 여기에서 기술된 접근법은 단지 예시적인 것이고, 다른 복합적 채널 모델 및 채널의 상이한 동류의 세트를 사용하여 바타차야 매개변수를 계산하기 위한 다른 접근법이 또한 이용될 수 있음이 이해될 것이다.
일부 다른 실시예에서, 인코딩 장치(310) 및 디코딩 장치(340)는 바이너리가 아닌 폴라 코딩 방식과 같은, 바이너리가 아닌 오류 정정 및 검출 코딩 방식을 구현하도록 구성될 수 있다. 예컨대, 그러한 구현예에서, 다음의 비트(324)는 바이너리가 아닌 심볼에 대신 대응할 수 있고, 인덱스(328)는 바이너리가 아닌 심볼의 인덱스일 수 있다.
다시 도 4를 살펴보면, 여기에서 제시된 적어도 일부 실시예에 따라, 기능적 블록도가 조정가능 오류 정정 코딩 방식을 구현하도록 조정되는 예시적인 통신 아키텍처를 도시한다. 통신 아키텍처(400)는 피드포워드 채널(106) 및 피드백 채널(108)을 통해 결합되는 전송기(402) 및 수신기(404)를 포함할 수 있다. 전송기(402)는 오류 검출 인코딩 장치(409), 오류 정정 인코딩 장치(410), 전송 모듈(312) 및 제1 스위치(413)을 포함할 수 있다. 수신기(404)는 오류 정정 디코딩 장치(414), 오류 검출 디코딩 장치(415), 인덱스 결정 모듈(316) 및 제2 스위치(417)를 포함할 수 있다.
오류 검출 인코딩 장치(409)는 메시지(418)와 같은 메시지를 수신하도록 구성될 수 있다. 오류 검출 인코딩 장치(409)는 오류 검출 코딩 방식(423)에 따라 메시지(418)를 인코딩함으로써 오류 검출 코드워드(421)를 생성하도록 이후 구성될 수 있다. 일부 실시예에서, 오류 검출 코딩 방식(423)은 패러티 체크 코드(parity check code) 또는 다른 오류 검출 코드일 수 있다. 그러한 경우에서, 오류 검출 인코딩 장치(409)는 메시지(418)를 복수의 부분(예컨대, 서브 스트링)으로 분할하도록 구성될 수 있다. 오류 검출 인코딩 장치(409)는 각각의 이러한 서브 스트링에 대한 패러티 체크 비트를 생성하도록 이후 구성될 수 있다. 오류 검출 코드워드(421)는 서브 스트링 및 그들의 대응하는 패러티 체크 비트를 포함할 수 있다.
오류 검출 코드워드(421)를 생성하면, 오류 검출 인코딩 장치(409)가 오류 검출 코드워드(421)을 오류 정정 인코딩 장치(410)로 제공하도록 구성될 수 있다. 오류 정정 인코딩 장치(410)는 오류 정정 코딩 방식(422)에 따라 오류 검출 코드워드(421)를 인코딩함으로써 코드워드(420)를 생성하도록 이후 구성될 수 있다. 코드워드(420)는 복수의 비트의 시퀀스를 포함할 수 있다. 전송 모듈(312)은 코드워드(420)로부터 하나 이상의 비트를 수신기(404)로 전송하도록 구성될 수 있다. 제1 스위치(413)는 전송 모듈(312)에게 오류 검출 디코딩 장치(415) 및 오류 정정 디코딩 장치(414) 또는 인덱스 검출 모듈(316) 중 어느 하나로 특정 심볼을 전송하라고 지시하도록 구성될 수 있다. 제2 스위치(417)는 오류 정정 디코딩 장치(414) 또는 인덱스 결정 모듈(316) 중 어느 하나가 전송 모듈(312)로부터 비트를 수신하는 것을 설립하도록 구성될 수 있다. 일부 실시예에서, 전송 모듈(312)은 전송에 앞서 비트를 변조하도록 구성될 수 있다.
일부 실시예에서, 전송기(402)는 전력 제약 하에서 동작하는 저전력 전송기일 수 있다. 예컨대, 전송기(402)는 RFID 태그, 센서 노드, 모바일 장치 또는 배터리와 같은, 제한된 전력 공급을 가지고 동작하는 다른 적절한 장치일 수 있다. 일부 실시예에서, 수신기(404)는 전력 제약 없이 동작하는 고전력 전송기일 수 있다. 예컨대, 수신기(404)는 RFID 판독기, 데이터 수집 센터, 또는 파워라인과 같은, 일정한 전력원에 결합된 다른 적절한 장치일 수 있다.
다양한 실시예에 따라, 메시지(418)를 전송하기 위한 프로세스는 상호적인 프로세스일 수 있다. 인덱스 결정 모듈(316)은 전송 모듈(312)에 의해 수신기(404)로 전송될 코드워드(420)의 다음 비트(424)의 인덱스(428)(또는 복수의 비트의 인덱스들)을 결정하도록 구성될 수 있다. 인덱스 결정 모듈(316)은 채널 관찰(427) 내부 심볼로서 피드포워드 채널(106)을 통하여 하나 이상의 전송된 비트를 수신하도록 구성될 수 있다. 심볼은 피드포워드 채널(106)의 잡음에 의해 손상된 후 전송된 비트를 나타낼 수 있다. 인덱스 결정 모듈(316)은 채널 관찰(427)에서 나타나는 잡음을 보상함으로써 채널 관찰(427)에 기초하여 다음 비트(424)의 인덱스(428)(또는 복수의 비트의 인덱스들)를 결정하도록 구성될 수 있다. 예컨대, 인덱스 결정 모듈(316)은 전송 모듈(312)에게 동일한 비트 또는 비트들을 여러 번 전송하라고 지시할 수 있다.
전송될 코드워드(420)의 다음 비트(424)의 인덱스(428)(또는 복수의 비트의 인덱스들)를 결정하면, 인덱스 결정 모듈(316)은 피드백 채널(108)을 통해 제1 스위치(413)로 다음 비트(424)의 인덱스(428)(또는 복수의 비트의 인덱스들)을 전송하도록 구성될 수 있다. 일부 실시예에서, 인덱스 결정 모듈(316)은 미리 결정된 타임 슬롯에 대응하는 인터벌에서 제1 스위치(413)로 인덱스(428)(또는 인덱스들)를 전송하도록 구성될 수 있다. 인덱스 결정 모듈(316)로부터 코드워드(420)의 다음 비트(424)의 인덱스(428)를 수신하면, 제1 스위치(413)는 전송 모듈(312)에게 수신된 인덱스(428)(또는 인덱스들)에 대응하는 코드워드의 다음 비트(424)(또는 복수의 비트)를 선택하여 전송하라고 지시하도록 구성될 수 있다. 인덱스 결정 모듈(316)의 일부 예시적인 구현예는 도 3을 참조하여 전술된다.
전송기(402)는 수신기(404)가 오류 정정 디코딩 장치(414)가 수신된 비트를 신뢰할 수 있게 디코딩할 수 있다고 결정할 때까지 복수의 타임 슬롯에 대하여 수신기(404)로 비트를 계속 발송하도록 구성될 수 있다. 일부 실시예에서, 제2 스위치(417)는 오류 정정 디코딩 장치(414)가 전송 모듈(312)로부터 비트를 수신하는 것을 설립하도록 처음에 구성될 수 있다. 즉, 인덱스 결정 모듈(316)이 전송 모듈(312)로부터 비트를 수신하는 경우, 오류 정정 디코딩 장치(414) 및 오류 검출 디코딩 장치(415)는 비트를 수신하지 않을 수 있다. 제2 스위치(417)가 인덱스 결정 모듈(316)로부터 인덱스의 기준치 수를 수신한 후, 제2 스위치(417)는 인덱스 결정 모듈(316) 대신, 오류 정정 디코딩 장치(414)가 전송 모듈(312)로부터 비트를 수신하는 것을 설립하도록 구성될 수 있다. 제2 스위치(417)는 전송 모듈(312)이 추가적인 비트를 전송하는 것을 그만둘 수 있도록 전송 모듈(312)에게 전송 프로세스가 완료됨을 통지하도록 또한 구성될 수 있다. 오류 정정 디코딩 장치(414)는 수신된 비트를 디코딩함으로써 오류 검출 코드워드(429)를 생성하도록 구성될 수 있다. 오류 검출 코드워드(429)는 오류 검출 코드워드(421)에 포함된 오류 검출 코드를 포함할 수 있다.
오류 검출 디코딩 장치(415)는 오류 검출 코드워드(429)가 오류를 포함하고 있는지 결정하기 위하여 오류 검출 코드워드(429)의 오류 검출 코드를 분석하도록 구성될 수 있다. 오류 검출 디코딩 장치(415)가 오류 검출 코드워드(429)가 오류를 포함하지 않는다고 결정하는 경우, 오류 검출 디코딩 장치(415)는 오류 검출 코드워드(429)를 디코딩함으로써 디코딩된 메시지(426)를 생성하도록 구성될 수 있다. 오류 검출 디코딩 장치(415)가 오류 검출 코드워드(429)가 오류를 포함한다고 결정하는 경우, 오류 검출 디코딩 장치(415)는 제2 스위치(417)에게 인덱스 결정 모듈(316)이 전송 모듈(312)로부터 비트를 수신하는 것을 설립하라고 지시하도록 구성될 수 있다. 제2 스위치(417)는 전송 모듈(312)에게 전송 프로세스를 재시작하라고 통지하도록 또한 구성될 수 있다. 전송기(402)는 전술된 바와 같이, 오류 정정 디코딩 장치(414)가 수신된 비트를 신뢰할 수 있게 디코딩할 수 있다고 수신기(404)가 다시 결정할 때까지 복수의 타임 슬롯에 대하여 수신기(404)로 비트를 계속 발송하도록 구성될 수 있다. 위의 전송 프로세스는 오류 검출 디코딩 장치(415)가 디코딩된 메시지(426)를 출력할 때까지 반복될 수 있다.
일부 다른 실시예에서, 오류 정정 인코딩 장치(410) 및 오류 검출 인코딩 장치(409)는 바이너리가 아닌 폴라 코딩 방식과 같은, 바이너리가 아닌 오류 정정 및 검출 코딩 방식을 구현하도록 구성될 수 있다. 예컨대, 그러한 구현예에서, 다음 비트(424)는 바이너리가 아닌 심볼에 대신 대응할 수 있고, 인덱스(428)는 바이너리가 아닌 심볼의 인덱스일 수 있다.
이제 도 5를 살펴보면, 여기에서 제시된 적어도 일부 실시예에 따라, 기능적인 블록도가 조정가능 오류 정정 코딩 방식을 구현하도록 조정되는 예시적인 통신 아키텍처(500)를 도시한다. 통신 아키텍처(500)는 피드포워드 채널(506A, 506B) 및 피드백 채널(508A, 508B)을 통하여 결합되는 전송기(502) 및 수신기(504)를 포함할 수 있다. 전송기(502)는 부트스트랩 인코더(532) 및 기본적인 인코더(534)를 포함할 수 있다. 수신기(504)는 부트스트랩 디코더(536) 및 기본적인 디코더(538)을 포함할 수 있다.
부트스트랩 인코더(532) 및 부트스트랩 디코더(536)는 피드포워드 채널(506A) 및 피드백 채널(508A)를 통해 통신하도록 구성될 수 있다. 기본적인 인코더(534) 및 기본적인 디코더(538)은 피드포워드 채널(506B) 및 피드백 채널(508B)를 통하여 통신하도록 구성될 수 있다. 일부 실시예에서, 피드포워드 채널(506A) 및 피드포워드 채널(506B)은 상이한 물리적인 통신 채널일 수 있다. 일부 다른 실시예에서, 피드포워드 채널(506A) 및 피드포워드 채널(506B)는 상이한 타임 슬롯 하에서 동작하는 단일의 물리적인 통신 채널일 수 있다. 일부 실시예에서, 피드백 채널(508A) 및 피드백 채널(508B)은 상이한 물리적인 통신 채널일 수 있다. 일부 다른 실시예에서, 피드백 채널(508A) 및 피드백 채널(508B)은 상이한 타임 슬롯 하에서 동작하는 단일의 물리적인 통신 채널일 수 있다.
일부 실시예에서, 기본적인 인코더(534) 및 기본적인 디코더(538)는 비트 레벨 또는 심볼 레벨 피드백 방식을 구현하도록 구성될 수 있다. 비트 레벨 또는 심볼 레벨 피드백 방식의 일부 예시는 도 3 및 4를 참조하여 전술된다. 일부 실시예에서, 부트스트랩 인코더(532) 및 부트스트랩 디코더(536)는 전송된 메시지를 디코딩하는 경우 오류 확률을 더 줄이기 위하여 비트 레벨 또는 심볼 레벨 피드백 방식과 결합될 수 있는 추가적인 피드백 방식을 구현하도록 구성될 수 있다. 그러한 추가적인 피드백 방식은 1979년 11월, 정보 이론에 대한 IEEE 보고서(IEEE Trans. Inform. Theory), IT-25편, 729 733 페이지, 에이치 야마모토 및 케이 이토(H. Yamamoto and K. Itoh)의, "잡음이 없는 피드백을 가지는 채널을 위한 변경된 슈샤익 바론 방식의 점근선 성능("Asymptotic performance of a modified Schalkwijk-Barron scheme for channels with noiseless feedback)"에 기술된다.
기본적인 인코더(534)는 메시지(518)을 수신하고 메시지(518)를 블록(550)과 같은, 복수의 블록으로 인코딩하도록 구성될 수 있다. 예컨대, 블록 각각은 비트의 고정된 수를 포함할 수 있다. 기본적인 인코더(534)는 블록(550)과 같은, 적어도 하나의 블록을, 피드포워드 채널(506B)를 통해 기본적인 디코더(538)로 전송하도록 구성될 수 있다. 블록(550)을 수신하면, 기본적인 디코더(538)는 디코딩된 블록(552)으로 블록(550)을 디코딩하도록 구성될 수 있다. 기본적인 디코더(538)는 전술된 채널 관찰(326)과 같은 피드백을 피드백 채널(508B)를 통해 기본적인 인코더(534)로 전송하도록 구성될 수 있다.
기본적인 디코더(538)는 디코딩된 블록(552)을 부트스트랩 디코더(536)로 제공하도록 또한 구성될 수 있다. 부트스트랩 디코더(536)는 피드백 채널(508A)을 통하여 부트스트랩 인코더(532)로 디코딩된 블록(552)를 전송하도록 구성될 수 있다. 부트스트랩 인코더(532)는 디코딩된 블록(552)이 정확한지 결정하도록 구성될 수 있다. 예컨대, 부트스트랩 인코더(532)는 디코딩된 블록(552)을 블록(550)에 비교하도록 구성될 수 있다. 부트스트랩 인코더(532)가 디코딩된 블록(552)이 정확하다고 결정하면, 부트스트랩 인코더(532)는 피드포워드 채널(506A)을 통하여 부트스트랩 디코더(536)로 긍정 응답("ACK") 신호를 전송하도록 구성될 수 있다. 부트스트랩 인코더(532)가 디코딩된 블록(552)이 정확하지 않다고 결정하면, 부트스트랩 인코더(532)는 부정 응답("NACK") 신호를 피드포워드 채널(506A)을 통해 부트스트랩 디코더(536)으로 전송하도록 구성될 수 있다.
ACK 신호를 수신하는 것에 응답하여, 부트스트랩 디코더(536)는, 제어 신호(542)를 통하여, 기본적인 디코더(538)에게 기본적인 인코더(534)와 기본적인 디코더(538) 사이의 전송 프로세스를 종료하라고 지시하도록 구성될 수 있다. 부트스트랩 디코더(536)는 제어 신호(542)을 통하여, 기본적인 디코더(538)에게 수신된 블록을 디코딩함으로써 디코딩된 메시지(526)를 생성하라고 지시하도록 또한 구성될 수 있다. 기본적인 디코더(538)는 기본적인 인코더(534)에게 현재 블록에 대한 추가적인 정보를 발송하는 것을 그만두라고 통지할 뿐만 아니라, 디코딩된 메시지(526)를 생성하도록 이후 구성될 수 있다. NACK 신호를 수신하는 것에 응답하여, 부트스트랩 디코더(536)는 제어 신호(542)를 통하여, 기본적인 디코더(538)에게 기본적인 인코더(534)와 기본적인 디코더(538) 사이의 전송 프로세스를 계속하라고 지시하도록 구성될 수 있다. 기본적인 인코더(534)는 기본적인 디코더(538)가 부트스트랩 디코더(536)로부터 ACK 신호를 수신할 때까지 기본적인 디코더(538)로 추가적인 비트 또는 심볼을 계속 발송하도록 이후 구성될 수 있다. 제어 신호(540)는 기본적인 인코더(534)에게 전송을 그만 두고 다음 블록으로 이동하라고 통지할 수 있다.
일부 다른 실시예에서, 부트스트랩 인코더(532), 기본적인 인코더(534), 부트스트랩 디코더(536) 및 기본적인 디코더(538)는 바이너리가 아닌 폴라 코딩 방식과 같은 바이너리가 아닌 오류 정정 및 검출 코딩 방식을 구현하도록 구성될 수 있다. 예컨대, 그러한 구현예에서, 부트스트랩 인코더(532), 기본적인 인코더(534), 부트스트랩 디코더(536) 및 기본적인 디코더(538)은 바이너리 비트라기보다 바이너리가 아닌 심볼을 처리할 수 있다.
이제 도 6을 살펴보면, 여기에서 제시된 적어도 일부 실시예에 따라, 흐름도가 수신기에 의해 수신된 피드백에 기초하여 전송기에서 수신기로의 신호 전송을 변경하도록 적응되는 프로세스(600)을 도시한다. 프로세스(600)는 블록(602 내지 616) 중 하나 이상에 의해 예시되는 다양한 동작, 기능 또는 작동을 포함할 수 있다.
프로세스(600)는 블록(602)(메시지 수신)에서 시작할 수 있고, 전송기에서 인코딩 장치(110)과 같은 인코딩 장치는 메시지(118)와 같은, 메시지를 수신하도록 구성될 수 있다. 메시지(118)는 복수의 비트를 포함할 수 있다. 일부 실시예에서, 메시지(118)는 저전력, 낮은 복잡성 및/또는 낮은 오류 확률 제약 하에서 동작하는 다른 적절한 기술 또는 유비쿼터스 컴퓨팅 시스템 또는 다른 적절한 기술에서 전송기에서 수신기로 전송되는 통신을 포함할 수 있다. 그러한 기술에서, 전송기는 전력 제약 하에서 동작하는 저전력 전송기일 수 있는 반면, 수신기는 전력 제약 하에서 동작하지 않는 고전력 수신기일 수 있다. 블록(602)에 블록(604)이 뒤따를 수 있다.
블록(604)(오류 정정 방식에 기초하여 메시지를 부분적으로 인코딩함으로써 코드워드의 일부 생성)에서, 인코딩 장치는, 오류 정정 코딩 방식(122)와 같은, 오류 정정 코딩 방식에 기초하여 메시지(118)를 인코딩함으로써, 코드워드(120)와 같은, 코드워드를 생성하도록 구성될 수 있다. 인코딩 장치는 수신기로 코드워드를 전송하도록 이후 구성될 수 있다. 수신기는 수신된 코드워드(124)와 같은, 대응하는 수신된 코드워드를 수신하도록 구성될 수 있다. 오류 정정 코딩 방식의 일부 예시는 폴라 코드, 해밍 코드 또는 다른 낮은 복잡성 오류 정정 코딩 방식을 포함할 수 있다. 일부 실시예에서, 인코딩 장치는 순차적인 순서에서 코드워드의 일부를 생성하도록 구성될 수 있다. 이러한 방법에서, 인코딩 장치는 인코딩 장치가 메시지를 완전히 인코딩하기 전에 수신기로 코드워드의 일부를 전송하도록 구성될 수 있다. 블록(604)에 블록(606)이 뒤따를 수 있다.
블록(606)(전송기에서 수신기로 코드워드의 일부의 복사본 전송)에서, 인코딩 장치는 피드포워드 채널(106)과 같은, 피드포워드 채널을 통하여 수신기로 코드워드의 일부를 전송하도록 구성될 수 있다. 수신기에서 피드백 신호 생성기(116)와 같은, 피드백 신호 생성기는, 코드워드의 일부의 복사본을 수신하도록 구성될 수 있다. 전술된 바와 같이, 전송기는 전력 제약 하에서 동작하는 저전력 전송기일 수 있다. 일부 경우에서, 피드포워드 채널은 잡음 채널일 수 있다. 전송기는 잡음 채널 상에서 저하 없이 코드워드의 일부를 전송하기에 충분한 전력을 가지지 않을 수 있다. 그 결과, 피드백 신호 생성기에 의해 수신된 코드워드의 일부의 복사본은 하나 이상의 오류를 포함할 수 있다. 그러한 오류는, 수신된 코드워드를 디코딩하는 경우 디코딩 장치(114)와 같은 디코딩 장치로 하여금, 정확하지 않은 디코딩 결과에 도달하게 할 수 있다. 블록(606)에 블록(608)이 뒤따를 수 있다.
블록(608)(코드워드의 일부의 복사본에 기초하여 피드백 생성)에서, 피드백 신호 생성기는, 코드워드의 일부의 복사본에 기초하여, 피드백(128)과 같은 피드백을 생성하도록 구성될 수 있다. 일부 실시예에서, 피드백은 수신된 코드워드의 적어도 일부를 포함할 수 있다. 블록(608)에 블록(610)이 뒤따를 수 있다.
블록(610)(수신기에서 전송기로 피드백의 복사본 전송)에서, 피드백 신호 생성기는 피드백 채널(108)과 같은, 피드백 채널을 통해 전송기로 피드백의 복사본을 전송하도록 구성될 수 있다. 전송기에서 코딩 방식 설계 모듈(112)과 같은, 코딩 방식 설계 모듈은 피드백의 복사본을 수신하도록 구성될 수 있다. 전술된 바와 같이, 수신기는 전력 제약 하에서 동작하지 않는 고전력 수신기일 수 있다. 예컨대, 수신기는 파워라인과 같은 일정한 전력원에 결합될 수 있다. 그 것으로서, 수신기는 피드백 채널이 코딩 방식 설계 모듈에 의해 수신되는 피드백의 복사본을 저하시키지 않거나 충분히 저하시키지 않은 피드백의 복사본을 전송하기에 충분한 전송 전력을 가질 수 있다. 블록(610)에 블록(612)이 뒤따를 수 있다.
블록(612)(피드백의 복사본이 오류를 포함하는지 결정)에서, 코딩 방식 설계 모듈(112)은 수신된 피드백의 복사본이 오류를 포함하는지 결정하도록 구성될 수 있다. 전술된 바와 같이, 피드백은 일부 실시예에 따라, 수신된 코드워드의 적어도 일부를 포함할 수 있다. 이러한 경우에, 코딩 방식 설계 모듈(112)은 수신된 코드워드를 디코딩하는 경우 디코딩 장치가 정확하지 않은 디코딩 결과에 도달할 수 있음을 수신된 코드워드의 일부가 나타내는지 결정하도록 구성될 수 있다. 코딩 방식 설계 모듈(112)이 수신된 코드워드가, 수신된 코드워드를 디코딩하는 경우 디코딩 장치가 정확하지 않은 디코딩 결과에 도달하지 않을 수 있음을 나타내지 않는다고 결정하는 경우, 프로세스(600)는 (예컨대 주기적으로, 계속하여 또는 필요하다고 요구되는 경우에)반복하거나 또는 종료할 수 있다. 코딩 방식 설계 모듈(112)이 수신된 코드워드가, 수신된 코드워드를 디코딩하는 경우 디코딩 장치가 정확하지 않은 디코딩 결과에 도달할 수 있음을 나타낸다고 결정하는 경우, 블록(612)에 블록(614)이 뒤따를 수 있다.
블록(614)(피드백의 복사본에 기초하여 오류 정정 코딩 방식을 조정함으로써 조정된 오류 정정 코딩 방식 생성)에서, 코딩 방식 설계 모듈은 피드백의 복사본에 기초하여 오류 정정 코딩 방식을 조정함으로써 조정된 오류 정정 코딩 방식을 생성하도록 구성될 수 있다. 조정된 오류 정정 코딩 방식은 전송 동안 피드포워드 채널에 의해 발생되는 저하를 설명하도록 구성될 수 있다. 블록(614)에 블록(616)이 뒤따를 수 있다.
블록(616)(조정된 오류 정정 코딩 방식에 기초하여 메시지를 부분적으로 인코딩함으로써 인코딩된 메시지의 다음 일부 생성)에서, 인코딩 장치는 조정된 오류 정정 코딩 방식에 기초하여 메시지를 부분적으로 인코딩함으로써 인코딩된 메시지의 추가적인 일부를 생성하도록 구성될 수 있다. 블록(616)에 블록(612)이 뒤따를 수 있다. 블록(612-616)은 수신된 코드워드가, 수신된 코드워드를 디코딩하는 경우 디코딩 장치가 정확하지 않은 디코딩 결과에 도달할 수 있음을 나타내지 않을 때까지 반복될 수 있다. 프로세스(600)는 (예컨대, 주기적으로, 계속하여 또는 필요하다고 요구되는 경우에)반복하거나 또는 종료할 수 있다.
이제 도 7을 살펴보면, 여기에서 제시된 적어도 일부 실시예에 따라, 흐름도가 수신기에 의해 수신된 채널 관찰에 기초하여 전송기에서 수신기로의 신호 전송을 변경하도록 조정되는 예시적인 프로세스(700)를 도시한다. 프로세스(700)는 블록(702 내지 714) 중 하나 이상에 의해 예시되는 다양한 동작, 기능 또는 작동을 포함할 수 있다.
프로세스(700)는 블록(702)(메시지 수신)에서 시작할 수 있고, 전송기에서 인코딩 장치(310)와 같은 인코딩 장치는 메시지(318)과 같은 메시지를 수신하도록 구성될 수 있다. 메시지(318)는 복수의 비트를 포함할 수 있다. 일부 실시예에서, 메시지(318)는 저전력, 낮은 복잡성 및/또는 낮은 오류 확률 제약 하에서 동작하는 유비쿼터스 컴퓨팅 장치 또는 다른 적절한 기술에서 전송기에서 수신기로 전송되는 통신을 포함할 수 있다. 그러한 기술에서, 전송기는 전력 제약 하에서 동작하는 저전력 전송기일 수 있는 반면, 수신기는 전력 제약 하에서 동작하지 않는 고전력 수신기일 수 있다. 블록(702)에 블록(704)이 뒤따를 수 있다.
블록(704)(오류 정정 방식에 기초하여 메시지를 인코딩함으로써 코드워드 생성)에서, 인코딩 장치는 오류 정정 코딩 방식(322)과 같은 오류 정정 코딩 방식에 기초하여 메시지(318)를 인코딩함으로써 코드워드(320)와 같은 코드워드를 생성하도록 구성될 수 있다. 인코딩 장치는 수신기로 코드워드를 전송하도록 이후 구성될 수 있다. 오류 정정 코딩 방식의 일부 예시는 폴라 코드, 해밍 코드, 또는 다른 낮은 복잡성 오류 정정 코딩 방식을 포함할 수 있다. 블록(704)에 블록(706)이 뒤따를 수 있다.
블록(706)(전송기에서 수신기로 전송될 비트를, 인덱스에 의해 지시되는 스위치를 통해, 선택)에서, 스위치(313)와 같은 스위치는 전송 모듈(312)과 같은 전송 모듈에 의해 전송될 다음 비트를 선택하도록 구성될 수 있다. 스위치는 코드워드의 인덱스에 대응하는 다음 비트를 선택하도록 구성될 수 있다. 스위치는 수신기로부터 코드워드의 인덱스를 수신할 수 있다. 블록(706)에 블록(708)이 뒤따를 수 있다.
블록(708)(전송기에서 수신기로 비트 전송)에서, 전송 모듈은 전송기에서 수신기로 스위치에 의해 선택된 비트를 전송하도록 구성될 수 있다. 전송 모듈은 피드포워드 채널(106)과 같은, 피드포워드 채널을 통해 전송기에서 수신기로 비트를 전송하도록 구성될 수 있다. 블록(708)에 블록(710)이 뒤따를 수 있다.
블록(710)(수신기에서 채널 관찰로서 비트 수신)에서, 인덱스 결정 모듈(316)과 같은 인덱스 결정 모듈은 전송기로부터 채널 관찰(326)과 같은 채널 관찰로 전송된 비트를 수신하도록 구성될 수 있다. 전술된 바와 같이, 전송기는 전력 제약 하에서 동작하는 저전력 전송기일 수 있다. 일부 경우에, 피드포워드 채널은 잡음 채널일 수 있다. 전송기는 잡음 채널 상에서 저하 없이 코드워드의 비트를 전송하기에 충분한 전력을 가지지 않을 수 있다. 그 결과, 수신기에 의해 수신된 코드워드의 전송된 비트는 하나 이상의 오류를 포함할 수 있고, 이는 채널 관찰 내부에서 나타날 수 있다. 그러한 오류는 디코딩 장치(314)와 같은 디코딩 장치로 하여금 수신된 코드워드를 디코딩하는 경우 정확하지 않은 디코딩 결과에 도달하게 할 수 있다. 블록(710)에 블록(712)이 뒤따를 수 있다.
블록(712)(스위치에게 코드워드의 인덱스에 대응하는 비트를 선택하라고 지시하는 코드워드의 인덱스 생성)에서, 인덱스 결정 모듈은 스위치에게 코드워드의 인덱스에 대응하는 다음 비트를 선택하라고 지시하는 코드워드의 인덱스를 생성하도록 구성될 수 있다. 인덱스 결정 모듈은 채널 관찰을 분석하여 잡음을 식별하도록 구성될 수 있다. 예컨대, 채널 관찰은 전송 동안 피드포워드 채널에 의해 저하된 전송된 비트를 나타내는 심볼을 포함할 수 있다. 채널 관찰의 잡음을 식별하면, 인덱스 결정 모듈은 잡음을 보상하기 위하여 인덱스를 생성하도록 구성될 수 있다. 예컨대, 인덱스 결정 모듈은 스위치에게 동일한 비트 중 하나 이상을 선택하라고 지시하는 코드워드의 인덱스를 생성하도록 구성될 수 있다. 이러한 방법에서, 전송 모듈은 동일한 비트 또는 비트들의 전송을 여러 번 반복할 수 있다. 블록(712)에 블록(714)이 뒤따를 수 있다.
블록(714)(수신기에서 전송기로 인덱스 전송)에서, 인덱스 결정 모듈은 수신기에서 전송기로 인덱스를 전송하도록 구성될 수 있다. 인덱스 결정 모듈은 스위치의 인덱스를 전송하도록 구성될 수 있다. 블록(714)에 블록(706)이 뒤따를 수 있다. 블록(706-714)는 전송 모듈에 의해 비트의 전송을 변경하기 위하여 요구되거나 필요한 만큼 반복될 수 있다. 프로세스(700)는 (예컨대, 주기적으로, 계속하여 또는 필요하다고 요구되는 경우)반복하거나 또는 종료할 수 있다.
도 8은 여기에서 제시된 적어도 일부 실시예에 따라 구성되는 예시적인 컴퓨팅 시스템을 위한 컴퓨터 하드웨어 아키텍처를 도시하는 블록도이다. 도 8는 프로세서(810), 메모리(820) 및 하나 이상의 드라이브(830)를 포함하는 컴퓨터(800)를 포함한다. 컴퓨터(800)는 종래의 컴퓨터 시스템, 임베디드 컨트롤 컴퓨터, 랩탑 또는 서버 컴퓨터, 모바일 장치, 셋탑 박스, 키오스크(kiosk), 차량 정보 시스템, 모바일 전화, 맞춤형 머신 또는 기타 하드웨어 플랫폼으로 구현될 수 있다.
드라이브(830) 및 그 연관된 컴퓨터 저장 매체는 컴퓨터 판독 가능 명령어, 데이터 구조, 프로그램 모듈 및 컴퓨터(800)에 대한 다른 데이터의 저장을 제공한다. 드라이브(830)는 운영 체제(840), 어플리케이션 프로그램(850), 프로그램 모듈(860) 및 데이터베이스(880)를 포함할 수 있다. 프로그램 모듈(860)은 인코딩 장치(도시되지 않음), 피드백 신호 생성기(116) 및/또는 인덱스 결정 모듈(316)을 포함할 수 있다. 컴퓨터(800)는 컴퓨터(800)가 인코딩 장치를 구현하는 경우 전송기로 작동하도록 구성될 수 있다. 컴퓨터(800)는 컴퓨터(800)가 피드백 신호 생성기(116) 및/또는 인덱스 결정 모듈(316)을 구현하는 경우 수신기로 작동하도록 구성될 수 있다. 인코딩 장치, 피드백 신호 생성기(116) 및/또는 인덱스 결정 모듈(316)은 앞에서 전술된 바(예컨대, 도 1 내지 7 중 하나 이상에 관하여 전술된 내용)와 같이 전송기에서 수신기로 신호 전송을 변경하기 위한 프로세스(600) 및/또는 프로세스(700)을 실행하도록 조정될 수 있다. 컴퓨터(800)는 사용자 입력 장치(890)를 더 포함하며, 이를 통하여 사용자는 명령 및 데이터를 입력할 수 있다. 입력 장치는 전자 디지타이저, 마이크로폰, 키보드, 및 보통 마우스, 트랙볼 또는 터치 패드로 지칭되는 포인팅 장치를 포함할 수 있다. 다른 입력 장치는 조이스틱, 게임 패드, 위성 안테나, 스캐너 등을 포함할 수 있다.
이러한 입력 장치 및 다른 입력 장치는 시스템 버스에 결합되는 사용자 입력 인터페이스를 통하여 프로세서(810)에 결합될 수 있으나, 병렬 포트, 게임 포트 또는 범용 직렬 버스(universal serial bus(USB))와 같은 다른 인터페이스 및 버스 구조에 의해 결합될 수 있다. 컴퓨터(800)와 같은 컴퓨터는 또한 출력 주변장치 인터페이스(894) 등을 통하여 결합될 수 있는 스피커와 같은 다른 주변 출력 장치를 포함할 수 있다.
컴퓨터(800)는 네트워크 인터페이스(896)에 결합된 원격 컴퓨터와 같은 하나 이상의 컴퓨터로의 논리적인 연결을 이용하여 네트워크 환경에서 동작할 수 있다. 원격 컴퓨터는 개인용 컴퓨터, 서버, 라우터, 네트워크 PC, 피어 장치 또는 다른 공통 네트워크 노드일 수 있고 컴퓨터(800)에 관하여 상술한 요소 중 다수 또는 전부를 포함할 수 있다. 네트워킹 환경은 사무실, 기업 광역 통신망(WAN), 근거리 통신망(LAN), 인트라넷 및 인터넷에서 흔하다.
LAN 또는 WLAN 네트워킹 환경에서 이용되는 경우, 컴퓨터(800)는 네트워크 인터페이스(896) 또는 어댑터를 통하여 LAN에 결합될 수 있다. WAN 네트워킹 환경에서 이용되는 경우, 컴퓨터(800)는 보통 모뎀 또는 네트워크(808) 또는 인터넷과 같은 WAN을 통하여 통신을 수립하기 위한 다른 수단을 포함할 수 있다. WAN은 인터넷, 예시된 네트워크(808), 다양한 다른 네트워크 또는 그들의 임의의 조합을 포함할 수 있다. 컴퓨터 간의 통신 링크, 링, 메쉬, 버스, 클라우드 또는 네트워크를 수립하는 다른 메커니즘이 이용될 수 있다는 점이 인정될 것이다.
일부 실시예에 따르면, 컴퓨터(800)는 네트워킹 환경에 결합될 수 있다. 컴퓨터(800)는 드라이브(830) 또는 다른 저장 장치와 연관된 물리적인 컴퓨터 판독 가능 저장 매체(들) 중 하나 이상의 예시를 포함할 수 있다. 시스템 버스는 프로세서(810)가 코드 및/또는 데이터를 컴퓨터 판독가능 저장 매체로/로부터 판독하는 것이 가능하도록 할 수 있다. 매체는 반도체, 자기성 재료, 광학 매체, 전기적 저장 장치, 전기화학 저장 장치 또는 임의의 다른 그러한 저장 기술을 포함하지만 이에는 제한되지 않는 임의의 적절한 기술을 이용하여 구현되는 저장 요소의 형태의 장치를 나타낼 수 있다. 매체는 RAM, ROM, 플래시 또는 다른 유형의 휘발성 또는 비휘발성 기술로서 특징지어지든 아니든, 메모리(820)와 연관된 컴포넌트를 나타낼 수 있다. 매체는 또한 저장 드라이브(830)로 구현되든 아니든 2차 저장 장치를 나타낼 수 있다. 하드 드라이브 구현예는 솔리드 스테이트로서 특징지어질 수 있거나 자기적으로 인코딩된 정보를 저장하는 회전 매체를 포함할 수 있다.
저장 매체는 하나 이상의 프로그램 모듈(860)을 포함할 수 있다. 프로그램 모듈(860)은 프로세서(810)로 로딩되고, 실행되는 경우, 범용 컴퓨팅 시스템을 특수 목적 컴퓨팅 시스템으로 변환하는 소프트웨어 명령어를 포함할 수 있다. 본 설명 전반을 통하여 상세하게 설명된 바와 같이, 프로그램 모듈(860)은 다양한 툴(tool) 또는 기법을 제공할 수 있고, 이에 따라 컴퓨터(800)는 여기에서 설명된 컴포넌트, 로직 흐름 및/또는 데이터 구조를 이용하여 전체적인 시스템 또는 동작 환경 내에 참여할 수 있다.
프로세서(810)는 개별적으로 또는 집합적으로 임의의 수의 상태를 가정할 수 있는, 임의의 수의 트랜지스터 또는 기타 회로 소자로부터 구성될 수 있다. 더 구체적으로, 프로세서(810)는 상태 머신 또는 유한 상태 머신으로 동작할 수 있다. 그러한 머신은 프로그램 모듈(860) 내에 포함된 실행 가능한 명령어를 로딩함으로써 특정 머신 또는 제2 머신으로 변환될 수 있다. 이러한 컴퓨터로 실행 가능한 명령어는, 프로세서(810)가 어떻게 상태 간에 전환하는지를 지정함으로써 프로세서(810)를 변환할 수 있고, 이에 따라 제1 머신으로부터 제2 머신으로 프로세서(810)를 구성하는 트랜지스터 또는 기타의 회로 소자를 변환할 수 있다. 각 머신의 상태는 또한 하나 이상의 사용자 입력 장치(890), 네트워크 인터페이스(896), 기타의 주변장치, 기타의 인터페이스, 또는 하나 이상의 사용자 또는 기타의 행위자로부터 입력을 수신함으로써 변환될 수 있다. 각각의 머신은 또한 프린터, 스피커, 비디오 디스플레이 등과 같은 다양한 출력 장치의 다양한 물리적인 특징 또는 상태를 변환할 수 있다.
프로그램 모듈(860)을 인코딩하는 것은 저장 매체의 물리적 구조를 또한 변환할 수 있다. 본 개시의 상이한 구현예에서, 물리적 구조의 특정 변환은 다양한 요소에 의존할 수 있다. 그러한 요소의 예시는, 저장 매체를 구현하는데 사용되는 기술, 저장 매체가 주 저장장치로 특징지어지는지 또는 이차적인 저장장치로 특징지어지는지 여부 등을 포함할 수 있으나, 이에 제한되지는 않는다. 예를 들어, 저장 매체가 반도체 기반의 메모리로 구현되면, 프로그램 모듈(860)은 소프트웨어가 거기에 인코딩되면 반도체 메모리(820)의 물리적 상태를 변환할 수 있다. 예를 들어, 소프트웨어는 반도체 메모리(820)를 구성하는 트랜지스터, 커패시터, 또는 기타의 이산 회로 소자를 변환할 수 있다.
다른 예시로서, 저장 매체는 드라이브(830)와 같은 자기 또는 광학 기술을 이용하여 구현될 수 있다. 그러한 구현예에서, 프로그램 모듈(860)은 소프트웨어가 거기에 인코딩되면, 자기 또는 광학 매체의 물리적인 상태를 변환할 수 있다. 이러한 변환은 주어진 자기 매체 내에서 특정 위치의 자기적인 특성을 바꾸는 것을 포함할 수 있다. 이러한 변환은 또한 주어진 광학 매체 내에서 특정 위치의 물리적인 특성 또는 특징을 바꾸어, 그 위치의 광학적인 특성을 바꾸는 것을 포함할 수 있다. 본 개시의 범위 및 사상으로부터 벗어나지 않으면서 물리적 매체의 다양한 기타의 변환이 가능하다는 것이 인식되어야 한다.
이제 도 9a-9b를 살펴보면, 본 개시의 적어도 일부 실시예에 따른, 컴퓨팅 장치 상에서 컴퓨터 프로세스를 실행하기 위한 컴퓨터 프로그램을 포함하는 컴퓨터 프로그램 제품(900)을 도시한다. 예시적인 컴퓨터 프로그램 제품의 예시적인 실시예는 신호 베어링 매체(902)를 사용하는 것으로 제공되고, 메시지를 수신하기 위한 하나 이상의 명령어; 오류 정정 코딩 방식에 기초하여 메시지를 인코딤항으로써 코드워드의 일부를 생성하기 위한 하나 이상의 명령어; 피드포워드 통신 채널을 통하여 전송기에서 수신기로 코드워드의 일부의 복사본을 전송하기 위한 하나 이상의 명령어; 코드워드의 일부의 복사본에 기초하여 피드백을 생성하기 위한 하나 이상의 명령어; 피드백통신 채널을 통하여 수신기에서 전송기로 피드백의 복사본을 전송하기 위한하나 이상의 명령어; 또는 피드백의 복사본에 기촤여 오류 정정 초딩 방식을 조정함으로써 조정된 오류 정정 코딩 방식을 생성하기 위한 하나 이상의 명령어(904) 중 적어도 하나를 포함할 수 있다. 일부 실시예에서, 하나 이상의 컴퓨터 프로그램 제품(900)의 신호 베어링 매체는 컴퓨터 판독가능 매체(906), 기록가능 매체(908) 및/또는 통신 매체(910)를 포함한다.
여기에서 기술되는 사상은 컴퓨터 시스템 상의 애플리케이션 프로그램과 운영체제의 실행과 함께 실행되는 프로그램 모듈의 일반적인 맥락에서 제시되는 한편, 당업자는 다른 구현예가 다른 유형의 프로그램 모듈과 조합하여 수행될 수 있음을 인식할 것이다. 일반적으로, 프로그램 모듈은 루틴, 프로그램, 컴포넌트, 데이터 구조 및 특정 추상 데이터 유형을 구현하거나 특정 태스크를 수행하는 다른 유형의 구조를 포함한다. 또한, 당업자는 여기에서 기술되는 사상이 소형 장치, 멀티 코어 프로세서 시스템, 마이크로프로세서 기반 또는 프로그램가능 가정용 전자 기기, 미니컴퓨터, 메인프레임 컴퓨터 등을 포함하는, 다른 컴퓨터 시스템 구성과 함께 실시될 수 있음을 이해할 것이다.
본 개시는 다양한 태양의 예시로서 의도된 본 출원에 기술된 특정 실시예들에 제한되지 않을 것이다. 당업자에게 명백할 바와 같이, 많은 수정과 변형들이 그 사상과 범위를 벗어나지 않으면서 이루어질 수 있다. 여기에 열거된 것들에 더하여, 본 개시의 범위 안에서 기능적으로 균등한 방법과 장치가 위의 설명으로부터 당업자에게 명백할 것이다. 그러한 수정과 변형들은 첨부된 청구항의 범위에 들어가도록 의도된 것이다. 본 개시는 첨부된 청구항과 그러한 청구항에 부여된 균등물의 전 범위에 의해서만 제한될 것이다. 본 개시가 물론 다양할 수 있는 특정 방법, 시약, 합성 구성 또는 생물학적 시스템에 제한되지 않는 것으로 이해될 것이다. 또한, 여기에서 사용된 용어는 특정 실시예를 기술하기 위한 목적이고, 제한하는 것으로 의도되지 않음이 이해될 것이다.
여기에서 실질적으로 임의의 복수 및/또는 단수의 용어의 사용에 대하여, 당업자는 맥락 및/또는 응용에 적절하도록, 복수를 단수로 및/또는 단수를 복수로 해석할 수 있다. 다양한 단수/복수의 치환은 명확성을 위해 여기에서 명시적으로 기재될 수 있다.
당업자라면, 일반적으로 본 개시에 사용되며 특히 첨부된 청구범위(예를 들어, 첨부된 청구범위)에 사용된 용어들이 일반적으로 "개방적(open)" 용어(예를 들어, 용어 "포함하는"은 "포함하지만 이에 제한되지 않는"으로, 용어 "갖는"는 "적어도 갖는"으로, 용어 "포함하다"는 "포함하지만 이에 한정되지 않는" 등으로 해석되어야 함)로 의도되었음을 이해할 것이다. 또한, 당업자라면, 도입된 청구항의 기재사항의 특정 수가 의도된 경우, 그러한 의도가 청구항에 명시적으로 기재될 것이며, 그러한 기재사항이 없는 경우, 그러한 의도가 없음을 또한 이해할 것이다. 예를 들어, 이해를 돕기 위해, 이하의 첨부 청구범위는 "적어도 하나" 및 "하나 이상" 등의 도입 구절의 사용을 포함하여 청구항 기재사항을 도입할 수 있다. 그러나, 그러한 구절의 사용이, 부정관사 "하나"("a" 또는 "an")에 의한 청구항 기재사항의 도입이, 그러한 하나의 기재사항을 포함하는 실시예로, 그러한 도입된 청구항 기재사항을 포함하는 특정 청구항을 제한함을 암시하는 것으로 해석되어서는 안되며, 동일한 청구항이 도입 구절인 "하나 이상" 또는 "적어도 하나" 및 "하나"("a" 또는 "an")과 같은 부정관사(예를 들어, "하나"는 "적어도 하나" 또는 "하나 이상"을 의미하는 것으로 일반적으로 해석되어야 함)를 포함하는 경우에도 마찬가지로 해석되어야 한다. 이는 청구항 기재사항을 도입하기 위해 사용된 정관사의 경우에도 적용된다. 또한, 도입된 청구항 기재사항의 특정 수가 명시적으로 기재되는 경우에도, 당업자라면 그러한 기재가 일반적으로 적어도 기재된 수(예를 들어, 다른 수식어가 없는 "두 개의 기재사항"을 단순히 기재한 것은, 일반적으로 적어도 두 개의 기재사항 또는 두 개 이상의 기재사항을 의미함)를 의미하도록 해석되어야 함을 이해할 것이다. 또한, "A, B 및 C 등 중의 적어도 하나"와 유사한 규칙이 사용된 경우에는, 일반적으로 그러한 해석은 당업자가 그 규칙을 이해할 것이라는 전제가 의도된 것이다(예를 들어, "A, B 및 C 중의 적어도 하나를 갖는 시스템"은, A만을 갖거나, B만을 갖거나, C만을 갖거나, A 및 B를 함께 갖거나, A 및 C를 함께 갖거나, B 및 C를 함께 갖거나, A, B, 및 C를 함께 갖는 시스템을 포함하지만 이에 제한되지 않음). "A, B 또는 C 중의 적어도 하나"와 유사한 규칙이 사용된 경우에는, 일반적으로 그러한 해석은 당업자가 그 규칙을 이해할 것이라는 전제가 의도된 것이다(예를 들어, "A, B 또는 C 중의 적어도 하나를 갖는 시스템"은, A만을 갖거나, B만을 갖거나, C만을 갖거나, A 및 B를 함께 갖거나, A 및 C를 함께 갖거나, B 및 C를 함께 갖거나, A, B, 및 C를 함께 갖는 시스템을 포함하지만 이에 제한되지 않음). 또한 당업자라면, 실질적으로 어떠한 이접 접속어(disjunctive word) 및/또는 두 개 이상의 대안적인 용어들을 나타내는 구절은, 그것이 상세한 설명, 청구범위 또는 도면에 있는지와 상관없이, 그 용어들 중의 하나, 그 용어들 중의 어느 하나, 또는 그 용어들 두 개 모두를 포함하는 가능성을 고려했음을 이해할 것이다. 예를 들어, "A 또는 B"라는 구절은 "A" 또는 "B" 또는 "A 및 B"의 가능성을 포함하는 것으로 이해될 것이다.
또한, 마쿠쉬 그룹을 이용하여 본 개시의 특징 또는 양상이 기술될 때는, 당업자라면 본 개시가 또한 마쿠쉬 그룹의 임의의 개별 구성원 또는 구성원의 서브그룹을 이용하여 기술됨을 이해할 것이다.
서면의 기재를 제공하는 것과 같은 어떠한 그리고 모든 목적을 위해서, 본 개시에 기재된 모든 범위는 모든 어떠한 가능한 하위범위 및 그 하위범위의 조합을 또한 포괄함이 이해 되어야 한다. 임의의 나열된 범위는, 그 동일한 범위가 적어도 동일한 이분 범위, 삼분 범위, 사분 범위, 오분 범위, 십분 범위 등으로 분할될 수 있으며, 그러한 동일 범위를 충분히 기술하는 것으로 용이하게 인식될 수 있다. 제한되지 않은 예로서, 본 개시에 기재된 각 범위는, 하위 삼분, 중간 삼분, 상위 삼분 등으로 용이하게 분할될 수 있다. 또한, "까지(up to)," "적어도(at least)," "더 큰(greater than)," "더 적은(less than)" 등과 같은 모든 언어는 인용된 수를 포함하며, 상술한 바와 같은 하위 범위로 분할될 수 있는 범위들을 나타냄이 이해되어야 한다. 마지막으로, 범위는 각 개별 구성요소를 포함됨이 이해되어야 한다. 따라서, 예를 들어, 1 내지 3 셀(cell)을 가지는 그룹은 1, 2 또는 3 셀을 가지는 그룹을 나타낸다. 유사하게, 1 내지 5 셀을 가지는 그룹은 1, 2, 3, 4 또는 5 셀을 가지는 그룹을 나타내는 등이다.
다양한 양상 및 실시예들이 본 개시에서 기술되었지만, 다른 양상 및 실시예들이 당업자에게 명확할 것이다. 본 개시에 기재된 다양한 양상 및 실시예는 예시의 목적으로 제시된 것이고, 제한하려고 의도된 것은 아니며, 진정한 범위 및 사상은 이하 청구범위에 의해 나타낸다.
Claims (37)
- 오류 정정 코딩 방식을 조정하기 위한 방법으로서,
메시지를 수신하는 단계;
상기 오류 정정 코딩 방식에 기초하여 상기 메시지를 인코딩함으로써 코드워드의 일부를 생성하는 단계;
피드포워드 통신 채널(feedfoward communications channel)을 통하여 전송기에서 수신기로 상기 코드워드의 상기 일부의 복사본을 전송하는 단계;
상기 전송기에서 상기 수신기로 상기 코드워드의 상기 일부의 상기 복사본을 전송하면, 상기 코드워드의 상기 일부의 상기 복사본에 기초하여 피드백을 생성하는 단계;
피드백 통신 채널을 통하여 상기 수신기에서 상기 전송기로 상기 피드백의 복사본을 전송하는 단계; 및
상기 피드백의 상기 복사본에 기초하여 상기 오류 정정 코딩 방식을 조정함으로써 조정된 오류 정정 코딩 방식을 생성하는 단계
를 포함하는 오류 정정 코딩 방식. - 제1항에 있어서,
상기 조정된 오류 정정 코딩 방식에 기초하여 상기 메시지를 인코딩함으로써 상기 코드워드의 추가적인 일부를 생성하는 단계; 및
상기 피드포워드 통신 채널을 통하여 상기 전송기에서 상기 수신기로 상기 코드워드의 상기 추가적인 일부의 복사본을 전송하는 단계
를 더 포함하는 방법. - 제2항에 있어서,
상기 피드백의 상기 복사본에 기초하여 상기 오류 정정 코딩 방식을 조정함으로써 상기 조정된 오류 정정 코딩 방식을 생성하는 단계는,
상기 코드워드와 비교하여 상기 피드백의 상기 복사본에서 오류를 식별하는 단계;
상기 오류에 대하여 보상하도록 상기 오류 정정 코딩 방식에 대한 변경을 결정하는 단계; 및
상기 변경에 따라 상기 오류 정정 코딩 방식을 조정함으로써 상기 조정된 오류 정정 코딩 방식을 생성하는 단계를 포함하는, 방법. - 제3항에 있어서,
상기 오류 정정 코딩 방식에 기초하여 상기 메시지를 인코딤항으로써 상기 코드워드의 상기 일부를 생성하는 단계는, 설정된 크기를 가지는 심볼을 포함하는 상기 코드워드의 상기 일부를 생성하는 단계를 포함하고;
상기 코드워드와 비교하여 상기 피드백의 상기 복사본에서 오류를 식별하는 단계는 상기 피드백의 상기 복사본의 수신된 심볼이 상기 코드워드의 상기 일부의 전송된 심볼에 매치되는지 결정하는 단계를 포함하고;
상기 오류에 대하여 보상하도록 상기 오류 정정 코딩 방식에 대한 변경을 결정하는 단계는 상기 피드백의 상기 복사본의 상기 수신된 심볼이 상기 코드워드의 상기 일부의 상기 전송된 심볼에 매치되지 않는다는 결정에 응답하여, 상기 수신된 심볼이 상기 전송된 심볼에 매치되게 할 조정된 심볼에 대한 조정된 크기를 결정하는 단계를 포함하고; 그리고
상기 변경에 따라 상기 오류 정정 코딩 방식을 조정함으로써 상기 조정된 오류 정정 코딩 방식을 생성하는 단계는 상기 조정된 심볼을 포함하는 상기 코드워드의 상기 추가적인 일부를 생성하도록 구성되는 상기 조정된 오류 정정 코딩 방식을 생성하는 단계를 포함하는, 방법. - 제4항에 있어서,
상기 조정된 오류 정정 코딩 방식에 기초하여 상기 메시지의 후속적인 일부를 인코딩함으로써 상기 코드워드의 상기 추가적인 일부를 생성하는 단계는 상기 조정된 크기를 가지는 상기 조정된 심볼을 포함하는 상기 코드워드의 상기 추가적인 일부를 생성하는 단계를 포함하는, 방법. - 제3항에 있어서,
상기 코드워드의 상기 추가적인 일부의 상기 복사본에 기초하여 제2 피드백을 생성하는 단계;
상기 피드백 통신 채널을 통하여 상기 수신기에서 상기 전송기로 상기 제2 피드백의 복사본을 전송하는 단계;
상기 코드워드의 상기 추가적인 일부와 비교하여 상기 제2 피드백의 상기 복사본에서 제2 오류를 식별하는 단계; 및
상기 코드워드의 상기 추가적인 일부와 비교하여 상기 제2 피드백의 상기 복사본에서 상기 제2 오류를 식별하면, 상기 전송기에서 상기 수신기로 메시지의 전송 전력을 증가시키는 단계
를 더 포함하는 방법. - 제3항에 있어서,
상기 오류는 상기 피드포워드 채널에 의해 발생되는 상기 코드워드의 저하를 포함하는, 방법. - 제1항에 있어서,
상기 코드워드의 상기 일부의 상기 복사본에 기초하여 피드백을 생성하는 단계는 상기 코드워드의 상기 일부의 상기 복사본을 양자화함으로써 상기 피드백을 생성하는 단계를 포함하는, 방법. - 제1항에 있어서,
상기 오류 정정 코딩 방식은 폴라 코딩 방식(polar coding scheme)을 포함하고, 상기 조정된 오류 정정 코딩 방식은 조정된 폴라 코딩 방식을 포함하는, 방법. - 제1항에 있어서,
상기 전송기는 전력 제약을 가지는 저전력 전송기를 포함하고; 상기 수신기는 상기 전력 제약이 없는 고전력 전송기를 포함하는, 방법. - 오류 정정 코딩 방식을 조정하기 위한 시스템으로서,
인코딩 장치 및 코딩 방식 설계자를 포함하는 전송기;
디코딩 장치 및 피드백 신호 생성기를 포함하는 수신기
를 포함하고,
상기 수신기는 피드포워드 통신 채널 및 피드백 통신 채널을 통하여 상기 전송기에 결합되고;
상기 인코딩 장치는 메시지를 수신하고, 상기 오류 정정 코딩 방식에 기초하여 상기 메시지를 인코딩함으로써 코드워드의 일부를 생성하고, 피드포워드 통신 채널을 통하여 상기 디코딩 장치 및 상기 피드백 신호 생성기로 상기 코드워드의 상기 일부의 복사본을 전송하고, 상기 코딩 방식 설계자로부터 조정가능 매개변수 선택 신호를 수신하고, 상기 조정가능 매개변수 선택 신호에 따라 상기 오류 정정 코딩 방식의 매개변수를 조정함으로써 조정된 오류 정정 코딩 방식을 생성하도록 구성되고;
상기 디코딩 장치는 상기 피드포워드 통신 채널을 통하여 상기 인코딩 장치로부터 상기 코드워드의 상기 일부의 상기 복사본을 수신하고, 상기 오류 정정 코딩 방식에 기초하여 상기 코드워드를 디코딩함으로써 디코딩된 메시지를 생성하도록 구성되고;
상기 피드백 신호 생성기는 상기 피드포워드 통신 채널을 통하여 상기 인코딩 장치로부터 상기 코드워드의 상기 일부의 상기 복사본을 수신하고, 상기 코드워드의 상기 일부의 상기 복사본에 기초하여 피드백을 생성하고, 상기 피드백 통신 채널을 통하여 상기 코딩 방식 설계자에게 상기 피드백의 복사본을 전송하도록 구성되고; 그리고
상기 코딩 방식 설계자는 상기 피드백 통신 채널을 통하여 상기 피드백 신호 생성기로부터 상기 피드백의 상기 복사본을 수신하고, 상기 피드백의 상기 복사본에 기초하여 상기 조정가능 매개변수 선택 신호를 생성하고, 상기 인코딩 장치로 상기 조정가능 매개변수 선택 신호를 전송하도록 구성되는, 시스템. - 제11항에 있어서,
상기 인코딩 장치는 상기 조정된 오류 정정 코딩 방식에 기초하여 상기 메시지를 인코딩함으로써 상기 코드워드의 추가적인 일부를 생성하고, 상기 피드포워드 통신 채널을 통하여 상기 피드백 신호 생성기 및 상기 디코딩 장치로 상기 코드워드의 상기 추가적인 일부의 복사본을 전송하도록 더 구성되는, 시스템. - 제12항에 있어서,
상기 코딩 방식 설계자가 상기 피드백의 상기 복사본에 기초하여 상기 조정가능 매개변수 선택 신호를 생성하는 경우, 상기 코딩 방식 설계자는,
상기 코드워드의 상기 일부와 비교하여 상기 피드백의 상기 복사본에서 오류를 식별하고;
상기 오류에 대하여 보상하도록 설정된 크기에서 조정된 크기로 상기 매개변수에 대한 조정을 결정하고; 그리고
상기 인코딩 장치로 하여금 상기 조정에 따라 상기 설정된 크기에서 상기 조정된 크기로 상기 오류 정정 코딩 방식의 상기 매개변수를 조정하게 하도록 구성되는 상기 조정가능 매개변수 선택 신호를 생성하도록 구성되는, 시스템. - 제13에 있어서,
상기 설정된 크기는 상기 코드워드의 상기 일부의 심볼의 설정된 크기를 포함하고; 상기 조정된 크기는 상기 코드워드의 상기 추가적인 일부의 조정된 심볼의 조정된 크기를 포함하고; 상기 조정가능 매개변수 선택 신호는 인코딩 장치에게 상기 설정된 크기에서 상기 조정된 크기로 상기 오류 정정 코딩 방식의 상기 매개변수를 조정하라고 지시하도록 구성되고; 그리고 상기 인코딩 장치가 상기 조정가능 매개변수 선택 신호에 따라 상기 오류 정정 코딩 방식의 상기 매개변수를 조정함으로써 상기 조정된 오류 정정 코딩 방식을 생성하는 경우, 상기 인코딩 장치는 상기 설정된 크기에서 상기 조정된 크기로 상기 오류 정정 코딩 방식의 상기 매개변수를 조정함으로써 상기 조정된 오류 정정 코딩 방식을 생성하도록 구성되는, 시스템. - 제13항에 있어서,
상기 피드백 신호 생성기는 상기 피드포워드 통신 채널을 통하여 상기 인코딩 장치로부터 상기 코드워드의 상기 추가적인 일부의 상기 복사본을 수신하고, 상기 코드워드의 상기 추가적인 일부의 상기 복사본에 기초하여 제2 피드백을 생성하고, 상기 피드백 통신 채널을 통하여 상기 코딩 방식 설계자에게 상기 제2 피드백의 복사본을 전송하도록 더 구성되고; 그리고 상기 코딩 방식 설계자는 상기 피드백 통신 채널을 통하여 상기 피드백 신호 생성기로부터 상기 제2 피드백의 상기 복사본을 수신하고, 상기 코드워드의 상기 추가적인 일부와 비교하여 상기 제2 피드백의 상기 복사본에서 제2 오류를 식별하고, 상기 코드워드의 상기 추가적인 일부와 비교하여 상기 제2 피드백의 상기 복사본에서 상기 제2 오류가 식별되는 경우, 상기 전송기에서 상기 수신기로 메시지의 전송 전력을 증가시키도록 더 구성되는, 시스템. - 제15항에 있어서,
상기 오류는 상기 피드포워드 통신 채널에서 전송되는 경우 상기 코드워드의 상기 복사본의 저하에 의해 발생되고; 상기 제2 오류는 상기 피드포워드 통신 채널에서 전송되는 경우 상기 코드워드의 상기 추가적인 일부의 저하에 의해 발생되는, 시스템. - 제11항에 있어서,
상기 피드백 신호 생성기가 상기 코드워드의 상기 일부의 상기 복사본에 기초하여 상기 피드백을 생성하는 경우, 상기 피드백 신호 생성기는 상기 코드워드의 상기 일부의 상기 복사본을 양자화함으로써 상기 피드백을 생성하도록 구성되는, 시스템. - 제11항에 있어서,
상기 오류 정정 코딩 방식은 폴라 코딩 방식을 포함하고, 상기 조정된 오류 정정 코딩 방식은 조정된 폴라 코딩 방식을 포함하는, 시스템. - 제11항에 있어서,
상기 전송기는 전력 제약을 가지는 저전력 전송기를 포함하고; 상기 수신기는 상기 전력 제약이 없는 고전력 수신기를 포함하는, 시스템. - 컴퓨터 실행가능 명령어를 가지는 컴퓨터 판독가능 매체로서, 상기 명령어는 컴퓨터에 의해 실행되는 경우, 상기 컴퓨터로 하여금,
전송기에서, 메시지를 수신하고;
상기 전송기에서, 오류 정정 코딩 방식에 기초하여 상기 메시지를 인코딩함으로써 코드워드의 일부를 생성하고;
설정된 전력 레벨에서, 피드포워드 통신 채널을 통하여 상기 전송기에서 수신기로 상기 코드워드의 상기 일부의 복사본을 전송하고;
상기 수신기에서, 상기 전송기로부터 상기 코드워드의 상기 일부의 상기 복사본을 수신하고;
상기 수신기에서, 상기 코드워드의 상기 일부의 상기 복사본에 기초하여 피드백을 생성하고;
피드백 통신 채널을 통하여 상기 수신기에서 전송기로 상기 피드백의 복사본을 전송하고;
상기 전송기에서, 상기 수신기로부터 상기 피드백의 상기 복사본을 수신하고;
상기 전송기에서, 상기 코드워드와 비교하여 상기 피드백의 상기 복사본에서 오류를 식별하고;
상기 코드워드와 비교하여 상기 피드백의 상기 복사본에서 상기 오류가 식별되는 경우, 상기 전송기에서 상기 피드백의 상기 복사본에 기초하여 상기 오류 정정 코딩 방식을 조정함으로써 조정된 오류 정정 코딩 방식을 생성하고;
상기 전송기에서, 상기 조정된 오류 정정 코딩 방식에 기초하여 상기 메시지의 후속적인 일부를 인코딩함으로써 상기 코드워드의 추가적인 일부를 생성하고; 그리고
상기 설정된 전력 레벨에서, 상기 피드포워드 통신 채널을 통하여 상기 전송기에서 상기 수신기로 상기 코드워드의 상기 추가적인 일부의 복사본을 전송하게 하는, 컴퓨터 판독가능 매체. - 제20항에 있어서,
상기 컴퓨터로 하여금,
상기 수신기에서, 상기 피드포워드 통신 채널을 통하여 상기 전송기로부터 상기 코드워드의 상기 추가적인 일부의 상기 복사본을 수신하고;
상기 수신기에서, 상기 코드워드의 상기 추가적인 일부의 상기 복사본에 기초하여 제2 피드백을 생성하고;
상기 피드백 통신 채널을 통하여 상기 수신기에서 상기 전송기로 상기 제2 피드백의 복사본을 전송하고;
상기 전송기에서, 상기 피드백 통신 채널을 통하여 상기 수신기로부터 상기 제2 피드백의 상기 복사본을 수신하고;
상기 코드워드의 상기 추가적인 일부와 비교하여 상기 제2 피드백의 상기 복사본에서 제2 오류를 식별하고;
상기 코드워드의 상기 추가적인 일부와 비교하여 상기 제2 피드백의 상기 복사본에서 상기 제2 오류가 식별되는 경우, 상기 설정된 전력 레벨에서 조정된 전력 레벨로 상기 전송기의 전송 전력을 증가시키고; 그리고
상기 조정된 전력 레벨에서, 상기 전송기에서 상기 수신기로 상기 메시지의 제2 후속적인 일부를 더 전송하게 하는, 시스템. - 오류 정정 코딩 방식을 조정하기 위한 방법으로서,
메시지를 수신하는 단계;
상기 오류 정정 코딩 방식에 기초하여 상기 메시지를 인코딩함으로써 코드워드를 생성하는 단계;
상기 코드워드의 이전 인덱스에 의해 지시되는 스위치를 통하여, 전송기에서 수신기로 전송될 심볼을 선택하는 단계;
상기 전송기에서 상기 수신기로 전송될 상기 심볼을 선택하면, 상기 전송기에서 상기 수신기로 피드포워드 통신 채널을 통해 상기 심볼을 전송하는 단계;
상기 수신기에서 상기 피드포워드 채널의 채널 관찰(channel observation)로서 상기 심볼을 수신하는 단계;
상기 채널 관찰에 기초하여 상기 코드워드의 다음 인덱스를 생성하는 단계;
상기 코드워드의 상기 인덱스에 대응하는 다음 심볼을 선택하라고 상기 스위치에게 지시하는, 상기 코드워드의 상기 다음 인덱스를 피드백 통신 채널을 통하여 상기 수신기에서 상기 전송기로 전송하는 단계; 및
상기 피드백 통신 채널을 통하여 상기 수신기에서 상기 전송기로 상기 코드워드의 상기 인덱스를 전송하면, 상기 다음 인덱스에 의해 지시된 상기 스위치를 통하여 상기 전송기에서 상기 수신기로 전송될 상기 다음 심볼을 선택하는 단계
를 포함하는 방법. - 제22항에 있어서,
상기 오류 정정 코딩 방식에 기초하여 상기 메시지를 인코딩함으로써 상기 코드워드를 생성하는 단계는,
오류 검출 코딩 방식에 기초하여 상기 메시지를 인코딩함으로써 오류 검출 코드워드를 생성하는 단계; 및
상기 오류 정정 코딩 방식에 기초하여 상기 오류 검출 코드워드를 인코딩함으로써 상기 코드워드를 생성하는 단계
를 포함하는, 방법. - 제23항에 있어서,
상기 오류 정정 코딩 방식에 기초하여 상기 메시지를 인코딩함으로써 상기 오류 검출 코드워드를 생성하는 단계는,
상기 메시지를 복수의 서브 스트링으로 분할하는 단계; 및
상기 복수의 서브 스트링 각각에 대하여 패러티 체크를 생성하는 단계를 포함하고, 상기 오류 검출 코드워드는 상기 복수의 서브 스트링 및 상기 대응하는 패러티 체크 비트를 포함하는, 방법. - 제22항에 있어서,
상기 오류 정정 코딩 방식은 폴라 코딩 방식을 포함하는, 방법. - 제22항에 있어서,
상기 전송기는 전력 제약을 가지는 저전력 전송기를 포함하고; 상기 수신기는 상기 전력 제약이 없는 고전력 수신기를 포함하는, 방법. - 제22항에 있어서,
상기 코드워드의 상기 다음 인덱스는 상기 코드워드의 상기 이전 인덱스에 동등한, 방법. - 제22항에 있어서,
상기 채널 관찰은 상기 피드포워드 채널에 의해 발생되는 상기 심볼의 저하를 나타내는, 방법. - 제22항에 있어서
상기 채널 관찰에 기초하여 상기 코드워드의 상기 다음 인덱스를 생성하는 단계는 상기 코드워드의 상기 다음 인덱스를 생성하는 경우 오류 확률 상계(upper bound)를 최소화하는 단계를 포함하는, 방법. - 제29항에 있어서,
상기 오류 확률 상계는 바타차야 매개변수(Bhattacharyya parameter)에 기초하는, 방법. - 제24항에 있어서,
상기 심볼은 비트를 포함하는, 방법. - 오류 정정 코딩 방식을 조정하기 위한 시스템으로서,
인코딩 장치, 전송 모듈 및 스위치를 포함하는 전송기;
디코딩 장치 및 인덱스 결정 모듈을 포함하는 수신기를 포함하고,
상기 수신기는 피드포워드 통신 채널 및 피드백 통신 채널을 통하여 상기 전송기에 결합되고;
상기 인코딩 장치는 메시지를 수신하고, 상기 오류 정정 코딩 방식에 기초하여 상기 메시지를 인코딩함으로써 코드워드를 생성하고 상기 전송 모듈로 상기 코드워드를 제공하도록 구성되고,
상기 전송 모듈은 상기 코드워드의 이전 인덱스에 의해 지시되는 상기 스위치를 통하여, 상기 전송기에서 상기 수신기로 전송될 심볼을 선택하고, 상기 전송기에서 상기 수신기로 상기 심볼을 전송하고, 다음 인덱스에 의해 지시되는 상기 스위치를 통하여, 상기 전송기에서 상기 수신기로 전송될 상기 코드워드의 다음 심볼을 선택하고, 상기 전송기에서 상기 수신기로 상기 다음 심볼을 전송하도록 구성되고,
상기 인덱스 결정 모듈은 상기 수신기에서 상기 피드포워드 통신 채널의 채널 관찰로서 상기 심볼을 수신하고, 상기 채널 관찰에 기초하여 상기 코드워드의 상기 다음 인덱스를 생성하고, 상기 스위치에게 상기 코드워드의 상기 인덱스에 대응하는 상기 다음 심볼을 선택하라고 지시하는, 상기 코드워드의 상기 다음 인덱스를 상기 피드백 통신 채널을 통하여 상기 수신기에서 상기 전송기로 전송하도록 구성되고,
상기 디코딩 장치는 상기 심볼 및 상기 다음 심볼을 포함하는, 상기 코드워드의 복수의 심볼을 상기 피드포워드 통신 채널을 통하여 상기 인코딩 장치로부터 수신하고, 상기 오류 정정 코딩 방식에 기초하여 상기 복수의 심볼을 디코딩함으로써 디코딩된 메시지를 생성하도록 구성되는, 시스템. - 제32항에 있어서,
상기 오류 정정 코딩 방식은 폴라 코딩 방식을 포함하는, 시스템. - 제32항에 있어서,
상기 전송기는 전력 제약을 가지는 저전력 전송기를 포함하고; 상기 수신기는 상기 전력 제약이 없는 고전력 수신기를 포함하는, 시스템. - 제32항에 있어서,
상기 코드워드의 상기 다음 인덱스는 상기 코드워드의 상기 이전 인덱스에 동등한, 시스템. - 제32항에 있어서,
상기 채널 관찰은 상기 피드포워드 통신 채널에 의해 발생되는 상기 심볼의 저하를 나타내는, 시스템. - 제32항에 있어서,
상기 심볼은 비트를 포함하는, 시스템.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US2011/058002 WO2013062548A1 (en) | 2011-10-27 | 2011-10-27 | Low complexity and power efficient error correction coding schemes |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20140078714A true KR20140078714A (ko) | 2014-06-25 |
KR101643976B1 KR101643976B1 (ko) | 2016-08-10 |
Family
ID=48168219
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020147011746A KR101643976B1 (ko) | 2011-10-27 | 2011-10-27 | 낮은 복잡성 및 전력 효율적인 오류 정정 코딩 방식 |
Country Status (4)
Country | Link |
---|---|
US (1) | US9143267B2 (ko) |
JP (1) | JP5930057B2 (ko) |
KR (1) | KR101643976B1 (ko) |
WO (1) | WO2013062548A1 (ko) |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9176927B2 (en) * | 2011-11-08 | 2015-11-03 | The Royal Institution For The Advancement Of Learning/Mcgill University | Methods and systems for decoding polar codes |
CN103220001B (zh) * | 2012-01-20 | 2016-09-07 | 华为技术有限公司 | 与循环冗余校验级联的极性码的译码方法和译码装置 |
CN103516476B (zh) * | 2012-06-29 | 2016-12-21 | 华为技术有限公司 | 编码方法和设备 |
CN103780329B (zh) | 2012-10-17 | 2018-05-04 | 华为技术有限公司 | 一种编译码的方法、装置及系统 |
US9083387B2 (en) * | 2012-12-18 | 2015-07-14 | Samsung Electronics Co., Ltd. | Communication system with compound coding mechanism and method of operation thereof |
US9304859B2 (en) * | 2012-12-29 | 2016-04-05 | Emc Corporation | Polar codes for efficient encoding and decoding in redundant disk arrays |
CN104038234B (zh) * | 2013-03-07 | 2017-09-29 | 华为技术有限公司 | 极性码的译码方法和译码器 |
US9602241B2 (en) | 2013-12-17 | 2017-03-21 | Samsung Electronics Co., Ltd. | Computing system with polar processing mechanism and method of operation thereof |
WO2015096021A1 (zh) | 2013-12-24 | 2015-07-02 | 华为技术有限公司 | 极性码的译码方法和译码装置 |
CN105024781B (zh) * | 2014-04-30 | 2019-06-21 | 中兴通讯股份有限公司 | 一种反馈信息的处理方法、装置及系统 |
CA2972286C (en) * | 2014-05-30 | 2020-01-07 | Huawei Technologies Co., Ltd. | Method and apparatus for constructing punctured polar code |
JP6487770B2 (ja) * | 2015-05-18 | 2019-03-20 | キヤノン株式会社 | データ通信システム、記録装置、データ送信装置、データ通信システムの制御方法 |
US20170111060A1 (en) * | 2015-10-15 | 2017-04-20 | Macronix International Co., Ltd. | Method and device for performing polar codes channel-aware procedure |
US10284232B2 (en) * | 2015-10-28 | 2019-05-07 | Pure Storage, Inc. | Dynamic error processing in a storage device |
US10581462B2 (en) | 2015-12-01 | 2020-03-03 | Huawei Technologies Co., Ltd. | Signature-enabled polar encoder and decoder |
CN107342773A (zh) * | 2016-10-25 | 2017-11-10 | 华为技术有限公司 | 编码、译码方法及设备 |
WO2018126378A1 (en) * | 2017-01-05 | 2018-07-12 | Qualcomm Incorporated | Wireless communication with polar codes using a mask sequence for frozen bits |
GB2563568A (en) * | 2017-05-05 | 2018-12-26 | Tcl Communication Ltd | Transmitting and receiving data using polar codes |
KR101874537B1 (ko) | 2017-07-06 | 2018-07-04 | 연세대학교 산학협력단 | 극 부호의 병렬 복호화 방법 및 장치 |
WO2019199515A1 (en) * | 2018-04-09 | 2019-10-17 | Google Llc | Fifth generation new radio uplink multiplexing assisted by shared grant-free transmission |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20010043907A (ko) * | 1999-03-31 | 2001-05-25 | 마츠시타 덴끼 산교 가부시키가이샤 | 통신 단말 장치, 기지국 장치 및 무선 통신 방법 |
KR20030084154A (ko) * | 2002-04-25 | 2003-11-01 | 삼성전자주식회사 | 전력이 조절되는 적응 변조 및 코딩 방식의 이동통신시스템 및 그 방법 |
US6865233B1 (en) * | 1999-02-19 | 2005-03-08 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and system for control signalling enabling flexible link adaptation in a radiocommunication system |
KR20110069644A (ko) * | 2009-12-17 | 2011-06-23 | 한국전자통신연구원 | 위성통신시스템에서의 전력제어와 결합한 적응적 변조 및 코딩 방법 |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH01205641A (ja) | 1988-02-12 | 1989-08-18 | Nec Corp | データパケットのデータ長の最適化方式 |
JPH02288449A (ja) * | 1989-04-28 | 1990-11-28 | Nec Corp | 伝送品質監視システム |
US6039688A (en) | 1996-11-01 | 2000-03-21 | Salus Media Inc. | Therapeutic behavior modification program, compliance monitoring and feedback system |
TW390082B (en) * | 1998-05-26 | 2000-05-11 | Koninkl Philips Electronics Nv | Transmission system with adaptive channel encoder and decoder |
EP1207644B1 (en) * | 2000-11-17 | 2008-08-20 | LG Electronics, Inc. | Method of link adaptation of blind type using acknowledgements in ARQ system |
US7813322B2 (en) * | 2003-02-19 | 2010-10-12 | Qualcomm Incorporated | Efficient automatic repeat request methods and apparatus |
US20050013249A1 (en) * | 2003-07-14 | 2005-01-20 | Hao-Song Kong | Redundant packets for streaming video protection |
US8350717B2 (en) * | 2006-06-05 | 2013-01-08 | Neptune Technology Group, Inc. | Fixed network for an automatic utility meter reading system |
WO2008062587A1 (fr) * | 2006-11-22 | 2008-05-29 | Fujitsu Limited | Système et procédé de communication mimo-ofdm |
US8265957B2 (en) | 2007-01-18 | 2012-09-11 | At&T Intellectual Property I, L.P. | Methods, systems, and computer-readable media for disease management |
US7961807B2 (en) * | 2007-03-16 | 2011-06-14 | Freescale Semiconductor, Inc. | Reference signaling scheme using compressed feedforward codebooks for multi-user, multiple input, multiple output (MU-MIMO) systems |
WO2008144151A2 (en) * | 2007-05-15 | 2008-11-27 | Rambus Inc. | Multi-antenna transmitter for multi-tone signaling |
PL3322108T3 (pl) * | 2007-10-08 | 2019-10-31 | Ericsson Telefon Ab L M | Sposoby i układy do sygnalizowania informacji sterujących w systemie komunikacji |
BRPI0822523A2 (pt) * | 2008-04-29 | 2018-06-05 | Thomson Licensing | método e sistema para adaptar correção antecipada de erro multicast através de redes sem fio |
US8306146B2 (en) * | 2008-05-01 | 2012-11-06 | Futurewei Technologies, Inc. | Progressive feedback for high resolution limited feedback wireless communication |
US20090287947A1 (en) * | 2008-05-13 | 2009-11-19 | Igo, Inc. | Circuit and method for ultra-low idle power |
US20120033566A1 (en) * | 2008-08-28 | 2012-02-09 | Wi-Lan, Inc. | Hybrid feedback for closed loop multiple-input multiple- output |
US8780817B2 (en) * | 2008-09-22 | 2014-07-15 | Qualcomm Incorporated | Apparatus and method for reducing overhead for communications |
TWI581578B (zh) | 2010-02-26 | 2017-05-01 | 新力股份有限公司 | 編碼器及提供遞增冗餘之編碼方法 |
US20110243207A1 (en) * | 2010-04-05 | 2011-10-06 | Futurewei Technologies, Inc. | System and Method for Adapting Codebooks |
-
2011
- 2011-10-27 KR KR1020147011746A patent/KR101643976B1/ko active IP Right Grant
- 2011-10-27 JP JP2014538765A patent/JP5930057B2/ja not_active Expired - Fee Related
- 2011-10-27 WO PCT/US2011/058002 patent/WO2013062548A1/en active Application Filing
- 2011-10-27 US US13/500,542 patent/US9143267B2/en not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6865233B1 (en) * | 1999-02-19 | 2005-03-08 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and system for control signalling enabling flexible link adaptation in a radiocommunication system |
KR20010043907A (ko) * | 1999-03-31 | 2001-05-25 | 마츠시타 덴끼 산교 가부시키가이샤 | 통신 단말 장치, 기지국 장치 및 무선 통신 방법 |
KR20030084154A (ko) * | 2002-04-25 | 2003-11-01 | 삼성전자주식회사 | 전력이 조절되는 적응 변조 및 코딩 방식의 이동통신시스템 및 그 방법 |
KR20110069644A (ko) * | 2009-12-17 | 2011-06-23 | 한국전자통신연구원 | 위성통신시스템에서의 전력제어와 결합한 적응적 변조 및 코딩 방법 |
Also Published As
Publication number | Publication date |
---|---|
KR101643976B1 (ko) | 2016-08-10 |
US20130111291A1 (en) | 2013-05-02 |
WO2013062548A1 (en) | 2013-05-02 |
JP5930057B2 (ja) | 2016-06-08 |
JP2015501596A (ja) | 2015-01-15 |
US9143267B2 (en) | 2015-09-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101643976B1 (ko) | 낮은 복잡성 및 전력 효율적인 오류 정정 코딩 방식 | |
US10469099B2 (en) | Apparatus and method for multilevel coding (MLC) with binary alphabet polar codes | |
KR102569349B1 (ko) | 극성 코드 인코딩 방법 및 디바이스 | |
CN110474716B (zh) | 基于降噪自编码器的scma编解码器模型的建立方法 | |
US9215457B2 (en) | Method and system for communicating multimedia using reconfigurable rateless codes and decoding in-process status feedback | |
WO2012068969A9 (en) | Subset coding for communication systems | |
EP3469714A1 (en) | Polar code encoding with puncturing, shortening and extending | |
CN111224677B (zh) | 编码方法、译码方法及装置 | |
KR20230079159A (ko) | 외부 블록 코드 및 내부 편극 조정 컨볼루션 코드가 있는 직렬 연접 코드 | |
EP3562074A1 (en) | Method, device, and equipment for use in determining coding and decoding of polar code | |
CN111480324B (zh) | 用于检测相互干扰的信息流的装置和方法 | |
Sorensen et al. | On-the-fly overlapping of sparse generations: A tunable sparse network coding perspective | |
CN114073024B (zh) | 极性码的卷积预编码和解码 | |
CN113748626B (zh) | 通信系统中的迭代检测 | |
CN109831281B (zh) | 一种低复杂度稀疏码多址接入系统多用户检测方法及装置 | |
KR101643039B1 (ko) | 분산 lt 부호의 차수 분포 최적화 방법 | |
WO2020015840A1 (en) | Learning in communication systems by updating of parameters in a receiving algorithm | |
US10341056B2 (en) | Decoding apparatus and method in mobile communication system using non-binary low-density parity-check code | |
Zhilin et al. | High-rate codes for high-reliability data transmission | |
Ul Hassan et al. | Protograph design for spatially-coupled codes to attain an arbitrary diversity order | |
İşcan et al. | Polar coded distribution matching | |
US12081239B2 (en) | Multiuser decoding using iterative decoders | |
Liang et al. | Rateless transmission of polar codes with information unequal error protection | |
Nugroho et al. | Reconstruct unrecoverable data in real‐time networks using Bézier curve | |
CN103138878B (zh) | 通过网络进行数据传输的方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
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 |