KR101692608B1 - 연판정 값을 기초로 한 오류 검출용 토글링 시퀀스 결정 방법 및 에러 패턴 결정 방법 및 그 장치 - Google Patents

연판정 값을 기초로 한 오류 검출용 토글링 시퀀스 결정 방법 및 에러 패턴 결정 방법 및 그 장치 Download PDF

Info

Publication number
KR101692608B1
KR101692608B1 KR1020150023843A KR20150023843A KR101692608B1 KR 101692608 B1 KR101692608 B1 KR 101692608B1 KR 1020150023843 A KR1020150023843 A KR 1020150023843A KR 20150023843 A KR20150023843 A KR 20150023843A KR 101692608 B1 KR101692608 B1 KR 101692608B1
Authority
KR
South Korea
Prior art keywords
toggling
sequence
error
error pattern
determining
Prior art date
Application number
KR1020150023843A
Other languages
English (en)
Other versions
KR20150097427A (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 KR20150097427A publication Critical patent/KR20150097427A/ko
Application granted granted Critical
Publication of KR101692608B1 publication Critical patent/KR101692608B1/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/0045Arrangements at the receiver end
    • H04L1/0047Decoding adapted to other signal detection operation
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0078Avoidance of errors by organising the transmitted data in a format specifically designed to deal with errors, e.g. location
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/1607Details of the supervisory signal
    • H04L1/1642Formats specially adapted for sequence numbers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1829Arrangements specially adapted for the receiver end
    • H04L1/1864ARQ related signaling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1867Arrangements specially adapted for the transmitter end

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Error Detection And Correction (AREA)

Abstract

연판정 값을 기초로 한 오류 검출용 토글링 시퀀스 결정 방법 및 에러 패턴 결정 방법 및 그 장치에 관한 것으로서, 더 나아가 오류 (에러 패턴) 검출 및 정정을 보다 신속하게 할 수 있도록 연판정 값을 기초로 최적의 토글링 시퀀스 및 에러 패턴을 결정하는 방법에 관한 것이다.
본 발명은 연판정의 신뢰값을 사용하여, 기존 ARQ 방식과 FEC 방식의 장점을 결합함으로써 낮은 리던던시(redundancy)와 낮은 딜레이 및 수신측 오류 정정 능력을 구현하는 것을 목적으로 한다.
이를 위하여 본 발명의 제1 실시예에 따르면, 토글링 시퀀스 속도를 최적화하기 위하여 본 발명은 토글링되는 연판정의 신뢰값의 합이 낮은 순서대로 순차적으로 토글링되도록 토글링 시퀀스를 결정하는 토글링 시퀀스 결정 방법을 제공한다.
추가적으로 본 발명의 제2 실시예에 따르면, 수신된 신호의 신뢰값 순서로 신드롬을 비교함으로써 에러 패턴을 결정하는 방법으로서, 중단값이 제1 에러 패턴 그룹(ENb)의 에러 패턴의 수보다 작은 경우, 제1 에러 패턴 그룹(ENb) 중 중단값까지의 에러 패턴에 대해서만 Nb + 1번째 비트를 1로 바꿔 제2 미정렬 에러 패턴 그룹(ENb+1')을 결정하는 단계를 포함하는 에러 패턴 결정 방법을 제공한다.
본 발명에 따르면, 낮은 딜레이를 가지는 동시에 낮은 리던던시를 가지는 최적의 통신 환경을 구현할 수 있고, 종래의 CRC 방식을 비롯한 ARQ 방식에서는 구현할 수 없었던 수신측 오류 정정 기능을 낮은 리던던시로 구현할 수 있다.

Description

연판정 값을 기초로 한 오류 검출용 토글링 시퀀스 결정 방법 및 에러 패턴 결정 방법 및 그 장치{METHOD AND DEVICE FOR DETERMINING TOGGLING SEQUENCE AND ERROR PATTERN BASED ON USING SOFT DECISION}
본 발명은 연판정 값을 기초로 수신측에서 수신 신호의 오류를 검출 및 정정할 수 있는 장치에 관한 것으로서, 더 나아가 오류 검출 및 정정을 보다 신속하게 할 수 있도록 연판정 값을 기초로 최적의 토글링 시퀀스를 결정하는 방법에 관한 것이다.
또한, 본 발명은 연판정 값에 기초하여 수신측에서 수신 신호의 에러 패턴을 신뢰값이 낮은 순으로 순차적으로 정렬하고 에러 패턴의 신드롬을 수신 신호의 신드롬과 비교함으로써 에러 패턴을 결정하는 방법에 관한 것이다.
FEC(Forward error correction) 기술의 경우 수신측에서의 오류 정정 기능을 위하여 매킷마다 상대적으로 높은 리던던시(redundancy)를 갖는다. 하지만, ARQ 기술에 비하여 수신측에서 오류 정정이 가능하여 재전송 요청에 의해 발생하는 딜레이가 없기 때문에, 실시간 데이터 전송 시스템에 적합하다. 이러한 FEC방식에는 block coding, convolutional coding, turbo code (TC), low density parity check (LDPC) 등의 다양한 기술들이 있다. 도 11은 3/4 코딩 래이트를 갖는 FEC를 도시하며, 900비트마다 300비트의 중복 데이터(redundant data)를 전송함에 따라 약 33%의 높은 중복 데이터가 전송된다는 것을 알 수 있다.
CRC(cyclic redundancy check)와 같은 ARQ(Automatic repeat request) 기술의 경우 전송 신호 내에 오류를 검출하기 위한 비트의 점유율(리던던시(redundancy))이 낮은 장점이 있지만, 수신측에서 오류 정정 기능이 없어 오류(NACK)가 났을 때 송신측에서의 재전송이 요구되어 오류 정정 기능을 가지는 FEC 기법에 비하여 실시간 서비스에 부적합하다. 도 12는 31 비트 CRC 비트 전송 및 NACK의 경우 재전송을 요청하는 ARQ 기술의 예시를 도시한 것이다. 1169비트를 전송할 때 31비트의 중복 데이터를 전송하기 때문에 약 3%의 낮은 중복 데이터를 갖는다.
따라서, ARQ 기술의 낮은 리던던시를 가지면서도 FEC 기술에서와 같이 오류 정정 능력을 구비하여 낮은 딜레이를 구현할 수 있는 오류 검출 및 정정 기술의 개발이 요구되고 있다.
한편, 연판정(soft decision) 값이란, 경판정(hard decision) 값과는 달리 0 또는 1 비트 값뿐만 아니라 신뢰값을 동시에 나타낸다. AWGN(Additive white Gaussian noise)이 존재하는 경우 송신신호가 xi, i = 1,2,.... 이고 i 번째 심볼 전송시 발생한 잡음을 zi, i=1,2,...라고 한다면 수신신호 yi,i=1,2,...는 아래의 [수학식 1]과 같다.
Figure 112015016619698-pat00001
위의 수신신호를 기반으로 아래 [수학식 2]과 같이 연판정 값 또는 LLR(log likelihood ratio) 값을 구할 수 있다.
Figure 112015016619698-pat00002
여기서 bk ,i는 i번째 심볼에 속한 k번째 비트를 나타낸다. 16-QAM의 경우에는 k=1,2,3,4 값을 갖는다. xopt i ,k,-는 k번째 비트가 0인 성상점 중 yi와 가장 가까운 점을 나타내고, xopt i ,k,+는 k번째 비트가 1인 성상점 중 yi와 가장 가까운 점을 나타낸다.
도 13에 예시된 16-QAM에 적용할 때 상기 [수학식 2]의 연판정 값은 아래 [수학식 3]과 같이 구할 수 있다.
Figure 112015016619698-pat00003
본 발명은 연판정 값을 사용하여, 기존 ARQ 방식과 FEC 방식의 장점을 결합함으로써 기존 ARQ방식의 장점인 낮은 리던던시(redundancy)와 기존 FEC 방식의 장점인 낮은 딜레이 및 수신측 오류 정정 능력을 구현하는 것을 목적으로 한다.
또한, 본 발명은 종래 송신측 장비를 교환 및 개량할 필요 없이 수신측에서 본 발명에 따른 오류 검출 및 정정 방법을 단순히 적용하는 것만으로 구현할 수 있도록 하는 것을 목적으로 한다.
더 나아가, 본 발명은 회로 내에서 공간을 많이 차지하지 않는 단순한 구조를 가지는 오류 검출 및 정정 능력을 구현하는 것을 목적으로 한다.
본 발명은 연판정 값을 기초로 오류 검출 및 정정의 속도를 높이는 방법을 제공하는 것을 또 다른 목적으로 한다.
상기 과제를 해결하기 위하여 본 발명은 송신측으로부터 받은 수신 신호를 기초로 신뢰값을 가지는 연판정 비트 스트림을 발생시키는 연판정 비트 스트림 발생부; 경판정 비트 스트림 발생부; 및 상기 연판정 비트 스트림의 신뢰값이 낮은 순서대로 상기 경판정 비트를 순차적으로 토글링하는 토글링부;를 포함하는 수신측 오류 검출 및 정정 장치를 제공한다.
본 발명에 따르면 상기 수신 신호는 오류 검출을 위한 비트(CRC 비트)를 포함하고, 토글링된 경판정 비트 스트림에 대하여 오류를 검사하는 오류 검사부를 포함할 수 있다.
본 발명의 추가적인 과제인 토글링 시퀀스 속도를 최적화하기 위하여 본 발명은 수신 신호에 대한 연판정 비트 스트림의 신뢰값에 따라 최적의 토글링 시퀀스를 결정하는 방법으로서, 기본 토글링 시퀀스 그룹을 제공하는 단계; 및 상기 기본 토글링 시퀀스 그룹에 기초하여, 토글링되는 연판정의 신뢰값의 합이 낮은 순서대로 순차적으로 토글링되도록 토글링 시퀀스를 결정하는 최적 토글링 시퀀스 결정 단계;를 포함하는 토글링 시퀀스 결정 방법을 제공한다.
상기 과제를 해결하기 위한 본 발명의 또 다른 수단으로서, 본 발명은 수신된 신호의 신뢰값 순서로 신드롬을 비교함으로써 에러 패턴을 결정하는 방법으로서, 중단값이 제1 에러 패턴 그룹(ENb)의 에러 패턴의 수보다 작은 경우, 제1 에러 패턴 그룹(ENb) 중 중단값까지의 에러 패턴에 대해서만 Nb + 1번째 비트를 1로 바꿔 제2 미정렬 에러 패턴 그룹(ENb +1')을 결정하는 단계를 포함하는 에러 패턴 결정 방법을 제공한다.
본 발명에 따르면, 낮은 딜레이를 가지는 동시에 낮은 리던던시를 가지는 최적의 통신 환경을 구현할 수 있다. 더 나아가, 종래의 CRC 방식을 비롯한 ARQ 방식에서는 구현할 수 없었던 수신측 오류 정정 기능을 낮은 리던던시만으로 구현할 수 있다.
또한, 본 발명에 따르면 종래의 송신측 장비를 교환 및 개량할 필요가 없기 때문에 이미 광범위하게 사용되고 있는 종래 오류 검출 방법(예를 들어, CRC)을 그대로 적용한 상태로 최적의 통신 환경을 구현할 수 있기 때문에 장비 교체에 따른 비용을 최소화 할 수 있다.
본 발명에 따른 또 다른 효과로서, 기존 반도체 수율 향상을 위하여 사용되었던 복잡한 오류 정정 회로보다 간단한 회로 구조를 통해서 반도체 내 통신 환경 하에서의 오류 검출 및 정정이 가능하기 때문에, 오류 검출 및 정정에 사용되는 회로 구조를 보다 작게 만들 수 있어 반도체 면적 상의 회로 직접도를 보다 높일 수 있는 효과가 기대된다.
본 발명의 또 다른 실시예에 따른 추가적인 효과로서, 머지 소트 방식을 통한 에러 패턴 정렬 방법을 사용하여 사용자가 지정한 최대 에러 패턴 정정 수 및 중단값까지의 범위 내에서 신뢰값 순으로 에러 패턴을 정렬하는 속도를 비약적으로 높일 수 있는 효과가 있다.
더 나아가, 본 발명의 상기 또 다른 실시예에 따르면, 오류 검출 및 정정을 하기 위한 CRC 검사를 반복적으로 수행하지 않고도 오류 정정이 가능할 수 있도록 함으로써 오류 정정 속도를 높일 수 있다.
도 1은 본 발명에 따른 오류 검출 및 정정 장치의 개념을 나타낸 도면이다.
도 2은 본 발명에 따른 오류 검출 및 정정 장치의 구성을 개략적으로 나타내는 블록다이어그램이다.
도 3는 버퍼를 이용하여 연판정 비트 스트림을 최대 토글링 수(N b,max )까지 신뢰값의 크기 대로 선택하는 순서도이다.
도 4는 신뢰값 순으로 연판정 비트 스트림을 선택하기 위한 버퍼의 구조를 나타낸다.
도 5는 본 발명의 제1 실시예에 따른 토글링 시퀀스를 최적화하여 순차적으로 토글링하는 일 실시예를 나타낸 순서도이다.
도 6은 본 발명의 제1 실시예에 따른 최적의 토글링 시퀀스를 결정하는 방법을 일반화한 알고리즘을 나타낸다.
도 7은 Nb,max = 15로 고정했을 때 다양한 NCRC,max값에 따른 본 발명의 제1 실시예에 따른 모의 실험 성능 평가의 결과이다.
도 8은 도 7과 동일한 모의실험환경에서 평균적인 CRC 검사횟수를 나타낸다.
도 9는 s = 3일 때 본 발명의 제1 실시예에 따른 최적의 토글링 시퀀스 결정 방법을 구체적인 실시예를 나타낸다.
도 10은 s = 4일 때 본 발명의 제1 실시예에 따른 최적의 토글링 시퀀스 결정 방법을 구체적인 실시예를 나타낸다.
도 11은 3/4 코딩 래이트를 갖는 종래 FEC 기술을 도시한 것이다.
도 12는 31 비트 CRC 비트 전송 및 NACK의 경우 재전송을 요청하는 종래의 ARQ 기술를 도시한 것이다.
도 13은 종래 16-QAM 성상도의 예시이다.
도 14는 본 발명의 제2 실시예에 따라 에러 패턴을 결정하는 방법의 개념을 도시한 블록 다이어그램이다.
도 15는 본 발명의 제2 실시예에 따라 에러 패턴을 결정하기 위한 순서도를 도시한 블록 다이어그램이다.
도 16은 본 발명의 제2 실시예에 따른 에러 패턴 결정 단계의 순서를 보다 상세히 도시한 블록 다이어그램이다.
도 17은 본 발명의 제2 실시예의 설명을 위하여 사용된 예시 신호를 도시한 것이다.
도 18은 도 17에서 사용되는 예시 신호에 대하여 CRC 검사 결과를 한 신드롬 메트릭스 중 신뢰값이 낮은 순으로 5개의 비트에 대한 선택 신드롬 메트릭스를 나타낸 것이다.
도 19는 본 발명의 제2 실시예에 있어서, 기본 에러 패턴 그룹을 나타낸 것이다.
도 20은 본 발명의 제2 실시예에 있어서, Nb = 2인 경우의 제1 에러 패턴 그룹 및 제2 미정렬 에러 패턴 그룹과 Nb = 3인 경우의 제1 에러 패턴 그룹을 나타낸 것이다.
도 21은 본 발명의 제2 실시예에 있어서, Nb = 3인 경우의 제1 에러 패턴 그룹 및 제2 미정렬 에러 패턴 그룹을 나타낸 것이다.
도 22는 본 발명의 제2 실시예에 있어서, Nb = 4인 경우의 제1 에러 패턴 그룹 및 제2 미정렬 에러 패턴 그룹을 나타낸 것이다.
도 23은 본 발명의 제2 실시예에 있어서, 도 21에서 도시된 Nb = 3인 경우의 제1 에러 패턴 그룹 및 제2 미정렬 에러 패턴 그룹과 함께 이에 해당하는 신드롬을 나타낸 것이다.
도 24는 본 발명의 제2 실시예에 있어서, Nb = 3인 경우의 제1 에러 패턴 그룹 및 제2 미정렬 에러 패턴 그룹과 Nb = 4인 경우의 제1 에러 패턴 그룹을 나타낸 것이다.
도 25는 본 발명의 제2 실시예에 있어서, Nb = 5인 경우의 제1 에러 패턴 그룹을 나타낸 것이다.
도 26은 본 발명의 제2 실시예에 따라서 결정된 에러 패턴에 따라 에러가 발생한 비트를 선택적으로 토글링하여 오류를 정정하는 것을 나타내는 도면이다.
도 27 및 28은 종래의 기술과의 오류 정정 성능(BLER, The block error rate) 및 복잡도를 비교한 그래프이다.
이하 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 설명하도록 한다. 본 발명은 신뢰값 순으로 토글링 시퀀스를 정렬하는 제1 실시예와 에러 패턴 및 그 신드롬을 통하여 에러 패턴을 결정하는 제2 실시예로 나뉜다. 두 실시예는 기본적으로 연판정의 신뢰값을 기초로 에러가 발생한 비트의 에러를 정정하는 특징을 공유하고 있기 때문에, 많은 부분에서 공통되는 바, 중복되는 설명은 생략하도록 한다.
제1 실시예 - 신뢰값 순으로 토글링 시퀀스를 정렬하는 방법
도 1은 본 발명에 따른 오류 검출 및 정정 장치의 개념을 나타낸 도면이다. 상기 설명한 FEC(도 11)과 비교할 때, 본 발명은 실제로 매우 낮은 리던던시(redundancy)(CRC와 동일한)를 가지면서도 수신측에서 오류 정정 기능을 가지게 된다. 따라서, 본 발명에 따른 오류 검출 및 정정 장치의 경우 수신측에서는 종전의 ARQ(도 12)과 동일한 방식으로 매우 적은 오류 검출 비트만을 포함시키는 것만으로도 구현될 수 있다.
도 2은 본 발명에 따른 오류 검출 및 정정 장치의 구성을 개략적으로 나타내는 블록 다이어그램이다. 도 2를 참조하면, 본 발명에 따른 오류 검출 및 정정 장치(1)는 송신측으로부터 수신 신호(심벌)(yi)를 받고, 연판정 비트 스트림 발생부(100), 경판정 비트 스트림 발생부(300) 및 토글링부(500)를 포함한다. 추가적으로 상기 오류 검출 및 정정 장치(1)는 연판정 비트 스트림 정렬부(200) 및 오류 검사부(700)를 더 포함할 수 있다. 본 발명에 따른 오류 검출 및 정정 장치(1)는 수신 장치의 내부에 구성되는 회로일 수 있다. 단, 이에 한정되지 않으며, 하나의 회로 칩 내에서 소프트웨어적으로 구현되도록 구성될 수도 있다.
본 발명에 따른 오류 검출 및 정정 장치(1)는 경판정(Hard decision) 값을 사용하는 기존의 오류 검출 방법과는 달리 연판정(soft decision) 값을 기초로 구현된다. 수신 신호로부터 연판정 값을 결정하는 방법은 상술한 바와 같다. 연판정 값은 경판정 값과는 달리 0 또는 1 비트 값뿐만 아니라 신뢰도를 나타내는 신뢰값을 가진다.
연판정 비트 스트림 발생부(100)는 이와 같이 수신 신호(yi)로부터 신뢰값을 가지는 연판정 비트 스트림을 발생시키는 기능을 한다. 본 명세서에서는 1200 비트가 한 개의 패킷이고 16-QAM을 사용한다고 가정하고 기술하도록 한다. 따라서, 한 패킷에는 300개의 심볼이 있고 각 심볼은 4 비트를 나타내내다.
상기 연판정 비트 스트림 발생부(100)는 상기 [수학식 3]을 통해서 설명한 연판정 값을 다음의 [수학식 4]로 나타낸다.
Figure 112015016619698-pat00004
본 발명의 요지는 이와 같이 형성된 연판정 비트 스트림을 그 신뢰값의 크기 순서대로 정렬하여 신뢰값이 작은 순서대로 오류 확률이 높은 것이라 가정함으로써, 작은 신뢰값을 가지는 해당 비트(경판정 값)을 토글링시키고, 이에 대하여 오류 검출 방법을 적용함으로써 오류 검출 및 정정 기능을 구현하는 것이다.
따라서, 1200개의 연판정 값들을 신뢰값의 크기 순서대로 판단(정렬)하여 다음의 [수학식 5]와 같이 표현한다.
Figure 112015016619698-pat00005
여기서 정렬이란 실제로 연판정 비트 스트림을 정렬하는 것이 아닌, 신뢰값이 낮은 순서대로 카운팅할 때 신뢰값이 가장 낮은 것에서부터 소정의 최대 토링글 수(N b , max )까지를 선택하는 것과 유사하기 때문에 정렬이란 표현을 사용한 것이다.
이론적인 최대 토글링 수(N b , max )는 1200 개의 연판정 비트 스트림의 경우 1200이지만, 상술한 바와 같이 본 발명은 1200 이하의 소정의 수(N b , max )까지만을 토글링하기 때문에 최대 토글링 수(N b , max )까지 해당하는 연판정 비트 스트림을 신뢰값의 크기 대로 선택하는 것이 중요하다.
도 3는 버퍼를 이용하여 연판정 비트 스트림을 최대 토글링 수(N b , max )까지 신뢰값의 크기 대로 선택하는 순서도이다. 도 3에 기초하여 1200 개의 연판정 비트 스트림을 신뢰값 순으로 선택(정렬)하는 순서는 다음과 같다.
신뢰값 순으로 선택하기 위한 버퍼의 구조는 도 4와 같다.
정렬되지 않은 초기의 연판정 비트 스트림 중 1~ N b , max 위치에 있는 값을 버퍼에 넣는다. 버퍼에 넣는 값은 연판정 비트 스트림에 절대값을 취한 값이다. 그 후 N b , max + 1 ~ 1200 위치에 있는 비트 값들은 하나씩 순서대로 버퍼에 있는 N b , max 개의 값과 비교한다.
연판정 비트의 값이 버퍼에 저장되어 있는 값보다 작으면 버퍼에 있는 값을 버리고, 연판정 비트의 값을 버퍼에 저장한다. 값이 크다면 버퍼의 다음 위치에 있는 값과 다시 비교한다.
버퍼의 N b , max 위치까지 비트의 값을 비교하기 전에, 연판정 비트의 값이 버퍼에 저장되고 버퍼에 있는 값이 버려 졌다면, 비교하고 있는 연판정 비트의 값이 이미 버퍼에 저장된 것이기 때문에 다음 위치에 있는 버퍼 값과 비교하지 않아도 된다. 그러므로 현재 연판정 비트의 비교는 종료되며 다음 연판정 비트와 버퍼 값을 비교하는 과정이 시작된다.
1200 번째의 연판정 비트까지 위의 과정을 반복한다. 위의 과정을 마친 후에 버퍼에는 1200개의 연판정 비트 스트림 중 신뢰도가 가장 낮은 12개의 값이 저장되어 있다.
하지만 가장 낮은 12개의 값을 저장하고 있을 뿐 신뢰도가 낮은 순서대로 정렬되어 있지는 않다. 그러므로 마지막으로 버퍼에 저장되어 있는 값을 작은 순서대로 정렬해주어야 한다.
정렬해 준 값은 다음과 같이,
Figure 112015016619698-pat00006
나타낼 수 있으며, 이 신뢰도 값에 해당하는 비트의 위치를 N b , max 비트 위치라 할 수 있다.
다시 [수학식 5]로 돌아가서,
Figure 112015016619698-pat00007
은 신뢰값의 크기가 가장 작은 연판정 값을 나타내고, <l>은 l = 1,2, ... 1200은 l 번째로 신뢰값의 크기가 작은 비트의 위치를 나타낸다. 향후 토글링부(500)에 따라서 토글링될 때, 모든 비트를 토글링 할 수 없기 때문에, 1200 개 이하의 임의의 N b , max 를 결정하고, N b , max 개의 비트 위치를 결정한다.
상술한 바와 같이, 연판정 비트 스트림을 신뢰값의 크기에 따라 선택(정렬)하기 위하여 본 발명은 연판정 비트 스트림 정렬부(200)를 포함할 수 있다.
경판정 비트 스트림 발생부(300)는 0과 1로 이루어진 경판정 값을 가지는 경판정 비트 스트림을 발생시킨다. 본 발명에 따른 오류 검출 및 정정의 직접적인 대상이 되는 것은 상기 경판정 비트 스트림 발생부(300)에서 생성된 경판정 값이다.
바람직한 실시예로서, 경판정 비트 스트림 발생부(300)는 연판정 비트 스트림 발생부(100)에 의하여 발생된 연판정 비스 스트림으로부터 경판정 비트 스트림을 구할 수 있다. 또 다른 실시예로서, 수신 신호(yi)에서 직접 경판정 비트 스트림을 구할 수 도 있다. 따라서, 이하 본 발명의 실시예로 연판정 비스 스트림으로부터 경판정 비트 스트림을 구하는 실시예를 설명하지만, 이에 한정되는 것은 아니다.
추가적으로, 상기 경판정 비트 스트림 발생부(300)는 토글링부(500)가 토글링되는 연판정 비트 스트림을 선택하는 것과 병렬적으로 경판정 비트 스트림을 생성할 수 있다. 이로써, 경판정 비트 스트림 발생부(300)는 연판정 비트 스트림이 발생하거나 정렬되는 것을 기다리지 않고도 병렬적으로 생성될 수 있기 때문에 본 발명에 따른 처리 속도를 보다 높일 수 있다.
다음의 [수학식 6]은 연판정 비트 스트림으로부터 경판정 비트 스트림을 구하는 과정을 나타낸다.
Figure 112015016619698-pat00008
토글링부(500)는 N b , max 개의 최대 토글링 수를 기초로 연판정 비트 스트림의 신뢰값이 낮은 순서대로 상기 경판정 비트 스트림의 비트를 토글링한다. 즉, 연판정 값의 신뢰값이 낮은 비트란, 전송시 오류가 난 확률이 높은 비트를 의미하므로 이와 같이 오류가 난 확률이 높은 비트를 먼저 토글링(정정)함으로써 최소한의 토글링 수행만으로도 오류 정정 확률을 높일 수 있다. 일반적으로 N b , max 개의 비트에 대한 토글링 과정은 다음의 [수학식 7]과 같이 표현된다.
Figure 112015016619698-pat00009
여기서 seq의 아래첨자 m은 토글링 시퀀스의 인덱스를 의미한다.
다음의 [표 1]은 N b , max 이 3인 경우 토글링 시퀀스 조합을 나타낸다.
Figure 112015016619698-pat00010
위 <1>, <2>, <3>은 각각 연판정의 신뢰값이 작은 순서에 해당하는 위치를 나타낸다. 즉, <1>은 연판정의 신뢰값이 가장 작은 비트의 위치를 나타내고, <2>는 신뢰값이 두번째로 작은 비트의 위치를, <3>은 신뢰값이 세번째로 작은 비트의 위치를 나타낸다.
각각의 seq에서 0은 해당 비트가 토글링되지 않는다는 것을 의미하고, 1은 토글링되는 것을 의미한다. 예를 들어, seq 3 에 대한 토글링의 경우, seq 3 (1) = seq 3(3) = 0 이고, seq 3 (2) = 1이므로, <2>번째로 신뢰값이 낮은 비트의 경판정 값만이 다른 값으로 토글링된다.
오류 검사부(700)는 토글링된 경판정 비트 스트림에 대하여 오류를 검사한다. 바람직하게 상기 오류 검사부(700)가 기능을 하기 위해서는 송신측으로부터 받은 수신 신호(yi)에는 오류 검출을 위한 비트가 포함되어 있는 것이 바람직하다. 오류 검출을 위한 비트는 제한되지 않지만, CRC(cyclic redundancy check) 검사를 위함 비트인 것이 바람직하다. 오류 검사부(700)의 오류 검출 방법은 상기 오류 검출을 위한 비트의 종류에 따라서 공지의 방법으로 수행될 수 있다.
본 발명에 있어서, 오류 검사부(700)는 토글링부(500)에 의하여 각각의 토클링 시퀀스(seq)에 의하여 경판정 비트 스트림이 토글링 될 때마다 토글링된 경판정 비트 스트림에 대하여 오류 검사를 수행할 수 있다. 설명의 편의를 위하여 이하 설명에서 오류 검출 방법은 CRC 검출 방법이라 가정한다.
상기 [표 1]을 참조하여, seq 1 에서는 아무 비트도 토글링되지 않은 상태로 오류 검사(CRC 검사)를 수행한다. 만약 ACK가 나온다면 오류가 없다고 판단하고 해당 경판정 비트를 수신 신호로서 출력한다. 만약 NACK가 나온다면 seq 2 로 진행되어 가장 신뢰값이 낮은 경판정 비트 하나(b<1>)를 토글링하여 생성되는 새로운 경판정 값에 대하여 CRC 검사를 수행한다. 만약 ACK가 나온다면 오류가 없다고 판단하고 해당 경판정 비트를 수신 신호로서 출력한다. 만약 NACK가 나온다면 다음 seq 1 로 토글링 순서가 진행된다.
무한하게 CRC 검사를 하는 경우 오류를 검출하는 확률이 높아지지만, 일반적으로 CRC 검사를 하는 최대 개수(N CRC , max )가 결정되어 있는 경우 해당 개수(N CRC , max )까지만 토글링하여 ACK/NACK를 검사한다. 이와 같이, ACK 발생시까지 CRC 검사를 순차적으로 수행하며, ACK발생 시 CRC 검사를 중단하고 해당 비트 값을 출력한다. 모든 토글링 조합에 대해 ACK가 발생하지 않을 경우에는 오류를 선언(NACK)한다.
하지만, 이렇게 모든 조합에 대해 CRC 검사를 수행하면 2Nb , max가지의 조합이 존재하게 되어 모든 조합에 따른 CRC 검사를 수행하는 것은 복잡도가 높다는 문제점이 있다.
이를 해결하기 위하여, 본 발명은 연판정의 신뢰값을 기초로 가장 오류 확률이 높은 비트(들)만을 우선적으로 토글링하고, 이후 신뢰값이 작은 순서대로 순차적으로 토글링함으로써 최대한 빠르게 오류 확률이 높은 비트를 검출 및 정정해내는 것을 특징으로 한다. 특히 2 개 이상의 비트를 토글링할 때는 토글링되는 연판정 값의 모든 신뢰값의 합이 가장 낮은 순서대로 토글링하도록 한다.
이하, 이를 위한 최적의 토글링 시퀀스 결정 방법에 대하여 설명하도록 한다. 이하 설명하게 될 토글링 시퀀스 결정 방법의 요부는 토글링되는 비트들의 연판정 (절대)값들의 합이 작은 시퀀스를 우선적으로 토글링한다는 점이다.
도 5는 이와 같은 토글링 시퀀스를 최적화하여 순차적으로 토글링하는 일 실시예를 나타낸 순서도이다.
만약, N b , max 값이 사전에 결정되었고, 토글링 시퀀스의 최대 개수가 N CRC , max 로 결정되었다면, 최적의 토글링 시퀀스는 아래 [수학식 8]과 같다.
Figure 112015016619698-pat00011
여기서 1(l) 은 다음의 [수학식 9]로 표현되는 인디케이터(indicator) 함수이고, arg min NCRC , max 는 목적함수를 최소로 하는 N CRC , max 개의 인디케이터 조합을 선택한다는 의미이며, 최적의 토글링 시퀀스(SEQopt)는 다음 [수학식 10]과 같이 N CRC , max 개의 토글링 시퀀스를 모두 포함한 행렬표현이다. 여기서 목적 함수를 최소로 한다는 것은, 토글링되는 비트의 연판정 (절대)값들의 합이 최소로 된다는 것을 나타낸다.
Figure 112015016619698-pat00012
Figure 112015016619698-pat00013
상기 [수학식 8]로 표현된 토글링 시퀀스의 선택은 다음과 같이 단계별로(s=1,2,...,N b , max ) 수행될 수 있다. 만약 N b , max = 6이고, 최대 두 비트(s = 2)만 토글링하는 경우를 고려하면 최적의 토글링 시퀀스는 다음의 [수학식 11]와 같이 표현된다.
Figure 112015016619698-pat00014
[수학식 8]에 있어서 토글링 시퀀스의 경우, seq1(=000000)의 목적함수 값은 0이고, seq2(=000001), seq3(=000010), seq4(=000011)에 해당하는 목적함수 값은 각각
Figure 112015016619698-pat00015
,
Figure 112015016619698-pat00016
,
Figure 112015016619698-pat00017
이므로 이미 목적함수 관점에서 증가하도록 정렬되어 있음을 할 수 있다.
[수학식 11]에서 설명한 토글링 시퀀스는 향후 순차적으로 결정되게 될 차기 토글링 시퀀스를 결정하기 위한 기본적인 토글링 시퀀스가 되므로 이를 기본 토글링 시퀀스라 한다. 또한, 기본 토글링 시퀀스 내에는 4개의 시퀀스가 존재하므로 이하 기본 토글링 시퀀스 그룹(SEQ)라 한다.
즉, 기본 토글링 시퀀스 그룹을 일반화 시키면 다음과 같다. 기본 토글링 시퀀스 그룹의 경우 2 비트까지만 토글링하므로 s = 2가 된다.
Figure 112015016619698-pat00018
상기 기본 토글링 시퀀스를 보면, 3개의 토글링 시퀀스(seq1, seq2, seq3)까지는 차기 토글링 시퀀스의 목적 함수의 값과 비교할 필요 없이 이미 목적함수를 최소로 하도록 정렬되어 있음을 알 수 있다. 따라서, 차기 토글링 시퀀스 그룹(SEQtemp)(s = 3)까지의 최적의 토글링 시퀀스를 구하기 이전에 CRC 검사를 수행하는 것이 가능하다. 이와 같이 차기 토글링 시퀀스와 관계없이 CRC 검사를 할 수 있는 토글링 시퀀스위 위치를 지시하는 지시자를 정렬 완료 지시자(CRC_ptr)이라 한다. 차기 토글링 시퀀스(SEQtemp)(s = 3) 수행 과정에서 정렬이 완료된 시퀀스를 지시하는 정렬 완료 지시자(CRC_ptr)는 3(seq3)이 된다. 따라서, 이후의 차기 토글링 시퀀스를 구하기 전이라도 목적 함수가 최소가 되는 순서대로 CRC 검사를 수행할 수 있기 때문에 정렬 완료 지시자(CRC_ptr)까지는 최적의 토글링 시퀀스라 할 수 있다.
기본 토글링 시퀀스 그룹(SEQ)를 결정한 이후 3개의 비트까지 토글링(s = 3)하는 차기 토글링 시퀀스을 목적함수가 최소가 되도록 정렬하기 위해서는 먼저 차기 토글링 시퀀스 그룹(SEQtemp)를 다음의 [수학식 12]에 따라서 임시로 구하여야 한다. 여기서 임시라는 단어가 의미하는 바는 향후 목적 함수의 값에 따라서 토글링 시퀀스의 정렬 순서가 달라질 수 있기 때문이다.
Figure 112015016619698-pat00019
상기 [수학식 12]로 표현된 차기 토글링 시퀀스 그룹(SEQtemp)은 s = 3이므로 기본 토글링 시퀀스 그룹(SEQ)(즉,
Figure 112015016619698-pat00020
)에서 23-1(22)번째 토글링 시퀀스 비트에 1을 추가한 행렬이 된다.
상술한 바와 같이 현재 목적함수가 최소가 되도록 정렬된 토글링 시퀀스는 정렬 완료 지시자(CRC_ptr)이 지시하는 seq3까지 이므로 기본 토글링 시퀀스의 seq4에서 차기 토글링 시퀀스까지는 현재 정렬이 되어 있지 않다. 즉, 어떤 토글링 시퀀스의 목적함수가 최소가 되는지 알 수 없다.
여기서, (000101)의 값을 가지는 토글링 시퀀스의 경우 그 앞에 존재하는 시퀀스 (000011) 및 (000100)보다 목적함수의 값이 크다는 것이 명백하다. 이와 같이, 목적 함수의 값이 그 앞의 시퀀스의 목적함수의 값보다 크다는 것이 명백한 시퀀스를 지시하는 지시자를 정렬 범위 지시자(lpos)라 한다.
이러한 정렬 범위 지시자를 일반화하면 다음의 [수학식 13]으로 표현할 수 있다.
Figure 112015016619698-pat00021
s = 3인 경우 정렬 범위 지시자는 차기 토글링 시퀀스 그룹(SEQtemp) 중에서 23-1 + 20 = 즉 (000101)이다.
단, 정렬 완료 지시자가 지시하는 시퀀스의 다음 시퀀스(CRC_ptr + 1)부터 정렬 범위 지시자의 이전 시퀀스(lpos - 1)까지의 각각의 시퀀스의 경우, 토글링되는 모든 비트의 신뢰값의 합을 직접 비교하지 않는 한, 목적함수의 값이 최소가 되도록 정렬할 수 없다. 따라서, s = 3인 경우, 시퀀스 (000011)과 시퀀스 (000100)의 목적함수의 값은 직접 계산하여 목적함수의 값이 낮은 순서대로 시퀀스를 정렬하여야만 한다. 이와 같이 정렬 완료 지시자가 지시하는 시퀀스의 다음 시퀀스(CRC_ptr + 1)부터 정렬 범위 지시자의 이전 시퀀스(lpos - 1)까지의 각각의 시퀀스의 경우, 직접 목적함수의 값을 비교하지 않는 이상 아직 순서를 알 수 없기 때문에 미정 시퀀스라 하고, 이를 결정하는 단계를 미정 시퀀스 정렬 단계라 한다.
이후 정렬 범위 지시자(lpos)가 지시하는 시퀀스부터 차기 토글링 시퀀스 그룹의 마지막 시퀀스까지는 이미 목적함수의 값이 최소가 되는 순서대로 정렬이 되어 있기 때문에 별도의 정렬 과정이 필요하지 않다.
이와 같이, s = 3까지의 최적의 토글링 시퀀스를 결정(정렬)하는 순서는 다음의 [수학식 14]으로 표현될 수 있다.
Figure 112015016619698-pat00022
여기서 sort 함수는 상기 미정 시퀀스 정렬 단계를 의미한다.
이후 그 다음 토글링 시퀀스를 결정하기 위하여 정렬 범위 지시자(CRC_ptr)은 다음의 [수학식 15]와 같이 업데이트된다.
Figure 112015016619698-pat00023
도 6은 본 발명에 따른 최적의 토글링 시퀀스를 결정하는 방법을 일반화한 알고리즘을 나타낸다.
도 6에서 알 수 있듯이, 본 발명에 따른 토글링 시퀀스 결정 방법은, 기본 토글링 시퀀스에서 시작하여 계속해서 다음의 차기 토글링 시퀀스를 생성하면서 순차적으로 토글링 시퀀스를 최적화 한다. 또한, 정렬 범위 지시자(CRC_ptr)는 s = 3부터 시작(CRC_ptr = 3)하여 차기 토글링 시퀀스 그룹을 결정할 때마다 s는 계속 1씩 증가한다. 따라서, 상기 기본 토글링 시퀀스 그룹(SEQ)과 차기 토글링 시퀀스 그룹(SEQtemp)을 묶어 차기 기본 토글링 시퀀스 그룹(SEQ')으로 하고, s에 1을 더하여 차기 토글링 시퀀스 그룹(SEQtemp')을 결정함으로써 계속해서 차기 토글링 시퀀스 그룹을 반복하여 결정한다(도 6의 10: 참조).
단, 여기서 차기 토글링 시퀀스 그룹을 결정할 때, 미정 시퀀스 정렬 단계에 의하여 정렬된 시퀀스를 반영하여 차기 토글링 시퀀스 그룹을 결정한다. 즉, 이전 토글링 시퀀스 SEQ에서 미정 시퀀스 정렬 단계에 의하여 토글링 시퀀스의 순서가 변경되었다면 상기 미정 토글링 시퀀스의 변경된 순서가 반영되어 다음의 차기 토글링 시퀀스 그룹에서 결정된다.
상기 최적의 토글링 시퀀스 결정 방법은 정렬 범위 지시자(CRC_ptr)가 사전에 결정된 NCRC , max보다 클 경우 NCRC , max까지만 CRC 검사를 진행하고 ACK/NACK를 판단하고, 만약 NCRC , max보다 작은 경우 NCRC , max에 도달할 때까지 계속해서 최적의 토글링 시퀀스 결정 방법을 반복한다. 물론, 상술한 바와 같이 정렬 범위 지시자(CRC_ptr)이 지시하는 토글링 시퀀스까지 순차적으로 CRC 검사를 하면서 ACK가 발생한다면 토글링된 해당 비트를 출력하고 본 발명에 따른 방법을 종료한다.
도 7은 Nb , max = 15로 고정했을 때 다양한 NCRC , max값에 따른 본 발명의 모의 실험 성능 평가의 결과이다. NCRC , max값이 5에서 30으로 증가하면서 오류성능이 향상됨을 확인할 수 있다. 도 8은 도 7과 동일한 모의실험환경에서 평균적인 CRC 검사횟수를 나타낸다. E b / N o = 11[dB]이상이 되면 NCRC , max = 30인 경우에도 편균적으로 5회 이하의 CRC 검사만을 수행한다는 것을 알 수 있다. 31비트 CRC 는 아래 식으로 표현되는 [수학식 16]을 사용했다.
Figure 112015016619698-pat00024
이하 도 9 및 도 10을 참조하여 본 발명에 따른 최적의 토글링 시퀀스 결정 방법을 구체적인 실시예로서 설명한다.
도 9(a)를 보면, 연판정의 신뢰값이 0.5, 1.1, 1.3, 1.5의 순서대로 토글링 시퀀스가 결정된 기본 토글링 시퀀스 그룹(SEQ)를 볼 수 있다. 기본 토글링 시퀀스만 볼 때 목적 함수는 seq1 내지 seq4에서 0, 0.5, 1.1, 1.6(0.5 + 1.1)로 목적함수가 증가되도록 결정된 것을 볼 수 있다. 최초 정렬 완료 지시자(CRC_ptr)은 3번째 시퀀스, 즉 seq3을 지시한다. 상술한 바와 같이 기본 토글링 시퀀스만을 적용하여 토글링 시퀀스를 결정할 때(즉, s = 2, 2 개의 비트까지만 토글링할 때)는 별도의 정렬 방법 없이 기본 토글링 시퀀스를 그대로 적용하여도 최적의 토글링 시퀀스가 나온다. 이후 3 개의 비트를 토글링하는 경우(s = 3), 추가적인 차기 토글링 시퀀스 그룹(SEQtemp)을 상기 수학식 12에 따라 임시로 생성한다. 여기서 seqm는 편의상 신뢰값이 가장 작은 <1> 부터 1씩 인크리먼트되도록 구성된 것으로서 실제로 토글링되는 순서를 나타내는 것은 아니다. 정렬 범위 지시자는 s = 3이기 때문에 상기 수학식 13에 따라 (0101), 즉 seq6을 지시한다.
도 9(b)를 보면, 정렬 완료 지시자가 지시하는 시퀀스(seq3)까지는 이미 목적함수가 증가하도록 정렬된 것을 알 수 있다(도 9(b)의 청색 박스 부분). 따라서, 이 부분에서는 별도의 신뢰값의 크기에 따른 정렬이 필요 없이 토글링 시퀀스의 순서대로 토글링을 하면 된다(도 9(b)의 녹색 화살표). 하지만, 상기 정렬 완료 지시자가 지시하는 시퀀스의 다음 시퀀스(CRC_ptr + 1 = seq4)부터 정렬 범위 지시자의 이전 시퀀스(lpos - 1 = seq5)까지의 각각의 시퀀스(seq4 및 seq5)에 대하여는 어느 시퀀스의 목적 함수의 합이 더 작은지 알 수 없기 때문에 직접 토글링되는 비트의 신뢰값의 합을 계산하여 신뢰값의 합이 낮은 순서대로 시퀀스를 정렬하여야 한다(미정 시퀀스 정렬 단계 - 도 9(b)의 적색 박스 부분). 도 9에 도시된 실시예에서는 seq5의 신뢰값의 합(1.3)이 seq4의 신뢰값의 합(1.6)보다 작기 때문에 먼저 seq4 보다 seq5에 따라 먼저 토글링되어야 한다.
도 10은 도 9의 토글링 시퀀스 결정 이후 최대 4비트까지 토글링할 때(s = 3)의 최적의 토글링 시퀀스 결정 방법에 관한 실시예이다.
먼저 최대 4비트까지 토글링하는 차기 토글링 시퀀스 그룹(SEQtemp')를 임시로 결정하기 위하여 상기 수학식 12에 따라 도 10(a)와 같이 차기 토글링 시퀀스 그룹을 결정한다. 이때, 종전에 s = 3이었을 때(도 9)의 SEQ와 SEQtemp를 결합한 시퀀스 그룹이 새로운 SEQ(즉, SEQ')가 되므로 SEQ'의 2s-1 비트에 1을 더한 SEQtemp'가 생성된다. 이 때, 종전 토글링 시퀀스(SEQ')에서 미정 토글링 시퀀스(seq 4와 seq5)의 정렬은 차기 토글링 시퀀스 그룹(SEQtemp')에서도 반영된다는 점에 유의하여야 한다.
이후 도 10(b)를 보면, 정렬 완료 지시자(CRC_ptr)이 업데이트되어 (0100) = seq5을 지시하게 되고, 정렬 범위 지시자(lpos)는 (1011) = seq12를 지시한다. 따라서, 도 9에서 상술한 바와 미정 시퀀스(seq4, seq6, seq7, seq8, seq9, seq10, seq11, seq13) 사이의 목적함수의 크기는 직접 계산하여 결정하여야만 한다. 도 10(b)의 실시예에 따르면, seq9 -> seq4 -> seq6 -> seq10 -> seq7 -> seq11 -> seq13 -> seq8의 순서대로 미정 시퀀스가 정렬되게 될 것이다.
제2 실시예 - 에러 패턴 및 그 신드롬을 통한 오류 정정 방법
상술한 제1 실시예의 경우, 오류 검사부(700)에 의한 CRC 검사 방법을 토글링부(500)에 의해서 토글링이 수행될 때마다 수행하여야만 했고, 본 발명의 제1 실시예에 따라 최적의 토글링 시퀀스를 결정하였다고 할지라도 반복적인 CRC 검사 수행을 수반하여야 하기 때문에 이를 해결할 필요성이 요구된다.
또한, 제1 실시예에서는 아직 신뢰값 순으로 정렬되지 않은 차기 토글링 시퀀스(SECtemp)를 생성함에 있어서, 기본 토글링 시퀀스 그룹(SEQ) 모두에 대해서 s+1번째 비트를 1로 바꿔서 차기 토글링 시퀀스(SECtemp)를 생성하였다. 즉, 제1 실시예에서는 굳이 정렬하지 않아도 되는 시퀀스까지 차기 토글링 시퀀스(SECtemp)로서 생성하였다. 이 경우, Ncrc , max 값이 작은 경우 큰 차이가 없을 수 있지만, Ncrc , max값이 큰 경우 차기 토글링 시퀀스(SEQtemp)에서 낭비되는 시퀀스가 매우 많아지게 되는 바, 이를 해결함으로써 보다 빠른 오류 정정을 수행할 수 있도록 할 필요가 있다.
이하 도면을 참조하여 설명하는 본원발명의 제2 실시예는 제1 실시예를 보다 개량함으로써 오류 정정이 더욱 빠른 속도로 수행될 수 있도록 한다.
이를 위하여 본 발명에 따른 제2 실시예는, CRC 검사에 따른 신드롬(Syndrome)값을 통해서 최적의 에러 패턴 결정 방법을 제시하고자 한다. 보다 상세하게, 제2 실시예는 오류를 정정하는 토글링, 즉 에러 발생 함수인 에러 패턴을 찾아내기 위한 방법을 제공한다.
도 14를 참조하면, 본 발명의 제2 실시예에서 사용되는 신드롬 비교의 원리를 알 수 있다. CRC 검사에 의하여 (에러가 포함된) 경판정 값에 대한 신드롬 값(H(c + e), 여기서 c는 CRC 엔코더(CRC Encoder) 및 QAM 매퍼(QAM Mapper)를 거쳐 송신측에서 보낸 에러 미포함 신호를 의미하고, e는 데이터 전송 중에 포함된 에러 신호를 의미한다)은 에러 미포함 신호의 신드롬(Hc)와 에러 신호의 신드롬(He)의 합으로 표시될 수 있다(H(c + e) = Hc + He).
이 때, 에러 미포함 신호의 신드롬(Hc)는 0이기 때문에, 비트 슬라이서(Slicer)로 결정된 경판정 값에 대한 신드롬 값(H(c + e))을 구하고, 각각의 에러 패턴의 신드롬 값(Hej) 중 상기 경판정 값에 대한 신드롬 값과 일치하는 에러 패턴을 찾는다면, 이 에러 패턴이 실제 송신 중에 발생한 최종 에러 패턴이라 할 수 있다. 따라서, 이후 최종 에러 패턴에 대응하도록 토글링을 수행한다면, 에러를 정정할 수 있다. 즉, 제1 실시예에서와 같이 실제로 토글링을 하고 이에 대한 CNC 검사를 일일이 수행하지 않고도, 신드롬을 비교하여 일치하는지 여부에 대해서 판단하는 것만으로도 최종 에러 패턴을 찾아내어 한 번의 토글링으로 에러를 정정할 수 있다.
도 14는 본 발명의 제2 실시예에서 사용되는 AWGN 채널에서의 CRC 코드 시스템을 나타낸 블록 다이어그램이다.
제1 실시예와의 구별을 위해서 이하 제1 실시예와 대응되는 용어를 본 제2 실시예에서 다시 정의하여 제2 실시예를 설명하도록 한다. 단, 제1 실시예에서와 동일하게 적용되는 부분에 대해서는 설명의 간략화를 위하여 생략하였다.
(1) 에러 패턴 그룹(Ei; i = Nb = 2, 3, ..., Nb , max)은 제1 실시예에서 설명한 토글링 시퀀스 그룹(SEQ)에 대응하는 것으로서 각각의 에러 패턴 그룹(Ei)은 하나 이상의 에러 패턴(ej - 행렬 함수; j = 0, 1, 2, ...)이 포함된다.
특히, 이하 후술하게 될 제1 에러 패턴 그룹(ENb), 특히 Nb = 2인 기본 에러 패턴 그룹(E2)은 제1 실시예에서의 기본 토글링 시퀀스 그룹(SEQ)에 대응하고, 제2 (미정렬) 에러 패턴 그룹(ENb +1('))은 제1 실시예에서의 차기 토글링 시퀀스 그룹(SEQtemp)에 대응한다.
(2) 신드롬 그룹(Si)은 상기 에러 패턴 그룹(Ei)의 각각의 에러 패턴의 신드롬을 에러 패턴 그룹(Ei)에 대응되도록 그룹화한 것으로서, 상기 에러 패턴(ej) 각각에 대한 신드롬 값(sj)이 포함된다.
(3) Nd는 수신된 데이터의 비트 수를 의미하고, Np는 수신된 데이터 비트 내 패리티 비트 수(신드롬의 비트 수)를 의미한다.
(4) 본 제2 실시예에서의 Nb , max는 본 발명에 따른 에러 패턴 비교의 최대 값(최대 에러 패턴 비트 수)로서 제1 실시예의 최대 토글링 수(Nb , max)에 대응한다. 즉, Nb는 2에서 시작하여 Nb , max까지 존재한다(Nb = 2, 3, 4 ... , Nb , max). 여기서, 제2 실시예에 따라 결정된 최종 에러 패턴에 따라서 토글링이 이루어지므로, 제1 실시예에서의 최대 토글링 수(Nb , max)와 제2 실시예에서의 최대 에러 패턴 비트 수(Nb , max)는 서로 동일한 의미를 가진다. 도 14 이하의 도면에서는 Nb , max를 NUR로도 표기하였다.
(5) Nmax는 최대 에러 패턴 정정 수로서 제1 실시예의 Ncrc , max에 대응한다.
본 발명의 제2 실시예의 바람직한 양태에 있어서, 상기 Nmax는 Nb,max의 3배로(Nb,max = Nmax) 하였지만, 실제 이용시 사용자가 원하는 환경(정정 성능을 높여야 하는 환경 또는 정정 속도를 높여야 하는 환경)에 맞춰 변경할 수 있다.
(6) 정렬 완료 지시자(ptrNb)는 제1 실시예에서의 정렬 완료 지시자(CRC_ptr)에 대응한다.
이하, 본 발명의 제2 실시예에 따른 에러 패턴 결정 방법의 실시예를 도 14 및 도 15를 참조하여 설명하도록 한다.
먼저, 송신측에서 보내오는 에러가 포함된 신호가 수신측에 수신된다. 수신측에서는 제1 실시예에서와 같이 연판정 비트 스트림 발생부(100)를 통해서 신뢰값을 가지는 연판정 비트 스트림을 발생시킨다(연판정 비트 스트림 발생 단계).
본 발명의 제2 실시예에 따른 바람직한 양태에 있어서, 상기 연판정 비트 스트림은 다음의 경판정 신드롬 결정 단계 및 연판정의 신뢰값 정렬 및 선택 단계에서 사용된다.
경판정 신드롬 결정 단계는 연판정 비트 스트림값을 경판정 비트 스트림 발생부(300, 예를 들어 비트 슬라이서(Bit Slicer))를 통해 경판정 값을 결정하고, 상기 경판정 비트 스트림에 대하여 오류 검사부에 의한 CRC 검사를 통해 경판정 값에 대한 신드롬을 결정한다. 물론, 또 다른 실시예로서, 경판정 값을 결정하는 방법에 있어서 연판정 비트 스트림으로부터 결정하는 방법 외에 수신된 신호에서 직접 경판정 비트 스트림을 결정하는 방법을 사용할 수 있음은 상기 제1 실시예에서 밝힌 바와 같다.
상기 경판정 신드롬 결정 단계를 통해서 결정된 경판정 비트 스트림은 에러(e)가 포함된 바, 상술한 바와 같이, 이에 대한 CRC 검사를 통한 신드롬 값을 후술하게 될 에러 패턴 신드롬 결정 단계에서 나온 에러 패턴의 신드롬(Se)과 비교하여 동일한지를 비교함으로써 에러 패턴을 결정할 수 있다. 이하 후술하는 예시 신호의 경우, 경판정의 신드롬의 값(s)은 [0 0 0 0 0 1 0 0 0 1 1 0]T이다(신드롬 결정에 사용되는 CRC 검사 함수(g(x))는 이하 후술된다). 즉, 이후 에러 패턴의 신드롬과 비교하여 이 중에서 이와 같은 신드롬을 가지는 에러 패턴을 최종 에러 패턴으로 결정하는 것이 본 발명에 따른 제2 실시예의 목적이라 할 수 있다.
이하 설명상 편의를 위하여 도 17에 도시된 다음의 예시 신호를 기초로 설명하도록 한다. 본 예시 신호에서 Nd = 20, Np = 12, Nb , max = NUR = 5, Nmax = 3NUR = 15이다.
연판정 신뢰값 정렬 및 선택 단계는 연판정 비트 스트림의 신뢰값(의 절대값)을 기준으로 그 (절대값) 크기가 작은 순으로 정렬하고 이 중 크기가 작은 순으로 최대 에러 패턴 비트 수(Nb , max)만큼의 비트 위치를 선택한다(P UR). 최대 에러 패턴 비트 수(Nb , max)는 본 발명의 사용자가 임의로 결정할 수 있으며 그 수가 클수록 에러 정정 성능이 높아진다.
상기 예시의 경우, 최대 에러 패턴 비트 수(Nb , max)는 5로서, 신뢰값 중 그 절대값이 가장 작은 5개의 비트의 위치를 선택한다. 상기 예시의 경우, 그 크기가 작은 순으로 정렬할 때, 9번째((-)0.02), 22번째(0.35), 13번째(0.40), 28번째((-)0.47), 21번째((-)1.23) 비트 순으로 신뢰값이 작다. 따라서, 본 예시에 있어서, 9번째, 22번째, 13번째, 28번째, 21번째 비트 순으로 비트 위치가 결정된다(P UR = {9, 22, 13, 28, 21}).
기초 신드롬 메트릭스 결정 단계는 에러 패턴(ej)에 대한 신드롬(sj) 메트릭스로서 Nb , max 범위 내에서의 모든 에러 패턴에 대하여 CRC 검사를 수행한 신드롬 메트릭스를 의미한다. 즉, 2Nb , max 개만큼의 에러 패턴의 신드롬을 가지고 있다. 상기 예시에서 사용된 CRC 검사용 수학식은 다음과 같다.
Figure 112015016619698-pat00025
이후, 결정된 기초 신드롬 메트릭스(H) 중 상기 신뢰값 정렬 및 선택 단계에서 결정된 신뢰값 순 비트 위치에 해당하는 에러 비트의 신드롬을 선택하여 선택 신드롬 메트릭스(H-)를 결정한다.
도 17에 기초한 상기 예시의 경우, 9번째, 22번째, 13번째, 28번째, 21번째 순서로 비트 위치가 선택된 바, 9번째, 22번째, 13번째, 28번째, 21번째의 신드롬으로 이루어진 메트릭스[s9 s22 s13 s28 s21]의 선택 신드롬 메트릭스(
Figure 112015016619698-pat00026
)가 결정된다(도 18 참조).
본 발명에 따른 제2 실시예에 있어서, 최종 에러 패턴을 결정하기 위해서는 상술한 바와 같이 경판정의 신드롬과 동일한 (최종) 에러 패턴을 최소한의 처리 과정을 통해서 결정하는 것이 중요하다. 이를 위하여 상기 수신된 신호의 연판정 신뢰값 정렬 및 선택 단계에서 결정된 비트 위치에 대하여 확률적으로 에러 발생 가능성이 높은, 즉 신뢰값의 합의 크기가 낮은 순으로 에러 패턴을 정렬할 필요가 있다. 이를 위하여 이하 설명되는 에러 패턴 결정 단계를 사용한다.
도 16을 참조하면, 에러 패턴 결정 단계는 이하 후술하게 되는 에러 패턴 정렬 방법를 통해서 결정되는 에러 패턴의 신뢰값 크기 순서대로 해당 에러 패턴의 신드롬을 순차적으로 상기 경판정의 신드롬과 비교하고, 동일한지 여부를 판단한다. 동일한 경우, 해당 에러 패턴이 실제 에러가 발생한 비트를 나타내는 최종 에러 패턴으로 결정하고, 이에 따라 토글링 단계에서 해당 비트를 토글링함으로써 에러를 정정한다.
따라서, 본 발명에 따른 제2 실시예에 있어서, 에러 패턴 정렬 단계를 얼마나 효율적으로 구성하는지에 따라 에러 정정 속도가 달라지기 때문에, 에러 패턴 정렬 단계의 과정이 매우 중요하다. 이하, 에러 패턴 정렬 단계를 상세히 설명하도록 한다. 이하 제2 실시예의 설명에 사용되는 도면들은 도 17의 예시 신호에 대한 것이다.
먼저, 제1 에러 패턴 그룹(ENb)를 결정한다. 가장 처음 에러 패턴을 결정하는 경우, Nb = 2로 결정된다. 이를 이하 기본 에러 패턴 그룹(E2)이라 한다. Nb가 2이기 때문에, 기본 에러 패턴 그룹은 최대 2개까지 에러가 났다는 가정하에 이를 표현하는 에러 패턴의 집합으로서 기본 에러 패턴 그룹은 도 19에서 도신된 바와 같다.
기본 에러 패턴 그룹만을 보면, 최하위 비트에서부터 1씩 증가하는 에러 패턴 자체만으로도 각각의 에러 패턴이 신뢰값 순으로 정렬되는 것을 알 수 있다. 따라서, Nb가 2인 제1 에러 패턴 그룹(E2)은 어떤 경우라도 상기 기본 에러 패턴 그룹의 형태를 가진다.
제1 에러 패턴 그룹은 본 에러 패턴 결정 단계를 반복 수행(사이클)함에 따라서 변화할 수 있다. 이하 후술되지만, 제1 에러 패턴 그룹은 신드롬 비교 단계를 거치고도 아직 에러 패턴을 결정하지 못한 경우, 해당 사이클에서의 제2 에러 패턴 그룹(ENb +1)이 새로운 사이클에서의 제1 에러 패턴 그룹(ENb (ENb <- ENb + 1))으로 된다. 예를 들어, Nb = 3인 사이클(Nb = 2인 경우가 1번째 사이클이기 때문에, Nb = 3인 경우 2번째 사이클이라 할 수 있다. 사이클이 한번씩 증가할 때마다 Nb는 2에서 시작하여 1씩 증가한다)의 경우, 제1 에러 패턴 그룹(E3)을 통해서 제2 에러 패턴 그룹(E4)가 결정되고, 이를 기초로 신드롬을 경판정 신드롬과 비교하여 동일한 신드롬을 찾는다. 하지만, 만약 해당 사이클(Nb = 3)에서 동일한 신드롬을 찾지 못한 경우, 해당 사이클(Nb = 3)에서의 제2 에러 패턴 그룹(E4)는 다음 사이클(Nb = 4)에서 새로운 제1 에러 패턴 그룹(E4)가 된다. 즉, 본 발명의 제2 실시예에 따른 에러 패턴 결정 방법의 해당 사이클에서 동일한 신드롬을 찾지 못하는 경우 Nb가 1 증가하고, 이전 사이클의 제2 에러 패턴 그룹(ENb +1)이 다음 사이클의 제1 에러 패턴 그룹(ENb)가 되어 다음 사이클이 진행된다.
제1 에러 패턴 그룹(ENb)이 결정되면 제2 미정렬 에러 패턴 그룹(ENb +1')을 결정한다. 이를 위하여 우선적으로 다음의 중단값 비교 단계를 수행한다. 여기서 "미정렬(')"이란 (제2) 미정렬 에러 패턴 자체는 신뢰값 순으로 정렬되어 있지만, 제1 에러 패턴의 신뢰값과 비교하여 신뢰값 순에 따라 정렬이 필요하다는 것을 의미한다. 상기 중단값 비교 단계란 중단값과 제1 에러 패턴 그룹의 에러 패턴의 갯 수를 비교하는 것을 의미한다.
본 발명에 따른 제2 실시예에서 "중단값"이란, 최대 에러 패턴 정정 수(Nmax)에서 제1 정렬 완료 지시자가 지시하는 비트 위치(ptrNb)를 뺀 값을 의미한다(중단값 = Nmax - ptrNb).
중단값 비교 단계는, 정렬할 필요가 없는 에러 패턴을 배제하기 위한 것으로서 에러 패턴 정렬 속도를 높이기 위함이다.
제1 정렬 완료 지시자(ptrNb)는 제1 에러 패턴 그룹(ENb)에서 Nb번째 비트만 1인 에러 패턴 [e2 Nb]의 위치를 의미한다.
예를 들어, Nb = 2인 경우, 에러 패턴 [0 1 0 0 0]의 위치를 의미한다. 도 20에 도시된 바와 같이, 상기 예시 신호의 경우, 에러 패턴 [0 1 0 0 0]은 (이미 신뢰값 순으로 정렬된) 제1 에러 패턴 함수(E2)에서 3번째 위치에 존재하기 때문에, 제1 정렬 완료 지시자(ptr2)은 3이다.
만약, 중단값이 제1 에러 패턴 그룹(ENb)의 에러 패턴의 수보다 같거나 큰 경우, 향후 결정되게 될 제2 에러 패턴 그룹(ENb)의 모든 에러 패턴에 대해서 정렬이 수행되어야 하기 때문에, 제1 에러 패턴 그룹(ENb)의 모든 에러 패턴에 대해서 Nb+1번째 비트를 1로 바꿔 제2 미정렬 에러 패턴 그룹(ENb +1')을 결정한다.
도 21을 참조하여, 도 17의 예시 신호는, Nb = 3인 경우, Nmax는 15이고, ptr3은 5이므로 중단값은 10이다(Nmax - ptr3 = 10). 제1 에러 패턴 그룹(E3)의 에러 패턴 수는 총 8개이므로, 중단값이 제1 에러 패턴 그룹의 에러 패턴의 수보다 크기 때문에, 제1 에러 패턴 그룹의 모든 에러 패턴에 대해서 Nb + 1번째 비트(4번째 비트)를 1로 바꿔 제2 미정렬 에러 패턴 그룹(E4')을 결정한다.
만약 중단값이 제1 에러 패턴 그룹(ENb)의 에러 패턴의 수보다 작은 경우, 제2 에러 패턴 그룹(ENb) 중 정렬을 수행할 필요가 없는 에러 패턴을 뺀 에러 패턴에 대해서만 정렬이 수행되는 것이 정렬 속도를 높일 수 있기 때문에, 제1 에러 패턴 그룹(ENb) 중 중단값까지의 에러 패턴에 대해서만 Nb + 1번째 비트를 1로 바꿔 제2 미정렬 에러 패턴 그룹(ENb +1')을 결정한다.
도 22를 참조하여, 도 17의 예시 신호는, Nb = 4인 경우, 제1 정렬 완료 지시자(ptr4)는 에러 패턴 [0 0 0 1 0]의 위치를 지시한다. 상기 예시 신호의 경우, 에러 패턴 [0 0 0 1 0]은 (이미 신뢰값 순으로 정렬된) 제1 에러 패턴 함수(E4)에서 7번째 위치에 존재하기 때문에, 제1 정렬 완료 지시자(ptr4)은 7이다.
이 경우(Nb = 4인 경우), Nmax는 15이고, ptr4은 7이므로 중단값은 8이다(Nmax - ptr4 = 8). 제1 에러 패턴 그룹(E4)의 에러 패턴 수는 총 15개(단, Nmax가 15이기 때문에 E4' 중 15번째 초과의 에러 패턴은 고려하지 않는다(후술하는 머지 소트를 통한 정렬 단계에서 보다 자세히 설명한다)이므로, 중단값이 제1 에러 패턴 그룹의 에러 패턴의 수보다 작기 때문에, 제1 에러 패턴 그룹(E4) 중 중단값까지의 에러 패턴(E4의 처음 에러 패턴부터 8번째 에러 패턴까지)에 대해서만 5번째 비트를 1로 바꿔 제2 미정렬 에러 패턴 그룹(E5')을 결정한다.
다음으로 제2 미정렬 에러 패턴 그룹(ENb +1)의 각각의 에러 패턴의 신뢰값(의 합)을 결정한다. 제2 미정렬 에러 패턴 그룹의 각각의 에러 패턴의 신뢰값은 제1 에러 패턴 그룹의 신뢰값을 기초로 결정한다. 상술한 바와 같이 본 발명의 제2 실시예는 Nb 값이 증가하면서 오류 패턴 결정 단계의 사이클이 반복되기 때문에, 제1 에러 패턴 그룹의 각 에러 패턴의 신뢰값은 이전 사이클의 제2 에러 패턴 그룹(ENb)의 각 에러 패턴의 신뢰값에서 결정된 것으로 간주한다. 최초 사이클은 기본 에러 패턴 그룹의 신뢰값으로서 이는 이미 결정되어 있다(도 19 참조).
제2 미정렬 에러 패턴 그룹(ENb +1')의 각각의 에러 패턴의 신뢰값을 결정하는 바람직한 방법으로서, Nb + 1번째 비트만 1인 에러 패턴의 신뢰값을 제1 에러 패턴 그룹(ENb)의 에러 패턴에 각각 더함으로써, 제2 미정렬 에러 패턴 그룹(ENb +1')의 각각의 에러 패턴의 신뢰값을 결정할 수 있다.
도 21을 참조할 때, 상술한 예시 신호에서 Nb = 3인 경우, 이미 결정된 제1 에러 패턴 그룹(E3)의 신뢰값 그룹(N3)의 각각의 에러 패턴 신뢰값에, Nb + 1번째 비트만 1인 에러 패턴([0 0 0 0 1 0])의 신뢰값(0.47)을 더하면 제2 미정렬 에러 패턴 그룹(E4')의 신뢰값이 빠르게 결정되는 것을 알 수 있다.
다음으로, 제2 미정렬 에러 패턴 그룹의 각각의 에러 패턴의 신드롬을 결정한다. 상술한 신뢰값 결정 단계에서와 마찬가지로, 제2 미정렬 에러 패턴 그룹의 각각의 에러 패턴의 신드롬은 제1 에러 패턴 그룹의 신드롬을 기초로 결정한다.
바람직한 실시예에 있어서, 에러 패턴의 신드롬을 구하기 위해서 상술한 선택 신드롬 메트릭스를 이용한다. 선택 신드롬 메트릭스와 신드롬을 구하고자 하는 에러 패턴을 다음과 같이 산술하면 해당 에러 패턴의 신드롬을 구할 수 있다.
다음 [수학식 18]는 e3에러 패턴 ([1 1 0 0 0 ])의 신드롬을 구하는 방법을 설명하는 것이다. 이미 결정된 선택 신드롬 메트릭스 [s9 s22 s13 s28 s21]에서 구하고자 하는 에러 패턴 중 1에 해당하는 것은 s9와 s22인 바, 이 두 신드롬 값을 익스클루시브 오어(XOR, Exclusive-OR) 연산함으로써, e3 에러 패턴의 신드롬을 결정할 수 있다.
Figure 112015016619698-pat00027
이러한 방법을 이용한다면 다음과 같이 제1 에러 패턴 그룹(ENb)의 에러 패턴의 신드롬으로부터 매우 빠른 방법으로 제2 미정렬 에러 패턴 그룹(ENb +1')의 에러 패턴의 신드롬을 결정할 수 있다. 본 발명의 제2 실시예에 따른 바람직한 실시예는, Nb+1번째 비트만 1인 에러 패턴의 신드롬을 제1 에러 패턴 그룹(ENb)의 에러 패턴의 신드롬과 각각 익스클루시브오어(XOR, Exclusive-OR)함으로써 제2 미정렬 에러 패턴 그룹(ENb +1')의 각각의 에러 패턴의 신드롬을 결정할 수 있다.
도 23을 참조한 예시에서, Nb = 3인 경우, 이미 결정된 제1 에러 패턴 그룹(E3)의 신드롬 그룹(S3)의 각각의 에러 패턴 신드롬과, Nb + 1번째 비트(4번째 비트)만 1인 에러 패턴([0 0 0 0 1 0])의 신드롬([1 0 1 0 0 1 0 0 0 1 0 1])을 XOR 연산하면 제2 미정렬 에러 패턴 그룹(E4')의 신뢰값이 빠르게 결정되는 것을 알 수 있다.
현재 단계까지 제1 에러 패턴 그룹(ENb) 및 제2 미정렬 에러 패턴 그룹(ENb +1') 전체에서 (각각의 에러 패턴 그룹 내에서는 신뢰값 순으로 정렬되어 있음은 상기 밝힌 바와 같다) 아직 미정렬 되어 있는 에러 코드는, 제1 정렬 완료 지시자가 지시하는 에러 패턴의 다음 패턴부터 제2 미정렬 에러 패턴 그룹의 마지막 에러 패턴까지이다. 이후 이 미정렬된 에러 패턴에 대해서 머지 소트 방식을 이용하여 신뢰값 순으로 정렬을 수행함으로써, 제2 에러 패턴 그룹(ENb +1)을 결정한다. 머지 소트(Merge sort)란 두 개의 크기 순으로 정렬된 그룹을 하나의 크기 순으로 정렬된 그룹으로 정렬하는 방법을 말한다.
도 24의 예시를 참조하여 설명하면, Nb = 3인 경우, 제1 에러 패턴 그룹(E3)은 제1 정렬 완료 지시자(ptr3)이 지시하는 5번째 비트까지 정렬되어 있다. 아직 정렬되지 않은 6번째 비트(ptr3이 지시하는 비트의 다음 비트)부터 제2 미정렬 에러 패턴 그룹(E4')의 마지막 비트까지 신뢰값 크기 순으로 머지 소트 방식을 이용하여 정렬한다. 즉, 머지 소트 방식을 이용하여 제1 에러 패턴 그룹(E3)과 제2 미정렬 에러 패턴 그룹(E4')를 신뢰값이 작은 순서대로 결합하여 제2 에러 패턴 그룹(E4)를 결정한다.
단, 이 경우 정렬되는 제2 에러 패턴 그룹(E4)의 수가 최대 에러 정정 패턴 수(Nmax) 보다 클 경우 최대 에러 정정 패턴 수(Nmax)까지만 머지 소트하여 제2 에러 패턴 그룹(ENb+1)를 결정한다. 본 발명에 있어서 에러 패턴 정렬 방법은 최대 에러 정정 패턴 수(Nmax)까지만 정렬하는 바, 머지 소트 방식으로 정렬했을 때 Nmax값을 초과하는 에러 비트의 경우 본 발명의 제2 실시예에 따른 에러 패턴 정렬 단계에서 사용되지 않는 에러 패턴이기 때문이다.
상기 예시에서는 Nmax는 15이지만, 머지 소트 방식을 통해서 순차적으로 계산할 때 모든 제2 미정렬 에러 패턴 그룹의 에러 패턴을 제1 에러 패턴 그룹과 정렬하면 16개가 되므로, 16번째 가장 마지막 에러 패턴은 제외되고(본 예시에서, 가장 신뢰값이 높은 에러 코드 [1 1 1 1 0]가 제2 에러 패턴 그룹(E4)에서 제외된 것을 알 수 있다.) 최대 Nmax 수의 에러 패턴(즉, 15개의 에러 패턴)을 가지는 제2 에러 패턴 그룹(ENb)을 결정한다.
머지 소트 방식의 바람직한 실시예에 있어서, 상기 머지 소트 정렬 방식은, 제1 정렬 완료 지시자(ptrNb)가 지시하는 에러 패턴의 다음 에러 패턴부터 제1 에러 패턴 그룹(ENb)의 마지막 에러 패턴까지를 제1 머지 소트 그룹으로 하고, 제2 미정렬 에러 패턴 그룹(ENb +1')의 처음 에러 패턴부터 마지막 에러 패턴까지를 제2 머지 소트 그룹으로 하여, 상기 제1 머지 소트 그룹과 상기 제2 머지 소트 그룹을 머지 소트한다. 단, 이 경우도, 제2 에러 패턴 그룹(ENb +1)의 에러 패턴 수가 최대 에러 정정 패턴 수(Nmax) 보다 클 경우 최대 에러 정정 패턴 수(Nmax)까지만 머지 소트하는 것은 상술한 바와 같다.
상기 도 24의 예시의 경우(Nb = 3), 제1 정렬 완료 지시자(ptr3)가 지시하는 5번째 비트부터 제1 에러 패턴 그룹(E3)의 마지막 비트인 8번째 비트까지가 제1 머지 소트 그룹이고, 제2 미정렬 에러 패턴 그룹(E4')의 1번째 에러 패턴부터 8번째 에러 패턴까지가 제2 머지 소트 그룹이 된다. 이후 각 그룹에서 신뢰값 크기 순으로 하나씩 머지 소트하여 하나의 그룹(제2 에러 패턴 그룹)으로 정렬한다.
본 발명의 보다 바람직한 실시예에 있어서, 상기 머지 소트 정렬 방식은 제1 머지 소트 그룹 또는 제2 머지 소트 그룹 중 어느 하나의 그룹의 마지막 에러 패턴까지만 머지 소트를 하는 것만으로도 아직 머지 소트 하지 않은 에러 비트를 자동으로 정렬할 수 있다.
이미 제1 머지 소트 그룹과 제2 머지 소트 그룹 각각은 신뢰값 크기 순으로 정렬되어 있기 때문에 어느 한쪽 그룹의 마지막 비트까지만 머지 소트하면 남은 그룹의 나머지 에러 패턴은 이미 신뢰값 크기 순으로 정렬되어 있게 된다. 상기 예시의 경우, 제1 에러 패턴 그룹(E3)의 마지막 에러 패턴 [1 1 1 0 0](신뢰값 0.77)까지만 머지 소트 하면, 제2 미정렬 에러 패턴 그룹(E4')의 3번째 에러 패턴[0 1 0 1 0](신뢰값 0.82)부터 제2 미정렬 에러 패턴 그룹의 마지막 에러 패턴까지는 이미 정렬되어 있다(단, 제2 미정렬 에러 패턴 그룹의 마지막 에러 패턴 [1 1 1 1 0]은 Nmax = 15보다 큰 16번째에 위치한 바, 이 에러 패턴은 제2 에러 패턴 그룹으로 결정하지 않음은 상기 밝힌바와 같다).
이와 같이 자동으로 정렬되어 있는 에러 패턴에 대한 불필요한 머지 소트 과정을 수행하지 않아도 되기 때문에 보다 빠른 속도로 제2 에러 패턴 그룹을 결정할 수 있어 에러 정정 속도를 높일 수 있다.
이후 결정된 제2 에러 패턴 그룹의 각각의 에러 패턴의 신드롬을 신뢰값 크기 순으로 경판정의 신드롬과 비교함으로써 동일한 에러 패턴 신드롬을 가지는 에러 패턴을 결정하는 신드롬 비교 단계를 수행한다.
보다 상세하게, 상기 신드롬 비교 단계는 제1 정렬 완료 지시자(ptrNb)가 지시하는 에러 패턴부터 제2 정렬 완료 지시자(ptrNb +1)가 지시하는 에러 패턴까지의 각각의 신드롬을 수신된 신호의 경판정의 신드롬과 동일한지 비교한다. 만약, 동일한 에러 패턴이 없다면, Nb를 1 증가시키고, 제2 에러 패턴 그룹을 다음 사이클의 제1 에러 패턴 그룹으로 하여 다음 사이클로 넘어가게 된다.
단, 제2 정렬 완료 지시자(ptrNb +1)가 최대 에러 정정 패턴 수(Nmax) 보다 클 경우, 최대 에러 정정 패턴 수(Nmax)에 대응하는 에러 패턴까지만 신드롬을 비교한다.
상기 도 24의 예시에서, Nb = 3인 경우, 제1 정렬 완료 지시자(ptr3)가 지시하는 에러 패턴은 5번째 에러 패턴이고, 제2 정렬 완료 지시자(ptr4)가 지시하는 에러 패턴은 7번째 에러 패턴인 바, 6번째 에러 패턴(ptr3의 다음 에러 비트)부터 7번째 에러 패턴까지 신뢰값 순으로 경판정의 신드롬과 비교한다.
도 22 및 도 25는 Nb = 4일 때와 Nb = 5일 때의 에러 패턴을 비교하여 최종 에러 패턴을 결정하는 과정을 설명하는 도면이다.
도 22에서, Nb = 4일 때, 중단값은 8이지만, 제2 미정렬 에러 패턴 그룹(E5')의 에러 패턴의 수는 이보다 크기 때문에 8개까지만의 에러 패턴만을 제2 미정렬 에러 패턴 그룹(E5')으로 결정하였다. 제2 미정렬 에러 패턴 그룹의 각각의 에러 패턴의 신뢰값과 신드롬을 결정하는 방법은 상술한 바와 같다. 이후 머지 소트 방식을 수행하여 도 25에서와 같이 제2 에러 패턴 그룹(E5)를 결정한다. Nmax가 15이기 때문에 제2 에러 패턴 그룹(E5)는 15개의 에러 패턴을 가진다. 이 때, 제1 정렬 완료 지시자(ptr4)는 7이지만, 제2 정렬 완료 지시자(ptr5 )는 Nmax보다 큰 16이다(이 경우 제2 에러 패턴 그룹(E5)은 제1 에러 패턴 그룹(E4)과 동일한 에러 패턴을 가진다).
상술한 바와 같이 제2 정렬 완료 지시자(ptr5 = 16)가 최대 에러 정정 패턴 수(Nmax = 15) 보다 크기 때문에, 최대 에러 정정 패턴 수(15)에 대응하는 에러 패턴의 신드롬까지만 경판정의 신드롬과 비교되게 된다. 예시 신호에서 찾고자 하는 에러 패턴은 [0 0 0 0 0 1 0 0 0 1 1 0]인 바, 제2 에러 패턴 그룹(E5)에서 15번째 에러 패턴([0 1 1 1 0])의 신드롬이 경판정의 신드롬과 동일하는 것을 알 수 있다.
이 후, 상기 에러 패턴에 해당하는 비트를 수신된 신호에서 토글링함으로써 에러를 정정하여 출력할 수 있다. 즉, 에러 패턴 [0 1 1 1 0]이란 신뢰값이 낮은 순으로 2번째, 3번째, 4번째 비트 위치(22번째 비트, 13번째 비트, 28번째 비트)에서 에러가 발생한 것이기 때문에, 이에 해당하는 22번, 13번, 28번째 비트를 토글링 해줌으로써 오류를 정정할 수 있다(도 26 참조).
도 27은 종래의 기술과의 오류 정정 성능(BLER, The block error rate) 및 복잡도를 비교한 그래프이다(본 발명의 제2 실시예는 본 그래프에서 fcCRCEPE로 표시됨. 4-QAM을 사용). 도시된 바와 같이, dB가 올라감에 따라서, 거의 유사한 오류 정정 성능을 나타내지만, 그 복잡도는 현저하게 감소하기 때문에 종래 기술에 비하여 본 발명의 제2 실시예가 보다 진보된 것임을 알 수 있다.
도 28은 (4-QAM without channel coding scheme, soft Viterbi decod(16-QAM with 1/2 rate convolutional encode (K = 9)와 본 발명의 제2 실시예(fcCRCEPE로 표시됨)(4-QAM with CRC encode(32도 생성 다항식(32 degree generator polynomial)을 사용함)의 오류 정정 성능을 나타낸 그래프이다. 마찬가지로 종래 기술에 비하여 현저히 적은 복잡도를 가지면서도 거의 동일한 에러 정정 성능을 가지는 것을 알 수 있다.
본 발명의 제2 실시예에 따르면, 종래 방법에 비하여 복잡도가 감소하여 오류 정정 속도가 빠르면서도 뛰어난 오류 정정 성능을 가진다. 또한, 사용자가 임의로 속도와 성능 사이에서 원하는 Nb , max나 Nmax 값을 결정하여 해당 통신 환경에 맞춰 최적의 에러 정정 시스템으로 커스터마이징할 수 있다.
이상에서 설명한 본 발명은 전술한 실시예 및 첨부된 도면에 의해 한정되는 것은 아니며, 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하다는 것은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 있어 명백하다 할 것이다.

Claims (22)

  1. 수신 신호에 대한 연판정 비트 스트림의 신뢰값에 따라 최적의 토글링 시퀀스를 결정하는 방법으로서,
    상기 수신 신호로부터 연판정 비트 스트림을 발생시키는 단계;
    상기 수신 신호로부터 경판정 비트 스트림을 발생시키는 단계;
    기본 토글링 시퀀스 그룹을 제공하는 단계;
    상기 기본 토글링 시퀀스 그룹에 기초하여, 토글링되는 연판정의 신뢰값의 합이 낮은 순서대로 순차적으로 토글링되도록 토글링 시퀀스를 결정하는 최적 토글링 시퀀스 결정 단계;
    상기 결정된 토글링 시퀀스에 따라서 상기 경판정 비트 스트림을 순차적으로 토글링하는 단계; 및
    상기 수신 신호는 오류 검출을 위한 비트를 포함하고, 상기 순차적으로 토글링될 때마다 상기 오류 검출을 위한 비트를 검사하는 단계를 포함하되,
    상기 순차적으로 토글링하는 단계는, 상기 검사하는 단계에서 오류가 없는 것으로 판단될 때까지 수행되고,
    상기 기본 토글링 시퀀스 그룹을 제공하는 단계는,
    상기 발생된 연판정 비트 스트림을 신뢰값이 낮은 순으로 기설정된 개수만큼의 비트 스트림으로 정렬하는 단계를 포함하고,
    상기 기본 토글링 시퀀스 그룹은 상기 정렬된 비트 스트림 각각의 위치에 대응하는 비트들을 순차적으로 토글링하기 위한 그룹인 것을 특징으로 하는 토글링 시퀀스 결정 방법.
  2. 제 1 항에 있어서,
    상기 기본 토글링 시퀀스(SEQ)는,
    다음의 수식을 통해서 결정되는 것을 특징으로 하는 토글링 시퀀스 결정 방법.
    Figure 112015016619698-pat00028

    여기서 N b , max 는 최대 토글링 수를 나타냄.
  3. 제 1 항에 있어서,
    상기 최적 토글링 시퀀스 결정 단계는, 토글링되는 비트의 개수를 s라고 하였을 때 정렬 완료 지시자(CRC_ptr)는 2s-1로 결정하는 정렬 완료 지시자 결정 단계를 포함하는 것을 특징으로 하는 토글링 시퀀스 결정 방법.
  4. 제 3 항에 있어서,
    상기 정렬 완료 지시자(CRC_ptr)가 지시하는 토글링 시퀀스까지 순차적으로 토글링될 때마다 오류를 검출하는 검사하는 단계를 포함하는 것을 특징으로 하는 토글링 시퀀스 결정 방법.
  5. 제 3 항에 있어서,
    다음의 수식을 통해서 상기 기본 토글링 시퀀스 그룹(SEQ)으로부터 차기 토글링 시퀀스 그룹(SEQtemp)을 결정하는 차기 시퀀스 결정 단계를 포함하되,
    상기 차기 시퀀스 결정 단계는, 상기 기본 토글링 시퀀스 그룹을 제공하는 단계 이후에 수행되는 것을 특징으로 하는 토글링 시퀀스 결정 방법.
    Figure 112016089377274-pat00030
  6. 제 5 항에 있어서,
    상기 최적 토글링 시퀀스 결정 단계는,
    상기 차기 토글링 시퀀스 그룹(SEQtemp) 중에서 다음의 수식을 통해서 정렬 범위 지시자(lpos)를 결정하는 정렬 범위 지시자 결정 단계를 포함하는 것을 특징으로 하는 토글링 시퀀스 결정 방법.
    Figure 112015016619698-pat00031
  7. 제 6 항에 있어서,
    상기 최적 토글링 시퀀스 결정 단계는,
    상기 정렬 완료 지시자가 지시하는 시퀀스의 다음 시퀀스(CRC_ptr + 1)부터 정렬 범위 지시자의 이전 시퀀스(lpos - 1)까지의 각각의 시퀀스에 대하여 신뢰값의 합을 계산하여 신뢰값의 합이 낮은 순서대로 시퀀스를 정렬하는 미정 시퀀스 정렬 단계를 포함하는 것을 특징으로 하는 토글링 시퀀스 결정 방법.
  8. 제 7 항에 있어서,
    상기 차기 시퀀스 결정 단계는,
    상기 기본 토글링 시퀀스 그룹(SEQ)과 차기 토글링 시퀀스 그룹(SEQtemp)을 묶어 차기 기본 토글링 시퀀스 그룹(SEQ')으로 하고, s에 1을 더하여 차기 토글링 시퀀스 그룹(SEQtemp')을 결정하는 차기 스퀀스 결정 반복 단계를 포함하는 것을 특징으로 하는 토글링 시퀀스 결정 방법.
  9. 제 8 항에 있어서,
    상기 차기 시퀀스 결정 단계는,
    상기 미정 시퀀스 정렬 단계에 의하여 정렬된 시퀀스를 반영하여 차기 토글링 시퀀스 그룹을 결정하는 것을 특징으로 하는 토글링 시퀀스 결정 방법.
  10. 제 8 항에 있어서,
    상기 최적 토글링 시퀀스 결정 단계는,
    s에 1을 더하여 정렬 완료 지시자(CRC_ptr)를 업데이트하는 정렬 완료 지시자 업데이트 단계를 포함하는 것을 특징으로 하는 토글링 시퀀스 결정 방법.
  11. 삭제
  12. 제 1 항에 있어서,
    상기 오류 검출을 위한 비트는 CRC 비트인 것을 특징으로 하는 토글링 시퀀스 결정 방법.
  13. 삭제
  14. 삭제
  15. 삭제
  16. 삭제
  17. 삭제
  18. 삭제
  19. 삭제
  20. 삭제
  21. 삭제
  22. 삭제
KR1020150023843A 2014-02-17 2015-02-17 연판정 값을 기초로 한 오류 검출용 토글링 시퀀스 결정 방법 및 에러 패턴 결정 방법 및 그 장치 KR101692608B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020140018106 2014-02-17
KR20140018106 2014-02-17

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020160181499A Division KR101800183B1 (ko) 2014-02-17 2016-12-28 연판정 값을 기초로 한 오류 검출용 토글링 시퀀스 결정 방법 및 에러 패턴 결정 방법 및 그 장치

Publications (2)

Publication Number Publication Date
KR20150097427A KR20150097427A (ko) 2015-08-26
KR101692608B1 true KR101692608B1 (ko) 2017-01-03

Family

ID=53800412

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020150023843A KR101692608B1 (ko) 2014-02-17 2015-02-17 연판정 값을 기초로 한 오류 검출용 토글링 시퀀스 결정 방법 및 에러 패턴 결정 방법 및 그 장치
KR1020160181499A KR101800183B1 (ko) 2014-02-17 2016-12-28 연판정 값을 기초로 한 오류 검출용 토글링 시퀀스 결정 방법 및 에러 패턴 결정 방법 및 그 장치

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020160181499A KR101800183B1 (ko) 2014-02-17 2016-12-28 연판정 값을 기초로 한 오류 검출용 토글링 시퀀스 결정 방법 및 에러 패턴 결정 방법 및 그 장치

Country Status (3)

Country Link
US (1) US10298360B2 (ko)
KR (2) KR101692608B1 (ko)
WO (1) WO2015122751A1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102017119062B4 (de) * 2016-08-23 2024-06-06 Steering Solutions Ip Holding Corporation Computerimplementiertes Verfahren zur Kommunikation zwischen Controllern und Kommunikationssystem
KR102144732B1 (ko) 2019-05-10 2020-08-14 한양대학교 산학협력단 연판정 기반으로 선형 부호를 고속 복호화하는 방법 및 장치
US11824556B1 (en) 2022-07-25 2023-11-21 Samsung Electronics Co., Ltd. Error correction using soft decision bits and multiple hypotheses

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120005560A1 (en) * 2010-07-01 2012-01-05 Steiner Avi System and method for multi-dimensional encoding and decoding

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6044483A (en) * 1998-01-29 2000-03-28 International Business Machines Corporation Error propagation operating mode for error correcting code retrofit apparatus
US6643819B1 (en) 2000-01-26 2003-11-04 Maxtor Corporation Hybrid root-finding technique
US6606726B1 (en) * 2000-06-13 2003-08-12 Telefonaktiebolaget L M Ericsson (Publ) Optimization of acceptance of erroneous codewords and throughput
US7024599B2 (en) * 2001-12-07 2006-04-04 Applied Micro Circuits Corporation System and method for non-causal channel equalization
JP2003283341A (ja) 2002-03-22 2003-10-03 Sony Corp 線形ブロック符号に従って符号化されたデータを訂正するための装置
US7421642B2 (en) * 2002-04-05 2008-09-02 Seagate Technology Llc Method and apparatus for error detection
US7002900B2 (en) * 2002-10-25 2006-02-21 Qualcomm Incorporated Transmit diversity processing for a multi-antenna communication system
ES2357234T3 (es) * 2003-06-02 2011-04-20 Qualcomm Incorporated Generación e implementación de un protocolo y una interfaz de señales para velocidades de transferencia de datos elevadas.
JP4891314B2 (ja) * 2005-05-10 2012-03-07 クゥアルコム・インコーポレイテッド ソフト・ビット判定を使用してspsデータのdpsk復調を改善する
US8108759B2 (en) * 2006-12-14 2012-01-31 Regents Of The University Of Minnesota Error detection and correction using error pattern correcting codes
US8127209B1 (en) * 2007-07-30 2012-02-28 Marvell International Ltd. QC-LDPC decoder with list-syndrome decoding
JP5420554B2 (ja) * 2007-10-23 2014-02-19 ブラックベリー リミテッド 畳み込み符号化データを復号する装置および関連する方法
US8229039B2 (en) * 2007-11-26 2012-07-24 Broadcom Corporation Flexible rate matching
WO2009072103A2 (en) * 2007-12-05 2009-06-11 Densbits Technologies Ltd. Flash memory apparatus and methods using a plurality of decoding stages including optional use of concatenated bch codes and/or designation of 'first below' cells
US8301973B2 (en) * 2008-10-16 2012-10-30 Samsung Electronics Co., Ltd. Digital television systems employing concatenated convolutional coded data
JP5262894B2 (ja) * 2009-03-24 2013-08-14 富士通株式会社 無線通信システムにおける復号誤り検出方法および復号装置
KR101783271B1 (ko) * 2009-12-10 2017-10-23 삼성전자주식회사 정보 객체의 인코딩을 위한 방법 및 이를 이용한 인코더
WO2012098898A1 (ja) * 2011-01-21 2012-07-26 パナソニック株式会社 符号化方法、復号方法
US9063871B2 (en) * 2012-04-04 2015-06-23 Panasonic Intellectual Property Management Co., Ltd. Decoding device and decoding method
US8856611B2 (en) * 2012-08-04 2014-10-07 Lsi Corporation Soft-decision compensation for flash channel variation
US9264182B2 (en) * 2012-09-13 2016-02-16 Novelsat Ltd. Iterative receiver loop
EP2838204B1 (en) * 2012-11-15 2017-04-19 Huawei Technologies Co., Ltd. Decoding processing method and decoder
US9191256B2 (en) * 2012-12-03 2015-11-17 Digital PowerRadio, LLC Systems and methods for advanced iterative decoding and channel estimation of concatenated coding systems

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120005560A1 (en) * 2010-07-01 2012-01-05 Steiner Avi System and method for multi-dimensional encoding and decoding

Also Published As

Publication number Publication date
WO2015122751A1 (ko) 2015-08-20
KR20170005398A (ko) 2017-01-13
US10298360B2 (en) 2019-05-21
US20160269148A1 (en) 2016-09-15
KR101800183B1 (ko) 2017-11-22
KR20150097427A (ko) 2015-08-26

Similar Documents

Publication Publication Date Title
US11362682B2 (en) Encoding method and apparatus using CRC code and polar code
CN105743621B (zh) 基于极化码的harq信号发送、接收方法及装置
US7577899B2 (en) Cyclic redundancy check (CRC) based error correction method and device
JP3556943B2 (ja) 符号分割多重接続移動通信システムの反復復号中止装置及び方法
US7260766B2 (en) Iterative decoding process
US10880037B2 (en) Error detection using symbol distribution in a system with distribution matching and probabilistic amplitude shaping
CN1154236C (zh) 纠错编码型的数字传输方法
JP2002171175A (ja) 復号装置および復号方法
KR101800183B1 (ko) 연판정 값을 기초로 한 오류 검출용 토글링 시퀀스 결정 방법 및 에러 패턴 결정 방법 및 그 장치
CA2490802A1 (en) A fast h-arq acknowledgement generation method using a stopping rule for turbo decoding
CN114073024B (zh) 极性码的卷积预编码和解码
CN100594681C (zh) 通信系统中特播编码数据的解码方法和设备
US8843811B2 (en) Apparatus and method for decoding in communication system
TW200812399A (en) Hard-decision iteration decoding based on an error-correcting code with a low undetectable error probability
CN109194336B (zh) 级联Spinal码的编码和译码方法、系统及装置
KR101609884B1 (ko) 통신 시스템에서 복호된 데이터의 신뢰성을 판단하는 장치 및 방법
US10396826B2 (en) Software defined network with selectable low latency or high throughput mode
WO2009075507A1 (en) Method of error control
JP2001285261A (ja) エラー訂正符号化型ディジタル伝送方法
CN1448012A (zh) 误码率估算
Hadavian et al. Ordered Reliability Direct Error Pattern Testing (ORDEPT) Algorithm
WO2020234185A1 (en) A method of marking bits, a method of decoding bits, a bit marking device, a decoder, a receiver and a chip
CN109417432A (zh) 数据编解码
Iannucci et al. A hardware spinal decoder
CN108476027A (zh) 窗口交织的turbo(wi-turbo)码

Legal Events

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