KR20120091001A - Ldpc 컨벌루션 코드를 사용하여 gnss 신호 데이터를 통신하는 방법 및 그 시스템 - Google Patents

Ldpc 컨벌루션 코드를 사용하여 gnss 신호 데이터를 통신하는 방법 및 그 시스템 Download PDF

Info

Publication number
KR20120091001A
KR20120091001A KR1020127007775A KR20127007775A KR20120091001A KR 20120091001 A KR20120091001 A KR 20120091001A KR 1020127007775 A KR1020127007775 A KR 1020127007775A KR 20127007775 A KR20127007775 A KR 20127007775A KR 20120091001 A KR20120091001 A KR 20120091001A
Authority
KR
South Korea
Prior art keywords
signal data
ldpc
parity check
code
convolutional code
Prior art date
Application number
KR1020127007775A
Other languages
English (en)
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 KR20120091001A publication Critical patent/KR20120091001A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/23Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using convolutional codes, e.g. unit memory 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
    • 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/27Coding, 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 using interleaving techniques
    • 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/27Coding, 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 using interleaving techniques
    • H03M13/2703Coding, 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 using interleaving techniques the interleaver involving at least two directions
    • H03M13/2707Simple row-column interleaver, i.e. pure block interleaving

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Error Detection And Correction (AREA)

Abstract

본 발명은 LDPC 컨벌루션 코드를 사용하여 GNSS 시스템에서 신호 데이터를 통신하는 방법 및 시스템에 관한 것이다. 본 발명에서는, 송신단에서는, 신호 데이터를 다수의 서브프레임으로 포맷한다. 신호 데이터의 각 서브프레임을 LDPC 컨벌루션 코드의 태너 그래프 표현법을 정의하는 패리티 검사 행렬에 따라 인코드할 수 있다. 인코드된 신호 데이터를 인터리브하고 Sync 워드 필드를 추가하여, 인코드된 신호 데이터의 인터리브된 블록을 통신채널을 통해 송신할 수 있다. 수신단에서는, 인코드된 신호 데이터의 인터리브된 블록을 통신채널을 통해 수신하여 인터리브된 블록을 디인터리브할 수 있다. 태너 그래프는, 시불변성 패리티 검사 행렬에서의 연결성을 보여주는 것이다. 메시지 전달 기법은 LDPCCC 인코드된 메시지를 디코드하는 데 사용한다.인코드된 신호 데이터를 메시지 전달 기법을 통해 디코드하여 송신단에서 처음에 전송한 신호 데이터를 얻을 수 있다. 이러한 방법은 효과적인 네비게이션 데이터 통신을 위하여 GNSS 통신 채널을 통한 오류 없는 통신 성능을 얻을 수 있으며, 넓은 범위의 신호대 잡음비에 걸쳐서 좋은 BER 성능을 제공한다.

Description

