KR20190101361A - 원격 판독과 같은 저 소비 애플리케이션들을 위한 짧은 길이의 준순환 반규칙적 ldpc 코드를 사용한 코더 및 디코더 - Google Patents

원격 판독과 같은 저 소비 애플리케이션들을 위한 짧은 길이의 준순환 반규칙적 ldpc 코드를 사용한 코더 및 디코더 Download PDF

Info

Publication number
KR20190101361A
KR20190101361A KR1020197014762A KR20197014762A KR20190101361A KR 20190101361 A KR20190101361 A KR 20190101361A KR 1020197014762 A KR1020197014762 A KR 1020197014762A KR 20197014762 A KR20197014762 A KR 20197014762A KR 20190101361 A KR20190101361 A KR 20190101361A
Authority
KR
South Korea
Prior art keywords
prototype
graph
tanner
node
constraint
Prior art date
Application number
KR1020197014762A
Other languages
English (en)
Other versions
KR102444110B1 (ko
Inventor
장-루이 도른스테터
Original Assignee
수에즈 그룹
제에르데에프
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 수에즈 그룹, 제에르데에프 filed Critical 수에즈 그룹
Publication of KR20190101361A publication Critical patent/KR20190101361A/ko
Application granted granted Critical
Publication of KR102444110B1 publication Critical patent/KR102444110B1/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/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/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1148Structural properties of the code parity-check or generator matrix
    • H03M13/116Quasi-cyclic LDPC [QC-LDPC] codes, i.e. the parity-check matrix being composed of permutation or circulant sub-matrices
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1148Structural properties of the code parity-check or generator matrix
    • H03M13/118Parity check matrix structured for simplifying encoding, e.g. by having a triangular or an approximate triangular structure
    • 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/033Theoretical methods to calculate these checking codes
    • H03M13/036Heuristic code construction methods, i.e. code construction or code search based on using trial-and-error
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1105Decoding
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1148Structural properties of the code parity-check or generator matrix
    • H03M13/1177Regular LDPC codes with parity-check matrices wherein all rows and columns have the same row weight and column weight, respectively
    • 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/61Aspects and characteristics of methods and arrangements for error correction or error detection, not provided for otherwise
    • H03M13/611Specific encoding aspects, e.g. encoding by means of decoding
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/65Purpose and implementation aspects
    • H03M13/6502Reduction of hardware complexity or efficient processing
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/65Purpose and implementation aspects
    • H03M13/6522Intended application, e.g. transmission or communication standard
    • 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/0061Error detection codes
    • H04L1/0063Single parity check
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q2209/00Arrangements in telecontrol or telemetry systems
    • H04Q2209/40Arrangements in telecontrol or telemetry systems using a wireless architecture
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q2209/00Arrangements in telecontrol or telemetry systems
    • H04Q2209/50Arrangements in telecontrol or telemetry systems using a mobile data collecting device, e.g. walk by or drive by
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q2209/00Arrangements in telecontrol or telemetry systems
    • H04Q2209/60Arrangements in telecontrol or telemetry systems for transmitting utility meters data, i.e. transmission of data from the reader of the utility meter
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q9/00Arrangements in telecontrol or telemetry systems for selectively calling a substation from a main station, in which substation desired apparatus is selected for applying a control signal thereto or for obtaining measured values therefrom
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing energy consumption in communication networks in wireless communication networks

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Error Detection And Correction (AREA)
  • Selective Calling Equipment (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

본 발명은, 8개의 변수 노드와 4개의 제약 노드를 포함하는 프로토그래프 (protograph) 에 기초한, 태너 이분 그래프의 128개의 변수 노드와 태너 이분 그래프의 64개의 제약 노드를 포함하는 태너 이분 그래프로 표현된 제어 행렬을 허용하는 준규칙적 LDPC (Low Density Parity Check) 코드 코더 및 디코더를 설명하고, 상기 태너 이분 그래프의 제약 노드들의 각각이 상기 태너 이분 그래프의 7 개의 변수 노드들에 연결되고, 상기 태너 이분 그래프의 변수 노드들의 각각이 상기 태너 이분 그래프의 3개 또는 4개의 제약 노드들에 연결되고, 상기 태너 이분 그래프의 사이클들의 각각이 6 이상의 길이를 가지며, 상기 코드의 최소 거리는 14 이상이다.

Description

원격 판독과 같은 저 소비 애플리케이션들을 위한 짧은 길이의 준순환 반규칙적 LDPC 코드를 사용한 코더 및 디코더
본 발명은 에러 정정 코드 분야에 관한 것이다. 그것은 보다 상세하게는, 신호를 저 에너지 소비 및 저 디코딩 복잡도로 송신할 수 있게 하면서, 동시에 예를 들어, LPWAN (Low Power Wide Area Network 의 두문자) 유형의 네트워크를 통해, 사물 인터넷의 분야에서 데이터의 송신을 위한, 특히 물 또는 전력을 위한 원격 계량기 판독으로부터 데이터의 송신을 위한, 양호한 에러 정정 특성을 유지할 수 있게 하는 LDPC 코드에 관한 것이다.
데이터의 송신은 다양한 통신 채널, 예컨대 무선 통신, 광섬유 등을 통해 수행될 수도 있다. 대다수의 경우, 송신 채널은 완전히 신뢰할 수는 없으며 송신이 에러로 손상될 수도 있다. 일반적으로 말해서, 송신 채널의 신호 대 잡음 비, 또는 SNR 이 낮을수록, 채널은 잡음이 더 많고 에러율은 더 높아진다.
인코딩될 신호에 중복 비트 (redundancy bit) 를 부가함으로써, 에러 정정 코드는 송신 에러가 검출 및 정정될 수 있게 한다. 많은 에러 정정 코드가 존재한다. 일반적으로 말해서, 이것들은 최대 에러 검출 및/또는 정정율을 얻으면서, 동시에 가능한 가장 적은 수의 중복 비트를 부가하는 것을 목표로 한다. 애플리케이션에 따라, 에러 정정 코드의 인코딩 및/또는 디코딩 복잡도를 제한하는 것이 또한 중요할 수도 있다.
LDPC (Low Density Parity Check Code 의 두문자) 로 불리는 코드는 에러 정정 코드 류이다. LDPC 코드는 특히 잡음이 많은 채널을 통한 데이터의 송신에 인기가 있다. 이들은 특히 DVB-S2 표준에서 에러 정정 코드로 사용된다.
LDPC 코드는 변수 노드 (variable node) 와 제약 노드 (constraint node) 로 형성된 태너 (Tanner) 그래프로 알려진 이분 그래프 (bipartite graph) 로 표현된다. 디코딩 중에, 하나 이상의 반복을 통해 메시지가 에러 없이 송신되는지 여부를 연속적으로 검증할 수 있고, 에러(들) 이 있는 경우, 에러를 정정할 수 있게 한다. LDPC 유형의 코드들은 예를 들어, Davey, M. C., & MacKay, D. J. (1998, June). Low-density parity check codes over GF (q). In Information Theory Workshop, 1998 (pp. 70-71). IEEE 에 의해 소개되어 있다.
예를 들어, 물 계량기 또는 가스 또는 전기 유형의 에너지 계량기의 원격 판독은 각 계량기에서 나오는 정보를 원격으로 수집하고, 이를 주기적으로, 예를들어, 매일 소비량들을 하는데 있다. 원격 판독은 소비량의 수동 판독과 관련하여 많은 장점을 제공한다: 즉, 데이터가 보다 규칙적으로 송신되고, 원격 판독은 조작자가 접근하기 어려운 센서에서 나오는 값을 획득할 수 있게 한다. 또한, 소비량 값을 자동으로 그리고 원격으로 전송하는 것은 계량기의 수동 판독보다 더 비용 효율적이고 신속한 해결책이다. 일반적으로 말하면, 원격 판독에서, 계량기는 규칙적인 간격으로 소비량 데이터를 무선 링크를 통해 허브에 전송하고, 허브는 이 데이터를 프로세싱 플랫폼에 송신한다.
이 유형의 계량기 원격 판독은 특별한 어려움들을 나타낸다: 계량기는 종종 접근하기 어려운 영역에 있으며, 종종 배터리에 의해 전력 공급된다. 그러면 계량기는 개입 없이 예를 들어, 20년 정도의 오랜 시간 기간 동안 자율적으로 작동하도록 설계된다. 배터리의 수명을 늘리기 위해, 이러한 유형의 계량기는 일반적으로 방출 전력을 감소시켜 데이터의 송신으로 인한 전력 소비를 제한한다. 그러나, 이 결과 수신기가 매우 잡음 많은 신호를 획득하게 된다.
종래 기술의 LDPC 코드는 송신되는 유용한 비트 당 소비되는 에너지를 크게 증가시키는 단점을 갖는다. 또한, 종래 기술의 대부분의 LDPC 코드는 긴 코드이다. 따라서 이러한 긴 코드는 디코딩에 많은 반복을 필요로 한다. 이 결과, 디코딩을 위해 많은 수의 연산이 수행되야 하고, 따라서 디코딩이 복잡해진다. 더욱이, 긴 코드는 송신될 유용한 프레임의 크기가 작을 때, 데이터를 코딩할 수 있기 위해 결과 블록의 크기 증가에 이를 수도 있다.
따라서, 인코딩 시에, 송신되는 유용한 비트 당 소모되는 에너지가 감소될 수 있게 하면서, 동시에 제한된 디코딩 복잡도, 및 매우 잡음 많은 신호를 위한 양호한 에러 정정율을 보존할 수 있게 하는 에러 정정 코드가 필요하다.
이 목적을 위해, 본 발명은 LDPC (Low-Density Parity-Controlled) 코드를 사용하여 신호들을 인코딩하도록 구성된 LDPC 인코더로서, 그 LDPC 코드는 태너 이분 그래프 (Tanner bipartite graph) 의 128개의 변수 노드와 태너 이분 그래프의 64개의 제약 노드로 구성된 태너 이분 그래프로 표현된 제어 행렬에 기초하며, 상기 태너 이분 그래프는: 상기 태너 이분 그래프의 제약 노드들의 각각이 상기 태너 이분 그래프의 7 개의 변수 노드들에 연결되고; 상기 태너 이분 그래프의 사이클들의 각각이 6 이상의 길이를 가지며; 상기 코드의 최소 거리는 14 이상이도록 하는 것이며; 상기 태너 이분 그래프는 프로토그래프 (protograph) 로부터 유도된 그래프이고, 상기 프로토그래프는 상기 프로토그래프의 8개의 변수 노드들 및 상기 프로토그래프의 4개의 제약 노드들을 포함하고, 상기 프로토그래프의 각각의 변수 노드는 상기 태너 이분 그래프의 16개의 변수 노드들의 그룹이며, 상기 프로토그래프의 각각의 변수 노드는 상기 태너 이분 그래프의 16개의 제약 노드들의 그룹이고, 상기 프로토그래프의 각각의 제약 노드는 행렬에 따라 상기 프로토그래프의 상기 변수 노드들 중 7 개에 연결되고, 상기 프로토그래프의 각각의 제약 노드는 상기 행렬의 행에 의해 표현되고, 상기 프로토그래프의 각각의 변수 노드는 상기 행렬의 열에 의해 표현되고, 행과 열 상에서 정의되는, 상기 행렬의 각각의 셀은, 상기 셀의 행에 의해 표현되는 상기 프로토그래프의 변수 노드와 상기 셀의 열에 의해 표현되는 상기 프로토그래프의 제약 노드가 연결될 때, 값 1, 및 반대의 경우에 값 0 을 포함하고, 상기 행렬은 하기 값들:
Figure pct00001
에 의해 정의되는 것을 특징으로 하는 LDPC 인코더를 설명한다.
태너 이분 그래프의 변수 노드는 유용한 데이터 비트 또는 중복 비트일 수도 있는 인코딩된 데이터의 1 비트에 대응한다.
태너 이분 그래프의 제약 노드는 그것이 연결되는 변수 노드들에서 검증될 제약을 정의한다.
태너 이분 그래프 상의 하나의 라인은 태너 이분 그래프의 제약 노드와 태너 이분 그래프의 변수 노드 사이의 링크를 표현한다.
사이클은 동일한 노드 상에서 기원하고 종료되는 일련의 링크이다.
사이클의 길이는 사이클을 형성하는 일련의 링크에 있는 링크의 수이다.
본 발명에 따른 LDPC 코드는, 짧은, 환원하면 보통 사용되는 코드에 비해 적은 수의 변수 노드들을 갖는 것으로 불리는 코드이다. 이는 제한된 수의 반복으로 디코딩될 수 있게 하므로, 본 발명에 따른 LDPC 코드의 디코딩의 복잡도가 크게 감소된다.
본 발명에 따른 LDPC 코드는 제약 노드들의 2 배수의 변수 노드들을 포함하고, 각각의 제약 노드는 7개의 변수 노드에 연결된다. 이를 통해 각각의 변수 노드는 적어도 3 개의 제약 노드에 연결될 수 있으며, 차수 2 (degree 2) 의 변수 노드의 존재 시에 발생할 수 있는 자기 차단 (self-blocking) 구성의 존재를 피할 수 있다.
또한, 가장 잘 알려진 LDPC 코드 류, 이를테면 예를 들어, Gallager, R. (1962). Low-density parity-check codes. IRE Transactions on information theory, 8(1), 21-28., or MacKay, D. J., & Neal, R. M. (1996). Near Shannon limit performance of low density parity check codes. Electronics letters, 32(18), 1645-1646. 에 개시된 류들은 자주, 각각의 제약 노드가 6개의 변수 노드에 연결되고 각각의 변수 노드가 정확히 3 개의 제약 노드에 연결되는 류이다. 이러한 코드를 규칙적 코드 (regular code) 라고 한다 (각각의 변수 노드가 동일한 수의 제약 노드에 링크되며, 반대의 경우도 마찬가지이다). 규칙적 코드는 구현이 단순하기 때문에 가장 자주 사용되는 코드이다.
그러나, 본 출원인은 변수 노드가 모두 동일한 수의 제약 노드에 링크되는 것은 아닌, 불규칙하다고 지칭되는 코드가 더 긴 워드들 사이의 최소 거리, 그리고 따라서 에러 정정의 보다 높은 확률을 갖는다는 것을 실험적으로 관찰했다. 이 관찰은 또한 몇몇 저자들에 의해, 예를 들어, SHORT PROTOGRAPH-BASED LDPC CODES, Dariush Divsalar, Sam Dolinar and Christopher Jones, Military Communications Conference, 2007. MILCOM 2007. IEEE, section IV. 에서 이루어졌다.
따라서, 128 개의 변수 노드들, 64 개의 제약 노드들을 포함하고 각각의 제약 노드가 7 개의 변수 노드들에 링크되는 LDPC 코드는 유리하게:
짧은 길이의 코드가 얻어질 수 있게 하고;
각각의 변수 노드가 3 개 이상의 제약 노드들에 연결될 수 있게 한다. 이를 통해 차수 2의 변수 노드들의 존재를 피할 수 있고, 불규칙한 코드를 얻을 수 있어, 코드 워드들 사이의 거리가 더 커질 수 있게 한다.
따라서, 이러한 특징들의 조합은 매우 높은 디코딩 성능을 나타내는 짧은 코드들을 얻을 수 있게 한다.
본 발명에 따른 LDPC 코드는 길이 4의 사이클을 갖지 않는다. 이것은 잘못된 빌리프 (false belief) 의 전파 가능성이 높은 매우 짧은 사이클을 피할 수 있으므로, 코드의 신뢰성을 크게 높일 수 있다.
본 발명에 따른 LDPC 코드는 낮은 디코딩 에러율로 매우 잡음이 많은 채널을 통해 데이터가 송신될 수 있게 한다. 따라서 이것은 데이터를 낮은 송신 전력 그리고 이에 따라 낮은 전기 소비로 장거리에 대해 송신할 수 있게 한다. 따라서, 본 발명에 따른 LDPC 코드는 원격 판독을 위한 무선 링크를 통해 데이터의 프레임들을 송신하는 물, 가스 또는 전기 계량기의 배터리의 수명이 연장될 수 있게 하며, 물, 가스 또는 전기 분배 네트워크 상의 원격 판독 데이터 집중기 (concentrator) 의 수가 제한될 수 있게 하거나, 및/또는 원격 판독에 접근할 수 있는 물, 가스 또는 전기 계량기의 수가 증가될 수 있게 한다.
본 발명에 따른 LDPC 코드는 예를 들어, 원격 판독 데이터, 특히 예를 들어, 가스 또는 전기 계량기와 같은 물 또는 에너지 계량기로부터 나오는 데이터를 송신하는데 사용될 수도 있다.
프로토그래프를 사용하면 그래프를 간단히 정의할 수 있으면서 동시에 모든 노드들 상에 균일하게 링크 라인들을 분배할 수 있다. 이는 제한된 수의 짧은 사이클을 갖는 LDPC 코드 류의 간단한 정의를 가능하게 한다. 또한, 프로토그래프의 사용은 인코더의 연산 세트가 인수 분해 (factorize) 될 수 있게 하여, LDPC 인코더, 및 보다 적은 정도로 LDPC 디코더가, 덜 복잡하게 만들어질 수 있게 한다.
유리하게는, 상기 태너 이분 그래프는, 프로토그래프의 변수 노드와 프로토그래프의 제약 노드 사이의 각 링크에 대해, 그래프의 변수 노드와 그래프의 제약 노드 사이의 16 개의 링크들을 포함하며, 상기 16개의 링크들은 0 과 15 사이의 범위에서 오더 (order) 에 따라 순환 순열 (circular permutation) 에 의해 정의된다.
이 유형의 프로토그래프는 태너 그래프가 그래프의 각 링크에 대한 순열의 오더의 간단한 정의에 의해 정의될 수 있게 한다. 프로토그래프에 의한 특성화를 통해 코드의 태너 그래프를 간단하고 간결하게 표현할 수 있다.
유리하게는, 순열의 각 오더는 행렬의 셀에 의해 정의되고, 각각의 제약 노드는 행렬의 행에 의해 표현되고, 각각의 변수 노드는 행렬의 열에 의해 표현되고, 행과 열 상에서 정의되는, 행렬의 각각의 셀은, 행에 의해 표현되는 프로토그래프의 제약 노드와 열에 의해 표현되는 프로토그래프의 변수 노드 사이의 링크를 위한 순환 순열의 오더를 포함하고, 상기 행렬 (500c) 은 하기 값들:
Figure pct00002
에 의해 정의된다.
이 행렬은 우수한 디코딩 특성을 갖는 LDPC 코드를 정의한다. 그 코드의 최소 길이는 14 이고, 그것은 길이 4 의 사이클을 갖지 않고, 길이 6의 제한된 수의 사이클을 가지며, 그리고 실험적으로 우수한 디코딩 및 에러 정정 성능을 가진다.
또한, 2개의 코드 워드 사이에 14 과 동일한 최소 거리는, 가능한 한 서로 상이한 코드 워드가 얻어질 수 있게 한다. 이러한 특징들은 가능한 한 많은 에러를 정정하는 LDPC 코드가 얻어질 수 있게 한다.
유리하게는, 상기 태너 이분 그래프는 640보다 작은 6 과 동일한 길이의 다수의 사이클을 포함한다.
이는 128개의 변수 노드 및 64개의 제약 노드를 포함하는 태너 그래프에 대한 사이클의 수를 낮은 수로 제한할 수 있게 하고, 따라서 디코딩시 잘못된 빌리프가 거의 전파되지 않을 LDPC 코드를 얻을 수 있게 한다. 따라서 이러한 특징은 가능한 한 많은 에러를 정정하는 LDPC 코드가 얻어질 수 있게 한다.
유리하게는, LDPC 코드 는 -1.17 dB의 신호 대 잡음 비를 갖는 송신에 대해, 50 % 미만의 디코딩시 에러율을 나타낸다.
이 특징은 신호 대 잡음 비가 매우 낮은 경우에 에러율을 제한할 수 있게 한다. 낮은 신호 대 잡음비로 데이터를 송신할 수 있는 가능성은 낮은 에너지 소비로 장거리에 대해 무선 송신기를 통해 데이터가 전송될 수 있게 한다.
유리하게는, 인코더는 물, 가스 또는 전기에 대한 원격 판독 데이터를 포함하는 데이터의 프레임을 인코딩하도록 구성된다.
본 발명에 따른 프레임은 본 발명의 코드에 의해 인코딩된 원격 판독 데이터가 송신될 수 있게 한다. 본 발명에 따른 코드는 원격 판독된 데이터가 낮은 에너지 소비로 장 거리 떨어져 전송될 수 있게 한다.
본 발명은 또한: LDPC 코드를 정의하는 방법으로서, LDPC (Low-Density Parity Check) 코드 세트를 정의하는 단계로서, 그것들은 태너 이분 그래프의 128개의 변수 노드와 태너 이분 그래프의 64개의 제약 노드를 포함하는 태너 이분 그래프에 의해 표현된 제어 행렬을 수용 (admit) 하며, 상기 태너 이분 그래프는: 상기 태너 이분 그래프의 제약 노드들의 각각이 상기 태너 이분 그래프의 7 개의 변수 노드들에 연결되고; 상기 태너 이분 그래프의 사이클들의 각각이 6 이상의 길이를 갖도록 하는 것인 것을 특징으로 하는 상기 LDPC 코드 세트를 정의하는 단계; 최소 거리에 대해 미리정의된 임계치 이상인 최소 거리를 갖는 코드들을 선택하는 단계를 포함하는, LDPC 코드를 정의하는 방법을 설명한다.
본 발명에 따른 방법은 높은 성능을 갖는 LDPC 코드 류가 정의될 수 있게 한다.
유리하게는, 그 방법은 또한, 코드들을 선택하는 단계로서, 이에 대해 태너 그래프가 미리정의된 사이클 수보다 적은 길이 6 의 다수의 사이클을 포함하는, 상기 코드들을 선택하는 단계를 포함한다.
이 단계는, 많은 수의 코드 중에서, 길이 4 인 사이클을 가지며 더 나쁜 성능을 나타낼 그러한 것들이 신속하게 제거될 수 있게 한다.
유리하게는, 그 방법은 또한, 미리정의된 신호 대 잡음비를 갖는 송신을 위해, 미리정의된 에러율보다 작은 에러율을 갖는 코드들을 선택하는 단계를 포함한다.
이 단계는 정확한 성능 기준을 충족하는 코드들이 결정적 방식으로 선택될 수 있게 한다.
본 발명에 따른 LDPC 인코더는 매우 잡음이 많은 채널을 통해 송신 및 디코딩될 수 있을 데이터의 프레임들이 인코딩될 수 있게 한다. 이를 통해 데이터의 프레임들이 무선 링크를 통해, 장거리에 대해 그리고 제한된 에너지로 전송될 수 있게 한다.
본 발명은 또한, 본 발명에 따른 LDPC 인코더에 의해 인코딩된 물, 가스 또는 전기에 대한 원격 판독 데이터를 포함하는 데이터의 프레임들을 송신하도록 구성된 송신기를 설명한다.
매우 잡음 많은 채널을 통한 데이터의 전송을 가능하게 함으로써, 원격 판독 디바이스의 송신기에서 LDPC 코드를 사용하면 송신된 비트에 의해 낮은 에너지로 장거리에 대해 데이터가 송신될 수 있다. 이는 원격 판독 디바이스의 배터리의 수명을 연장시킬 수 있게 한다.
본 발명은 또한 LDPC 코드에 의해 인코딩된 신호를 디코딩하도록 구성된 LDPC 디코더로서, 상기 LDPC 코드는 태너 이분 그래프의 128개의 변수 노드와 태너 이분 그래프의 64개의 제약 노드로 구성된 태너 이분 그래프로 표현된 제어 행렬에 기초하며, 상기 태너 이분 그래프는: 상기 태너 이분 그래프의 제약 노드들의 각각이 상기 태너 이분 그래프의 7 개의 변수 노드들에 연결되고; 상기 태너 이분 그래프의 사이클들의 각각이 6 이상의 길이를 가지며; 상기 코드의 최소 거리는 14 이상이도록 하는 것이며, 상기 태너 이분 그래프는 프로토그래프 (protograph) 로부터 유도된 그래프이고, 상기 프로토그래프는 상기 프로토그래프의 8개의 변수 노드들 및 상기 프로토그래프의 4개의 제약 노드들을 포함하고, 상기 프로토그래프의 각각의 변수 노드는 상기 태너 이분 그래프의 16개의 변수 노드들의 그룹이며, 상기 프로토그래프의 각각의 변수 노드는 상기 태너 이분 그래프의 16개의 제약 노드들의 그룹이고, 상기 프로토그래프의 각각의 제약 노드는 행렬에 따라 상기 프로토그래프의 상기 변수 노드들 중 7 개에 연결되고, 상기 프로토그래프의 각각의 제약 노드는 상기 행렬의 행에 의해 표현되고, 상기 프로토그래프의 각각의 변수 노드는 상기 행렬의 열에 의해 표현되고, 행과 열 상에서 정의되는, 상기 행렬의 각각의 셀은, 상기 셀의 행에 의해 표현되는 상기 프로토그래프의 변수 노드와 상기 셀의 열에 의해 표현되는 상기 프로토그래프의 제약 노드가 연결될 때, 값 1, 및 반대의 경우에 값 0 을 포함하고, 상기 행렬은 하기 값들:
Figure pct00003
에 의해 정의되는 것을 특징으로 하는 LDPC 디코더를 설명한다.
본 발명에 따른 LDPC 코드의 사용은 코드를 디코딩하는데 필요한 반복의 수, 그리고 따라서 디코더에서 요구되는 프로세싱 전력을 감소시킬 수 있게 한다. 디코더는 데이터 집중기에 위치되거나, 또는 데이터 집중기에 링크된 모뎀에 위치될 수도 있다. 또한, 매우 잡음 많은 채널을 통한 원격 판독 데이터의 전송을 가능하게 함으로써, 본 발명에 따른 LDPC 코드를 사용하면 계량 디바이스와 허브 사이의 최대 거리를 증가시킬 수 있고, 따라서 허브의 수를 감소시킬 수 있게 하거나, 및/또는 데이터가 수신되는 계량 디바이스의 수를 증가시킬 수 있다.
유리하게는, 상기 태너 이분 그래프는, 프로토그래프의 변수 노드와 프로토그래프의 제약 노드 사이의 각 링크에 대해, 그래프의 변수 노드와 그래프의 제약 노드 사이의 16 개의 링크들을 포함하며, 상기 16개의 링크들은 0 과 15 사이의 범위에서 오더에 따라 순환 순열 (circular permutation) 에 의해 정의된다.
유리하게는, 각각의 순열 오더는 행렬의 셀에 의해 정의되고, 상기 프로토그래프의 각각의 제약 노드는 상기 행렬의 행에 의해 표현되고, 상기 프로토그래프의 각각의 변수 노드는 상기 행렬의 열에 의해 표현되고, 행과 열 상에서 정의되는, 행렬의 각각의 셀은, 행에 의해 표현되는 프로토그래프의 제약 노드와 열에 의해 표현되는 프로토그래프의 변수 노드 사이의 링크를 위한 순환 순열 오더를 포함하고, 상기 행렬은 하기 값들:
Figure pct00004
에 의해 정의된다.
유리하게는, 상기 태너 이분 그래프는 640보다 작은 6 과 동일한 길이의 다수의 사이클을 포함한다.
유리하게는, 코드는 -1.17 dB의 신호 대 잡음 비를 갖는 송신에 동안, 50 % 미만의 디코딩시 에러율을 갖는다.
유리하게는, 디코더는 물, 가스 또는 전기에 대한 원격 판독 데이터를 포함하는 데이터의 프레임을 디코딩하도록 구성된다.
본 발명은 또한, 본 발명에 따른 LDPC 인코더에 의해 인코딩된 물, 가스 또는 전기에 대한 원격 판독 데이터를 포함하는 데이터의 프레임들을 수신하도록 구성된 수신기를 설명하며, 상기 수신기는 본 발명에 따른 디코더를 포함한다.
수신기는 무선 안테나를 포함하는 모뎀일 수도 있고, 상기 모뎀은 허브에 링크된다.
다른 특징들은 첨부된 도면과 관련하여 제시된, 후속하는 비제한적인 예로서 주어진 상세한 설명을 읽음으로써 명백해질 것이고, 첨부 도면들은:
- 도 1, 본 발명의 일 실시 형태에서 분배 네트워크의 센서들로부터의 측정치의 획득 및 집중화를 위한 네트워크의 아키텍처;
- 도 2, 본 발명의 일 실시 형태에서의 데이터 집중기의 물리적 아키텍처;
- 도 3, 본 발명의 일 실시 형태에서 물 분배 네트워크를 위한 원격 판독 데이터의 송신을 위한 메시지 프레임;
- 도 4a 및 도 4b, 각각, 프로토그래프의 예와 본 발명의 일 실시 형태에서 프로토그래프로부터 태너 이분 그래프를 얻을 수 있게 하는 순열 (protograph) 의 예.
- 도 5a, 도 5b 및 도 5c, 각각, 본 발명에 따른 LDPC 코드의 구조, 본 발명에 따른 LDPC 코드에 대한 제약의 세트로서, 그것이 길이 4의 임의의 사이클을 포함하지 않도록 보장할 수 있게 하는, 그러한 제약의 세트, 및 본 발명에 따른 LDPC 코드의 예;
- 도 6a 및 도 6b, 본 발명에 따른 LDPC 코드를 정의하는 두 가지 방법;
- 도 7a 및 도 7b, 각각, 선형 스케일 (linear scale) 및 로그 스케일 (logarithmic scale) 에 따라 본 발명에 따른 LDPC 코드와 종래 기술의 LDPC 코드 간의 성능 비교;
- 도 8a 및 도 8b, 각각, 불량 및 양호한 SNR 로, 본 발명에 따른 LDPC 코드를 디코딩하는데 필요한 반복 수의 예들
을 도시한다.
상세한 설명
이하의 설명 부분에서, 본 발명에 따른 LDPC 코드, 인코더, 디코더 및 방법은, 특히 물의 소비에 관한 데이터의, 원격 판독에 관한 예들에 의해 예시된다. 그러나, 본 발명에 따른 LDPC 코드는 임의의 유형의 데이터의 송신에 적용 가능하다.
도 1은 본 발명의 일 실시 형태에서 분배 네트워크의 센서들로부터의 측정치의 획득 및 집중화를 위한 네트워크의 아키텍처를 도시한다.
아키텍처 (100) 는:
- 계량 디바이스 세트. 6 개의 계량 디바이스들 (110, 111, 112, 113, 114, 115) 이 도 1에 도시되어 있다;
- LAN (로컬 영역 네트워크) 모뎀 (120, 130, 140);
- 집중기 (150, 151) ;
- WAN 네트워크 (광역 네트워크 또는 네트워크 이더넷) (160);
- 정보 시스템 (IS) (170)
으로 형성된다.
계량 디바이스들 (110, 111, 112, 113, 114, 115) 은 물 계량기뿐만 아니라, 가스, 전기 또는 임의의 유형의 소비를 위한 계량기일 수도 있다. 계량 디바이스들은 계량 데이터 또는 원격 판독 데이터를 전파 (radio wave) 를 통해 전송한다. 전파를 통해 데이터를 송신하면 계량 디바이스가 격리되어 있거나 액세스하기 어려운 위치에 있어도, 원격 위치로부터 데이터를 전송할 수 있다. 또한, 전파를 통해 데이터를 전송하면 유선 링크가 필요한 경우보다 훨씬 쉽고 비용 효율적으로 새로운 계량기들을 배치할 수 있다. 계량 디바이스들 (110, 111, 112, 113, 114, 115) 은 일반적으로 배터리에 의해 전력이 공급된다. LAN 모뎀에 로컬적으로 데이터를 송신하기 위해 무선 링크를 사용하면 계량 디바이스들이 낮은 전기 소비로 데이터를 송신할 수 있으므로, 배터리의 수명이 연장된다.
원격 판독 데이터를 송신하기 위해, 계량 디바이스는 태너 이분 그래프의 128개의 변수 노드와 태너 이분 그래프의 64개의 제약 노드를 포함하는 태너 이분 그래프로 표현된 제어 행렬에 기초하여 LDPC 코드를 사용하여 신호들을 인코딩하도록 구성된 LDPC 인코더가 구비되고, 상기 코드는: 상기 태너 이분 그래프의 제약 노드들의 각각이 상기 태너 이분 그래프의 7 개의 변수 노드들에 연결되고; 상기 태너 이분 그래프의 사이클들의 각각이 6 이상의 길이를 가지며; 상기 코드의 최소 거리는 최소 거리를 위해 미리 정의된 임계치 이상인 것을 특징으로 한다. 상기 LDPC 코드의 다양한 실시 형태들이 다음의 도면을 참조하여 설명된다. 이 인코더는 하드웨어 또는 소프트웨어의 형태로 구현될 수도 있다. 예를 들어, 그것은 본 발명에 따른 LDPC 코드를 디코딩하기 위해 프로세서가 구성될 수 있게 하는 코드 명령의 형태로 존재할 수도 있다. 본 발명의 또 다른 실시 형태에서, 이것은 전자 계산 로직의 형태를 취할 수도 있다. 본 발명에 따른 LDPC 인코더의 사용은 원격 판독 데이터의 프레임들이 낮은 에너지로 송신될 수 있게 하여, 배터리의 수명을 연장시킬 수 있다.
원격 판독 데이터는, LDPC 코드의 적용 후에, 인코딩된 데이터의 프레임을 형성한다. 상기 데이터의 프레임을 송신하기 위해, 계량 디바이스들은 본 발명에 따른 LDPC 인코더에 의해 인코딩된 물, 가스 또는 전기에 대한 원격 판독 데이터를 포함하는 데이터의 프레임들을 송신하도록 구성된 적어도 하나의 송신기가 구비된다. 데이터 송신기는 예를 들어 변조기 및 무선 안테나를 포함하는 계량 디바이스에 통합된 모뎀일 수도 있다. 본 발명의 다양한 실시형태에 따르면, 변조는 예를 들어 GMSK (Gauss Minimum Shift Keying 를 나타냄) 또는 GFSK (Gaussian Frequency Shift Keying 를 나타냄) 유형일 수도 있다. 본 발명은 또한 BPSK (Binary Phase Shift Keying 를 나타냄), QPSK (Quadrature Phase Shift Keying 를 나타냄), OQPSK (Offset Quadrature Phase Shift Keying 를 나타냄) 등의 변조와 같은 다른 유형의 변조에도 적용될 수도 있다.
LAN 모뎀들 (120, 130, 140) 은 무선 링크를 통해 계량 디바이스들 (110, 11, 112, 113, 114, 115) 로부터 데이터를 수신하도록 구성된다. LAN 모뎀들 (120, 130, 140) 의 각각은 그것의 무선 커버리지 영역 내에 위치된 계량 디바이스들로부터 데이터를 수신할 수 있다. 3개의 모뎀들 (120, 130, 140) 의 무선 커버리지 영역은 각각 영역 (121, 131, 141) 이다. 예를 들어, 계량 디바이스 (110) 는 무선 커버리지 영역 (121) 내에 위치하고: 따라서 계량 디바이스 (110) 에 의해 송신된 데이터는 LAN 모뎀 (120) 에 의해 수신될 것이다. 한편, 계량 디바이스 (111) 는 무선 커버리지 영역 (121) 내에 그리고 무선 커버리지 영역 (131) 내에 양자 모두에 위치된다. 따라서, 계량 디바이스 (111) 에 의해 전송된 데이터는 LAN 모뎀 (120) 과 LAN 모뎀 (130) 양자 모두에 의해 수신될 것이다. 본 발명의 다양한 실시 형태들에 따르면, 계량 디바이스와 모뎀 간의 링크는 단방향 또는 양방향 링크일 수도 있다. 단방향 링크의 경우, 계량 디바이스는 주기적으로 소비량 데이터 값을 전송할 수도 있다. 양방향 링크의 경우, 소비량 데이터 값은 모뎀 (120, 130 또는 140) 으로부터의 메시지에 응답하여 전송될 수도 있다. 본 발명의 다른 실시 형태들에서, 모뎀 (120, 130, 140) 은 이동 가능하다.
매우 잡음이 많은 채널을 통한 송신을 가능하게 함으로써, 본 발명에 따른 LDPC 코드의 사용은 원격 판독 데이터의 송신 범위를 증가시킬 수 있게 한다. 따라서, 결과적으로, 무선 커버리지 영역이 확대된다. 이는 동일한 수의 계량 디바이스를 커버하기 위한 허브/모뎀의 수를 감소시키는 것, 및/또는 신호가 센싱되는 계량 디바이스의 수를 증가시키는 것을 모두 가능하게 한다. 따라서, 본 발명에 따른 LDPC 코드의 사용은 아주 적은 접근 가능성을 갖는 계량 디바이스들의 원격 판독, 예를 들어 깊이 매설된 사이트 상의 계량 디바이스들의 원격 판독을 가능하게 한다.
LAN 모뎀들 (120, 130, 140) 은 이더넷 링크들, 각각 링크들 (122, 132 및 142) 을 통해 집중기들 (150, 151) 에 링크된다.
집중기들 (150, 151) 은 계량 디바이스들로부터 나오는 데이터를 WAN 네트워크 (160) 를 통해 IS (170) 로 전송한다. WAN 네트워크 (160) 는 예를 들어 네트워크 2G 또는 3G 일 수도 있다. 따라서, 정보 시스템 (170) 은 계량 디바이스들로부터 나오는 모든 데이터를 수집할 수 있고, 소비량의 원격 판독을 효율적으로 수행할 수 있다. 따라서, 이들 데이터는 다양한 사용자의 소비량을 계산하는 데 사용가능할 것이다. 본 발명의 다른 실시형태들에 따르면, 계량 디바이스들로부터 나오는 데이터는 또한 분배 네트워크상의 이벤트들의 검출을 향상 시키는데 사용될 수도 있다. 예를 들어, 계량 디바이스가 물 분배 네트워크 상의 소비를 위한 계량 디바이스들인 실시 형태에서, 소비량 데이터는 물 분배 네트워크에서 누출을 검출하는데 사용가능할 것이다. 본 출원인에 의해 출원된 유럽 특허 출원 제 15306029.8 호 및 제 15306546.1 호는 물 분배 네트워크에서의 이벤트들을 검출하는 방법을 각각 기술하며, 여기서 원격 판독으로부터 나오는 데이터를 포함할 수있는 센서로부터의 데이터는 물 분배 네트워크에서의 누출과 같은 이벤트들을 검출하는 데 사용된다.
아키텍처 (100) 는 단지 비제한적인 예로서만 설명된다. 당업자는 다른 아키텍처, 특히 임의의 수의 계량 디바이스, 허브 및/또는 LAN 모뎀을 포함하는 것을 상상할 수 있다.
도 2는 본 발명의 일 실시 형태에서의 데이터 집중기의 물리적 아키텍처를 도시한다.
집중기 (200) 는 LAN 모뎀일 수도 있는 적어도 하나의 수신기를 포함한다. 이는 내부 LAN 모뎀 (210) 및/또는 외부 LAN 모뎀 (220) 일 수 있다. LAN 모뎀은 계량 디바이스들로부터 데이터를 수신하기 위한 안테나 (211, 221) 를 포함할 수도 있고, 이더넷 링크 (212, 222) 를 통해 패치 보드 (230) 에 연결된다. 이더넷 링크 (221, 222) 는 데이터의 송신 및 모뎀의 전력공급 모두를 위해 사용될 수도 있다. 외부 모뎀의 경우, 유선 이더넷 링크는 제한된 길이, 예를 들어, 100m 를 가질 수도 있다.
본 발명의 일 실시 형태에서, 계량 디바이스들과 수신기 (211, 221) 사이의 무선 링크는 표준 EN13757-4에 기초한 프로토콜을 사용하며, 예를 들어, 169.45 MHz 일 수도 있는, 중심 주파수 주위로 예를 들어 +/-50 KHz 의 수신 대역을 사용할 수도 있다. 다음으로, LAN 모뎀 (210, 211) 은 폭 12.5 kHz의 6 채널을 동시에 필터링하도록 구성될 수도 있다. LAN 모뎀 (210, 211) 은 적어도 하나의 복조기를 포함한다. 임의의 유형의 변조가 본 발명에서 사용될 수도 있다. 본 발명의 일부 실시 형태에서, 복조기는 예를 들어 다음의 복조기들 중 하나에 의해 채널들 각각을 복조하도록 구성될 수도 있다:
Figure pct00005
2400bps (bits per second) 에서의 송신 모드와 호환되는 GFSK (Gaussian Frequency-Shift Keying 을 나타냄) 복조기;
Figure pct00006
표준 pr-EN13757-4 의 송신 모드 N/2400 bps 와 호환되는 GFSK 복조기;
Figure pct00007
표준 pr-EN13757-4 의 모드 N/4800bps 와 호환되는 GFSK 복조기;
Figure pct00008
모드 WM-HSPEED (6400bps) 와 호환되는 4GFSK 복조기;
Figure pct00009
오더 (order)
Figure pct00010
의 GMSK 복조기, 오더
Figure pct00011
의 GMSK 변조는 LDPC 코드의 송신에 특히 효율적인 것으로 드러난다.
모뎀 (210, 220) 은 또한 본 발명에 따른 LDPC 디코더를 포함한다. 이 디코더는 하드웨어 또는 소프트웨어의 형태로 구현될 수도 있다. 예를 들어, 그것은 본 발명에 따른 LDPC 코드를 디코딩하도록 프로세서가 구성될 수 있게 하는 코드 명령의 형태로 존재할 수도 있다. 본 발명의 또 다른 실시 형태에서, 이것은 전자 계산 로직의 형태를 취할 수도 있다.
본 발명에 따른 LDPC 디코더의 존재는 모뎀 (210, 220) 이 매우 잡음이 많은 채널을 통해 송신된 신호를 디코딩할 수 있게 한다. 따라서, 멀리 떨어져 위치되거나 매설된 계량 디바이스에 의해 송신되거나 및/또는 저 전력으로 송신되는 원격 판독 프레임들이, 어떤 비트가 송신 중에 변경되어도, 올바르게 디코딩될 수 있을 것이다. 따라서, 모뎀 (210, 220) 의 무선 커버리지 영역이 넓어질 것이다. 다음으로, 더 멀리 떨어져 있거나 접근 가능성이 더 적은 계량 디바이스들로부터 프레임들을 수신하는 것 및/또는 허브의 수를 감소시키는 것이 가능하다. 따라서 원격 판독의 동작 효율이 증가될 것이다.
패치 보드 (230) 자체는 이더넷 링크 (242) 를 통해 WAN 모뎀에 연결된다. WAN 모뎀은 IS (정보 시스템) 로 데이터의 전송을 가능하게 한다. 예를 들어, WAN 모뎀 (240) 은 WAN 네트워크 (160) 를 통해 IS (170) 로 데이터의 전송을 가능하게 할 수도 있다. 본 발명의 다양한 실시 형태에 따르면, WAN 모뎀 (240) 은 WAN 네트워크가 2G 네트워크인 경우 2G 모뎀, WAN 네트워크가 3G 네트워크인 경우 3G 모뎀 등일 수도 있다. WAN 모뎀은 당해 (in question) WAN 네트워크 유형에 적합한 안테나 WAN (241) 을 구비한다. 본 발명의 일 실시 형태에서, WAN 모뎀 (240) 은 또한 GPS 수신기 (243) 를 구비한다.
허브 (200)는 전력 공급 블록 (250) 에 의해 전력 공급된다. 전력 공급 블록 (250) 은 회로 차단기 (circuit breaker), 과전압 보호부 (252) 및 AC/DC 변환기 (253) 를 포함하고, 주 전원 공급 아울렛 (mains supply outlet; 254) 을 통해 전력 공급된다.
따라서, 허브 (200) 는 LAN 모뎀 (210, 220) 의 무선 커버리지 영역 내에 위치한 계량 디바이스들에 의해 송신된 메시지들을 LAN 모뎀 (210, 220) 을 통해 수신한 다음, 이들을 WAN 모뎀 (240) 을 통해 IS, 예를 들어, IS (170) 에 송신할 수 있다. 따라서, 데이터 집중기 (200) 의 아키텍처는 계량 디바이스에 의해 로컬적으로 생성된 메시지들이 원격 IS 로 송신될 수 있게 한다.
도 3은 본 발명의 일 실시 형태에서 물 분배 네트워크를 위한 원격 판독 데이터의 송신을 위한 메시지 프레임을 도시한다.
메시지 프레임 (300) 은 원시 데이터 (raw data) 로부터 시작하여 변조된 프레임까지 이르는, 그의 연속적인 형성 단계에 따라 도시될 것이다.
본 발명에 따른 메시지 프레임 (300) 은 임의의 유형의 데이터를 포함할 수도 있다. 본 발명의 일 실시 형태에서, 이것은 물 또는 에너지, 예를 들어 가스 또는 전기에 대한 원격 판독 데이터를 포함한다.
제 1 단계 (310) 는 원시 데이터 (311) 를 획득하는 데 있다. 원시 데이터 (311) 는 예를 들어 물 또는 에너지 소비에 대한 원격 판독 데이터를 포함한다. 원격 판독 데이터는 예를 들어 매일의 소비량을 포함할 수도 있다. 일 실시 형태에서, 원시 데이터는 6 내지 254 바이트 범위 내에 있다.
제 2 단계 (320) 는 원시 데이터 (311) 전에 프레임의 길이를 나타내는 길이 필드를 포함하는 헤더 (321) 를 부가하고 원시 데이터 후에 CRC (Cyclic Redundancy Check 를 나타냄) 바이트 (322) 를 부가하는 데 있다. CRC 바이트는 원시 데이터 내에서 송신 오류를 검출할 수 있게 한다. 본 발명의 일 실시 형태에서, 길이 필드 (321) 는 1 바이트 상에 코딩되고, 제 2 단계 (320) 의 끝에서의 프레임은 8 내지 256 바이트 범위의 길이를 갖는다.
제 3 단계 (330) 는 프레임을 블록들 (331, 332, 333) 로 분리하는 데 있다. 본 발명의 일 실시 형태에서, 각 블록의 크기는 6 내지 8 바이트 범위 내에 있으며, 블록 크기의 분포는 프레임의 크기에 의존한다. 6 내지 8 바이트의 블록의 사용은 효율적인 LDPC 코딩으로부터 이익을 얻기에 충분한 크기의 블록을 얻을 수 있게 한다. 프레임 (300) 은 3 개의 블록 (331, 332, 333) 을 포함한다. 그러나, 본 발명의 다른 실시 형태에서, 본 발명에 따른 프레임은 더 많거나 적은 블록을 포함할 수도 있다.
제 4 단계 (340) 는 각 블록에 LDPC 코딩을 적용하는 데 있다. 이 단계의 끝에서, 프레임은 본 발명의 LDPC 코드에 따라 코딩된 중복 바이트들을 포함하는 블록들 (341, 342, 343) 을 포함한다.
제 5 단계 (350) 는 블록들에 의사-랜덤 분산 시퀀스 (pseudo-random dispersion sequence) 를 적용하는 데 있다. 이러한 의사-랜덤 분산 시퀀스는 송신된 프레임에 거의 의존하지 않는 평균 밀도의 천이들이 얻어질 수 있게 하다. 본 발명의 일 실시 형태에서, 분산 시퀀스는 하기 방식으로 정의된다:
Figure pct00012
코딩된 프레임은 N 비트의 시퀀스
Figure pct00013
에 의해 정의된다;
Figure pct00014
코딩된 프레임은 하기 연산에 의해 분산 시퀀스 dk 와 2진 배타적 OR 연산자의 적용에 의해 일련의 N 개의 심볼들
Figure pct00015
로 변환된다:
Figure pct00016
, 여기서 연산자
Figure pct00017
는 좌측 피연산자의 비트와 우측 피연산자의 비트 사이의 이진 배타적 OR 을 나타낸다.
Figure pct00018
시퀀스는 반복 방식으로 정의된다:
Figure pct00019
12 개의 초기 값들은
Figure pct00020
;
Figure pct00021
추가 값은
Figure pct00022
에 의해 정의된다
제 6 단계 (360) 는 헤더 (361) 를 프레임에 추가하는 데 있다. 이 미리정의된 헤더 (361) 는 수신기로 하여금 본 발명의 데이터의 프레임들을 식별할 수 있게 한다.
제 7 단계 (370) 는 차동 코딩 (differential coding) 을 프레임에 적용하는 데 있다.
제 8 단계 (380) 는 차동 코딩 후에 프레임에 변조를 적용하는 데 있다. 본 발명의 일 실시 형태에서, 프레임의 변조는 GMSK 유형이다.
프레임 (300) 은 단지 예시로서 주어지고, 수많은 다른 프레임 포맷들이 당업자에 의해 개발될 수 있다. 예를 들어, 당업자는 상이한 크기의 블록을 선택하거나, 상이한 분산 시퀀스를 선택하거나, 분산 시퀀스를 적용하지 않거나, 또는 다른 유형의 변조를 적용가능할 것이다.
도 4a 및 도 4b 는 각각 프로토그래프의 예와 본 발명의 일 실시 형태에서 프로토그래프로부터 태너 이분 그래프를 얻을 수 있는 순열 (protograph) 의 예를 도시한다.
도 4a는 본 발명의 일 실시 형태에서의 프로토그래프를 도시한다. 본 발명의 실시 형태의 세트에서, 이분 그래프는 프로토그래프, 예를 들어, 도 4a 에 도시된 프로토그래프 (400a) 로부터 유도된다. 이 프로토그래프는 간단하고 효율적인 방식으로 태너 그래프를 구성할 수 있게 한다. 프로토그래프의 사용은 특히, Thorpe, J. (2003). Low-density parity-check (LDPC) codes constructed from protographs. IPN progress report, 42(154), 42-154 에 의해 설명된다.
본 발명에 따른 LDPC 코드는, 그래프의 128개의 변수 노드와 그래프의 64개의 변수 노드를 포함하는 태너 이분 그래프로 표현된 제어 행렬에 기초한다. 태너 그래프는 그래프의 제약 노드들의 각각이 그래프의 7 개의 변수 노드들에 연결된다는 점에서 주목할만하다.
더욱이, 상기 태너 이분 그래프는 6보다 작은 길이의 임의의 사이클을 포함하지 않으며, 이는 본 발명에 따른 LDPC 코드의 성능을 더 향상시킬 수 있게 한다. 이것은, 태너 그래프에서 짧은 길이의 사이클이 존재하면 디코딩시, 올바르지 않은 빌리프의 전파를 갖게 되고, 따라서 에러를 검출하지 못하거나 또는 전파할 가능성이 높아지기 때문이다. 따라서, 본 발명에 따른 그래프에서 길이 4의 사이클이 없으면, 가장 중대한 에러 전파의 경우가 제거될 수 있고, 본 발명에 따른 LDPC 코드의 성능 특성이 향상될 수 있다.
본 발명의 일 실시 형태에서, 태너 그래프의 길이 6의 사이클의 수는 또한 미리 정해진 사이클 수보다 작다. 그래프에서 길이 6의 사이클의 존재는 길이 4의 사이클의 존재보다 덜 중대하더라도, 이들의 존재를, 잘못된 신념이 전파될 수도 있는 사이클의 수를 제한하기 위해, 제한하는 것이 바람직하다. 본 발명의 일 실시 형태에서, 태너 이분 그래프의 길이 6의 사이클의 수는 640 보다 작다. 이 값은 강력한 코드 (performant code) 를 포함하기에 충분히 넓은 LDPC 코드 류가 얻어질 수 있게 하면서, 동시에 사실상 길이 6 의 더 높은 사이클 수를 가지며, 따라서 일반적으로 열등한 성능 특성을 갖는 코드를 없앤다.
또한, 본 발명에 따른 LDPC 코드의 최소 거리 또는 해밍 거리 (Hamming distance) 는 미리 정의된 임계치 이상이다. 이 특징은 코드 워드가 서로 충분히 상이하도록 보장함으로써, 본 발명에 따른 LDPC 코드의 성능을 더욱 향상시킬 수 있게 한다. 본 발명의 일 실시 형태에서, 본 발명에 따른 LDPC 코드의 최소 거리는 14 이다.
본 발명의 실시 형태들의 세트에서, 본 발명에 따른 LDPC 코드는 미리 정의된 신호 대 잡음 비를 갖는 송신을 위해 미리 정의된 에러율보다 작은 오류율을 나타낸다. 이 특성은, 메시지를 코딩하고 주어진 신호 대 잡음 비로 송신을 시뮬레이션함으로써 실험적으로 검증될 수도 있다. 본 발명의 일 실시 형태에서, 에러율은 -1.17dB 의 신호 대 잡음 비를 갖는 송신에 대해 50 % 미만이다.
프로토그래프 (400a) 는 프로토그래프 (410a, 411a, 412a, 413a, 414a, 415a, 416a 및 417a) 의 8 개의 변수 노드를 포함한다. 프로토그래프 (410a, 411a, 412a 및 413a) 의 변수 노드는 송신될 메시지의 유용한 비트를 포함하는 반면, 프로토그래프의 변수 노드 (414a, 415a, 416a, 417a) 는 중복 비트를 포함한다. 프로토그래프의 각각의 변수 노드는 그래프의 16개의 변수 노드들의 그룹이다. 프로토그래프 (400a) 는 또한 4개의 제약 노드 (420a, 421a, 422a 및 423a) 를 포함한다. 프로토그래프의 제약 노드들의 각각은 프로토그래프의 7개의 변수 노드들에 연결된다. 도 4a 에 있는 라인들은 노드들 사이의 링크를 나타낸다. 예를 들어, 제약 노드 (420a) 는 7개의 변수 노드 (410a, 411a, 412a, 413a, 415a, 416a, 및 417a) 에 연결된다.
동등한 방식으로, 프로토그래프는 행렬에 의해 표현될 수도 있으며, 각각의 제약 노드는 행렬의 행에 의해 표현되고, 각각의 변수 노드는 행렬의 열에 의해 표현되고, 행과 열 상에서 정의되는, 상기 행렬의 각각의 셀은, 상기 셀의 행에 의해 표현되는 변수 노드와 열에 의해 표현되는 제약 노드가 연결될 때, 값 1, 및 반대의 경우에 값 0 을 포함하고, 상기 행렬은 그 값들에 의해 정의된다. 따라서, 도 4a 에 있는 프로토그래프는 하기 행렬:
Figure pct00023
에 의해 표현된다.
도 4b 는 본 발명의 일 실시 형태에서 프로토그래프로부터 태너 이분 그래프를 얻을 수 있게 하는 오더 1의 순환 순열 (protograph) 의 예를 도시한다.
도 4b에 도시된 순열 (440b) 은 프로토그래프의 변수 노드 (410a) 와 연관된 그래프의 16개 변수 노드 그룹과, 포로토그래프의 제약 노드 (421a) 와 연관된 그래프의 16 개 제약 노드 그룹 사이의 링크에 적용되는 순열을 나타낸다. 유사한 순열은 도 4a 에 도시된 모든 천이에 적용 가능하다. 그래프의 변수 및 제약 노드는 변수 노드 또는 제약 노드의 그래프에서 그들의 오더에 따라 정렬된다. 예시된 예에서, 순열은 1이다: 그래프의 각 변수 또는 제약 노드가 노드 그룹 내에서 그의 위치를 나타내는 0 내지 15 범위에서 오더 i 를 갖는 것으로 고려되는 경우, 오더 i 의 각 변수 노드는, 오더 0 의 변수 노드에 연결된 오더 15의 변수 노드를 제외하고 오더 i + 1의 제약 노드에 연결된다.
보다 일반적으로, 본 발명의 일 실시 형태에서, 프로토그래프의 변수 노드가 프로토그래프의 제약 노드에 연결될 때, 그래프의 변수 노드들과 그래프의 연관된 제약 노드들 사이의 링크들을 허용하는 순열은 0 내지 15 범위에서 순열의 단일 오더 n 에 의해 정의된다. 위에 정의된 표기에 따르면, 그래프의 변수 노드 그룹의 오더 i의 그래프의 변수 노드는 오더 (i + n) mod 16 의 제약 노드에 연결된다. 본 발명의 또 다른 실시형태에서, 그래프의 변수 노드 그룹의 오더 i의 그래프의 변수 노드는 오더 (i - n) mod 16 의 제약 노드에 연결된다. 본 발명의 또 다른 실시 형태에서, 이들 2 개의 가능성 중 하나는 유용한 비트를 나타내는 변수 노드와의 링크에 사용되며, 다른 하나는 중복 비트를 나타내는 변수 노드와의 링크에 사용된다. 이하의 설명 부분에서, 두 가지 가능성 (오더 i의 변수 노드를 (i + n) mod 16 의 제약 노드에 연결하고; 오더 i의 변수 노드를 오더 (i - n) mod 16 의 제약 노드에 연결하는 것) 의 각각은 순열 규약 (permutation convention) 으로서 정의될 것이고, 그 2개의 순열 규약은 각각 "순열 규약 (i + n) mod 16" 및 "순열 규약(i - n) mod 16)" 로 표기된다.
도 5a, 도 5b 및 도 5c는 각각 본 발명에 따른 LDPC 코드의 구조, 본 발명에 따른 LDPC 코드에 대한 제약의 세트로서, 그것이 길이 4의 임의의 사이클을 포함하지 않도록 보장할 수 있게 하는, 그러한 제약의 세트, 및 본 발명에 따른 LDPC 코드의 일례를 도시한다.
도 5a는 본 발명에 따른 LDPC 코드의 구조를 도시한다.
본 발명에 따른 LDPC 코드는 행렬 (500a) 에 의해 정의될 수도 있다. 행렬 (500a) 의 각 셀은 예를 들어 순열 (400b) 에 의해 정의된 바와 같은 순열 오더를 저장한다.
4개의 라인들 (520a, 521a, 522a, 523a) 은 각각 프로토그래프의 4개의 제약 노드 (420a, 421a, 422a, 423a) 를 나타낸다. 4개의 열들 (510a, 511a, 512a, 513a) 은 각각 유용한 비트들과 연관된 프로토그래프의 4개의 변수 노드 (410a, 411a, 412a, 413a) 를 나타낸다. 4개의 열들 (514a, 515a, 516a, 517a) 은 각각 중복 비트들과 연관된 프로토그래프의 4개의 변수 노드 (414a, 415a, 416a, 417a) 를 나타낸다. 따라서, 셀 (540a) 은 예를 들어, 프로토그래프의 변수 노드 (410a) (제 1 열) 와 프로토그래프의 제약 노드 (421a) (제 2 행) 사이의 링크의 순열 오더를 포함한다.
행렬 (500a) 의 구조는 명확하게 프로토그래프 (400a) 의 구조를 반영한다 : 프로토그래프의 각각의 제약 노드는 유용한 비트를 나타내는 프로토그래프의 4 개의 변수 노드에 그리고 중복 비트를 나타내는 프로토그래프의 3 개의 변수 노드에, 즉 모두 프로토그래프의 7 개의 변수 노드에 링크된다. 또한, 각각 열들과 행들 (520a 과 514; 521a 과 515a; 522a 과 516a; 523a 과 517a) 사이에 순열 오더를 포함하는 셀들의 부재는 각각 노드들 (420a 과 414a; 421a 과 415a; 422a 과 416a; 423a 과 417a) 사이의 링크들의 부재에 대응한다.
따라서 행렬 (500a) 의 셀들에 포함된 모든 순열 오더들은 태너 그래프가 결정적 방식으로 정의될 수 있게 한다 : 각 셀의 순열 오더를 대응하는 그래프의 16 개의 변수 노드 그룹과 16 개의 제약 노드 그룹에 적용하는 것은 그래프의 제약 노드와 변수 노드 사이의 모든 링크가 생성될 수 있게 한다. 본 발명의 일 실시 형태에서, 이들 링크들은 행렬 (500a) 로부터 유도된 링크들의 행렬 형태로 표현되고, 행렬 (500a) 의 각 행은 16으로 분할되고, 행렬 (500a) 의 각 열은 또한 16으로 분할되며, 그래프의 제약 노드와 변수 노드 사이의 링크들 또는 링크들의 부재는 제어 행렬에서 "1들" 및 "0들" 로 각각 표현된다.
도 5b는 길이 4의 사이클을 포함하지 않도록 보장하는 것을 가능하게 하는 본 발명에 따른 LDPC 코드에 대한 제약 세트를 도시한다.
태너 그래프의 이분 구조는 다음 두 가지 속성에 이른다: 그래프에서 하나의 사이클은 반드시, 4 이상인 짝수 길이 (even length) 를 가진다. 더욱이, 길이 4의 사이클은 그래프의 2 개의 제약 노드가 유용한 비트를 나타내는 그래프의 동일한 변수 노드에 연결되고 중복 비트를 나타내는 그래프의 동일한 변수 노드에 연결되는 경우에만 얻어진다. 태너 그래프가 프로토그래프 (400a) 와 같은 프로토그래프에 의해 그리고 순열 (400b) 과 같은 순열에 의해 얻어지는 본 발명의 실시 형태에서, 길이 4 의 사이클은, 행들 (520a, 521a, 522a, 523a) 중에서 2개의 상이한 행들 l 1 l 2 , 열들 (510a, 511a, 512a, 513a) 중에서 열 c 1 , 그리고 열들 (514a, 515a, 516a 및 517a) 중에서 제 2 열 c 2 에 대해, 좌표 i { c 1 , l 1 }, i { c 1 , l 2 }, i { c 2 , l 1 } 및 i { c 2 , l 2 } 를 갖는 셀들에 각각 포함된 i { c 1 , l 1 }, i { c 1 , l 2 }, i { c 2 , l 1 } 및 i { c 2 , l 2 } 의 순열 오더의 값들이 하기와 같도록 하는 것인 경우에 얻어진다:
Figure pct00024
유용한 비트를 나타내는 변수 노드들과의 링크가 중복 비트를 나타내는 변수 노드와 동일한 순열 규약을 갖는 경우에, (i { c 1 , l 1 } - i { c 2 , l 1 }) mod 16 = (i { c 1 , l 2 } - i { c 2 , l 2 }) mod 16;
Figure pct00025
유용한 비트를 나타내는 변수 노드들과 그리고 중복 비트를 나타내는 변수 노드와 링크가 상이한 순열 규약을 갖는 경우에, (i { c 1 , l 1 } + i { c 2 , l 1 }) mod 16 = (i { c 1 , l 2 } + i { c 2 , l 2 }) mod 16;
도 500b 는 길이 4의 사이클의 검출의 일례를 도시한다. 이 예에서, 셀들 (541b, 542b, 543b 및 544b) 상에서 길이 4의 사이클들의 검출이 수행될 것이다. 셀들 (541b 및 542b) 은 행 (521b) 상에, 셀들 (543b 및 544b) 는 행 (523b) 상에, 셀들 (541b 및 543b) 는 열 (511b) 상에, 그리고 셀들 (542b 및 544b) 는 행 (514b) 에 위치하고 있다. 따라서 4 개의 셀에는 다음과 같은 순열 오더가 포함된다:
- 셀 (541b) 오더 a, 프로토그래프 (400a) 의 노드들 (411a 및 421a) 사이의 링크에 할당된 순열을 나타냄;
- 셀 (542b) 오더 c, 프로토그래프 (400a) 의 노드들 (414a 및 421a) 사이의 링크에 할당된 순열을 나타냄;
- 셀 (543b) 오더 c, 프로토그래프 (400a) 의 노드들 (411a 및 423a) 사이의 링크에 할당된 순열을 나타냄; 
- 셀 (544b) 오더 d, 프로토그래프 (400a) 의 노드들 (414a 및 423a) 사이의 링크에 할당된 순열을 나타냄;
이 예에서, 규약 (i + n) mod 16 에 따른 순열은, 이들이 유용한 비트를 나타내는 변수 노드와의 링크인지 또는 중복 비트를 나타내는 변수 노드와의 링크인지에 관계인지 간에, 프로토그래프의 모든 링크에 할당된다는 것이 가정될 것이다. 당업자라면 다른 순열 규약들이 사용된다면 이러한 조건들을 쉽게 적합하게 할 수 있을 것이다.
조건 (a-c) mod 16 = (b-d) mod 16 이 검증되면, 이는 프로토그래프의 변수 노드 (411a) 와 연관된 그래프의 16개 변수 노드 그룹 내에서 오더 i 의 변수 노드가 제약 노드 (521b) 중 하나를 통과하는 2 개의 링크 라인에 의해 프로토그래프의 변수 노드 (414b) 와 연관된 그래프의 16 개의 변수 노드 그룹 내의 오더 (i+a-c) mod 16 의 변수 노드에 연결되는 것을 의미한다.
그러나, 오더 i의 동일한 변수 노드는 제약 노드 (523b) 중 하나를 통과하는 2 개의 링크 라인에 의해 프로토그래프의 변수 노드 (414b) 와 연관된 그래프의 16 개 변수 노드 그룹에서 오더 (i+b-d) mod 16 의 변수 노드에 연결된다. 그러므로, 조건 (a-c) mod 16 = (b-d) mod 16 이 검증되면, 오더 (i+a-c) mod 16 과 오더 (i+b-d) mod 16 의 노드는 동일하다: 두 개의 노드는 두 개의 링크 라인들의 2개의 분리된 그룹에 의해 연결되고, 길이 4의 사이클이 형성된다.
길이 4의 사이클은 유용한 비트를 나타내는 변수 노드와 중복 비트를 나타내는 변수 노드를 연결하고 2개의 상이한 제약 노드를 통과하는 2 개의 링크 라인 그룹에 의해서만 형성될 수도 있다. 따라서, 그래프에서 길이 4의 사이클의 부재는, 2개의 행들 및 2개의 열들 상에 배치된 4 오더의 그룹 (열들 중 하나는 유용한 비트를 나타내는 프로토그래프의 노드에 대응하고 다른 하나는 중복 비트를 나타내는 프로토그래프의 노드에 대응함) 이 위에 설명된 조건들 중 하나를 검증하지 않는다면, 입증될 수 있다.
도 5c 는 본 발명에 따른 LDPC 코드의 일례는 도시한다.
행렬 (500c) 은 본 발명에 따른 LDPC 코드를 정의하는 태너 그래프를 행렬 (500a) 의 규약에 따른 순열 오더들에 의해 정의한다. 제어 행렬 (500c) 은, 길이 4의 사이클을 갖지 않고, 길이 6의 사이클을 544 개 갖고, 14와 동일한 2 개의 코드 워드들 사이의 최소 거리를 갖는 태너 그래프에 의해 표현된다. 이 제어 행렬에 기초한 LDPC 코드는 특히 높은 성능을 나타낸다.
실로, 이 행렬은 유리한 성질을 가지고 있음에 주목해야 한다. 코드의 최소 거리는 길이가 128 의 코드에 대해 14 이다. 따라서 이 행렬에 대한 코드의 최소 거리 / 길이 비는 0.1094 이다. 통상적인 코드의 최소 거리/길이 비는 예를 들어, SHORT PROTOGRAPH-BASED LDPC CODES, Dariush Divsalar, Sam Dolinar and Christopher Jones, Military Communications Conference, 2007. MILCOM 2007. IEEE, section IV. 에 의해 개시된다. 따라서 규칙적 코드 (3,6) 의 통상적인 비는 0.023 인 반면, 무작위 코드의 통상적인 비는 0.11 이다. 따라서, 이 류에 대한 코드의 최소 거리/길이 비는 매우 높은 것 (무작위 코드에 가깝고, 종래 규칙적 코드 (3,6) 보다 훨씬 높음) 이 관찰된다. 이는 본 발명에 따른 LDPC 코드가 양호한 디코딩 성능을 가질 수 있게 한다. 그러나, 본 발명에 따른 코드는 무작위 코드보다 더 구조화되어 있으며, 이는 무작위 코드보다 인코딩 및 디코딩을 훨씬 더 간단할 수 있게 한다.
도 6a 및 도 6b 는 본 발명에 따른 LDPC 코드를 정의하는 두 가지 방법을 도시한다.
우수한 성능 특성을 나타내는 LDPC 코드의 정의는 복잡한 작업이다. 모든 가능한 조합을 테스트하고 최상의 코드를 유지하는 데 있는 "브루트 포스" (brute force) 솔루션이라고 하는 한 가지 솔루션은 실제로 구현하는 것이 불가능하다. 이것은 모든 가능한 코드의 조합 분석이 테스트할 코드의 수가 너무 많아 철저한 방식 (exhaustive manner) 으로 테스트할 수 없게 만들기 때문이다. 본 발명의 목적 중 하나는, 예를 들어 개인 워크 스테이션 상에서 구현됨으로써, 표준 프로세싱 능력으로를 포함하여, 구현될 수 있는 고성능을 나타내는 LDPC 코드를 정의하는 방법을 제공하는 것이다.
방법 (600a) 은 본 발명의 일 실시 형태에서 LDPC 코드를 정의하는 방법이다. 방법 (600a) 은 그래프의 128개의 변수 노드와 그래프의 64개의 제약 노드를 포함하는 태너 이분 그래프로 표현된 제어 행렬에 기초하여 LDPC 코드 세트를 정의하는 제 1 단계 (610) 로서, 상기 코드들의 각각은: 상기 그래프의 제약 노드들의 각각은 상기 그래프의 7 개의 변수 노드들에 연결되고; 상기 그래프의 사이클들의 각각은 6 이상의 길이를 가지는 것을 특징으로 하는, 상기 제 1 단계 (610); 최소 거리에 대해 미리정의된 임계치 이상인 최소 거리를 갖는 코드들을 선택하는 제 2 단계 (620) 를 포함한다. 본 발명의 실시 형태들의 일 세트에서, 최소 거리에 대한 미리 정의된 임계치는 14 와 같다.
방법 (600a) 은 전술한 특성들에 부합하는 태너 그래프들을 구성함으로써 LDPC 코드 세트를 정의하는 단계 (610) 가 구현될 수도 있다는 점에서 유리하다. 단계 (610) 는 LDPC 코드의 큰 세트가 생성될 수 있게 하지만, 그럼에도 불구하고 모든 가능한 LDPC 코드보다 상당히 작으면서, 동시에 이렇게 만들어진 세트의 LDPC 코드는 높은 성능율을 나타내는 것을 보장한다. 단계 (620) 는 LDPC 코드의 서브세트가, 너무 작은 최소 거리로 인해 감소된 성능 특성을 나타내는 것들을 제거함으로써, 필터링될 수 있게 한다.
방법 (620b) 은 본 발명의 실시 형태들의 세트에서 LDPC 코드를 정의하는 방법이다. 그 방법 (620b) 은 제 1 단계 (610) 및 제 2 단계 (620) 를 포함한다. 제 1 단계 (610) 는 여러 연속적인 서브단계들로 분리된다.
제 1 서브단계 (611b) 는 프로토그래프 (400a) 의 모델 상에 하나 이상의 프로토그래프를 구성하는 데에 있다. 본 발명의 실시 형태들의 일 세트에서, 그 프로토그래프는 순열 (440b) 과 같은 순열들의 세트 및 행렬 (500a) 과 같은 순열 오더들의 행렬에 의해 정의된다. 본 발명의 일 실시 형태에서, 서브단계 (611b) 는 행렬 (500a) 과 같은 행렬에서의 모든 가능한 오더 조합에 대응하는 모든 프로토그래프를 구성하는 데에 있다. 서브단계 (611b) 는 높은 성능 특성을 나타내는 LDPC 코드들의 류가 정의될 수 있게 한다.
제 2 서브단계 (612b) 는 길이 4의 사이클을 갖지 않는 코드들을 선택하는 데에 있다. 이 서브단계는 예를 들어, 도 5b를 참조하여 정의된 방법에 따라 프로토그래프의 노드들 사이의 순열들의 오더를 분석함으로써 유리하게 수행될 수도 있다. 이 방법은 길이 4 의 사이클들을 갖는 그래프가 극히 간단하고 신속하게 검출될 수 있게 한다.
제 3 서브단계 (613b) 는 길이 6의 사이클 수가 미러 정의된 임계치보다 작은 그래프들을 선택하는 데에 있다. 이 제 3 서브단계는 길이 6의 사이클을 거의 갖지 않는 LDPC 코드 만이 유지될 수 있게 하며, 따라서 이에 대한 잘못된 빌리프 전파의 가능성이 감소된다.
본 발명의 실시형태들의 일 세트에서, 그래프의 길이 6 의 사이클 수의 카운팅은 다음과 같은 방식으로 수행된다: 그래프의 각 링크 라인에 대해, 링크 라인은 예를 들어, Djikstra 알고리즘을 실행함으로써 제거되고, 링크 라인 끝에서의 두 노드 사이의 최단 경로가 계산된다. 발견된 최단 경로가 길이 5 를 가지면, 링크 라인이 그래프에 존재할 때, 길이 6의 사이클이 형성된다.  동일한 사이클이 두 번 카운팅되는 것을 피하기 위해, 본 발명의 일 실시 형태에서, 키 (key) 가 각각의 후보 사이클에 배정된다. 오더는 그래프의 각 노드에 할당된다. 사이클은 사이클을 형성하는 노드들의 오더들의 시리즈에 의해 정의되며, 시작 노드는 가장 낮은 오더의 노드이고, 진행 방향은 시작 노드로부터 가장 낮은 오더를 갖는 시작 노드의 2개의 이웃들을 향하여 간다. 따라서 중복 (duplicate) 을 제거할 수 있으며 길이 6의 사이클 수가 결정적 방식으로 카운팅된다.
실시형태들의 일 세트에서, 방법 (600b) 은, 블록들이 주어진 SNR 비를 갖는 채널을 통해 송신될 때, 많은 수의 블록들 상에, LDPC 코딩에 의해 획득된 에러율의 시뮬레이션을 수행하는 것, 그리고 에러율이 미리 정의된 임계치보다 작은 후보들만을 선택하는 것에 있는, 제 3 단계 (630b) 를 포함한다. 이 단계는 성능 기준을 충족하는 코드들이 결정적 방식으로 선택될 수 있게 한다. 이 단계만으로도, 이론적으로, 최상의 LDPC 코드를 결정하는데 충분할 수 있다. 그러나 이것은 가장 심한 계산 (heaviest calculation) 을 필요로 하는 단계이다. 따라서, 방법 (600b) 의 단계들의 오더는 이 제 3 단계 (630b) 가 이전 단계들에 의해 미리 선택된 양호한 후보들의 서브세트에만 적용될 수 있게 한다. 따라서, 방법 (600b) 은 엄격한 성능 기준을 만족하는 LDPC 코드가 얻어질 수 있게 하면서, 동시에 보통의 컴퓨팅 머신상에서 실행될 수 있도록 충분히 적은 양의 프로세싱을 요구한다.
본 발명의 다른 실시 형태들에서, 방법 (620b) 의 특정 단계들만이 구현된다. 예를 들어, 제 3 단계 (630b) 가 실행되지 않을 수도 있고, LDPC 코드는 제 2 단계 (620) 의 끝에서 직접 선택될 수도 있고, 서브단계 (613b) 는 실행되지 않을 수도 있는 등이다. 당업자들은 그들의 필요에 따라 본 발명에 따른 LDPC 코드를 얻는 가장 적절한 방법을 정의가능할 수 있을 것이다.
도 7a 및 도 7b 는 각각 선형 스케일 및 로그 스케일에 따라 본 발명에 따른 LDPC 코드와 종래 기술의 LDPC 코드 간의 성능 비교를 도시한다.
 그래프 (700a) 는 선형 스케일에 따라, 본 발명에 따른 LDPC 코드와 종래 기술의 LDPC 코드 간의 성능 비교를 도시한다. 그래프는 주어진 신호 대 잡음 비에 대한 PER (패킷 에러율, 또는 원래 코드에 대한 디코딩한 후 에러가 있는 블록의 분율) 의 전개를 보여준다. 이 결과는 LDPC 코드에 따라 단일 블록을 인코딩하고, 잡음이 많은 채널을 시뮬레이션한 다음, 수신된 블록의 디코딩을 시뮬레이션함으로써 만들어진다. 블록은 디코딩된 블록에서의 적어도 하나의 비트가 에러를 포함할 때 에러를 포함하는 것으로 기술된다. 가로축 (701a) 은 채널의 신호 대 잡음 비를 dB 로 나타내고, 세로축 (702a) 은 에러율을 백분율, 즉 적어도 하나의 나쁘게 디코딩된 비트를 포함하는 블록의 백분율로 나타낸다.
곡선 (710a) 은 Consultative Committee for Space Data Systems Short Block Length LDPC Codes for TC Synchronization and Channel Coding Experimental Specification CCSDS 231.1-O-1, Orange Book, April 2015 http://public.ccsds.org/publications/archive/231x1o1.pdf 에 개시되어 있는, NASA 에 의해 개발된 "Orange Book" LDPC 코드에 의해 획득된 PER (Packet Error Rate) 의 전개를 보여준다. 곡선 (720a) 은 본 발명에 따른 LDPC 코드에 의해 얻어진 에러율을 보여주고, 이 경우 코드는 행렬 (500c) 에 의해 표현된다.
본 발명에 따른 LDPC 코드는 모든 신호 대 잡음 비에 대해, 종래 기술의 "Orange Book" 코드보다 우수한 성능, 즉 블록들 LDPC 에 대한 더 낮은 에러율을 보여준다는 것을 관찰할 수도 있다.
그래프 (700b) 는 선형 스케일에 따라, 본 발명에 따른 LDPC 코드와 종래 기술의 LDPC 코드 간의 성능 비교를 도시한다. 가로축 (701b) 은 dB 로 채널의 신호 대 잡음 비를 나타내고, 세로축 (702b) 은 로그 스케일에 따라 에러율을 나타낸다. 곡선 (710b 및 720b) 은 각각 "Orange Book" LDPC 코드 및 본 발명에 따른 LDPC 코드에 의해 블록에 대해 획득된 SNR에 대한 에러율의 전개를 각각 나타내고, 이 경우에 코드는 행렬 (500c) 에 의해 표현된다.
곡선 (711b) 은 신호 대 잡음 비의 함수로서 "Orange Book" 코드에 의해 검출되지 않은 에러율의 전개를 보여주고, 곡선 (721b) 은 신호 대 잡음 비의 함수로서 본 발명에 따른 LDPC 코드에 의해 검출되지 않은 에러율의 전개를 보여준다.
이들 2 개의 레이트들는 임의의 신호 대 잡음 비에서 매우 낮지만, 본 발명에 따른 코드에 의해 검출되지 않는 에러율은 "Orange Book" 코드에 의해 검출되지 않는 에러율보다 더 높다는 것을 관찰할 수도 있다 (10-4 대신 10-3). 그러나, 본 발명에 따른 코드의 에러 정정 능력은 종래 기술보다 현저히 높다 (0dB 에서 본 발명에 따른 코드에 대한 10 % 의 에러율 대 종래 기술에서의 15%). 이 특징은 본 발명에 따른 LDPC 코드가 매우 잡음이 많은 채널을 통해 정보를 송신하는데 사용될 수 있게 한다. 이는 보다 구체적으로, 원격 계량기 판독의 경우에, 허브의 수 및 데이터 송신을 위한 계량 디바이스에 의해 사용되는 에너지 모두를 제한할 수 있게 하고, 따라서 계량 디바이스의 배터리의 수명을 연장시킬 수 있게 한다.
도 8a 및 도 8b 는 각각 불량 및 양호한 SNR 로, 본 발명에 따른 LDPC 코드를 디코딩하는데 필요한 반복 수의 예들을 도시한다.
도 8a 는 주어진 신호 대 잡음 비에 대해, 블록을 디코딩하는데 필요한 반복 수의 분포를 각각 나타내는 6 개의 그래프 (810a, 820a, 830a, 840a, 850a 및 860a) 를 도시한다. LDPC 디코딩은 데이터를 디코딩하는데 여러 연속적인 반복을 사용하는 것이 알려져 있다. 제 1 단계는 에러가 송신되었는지 여부를 검증하는 데 있다. 이것이 그 경우라면, 디코딩 반복이 사용되지 않을 것이다 (이것은 그래프 상에서 " 0 디코딩 반복" 경우에 대응). 반대의 경우에, LDPC 디코딩은 연속 디코딩 반복을 포함하고, 각각의 반복은 디코딩된 코드가 더 이상 에러를 포함하지 않는지를 검증하기 위한 페이즈가 뒤 따른다. 코드가 더 이상 에러를 포함하지 않으면, 디코딩이 중단된다. 반대의 경우, 코드가 더 이상 에러를 포함하지 않을 때까지 또는 최대 수의 디코딩 반복에 도달할 때까지 새로운 디코딩 반복이 수행된다. LDPC 디코딩은 상당히 어려운 연산이므로, 디코딩 반복의 수에 대한 제한은 현저한 양의 프로세싱 전력이 디코더 내에서 세이브 (save) 될 수 있게 한다.
히스토그램 (810a) 은, -0.5 dB 의 SNR 비를 갖는 채널을 통해 송신되는 신호에 대해, 본 발명에 따른 LDPC 코드에 의해 인코딩된 다양한 블록들을 디코딩하는데 필요한 LDPC 디코딩의 반복 수의 분포를 보여주며, 이 경우 코드는 행렬 (500c) 에 의해 정의된다. 가로축에 표시된 반복 수는 여러 가능한 디코딩 반복 수를 나타내고, 세로축은 지정된 반복 수가 필요한 블록의 백분율을 나타낸다. 따라서, -0.5dB 의 SNR 비에 대해, 블록의 약 2 %가 하나의 반복에서 디코딩되었고, 블록의 약 25 %가 2회의 반복에서 디코딩되었고, 블록의 약 32 %가 2회의 반복에서 디코딩된 것 등이다. 이 SNR에 대해, 약 90 %의 PER (Packet Error Rate 를 나타냄) 및 3.49 의 평균 디코딩 반복 수가 관찰된다. 도 8a 및 8b에 의해 보여진 결과는 4개의 블록을 포함하는 패킷에 관한 것이고, 적어도 하나의 디코딩된 블록 상에 적어도 하나의 에러가 있으면 패킷은 에러를 갖는 것으로 간주됨에 유의해야 한다.
도 8a 에 도시된 다른 경우에, 다음 결과가 얻어진다:
- 히스토그램 (820a) : SNR 비가 0dB 인 채널 : 약 70 %의 PER, 평균 디코딩 반복 수 : 3.01;
- 히스토그램 (830a) : SNR 비가 0.5dB 인 채널 : 약 43 %의 PER, 평균 디코딩 반복 수 : 2.53;
- 히스토그램 (840a) : SNR 비가 1 dB 인 채널 : 약 23 %의 PER, 평균 디코딩 반복 수 : 2.09;
- 히스토그램 (850a) : SNR 비가 1.5 dB 인 채널 : 약 11 %의 PER, 평균 디코딩 반복 수 : 1.74;
- 히스토그램 (860a) : SNR 비가 2 dB 인 채널 : 약 5 %의 PER, 평균 디코딩 반복 수 : 1.44.
도 8b 는 높은 신호 대 잡음 비의 경우에, 주어진 신호 대 잡음비에 대해 블록을 디코딩하는데 필요한 반복 수의 분포를 각각 나타내는 2개의 그래프 (810b 및 820b) 를 도시한다. 이들 2개의 경우에, 다음 결과가 얻어진다:
- 히스토그램 (810b) : SNR 비가 5 dB 인 채널 : 0% 에 가까운 PER, 평균 디코딩 반복 수 : 0.58;
- 히스토그램 (820b) : SNR 비가 5.5 dB 인 채널 : 0% 에 가까운 PER, 평균 디코딩 반복 수 : 0.43.
도 8a 및 도 8b에 제시된 실험 결과는, 낮은 SNR 비를 갖는 채널을 통해 송신된 신호에 대해서도, LDPC 코드의 효율을 감소시키지 않거나 또는 약간만 감소시키면서, 디코딩 반복 수를 억제하는 것이 가능하다는 것을 보여준다. 예를 들어, 위의 결과에 비추어, 디코딩 반복의 수를 12로 LDPC 코드의 효율의 손실 없이 억제하거나, 후자를 조금만 감소시키면서 그것을 8 또는 10회 디코딩 반복으로 억제하는 것이 가능하다. 따라서, 본 발명에 따른 LDPC 코드는 LDPC 코드의 디코딩 반복 수를 제한할 수 있게 하며, 이는 결국 LDPC 디코더 내의 실행 속도 및/또는 프로세싱 전력에 있어서 현저한 이득을 가져올 수 있게 한다.
전술한 예들은 데이터의 송신 동안 효율적인 에러 정정을 가능하게 하면서, 동시에 송신되는 유용한 비트 당 에너지 소비를 제한하는 한편, 또한 디코딩 복잡도를 제한하는 본 발명에 따른 LDPC 코드의 능력을 보여준다. 그러나 이들은 단지 예로서 주어진 것이고, 어떠한 경우에도 이하의 특허 청구 범위에 정의된 본 발명의 범위를 제한하지 않는다.

Claims (14)

  1. LDPC (Low-Density Parity Check) 코드를 사용하여 신호들을 인코딩하도록 구성된 LDPC 인코더로서,
    상기 LDPC 코드는 태너 이분 그래프 (Tanner bipartite graph) 의 128개의 변수 노드들과 상기 태너 이분 그래프의 64개의 제약 노드들로 구성된 상기 태너 이분 그래프로 표현된 제어 행렬에 기초하며,
    상기 태너 이분 그래프는:
    - 상기 태너 이분 그래프의 제약 노드들의 각각이 상기 태너 이분 그래프의 7 개의 변수 노드들에 연결되고;
    - 상기 태너 이분 그래프의 사이클들의 각각이 6 이상의 길이를 가지며;
    - 상기 코드의 최소 거리는 14 과 동일하도록 하는 것이며;
    상기 태너 이분 그래프는 프로토그래프 (protograph) 로부터 유도된 그래프이고, 상기 프로토그래프는 상기 프로토그래프의 8개의 변수 노드들 및 상기 프로토그래프의 4개의 제약 노드들을 포함하고, 상기 프로토그래프의 각각의 변수 노드는 상기 태너 이분 그래프의 16개의 변수 노드들의 그룹이며, 상기 프로토그래프의 각각의 제약 노드는 상기 태너 이분 그래프의 16개의 제약 노드들의 그룹이고, 상기 프로토그래프의 각각의 제약 노드는 행렬에 따라 상기 프로토그래프의 상기 변수 노드들 중 7 개에 연결되고, 상기 프로토그래프의 각각의 제약 노드는 상기 행렬의 행에 의해 표현되고, 상기 프로토그래프의 각각의 변수 노드는 상기 행렬의 열에 의해 표현되고, 행과 열 상에서 정의되는, 상기 행렬의 각각의 셀은, 상기 셀의 행에 의해 표현되는 상기 프로토그래프의 변수 노드와 상기 셀의 열에 의해 표현되는 상기 프로토그래프의 제약 노드가 연결될 때, 값 1, 및 반대의 경우에 값 0 을 포함하고, 상기 행렬은 하기 값들:
    Figure pct00026

    에 의해 정의되는 것을 특징으로 하는 LDPC 인코더.
  2. 제 1 항에 있어서,
    상기 태너 이분 그래프는, 상기 프로토그래프의 변수 노드와 상기 프로토그래프의 제약 노드 사이의 각 링크에 대해, 상기 태너 이분 그래프의 변수 노드와 상기 태너 이분 그래프의 제약 노드 사이의 16 개의 링크들을 포함하며, 상기 16개의 링크들은 0 과 15 사이의 범위에서 오더 (order) 에 따라 순환 순열 (circular permutation) 에 의해 정의되는, LDPC 인코더.
  3. 제 2 항에 있어서,
    각각의 순열 오더는 행렬의 셀에 의해 정의되고, 상기 프로토그래프의 각각의 제약 노드는 상기 행렬의 행에 의해 표현되고, 상기 프로토그래프의 각각의 변수 노드는 상기 행렬의 열에 의해 표현되고, 행과 열 상에서 정의되는, 상기 행렬의 각각의 셀은, 상기 행에 의해 표현되는 상기 프로토그래프의 제약 노드와 상기 열에 의해 표현되는 상기 프로토그래프의 변수 노드 사이의 링크를 위한 순환 순열의 오더를 포함하고, 상기 행렬 (500c) 은 하기 값들:
    Figure pct00027

    에 의해 정의되는, LDPC 인코더.
  4. 제 1 항 내지 제 4 항 중 어느 한 항에 있어서,
    상기 태너 이분 그래프는 640보다 작은 6 과 동일한 길이의 다수의 사이클을 포함하는 것을 특징으로 하는 LDPC 인코더.
  5. 제 1 항 내지 제 4 항 중 어느 한 항에 있어서,
    상기 코드는 -1.17 dB의 신호 대 잡음 비를 갖는 송신에 대해, 50 % 미만의 디코딩시 에러율을 갖는 것을 특징으로 하는 LDPC 인코더.
  6. 제 1 항 내지 제 5 항 중 어느 한 항에 있어서,
    물, 가스 또는 전기에 대한 원격 판독 데이터를 포함하는 데이터의 프레임을 인코딩하도록 구성되는, LDPC 인코더.
  7. 제 1 항 내지 제 6 항 중 어느 한 항에 기재된 LDPC 인코더에 의해 인코딩되는, 물, 가스 또는 전기에 대한 원격 판독 데이터를 포함하는 데이터의 프레임들을 송신하도록 구성된 송신기.
  8. LDPC 코드에 의해 인코딩된 신호를 디코딩하도록 구성된 LDPC 디코더로서,
    상기 LDPC 코드는 태너 이분 그래프 (Tanner bipartite graph) 의 128개의 변수 노드들과 상기 태너 이분 그래프의 64개의 제약 노드들로 구성된 상기 태너 이분 그래프로 표현된 제어 행렬에 기초하며,
    상기 태너 이분 그래프는:
    - 상기 태너 이분 그래프의 제약 노드들의 각각이 상기 태너 이분 그래프의 7 개의 변수 노드들에 연결되고;
    - 상기 태너 이분 그래프의 사이클들의 각각이 6 이상의 길이를 가지며;
    - 상기 코드의 최소 거리는 14 과 동일하도록 하는 것이며;
    상기 태너 이분 그래프는 프로토그래프 (protograph) 로부터 유도된 그래프이고, 상기 프로토그래프는 상기 프로토그래프의 8개의 변수 노드들 및 상기 프로토그래프의 4개의 제약 노드들을 포함하고, 상기 프로토그래프의 각각의 변수 노드는 상기 태너 이분 그래프의 16개의 변수 노드들의 그룹이며, 상기 프로토그래프의 각각의 제약 노드는 상기 태너 이분 그래프의 16개의 제약 노드들의 그룹이고, 상기 프로토그래프의 각각의 제약 노드는 행렬에 따라 상기 프로토그래프의 상기 변수 노드들 중 7 개에 연결되고, 상기 프로토그래프의 각각의 제약 노드는 상기 행렬의 행에 의해 표현되고, 상기 프로토그래프의 각각의 변수 노드는 상기 행렬의 열에 의해 표현되고, 행과 열 상에서 정의되는, 상기 행렬의 각각의 셀은, 상기 셀의 행에 의해 표현되는 상기 프로토그래프의 변수 노드와 상기 셀의 열에 의해 표현되는 상기 프로토그래프의 제약 노드가 연결될 때, 값 1, 및 반대의 경우에 값 0 을 포함하고, 상기 행렬은 하기 값들:
    Figure pct00028

    에 의해 정의되는 것을 특징으로 하는 LDPC 디코더.
  9. 제 8 항에 있어서,
    상기 태너 이분 그래프는, 상기 프로토그래프의 변수 노드와 상기 프로토그래프의 제약 노드 사이의 각 링크에 대해, 상기 태너 이분 그래프의 변수 노드와 상기 태너 이분 그래프의 제약 노드 사이의 16 개의 링크들을 포함하며, 상기 16개의 링크들은 0 과 15 사이의 범위에서 오더 (order) 에 따라 순환 순열 (circular permutation) 에 의해 정의되는, LDPC 디코더.
  10. 제 9 항에 있어서,
    각각의 순열 오더는 행렬의 셀에 의해 정의되고, 각각의 제약 노드는 상기 행렬의 행에 의해 표현되고, 각각의 변수 노드는 상기 행렬의 열에 의해 표현되고, 행과 열 상에서 정의되는, 상기 행렬의 각각의 셀은, 상기 행에 의해 표현되는 상기 프로토그래프의 제약 노드와 상기 열에 의해 표현되는 상기 프로토그래프의 변수 노드 사이의 링크를 위한 순환 순열의 오더를 포함하고, 상기 행렬 (500c) 은 하기 값들:
    Figure pct00029

    에 의해 정의되는, LDPC 디코더.
  11. 제 8 항 내지 제 10 항 중 어느 한 항에 있어서,
    상기 태너 이분 그래프는 640보다 작은 6 과 동일한 길이의 다수의 사이클을 포함하는 것을 특징으로 하는 LDPC 디코더.
  12. 제 8 항 내지 제 11 항 중 어느 한 항에 있어서,
    상기 코드는 -1.17 dB의 신호 대 잡음 비를 갖는 송신에 대해, 50 % 미만의 디코딩시 에러율을 갖는 것을 특징으로 하는 LDPC 디코더.
  13. 제 8 항 내지 제 12 항 중 어느 한 항에 있어서,
    물, 가스 또는 전기에 대한 원격 판독 데이터를 포함하는 데이터의 프레임을 디코딩하도록 구성되는, LDPC 디코더.
  14. 제 1 항 내지 제 6 항 중 어느 한 항에 기재된 LDPC 인코더에 의해 인코딩되는 물, 가스 또는 전기에 대한 원격 판독 데이터를 포함하는 데이터의 프레임들을 송신하도록 구성된 수신기로서,
    상기 수신기는 제 8 항 내지 제 13 항 중 어느 한 항에 기재된 디코더를 포함하는, 수신기.
KR1020197014762A 2016-11-23 2017-11-17 원격 판독과 같은 저 소비 애플리케이션들을 위한 짧은 길이의 준순환 반규칙적 ldpc 코드를 사용한 코더 및 디코더 KR102444110B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP16306546.9A EP3327936B1 (fr) 2016-11-23 2016-11-23 Codage/décodage par code ldpc quasi-cyclique semi-régulier de courte longueur pour applications à faible consommation telles que la télérelève
EP16306546.9 2016-11-23
PCT/EP2017/079621 WO2018095817A1 (fr) 2016-11-23 2017-11-17 Codeur et décodeur par code ldpc quasi-cyclique semi-régulier de courte longueur pour applications à faible consommation telles que la télérelève

Publications (2)

Publication Number Publication Date
KR20190101361A true KR20190101361A (ko) 2019-08-30
KR102444110B1 KR102444110B1 (ko) 2022-09-15

Family

ID=57485425

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020197014762A KR102444110B1 (ko) 2016-11-23 2017-11-17 원격 판독과 같은 저 소비 애플리케이션들을 위한 짧은 길이의 준순환 반규칙적 ldpc 코드를 사용한 코더 및 디코더

Country Status (10)

Country Link
US (1) US11177906B2 (ko)
EP (1) EP3327936B1 (ko)
KR (1) KR102444110B1 (ko)
CN (1) CN110268634B (ko)
ES (1) ES2875101T3 (ko)
IL (1) IL266479B (ko)
MA (1) MA45755B1 (ko)
PL (1) PL3327936T3 (ko)
PT (1) PT3327936T (ko)
WO (1) WO2018095817A1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113052083A (zh) * 2021-03-26 2021-06-29 陕西大步实业有限公司 一种多近邻图约束矩阵分解的动作行为分割方法
CN114598423B (zh) * 2022-03-14 2023-11-21 西安电子科技大学 联合gmsk与ldpc的解调译码的方法、装置及介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060016061A (ko) * 2004-08-16 2006-02-21 삼성전자주식회사 가변 블록 길이를 가지는 블록 저밀도 패리티 검사 부호부호화/복호 장치 및 방법
KR20060048403A (ko) * 2004-06-16 2006-05-18 삼성전자주식회사 반구조적 블록 저밀도 패리티 검사 부호 부호화/복호 장치및 방법

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1713530A (zh) * 2004-06-22 2005-12-28 印芬龙科技股份有限公司 解码低密度奇偶校验(ldpc)码字的ldpc解码器
US7395490B2 (en) * 2004-07-21 2008-07-01 Qualcomm Incorporated LDPC decoding methods and apparatus
US20060085720A1 (en) * 2004-10-04 2006-04-20 Hau Thien Tran Message passing memory and barrel shifter arrangement in LDPC (Low Density Parity Check) decoder supporting multiple LDPC codes
US20070245217A1 (en) * 2006-03-28 2007-10-18 Stmicroelectronics S.R.L. Low-density parity check decoding
CN101150730B (zh) * 2006-09-18 2011-07-27 国家广播电影电视总局广播科学研究院 用于视频广播应用的低密度奇偶校验码族的产生方法及装置
US8650451B2 (en) * 2011-06-30 2014-02-11 Lsi Corporation Stochastic stream decoding of binary LDPC codes
US8832520B2 (en) * 2011-11-29 2014-09-09 California Institute Of Technology High order modulation protograph codes
CN102843145A (zh) * 2012-10-09 2012-12-26 浙江大学 一种低码率准循环累积重复累积码构造方法
US9203440B1 (en) * 2013-01-29 2015-12-01 Xilinx, Inc. Matrix expansion
WO2014127129A1 (en) * 2013-02-13 2014-08-21 Qualcomm Incorporated Ldpc design using quasi-cyclic constructions and puncturing for high rate, high parallelism, and low error floor
US9172400B2 (en) * 2013-05-29 2015-10-27 Cisco Technology, Inc. Encoding techniques using multiple coding strengths within a single LDPC code word
US20160218750A1 (en) * 2015-01-23 2016-07-28 Empire Technology Development Llc Parity check code encoder

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060048403A (ko) * 2004-06-16 2006-05-18 삼성전자주식회사 반구조적 블록 저밀도 패리티 검사 부호 부호화/복호 장치및 방법
KR20060016061A (ko) * 2004-08-16 2006-02-21 삼성전자주식회사 가변 블록 길이를 가지는 블록 저밀도 패리티 검사 부호부호화/복호 장치 및 방법

Also Published As

Publication number Publication date
MA45755B1 (fr) 2019-12-31
ES2875101T3 (es) 2021-11-08
US11177906B2 (en) 2021-11-16
KR102444110B1 (ko) 2022-09-15
PT3327936T (pt) 2021-06-18
IL266479A (en) 2019-07-31
CN110268634B (zh) 2023-06-13
EP3327936B1 (fr) 2021-04-21
US20200067636A1 (en) 2020-02-27
PL3327936T3 (pl) 2021-10-25
WO2018095817A1 (fr) 2018-05-31
IL266479B (en) 2022-06-01
MA45755A1 (fr) 2019-09-30
CN110268634A (zh) 2019-09-20
EP3327936A1 (fr) 2018-05-30

Similar Documents

Publication Publication Date Title
CN108650057B (zh) 一种编译码的方法、装置及系统
US7831884B2 (en) Method of correcting message errors using cyclic redundancy checks
JP5875713B2 (ja) 送信機および受信機、並びに符号化率可変方法
US8812930B1 (en) Parallel encoder for low-density parity-check (LDPC) codes
US20110164705A1 (en) Bit mapping scheme for an ldpc coded 32apsk system
KR102548215B1 (ko) 압축된 채널 출력 정보를 사용하여 데이터를 디코딩하기 위한 시스템 및 방법
CA2623465A1 (en) A set of irregular ldpc codes with random structure and low encoding complexity
KR102419967B1 (ko) 데이터 처리 방법 및 디바이스
JP2019519131A (ja) ポーラ符号を用いた符号化及び復号
KR102444110B1 (ko) 원격 판독과 같은 저 소비 애플리케이션들을 위한 짧은 길이의 준순환 반규칙적 ldpc 코드를 사용한 코더 및 디코더
JP2007512741A (ja) 信頼性のないメッセージの交換を取消す信念伝播復号化器
KR100819247B1 (ko) 통신 시스템에서 신호 송수신 장치 및 방법
US20070271496A1 (en) 3-Stripes Gilbert Ldpc Codes
CN108206722B (zh) 高码率数据发送方法和装置
CN110943745B (zh) 一种提前终止迭代输出结果的极化码bp译码方法及系统
KR100929080B1 (ko) 통신 시스템에서 신호 송수신 장치 및 방법
US20230198551A1 (en) Systems and methods for using special nodes for polar encoding in polar codes
JP2011109228A (ja) 復号装置及び方法
KR20080041490A (ko) 저밀도 패리티 검사 부호를 사용하는 통신 시스템에서 신호송수신 장치 및 방법
Huang et al. Research of Error Control Coding and Decoding
KR20060025350A (ko) 복호기에서의 반복 복호 중지 방법 및 그 장치
CN102916774B (zh) 一种容误码的ldpc码编码码长和码率的识别方法
Kadhe et al. Reliable data transmission in sensor networks using compressive sensing and real expander codes
CN108234069B (zh) 低码率数据发送方法和装置
Elghraoui PSEUDOCODEWORDS OF LDPC CODES FROM THE PERMANENT AND BETHE PERMANENT

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant