KR20150105206A - 초 저전력 디코더 및 디코딩 방법 - Google Patents

초 저전력 디코더 및 디코딩 방법 Download PDF

Info

Publication number
KR20150105206A
KR20150105206A KR1020150025696A KR20150025696A KR20150105206A KR 20150105206 A KR20150105206 A KR 20150105206A KR 1020150025696 A KR1020150025696 A KR 1020150025696A KR 20150025696 A KR20150025696 A KR 20150025696A KR 20150105206 A KR20150105206 A KR 20150105206A
Authority
KR
South Korea
Prior art keywords
specific
code words
block
code word
invalid
Prior art date
Application number
KR1020150025696A
Other languages
English (en)
Other versions
KR102370904B1 (ko
Inventor
샤리아르 에마미
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to EP15157930.7A priority Critical patent/EP2916460B1/en
Publication of KR20150105206A publication Critical patent/KR20150105206A/ko
Application granted granted Critical
Publication of KR102370904B1 publication Critical patent/KR102370904B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0041Arrangements at the transmitter end
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/151Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
    • H03M13/1575Direct decoding, e.g. by a direct determination of the error locator polynomial from syndromes and subsequent analysis or by matrix operations involving syndromes, e.g. for codes with a small minimum Hamming distance
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/151Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
    • H03M13/152Bose-Chaudhuri-Hocquenghem [BCH] codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/151Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
    • H03M13/1545Determination of error locations, e.g. Chien search or other methods or arrangements for the determination of the roots of the error locator polynomial
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/3707Adaptive decoding and hybrid decoding, e.g. decoding methods or techniques providing more than one decoding algorithm for one code
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/3707Adaptive decoding and hybrid decoding, e.g. decoding methods or techniques providing more than one decoding algorithm for one code
    • H03M13/3715Adaptation to the number of estimated errors or to the channel state
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B1/00Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission
    • H04B1/69Spread spectrum techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0045Arrangements at the receiver end
    • H04L1/0052Realisations of complexity reduction techniques, e.g. pipelining or use of look-up tables
    • H04L1/0053Realisations of complexity reduction techniques, e.g. pipelining or use of look-up tables specially adapted for power saving
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0057Block codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/151Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
    • H03M13/155Shortening or extension of codes

Landscapes

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

Abstract

수신기 장치에 의해서, 다중 코드워드 블록을 포함하는 정보의 확신 스펙트럼 코드 스트림을 디코딩하는 방법에 관한 것으로, 디코딩은 코드워드의 특정 블록에서 유효 코드워드의 개수를 결정하고, 코드워드의 특정 블록에서의 무효 코드워드의 제1 특정 개수에 기초하여, 코드워드의 특정 블록은 디맵핑되고, 코드워드의 특정 블록의 페리티(parity) 코드워드는 폐기된다. 코드워드의 특정 블록에서의 무효 코드의 제2 특정 개수에 기초하여, 단일 성분 신드롬에 대한 갱신 절차와 함께 적어도 하나의 코딩 열거를 이용하여 상기 신드롬 성분은 계산되고, 신드롬 성분에 따라서 코딩 열거는 계속되고, 코드워드의 특정 블록은 디맵핑되고, 코드워드의 특정 블록의 페리티 코드워드는 폐기된다.

Description

초 저전력 디코더 및 디코딩 방법{Ultra low power decoder and decoding method}
이하의 일실시예들은 전반적으로 효율적인 정보 디코딩에 관한 것으로, 특히, 가변적인 확장 인자(VSF; variable spreading factor) 3진의 온/오프 키잉(TOOK; ternary on-off keying)을 위한 초 저전력(ULP; ultra-low power) 순방향 오류 정정(FEC; forward error correction) 디코딩을 제공한다.
무선 센서망(WSN; Wireless sensor networks) 표준은 십년 이상 존재해 왔다. 표준 기반 설계(standard based designs)는 일반적으로 바람직한 배터리 수명(desired battery lifetime)과 큰 물리적 폼 팩터(large physical form factors)보다 짧게 걸린다. 종래의 BCH 디코딩은 복잡하고, 효율적으로 WSN 애플리케이션에서 사용될 수 없다.
일 실시예에 따른 초저전력 디코딩 방법은, 수신 장치에 의해, 복수의 코드워드 블록(codeword block)을 포함하는 확산 스펙트럼 부호화된 스트림 정보(spread spectrum coded stream of information)를 디코딩하는 단계를 포함하고, 상기 디코딩 하는 단계는, 코드워드의 특정 블록(a particular block of codewords)에서의 무효 코드워드의 개수(a number of invalid codewords)를 결정하는 단계; 상기 코드워드의 상기 특정 블록에서의 무효 코드워드의 제1 특정 개수(first particular number of invalid codewords)에 기초하여, 상기 코드워드의 상기 특정 블록을 디맵핑(demapping)하고, 상기 코드워드의 상기 특정 블록의 페리티(parity) 코드워드를 폐기하는 단계; 및 상기 코드워드의 상기 특정 블록에서의 무효 코드워드의 제2 특정 개수(a second particular number of invalid codewords)에 기초하여, 단일 성분 신드롬(single component syndrome)에 대한 갱신 절차와 함께 적어도 하나의 코딩 열거(coding enumeration)를 이용하여 상기 신드롬 성분을 계산하고, 상기 신드롬 성분에 따라서, 코딩 열거를 계속하고, 상기 코드워드의 상기 특정 블록을 디맵핑하고, 상기 코드워드의 상기 특정 블록의 상기 페리티 코드워드를 폐기(discarding)하는 단계를 포함한다.
이때, 상기 디코딩 하는 단계는, 상기 코드워드의 상기 특정 블록에서의 무효 코드워드의 제3 특정 개수(a third particular number of invalid codewords)에 기초하여,, BCH 디코더를 이용해서 오류 정정하고, 상기 코드워드의 상기 특정 블록을 디맵핑하고, 상기 코드워드의 상기 특정 블록의 상기 페리티 코드워드를 폐기하는 단계를 더 포함할 수 있다.
이때, 상기 디맵핑은, 상기 코드워드의 상기 특정 블록을 비트 스트림으로 디맵핑할 수 있다.
이때, 상기 단일 성분 신드롬에 대한 갱신하는 단계는, 단일 동작을 이용하여 필요한 만큼 연속적으로 상기 단일 성분 신드롬을 갱신하는 단계를 포함할 수 있다.
이때, 상기 단일 성분 신드롬에 대한 갱신하는 단계는, 다중 입력 조합(multiple input combination)으로 동일한 단일 신드롬 식(same single syndrome equation)을 연속적으로 갱신하는 단계를 포함할 수 있다.
이때, 상기 단일 성분 신드롬은, t가 코딩 오류 정정 능력(coding error correction capability)일 때, 2/2t 성분을 포함하는 벡터를 포함할 수 있다.
이때, 초저전력 디코딩 방법은, 상기 확산 스펙트럼 부호화된 스트림 정보를 송신 장치로부터 수신하는 단계를 더 포함할 수 있다.
일 실시예에 따른 초저전력 디코딩 방법은, 코드워드의 특정 블록에서의 무효 코드워드의 개수를 결정하는 단계; 상기 코드워드의 상기 특정 블록에서의 무효 코드워드의 개수가 제1 특정 개수보다 큰 지 판단하는 단계; 상기 코드워드의 상기 특정 블록에서의 무효 코드워드의 개수가 제1 특정 개수보다 큰 경우, 상기 코드워드의 상기 특정 블록의 페리티 코드워드를 폐기하고, 상기 코드워드의 상기 특정 블록을 디맵핑하는 단계; 상기 코드워드의 상기 특정 블록에서의 무효 코드워드의 개수가 제1 특정 개수보다 작거나 같은 경우, 상기 코드워드의 상기 특정 블록에서의 무효 코드워드의 개수가 제3 특정 개수와 같은지 판단하는 단계; 상기 코드워드의 상기 특정 블록에서의 무효 코드워드의 개수가 제3 특정 개수와 같은 경우, BCH 디코더를 이용해서 오류를 정정하는 단계; 상기 코드워드의 상기 특정 블록에서의 무효 코드워드의 개수가 제3 특정 개수와 같지 않은 경우, 상기 코드워드의 상기 특정 블록에서의 무효 코드워드의 개수가 제2 특정 개수와 같은지 판단하는 단계; 상기 코드워드의 상기 특정 블록에서의 무효 코드워드의 개수가 제2 특정 개수와 같은 경우, 대상 비트의 값을 제1 값으로 가정하고 상기 대상 비트에 대한 신드롬 성분을 계산하는 단계; 상기 계산된 신드롬 성분이 모두 0인 경우, 상기 대상 비트의 값을 상기 제1 값으로 설정하고, 상기 코드워드의 상기 특정 블록의 페리티 코드워드를 폐기하고, 상기 코드워드의 상기 특정 블록을 디맵핑하는 단계; 상기 코드워드의 상기 특정 블록에서의 무효 코드워드의 개수가 제2 특정 개수와 같지 않은 경우, 상기 코드워드의 상기 특정 블록에서의 무효 코드워드의 개수가 상기 제2 특정 개수 보다 크고 상기 제1 특정 개수 보다 작거나 같은지 판단하는 단계; 상기 코드워드의 상기 특정 블록에서의 무효 코드워드의 개수가 상기 제2 특정 개수 보다 크고 상기 제1 특정 개수 보다 작거나 같은 경우, 둘 이상의 대상 비트의 값을 상기 제1 값 또는 제2 값으로 가정하고 상기 대상 비트에 대한 신드롬 성분을 계산하는 단계; 및 상기 계산된 신드롬 성분이 모두 0인 경우, 상기 둘 이상의 대상 비트의 값을 가정한 값으로 설정하고, 상기 코드워드의 상기 특정 블록의 페리티 코드워드를 폐기하고, 상기 코드워드의 상기 특정 블록을 디맵핑하는 단계를 포함한다.
이때, 상기 제1 특정 개수는 2개이고, 상기 제2 특정 개수는 1개이고, 상기 제3 특정개수는 0개일 수 있다.
일 실시예에 따른 무선 노드는, 디코더를 포함하는 수신기를 포함하고, 상기 디코더는, 코드워드의 특정 블록에서 무효 코드워드의 개수를 결정하고, 상기 코드워드의 상기 특정 블록에서의 무효 코드워드의 제1 특정 개수에 대해서, 상기 코드워드의 상기 특정 블록을 디맵핑하고, 상기 코드워드의 상기 특정 블록의 페리티 코드워드를 폐기하고, 상기 코드워드의 상기 특정 블록에서 무효 코드워드의 제2 특정 개수에 대해서, 단일 성분 신드롬에 대한 갱신 절차와 함께 적어도 하나의 코딩 열거를 이용하여 상기 신드롬 성분을 계산하고, 상기 신드롬 성분에 따라서 코딩 열거를 계속하고, 상기 코드워드의 상기 특정 블록를 디맵핑하고, 상기 코드워드의 상기 특정 블록의 상기 페리티 코드워드를 폐기한다.
이때, 상기 수신기는, 복수의 코드워드 블록을 포함하는 확산 스펙트럼 부호화된 스트림 정보를 수신할 수 있다.
이때, 상기 디코더는, 상기 코드워드의 상기 특정 블록에서 무효 코드워드의 제3 특정 개수에 대해서, BCH 디코더를 이용해서 오류 정정하고, 상기 코드워드의 상기 특정 블록을 디맵핑하고, 상기 코드워드의 상기 특정 블록의 상기 페리티 코드워드를 폐기할 수 있다.
이때, 상기 디코더는, 단일 동작을 이용하여 필요한 만큼 연속적으로 상기 단일 성분 신드롬을 갱신할 수 있다.
이때, 상기 디코더는, 다중 입력 조합(multiple input combination)으로 동일한 단일 신드롬 식(same single syndrome equation)을 연속적으로 갱신할 수 있다.
이때, 상기 단일 성분 신드롬은, t가 코딩 오류 정정 능력일 때, 2/2t 성분을 포함하는 벡터를 포함할 수 있다.
이때, 상기 무선 노드는, 무선 센서 네트워크에 속할 수 있다.
일 실시예에 따른 수신기는, 디코더 프로세서를 포함하고, 상기 디코더 프로세서는, 코드워드의 특정 블록에서 무효 코드워드의 개수를 결정하고, 상기 코드워드의 특정 블록에서 무효 코드워드의 제1 특정 개수에 대해서, 상기 코드워드의 상기 특정 블록을 디맵핑하고, 상기 코드워드의 상기 특정 블록의 페리티 코드워드를 폐기하고, 상기 코드워드의 상기 특정 블록에서 무효 코드워드의 제2 특정 개수에 대해서 단일 성분 신드롬에 대한 갱신 절차와 함께 적어도 하나의 코딩 열거를 이용하여 상기 신드롬 성분을 계산하고, 상기 신드롬 성분에 따라서 코딩 열거를 계속하고, 상기 코드워드의 상기 특정 블록를 디맵핑하고, 상기 코드워드의 상기 특정 블록의 상기 페리티 코드워드를 폐기한다.
이때, 상기 수신기는, 복수의 코드워드 블록을 포함하는 확산 스펙트럼 부호화된 스트림 정보를 수신할 수 있다.
이때, 상기 디코더 프로세서는, 상기 코드워드의 상기 특정 블록에서 무효 코드워드의 제3 특정 개수를 위해서, BCH 디코더를 이용해서 오류 정정하고, 상기 코드워드의 상기 특정 블록을 디맵핑하고, 상기 코드워드의 상기 특정 블록의 상기 페리티 코드워드를 폐기할 수 있다.
이때, 상기 디코더 프로세서는, 단일 동작을 이용하여 필요한 만큼 연속적으로 상기 단일 성분 신드롬을 갱신할 수 있다.
이때, 상기 디코더 프로세서는, 다중 입력 조합(multiple input combination)으로 동일한 단일 신드롬 식(same single syndrome equation)을 연속적으로 갱신할 수 있다.
이때, 상기 단일 성분 신드롬은, t가 코딩 오류 정정 능력일 때, 2/2t 성분을 포함하는 벡터를 포함할 수 있다.
이때, 상기 수신기는, 무선 센서 네트워크에 속할 수 있다.
도 1은 무선 센서 네트워크의 배치 예를 도시한 도면이다.
도 2는 일실시 예에 따른 무선 센서 네트워크에서 노드에 대한 구성을 도시한 도면이다.
도 3은 송신기의 구성을 도시한 도면이다.
도 4는 일 실시 예에 따라 디코더를 포함하는 수신기의 구성을 도시한 도면이다.
도 5는 일 실시 예에 따른 디코더의 처리 과정을 도시한 흐름도이다.
도 6은 일 실시 예에 따라 정보에 대한 디코딩 절차를 도시한 흐름도이다.
도 7은 일 실시 예에 따라 컴퓨팅 시스템을 포함하는 정보 처리 시스템의 구성을 도시한 도면이다.
다음의 설명은 하나 이상의 실시 예들의 일반적인 원리들을 설명하기 위하여 이루어진 것으로, 본 명세서에 청구된 발명의 개념을 제한하는 것을 의미하지는 않는다.
또한, 본원에 기재된 특정의 특징들은 다양한 가능한 조합 및 순열의 각각에 기재된 다른 특징과 조합하여 사용될 수 있다.
특별히 다르게 정의되지 않는 한, 모든 기타 용어들은 사전, 논문들(treatises) 등에 정의된 의미 또는 당업자에 의해 이해되는 의미뿐만 아니라 명세서에서 함축된 의미를 포함하는 가능한 가장 넓은 해석이 부여되어야 한다.
실시예들은 가변적인 확장 인자(VSF; variable spreading factor) 3진의 온/오프 키잉(TOOK; ternary on-off keying)을 위한 초 저전력(ULP; ultra-low power) 순방향 오류 정정(FEC; forward error correction) 디코딩을 제공하기 위해서 에너지 절약을 제공하는 것에 관한 것이다. 일 실시예에서, 예를 들어 저전력 장치(예를 들어, 무선 센서 네트워크(WSN; wireless sensor network) 노드)를 위한 수신기의 디코더로 구현 될 수 있다. 일 실시예에서, 방법은 수신기 장치에 의해서, 다중 코드워드 블록을 포함하는 정보의 확신 스펙트럼 코드 스트림을 디코딩한다. 디코딩은 코드워드의 특정 블록에서의 무효 코드워드의 개수를 결정하는 단계를 포함한다. 코드워드의 특정 블록에서의 무효 코드의 제1 특정 개수에 기초하여, 코드워드의 특정 블록은 디맵핑되고, 코드워드의 특정 블록의 페리티(parity) 코드워드는 폐기된다. 코드워드의 특정 블록에서 무효 코드의 제2 특정 개수에 기반하여, 신드롬 성분의 서브셋을 위한 갱신 절차와 함께 적어도 하나의 코딩 열거를 이용하여 상기 신드롬 성분은 계산되고, 모든 신드롬 성분이 '0'이면 코딩 열거를 통해 오류 비트가 발견된 것으로 확인하고,, 그렇지 않으면, 코딩 열거를 계속하고, 코드워드의 특정 블록은 디맵핑되고, 코드워드의 특정 블록의 페리티 코드워드는 폐기된다.
배터리의 전력에 의존하는 ULP 장치에서 에너지 사용은 당연한 일로 여겨질 수 없다. 수신기 복잡함의 대부분은 디코더(예를 들어, FEC 디코더)에 의한다. 일 실시 예에서, 오류 정정 코드를 위한 디코더는 VSF-TOOK를 위해 구현된다. 일 예로, 오류 정정 코드는 정형 필드(finite fields)를 사용하여 구성되는 주기적 오류 정정 코드의 종류인 BCH 코드를 포함한다. BCH 코드는, 프랑스의 수학자 Alexis Hocquenghem 에 의한 1959년에 발명되고, 독립적으로, Raj Bose와 D. K. Ray-Chaudhuri에 의한 1960년에 발명되었다. 약어 BCH는 발명자의 이름의 이니셜을 포함한다. 일 실시예에서, 디코더는 풀 플레쥐(full fledge) BCH 디코더에 비해 간단하다. 감소된 디코더 처리에 기초하여, 요구되는 소비 전력이 감소된다.
종래의 BCH 디코더는 2t 성분으로 구성된 신드롬 벡터를 계산한다. 여기서, t는 코드의 에러 정정 능력(error correction capability of the code)이다.
그리고, 종래의 BCH 디코더는 오류 위치 다항식을 결정한다. 오류 위치 다항식의 계수(error locator polynomial coefficients)는 알고리즘을 사용하여 결정할 수 있다. 이때, 알고리즘은 예를 들어, Berlekamp-Massey 알고리즘 또는 Peterson's 알고리즘을 이용하여 결정할 수 있다. 여기서, Berlekamp-Massey 알고리즘은 주어진 이진 출력 시퀀스에 대해 짧은 선형 피드백 시프트 레지스터(LFSR)를 발견하는 방법을 이용하고, Peterson's 알고리즘은 두 프로세스를 허용하는 상호 배제 동시 프로그래밍 알고리즘으로, 통신을 위한 공유 메모리를 사용하여, 충돌없이 단일 사용 자원을 공유하는 특징을 가진다.
그리고, 종래의 BCH 디코더는 오류 위치 다항식을 해결한다. 이때, 오류 위치 다항식의 루트는 치엔(Chien) 검색을 통해 발견된다. 정형 필드(finite field) 상에 정의된 다항식의 루트를 결정하기 위한 빠른 알고리즘은, 일반적으로, Reed-Solomon 코드 및 BCH 코드를 디코딩할 때 발생하는 오류 위치 다항식의 루트를 찾기 위해 사용된다
채널 오류의 존재는 신드롬 계산, 치엔 검색 절차, Berlekamp-Massey 절차에서 소비된 전력의 34%, 61% 및 4%를 소비하는 것으로 밝혀졌다. 일 실시 예는, Berlekamp-Massey 절차와 Chien 검색 절차를 배제하고, 신드롬 벡터(25%)의 첫번째 성분(first component) 만이 계산될 필요가 있다. 일 실시 예에서, 풀 플레쥐 디코딩(full fledge decoding) 전력의 대략 10%가 요구되고, 무선 장치에 의해서 복호에 사용되는 전력을 줄인다.
도 1은 무선 센서 네트워크(100)의 배치 예를 도시한 도면이다. 일 예에서 WSN(100)은 여러 노드들(110)과 기지국(120)을 포함한다. 기지국(120)은 모바일 장치(예를 들어, 스마트폰, 카메라, 컨텐츠 플레이어, 비디오 레코더, 태블렛, 웨어러블 장치, 등), 개인용 컴퓨터, 서버 장치, 클라우드 기반 서버, 스마트 장치(예를 들어, 스마트 티비, 등) 등을 포함할 수 있다.
일 예에서, 노드들(110)은 상황(예를 들어, 온도, 소리, 압력 등의 물리적, 환격 조건)을 모니터링 하기 위해서, 공간적으로 배포된 자율적 센서를 제공하고, 그들의 데이터를 협력해서 네트워크를 통해 기지국으로 전달한다. 또 다른 예에서, 노드들(110)은 양방향이고, 센서 동작을 제어할 수 있다. 일 예에서, 노드들(110)은 몇 개, 수 백개 또는 수 천개로 구성될 수 있고, 각 노드는 하나 이상의 센서들(예를 들어, 도 2의 센서(240))과 연결될 수 있다. WSN(100)를 위한 사용 사례의 예는 다음을 포함한다. 산불 감지, 홍수 감지, 공기와 수질 오염, 바이오 복잡성 맵핑, 정밀 농업, 생리학적 데이터의 원격감시, 환자들과 의사들의 추적과 모니터링, 등, 병원 내에서, 약물 투약, 스마트 환경, 가정 및 사무실 자동화, 차량 애플리케이션(예를 들어, 원격 모니터링, 원격 검침, 차량 추적, 등), 재고 관리, 음향 모니터링, 움직임 검출, 등
노드(110)에 관한 크기와 가격 제약은 에너지, 메모리, 연산 속도 및 통신 대역폭과 같은 대응하는 자원들의 제약으로 귀착한다. WSN(100)의 토플로지(topology)는 스타 네트워크(star network)부터 멀티 홉 무선 메쉬 네트워크(multi-hop wireless mesh network)까지 다양할 수 있다.
도 2는 일실시 예에 따라 노드(110)에 대한 구성을 도시한 도면이다.
일 예에서, 노드(110)는 위치 시스템(210), 모빌라이저(mobilizer) 인터페이스(220), 통신 시스템(230), 센서 인터페이스(240), 전원부(250), 운영 체제(operating system)(260), 적어도 하나의 어플리케이션(270), 송수신 시스템(280)을 포함한다. 송수신 시스템(280)은 도 4의 수신기(400)를 포함하고, 송신기를 포함할 수도 있다.
위치 시스템(210)는 노드(110)의 위치를 검색하고, 드라이버(driver)가 노드(110)에 있는 경우, 위치를 찾는 수단 대신에 드라이버에게 노드(110)의 위치를 제공하는 역할을 수행한다(예를 들어, GPS(global positioning system) 센서/시스템, 거리 처리 등). 모빌라이저 인터페이스는 모빌라이저 드라이버를 위한 역할을 수행하고, 모빌라이저를 제어하는 역할을 수행한다(예를 들어, 노드(110)를 이동하기 위해).
통신 시스템(230)은 경로 설정, 채널 할당, 새로운 노드 검출, 경로 테이블 유지, 데이터의 암호화/복호화, 필요에 따른 다른 보안 기능 제공, 좋은 서비스 품질(QOS) 제공, 에러 검출 및 정정, 데이터 버퍼링, 데이터 전송 등의 역할을 수행한다. 일 예로, 통신 시스템(230) 회로는 통신 네트워크(예를 들어, 도 1의 WSN(100))에 연결되고, 노드(110)에서 통신 네트워크(예를 들어, 기지국(120)) 내에 다른 장치들까지 데이타를 전송하기 위해서 적당한 통신 회로 동작을 포함할 수 있다. 통신 회로는 임의의 적절한 통신 프로토콜을 이용하여 통신 네트워크와 상호 동작 할 수 있다. 예를 들어, Wi-Fi(IEEE 802.11 프로토콜), 블루투스(BLUETOOTH), 지그비(zigbee) 등이 있다.
운영 체제(OS)(260)는 모든 다른 상위 레벨 노드(110)가 상주하는 인터페이스와 모듈들에 의해 사용되는 일반적인 마이크로 하드웨어를 포함 할 수 있다. 운영 체제 (260)의 목적은, 마이크로 프로세서 또는 프로세서의 기계 레벨 기능으로부터 보다 고수준 인터페이스와 모듈을 보호하는 것이다. 센서 인터페이스 (240)는 노드 (110)에 존재하는 센서를 드라이버에 제공하고, 센서에서 발생하는 데이터를 수집하고, 적어도 하나의 센서의 스위치를 온/오프하고, 센서를 구성하고, 센서와 관련된 임의의 다른 기능을 제공하는 역할을 수행한다. 센서 인터페이스(240)에 연결된 센서는 노드(110)에 포함되거나 또는 노드(110)의 외부에 위치할 수 있다. 일 실시예에서, 노드(100)는 적어도 하나의 센서를 포함하거나 또는 적어도 하나의 센서와 연결될 수 있다. 센서는 가속도계(accelerometer), 자이로스코프(gyroscope), 마이크(microphone), 온도계(temperature), 빛(light), 기압계(barometer), 자력계(magnetometer), 나침반(compass), 무선 주파수(RF) 식별 센서 등을 포함할 수 있다.
센서는 온도 또는 압력 등의 물리 상태의 변화를 측정하는 하드웨어 장치이다. 센서는 모니터된 파라미터의 물리적 데이터를 측정할 수 있다. 센서에 의해 생성된 연속적인 아날로그 신호는 아날로그 - 디지털 변환기(analog-to-digital converter)에 의해 디지털화되며, 추가 처리를 위해 제어기로 전송된다. 센서는 패시브 센서(passive sensor), 전방위 센서(omni-directional sensor), 네로우 빔 센서(narrow-beam sensor), 액티브 센서(active sensor)와 같은 카테고리로 그룹화 될 수 있다. 패시브 센서는 활발한 탐색에 의해서 환경을 실제로 조정하는 일 없이 데이터를 감지한다. 패시브 센서는 자가 동력이고, 패시브 센서의 에너지는 단지 아날로그 신호를 증폭하기 위해 필요하다. 액티브 센서는, 활발하게 환경을 조사하고, 전원으로부터 계속해서 에너지를 요구한다. 네로우 빔 센서는 카메라와 비슷한 측정 방향을 가진다. 전방위 센서는 측정에 관련된 방향의 어떤 개념도 없다. 각 노드(110)는 확실하고 정확하게 센싱한 데이터를 보고할 수 있는 범위의 특정 영역을 가진다. 센서의 전력 소비에는 신호 샘플링, 물리 신호를 전기적 신호로 변환, 신호 조정, 아날로그 디지털 변환 등이 있다.
일 예에서, 노드(110)는 메모리를 포함할 수 있고, 메모리의 예로 캐쉬(cache), 플래쉬 메모리(Flash memory), 롬(ROM), 램(RAM), 디램(DRAM) 등이 가능하다. 일 실시 예에서, 메모리는 예를 들어, 운영 시스템과 같은 장치 애플리케이션, 사용자 인터페이스 기능 및 프로세서 기능을 위한 펌웨어를 저장하는데 전용적으로 사용될 수 있다. 메모리는 노드(110)와 통신 동작을 수행하는 다른 장치들에 관련된 정보를 저장하기 위해 사용될 수 있다. 예를 들어, 메모리는 통신 활동에 관련한 연락처를 저장하는 것에 사용되거나, 또는 사용자에 의해 선택된 다른 매체 유형과 미디어 항목에 대한 정보를 저장하는데 사용될 수 있다.
어플리케이션 인터페이스(270)은 데이터 통합, 노드 처리 및 다른 어플리케이션의 특정 기능을 제공하는 역할을 수행한다. 전원부(250)는 노드(110)에 대한 전력원을 포함한다. 전력원은 배터리 전원, 커패시터, 대전 유닛(charging unit)(예를 들어, 태양광, 통전 솔루션(energizing solutions) 등)을 포함할 수 있다. 노드(110)는 센싱, 통신, 데이터 처리를 위해 전력을 소모한다. 충전식 및 비충전식 배터리는 모두 노드(110)에 대한 주요 전원이다. 배터리는 니켈 카드뮴(NiCd; nickel-cadmium), 니켈 아연(NiZn; nickel-zinc), 니켈 수소(NiMH; nickel-metal hydride) 및 리튬 이온(lithium-ion) 등의 전극에 사용되는 전기 화학 물질에 따라 분류된다. 일부 센서는 태양광 소스(sources), 온도 차이, 진동으로부터 에너지를 회복(renew)할 수 있다. 전원부(250)는 동적 전력 관리(DPM; Dynamic Power Management) 및 동적 전압 스케일링(DVS; Dynamic Voltage Scaling)과 같은 전력 절약 정책을 포함 할 수 있다. DPM은 현재 사용 또는 활성화되지 않은 노드(110)의 일부를 종료하여 전원을 절약한다. DVS 방식은 비 결정적 작업 부하에 따라 노드(110) 내에서 전력 레벨을 변화한다.
송수신 시스템(280)은 수신된 정보를 처리하고, 정보를 전송하는데 사용된다. 송수신 시스템(280)은 코딩된 정보를 수신하고, 수신된 정보를 디코딩하는 도 4의 수신기(400)를 포함하고, 센서로부터 회득한 데이터를 송신한다.
도 3은 송신기의 구성을 도시한 도면이다.
도 3을 참조하면, 송신기(300)는 전문 처리 하드웨어와 인터페이스를 포함한다, 그리고, 송신기(300)는 단축 BCH 코드 처리부(shortened BCH code processing)(310), 비트-레벨 인터리빙부(bit-level interleaving)(320), 비트-심볼 변환부(bits-to-symbol conversion)(330), 심볼-칩 맵퍼(symbol-to-chip mapper)(340), 랜덤 시퀀스 반전부(random sequence inversion)(350) 및 펄스 형상부(pulse shaping)(360)를 포함한다. 프리앰블과 이더넷 프레임(Ethernet frame)에 대한 시작 프레임 구분(SFD; start frame delimiter)은 랜덤 시퀀스 반전부(350)와 펄스 형상부(360) 사이에 추가된다.
BCH 부호화를 설명하고 있지만, 하나 이상의 실시예는 도 4의 디코더(460)에 의해 최적화된 디코딩을 사용하기 위해서 단축 BCH(310) 코딩 대신에 다른 코딩을 포함 할 수 있다. BCH 코드는 정형 필드(finite field)를 사용하여 구성되는 주기적 오류 정정 코드(cyclic error-correcting codes)의 클래스를 형성한다. BCH 코드의 기능 중 하나는 코드 설계시, 코드에 의해 정정 가능한 심볼 에러의 수를 정확하게 제어한다는 것이다. 다수의 비트 오류를 정정 할 수 있는 이진 BCH 코드들을 설계하는 것이 가능하다. BCH 코드는 신드롬 디코딩(syndrome decoding)을 통해 복호화 될 수 있다.
펄스 위상 변조(PPM; Pulse-position modulation)는 M 메세지 비트가 2M 가능한 타임 시프트(time-shifts) 중의 하나로 단일 펄스(single pulse)를 보내는 것에 의해서 인코드(encode) 되는 신호 변조(signal modulation)의 형태입니다. 이것은 매 T초마다 반복되고, 전송 비트율은 M/T BPS(bits per second)이다.
일 실시예는 비트 스트림이 초기에 FEC BCH code로 보호되는 곳에 물리계층(PHY), VSF-TOOK를 사용한다. 단일 비트 또는 복수의 비트들은 확산 코드워드 또는 시퀀스로 맵핑된다. 가우시안 펄스 형성을 가진 온오프 키잉(OOK; On-off keying) 칩 변조는 송신기(300)에 의해서 사용된다.
일 실시예에서, 비트 스트림은 송신기(300)에 의해서 (63,51) BCH code를 사용해서 부호화된다. 비트 '0'과 '1'은 아래 <표 1>에서와 같이 각각 '10'과 '01' 코드워드로 매핑된다.
Input Output
0 10
1 01
OOK 변조는 송신기(300)로부터 수신기(도 4의 수신기(400))까지 정보를 송신하기 위해서 사용된다. 송신기가 부호화된 정보를 송신한 후에, 비트는 복구되고, 도 4의 수신기(400)의 디코더(460)로 전달된다.
도 4는 일 실싱 예에 따라 디코더(decoder)(460)를 포함하는 수신기(400)의 구성을 도시한 도면이다. 순방향 에러 정정은 매우 유용하지만, 일부 구현이 복잡하다. 일 실시예에서, 디코더 460은 VSF-TOOK을 위해서 코드(예를 들면, BCH 코드 또는 다른 코드)를 복호화한다. PHY 수신기는 디코더(460)에 더해서 에너지 검출부(energy detection)(410), 시간 동기화부(timing synchronization)(420), 프레임 미세 동기화부(frame and fine synchronization)(430), 복조부(demodulator)(440) 및 디인터리버(de-interleaver)(450)에 대한 인터페이스와 처리를 더 포함할 수 있다.
OOK은 반송파의 유무로서 디지털 데이터를 나타내는 진폭편이키잉(ASK; amplitude-shift keying) 변조의 단순한 형태를 의미한다. 특정 기간 동안의 캐리어의 존재는 바이너리 1을 나타내고, 동일 기간동안 캐리어의 부재는 바이너리 0을 나타낸다. 다른 방식은 추가 정보를 전달하기 위해서 이 기간을 변화 시킬수 있다. 일 예에서, 가능한 수신된 코드워드는 '10', '01', '11' 및 '00' 이다. 일 예에서, 수신된 코드워드 '10'과 '01'은 유효한(valid) 것으로 간주된다. 수신된 코드워드 '11'과 '00'은 무효한(invalid) 것으로 간주하고, 채널 에러의 발생을 알린다. 일 예에서, BCH 부호화 비트, 부호화된 확산 스펙트럼 부호화 스트림, 수신된 확산 스펙트럼 부호화 스트림(w/o error), 수신된 확산 스펙트럼 부호화 스트림(w/ error)는 아래와 같이 제공된다:
BCH 부호화 비트(BCH coded bits)
0 1 1 0
부호화된 확산 스펙트럼 부호화 스트림(Spread spectrum coded stream)
10 01 01 10
수신된 확산 스펙트럼 부호화 스트림(오류가 없는 경우)(Received spread spectrum coded stream (w/o error))
10 01 01 10
수신된 확산 스펙트럼 부호화 스트림(오류가 존재하는 경우)(Received spread spectrum coded stream (with error))
10 11 01 10
종래 BCH 디코더에서, 수신된 칩 스트림은 비트 스트림으로 디 매핑되고, 비트 스트림은 종래 BCH 디코더에 의해 세 단계로 디코딩된다. 첫째로, t가 코드의 에러 정정 능력이면, 2t 성분의 신드롬 벡터가 계산된다. 그리고 오류 위치 다항식이 결정된다. 마지막으로 오류 위치 다항식이 해결된다. Berlekamp-Massey 또는 Peterson's 알고리즘은 오류 위치 다항식의 계수를 결정하는 데 사용될 수 있다. Berlekamp-Massey이 덜 복잡하기 때문에 통상적으로 더 인기가 있다. 오류 위치 다항식의 루트(root)는 종래의 치엔(Chien) 검색으로 알려진 검색 과정을 통해 발견된다. 신드롬 벡터 확인으로 구성된 본격적인 종래의 디코딩 절차, 오류 위치 다항식 계수 발견과 오류 위치 다항식 해결하는 것은 매우 복잡하다. 통상적으로, 신드롬 계산과 치엔 검색 과정은 Berlekamp-Massey 절차와 비교하여 더 많은 파워를 소비한다.
적어도 하나의 실시예에 따라, 종래의 디코디의 복잡함을 낮추는 방법을 제공한다. 일 실시예에서, 오류 위치는 무효 코드워드의 존재에 의해서 결정(determined)될 수 있고, 종래의 BCH 디코더에 비교하여 계산 복잡도를 줄인다. 일 예에서, 디코더(460)은 코드워드(예를 들어, BCH 코드워드)의 조직적 부분의 범위 내에서, 무효 코드워드의 개수를 카운트 한다. 만약, 무효 코드워드가 없으면, 종래의 디코더(예를들어, 종래의 BCH 디코더)는 발견되지 않은 오류를 정정하기 위해 이용된다. 그러나, 무효 코드워드의 개수가 제1 특정 개수보다 큰 경우(예를 들어 2, (63, 51, 2) 코드의 오류 정정 능력을 초과한 경우), 디코더(460)는 칩 스트림을 처리하고, 칩 스트림을 비트 스트림으로 디맵핑하고, 페리티 부분을 폐기한다. 무효 코드워드의 개수가 제2 특정 개수에 있다면(예를 들어, 블록 내에 단일 에러 또는 두개 에러), 치엔 검색을 실행하는 대신에, 일 실시에에서 디코더(460) 처리가 수행되고, 신드롬 성분의 서브셋을 계산하는 것이 요구된다. 다시 말하면, 복잡함은 종래의 신드롬 벡터 계산의 2/2t이다.
일 실시예에 있어서, 단일 성분 신드롬 계산이 대략 (63, 51, 2) BCH 코드를 사용할 때, 오류를 정정하기 충분한 것으로 설정된다. 코드 블록에 비트 오류가 없는 경우, 신드롬 벡터의 모든 2t 성분이 제로인 것으로 알려져 있다. 따라서, 단일 오류 또는 이중 오류가 존재하면 S1=S3=0이 될 수 없다. 여기서 S는 신드롬 벡터이다. 오류가 없는 경우, 단일 오류, 이중 오류 이벤트만이 발생 가능한 이벤트인 경우, S1=S3=0 상태는 에러가 없는 이벤트를 찾아내는데 이용될 수도 있다.
길이가 n의 BCH 코드의 페리티 검사 메트릭스(이때, n은 양의정수이다.), k 비트의 정보 크기(이때, k은 양의정수이다.), 그리고, t(이때, t은 양의정수이다.)의 오류 정정 능력은 (n, k, t)로 표현되는 오류이다. 그리고 다음 <수학식 1>과 같이 주어진다.
[수학식 1]
Figure pat00001
α는 Galois field(GF)(2 m )의 초기의 요소이고, m = log 2 (1+n)(이때, t은 양의정수이다.)
모든 코드워드 C와 관련된 코드워크 다항식은 다음과 <수학식 2>와 같다.
[수학식 2]
Figure pat00002
(이때, x는 양의정수이다.) 각각의 모든 코드워드는 다음 <수학식 3>과 같이 정의 된다.
[수학식 3]
Figure pat00003
(이때, H는 메트릭스이다.) H와 C에 대해서 치환하면, 다음 <수학식 4>과 같다.
[수학식 4]
Figure pat00004
수신된 코드 벡터, 2t 신드롬의 구성과 관련된 신드롬 벡터는 다음 <수학식 5>과 같이 정의된다.
[수학식 5]
Figure pat00005
r은 수신된 다항식이다. 위치 u 1 , u 2 , … u v 에 v 오류가 존재하면, 신드롬은 다음 <수학식 6>과 같다.
[수학식 6]
Figure pat00006
예를 들면, 신드롬 벡터의 첫번째 성분은 단일(t=1)과 더블 오류(t=2) 각각
Figure pat00007
Figure pat00008
Figure pat00009
이다.
그레이 코딩(Gray coding) 열거를 전제로, 연속한 신드롬은 다음의 <수학식 7>과 관련 있다.
[수학식 7]
Figure pat00010
여기서, 그레이 코드는 두 개의 연속 값이 하나의 비트에서만 다른 이진 숫자 체계이다. p는 2개의 연속 코드가 다른 오류 위치를 나타낸다.
일 실시예로, 디코더(460)는 매회 새로운 신드롬을 계산하는 대신에, 신드롬 성분을 갱신(update) 하기에 충분한 하나의 처리 동작을 수행한다. 신드롬 갱신 절차에 대한 예는 <표 2>에서 제공된다.
(u1,u2) S1
(0,0) Compute S1 based on the definition
(1,0) S1 ,2 = S1 + αu1
(1,1) S1 ,3 = S1 ,2 + αu2
(0,1) S1 ,4 = S1 ,3 + αu1
일 실시예에서, 다수의 오류 정정 처리와 관련된 복잡함은 다음 <수학식 8>과 같이 단일 신드롬 계산에 거의 동일 할 것이다
[수학식 8]
Figure pat00011
일 실시예에서, 디코더(460)에 대한 처리는 예를 들어, 모든 제로 입력 비트의 조합과 함께 시작한다. 이 비트 조합은 수신된 코드워드에 삽입되고, 수신된 코드워드와 관련된 신드롬 성분 S1과 S3이 결정된다. 만약, S1과 S3이 제로로 판명되면, 삽입된 비트의 조합이 올바른 비트인 것이다. 그렇지 않으면, 연속적인 그레이 코드 조합이 수신된 코드워드에 삽입되고, 수신된 코드와 관련된 S1과 S3가 결정된다. S1과 S3에 대한 갱신 규칙은 처음부터 결정하는 것 대신에 사용된다. 만약, S1과 S3이 제로로 판명되면, 삽입된 비트의 조합이 올바른 비트인 것이다. 그렇지 않으면, 정확한 비트 조합이 발견될 때까지, 디코더(460)의 처리가 계속된다.
도 5는 일실시예에 따른, 디코더(460)의 처리 과정(500)을 도시한 흐름도이다. 일 실시예에서, 처리과정(500)은 코드워드 블록 내에서 무효 코드워드의 개수(Ni)가 카운트 된다(510). 처리과정(500)은 무효 코드워드의 개수(Ni)가 제1 특정 개수(예를 들어, 2)를 초과 하는지 확인한다(520). 만약, 무효 코드워드의 개수(Ni)가 제1 특정 개수보다 크면, 처리과정(500)은 페리티 코드워드를 폐기한다(580). 처리과정(500)은 메시지 코드워드를 디맵핑하고(590), 처리과정은 종료된다.
만약, 무효 코드워드의 개수(Ni)가 제1 특정 개수보다 크지 않으면, 처리과정(500)은 무효 코드워드의 개수(Ni)가 제3 특정 개수(예를들어, 0)와 동일한지 확인한다(521). 521단계의 확인결과 무효 코드워드의 개수(Ni)가 제3 특정 개수와 동일하면, 처리과정(500)은 종래의 디코더(종래의 BCH 디코더)로 코드워드의 블록을 처리하고(522), 580단계와 590단계를 진행한다.
521단계의 확인결과 무효 코드워드의 개수(Ni)가 제3 특정 개수와 동일하지 않으면, 처리과정(500)은 523단계로 진행한다.
523단계에서 처리과정(500)은 무효 코드워드의 개수(Ni)가 제2 특정 개수(예를 들어, 1)와 동일한지 확인한다. 만약, 523단계의 확인결과 무효 코드워드의 개수(Ni)가 제2 특정 개수와 동일하면, 처리과정(500)은 bm = 0을 기반으로 신드롬 S1과 S3을 계산한다(524)(여기서, b는 이진수이고, m은 양의 정수이다.). 그리고, 처리과정(500)은 계속해서 S1과 S3이 '0'인지 확인한다(526). 만약, 526단계의 확인결과 S1과 S3이 '0'이면, 처리과정(500)은 bm을 '0'으로 설정하고(531), 계속해서 580단계와 590단계를 수행한다. 여기서, bm은 무효 코드워드에 해당하는 비트를 나타낸다.
만약, 526단계의 확인결과 S1과 S3이 '0'이 아니면, 처리과정(500)은 bm = 1을 기반으로 신드롬 S1과 S3을 갱신한다(527). 그리고, 처리과정(500)은 계속해서 S1과 S3이 '0'인지 확인한다(528). 만약, 528단계의 확인결과 S1과 S3이 '0'이 아니면, 처리과정(500)은 종래의 디코더(종래의 BCH 디코더)로 코드워드의 블록을 처리하고(530), 580단계와 590단계를 진행한다. 만약, 528단계의 확인결과 S1과 S3이 '0'이면, 처리과정(500)은 bm을 '1'으로 설정하고(531), 계속해서 580단계와 590단계를 수행한다.
상술한 524단계에서 531단계는 코드워드의 특정 블록에서의 무효 코드워드의 개수가 '1'개인 경우의 코딩 열거(coding enumeration)에 해당한다.
만약, 523단계의 확인결과 무효 코드워드의 개수(Ni)가 제2 특정 개수와 동일하지 않으면, 처리과정(500)은 bm = 0과 bn = 0을 기반으로 S1과 S3을 계산한다(540)(여기서, n은 양의 정수이다.). 그리고, 처리과정(500)은 계속해서 S1과 S3이 '0'인지 확인한다(545). 만약, 528단계의 확인결과 S1과 S3이 '0'이면, 처리과정(500)은 bm과 bn를 모두 '0'으로 설정한다(546). 그리고, 처리과정(500)은 계속해서 580단계와 590단계를 수행한다. 여기서, bm과 bn은 무효 코드워드에 해당하는 비트를 나타낸다
만약, 545단계의 확인결과 S1과 S3이 '0'이 아니면, 처리과정(500)은 bm = 1 과 bn = 0을 기반으로 신드롬 S1과 S3을 갱신한다(550). 그리고, 처리과정(500)은 계속해서 S1과 S3이 '0'인지 확인한다(551). 만약, 551단계의 확인결과 S1과 S3이 '0'이면, 처리과정(500)은 bm을 '1'로 설정하고, bn를 '0'으로 설정한다(552). 그리고, 처리과정(500)은 계속해서 580단계와 590단계를 수행한다.
만약, 551단계의 확인결과 S1과 S3이 '0'이면, 처리과정(500)은 bm = 1과 bn = 1을 기반으로 S1과 S3을 계산한다(560). 그리고, 처리과정(500)은 계속해서 S1과 S3이 '0'인지 확인한다(561). 만약, 561단계의 확인결과 S1과 S3이 '0'이면, 처리과정(500)은 bm과 bn를 모두 '1'으로 설정한다(562). 그리고, 처리과정(500)은 계속해서 580단계와 590단계를 수행한다.
만약, 561단계의 확인결과 S1과 S3이 '0'이 아니면, 처리과정(500)은 bm을 '0'로 설정하고, bn를 '1'으로 설정한다(570). 그리고, 처리과정(500)은 계속해서 S1과 S3이 '0'인지 확인한다(571). 만약, 571단계의 확인결과 S1과 S3이 '0'이면, 처리과정(500)은 bm을 '0'로 설정하고, bn를 '1'으로 설정한다(572). 그리고, 처리과정(500)은 계속해서 580단계와 590단계를 수행한다.
상술한 540단계에서 572단계는 코드워드의 특정 블록에서의 무효 코드워드의 개수가 '2'개인 경우의 코딩 열거(coding enumeration)에 해당한다.
일 실시예에서, 처리과정(500)은 확신 스펙트럼 OOK를 이용해서 변조된 코드 스트림(예를들어 BCH 코드 스트림)을 복호한다. 단지, 신드롬 벡터의 첫번째 성분과 세번째 성분(S1과 S3)은 S2와 S3을 계산하는 종래의 디코더와 대조적으로 디코딩을 처리하는 동안 전력의 소비를 줄인다.
도 5의 도면을 다시한번 요약해서 설명하면 다음과 같다.
디코더는 코드워드의 특정 블록에서의 무효(invalid) 코드워드의 개수를 결정한다(510).
그리고, 디코더는 코드워드의 특정 블록에서의 무효 코드워드의 개수가 제1 특정 개수보다 큰 지 판단한다(520).
520단계의 확인결과 코드워드의 특정 블록에서의 무효 코드워드의 개수가 제1 특정 개수보다 큰 경우, 코드워드의 특정 블록의 페리티(parity) 코드워드를 폐기하고(580), 디코더는 코드워드의 특정 블록을 디맵핑한다(590).
520단계의 확인결과 코드워드의 특정 블록에서의 무효 코드워드의 개수가 제1 특정 개수보다 작거나 같은 경우, 디코더는 코드워드의 특정 블록에서의 무효 코드워드의 개수가 제3 특정 개수와 같은지 판단한다(521).
521단계의 확인결과, 코드워드의 특정 블록에서의 무효 코드워드의 개수가 제3 특정 개수와 같은 경우, 디코더는 BCH 디코딩하여 오류를 정정한다(522).
521단계의 확인결과, 코드워드의 특정 블록에서의 무효 코드워드의 개수가 제3 특정 개수와 같지 않은 경우, 디코더는 코드워드의 특정 블록에서의 무효 코드워드의 개수가 제2 특정 개수와 같은지 판단한다(523).
523단계의 확인결과 코드워드의 특정 블록에서의 무효 코드워드의 개수가 제2 특정 개수와 같은 경우, 디코더는 대상 비트의 값을 제1 값으로 가정하고 대상 비트에 대한 신드롬 성분을 계산한다(524 또는 527).
계산된 신드롬 성분이 모두 0인 경우(526 또는 528), 대상 비트의 값을 제1 값으로 설정하고(529 또는 531), 코드워드의 특정 블록의 페리티(parity) 코드워드를 폐기하고(580), 디코더는 코드워드의 특정 블록을 디맵핑한다(590).
디코더는 코드워드의 특정 블록에서의 무효 코드워드의 개수가 제2 특정 개수와 같지 않은 경우, 코드워드의 특정 블록에서의 무효 코드워드의 개수가 제2 특정 개수 보다 크고 제1 특정 개수 보다 작거나 같은지 판단한다(520, 521, 523의 확인결과 무효 코드워드의 개수가 2개인 경우에 해당).
코드워드의 특정 블록에서의 무효 코드워드의 개수가 제2 특정 개수 보다 크고 제1 특정 개수 보다 작거나 같은 경우, 디코더는 둘 이상의 대상 비트의 값을 제1 값 또는 제2 값으로 가정하고 대상 비트에 대한 신드롬 성분을 계산한다(540, 550, 560, 570).
계산된 신드롬 성분이 모두 0인 경우(545, 551, 561, 571), 둘 이상의 대상 비트의 값을 가정한 값으로 설정하고(546, 552, 562, 572), 코드워드의 특정 블록의 페리티(parity) 코드워드를 폐기하고(580), 디코더는 코드워드의 특정 블록을 디맵핑한다(590.
일 실시예에서, 모든 칩 레벨 오류 시나리오(all chip level error scenarios)는 모든 가능한 결과가 고려되는 것을 보장하기 위해 검사된다. 주의 깊게 고려해야 하는 하나의 특정 시나리오(particular scenario)가 있다. 하나의 확산 스펙트럼 코드워드 안에 2개의 오류 그리고 다른 코드워드의 3번째 오류와 같은 경우의 시나리오를 고려해볼 수 있다. 하나의 확산 스펙트럼 심볼 안에서 2개의 오류 이벤트는 감지되지 않는다. 이와 같은 이벤트는 단일 오류 경우로 분류된다. 처리과정(500)은 종래의 디코더(예를들어, 종래의 BCH 디코더)에 의해서 2개의 오류를 정정하여 처리되도록 구성되어 있다.
도 6은 일실시예에 따라 정보에 대한 디코딩 처리과정(600)을 도시한 흐름도이다. 일 실시예에서, 처리과정(600)는 수신 장치에 의해서 다중 코드워드 블록을 포함하는 정보의 확신 스펙트럼 코드 스트림을 디코딩한다. 610단계는 코드워드의 특정 블록에 무효 코드워드의 개수를 확인한다. 620단계에서, 코드워드의 특정 블록 내에 무효 코드워드의 제1 특정 개수(예를 들어, 2)를 기초하여, 처리과정(600)은 코드워드의 특정 블록을 디맵핑하고, 코드워드의 특정 블록의 페리티 코드워드를 폐기한다. 630단계에서, 코드워드의 특정 블록 내에 무효 코드워드의 제2 특정 개수(예를 들어, 1)를 기초하여, 신드롬 성분의 서브셋을 계산하는 처리과정(600)은 신드롬 성분의 서브셋을 위한 갱신 절차와 하나 이상의 코딩 열거를 사용하여 계산되고, 만약 신드롬 서브셋의 모든 성분이 '0'이면 오류 비트가 발견된 것이고(신드롬 서브셋의 모든 성분이 '0'이면 코딩 열거로 가정한 비트가 정확한 비트에 해당하므로 오류 비트의 정확한 값을 발견한 것이다.), 그렇지 않으면, 코딩 열거는 계속되고, 코드워드의 특정 블록은 디맵핑되고, 코드워드의 특정 블록의 페리티 코드워드는 폐기된다.
일 실시예에서, 처리과정(600)은 무효 코드워드의 제3 특정 개수(예를 들어, '0')을 기초하여 처리하고, BCH 디코더를 사용해서 오류를 정정하고, 코드워드의 특정 블록의 페리티 코드워드를 폐기하는 것을 포함할 수 있다. 처리과정(600)에서, 디맵핑은 코드워드의 특징 블록을 비트 스트림에 디맵핑하는 것을 포함할 수 있다. 처리과정(600)은 단일 동작을 이용해서 필요에 따라 연속적으로 신드롬 성분의 서브셋을 위한 갱신 절차를 처리하는 단계를 포함할 수 있다.
일 실시 예에서, 처리과정(600)에서, 신드롬 성분의 서브셋을 위한 갱신 절차는 다중 입력 조합(multiple input combination)으로 동일한 단일 신드롬 식(same single syndrome equation)을 연속적으로 갱신하는 단계를 포함할 수 있다. 신드롬 성분은 1t 성분를 포함하는 벡터를 포함할 수 있다.(여기서, t는 코딩 오류 정정 능력이다. 처리과정(600)에서, 수신 장치는 WSN에 속하는 무선 노드를 포함할 수 있다. 일 실시 예에서, 처리과정(600)은 송신 장치(예를 들어, 도 3의 송신기(300))로부터 정보의 확산 스펙트럼 코드 스트림을 수신하는 단계를 더 포함할 수 있다.
도 7은 일실시예에 따라 컴퓨팅 시스템(700)을 포함하는 정보 처리 시스템의 구성을 도시한 도면이다. 시스템(700)은 하나 이상의 프로세서(711)(예를들어, ASIC, CPU 등)를 포함하고, 전기적 디스플레이 장치(712)(그래픽, 텍스트 및 다른 데이터를 디스플레이 하기 위한), 메인 메모리(713)(램(RAN; random access memory), 캐쉬(cache) 등), 저장 장치(714)(하드 디스크 드라이브), 이동식 저장 장치(715)(예를 들어, 이동식 저장 드라이브, 분리형 메모리, 자기 테이브 드라이브, 광 디스크 드라이브, 컴퓨터 판독 가능 매체에 저장된 소프트웨어 또는 데이터), 사용자 인터페이스 장치(715)(예를 들어, 키보드, 터치 스크린, 키패드, 포인팅 장치), 통신 인터페이스(717)(예를 들어, 모뎀, 와아파이 또는 셀룰러와 같은 무선 송수신기, 이더넷 카드).
통신 인터페이스(717)는 인터넷(750), 모바일 전자 장치(751), 서버(752), 네트워크(753) 등을 통해 소프트웨어와 데이터가 컴퓨터 시스템과 외부 장치 사이에 전송되도록 하는 것을 가능하게 한다. 시스템(700)은 전술한 장치들/인터페이스들(711-717)을 연결하는 통신 인프라(718)(예를들어, 통신 버스, 크로스 바 또는 네트워크)을 더 포함한다.
통신 인터페이스(717)을 통해 전송되는 정보는 전자, 광학 또는 통신 인터페이스(717)을 통해 수신될 수 있는 다른 신호와 같이 전자와 같은 신호 형태이고, 전선, 케이블, 광섬유, 전화선, 셀룰러 폰 링크, 무선 주파수 링크, 다른 통신 채널을 사용하여 구현될 수 있는 통신 링크를 통해 운반된다.
모바일 무선 장치의 하나 이상의 실시 형태의 일 실시 예에서(예를 들어, 모바일 폰, 스마트 폰, 태블릿, 모바일 컴퓨팅 장치, 워어러블 장치 등), 시스템(700)은 카메라와 같은 이미지 캡처 장치(720), 마이크로 폰과 같은 오디오 캡처 장치(719)를 더 포함할 수 있다. 시스템(700)은 MMS 인터페이스(721), SMS 인터페이스(722), 이메일 인터페이스(723), 소셜 네트워크 인터페이스(SNI)(724) 오디오/비디오 (AV) 플레이어(725), 웹 브라우저(726), 캡처 인터페이스(727) 등과 같은 응용 프로그램 인터페이스를 포함 할 수 있다.
일 실시 예에서, 시스템(700)은 도 5의 처리과정(500)의 절전 특징과 도 6의 처리과정(600)과 유사한 처리를 수행할 수 있는 디코딩 처리 인터페이스(730)을 포함한다. 일 실시 예에서, 오퍼레이팅 시스템(729)과 함께 디코딩 처리 인터페이스(730)는 시스템 (700)의 메모리에 상주하는 실행 가능한 코드로서 구현 될 수 있다. 다른 실시 예에서, 디코딩 처리 인터페이스(730)는 하드웨어, 펌웨어, 등으로 제공 될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
 이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
 그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.

Claims (24)

  1. 수신 장치에 의해, 복수의 코드워드 블록을 포함하는 확산 스펙트럼 부호화된 스트림 정보를 디코딩하는 단계를 포함하고,
    상기 디코딩 하는 단계는,
    코드워드의 특정 블록에서의 무효 코드워드의 개수를 결정하는 단계;
    상기 코드워드의 상기 특정 블록에서의 무효 코드워드의 제1 특정 개수에 기초하여, 상기 코드워드의 상기 특정 블록을 디맵핑하고, 상기 코드워드의 상기 특정 블록의 페리티 코드워드를 폐기하는 단계; 및
    상기 코드워드의 상기 특정 블록에서의 무효 코드워드의 제2 특정 개수에 기초하여, 단일 성분 신드롬에 대한 갱신 절차와 함께 적어도 하나의 코딩 열거를 이용하여 상기 신드롬 성분을 계산하고, 상기 신드롬 성분에 따라서, 코딩 열거를 계속하고, 상기 코드워드의 상기 특정 블록을 디맵핑하고, 상기 코드워드의 상기 특정 블록의 상기 페리티 코드워드를 폐기하는 단계를 포함하는
    초저전력 디코딩 방법.
  2. 제1항에 있어서,
    상기 디코딩 하는 단계는,
    상기 코드워드의 상기 특정 블록에서의 무효 코드워드의 제3 특정 개수에 기초하여,, BCH 디코더를 이용해서 오류 정정하고, 상기 코드워드의 상기 특정 블록을 디맵핑하고, 상기 코드워드의 상기 특정 블록의 상기 페리티 코드워드를 폐기하는 단계
    를 더 포함하는 초저전력 디코딩 방법.
  3. 제2항에 있어서,
    상기 디맵핑은,
    상기 코드워드의 상기 특정 블록을 비트 스트림으로 디맵핑하는
    초저전력 디코딩 방법.
  4. 제1항에 있어서,
    상기 단일 성분 신드롬에 대한 갱신하는 단계는,
    단일 동작을 이용하여 필요한 만큼 연속적으로 상기 단일 성분 신드롬을 갱신하는 단계
    를 포함하는 초저전력 디코딩 방법.
  5. 제4항에 있어서,
    상기 단일 성분 신드롬에 대한 갱신하는 단계는,
    다중 입력 조합으로 동일한 단일 신드롬 식을 연속적으로 갱신하는 단계
    를 포함하는 초저전력 디코딩 방법.
  6. 제1항에 있어서,
    상기 단일 성분 신드롬은,
    t가 코딩 오류 정정 능력일 때, 2/2t 성분을 포함하는 벡터
    를 포함하는 초저전력 디코딩 방법.
  7. 제1항에 있어서,
    상기 확산 스펙트럼 부호화된 스트림 정보를 송신 장치로부터 수신하는 단계
    를 더 포함하는 초저전력 디코딩 방법.
  8. 코드워드의 특정 블록에서의 무효 코드워드의 개수를 결정하는 단계;
    상기 코드워드의 상기 특정 블록에서의 무효 코드워드의 개수가 제1 특정 개수보다 큰 지 판단하는 단계;
    상기 코드워드의 상기 특정 블록에서의 무효 코드워드의 개수가 제1 특정 개수보다 큰 경우, 상기 코드워드의 상기 특정 블록의 페리티 코드워드를 폐기하고, 상기 코드워드의 상기 특정 블록을 디맵핑하는 단계;
    상기 코드워드의 상기 특정 블록에서의 무효 코드워드의 개수가 제1 특정 개수보다 작거나 같은 경우, 상기 코드워드의 상기 특정 블록에서의 무효 코드워드의 개수가 제3 특정 개수와 같은지 판단하는 단계;
    상기 코드워드의 상기 특정 블록에서의 무효 코드워드의 개수가 제3 특정 개수와 같은 경우, BCH 디코더를 이용해서 오류를 정정하는 단계;
    상기 코드워드의 상기 특정 블록에서의 무효 코드워드의 개수가 제3 특정 개수와 같지 않은 경우, 상기 코드워드의 상기 특정 블록에서의 무효 코드워드의 개수가 제2 특정 개수와 같은지 판단하는 단계;
    상기 코드워드의 상기 특정 블록에서의 무효 코드워드의 개수가 제2 특정 개수와 같은 경우, 대상 비트의 값을 제1 값으로 가정하고 상기 대상 비트에 대한 신드롬 성분을 계산하는 단계;
    상기 계산된 신드롬 성분이 모두 0인 경우, 상기 대상 비트의 값을 상기 제1 값으로 설정하고, 상기 코드워드의 상기 특정 블록의 페리티 코드워드를 폐기하고, 상기 코드워드의 상기 특정 블록을 디맵핑하는 단계;
    상기 코드워드의 상기 특정 블록에서의 무효 코드워드의 개수가 제2 특정 개수와 같지 않은 경우, 상기 코드워드의 상기 특정 블록에서의 무효 코드워드의 개수가 상기 제2 특정 개수 보다 크고 상기 제1 특정 개수 보다 작거나 같은지 판단하는 단계;
    상기 코드워드의 상기 특정 블록에서의 무효 코드워드의 개수가 상기 제2 특정 개수 보다 크고 상기 제1 특정 개수 보다 작거나 같은 경우, 둘 이상의 대상 비트의 값을 상기 제1 값 또는 제2 값으로 가정하고 상기 대상 비트에 대한 신드롬 성분을 계산하는 단계; 및
    상기 계산된 신드롬 성분이 모두 0인 경우, 상기 둘 이상의 대상 비트의 값을 가정한 값으로 설정하고, 상기 코드워드의 상기 특정 블록의 페리티 코드워드를 폐기하고, 상기 코드워드의 상기 특정 블록을 디맵핑하는 단계;
    를 포함하는 초저전력 디코딩 방법.
  9. 제8항에 있어서,
    상기 제1 특정 개수는 2개이고, 상기 제2 특정 개수는 1개이고, 상기 제3 특정개수는 0개인
    초저전력 디코딩 방법.
  10. 제1항 내지 제9항 중 어느 한 항의 방법을 실행하기 위한 프로그램이 기록되어 있는 것을 특징으로 하는 컴퓨터에서 판독 가능한 기록 매체.
  11. 디코더를 포함하는 수신기를 포함하고,
    상기 디코더는,
    코드워드의 특정 블록에서 무효 코드워드의 개수를 결정하고,
    상기 코드워드의 상기 특정 블록에서의 무효 코드워드의 제1 특정 개수에 대해서, 상기 코드워드의 상기 특정 블록을 디맵핑하고, 상기 코드워드의 상기 특정 블록의 페리티 코드워드를 폐기하고,
    상기 코드워드의 상기 특정 블록에서 무효 코드워드의 제2 특정 개수에 대해서, 단일 성분 신드롬에 대한 갱신 절차와 함께 적어도 하나의 코딩 열거를 이용하여 상기 신드롬 성분을 계산하고, 상기 신드롬 성분에 따라서 코딩 열거를 계속하고, 상기 코드워드의 상기 특정 블록를 디맵핑하고, 상기 코드워드의 상기 특정 블록의 상기 페리티 코드워드를 폐기하는
    무선 노드.
  12. 제11항에 있어서,
    상기 수신기는,
    복수의 코드워드 블록을 포함하는 확산 스펙트럼 부호화된 스트림 정보를 수신하는
    무선 노드.
  13. 제12항에 있어서,
    상기 디코더는,
    상기 코드워드의 상기 특정 블록에서 무효 코드워드의 제3 특정 개수에 대해서, BCH 디코더를 이용해서 오류 정정하고, 상기 코드워드의 상기 특정 블록을 디맵핑하고, 상기 코드워드의 상기 특정 블록의 상기 페리티 코드워드를 폐기하는
    무선 노드.
  14. 제12항에 있어서,
    상기 디코더는,
    단일 동작을 이용하여 필요한 만큼 연속적으로 상기 단일 성분 신드롬을 갱신하는
    무선 노드.
  15. 제14항에 있어서,
    상기 디코더는,
    다중 입력 조합으로 동일한 단일 신드롬 식을 연속적으로 갱신하는
    무선 노드.
  16. 제11항에 있어서,
    상기 단일 성분 신드롬은,
    t가 코딩 오류 정정 능력일 때, 2/2t 성분을 포함하는 벡터
    를 포함하는 무선 노드.
  17. 제11항에 있어서,
    상기 무선 노드는,
    무선 센서 네트워크에 속하는
    무선 노드.
  18. 디코더 프로세서를 포함하고,
    상기 디코더 프로세서는,
    코드워드의 특정 블록에서 무효 코드워드의 개수를 결정하고,
    상기 코드워드의 특정 블록에서 무효 코드워드의 제1 특정 개수에 대해서, 상기 코드워드의 상기 특정 블록을 디맵핑하고, 상기 코드워드의 상기 특정 블록의 페리티 코드워드를 폐기하고,
    상기 코드워드의 상기 특정 블록에서 무효 코드워드의 제2 특정 개수에 대해서 단일 성분 신드롬에 대한 갱신 절차와 함께 적어도 하나의 코딩 열거를 이용하여 상기 신드롬 성분을 계산하고, 상기 신드롬 성분에 따라서 코딩 열거를 계속하고, 상기 코드워드의 상기 특정 블록를 디맵핑하고, 상기 코드워드의 상기 특정 블록의 상기 페리티 코드워드를 폐기하는
    수신기.
  19. 제18항에 있어서,
    상기 수신기는,
    복수의 코드워드 블록을 포함하는 확산 스펙트럼 부호화된 스트림 정보를 수신하는
    수신기.
  20. 제18항에 있어서,
    상기 디코더 프로세서는,
    상기 코드워드의 상기 특정 블록에서 무효 코드워드의 제3 특정 개수를 위해서, BCH 디코더를 이용해서 오류 정정하고, 상기 코드워드의 상기 특정 블록을 디맵핑하고, 상기 코드워드의 상기 특정 블록의 상기 페리티 코드워드를 폐기하는
    수신기.
  21. 제18항에 있어서,
    상기 디코더 프로세서는,
    단일 동작을 이용하여 필요한 만큼 연속적으로 상기 단일 성분 신드롬을 갱신하는
    수신기.
  22. 제21항에 있어서,
    상기 디코더 프로세서는,
    다중 입력 조합으로 동일한 단일 신드롬 식을 연속적으로 갱신하는
    수신기.
  23. 제18항에 있어서,
    상기 단일 성분 신드롬은,
    t가 코딩 오류 정정 능력일 때, 2/2t 성분을 포함하는 벡터
    를 포함하는 수신기.
  24. 제18항에 있어서,
    상기 수신기는,
    무선 센서 네트워크에 속하는
    수신기.
KR1020150025696A 2014-03-06 2015-02-24 초 저전력 디코더 및 디코딩 방법 KR102370904B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
EP15157930.7A EP2916460B1 (en) 2014-03-06 2015-03-06 Ultra low power consumption (ulp) decoder

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201461948943P 2014-03-06 2014-03-06
US61/948,943 2014-03-06
US14/586,617 2014-12-30
US14/586,617 US9641285B2 (en) 2014-03-06 2014-12-30 Ultra low power (ULP) decoder and decoding processing

Publications (2)

Publication Number Publication Date
KR20150105206A true KR20150105206A (ko) 2015-09-16
KR102370904B1 KR102370904B1 (ko) 2022-03-07

Family

ID=54018500

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150025696A KR102370904B1 (ko) 2014-03-06 2015-02-24 초 저전력 디코더 및 디코딩 방법

Country Status (2)

Country Link
US (1) US9641285B2 (ko)
KR (1) KR102370904B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220135075A (ko) 2021-03-29 2022-10-06 숭실대학교산학협력단 태양 에너지 수집형 무선 센서 네트워크에서 fec를 이용한 데이터 통신 방법, 이를 수행하기 위한 기록 매체 및 장치

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9998251B2 (en) * 2013-10-30 2018-06-12 Samsung Electronics Co., Ltd. Method and system for selecting spreading sequences with variable spreading factors
US10298271B2 (en) * 2015-02-03 2019-05-21 Infineon Technologies Ag Method and apparatus for providing a joint error correction code for a combined data frame comprising first data of a first data channel and second data of a second data channel and sensor system
US10289508B2 (en) 2015-02-03 2019-05-14 Infineon Technologies Ag Sensor system and method for identifying faults related to a substrate
US20170364924A1 (en) * 2016-06-15 2017-12-21 James Duane Bennett Mobile units for furnishing, repairing and refurbishing residences

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070058430A (ko) * 2004-06-10 2007-06-08 썽트르 나시오날 드 라 르쉐이쉬 씨엉띠피끄(씨.엔.에르.에스.) 에따블리스망 쀠블릭 블록 부호를 재귀반복적으로 복호하기 위한 방법 및 장치
US7774688B1 (en) * 2006-10-11 2010-08-10 Marvell International Ltd. Hardware efficient decoding system for Bose, Ray-Chaudhuri, Hocquenghem (BCH) product codes

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB1500232A (en) 1974-07-04 1978-02-08 Marconi Co Ltd Digital data signal transmission arrangements
US5596330A (en) 1992-10-15 1997-01-21 Nexus Telecommunication Systems Ltd. Differential ranging for a frequency-hopped remote position determination system
US5596589A (en) 1993-10-29 1997-01-21 Motorola, Inc. Method and apparatus for encoding and decoding error correction codes in a radio communication system
JP3239795B2 (ja) 1997-04-23 2001-12-17 三菱電機株式会社 誤り訂正復号装置および誤り訂正復号方式
US6175588B1 (en) 1997-12-30 2001-01-16 Motorola, Inc. Communication device and method for interference suppression using adaptive equalization in a spread spectrum communication system
US6052812A (en) 1998-01-07 2000-04-18 Pocketscience, Inc. Messaging communication protocol
US6634007B1 (en) 1999-11-08 2003-10-14 Codevector Technology Algebraic soft decoding of reed-solomon codes
US6560292B1 (en) 2000-04-07 2003-05-06 Qualcomm Incorporated Method for coding in a telecommunications system
US6785401B2 (en) 2001-04-09 2004-08-31 Tektronix, Inc. Temporal synchronization of video watermark decoding
US7310767B2 (en) 2004-07-26 2007-12-18 Motorola, Inc. Decoding block codes
US7260762B2 (en) 2004-07-26 2007-08-21 Motorola, Inc. Decoder performance for block product codes
US7539463B2 (en) * 2005-03-30 2009-05-26 Intel Corporation Techniques to enhance diversity for a wireless system
US7844877B2 (en) 2005-11-15 2010-11-30 Ramot At Tel Aviv University Ltd. Method and device for multi phase error-correction
US8151174B2 (en) 2008-02-13 2012-04-03 Sunrise IP, LLC Block modulus coding (BMC) systems and methods for block coding with non-binary modulus
BRPI0801767A2 (pt) 2008-06-02 2010-02-23 Ubea método de codificação e/ou decodificação multidimensional e sistema compreendendo tal método
US8458536B2 (en) 2008-07-17 2013-06-04 Marvell World Trade Ltd. Data recovery in solid state memory devices
US8332731B1 (en) 2009-11-05 2012-12-11 Micron Technology, Inc. Error-correcting code and process for fast read-error correction
US8433985B2 (en) * 2010-03-29 2013-04-30 Intel Corporation Error correction mechanisms for flash memories
JP5699737B2 (ja) * 2011-03-28 2015-04-15 富士通株式会社 誤り訂正装置及び誤り訂正方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070058430A (ko) * 2004-06-10 2007-06-08 썽트르 나시오날 드 라 르쉐이쉬 씨엉띠피끄(씨.엔.에르.에스.) 에따블리스망 쀠블릭 블록 부호를 재귀반복적으로 복호하기 위한 방법 및 장치
US7774688B1 (en) * 2006-10-11 2010-08-10 Marvell International Ltd. Hardware efficient decoding system for Bose, Ray-Chaudhuri, Hocquenghem (BCH) product codes

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220135075A (ko) 2021-03-29 2022-10-06 숭실대학교산학협력단 태양 에너지 수집형 무선 센서 네트워크에서 fec를 이용한 데이터 통신 방법, 이를 수행하기 위한 기록 매체 및 장치

Also Published As

Publication number Publication date
KR102370904B1 (ko) 2022-03-07
US9641285B2 (en) 2017-05-02
US20150256289A1 (en) 2015-09-10

Similar Documents

Publication Publication Date Title
KR102370904B1 (ko) 초 저전력 디코더 및 디코딩 방법
US9955238B2 (en) Methods and systems for wireless transmission of data between network nodes
US9444655B2 (en) Apparatus, method and system of scrambling a wireless transmission
JP2019533345A (ja) ポーラー符号を使用してデータを符号化するための方法及び装置
US20210320749A1 (en) Sequence generation method, signal receiving method, apparatus, and terminal
KR20200017520A (ko) 극성 코드 인코딩 방법 및 디바이스
JP2019517189A (ja) Polar Polar符号を利用して符号化および復号化を行う方法および装置
JP7083550B2 (ja) 圧縮チャネル出力情報を用いてデータを復号する方法およびシステム
Roshanzadeh et al. Error detection & correction in wireless sensor networks by using residue number systems
Karvonen et al. A cross-layer energy efficiency optimization model for WBAN using IR-UWB transceivers
KR101868759B1 (ko) 에러 정정 데이터를 위한 오프셋 선택
JP6564964B2 (ja) 送信装置及び送信方法、受信装置及び受信方法、並びに、プログラム
Wang et al. A baseband processing ASIC for body area networks
Dong et al. Exploiting error estimating codes for packet length adaptation in low-power wireless networks
US11115054B2 (en) Polar code encoding method and apparatus
EP2916460B1 (en) Ultra low power consumption (ulp) decoder
Song et al. Exploiting channel polarization for reliable wide-area backscatter networks
EP2852082B1 (en) Information sending method and device
Davaslioglu et al. CLOEE-Cross-Layer optimization for energy efficiency of IEEE 802.15. 6 IR-UWB WBANs
Ploder et al. A cross-layer approach for ultra-low-latency machine type communication
Majumder et al. Drde: Dual run distribution based encoding scheme for sustainable iot applications
CN114285525B (zh) 关于极化码共享资源译码的方法、装置、终端设备及存储介质
US9548763B2 (en) Data encoding method and electronic device therefor
JPWO2013190671A1 (ja) 無線局、無線通信システム、及び方法
CN112286494B (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