LDPC 컨벌루션 코드를 사용하여 GNSS 신호 데이터를 통신하는 방법 및 그 시스템 {METHOD OF COMMUNICATING SIGNAL DATA IN GNSS USING LDPC CONVOLUTION CODES AND A SYSTEM THEREOF}
본 발명은 위성통신 시스템의 데이터 통신에 관한 것이다. 본 발명은 특히, 낮은 신호대 잡음비 조건 하에서 저밀도 패리티 검사(LDPC, low density parity check) 컨벌루션 코드를 이용하여 글로벌 네비게이션 위성 시스템(GNSS, global navigation satellite system)에서의 신호 데이터를 통신하는 방법 및 그 시스템에 관한 것이다.
통신 시스템은 다양한 통신채널을 통해 송신단에서 다른 곳으로 정보를 전송한다. 특히, 위성통신 시스템은 통신채널을 통해 기본적인 통신, 즉, 우주-지구 통신 및 우주-우주 통신을 수행한다. 우선, 전송하고자 하는 정보를 송신단에서 인코드한다. 송신단에서의 코딩을 마친 다음에는 해당 정보를 통신채널로 전송하기 전에 채널 코딩 기법을 적용하여 해당 정보를 코딩한다. 채널 코딩 기법은 채널 잡음으로부터 데이터를 보호하기 위한 것이다. 이러한 코딩 기법을 일반적으로 순방향 오류 정정(FEC, forward error correction) 코딩이라고 부른다. 여기에는 BCH(Bose-Chaudhuri-Hocquenghem) 코드, 컨벌루션 코드, 터보 코드, LDPC 블록 코드 등이 포함된다.
또한, 채널 코딩 기법은 섀넌(Shannon)의 용량한계 법칙에 근접하는 능력을 바탕으로 판단하고 있다. 섀넌의 용량한계 법칙이란, 전송률이 채널 용량보다 적은 한, 오류 없는 통신을 달성될 수 있다는 것이다. 일반적으로, 많은 응용례에서 채널 코딩시에 BCH 코드, 컨벌루션 코드, 터보 코드를 이용하고 있다. 그리고 다양한 채널에 대해서 다른 채널 코딩 기법보다도 더 큰 용량성능을 달성하기 위해 LDPC 블록 코드가 도입되었다.
LDPC 컨벌루션 코드(LDPCCC)는 LDPC 블록 코드의 컨벌루션 상대(convolution counterpart)로서 도입되었다. LDPCCC는 단순한 인코딩 및 디코딩으로도 LDPC 블록 코드와 유사한 용량 근접 성능(capacity approaching performance)을 발휘할 수 있다. 또한, LDPCCC는 블록 전송(block transmission) 뿐만 아니라 연속 전송(continuous transmission)에도 적합하다. 또한, 비트 오류율(BER, bit error rate)이 우수하기 때문에 반복 디코딩에 사용되고, 파이프라인 기법에 잘 맞는다. LDPCCC 인코더와 디코더를 VLSI로 구현할 경우에는, 복제 장치(예: 프로세서)를 이용한다. 하드웨어 복잡도가 동일한 경우에 LDPCCC는 다른 FEC 기법(BCH, 컨벌루션 코드, 터보 코드, LDPC 블록 코드)보다 성능이 우월하다.
이러한 LDPCCC 기법은 단순한 하드웨어를 사용하면서도 매우 훌륭한 BER 성능을 제공하여 다양한 통신채널을 통해 오류 없는 통신을 가능케 한다. 그러나, 지금까지, 기존의 지구 중궤도 또는 정지궤도 위성 네비게이션 시스템에서 네비게이션 데이터 구조의 통신용으로 LDPCCC 기법이 적용되고 실현된 적은 없다. 더욱이, LDPCCC 기법을 글로벌 네비게이션 위성 시스템(GNSS)에 구현하는 반면에, 네비게이션 데이터 구조의 통신에서 조차도 통신채널을 통해 오류없는 통신 성능을 유지하는 것이 필요하다. 따라서 효과적인 네비게이션 데이터 통신을 위하여, GNSS 통신채널을 통해 거의 오류 없는 성능을 갖는, LDPC 컨벌루션 코드를 사용하여 GNSS 시스템에서 신호 데이터를 통신하는 방법과 시스템을 제공하는 것이 바람직하다.
본 발명의 목적은 LDPC 컨벌루션 코드를 사용하여 GNSS 시스템에서 신호 데이터를 통신하는 방법을 제공하는 것이다. 이 방법에 의해, 효과적인 네비게이션 데이터 통신을 위한 GNSS 통신채널 상에서 오류 없는 통신 성능을 달성할 수 있다.
본 발명의 또 다른 목적은 단순한 하드웨어 구성으로, 넓은 범위의 신호대 잡음비로 양호한 BER 성능을 제공하는, LDPC 컨벌루션 코드를 사용하여 GNSS 시스템에 신호 데이터를 통신하기 위한 시스템을 제공하는 것이다.
상기 목적 달성을 위한 본 발명의 일측면에 따르면, 본 발명은 저밀도 패리티 검사(LDPC) 컨벌루션 코드를 사용하여 GNSS 시스템에서의 신호 데이터를 통신하는 방법을 제공한다. 이 방법에 따르면, 송신단에서는, 신호 데이터를 다수의 서브프레임으로 포맷한다. 신호 데이터의 각 서브프레임을 LDPC 컨벌루션 코드의 태너 그래프 표현법을 정의하는 패리티 검사 행렬에 따라 인코드할 수 있다. 인코드된 신호 데이터를 인터리브하고 Sync 워드 필드를 추가하여, 인코드된 신호 데이터의 인터리브된 블록을 통신채널을 통해 송신할 수 있다. 수신단에서는, 인코드된 신호 데이터의 인터리브된 블록을 통신채널을 통해 수신하여 인터리브된 블록을 디인터리브할 수 있다. 태너 그래프는, 시불변성 패리티 검사 행렬에서의 연결성을 보여주는 것이다. 메시지 전달 기법은 LDPCCC 인코드된 메시지를 디코드하는 데 사용한다.인코드된 신호 데이터를 메시지 전달 기법을 통해 디코드하여 송신단에서 처음에 전송한 신호 데이터를 얻을 수 있다. 이러한 방법은 효과적인 네비게이션 데이터 통신을 위하여 GNSS 통신 채널을 통한 오류 없는 통신 성능을 얻을 수 있으며, 넓은 범위의 신호대 잡음비에 걸쳐서 좋은 BER 성능을 제공한다.
또한, 인코드된 신호 데이터는, 열별로 또는 행별로 메모리 행렬에 씀으로써 블록 인터리브된다. 인코더와 디코더의 유한하고 적은 꼬리비트수에 대한 메시지 전달 기법을 이용하여 FSM(유한상태기계)을 0 입력 메시지에 의해 0 코드 워드를 얻을 수 있는 상태로 구동한다. LDPCCC의 구현은 파이프라인 디코더를 이용하여 연속적인 디코딩을 가능하게 한다. 인코드된 신호 데이터의 인터리브된 블록은, 신호 데이터가 행별로 인터리브된 경우에는 열별로 읽음으로써 디인터리브되고, 그 반대의 경우에는 행별로 읽음으로써 디인터리브된다. 인코드된 신호 데이터는 LDPC 컨벌루션 코드의 에러 정정 능력에 따른 인터리빙 깊이로 블록 인터리브된다.
또한, 부호율은 심볼 노드의 수와 제약 노드의 수를 기초로 계산하되, 이때, 심볼 노드의 수는 제약 노드의 수보다 적다. 심볼 노드의 수는 심볼 코드와 연관된 시간 지수로 구성된다. 신드롬 포머 메모리는 상기 패리티 검사 행렬 및 갈루아체(Galois field) 지수에서의 지연 연산자의 최대 거듭제곱수를 포함한다. 신호 데이터에는 네비게이션 데이터 구조가 포함된다. 신호 데이터의 각 서브프레임은 식별 페이지 비트, 네비게이션 데이터 비트, 순환 중복 검사(CRC) 비트, 종결 비트로 구성된다. 종결 비트는 유한상태기계 구동을 위한 신호 데이터의 종결 비트를 제외하고는 각 서브프레임의 인코드된 코드 워드에 의존한다.
상기 목적 달성을 위한 본 발명의 다른 측면에 따르면, 본 발명은 저밀도 패리티 검사(LDPC) 컨벌루션 코드를 이용하여 GNSS 시스템에서 신호 데이터를 통신하는 시스템을 제공한다. 이 시스템의 송신단에는, 데이터 소스와 통신하며 신호 데이터를 다수의 서브프레임으로 포맷하는 데이터 포맷기가 포함된다. 인코더가 상기 데이터 포맷기와 통신하며 LDPC 컨벌루션 코드의 태너 그래프 표현법을 정의하기 위해 패리티 검사 행렬을 구축하고, 신호 데이터의 각 서브프레임을 인코드한다. 인터리버는 상기 인코더와 연계하여, 인코드된 신호 데이터를 블록 인터리브하고 Sync 워드 필드를 추가한다. 송신기는 상기 인터리버와 연계하여, 인코드된 신호 데이터의 인터리브된 블록을 통신채널을 통해 송신한다. 이 시스템의 수신단에 있는 디인터리버는 수신기와 통신하며, 상기 수신기로부터 통신채널을 통해 수신한 인코드된 신호 데이터의 인터리브된 블록을 디인터리브한다. 디코더는 상기 디인터리버와 통신하며, 인코드된 신호 데이터를 메시지 전달 기법을 통해 디코드하여 송신단에서 처음에 전송한 신호 데이터를 얻는다.
여기 개시한 특정 실시예들의 속성과 장점은 이하의 명세서 설명과 별첨 도면을 참조하여 보다 명확하게 이해될 수 있을 것이다.
본 발명에 따르면, 효과적인 네비게이션 데이터 통신을 위한 GNSS 통신채널 상에서 오류 없는 통신 성능을 달성할 수 있다. 또한, 단순한 하드웨어 구성으로, 넓은 범위의 신호대 잡음비로 양호한 BER 성능을 얻을 수 있다.
부속 도면을 참조하여 본 발명에 대해서 상세히 설명할 것이다.
도 1은 본 발명의 일 실시예에 따라 LDPC 컨벌루션 코드를 사용하여 GNSS 시스템에서 신호 데이터를 통신하기 위한 시스템의 개략적 블록 다이어그램을 나타낸 도면.
도 2a는 본 발명의 일 실시예에 따라, GNSS 시스템의 대표적인 네비게이션 데이터 구조를 나타낸 도면.
도 2b는 본 발명의 일 실시예에 따라, 도 2a의 네비게이션 데이터 구조의 서브프레임을 상세하게 나타낸 도면.
도 2c는 본 발명의 일 실시예에 따라, 도 2a의 네비게이션 데이터 구조의 서브프레임에 대한 순방향 오류 정정(FEC)을 나타낸 도면.
도 3은 본 발명의 일 실시예에 따라, GNSS 시스템용 네비게이션 데이터 구조에서의 BER 성능의 전형적인 예를 나타낸 도면.
도 4는 본 발명의 일 실시예에 따라, LDPC 컨벌루션 코드를 사용하여 GNSS 시스템에서 신호 데이터를 통신하는 방법의 순서도.
글로벌 네비게이션 위성 시스템(GNSS)은, 1559~1610MHz (L1 신호), 1215~1300MHz (L2 신호), 1164~1215MHz (L5 신호)의 주파수 대역에서 동작한다. 신호 및 데이터 구조는 이들 각 GNSS 시스템마다 다르다. 본 발명은 GNSS 시스템, 특히 지구 중궤도 또는 정지궤도 위성 네비게이션 시스템의 신호 및 데이터 구조를 위한 LDPC 컨벌루션 코드(LDPCCC)의 구현에 대해서 개시한다. LDPCCC의 구현은 25~500비트/초의 데이터 속도로 구성되고, 순방향 에러 정정(FEC) 코드는 부호율(rate) 1/2, k=7인 컨벌루션 코드를 비롯하여, 각종 신호용 저밀도 패리티 검사(LDPC)에 이르기까지 구성된다.
또한 LDPCCC는 유한한 블록 길이에 대해서 체계적으로 코드를 비교한다. LDPCCC는 반복적 디코딩에 의해서 섀넌 용량에 근접하게 될 수 있다. LDPCCC는 네비게이션 데이터 구조를, 시프트 레지스터를 이용하여 체계적으로 실시간 인코딩함으로써 인코딩을 단순화시킨다. 또한, LDPCCC의 수행은 부가적 백색 가우스 잡음(AWGN, additive white gaussian noise)이 존재할 때, 그리고 이진 대칭 채널(BSC, binary symmetrical channel)에 대해서 우수한 비트 오류율 성능을 제공한다. 따라서 LDPCCC는, 비트당 에너지대 잡음 밀도비(Eb/No, energy per bit to noise density ratio)가 매우 낮은 상황에서조차도, LDPC 블록 코드보다 우수한 성능을 발휘한다.
도 1을 참조하면, 본 발명의 대표적인 실시예에 따른, LDPC 컨벌루션 코드를 사용하여 GNSS 시스템에서 신호 데이터를 통신하기 위한 시스템의 개략적 블록 다이어그램이 도시되어 있다. 이 통신 시스템은 송신부, 수신부, 통신채널(105)로 구성할 수 있다. 송신부는 네비게이션 데이터 포맷기(101), 순방향 오류 정정(FEC) 인코더(102), 인터리버(interleaver)(103), 송신기(104)로 구성되고, 수신부는 수신기(106), 디인터리버(de-interleaver)(107), FEC 디코더(108)로 구성된다.
송신 및 수신 모두에서, 네비게이션 데이터 메시지(109)의 인코딩 및 디코딩을 LDPC 컨벌루션 코드에 의해 실행할 수 있다. 이하, FEC 인코더(102)와 디코더(108)를 설명의 목적상 LDPCCC 인코더 및 디코더로 언급할 수도 있음을 밝힌다. 통신채널(105)에는 인공위성, 광섬유, 지상통신선 및 구리선 케이블이 포함되지만, 이에 국한되지는 않는다. 만일 송신부에서 네비게이션 데이터 메시지(109)를 역으로 수신해야 할 경우에는, LDPCCC 인코더(102)와 디코더(108)가 송신부에 함께 포함된다. 그러나 송신부와 수신부가 다른 장소에 위치할 경우에는, LDPCCC 인코더(102)와 디코더(108)는 각각 송신부 및 수신부에 위치하게 된다. 이러한 LDPCCC 인코더(102)와 디코더(108)는 낮은 Eb/No의 데이터 통신을 위해 필요하다. Eb/No가 6.5dB 미만인 경우에는 일반적으로 FEC가 필요하다.
송신부에서, 최초의 네비게이션 신호 데이터(109)를 네비게이션 데이터 포맷기(101)를 사용하여 도 2a에서 보는 것과 같은 서브프레임 집합으로 포맷할 수 있다. 도 2a는 본 발명의 일 실시예에 따라 GNSS 시스템의 대표적인 네비게이션 데이터 구조를 나타낸 도면이다. 네비게이션 데이터 포맷기(101)는 네비게이션 데이터(109)를 갖는 데이터 제공자(source)와 통신한다. 1500 비트를 포함하는 GNSS 시스템용 네비게이션 데이터 구조(109)를 서브프레임 1 내지 5로 포맷할 수 있다. 이때 각 서브프레임은 300 비트를 포함하게 된다. 여기서 특정 수치로써 본 발명을 설명하는 것은 단순히 이해를 위한 것이지 제한적인 목적을 갖는 것은 아니다. 네비게이션 데이터 구조(109)의 각 서브프레임 1~5는, 도 2b에 나타낸 것과 같이, 페이지, 네비게이션 데이터, 순환 중복 검사(CRC), 꼬리비트(tailbit)와 같은 일군의 필드로 구성된다. 도 2b는 본 발명의 일 실시예에 따라 도 2a의 네비게이션 데이터 구조(109)의 서브프레임을 상세하게 나타낸 도면이다. 각 서브프레임 1~5(292 비트)는 페이지(6 비트)로 구별될 수 있으며, 후속 필드로서 순방향 오류 정정(FEC) 마다 네비게이션 데이터(256 비트), CRC(24 비트), 꼬리비트(6 비트)가 온다. 예를 들어, 기존의 r=1/2, k=7인 컨벌루션 코드가 메모리를 소거하기 위해서는 6 비트의 꼬리비트를 필요로 한다.
다음, LDPCCC 인코더(102)는, 순방향 오류 정정(FEC)을 이용하여 네비게이션 데이터 구조(109)를 인코드하기 위하여 네비게이션 데이터 포맷기(101)와 통신한다. FEC에서, 컨벌루션 코드는 r=1/2, k=7일 때 네비게이션 데이터 비트의 수를 300에서 600으로 두 배 증가시킨다(도 2c 참조). 도 2c는 본 발명의 일 실시예에 따라 도 2a의 네비게이션 데이터 구조의 서브프레임에 대한 순방향 오류 정정(FEC)을 나타낸 도면이다. FEC 인코딩을 수행하여 서브프레임을 형성하게 되면, FEC(292×2=584비트. 이때 r= 1/2 FEC)를 이용하여 각 서브프레임을 인코드해서 네비게이션 데이터를 얻게 된다. 그런 다음, FEC 인코드된 서브프레임을 인터리브하고 SYNC 워드 필드(16 비트)를 더한다. 통상, 상기 인코더(102)와 디코더(108)는 비터비 최대 유사성(Viterbi maximum likelihood) 인코더와 디코더가 될 수 있다. 메모리의 크기는 6이며, 따라서 꼬리비트도 또한 6이 된다. 이 컨벌루션 코드는 연판정(soft decision) 인코딩 및 디코딩 사용시 Eb/No 성능을 약 5dB 향상시킨다. 대표적인 GNSS 시스템에서의 네비게이션 데이터 비트의 제한된 수에 대해서, r=1/2인 LDPC 컨벌루션 코드의 인코딩은 네비게이션 데이터에서 실행될 수 있는데, 이는 종래의 r=1/2, k=7인 컨벌루션 코드 및 LDPC 블록 코드의 성능을 능가한다. r=1/2 ms=5 (신드롬 포머 메모리, syndrome former memory)의 LDPC 컨벌루션 코드에서 j=3, k=6에 대해 필요한 종결 비트(termination bit)의 수, 즉, 꼬리비트(tailbit)의 수는 상수로서 나타나는데 수치적으로는 6이 된다. 종결 비트의 값은, 종결 비트를 제외한 네비게이션 데이터 프레임의 인코드된 코드 워드에 따라 달라진다. 종결 비트는 '0' 입력 메시지가 '0' 코드 워드를 낳는 상태로 FSM(finite state machine, 유한상태기계)을 구동한다. 종결 비트의 개수는 ms가 증가함에 따라 함께 증가하고, ms와 같거나 더 크다. 또한, 종결 비트의 개수는 j (즉, 본 예에서는 3)의 배수가 될 수 있는데, 코드의 성능을 최적화하기 위해 더 추가로 조정할 수 있다. LDPC 컨벌루션 코드는 임의 크기의 프레임에 있는 블록 송신 및 연속 송신을 포함하는 매우 다양한 통신 방식에 있어서의 실제적인 구현에 적합하다. 또한, 도 2에서 설명한 각 서브프레임은 FSM을 초기 상태로 구동하는 꼬리비트의 집합을 포함함으로써, 기존의 컨벌루션 코드 또는 LDPC 블록 코드보다 더 효율적인 코딩을 보장한다.
인코더(102)와 디코더(108)의 VLSI 구현은 태너(Tanner) 그래프의 LDPC 컨벌루션 구조에 의해 수월해진다. 소정의 복잡도에 대해서, LDPC 컨벌루션 코드는 다른 코드들보다도 주어진 Eb/No에서 더 우수한 BER 성능을 제공한다(도 3 참조). 태너 그래프에서, LDPCCC 인코딩 행렬(H)은 임의의 행 또는 열에서 소수의 '1'만 포함되고 나머지 부분들은 '0'으로 이루어진다. LDPCCC 인코딩 행렬의 임의의 열에 있는 '1'의 개수는 j로 표시하고, 임의의 행에 있는 '1'의 개수는 k로 표시한다. 이 코드의 부호율(code rate)은 r=1-j/k이다. LDPC 컨벌루션 코드의 태너 그래프는 블록 코드의 태너 그래프와 유사하다. 신드롬 포머(syndrome former) HT의 각 행에 상응하는 심볼 노드(symbol node) 및 각 열에 상응하는 제약 노드(constraint node)가 태너 그래프에 표시된다. HT의 행과 열에 대응하는 내용이 '1'인 경우에, 엣지(edge)는 심볼 노드와 제약 노드를 연결한다. 신드롬 포머와 그 태너 그래프 사이에는 일대 일 대응 관계가 있다. ms=3, j=2, k=3에 대한 신드롬 포머 행렬은 아래와 같다.
Figure pct00001
위 식에서 기호 D는 지연 연산자를 의미한다.
LDPCCC 인코더(102)에 대해 인코딩 행렬을 구현하는 경우에, j는 심볼 노드의 번호, 즉, 패리티 검사 행렬의 행수이고, k는 제약 노드의 번호, 즉, 패리티 검사 행렬의 열수, ms는 신드롬 포머 메모리, 즉, 패리티 검사 행렬에서 D의 최대 거듭제곱수(power)를 의미한다. 신드롬 포머 메모리(m)는 갈루아체(Galois field)의 지수인데, 이는 m=7, 31, ... 과 같은 솟수이다. 또한, 부호율(R) 공식은 다음과 같다.
Figure pct00002
인코딩 행렬의 구현에 있어서, a와 b의 두 값은 또한 o(a)=j, o(b)=k (O(x)는 갈루아체 m에서의 x의 차수임)로서, xo(x) 모듈로(modulo) m은 1이다. 예를 들어, O(2)=6, m=7이다.
따라서 LDPC 컨벌루션 코드의 연속적인 태너 그래프는 다음과 같다
Figure pct00003
컨벌루션 코드가 무한하기 때문에, LDPC 컨벌루션 코드의 태너 그래프도 또한 무한하여, LDPC 컨벌루션 코드는 블록 코드와 다르게 된다. LDPC 컨벌루션 코드의 코드 심볼에는 코드 심볼에 연계된 시간 지수(time index)가 포함된다. LDPC 컨벌루션 코드는 LDPC 블록 코드에서와 같이 고정된 블록 길이(N)에 국한되지 않는다. 즉, 하나의 코드를 수 개의 블록 길이에 대해 사용할 수 있다. 여기서, N은 전형적인 LDPC 블록 코드에서의 데이터 길이를 나타낸다. 시프트 레지스터를 사용하기 때문에 LDPC 컨벌루션 코드의 인코딩 복잡도는 낮다. 또한, 파이프라인 디코더를 사용함으로써 LDPC 컨벌루션 코드가 지속적으로 디코드하게 된다.
주어진 복잡도에서, LDPC 컨벌루션 코드는 LDPC 블록 코드보다 우수한 성능을 낸다. 서로 다른 시간에서의 태너 그래프 구조의 노드 연결성은 시불변성 컨벌루션 코드에 대해서 동일하다. 따라서 이 LDPCCC 코드를 구현하는 있어서의 저장에 관한 요구조건이 상당히 감소될 수 있다. 시불변성 LDPCCC 코드는, 의사순환(quasi-cyclic) LDPC 코드를 사용하여 대수적으로 생성할 수 있다. 자릿수 p로 코드 워드를 순환 시프트(cyclic shift)시키는 경우에 그 결과 워드가 코드 워드와 같은 경우의 코드를 의사순환 코드(quasi-cyclic code)라 한다.
LDPCCC 인코딩을 수행한 후, 채널을 버스트 오류(burst error)에 대해 강인하도록(robust) 하기 위해, 인코드된 네비게이션 데이터에 대해서 인터리버(103)를 이용하여 블록 인터리빙을 실행하고 Sync 워드를 추가한다. 인코드된 네비게이션 데이터는, 통신채널(105)로 네비게이션 데이터를 보내기 전에 인터리브할 수 있다. 인코드된 네비게이션 데이터에 버스트 오류가 발생한 경우에, 네비게이션 데이터를 디인터리브하면 이 버스트 오류가 분산성 오류(distributed error)인지 효과적으로 판단할 수 있다. 이러한 유형의 버스트 오류는 LDPCCC 디코더(108)로 보정할 수 있다. 인터리버(103)와 디인터리버(107)는 각각 LDPCCC 인코더(102) 및 디코더(108)와 통신한다. 네비게이션 데이터에 대해 블록 인터리빙을 수행하기 위해서, 네비게이션 데이터의 비트를 n열 및 k행을 갖는 n×k 메모리 행렬 속에 기록한다(write). 네비게이션 데이터를, 열별로(column by column) 또는 행별로(row by row) 기록함으로써 인터리브된 블록을 얻을 수 있고, 또 그 반대 방식으로 읽을(read) 수 있게 된다. 다음에, 송신기(104)를 인터리버(103)와 연계시켜서, 인터리브된 네비게이션 데이터를 통신채널(105)을 통해 송신한다.
이와 유사하게, 수신부에서 수신기(106)에 디인터리버(107)를 연계시켜서 통신채널(105)을 통해 수신한 인코드된 네비게이션 데이터의 인터리브된 블록을 디인터리브한다. 인코드된 네비게이션 데이터의 인터리브된 블록의 비트를 행별로 메모리 행렬에 쓰고(write), 열별로 읽어서(read) 디인터리된 네비게이션 데이터를 수신부에서 얻는다. 예를 들어, 도 2c에 나타낸 인코드된 네비게이션 데이터에 대해서 8×73의 블록 인터리빙이 가능하다. k 값은 보통, 인터리빙 깊이로 부를 수 있으며 코드의 오류 정정 능력에 따라 선택할 수 있다. 컨벌루션 코드가 제약 길이 7을 이용할 경우에, 각 블록에서의 단일 비트 오류는 이 제약 길이로 정정할 수 있다. 이러한 경우에, 인터링빙 깊이는 최소 7로 선택할 수 있다.
또한, LDPCCC 디코더(108)는 디인터리버(107)와 통신하여, 수신 네비게이션 데이터를 디인터리브한 후, 인코드된 네비게이션 데이터를 디코드하여 송신부에서 처음에 송신한 네비게이션 데이터(109)를 얻는다. 아래의 공식을 이용하여 각 제약 노드에 대해서 r을 계산함으로써 LDPCCC 디코더(108)를 구현할 수 있다.
Figure pct00004
위 식에서, r은 심볼 노드에서 제약 노드로 전달되는 메시지이고, ci는 심볼 노드에 입력되는 소정의 인코드된 비트의 로그 유사성비(LLR, log likelihood ratio)이고, j'는 j에서 나가는(leaving) i의 모든 이웃 노드를 의미한다.
또한, 각 심볼 노드에 대한 q는 아래의 식을 이용하여 계산할 수 있다.
Figure pct00005
위 식에서, q는 제약 노드에서 심볼 노드로 전달되는 메시지, ri'j는 i=j인 경우를 제외하고 연결되어 있는 제약 노드에 있는 모든 r 값, qji는 패리티 검사 방정식의 요건을 충족시키는 제약 노드에서 전달된 메시지의 누적 확률을 계산하는 것, rij는 패리티 검사 방정식의 요건을 충족시키는 비트가 될 심볼 노드의 전체적인 확률을 계산하는 것이다.
또한, LLR은
Figure pct00006
로 표현할 수 있다. 이 식에서 pi는 i1 값을 갖는 비트의 확률이다. LLR은 또한
Figure pct00007
로도 표현할 수 있다. LLR > 0이면, 디코드되는 비트는 '0'이 되고, LLR < 0이면, 디코드된 비트가 '1'이 된다. LLR의 명목상 값은 16으로 간주할 수 있다. 본 발명에서는 j=3, k=6으로 간주함으로써 LDPCCC 인코더(102)와 디코더(108)를 r=1/2, m=7, ms=5인 것으로 구현 및 개발할 수 있다. LDPCCC의 절반 부호율로 AWGN 잡음을 도입한 후에 BSC와 AWGN으로 측정한 LDPCCC의 BER 성능을 도 2a 및 2b에 나타내었다. 여기서, 반복 회수는 일반적으로 10회로 취해진다. GNSS 시스템의 대표적인 네비게이션 데이터에 있어서, 제한된 길이 N에 대해 LDPCCC의 BER 성능을 관찰한 것을 표 1 및 도 3의 그래프에 명확하게 나타내었다. 도 3은 GNSS 시스템의 네비게이션 데이터(109) 구조에서의 BER 성능의 대표적인 예를 나타낸다. 표 1에 나타낸 BER 성능은 35회의 반복 회수로 실행된다.
SI. No. 루프 Eb/No (dB) 오류수 BER
1 9000 7 오류 없음 --
2 6000 6 7 4.05×10-6
3 1500 5 7 1.62×10-5
4 1000 4 114 3.96×10-4
5 500 3 297 2.06×10-3
6 100 2 330 1.14×10-2
BER=10-5 에서 요구되는 비트당 에너지대 잡음 밀도비(Eb/No)는, 등가의 비터비 디코더(Viterbi decoder)에 비해서, 작은 프레임 길이에 대해 0.5dB 더 성능이 좋음을 알 수 있다. 이러한 알고리즘을, GNSS 시스템의 네비게이션 데이터 구조(109)에서의 BER 성능을 개선하기 위해 더 변형할 수 있다. LDPCCC 인코더(102)와 디코더(108)는 VC++ 소프트웨어를 이용하여 구현할 수 있다.
LDPCCC 알고리즘은 j=3, k=6, ms=5로 개발하였다. LDPCCC 코드는 LDPC 코드를 사용하여 등가 알고리즘의 약 1/15의 복잡도를 갖는 독창적인 알고리즘이다. LDPC 코드의 프로세서 복잡도는 비슷한 길이의 j=3 및 k=6에 대해서 194이지만, LDPCCC의 프로세서 복잡도는 6이다. LDPC 코드의 디코딩 지연은 11.5초를 넘지만, LDPCCC 알고리즘에 대한 디코딩 지연은 3.7초이다. LDPCCC 알고리즘은 처음에 정의한 변수를 변경함으로서 용이하게 변경할 수 있다. C 코드의 라인수는 260인데, 이는 LDPCCC 알고리즘을 구현할 수 있는 가장 낮은 개수이다. 이 LDPCCC 알고리즘에서의 꼬리비트수는 6이다. LDPCCC 알고리즘은 6비트의 종결 비트값을 정하는데, 이 값은 종결 비트를 제외한 프레임의 인코드된 코드 워드에 좌우된다. 꼬리비트수가 유한하고 작기 때문에 단순하고 빠른 LDPCCC 인코더 및 디코더 알고리즘을 구현할 수 있게 된다. 종결 비트는 0 입력 메시지가 0 코드 워드를 낳는 상태로 유한상태기계(FSM)를 구동시킨다.
또한, 최초의 코드 생성시에 시프트 레지스터에 기반한 체계적인 인코딩을 하기 때문에, LDPC 컨벌루션 코드를 간단하게 인코드할 수 있다. LDPC는 고정 길이 블록만을 전송할 수 있는 반면에, LDPC 컨벌루션 코드는 임의 크기 프레임에서의 블록 전송 뿐만 아니라, 연속 데이터 전송에도 적합한다. 주어진 복잡도에 대해서, LDPC 컨벌루션 코드는 LDPC 블록 코드보다 더 나은 성능을 갖는다. LDPCCC 코드는 AWGN 하에서 우수한 BER 성능을 제공하며, 데이터 비트 N이 매우 큰 값에 대해서도 아주 유용하다. 또한, GNSS 네비게이션 데이터의 더 짧은 수의 데이터 심볼에 대해서도 좋은 BER 성능으로 사용할 수 있다. LDPCCC 코드의 아키텍처는 파이프라이닝에 더 적합한데, 그 이유는 클럭 속도를 높힐 수 있고 연속 디코딩이 가능한 피드포워드(feed forward) 아키텍처가 가능하기 때문이다. LDPCCC 코드를 VLSI로 구현시에는 프로세서와 같은 복제 장치를 이용한다. 많은 프로세서들을 서로 연결함으로써 완전한 디코더를 구성할 수 있는데, 이때에는 태너 그래프의 컨벌루션 구조가 VLSI 구현을 돕는다.
또한, 동등한 BER 성능에 대해 LDPCCC 프로세서의 크기는 LDPC 블록 코드의 크기보다 10배 정도가 작다. 프로세서 내의 라우팅 복잡도도 또한 LDPC 블록 코드보다 10배 정도가 작다. 따라서 LDPCCC는 단순한 하드웨어 구현에 의해서도 매우 좋은 BER 성능을 발휘하고, 특히, 넓은 범위의 신호대 잡음비(일반적으로 비트당 에너지대 잡음 밀도비(Eb/No)에 의해 표현됨)에 걸쳐서 좋은 BER 성능을 필요로 하는 네비게이션 데이터 구조에서, 다양한 통신채널을 통해 오류 없는 성능을 위해 사용된다. LDPCCC 기법은 컴퓨터간 통신, 위성통신 링크, 지상파?케이블?광섬유 링크?글로벌 내비게이션 위성 시스템(GNSS) 링크를 통한 대용량 파일의 전송에 적합한다.
도 4를 참조하면, 본 발명의 대표적인 실시예에 따른, LDPC 컨벌루션 코드를 사용하여 GNSS 시스템에서 신호 데이터를 통신하는 방법의 흐름도가 도시되어 있다. 단계 410에서, 송신단에서는 전송하고자 하는 네비게이션 신호 데이터(109)를 일군의 서브프레임으로 포맷할 수 있다. 신호 데이터의 각 서브프레임은 식별 페이지 비트, 네비게이션 데이터 비트, 순환 중복 검사(CRC) 비트, 종결 비트로 구성된다. 종결 비트는 유한상태기계 구동을 위한 신호 데이터의 종결 비트를 제외하고는 각 서브프레임의 인코드된 코드 워드에 의존한다. 단계 420에서, 네비게이션 신호 데이터의 각 서브프레임을, LDPC 컨벌루션 코드의 태너 그래프 표시에 의해 정의되는 패리티 검사 행렬에 따라 인코드할 수 있다. 패리티 검사 행렬은 심볼 노드의 수, 제약 노드의 수, 부호율(code rate), 신드롬 포머 메모리로 정의할 수 있다. 제약 노드의 수는 패리티 검사 행렬의 행수이고, 심볼 노드의 수는 패리티 검사 행렬의 열수이다.
또한, 심볼 노드의 수는 심볼 코드와 연관된 시간 지수로 구성할 수 있다. 신드롬 포머 메모리는 패리티 검사 행렬 및 갈루아체(Galois field)의 지수에서의 지연 연산자의 최대 거듭제곱수이다. 부호율은 심볼 노드의 수와 제약 노드의 수를 기초로 계산할 수 있는데, 이때, 심볼 노드의 수는 제약 노드의 수보다 적다. 다음에, 단계 430에서, 인코드된 신호 데이터를 인터리브하고, 인코드된 신호 데이터의 인터리브된 블록을 통신채널을 통해 전송하기 위하여 Sync 워드 필드를 추가할 수 있다. 인코드된 신호 데이터를, 메모리 행렬에 열별로 또는 행별로 블록 인터리빙할 수 있다. 인코드된 신호 데이터의 인터리브된 블록은, 신호 데이터가 행별로 인터리브된 경우에는 열별로 읽음으로써(그 반대의 경우에는 행별로 읽음) 디인터리브할 수 있다. 인코드된 신호 데이터를, LDPC 컨벌루션 코드의 에러 정정 능력에 따른 인터리빙 깊이로 블록 인터리빙할 수 있다.
그 다음 단계 440에서와 같이, 통신채널을 통해 수신단은 인코드된 신호 데이터의 인터리브된 블록을 수신하여 이를 디인터리브할 수 있다. 마지막으로, 단계 450에서와 같이, 송신단에서 처음에 송신한 네비게이션 신호 데이터를(109)을 얻기 위해, 인코드된 신호 데이터를 메시지 전달 기법을 기초로 디코드할 수 있다. 이러한 방법은 효과적인 네비게이션 데이터 통신을 위해 GNSS 통신채널을 통하여 오류없는 실행을 할 수 있으며, 또한, 넓은 범위의 EB/No에 걸쳐서 좋은 BER 성능을 제공할 수 있다.
LDPC 컨벌루션 코드는 반복 디코딩에 의해 섀넌 용량 근접 성능을 달성할 수 있다. 또한, LDPCCC의 수행은 부가적 백색 가우스 잡음(AWGN, additive white gaussian noise)이 존재할 때, 그리고 이진 대칭 채널(BSC, binary symmetrical channel)에 대해서 우수한 비트 오류율 성능을 제공한다. 따라서 LDPCCC는 LDPC 블록 코드보다 우수한 성능을 발휘한다. LDPC 컨벌루션 코드는 임의 크기 프레임의 블록 전송뿐만 아니라, 연속 전송을 포함한 다양한 통신 상황에서의 실용적인 구현에 적합하다. 또한, 도 2에서 설명한 각 서브프레임은 FSM을 초기 상태로 구동하는 꼬리비트를 포함하기 때문에 컨벌루션 코드 또는 LDPC 블록 코드보다 더 효율적인 코딩을 보장한다.
동일한 반복수 및 동일한 프레임 길이에 대해서, LDPC 컨벌루션 코드에 대한 계산 복잡도는 LDPC 블록 코드에 비해 매우 작다. LDPC 컨벌루션 코드의 프로세서 복잡도는, 반복당 LDPC 블록 코드와 비견된다. LDPC 컨벌루션 코드에 대한 디코딩 지연은 LDPC 블록 코드에 비해 무시할 수 있다. 그리고 LDPC 코드 블록에 대한 메모리 요구조건에 비해 LDPC 컨벌루션 코드에 대한 메모리 요구조건은 훨씬 적다. 종결 비트 수를 고정하기 때문에(여기서 설명한 구성에서는 6임), 오랫동안 문제시되던 프레임의 가변 길이 종결에 따른 문제가 해결된다.
발명을 설명하기 위해 특정 실시예를 참조하여 설명하였지만, 이들 특정 실시예는 단지 예시적 설명일 뿐, 제한적인 것은 아니다. 특정 실시예의 루틴을 구현하기 위해 적합한 모든 프로그래밍 언어를 사용할 수 있는데, 여기에는 C, C++, 자바, 어셈블리 언어 등이 포함된다. 다른 프로그래밍 기법, 가령, 절차 또는 객체 지향 프로그래밍을 사용할 수 있다. 루틴은 단일 처리 장치 또는 다중 프로세서에서 실행할 수 있다. 비록 단계, 연산, 또는 계산을 특정 순서로 설명할 수도 있지만, 다른 특정 실시예예서는 이 순서가 변경될 수도 있다. 본 명세서에서 순차적으로 나타낸 다수의 단계를 일부 특정 실시예에서는 동시에 실행할 수도 있는 것이다.
명령어 실행 시스템, 장치, 시스템, 또는 기기에 의해 사용되거나, 또는 이들과 관련하여 사용되는 컴퓨터가 읽을 수 있는 기록매체 내에서 특정 실시예를 구현할 수 있다. 특정 실시예를 소프트웨어나 하드웨어(또는 이 둘의 조합)에 있는 제어논리(컨트롤 로직)의 형태로 구현할 수 있다. 제어논리를 하나 이상의 프로세서에서 실행할 경우에는, 특정 실시예에 설명되어 있는 것을 수행하기 위해 동작가능하다.
특정 응용에 따라 유용한 경우에는, 도면/그림에 도시한 하나 이상의 구성요소를 보다 더 세분하거나 통합해서(또는 특정 경우에는 심지어 제거하거나 동작불가하게 만들어서) 실행할 수도 있음을 알게 될 것이다. 또한, 앞에서 설명한 방법 중 하나를 컴퓨터로 실행하기 위하여 기계가 읽을 수 있는 매체에 저장할 수 있는 프로그램이나 코드를 실행하는 것도 본 발명의 사상과 범위 내에 들게 된다.
따라서, 본 명세서에서 특정 실시예들을 설명하였지만, 변형, 다양한 변경, 교체의 허용은 앞에서 개시한 내용에 의도되어 있다. 일부 경우에는 본 발명의 범위와 사상을 벗어나지 않는 범위에서 다른 특징에 상응하는 사용을 하지 않고도 특정 실시예의 일부 특징을 채택할 수 있음을 알게 될 것이다. 따라서 본 발명의 본질적인 범위와 사상에 대한 특정 상황이나 자료를 적용하기 위하여 많은 변형을 할 수 있을 것이다.

Claims (17)

  1. 송신단에서,
    신호 데이터를 다수의 서브프레임으로 포맷하는 과정과;,
    LDPC 컨벌루션 코드의 태너 그래프 표현법에 의해 정의되는 패리티 검사 행렬에 따라, 상기 신호 데이터의 각 서브프레임을 인코드하는 과정과;
    상기 인코드된 신호 데이터를 인터리브하고 Sync 워드 필드를 추가하여, 인코드된 신호 데이터의 상기 인터리브된 블록을 통신채널을 통해 송신하는 과정과;
    수신단에서,
    인코드된 신호 데이터의 인터리브된 블록을 통신채널을 통해 수신하여 상기 인터리브된 블록을 디인터리브하는 과정과;
    상기 인코드된 신호 데이터를 메시지 전달 기법을 통해 디코드하여 송신단에서 처음에 전송한 신호 데이터를 얻는 과정을 포함하여 이루어지는 것을 특징으로 하는 저밀도 패리티 검사(LDPC) 컨벌루션 코드 및 메시지 전달 알고리즘을 이용하여 GNSS 시스템에서 신호 데이터를 통신하는 방법.
  2. 제1항에 있어서, 상기 인코드된 신호 데이터는,
    열별로 또는 행별로 메모리 행렬에 씀으로써 블록 인터리브되는 것을 특징으로 하는 저밀도 패리티 검사(LDPC) 컨벌루션 코드 및 메시지 전달 알고리즘을 이용하여 GNSS 시스템에서 신호 데이터를 통신하는 방법.
  3. 제1항에 있어서,
    인코더와 디코더의 유한하고 적은 꼬리비트수를 코딩하는 기법을 이용하여, FSM(유한상태기계)을 0 입력 메시지에 의해 0 코드 워드를 얻을 수 있는 상태로 구동하는 과정을 추가로 포함하는 것을 특징으론 하는 저밀도 패리티 검사(LDPC) 컨벌루션 코드 및 메시지 전달 알고리즘을 이용하여 GNSS 시스템에서 신호 데이터를 통신하는 방법.
  4. 제1항에 있어서, 상기 LDPC 컨벌루션 코드는,
    파이프라인 디코더를 이용하여 연속적인 디코딩을 가능하도록 구현되는 것을 특징으로 하는 저밀도 패리티 검사(LDPC) 컨벌루션 코드 및 메시지 전달 알고리즘을 이용하여 GNSS 시스템에서 신호 데이터를 통신하는 방법.
  5. 제1항에 있어서, 상기 인코드된 신호 데이터의 인터리브된 블록은,
    상기 신호 데이터가 행별로 인터리브된 경우에는 열별로 읽음으로써 디인터리브되고, 그 반대의 경우에는 행별로 읽음으로써 디인터리브되는 것을 특징으로 하는 저밀도 패리티 검사(LDPC) 컨벌루션 코드 및 메시지 전달 알고리즘을 이용하여 GNSS 시스템에서 신호 데이터를 통신하는 방법.
  6. 제1항에 있어서, 상기 인코드된 신호 데이터는,
    상기 LDPC 컨벌루션 코드의 에러 정정 능력에 따른 인터리빙 깊이로 블록 인터리브되는 것을 특징으로 하는 저밀도 패리티 검사(LDPC) 컨벌루션 코드 및 메시지 전달 알고리즘을 이용하여 GNSS 시스템에서 신호 데이터를 통신하는 방법.
  7. 제1항에 있어서, 상기 패리티 검사 행렬은,
    심볼 노드의 수, 제약 노드의 수, 부호율, 신드롬 포머 메모리로 정의되는 것을 특징으로 하는 저밀도 패리티 검사(LDPC) 컨벌루션 코드 및 메시지 전달 알고리즘을 이용하여 GNSS 시스템에서 신호 데이터를 통신하는 방법.
  8. 제1항 또는 제5항에 있어서, 제약 노드의 수는 상기 패리티 검사 행렬의 행수를 포함하고, 심볼 노드의 수는 상기 패리티 검사 행렬의 열수를 포함하는 것을 특징으로 하는 저밀도 패리티 검사(LDPC) 컨벌루션 코드 및 메시지 전달 알고리즘을 이용하여 GNSS 시스템에서 신호 데이터를 통신하는 방법.
  9. 제5항에 있어서, 부호율은 심볼 노드의 수와 제약 노드의 수를 기초로 계산하되, 이때, 상기 심볼 노드의 수는 제약 노드의 수보다 적은 것을 특징으로 하는 저밀도 패리티 검사(LDPC) 컨벌루션 코드 및 메시지 전달 알고리즘을 이용하여 GNSS 시스템에서 신호 데이터를 통신하는 방법.
  10. 제5항에 있어서, 심볼 노드의 수는 심볼 코드와 연관된 시간 지수로 구성되는 것을 특징으로 하는 저밀도 패리티 검사(LDPC) 컨벌루션 코드 및 메시지 전달 알고리즘을 이용하여 GNSS 시스템에서 신호 데이터를 통신하는 방법.
  11. 제5항에 있어서, 신드롬 포머 메모리는 상기 패리티 검사 행렬 및 갈루아체(Galois field) 지수에서의 지연 연산자의 최대 거듭제곱수를 포함하는 것을 특징으로 하는 저밀도 패리티 검사(LDPC) 컨벌루션 코드 및 메시지 전달 알고리즘을 이용하여 GNSS 시스템에서 신호 데이터를 통신하는 방법.
  12. 제1항에 있어서, 상기 신호 데이터는,
    네비게이션 데이터 구조를 포함하는 것을 특징으로 하는 저밀도 패리티 검사(LDPC) 컨벌루션 코드 및 메시지 전달 알고리즘을 이용하여 GNSS 시스템에서 신호 데이터를 통신하는 방법.
  13. 제1항에 있어서, 패리티 검사 방정식은 상기 인코드된 신호 데이터의 로그 유사성비(LLR)로서 정의되는 것을 특징으로 하는 저밀도 패리티 검사(LDPC) 컨벌루션 코드 및 메시지 전달 알고리즘을 이용하여 GNSS 시스템에서 신호 데이터를 통신하는 방법.
  14. 제1항에 있어서, 상기 신호 데이터의 각 서브프레임은,
    식별 페이지 비트, 네비게이션 데이터 비트, 순환 중복 검사(CRC) 비트, 종결 비트로 구성되는 것을 특징으로 하는 저밀도 패리티 검사(LDPC) 컨벌루션 코드 및 메시지 전달 알고리즘을 이용하여 GNSS 시스템에서 신호 데이터를 통신하는 방법.
  15. 제12항에 있어서, 종결 비트는 유한상태기계를 구동하기 위한 신호 데이터의 종결 비트를 제외하고는 각 서브프레임의 인코드된 코드 워드에 의존하는 것을 특징으로 하는 저밀도 패리티 검사(LDPC) 컨벌루션 코드 및 메시지 전달 알고리즘을 이용하여 GNSS 시스템에서 신호 데이터를 통신하는 방법.
  16. 송신단에 있는,
    데이터 소스와 통신하며 신호 데이터를 다수의 서브프레임으로 포맷하는 데이터 포맷기와;
    상기 데이터 포맷기와 통신하며 LDPC 컨벌루션 코드의 태너 그래프 표현법에 의해 정의되는 패리티 검사 행렬을 구축하여, 신호 데이터의 각 서브프레임을 인코드하는 적어도 하나의 인코더와;
    상기 인코더와 연계하여, 인코드된 신호 데이터를 블록 인터리브하고 Sync 워드 필드를 추가하는 적어도 하나의 인터리버와;
    상기 인터리버와 연계하여, 인코드된 신호 데이터의 인터리브된 블록을 통신채널을 통해 송신하는 적어도 하나의 송신기와;
    수신단에 있는,
    수신기와 통신하며, 상기 수신기로부터 통신채널을 통해 수신한 인코드된 신호 데이터의 인터리브된 블록을 디인터리브하는 디인터리버와;
    상기 디인터리버와 통신하며, 인코드된 신호 데이터를 메시지 전달 기법을 통해 디코드하여 송신단에서 처음에 전송한 신호 데이터를 얻는 적어도 하나의 디코더를 포함하여 구성되는 것을 특징으로 하는 저밀도 패리티 검사(LDPC) 컨벌루션 코드를 이용하여 GNSS 시스템에서 신호 데이터를 통신하는 시스템.
  17. 제16항에 있어서, 상기 통신채널은,
    인공위성, 광섬유, 지상통신선, 구리선 케이블 중 어느 하나를 포함하는 것을 특징으로 하는 저밀도 패리티 검사(LDPC) 컨벌루션 코드를 이용하여 GNSS 시스템에서 신호 데이터를 통신하는 시스템.
KR1020127007775A 2009-08-27 2010-08-27 Ldpc 컨벌루션 코드를 사용하여 gnss 신호 데이터를 통신하는 방법 및 그 시스템 KR20120091001A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
IN2064CH2009 2009-08-27
IN2064/CHE/2009 2009-08-27

Publications (1)

Publication Number Publication Date
KR20120091001A true KR20120091001A (ko) 2012-08-17

Family

ID=43446458

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020127007775A KR20120091001A (ko) 2009-08-27 2010-08-27 Ldpc 컨벌루션 코드를 사용하여 gnss 신호 데이터를 통신하는 방법 및 그 시스템

Country Status (5)

Country Link
US (1) US8930793B2 (ko)
EP (1) EP2471183A1 (ko)
KR (1) KR20120091001A (ko)
RU (1) RU2012111058A (ko)
WO (1) WO2011024206A1 (ko)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2790327B1 (en) * 2011-12-30 2016-08-24 Huawei Technologies Co., Ltd. Adaptive coding using time-varying periodic ldpc convolutional codes based on quasi-cyclic ldpc block codes
FR2993369B1 (fr) * 2012-07-11 2017-10-13 Centre Nat D'etudes Spatiales Signal radio gnss pour une synchronisation amelioree
CN105122656B (zh) 2013-05-07 2018-12-07 华为技术有限公司 一种编码及解码的方法、设备和系统
WO2015137712A1 (en) * 2014-03-14 2015-09-17 Samsung Electronics Co., Ltd. Method and apparatus for controlling interleaving depth
CN105099599B (zh) * 2014-04-16 2019-12-27 上海澜至半导体有限公司 交织、解交织方法以及相应的装置
KR102265052B1 (ko) * 2014-12-17 2021-06-15 삼성전자주식회사 적응적으로 인터리빙 깊이를 결정하는 인터리빙 방법 및 장치
KR102287616B1 (ko) * 2015-02-16 2021-08-10 한국전자통신연구원 길이가 64800이며, 부호율이 2/15인 ldpc 부호어 및 256-심볼 맵핑을 위한 비트 인터리버 및 이를 이용한 비트 인터리빙 방법
CN106767383A (zh) * 2016-11-11 2017-05-31 清华大学 基于连续运行gnss站信噪比数据的积雪深度的测量方法
ES2854941T3 (es) 2016-11-23 2021-09-23 Fraunhofer Ges Forschung Receptor, transmisor, red de comunicación, señal de datos y procedimiento para mejorar un procedimiento de retransmisión en una red de comunicación
JP7124276B2 (ja) * 2017-08-14 2022-08-24 富士通株式会社 伝送装置、及び誤り訂正方法
EP3544248A1 (en) * 2018-03-20 2019-09-25 Centre National D'etudes Spatiales Adaptive detection function based on statistical propagation channel estimation for gnss receivers
CN112165338B (zh) * 2020-09-30 2023-05-02 电子科技大学 一种卷积码随机交织序列交织关系的估计方法
CN112865853B (zh) * 2020-12-30 2023-01-10 广东省电信规划设计院有限公司 卫星的数据传输参数优化方法、装置及通信系统
CN113132058B (zh) * 2021-02-23 2023-05-05 龙文华丰(北京)科技有限公司 一种基于高斯约当消元的改进卷积交织盲识别方法
CN113891065B (zh) * 2021-09-09 2023-11-28 武汉中海庭数据技术有限公司 一种单帧图像传输延时测量方法和系统

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100122143A1 (en) * 2007-03-27 2010-05-13 Hughes Network Systems, Llc Method and system for providing low density parity check (ldpc) coding for scrambled coded multiple access (scma)
US8619974B2 (en) * 2007-03-27 2013-12-31 Hughes Network Systems, Llc Method and system for providing spread scrambled coded multiple access (SSCMA)
US20110047434A1 (en) * 2008-04-28 2011-02-24 Qualcomm Incorporated Wireless communication of turbo coded atsc m/h data with time diversity

Also Published As

Publication number Publication date
US8930793B2 (en) 2015-01-06
EP2471183A1 (en) 2012-07-04
US20120198307A1 (en) 2012-08-02
RU2012111058A (ru) 2013-10-10
WO2011024206A1 (en) 2011-03-03

Similar Documents

Publication Publication Date Title
KR20120091001A (ko) Ldpc 컨벌루션 코드를 사용하여 gnss 신호 데이터를 통신하는 방법 및 그 시스템
US6948109B2 (en) Low-density parity check forward error correction
EP1480366B1 (en) Error-correcting encoding apparatus
US7246294B2 (en) Method for iterative hard-decision forward error correction decoding
KR100984289B1 (ko) 통신 시스템에서 가변 부호화율을 지원하는 신호 송수신장치 및 방법
US7516389B2 (en) Concatenated iterative and algebraic coding
CN101039119B (zh) 编码与解码的方法及系统
CN102142928B (zh) 交织、解交织外码编码输出码字的方法和交织、解交织器
KR20080094322A (ko) 통신 시스템에서 저밀도 패리티 검사 부호 부호화 장치 및방법
US7296212B1 (en) Multi-dimensional irregular array codes and methods for forward error correction, and apparatuses and systems employing such codes and methods
US7231575B2 (en) Apparatus for iterative hard-decision forward error correction decoding
EP2096763A1 (en) Encoding device, encoding method, encoding/decoding device, and communication device
EP3476052A1 (en) Coding and decoding of polar codes extended to lengths which are not powers of two
EP3713096B1 (en) Method and device for decoding staircase code, and storage medium
KR101433375B1 (ko) 통신 시스템에서 블록 저밀도 패리티 검사 부호부호화/복호 장치 및 방법
KR20080088030A (ko) 직렬연접 ldpc 부호기, 복호기 및 이를 이용한복호방법
CN101753261B (zh) 一种编码器、译码器及编码、译码方法
CN102142929B (zh) 前向纠错方法、装置及系统
CN114124108A (zh) 基于低密度奇偶校验的编码方法、译码方法和相关装置
Dong et al. Towards high performance short polar codes: concatenated with the spinal codes
US20070283230A1 (en) System and method for decreasing decoder complexity
KR100651473B1 (ko) 파이프 라인을 이용한 고속 터보 부호 복호기
EP1569349A1 (en) Alternative concatenated coding scheme for digital signals
KR20220134199A (ko) 프레임 연집 오류 정정을 위한 부호기/복호기 및 부호화/복호화 방법
KR101354731B1 (ko) 통신 시스템에서 연접 저밀도 생성 행렬 부호 부호화/복호장치 및 방법

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
E902 Notification of reason for refusal