KR100341790B1 - 산재된에러검출비트를사용하는데이터통신시스템및방법 - Google Patents

산재된에러검출비트를사용하는데이터통신시스템및방법 Download PDF

Info

Publication number
KR100341790B1
KR100341790B1 KR1019980708863A KR19980708863A KR100341790B1 KR 100341790 B1 KR100341790 B1 KR 100341790B1 KR 1019980708863 A KR1019980708863 A KR 1019980708863A KR 19980708863 A KR19980708863 A KR 19980708863A KR 100341790 B1 KR100341790 B1 KR 100341790B1
Authority
KR
South Korea
Prior art keywords
bit
error detection
bits
message
data
Prior art date
Application number
KR1019980708863A
Other languages
English (en)
Other versions
KR20000010748A (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 KR20000010748A publication Critical patent/KR20000010748A/ko
Application granted granted Critical
Publication of KR100341790B1 publication Critical patent/KR100341790B1/ko

Links

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/0067Rate matching
    • H04L1/0068Rate matching by puncturing
    • 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
    • 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/29Coding, 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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer 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/29Coding, 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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2906Coding, 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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes using block codes
    • H03M13/2927Decoding strategies

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Error Detection And Correction (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Detection And Correction Of Errors (AREA)

Abstract

데이터 비트를 통신시기는 통신 시스템 및 방법은 에러 검출 비트를 발생시켜 전송될 데이터 비트의 시퀀스내에서 산재시킴으로써 전송될 메시지를 제공한다. 산재된 데이터 비트는 데이터 비트에 종속되거나 데이터 비트에 관계없이 결정될 수 있다. 전송될 메시지는 컨벌루션적으로 부호화되고 통신 매체를 통해 전송된다. 수신된 메시지는 에러 표시 논리 회로에 동작적으로 접속된 컨벌루션 복호기에 의해 컨벌루션적으로 복호화된다. 산재된 에러 검출 비트는 전송시 정정되지 않은 에러를 검출하거나 산재된 에러 검출 비트의 결정된 값을 토대로 향상된 에러 정정 동작을 제공하기 위하여 컨벌루션적으로 복호하는 것을 제한하는데 사용될 수 있다.

Description

산재된 에러 검출 비트를 사용하는 데이터 통신 시스템 및 방법
무선 채널과 같이 에러를 일으키는 경향이 있는 통신 채널을 통해서 데이터전송시, 에러 검출 코딩 및/또는 에러 정정 코딩은 전송된 데이터의 에러를 감소시키는데 사용될 수 있다. 전송된 데이터는 종종 디지털 정보이며, 이 디지털 정보는 이진 비트의 정보로 구성된 메시지를 포함하며, 각각의 비트는 1 또는 0의 값을 가질 수 있다. 임의의 소정 메시지는 다수의 0과 더불어 산재된 다수의 1을 포함하는열(string)이다. 임의의 L비트의 열온 2L고유 메시지중 하나의 메시지를 나타낼 수있다는 것을 알 수 있을 것이다. 메시지는 디지털화된 음성 정보이거나 어떤 다른형태의 정보를 나타낼 수 있다.
에러 검출 코딩 및 에러 정정 코딩 둘다는 통신 시스템에서 사용될 수 있다. 에러 검출 코딩의 간단한 예는 메시지의 동일한 카피(copy)를 그 메시지에 부가하고, 둘 모두를 전송하며 수신된 메시지와 수신된 카피를 한 비트씩 비교를 수행하는 것이다. 각각의 비트 위치에 대해, 메시지와 카피의 불일치는 전송 에러의 증거이다. 메시지에 대한 전체 불일치 수는 데이터 전송 신뢰도의 양적인 척도이다. 그러나, 메시지 및 그 카피의 동일한 비트 위치에서 동시에 에러가 있으면 그것을 불일치로 판단하지 않기 때문에 불일치의 총수는 신뢰도를 측정하는 정확한 척도는 아니다.
공통 에러 검출 기술, 순환 용장 검사(CRC) 기술은 데이터 메시지의 비트를토대로 결정되는 "검사" 비트를 발생하여 메시지에 부가한다. 검사 비트는 소정 메시지에 특정된 "체크워드"를 구성한다. 체크워드는 메시지에 첨부되어 둘 모두가 동일한 부호기를 통해서 처리되고 통신 채널을 통해 전송되도록 하고, 둘 모두가 수신기내의 동일한 부호기를 통해 처리되도록 한다. 그리고 나서, 수신기내의 CRC계산기는 수신된 복호화된 메시지 비트에 대응하는 검사 비트를 발생할 수 있고, 이 수신기에서 계산된 체크워드는 메시지와 함께 수신된 복호화된 체크워드와 비교될 수 있다. 불일치는 전송시 검출된 에러를 나타내고, 일치의 정도는 데이터 전송의 신뢰도의 양적인 척도로서 사용될 수 있다. 그러나, 에러 정정 코딩을 사용하는 시스템에서 이 에러 검출 방법이 가지는 문제점은 수신된 메시지가 애러 검출 코딩이 테스트받기 전에 에러 정정 복호화를 완료해야 만 한다는 것이다.
이와는 달리, 에러 정정 코딩의 간단한 예는 소정의 메시지의 두 개 이상의 동일한 카피를 전송하고 수신기에서 수신된 모든 메시지를 한 비트씩 비교를 수행하는 것이다. 수신기로부터 출력된 메시지 비트가 1 또는 0이 되어야만 할지는 "비트 디모크라시(bit democracy)"를 토대로 결정될 수 있는데, 즉, 비트 위치를 위하여 수신된 다수의 비트값이 이 출력을 결정한다. 전송 에러는 메시지 카피들 사이에 랜덤하게 분포됨으로써 대다수의 카피들의 동일한 비트 위치에서 에러가 발생할 가능성은 보다 적을 것이다.
공지된 에러 정정 기술에는 컨벌루션 코딩(convolutional coding)이 있는데, 이 컨벌루션 코딩에서 패리티 비트로 알려진 전송된 비트는 메시지 비트를 토대로 결정된다. 메시지 비트는 한번에 L비트로 간주되도록 하고, r 패리티 비트는 L 메시지 비트마다 전송된다. 예를 들어, 패리티 비트는 메시지의 각종 비트의 어떤 불조합(Boolean combination)으로서 계산될 수 있다. 컨벌루션적으로 부호화된 패리티 비트의 전송은 일반적으로 컨벌루션 코딩을 예를 들어 블록 코딩과 같은 또다른 코딩 방식과 구별시기는데, 이 블록 코딩에서 소수의 메시지 비트는 용장 블록 코드워드로 변환되고 여러개의 이러한 블록 코드워드는 전체 메시지를 전달하기 위해 전송된다. 본 발명의 배경을 이해하는데 도움을 주기 위하여 이하에서 공지된 컨벌루션 코딩 기술의 일반적 사항이 설명된다.
공지된 컨빌루션 에러 정정 기술이 미국 특허 제5,349,589호("제'589 특허")에 서술되어 있다. 제'589호 특허의 접근 방법은 데이터 비트들을 키 비트, 임계 비트 및 비보호 비트로 분리시기는 것이다. 키 비트는 CRC형 에러 검출 코딩으로 제공되고, 키 비트 및 임계 비트 둘다는 컨벌루션 에러 정정 부호화로 제공된다. CRC 비트를 가진 키 비트는 임계 비트에 부가되어 컨벌루션 부호기로 공급된다. 수신 단에서, 프레임 병합기(frame meger)는 복호화된 키 비트 및 임계 비트를 수신된 비보호 비트와결합시킨다. 제'589호 특허는 또한 비터비 컨벌루션 알고리즘을초기화하고 종료시기기 위하여 테일 비팅(tail biting)을 사용하는 것을 제한한다.
컨벌루션 코딩의 일예가 지금부터 도 1을 참조하여 설명될 것이다. 도 1에는 시프트 레지스터(24)로 구성되는 컨벌루션 부호기(22)를 포함하는 송신기(20)가 도시되어 있는데, 이 시프트 레지스터를 통해서 부호화될 정보의 비트가 시프트된다. 시프트 레지스터는 제한된 비트수 L을 유지하는데, 이 수 L은 코드가 한번에 L비트를 고려하도록 제한되기 때문에 코드의 구속길이(constraint length)로서 공지되어 있다. 어떤 예에서, B1, B2, B3, B4,.... BL,로 명명될 수 있는 시프트 레지스터(24)의 비트는 비트의 두 개 이상의 상이한 불 조합을 발생하는 조합 논리 네트워크(26)에 인가된다. 도 1에 도시된 바와 같이, 시프트 레지스터(24)의 비트는 전송될 메시지 정보를 수신하고 상술된 바와같이 메시지 검사 비트를 발생하여 부가하는 CRC 에러 검출 발생기(28)에 의해 제공될 수 있다.
네트워크(26)에 의해 발생된 조합은 상술된 패리티 비트이고, 이 패리티 비트는 P1, P2,..., Pr로 지정되어 있다. 패리티 비트는 통신 채널을 통해 복호기(32)를 갖는 수신기(3O)로 전송되는데, 이 복호기는 다시 이들을 데이터 비트 B1, B2, B3, B4, ...., BL,결국 전송되는 메시지 정보로 변환시킨다.
도 1에 도시된 바와 같은 조합 논리 네트워크(26)는 종래의 메모리에 저장된 2L엔트리들을 포함하는 순람표에 따라 선택적으로 실시될 수 있다는 것을 이해하여야만 한다. L비트 시프트 레지스터(24) 내용 B1, B2, B3, B4, ...., BL의 패턴은 순람표의 각각의 엔트리들을 어드레스하는데, 이것이 패리티 비트 P1, P2, ..., Pr의 특성 세트틀 발생시킨다. 따라서, 시프트 레지스터(24)에서 비트 패턴의 불 조합은논리 네트워크에 의해 발생된 것이라기 보다는 오히려 순람표에 저장된 것이다.
두 개의 패리티 비트가 시프트 레지스터(24)를 통해 비트의 각각의 시프트를 위하여 발생되는 경우, 코드는 1/2 코드율로서 공지되어 있는데, 원래 데이터 비트보다 두 배 만큼 많은 패리티 비트가 전송된다. 전송 속도가 일정한 경우, 이러한 패리티 비트를 전송하는데 필요한 시간은 윈래의 데이터 비트를 전송하는데 필요한 시간의 두 배이다. 보다 일반적으로, 시프트될 때마다 r 패리티 비트가 발생되는 경우, 코드는 1/r 코드율로서 알려져 있다. 일반적으로, 패리티 비트 전송률은 메시지 정보 비트율의 r배가 되도록 적응된다.
예를 들어, 구속길이가 5인 1/2 코드율의 패리티 비트를 발생하기 위한 불조합 식은 다음과 같다:
P1= B1+ B2+ B3+ B4+ B5
P2= B1+ B4+ B5
여기서 "+"는 모듈로-2 가산을 나타낸다. 모듈로-2 가산은 0 + 0 = 0; 0 + 1 = 1 + 0 = 1; 및 1 + 1 = 0이기 때문에 논리상 배타적-OR 연산과 논리적으로 등가 라는 것을 알 수 있을 것이다.
상술된 바와 같이, 입력 데이터 비트보다 r배 많은 패리티 비트는 1/r 코드율로 산출되고, 만약 모든 패리티 비트가 전송되면, 에러에 대항하기 위하여 r배의용장도가 제공된다. 그러나 패리티 비트 모두를 전송할 필요는 없다는 것을 알수 있을 것이다. 만약 송신기 및 수신기가 어느 패리티 비트가 전송되지 않았는지를 결정하는 어떤 정규 방법에 미리 부합되면, 코드는 펑쳐드 컨벌루션 코드(punctured convolutional code)로서 공지된다. 펑쳐드 코드는 일반적으로 코딩률이 m/r, 예컨대 13/29이며, 메시지 정보 비트율의 r/m배인 전송 속도에 적응할 필요가 있다.
최적 코드를 밟아가는 다양한 코드율 및 구속길이에 대한 패리티 식 표는 기술 문헌에 나타나 있다. 예컨대, G. Clarke, Jr. 및 J. Cain의, "디지털 통신을 위한 에러 정정 코딩(Error-Correction Coding for Digita1 Communication)", 부록 B, Plenum 출판부, 뉴욕,(1981) 참조.
컨벌루션 코드를 복호하기 위한 공지된 방법에는 임계 복호화, SMLSE(Sequential Maximum Likelihood Sequence Estimation), 및 스택 알고리즘이 있다. SMLSE 기술은 통상적으로 비터비 알고리즘으로서 공지되어 있는데, 이것은 D. Forney의 "비터비 알고리즘(The Viterbi Algorithm), Proc.IEEE, Vo1.61의 268∼278쪽(1973년 3월)에 기재되어 있다. 복호화 방법의 셜명은 상술된 Clarke 및 Cain 텍스트에서 찾아볼 수 있다.
구속길이 5를 갖는 1/2 코드율에 대한 SMLSE 컨벌루션 복호화 알고리즘의 동작이 도 2에 도시되어 있다. SMLSE 복호기에서, 다수의 전자 저장 소자(33, 34, 35)는 상태(states)라 칭하는 그룹으로 배열되고 상태수는 2L-1이며, 여기서 L은 복호될 코드의 구속길이이다. 저장 소자는 두 개 이상의 상이한 타입의 정보, 즉, 상대들과 관련된 소자(34)의 경로 메트릭(path metrics) 및 소자(33)의 비트 내력을 보유한다. 게다가, 상태와 관련된 상태수는 L-1 비트의 이진 비트 패턴으로서 소자(34)에 각각 저장될 수 있다.
경로 메트릭은 가정(postulated) 비트 시퀀스 및 실제(예를 들어, 수신된)비트 시퀀스 사이의 상관도를 나타내는 신뢰도(confidence factor)로 간주될 수 있다. 가정 및 실제 비트 시퀀스가 일치할 때까지, 경로 메트릭은 보다 작아지고 가정 비트 시퀀스와 관련된 신뢰도는 보다 크게된다. "가정 비트 시퀀스", 또는 간단히 "가정"은 일반적으로 중요한 실제 비트 시퀀스의 존재 가능성을 가지는 의사(hypothetical) 비트 시퀀스로 명명된다. 따라서, 가정은 메시지 정보 비트, 패리티 비트, 또는 기타 코드 워드를 나타낼 수 있다.
대부분 SMLSE 부호기의 중요 부분은 부호화 알고리즘의 "카피"(38)이다. 예를 들어, 도 1에 도시된 통신 시스템에서, 카피(38)는 패리티 비트 P1, P2, ..., Pr를 발생하기 위하여 부호기(22)에서 사용된 식을 실행하는 조합 논리 네트워크 및 L-비트 시프트 레지스터일 수 있다. 대안적으로, 카피(38)는 L-비트 시프트 레지스터 및 전자 메모리에 지장된 2L-엔트리 순람표일 수 있다. 두 경우 모두에서, 2L가정은 카피(38)에 의해 발생되어 수신된 패리티 비트 스트림과 비교기(39)에 의해 직접 비교된다.
저장 소자(34)의 (L-1)-비트 상태수는 부호화 시프트 레지스터(24)의 가능한내용 중 1비트를 제외한 전부를 나타낸다. L번째 비트는 부호화될 다음 비트를 나타내고 0 또는 1중 하나일 수 있다. 두가지 가능성들이 상태수로 표시되는 다른 비트의 모든 가능한 조합과 관련하여 테스트된다. 따라서, 모든 2L의 가능한 비트 조합이 복호기에 의해 테스트되고, 실행 신뢰도, 즉 경로 메트릭(35)은 가정 비트 시퀀스 및 수신된 패리티 비트 시퀀스 사이의 상관을 평가하기 위해 저장된다.
구속길이가 5인 1/2 코드율에 대해 SMLSE 알고리즘의 단계는 일반적으로 다음과 같다.
단계 1. 0000으로 번호가 매겨진 제1 상태에 대해, 새로운 비트는 또한 0인것으로 가정한다. 예상되는 두 개의 패리티 비트 P1(00000) 및 P2(00000)를 얻기위해 가정 00000이 카피(38)에 적용된다. 이 방법으로, 가정 정보는 도 1에 도시된 부호기(22)에서 사용된 것과 동일한 패리티 식을 사용하여 부호화된다.
단계 2. 수신된 실제 패리티 비트 P1(실제) 및 P2(실제)는 비교기(39)에 의해 가정 패리티 비트 P](00000) 및 P2(00000)와 비교된다. 비교의 결과는: 두 개의 비트에 대한 일치, 두 비트중 하나에 대한 일치 및 두 비트 중 다른 하나에 대한 불일치, 또는 두 개의 비트에 대한 불일치되는 것 중 하나이다. 만약 P1(00000) 및 P2(00000) 둘다가 수신된 실제 패리티 비트 P1(실제) 및 P2(실제)와 일치한다면, 값 0은 가산기(36)에 의해 상태 0000과 관련되어 Gp= (0000)으로 표현될 수 있는 경로메트릭에 가산된다. 유사하게, 만약 단지 하나만이 일치한다면, GP= (0000)에 값 1이 가산된다. 만약 P1(00000) 및 P2(00000) 중 어느 것도 수신된 실제 패리티 비트 P1(실제) 및 P2(실제)와 일치하지 않는다면, 값 2가 Gp= (0000)에 가산된다. 이 방법으로, 어떤 소정의 상태에 대한 경로 메트릭 값은 특정 상태에 대한 가정 및 실제 비트 시퀀스 사이의 누적 부정합을 나타낸다. 상대에 대한 누적 불일치가 크면클수록, 경로 메트릭 값이 더 커지고 상태에 대한 실행 신뢰도는 더 적어진다.
단계 3. 단계 1 및 2가 상태 1000에 대해 반복된다. 새로운 다섯 번째 비트가 0으로 가정되면, 패턴 10000이 카피(38)에 적용되고, 그것의 출력 비트 P1(10000) 및 P2(10000)가 실제 수신 비트 P1(실제) 및 P2(실제)와 비교된다. 상태 1000에 대한 경로 메트릭, Gp= (1000)은 P1(실제) 및 P2(실제)와 P1(10000) 및 P2(10000)의 비교에 기초하여 단계 2에서와 같이 갱신된다.
단계 4. 상태 0000 및 1000에 대해 갱신된 경로 매트릭, 즉, Gpm(0000) 및 Gp=(1000)은 비교기(37)에 의해 비교된다. 어느 상태가 보다 작은 경로 메트릭을 갖으면은, 보다 작은 불일치는 카피(38)에 의해 생성된 비트 패턴 10000 및 00000이 왼쪽으로 1비트 시프트하고 가장 왼쪽 비트가 저장 소자(33)의 각 비트 내력으로 시프트할 때 새로운 상태 0000이 되어, 두가지 경우에 O000으로 남게된다.
따라서, 상태 1000 또는 0000중 하나는 새로운 비트가 이 경우 다음 상태 0000에 대한 이전의 상태일 수 있다. 그것은 가장 낮은 경로 메트릭을 가지기 때문에 어느 상태가 존속하는지에 따라서, 부호기 카피(38) 패턴에서 다음 상태 0000에 대한 비트 내력(33)의 가장 오른쪽 비트가 되도록 드롭되는 가장 왼쪽 비트는 0 또는 1이 된다. 게다가, 새로운 비트 내력 메모리(33)에서 다른 대응하는 비트는 존속하는 선택 상태로부터 카피된 것이며, 존속하지 않는 비트를 겹쳐 쓰면, 상태는 선택되지 않는다. 예를 들어, 도 3에 도시된 바와 같이, 경로 메트릭 Gp= (1000)이 1.8이고 경로 메트릭 Gpm(0000)이 9.5라면, 상태 1000이 존속되도록 선택되어 왼쪽으로 시프트된 비트 10110111은 새로운 상태 0000을 위해 비트 내력(33)에 겹쳐 쓰게된다.
단계 5. 새로운 비트가 1이라는 가정하에 단계 1∼4가 반복된다. 이에 따라시, 실제 수신 비트에 대한 가정 00001 및 10001은 카피(38)에 각각 적용되어 예측되는 패리티 비트 쌍, P1(00001), P2(00001) 및 P1(10001) 및 P2(10001)을 얻는다. 이들 패리티 비트 쌍은 실제 수신된 패리티 비트 P1(실제) 및 P2(실제)와 비교되고, 비교되는 갱신된 경로 메트릭 Gp= (0000) 및 Gp= (1000)을 발생시킨다. 이것은 가능한 이전 상태 0000과 1000을 갖는 새로운 상태 0001가 된다.
단계 6. 단계 1 ~ 5가 이전 상태의 다른 쌍마다 반복된다 : 0001 및 1001(새로운 상태 0010 및 0011를 발생시킴); 0010 및 1010(최종 새로운 상태 0100 및 0101를 발생시킴); 0011 및 1011(새로운 상태 0110 및 0111를 발생시킴): 0100 및 1100(새로운 상태 1000 및 1001를 발생시킴); 0101 및 1101(새로운 상태 1010 및1011를 발생시킴); 0110 및 1110(새로운 상태 1100 및 1101를 발생시킴); 0111 및 1111(새로운 상태 1110 및 1111를 발생시킴).
상기 6 단계의 마지막에서, 두 개의 실제 수신된 패리티 비트가 처리되고 하나의 새로운 복호된 비트는 모든 비트 내력 저장 소자(33)로 시프트된다. 이들 기억된 패턴들은 마지막 SMLSE 시퀀스를 위한 후보들이다. 비트 내력들은 다른 비트내력들에 겹쳐 쓰기 되기 때문에, 한 쌍의 상대 중 하나가 존속되도록 선택될 때, 저장 소자(33)의 더 오래된 비트가 일치하는 경향이 있다. 만약 모든 비트 내력들 에서 가장 오래된 비트가 일치한다면, 그것들은 최종 결정에 따라 제거될 수 있으며 비트 내력 저장 소자(33)는 1비트씩 짧아진다.
예를 들어, 비율 1/4과 같은 다른 코드율에 대한 알고리즘은 비록 네 개의 패리티 비트가 각각의 가정에 의해 발생되고 네 개의 수신 비트와 비교된다할지라도 유사하게 진행되어, 0, 1, 2, 3, 또는 4 불일치의 누산 경로 메트릭에 대한 가능한 증분을 발생시킨다.
공지된 알고리즘의 다른 변형에서, 수신 패리티 비트는 단지 그들의 비트 극성에 특징이 있는 것이 아니라, "1" 또는 "0"의 정도를 나타내는 크기 또는 품질측정에 특징이 있다. 국부적으로 예측된 가정 패리티 비트와의 불일치가 검출되었을 때, 만약 수신된 비트 품질이 높다면 경로 메트릭은 더 큰 양만큼 패널티를 받게 되고, 품질이 낮고 주신 비트 극성이 의심스러운 경우 보다는 그것의 부호가 실제로 정확하다라는 것을 덜 의심하게 된다. "하드" 복호화와는 개념적으로 대조적인 이러한 "소프트" 복호화는, "확률(probability)"이 비트 극성이 정확한 확률인-LOG(확률)에 관련된 "소프트" 비트 품질 측정을 사용한다. 이러한 로그 측정이 사용될 때, 누산 메트릭은 모든 비트 확률의 곱의 마이너스 로그를 나타낸다. 가장 작은 누산 메트릭을 갖는 상태 및 비트-내력 시퀀스는 정확성이 가장 높은 확률을 가지는 시퀀스를 나타낸다. 일반적으로, 잡음이 가우시안 잡음이라 가정하면, 이러한 경우 패널티 항은 비트 크기의 제곱에 비례하는 것으로 나타낼 수 있다. 위치상예측된 가정 비트와 수신된 고품질 비트 사이의 불일치에 대한 패널티부과(penalization)는 불일치가 검출되었을 때 누산되는 로그 측정에 1/(-LOG(확률))에 비례하는 항을 가산함으로써 실행될 수 있다. 이러한 가산은 수신된 비트 극성이 정확하지만 그럼에도 불구하고 불일치가 검출될 확률이 높을 때는 언제나 측정에 상당한 영향을 줄 수 있다.
이러한 컨벌루션 부호기 및 부호기는 3진 또는 4진 심볼과 같이 2진수가 아닌 심볼로 작업하도록 형성될 수 있다.
SMLSE 비터비 복호기는 수신된 신호를 가장 근사하게 나타내는 데이터 비트의 시퀀스를 결정한다. 비터비 알고리즘은 최적 시퀀스가 연속적으로 결정되게 하므로, N 개의 가능한 시퀀스의 2의 제곱에 대해 모두 테스트할 필요성이 없어진다.
연속적인 결정을 위한 시작점을 설정하기 위해서, 어떠한 방법에서는, 데이터 비트의 공급전에 부호기는 알려진 시작 상태로 초기화된다. 이러한 경우, 단지 1만이 부호기를 위한 초기 상태로 인정된다. 상태 수는 각각의 연속적인 단계에서 (코드 구속길이-1)의 2의 제곱까지 배가시킨다. 이후, 상태 수는 알려지지 않은 새로운 비트가 가정될 때마다 배가되지만 사전에 가정된 비트가 특정 값중 하나로 결정되기 때문에 즉시 다시 반으로 된다. 상태수는 알려지지 않은 마지막 데이터 비트가 가정될 때까지 일정하게 유지된다. 어떤 부호화 방법에서, 알려진 비트는 마지막 데이터 비트를 통해 제거하기 위해 부호기로 공급된다. 더 이상의 데이터 비트가 부호기에 남아있지 않을 때, 그것의 출력은 데이터에 의존하지 않으며 전송될 필요도 없다. 수신기 부호기는 이러한 최종 상태를 선험적으로 알 수 있고, 매번 하나 이상의 미결정 데이터 비트는 부호기에서 제거되며, 가능한 남아있는 상태의 수는 단일 상태가 될 때까지 반으로 된다. 단일 시작 상태에서 단일 종료 상태까지 위 아래로 점감시킴으로써 컨벌루션 부호기를 종료시키는 이 방법은 "테일 비트 사용"이라 한다. 시작시 부호기내의 알려진 비트(또는 종단에서 최종 데이터 비트를 제거하는데 사용됨)는 여분의 전송된 비트를 발생한다. 부호기를 초기화하고 종료 시키는데 사용되는 이들 부가적인 비트는 테일 비팅(tail biting)으로 알려진 다른방법을 사용함으로써 제거될 수 있다. 테일 비팅에서, 데이터 비트의 수 L은 부호기를 초기화하기 위하여 사용되는데, L은 구속 길이로 또한 알려진 부호기내의 내부 메모리 소자의 수이다. 따라서, 시작 상태의 가능한 수는 2L이다.
이러한 예의 부호기는 단지 단일 상태가 아닌 모든 시작 상태가 가능한 것으로 가정한다. 제1 L비트에 의존하는 전송된 제1 부호화 비트는 수신기에서 대응하는 예측치와 비교되고 불일치 또는 경로 매트릭은 각 확률들에 대해 산정된다. 하나의 데이터 비트가 부호기에서 시프트 아웃되고 새로운 데이터 비트가 부호기로 시프트 인된다. 이것은 상태 수를 1/2이되도록 하지만 새로운 비트가 알려지지 않았기 때문에, 예측 및 경로 메트릭 계산수는 앞에서와 같은 수로 배가된다. 비터비 MSLE 기계는 새로운 비트가 예상되기 전에 상태수가 반으로 되는 점에서 주기를 시작하고 끝내는 것으로 간주될 수 있다. 그런 식으로, 저장되어야 하는 상태 및 경로 메트릭들의 수는 비록 경로 메트릭의 산정치가 항상 2L이라고 할지라도 2L이 아니라 2(L-1)이 된다. 테일 비팅을 사용하면, 최종 데이터 비트가 부호기로 입력된 후, 그것은 첫 번째 L-1 데이터 비트를 다시 입력함으로써 제거되고 효과적인 순환이 이루어진다. 수신기는 제1 신호 샘플들을 다시 처리하고 더 이상 복호된 출력에 변화가 없을 때까지 지속함으로써 원(circle) 부근에서 지속할 수 있다. 이와 달리, 테일 비팅 복호기는 가장 낮은 누산 경로 메트릭을 갖는 상대가 가장 가능성 있는 것으로서 선택되는 점에서, 고정된 수 또는 순환 비율에 대해 지속된다.
상술된 바와 같이, 자유롭지 않는 CRC 코드를 부가하면, 그것은 전송된 부호화 비트의 수를 부가된 CRC 비트의 수와 코드율과 승산된 만큼 증가시킨다. CRC 코드를 부가함으로써 발생된 여분의 비트를 전송하는 에너지는, 만약 CRC를 사용하고 사용하지 않는 시스템간의 비교가 전송된 동일 에너지를 기초로 이루어진다면, 데이터를 전송하는데 사용된 에너지에서 감산되어야 한다. 따라서, CRC의 사용은 CRC 가 사용되어진 경우보다 더 높은 에러율을 발생시킬 수 있다. 그러나 에러는 검출될 수 있다.
테일 비트 사용법 및 CRC 코드를 사용하는 것과 같이, 전송되는 데이터에 비트를 부가하는 종래의 방법은 수신 통신 시스템에서 에러 정정 복호 동작의 성능을개선시킴이 없이, 에너지 및 전송률 요구 조건면에서의 관련 비용을 필요로 하며 전송을 위해 부가적인 비트를 부가하는 단점을 가진다. 결정 비트 에러 정정 부호화 시스템은 에러 정정 복호화를 향상시기지만 일반적으로 에러를 검출할 수 있도록 설계되지는 않는다. 또한, CRC 에러 검출 방법은 일반적으로 에러 검출을 위한 테스트전에 에러 정정 복호화를 완료할 것을 요구한다.
본 발명은 신호 통신에 사용하는 부호화 및 부호화 시스템 및 방법에 관한 것으로서, 특히, 에러 검출 및 에러 정정 코딩 둘다를 사용하여 전송된 데이터 메시지를 부호화 및 부호화하는 시스템 및 방법에 관한 것이다.
도 1은 종래의 에러 정정 부호화 및 CRC 에러 검출을 사용하는 종래의 통신시스템의 블록도;
도 2는 컨벌루션 복호화 알고리즘의 예를 나타낸 블록도;
도 3은 본 발명의 통신 시스템의 실시예의 개략적인 블록도;
도 4는 본 발명의 통신 시스템에 포함된 송신 회로의 실시예를 나타낸 개략적인 블록도;
도 5는 본 발명의 통신 시스템에 포함된 수신 회로의 실시예를 나타낸 개략적인 블록도;
도 6은 본 발명의 데이터 비트를 통신하는 실시예의 동작을 나타낸 흐름도;
도 7은 본 발명의 데이터 비트를 통신하는 제한 컨벌루션 복호화 동작을 나타낸 흐름도;
도 8은 본 발명의 데이터 비트를 통신하는 또 다른 실시예의 동작을 나타낸 흐름도.
본 발명의 목적은 개선된 에러 정정 및 에러 검출 능력을 모두 갖춘 개량된 통신 시스템 및 방법을 제공하는 것이다.
본 발명의 다른 목적은 복호화하는 동안 에러 표시를 나타내도록 데이터를 부호화하는 개량된 시스템 및 방법을 제공하는 것이다.
본 발명의 또 다른 목적은 수신기가 실질적인 에너지 패널티 및 상술된 에러 검출 없이 데이터를 복호하는 방법 또는 에너지 패널티를 가지고 데이터를 복호하지만 그것에 의해 에러 검출 표시를 얻을 수 있는 복호화 방법을 선택할 수 있는 신호를 송신하고 수신하는 방법 및 시스템을 제공하는 것이다.
본 발명의 통신 시스템 및 방법은 다수의 비트를 일단부에 클럼프하는 대신에 데이터 블록내에 다수의 알려진 비트를 산재시킨다. 이것은 복호 동작의 진행동안 에러 검사 표시를 연속적으로 산출할 수 있는 장점을 제공하는 한편, "테일 비트(tail bit)" 방법과 비교하여 블록내의 데이터 비트에 대해 좀 더 균일한 비트에러 확률을 제공한다. 또한, 종래기술의 CRC 방법과는 달리, 삽입된 여분의 비트가 데이터 비트 에러율을 증가시기지는 않는다. 본 발명은 에러 검출의 이점을 유지하면서 향상된 에러 정정 복호화를 제공하는 통신 시스템 및 방법을 제공한다.
본 발명의 통신 시스템 및 방법의 한 실시예에서, 산재된 결정 에러 검출 비트에 기초하여 복호화를 제한함으로써 향상된 복호화 성능을 제공하는 제한적인 에러 정정 복호화 시스템을 포함하고, 또한 복호화 처리가 결정 에러 검출 비트에 의해 제한되는 경우를 판단하여 에러 표시를 더 제공하는 통신 시스템 및 방법이 제공된다. 결정 에러 검출 비트는 데이터 내의 위치 및 값의 데이터에 독립 또는 종속될 수 있다.
본 발명의 통신 시스템 및 방법의 또 다른 실시예에서, 에러 검출 비트는 컨벌루션 부호화 전에 데이터에 산재되고, 수신된 부호화 메시지는 제한을 받지 않는컨벌루션 부호기에 의해 컨벌루션 복호화되며, 에러 검출 비트는 정정되지 않은 에러가 전송에 포함되는지를 판단하기 위해 검사된다. 향상된 에러 정정 복호화 능력을 제공하기 위해서, 메시지는 또한 결정 에러 검출 비트에 기초하여, 제한 컨벌루션 복호화된다. 만약 에러가 표시되지 않았다면, 제한되지 않은 컨벌루션 부호기의 출력이 수신된 메시지로 선택될 수 있다. 이와 달리, 만약 에러가 검출되지 않았다면, 제한 컨벌루션 부호기의 출력이 수신된 메시지로 선택된다. 만약 에러가 표시되면, 제한 컨벌루션 부호기의 출력은 수신된 메시지로서 선택된다.
본 발명의 통신 시스템 및 방법의 한 실시예에서 송신 및 수신 기능이 제공된다. 송신 기능에는 전송되는 데이터 비트 시퀀스의 부분에 기초하여 다수의 결정에러 검출 비트를 발생하는 기능과 전송용 메시지를 제공하기 위해 데이터 비트 시퀀스내의 다수의 소정 위치에 결정 에러 검출 비트를 산재시기는 기능이 포함된다.메시지는 컨벌루션 부호화되어 전송된다. 수신 기능은 부호화된 메시지를 수신하여 수신된 부호화 메시지를 컨벌루션 복호화하는 기능을 포함한다. 에러 표시는 결정에러 검출 비트의 소정 위치에 대응하는 수신 부호화 메시지의 복호된 비트와 데이터 비트를 포함하는 수신 부호화 메시지의 부분에 대응하는 수신 부호화 메시지의 복호된 비트에 기초하여 발생된 예측 에러 검출 비트의 비교에 기초하여 발생된다.
본 발명의 통신 시스템 및 방법의 다른 실시예에서, 수신된 부호화 메시지는 또한 결정 상태의 컨벌루션 복호화 처리에 기초하여 제한적으로 컨벌루션 복호화된 다. 예측 에러 검출 비트는 데이터 비트를 포함하는 수신 부호화 메시지 부분에 대응하는 수신 부호화 메시지의 복호화된 비트에 기초하여 발생된다. 결정 에러 검출비트의 소정 위치들 중 하나에 대응하는 위치에서 선택된 비트가 대응하는 예측 에러 검출 비트의 비트 값과 일치하지 않는 어떤 복호화 시퀀스는 폐기된다.
본 발명의 통신 시스템 및 망법의 또 다른 실시예에서, 산재된 에러 검출 비트는 데이터 비트와는 관계없이 발생된다. 따라서, 예측 에러 검출 비트는 복호화 된 데이터 비트의 기능에 따라 발생될 필요는 없다.
본 발명의 데이터 통신 방법 및 시스템은 증가된 에러율을 유도하는 에너지패널티를 요구하지 않고 에러 표시를 얻을 수 있는 능력, 에러 정정 성능의 향상을위해 제한된 결정 상태 컨벌루션 복호기를 제공할 수 있는 능력, 또는 에러 검출 및 향상된 에러 정정 모두를 제공하는 능력을 제공한다. 본 발명의 시스템 및 방법은 본 발명의 실시예를 나타낸 첨부 도면을 참조하여 이후에 상세히 설명된다. 그러나, 본 발명은 다양한 형태로 실시될 수 있으며 여기에서 언급한 실시예에로 국한된된다고 해석해서는 안되며; 정확히 말하자면, 이러한 실시예들은 본 발명을 구체화하고 당업자들에게 본 발명의 범위를 이해시키기 위해 제공되었다.
도 3은 본 발명의 통신 시스템을 나타낸 개략적인 블록도이다. 이러한 시스템은 수신기가 수신하기 전에 전송된 신호에 잡음을 유도할 가능성이 있는 통신 매체를 통과해야만 하는 다양한 유형의 정보를 송신하고 수신하는데 유리하게 사용된다. 전송된 정보는 디지털 셀룰러 통신 시스템에서와 같이, 디지털화된 음성 정보이거나, 어떤 다른 형태의 정보일 수 있다. 도 3에 도시된 바와 같이, 통신 시스템(40)은 수신 회로(42) 및 송신 회로(44)를 포함한다. 수신 회로(42) 및 송신 회로(44)는 사용자와 인터페이스하여 데이터를 제공하거나 수신하고 (46)으로 개념적으로 나타낸 바와 같이 정보를 제어한다. 도 3의 실시예에서 나타낸 바와 같이, 수신회로(42) 및 송신 회로(44)는 모두 안테나(48)와 동작 가능하게 접속되어 통신 전송 매체로부터 메시지를 수신 및 송신한다. 수신 회로(42) 및 송신 회로(44)에는 또한 별개의 안테나(48)가 제공될 수도 있다. 또한, 수신 회로(42) 및 송신회로(44)에는 각각 멀티플 안테나(48)가 제공되어, 예를 들어, 다양한 주파수로 동시에 전송 및 수신할 수 있게 한다. 본 발명의 통신 시스템(40)에서 마찬가지로 정보를 수신 및 송신할 수 있는 다른 통신 시스템 유닛(40')(나타내지 않음)은 통신 시스템(40)이 통신 전송 매체를 통해 메시지를 전송 및 수신하는 위치로부터 멀리 떨어져 위치된다.
수신 회로(42) 및 송신 회로(44)는 이산 논리, 마이크로프로세서/제어기(또는 기타 소프트웨어 실행 장치), 주문(custom) 또는 하이브리드 회로, 메모리 장치, 또는 본윈에 설명된 바와같은 다양한 논리 연산을 실행하기 위한 상기의 또는 그 외 다른 공지된 하드웨어에 의해 실시될 수 있다. 수신 회로(42) 및 송신 회로(44)의 여러개의 블록은 별개의 하드웨어 부품으로 실행될 필요는 없지만 단일 칩과 결합 또는 부품의 조합으로 이루어질 수 있다.
도 4는 본 발명의 송신 회로(44)의 실시예를 나타낸 개략적인 블록도를 나타낸다. 송신회로(44)는, 송신되는 데이터 비트(52)의 시퀀스 N1의 부분에 기초하여 다수의 결정 에러 검출 비트(El,...EN2)(53,53')를 발생하고, 전송하기 위해 메시지 비트 시퀀스(54)를 제공하도록 데이터 비트(52)내의 다수의 소정 위치에 결정 에러검출 비트를 산재시기는 에러 검출 비트 발생기(50) 또는 기타 에러 검출 비트 발생 수단을 포함한다. 이와 달리 에러 검출 비트 발생기(50)는 데이터 독립성이 있는 다수의 결정 에러 검출 비트를 발생할 수 있다. 송신 회로(44)는 또한 에러 검출 비트 발생기(50)에 응답하여 메시지 비트 시퀀스(54)를 부호화하는 에러 정정 부호기(56) 또는 기타 컨벌루션 부호화 수단을 포함한다. 송신 회로(44)는 또한 안테나(48) 또는 기타 송신 수단에 동작 가능하게 접속되어 에러 정정 부호기(56)에응답하여 에러 정정 부호기(56)에 의해 제공되는 부호화된 메시지 비트 시퀀스(패리티 비트)(57)를 송신하는 변조기(58)를 더 포함한다. 에러 정정 부호기(56)는 컨밸루션 부호기이기 때문에, 부호화된 비트는 상기 배경 기술 부분에서 설명된 바와 같이 일반적으로 패리티 비트로 명명된다. 변조기(58)의 출력은 통신 매체를 통한 전송하기 위해 안테나(48)에 제공된다.
본 발명은 패리리 비트의 순차적인 전송 및 데이터 비트의 순차적인 수신을 포함하여 본원에서 설명되지만, 본 발명의 장점은 또한 다중 비트 시퀀스의 병렬처리에 의해 얻어질 수 있음을 이해할 것이다. 예를 들어, 2 코드율에 대해 각각의 입력 시프트 메시지 비트를 위한 개별 주파수들로 동시에 2 패리티 비트 각각을 전송하는 것이 가능하다. 그러나, 메시지 비트율 보다 비례적으로 큰 전송 비트율을제공함으로써, 상기 배경 기술 부분에서 논의된 바와 같이 패리티 비트의 순차적인 전송을 제공하는 것이 바람직하다.
도 4를 다시 참조해 보면, 52로 나타낸 바와 같이 N1데이터 비트 시퀀스가 에러 검출 비트 제너레이터(5O)에 제공된다. 데이터 비트는 D1, D2,..., DN1의 시퀀스로 표현된다. 본원에서 설명된 바와 같이, 데이터 비트는 1 또는 0의 값을 가질수 있는 이진 비트이라고 생각할 수 있다. 그러나, 본 발명은 3진 또는 4진 심볼과 같은 이진 심볼이 아닌 심볼들을 사용하여 이루어 질 수 있다는 이점이 있다는 것을 알수 있을 것이다.
에러 검츨 비트 발생기(50)는 에러 검출 비트(53, 53')의 수 N2를 N1데이터 비트의 시퀀스로 산재시켜 메시지 비트 시퀀스(54)를 제공한다. 삽입된 N2에러 검출 비트(53, 53')는 E1,...EN2로 표현된다. 도 4에 도시된 바와 같이, 메시지(54)에서, 에러 검출 비트(53, 53')는 예를 들어, 도 4에 도시된 바와 같이 두 개의 데이터 비트마다 그 뒤에 규칙적인 패턴으로 삽입될 수 있다. 그러나, 에러 비트가 메시지(54)의 소정 위치에 삽입되는 한 에러 비트가 반드시 균일한 위치에 삽입될 필요는 없다.
삽입된 N2에러 검출 비트(53, 53')는 N1데이터 비트(52)의 부분 집합으로 작용하거나 N1데이터 비트(52) 또는 그 조합과는 관계 없을 수도 있다. 예를 들어, 에러 검출 비트(53, 53')는 모두 1, 모두 0, 또는 1들과 0들의 조합으로서 이루어질 수 있다. N2에러 검출 비트(53, 53')는 N1데이터 비트(52)의 부분집합의 함수일 수 있다. 도 4에 도시된 바와 같이, 에러 검출 비트 E1(53)는 데이터 비트 D1및 D2의 함수일 수 있다. 예를 들어, E1은 D1및 D2의 배타적 OR 함수로서 계산될 수 있다. 에러 검출 비트(53, 53')의 배치는 데이터 비트(52)의 함수에 따라 결정될 수 있다. 에러 검출 비트(53, 53')를 결정하는데 사용된 방법에 관계없이, 메시지(54)가 전송되는 통신 시스템(40)의 송신 회로(44) 및 통신 시스템(40')(도시되지 않음)의 수신 회로(42')(나타내지 않음)는 에러 검출 비트(53, 53')의 값을 결정하는 방법 및 그들의 배치 면에서 일치해야 한다.
또한, 본 발명은 데이터 내에 삽입된 단일 에러 검출 비트(53, 53')를 갖는 것으로서 도 4에 도시되어 있지만, 에러 검출 비트(53, 53')는 다른 배치점에 두 개 이상의 비트가 함께 삽입될 수도 있다는 것을 이해할 것이다. 또한, 상기에서 설명된 바와 같이, 에러 검출 비트(53, 53')가 데이터 비트(53)의 부분집합으로 기능하게 될 때, 데이터 종속 에러 검출 비트(53, 53')는 종속되는 데이터 비트(52)의 직후에(즉, E1은 메시지 비트 시퀀스(54)의 D1및 D2바로 뒤에 있다) 에러 정정부호기(56)에 제공되는 것으로 나타내어져 있고, 메시지 비트(54)가 본 발명의 장점을 얻기 위해 이것에 제공될 필요는 없다. 그러나, 본원에서 보다 상세하게 설명되는 바와 같이, 본 발명의 실시예에서, 또 하나의 장점은 도 4에서 도시된 바와 같이 종속되는 데이터 비트(52)를 따르는 에러 검출 비트(53, 53')를 제공함으로써얻어질 수 있다. N1+ N2메시지 비트(54)의 증가된 블록은 에러 정정 부호기(56)에 제공된다. 상기의 배경 기술 부분에서 설명된 바와 같이, 컨벌루션 부호화 처리는 사용된 컨벌루션 코드에 기초하여 전송하는 비트의 수를 확장시킨다. 예를 들어, 2코드율은 전송되는 비트의 수를 배가시킨다. N1데이터 비트(52)는 에러 정정 비트발생기(50)에 의해 N2에러 검출 비트(53, 53')만큼 증가되기 때문에, r 코드율은 무효화되지 않고, 전송을 위해 부호기(56)에 의해 발생되는 r(N1+ N2) 패리티 비트를 발생한다. 그러나, N1+ N2비트의 증가된 블록은 rN1/(N1+ N2) 비율의, 필요하다면 무효화되는 코드를 사용함으로써 rN1비트로 확장될 수 있다.
r이 단지 정수인 r 코드율을 사용할때 펑쳐링이 행해지거나, 또는 단지 정수비가 소망 수 보다 많은 rN1코드 비트를 발생시킨다. 이러한 경우에, N2에러 검출 비트(53, 53')에 의해 발생된 비트의 여분의 수는 rN2이다. 그러므로, rN2패리티 비트는 펑쳐링에 의해 제거될 수 있다. 모든 비트를 복호화한 후 거의 같은 에러 확률을 유지하기 위해서, 펑쳐링된 패리티 비트는 여분의 N2에러 검출 비트(53, 53')가 메시지(54)로 삽입되는 영역 부근에 위치되도록 선택될 수 있다. 따라서, 어떤 데이터 비트에 의존하는 몇몇 코드(패리티) 비트를 펑쳐링하지만, 이들 데이더 비트에 다른 방법으로 몇몇 비트(에러 김출 비트 53, 53')을 다시 부가하여 제거함으로써, 영향을 받은 데이터 비트에 대해 코드의 전체 성능이 유지될 수 있다.패리티 비트(57)는 에러 정정 부호기(56)에 의해 통신 전송 매체, 예컨대, 무선 채널을 통과하는데 적합한 형태로의 변환을 위해 변조기(58)에 제공된다.
도 5는 본 발명의 수신 회로(42)의 실시예를 나타낸 개략적인 블록도이다. 수신 회로(42)는 안테나(48)(도 3에 도시)에 동작 가능하게 접속되는 복조기(70)또는 통신 전송 매체(예를 들어, 무선 채널)를 통해 부호화된 메시지를 수신하기 위한 기타 수신 수단을 포함하여, 전송된 패리티 비트(71)의 추정치로서 수신된 부호화 메시지를 제공한다. 이러한 추정치는 패리티 비트가 각각 1 또는 0일 가능성에 대한 로그 추정치인 것이 바람직한 "하드(hard)" 판정(이진수 1들 또는 0들) 또는 "소프트(soft)" 판정일 수 있다.
하드(또는 소프트) 패리티 비트 정보는 복조기(70)에 응답하여 패리티 비트(71)의 추정치를 복호하기 위해 컨벌루션 복호기(72) 또는 다른 컨벌루션 복호화 수단으로 보내진다. 본원에서 설명되는 실시예에서, 컨벌루션 부호기(72)는 본원에서 설명된 것을 제외한 배경 기술 분야에서 설명된 것과 같은 부호기의 설명에 따라서 일반적으로 작동하는 비터비 SMLSE 컨벌루션 복호기이다.
수신 회로(42)는 또한 결정 에러 검출 비트(53, 53')의 소정 위치에 대응하는 수신된 부호화 메시지(패리티 비트의 추정치)(71)의 복호화된 비트와 에러 표시논리 회로(74)에 의해 발생된 예측 에러 검출 비트(나타내지 않음)의 비교를 토대로 에러를 표시하기 위해 컨벌루션 부호기(72)에 응답하는 에러 표시 논리 회로(74) 또는 다른 에러 표시 발생 수단을 포함한다. 에러는 불일치가 발생하는 경우를 표시하거나, 이와 달리 에러 카운트 또는 검출된 에러를 토대로 에러 표시를 발생하기 위한 어떤 다른 기준을 토대로 할 수 있다. 데이터 비트(52)의 부분 집합의 종속 가능으로서 발생되는 에러 검출 비트(53, 53')를 포함하는 본 발명의 실시예에서, 예측 에러 검출 비트는 데이터 비트를 포함하는 수신된 부호화 메시지(71)부분에 대응하는 수신된 부호화 메시지(71)의 복호화된 비트에 기초하여 발생된다. 에러 검출 비트(53, 53')가 데이터에 종속되지 않을 때, 에러 표시 논리 회로(74)는 메시지가 발생되는 전송 통신 시스템(40')(나타내지 않음)과 공유하는 에러 검출 비트(53, 53')의 동일한 패턴에 기초하여 각 소정 위치의 에러 검출 비트(53, 53')에 대한 예측값을 결정한다.
컨벌루션 복호기(72)는 도 2에 도시된 바와같이 공지된 비터비 SMLSE 복호기로서, 가정 비트 상태(34)를 저장하는 메모리, 가정 비트 상태(33)의 각각에 대한 선택 비트의 내력 및 가정 비트 상태(34)의 각각에 대한 신뢰도 또는 메트릭(35)을 포함할 수 있다. 컨벌루션 부호기(72)는 또한 부호기(38)의 카피 및 후보상태에 대한 가정 패리티 비트와 전송된 패리티 비트(71)의 수신 추정치를 비교하는 비교기(39)를 포함할 수 있다. 메트릭(35)은 가정 패리티 비트 및 패리티 비트의 수신 추정치 사이의 일치 및 불일치의 내력에 기초하여 각각의 가능한 상태를 위해 갱신된다.
본 발명의 방법에 대한 설명과 관련하여 보다 상세하게 후술되는 바와 같이,에러 표시 논리 회로(74)는 컨벌루션 복호기(72)로부터 복호화된 데이터 및 에러 검출 비트를 수신하고 에러 표시(76)를 발생한다. 도 5에 도시된 본 발명의 실시예에서, 에러 표시 논리 회로(74)는 또한 제한된 컨벌루션 부호기(80)에 동작 가능하게 접속된다. 패리티 비트 시퀀스(71)의 각 수신 추정치에 대해, 컨벌루션 복호기(72)는 N1+ N2비트 수신된 후보 메시지 비트 시퀀스(78)를 발생한다. 수신된 후보메시지 비트 시퀀스(78)는 전송된 Nl+ N2비트 메시지 비트 시퀀스(54)에 대응하는 컨벌루션 복호기(72)의 비터비 SMLSE 복호화 처리에서 존속하는 최적의 후보 시퀀스이다.
유사하게, 전송된 각각의 N1+ N2비트 메시지 비트 시퀀스(54)용의 제한된 컨벌루션 복호기(80)는 본 발명의 제한된 컨벌루션 복호화 처리로부터의 단일의 나머지 후보 메시지 결과를 나타내는 수신된 후보 메시지 비트 시퀀스(82)를 제공한다. 본 발명의 방법에 대한 설명으로부터, 수신 회로(42)는 컨벌루션 복호기(72) 및 제한된 컨벌루션 복호기(80)를 모두 포함할 수 있는 것을 알 수 있을 것이다. 또한, 수신 회로(42)는 컨벌루션 복호기(72) 또는 제한된 컨벌루션 복호기(80)만을포함할 수 있다.
도 5에 도시된 바와 같은 븐 발명의 실시예에서, 에러 표시(76) 및 수신 메시지 비트 시퀀스(82)는 선택 회로(84) 또는 다른 선택 수단에 제공된다. 만약 에러 표시(76)가 검출된 에러가 없음을 나타나면, 수신 메시지 비트 시퀀스(82)는 정확한 수신 메시지 비트 시퀀스(86)로서 선택된다. 정확한 수신 메시지 비트 시퀀스(86) 또는 제한된 컨벌루션 복호기(80)가 사용되지 않는 경우, 수신 메시지 비트 시퀀스(78)가 데이터 발생 회로(88) 또는 데이터 및 에러 검출 비트를 분리하기 위한 다른 수단에 제공되어 에러 표시(76)가 복호화된 수신 메시지에서 검출된에러가 없다는 것을 나타낼 때 출력 데이터(90)를 제공하도록 수신된 에러 검출 비트(E1...EN2)가 제거된다.
도 6을 참조해 보면, 본 발명의 실시예에 대한 동작을 나타내는 흐름도가 도시되어 있다. 하드웨어, 소프트웨어 또는 그것의 결합에 의해 동작이 실행되어 본 발명에 따른 시스템 및 방법이 제공된다. N1데이터 비트(52)의 사용자 제공 시퀀스에 대한 동작이 도 6에 나타나 있다. 블록(100)에서, 에러 검출 비트 발생기(50)는송신 통신 시스템 및 의도한 목표 수신 통신 시스템에 의해 공지된 소정의 기능을사용하여 제1 에러 검출 비트(53, 53')를 결정한다. 상술된 바와 같이, 블록(100)에서, 에러 검출 비트는 데이터에 독립적인 함수로서 또는 데이터 비트(52)의 부분집합에 종속하는 함수로서 결정될 수 있다.
에러 검출 비트가 데이터 종속되는 경우, 블록(100)에서의 동작은 데이터 비트의 대응하는 부분 집합의 소정 함수에 기초하여 제1 에러 검출 비트를 계산하는 단계를 포함한다. 블록(102)에서, 에러 검출 비트 발생기(50)는 소정 범위의 데이터 비트에 결정된 제1에러 검출 비트를 산재시켜 메시지 비트 시퀀스(54)를 제공한다.
상술된 바와 같이, 소정의 위치는 데이터 비트에 앞서 또는 종속되어 고정될 수 있다. 또한, 단일 비트가 산재되거나 두 개 이상의 비트가 메시지 비트 시퀀스(54) 내의 다수의 소정 위치에 산재될 수 있다. 어쨌든, 에러 검출 비트는 상기의 배경 기술 분야에서 설명된 종래 기술의 CRC 에러 검출 방법과 같이 데이터비트의 단부에 부가되기 보다는 데이터 비트 내에 산재된다.
메시지 비트 시퀀스(54)는 블록(104)에서 에러 정정 부호기(56)에 의해 컨벌루션 부호화되어 전송을 위해 부호화된 메시지를 나타내는 패리티 비트의 시퀀스를 제공한다. 블록(106)에서, 제공된 패리티 비트의 시퀀스는 변조기(58)에 의해 통신매체를 통해 전송하기 적당한 형태로 변환되어 안테나(48)를 통해 통신 매체로 전송된다.
블록(100)에서 블록(106)까지의 동작은 다른 통신 시스템(40')(도시되지 않음)으로 데이더를 전송하는 통신 시스템(40)의 송신 회로(44)에 의해 실행된다. 지금부터 설명되는 동작은 원격지의 통신 시스템(40')(도시되지 않음)에서 수신된 수신 부호화 메시지에 대해 통신 시스템(40)의 수신 회로(42)에 의해 실행될 수 있다. 본원에서 설명되는 바와 같이, 송신 블록(106)에서 송신된 부호화 메시지 패리티 비트에 작용하는 수신 단계는 일반적으로 통신 시스템(40')(도시되지 않음)의 수신 회로(42')(도시되지 않음)에 의해 수신되어 처리된다. 그러나, 본 발명의 시스템 소자에 대한 설명을 간략화하기 위해, 다음 단계들에 의해 처리되는 메시지는 통신 시스템(40)의 수신 회로(42)에 의해 수신된 메시지로서 설명될 것이다.
블록(108)에서, 수신 회로(42)의 복조기(70)는 통신 매체에서 전송된 패리티 비트(71)의 추정치를 안테나(48)를 통해 수신한다. 통신 매체가 패리티 비트가 블록(108)에서 수신되기 전에 블록(106)에 전송된 전송 패리티 비트에 영향을 줄 수 있는 잡음을 파생시킬 가능성이 있기 때문에, 블록(108)의 동작은 전송된 패리티 비트의 추정치를 수신하는 단계를 수반한다는 것을 이해해야 한다. 블록(110)에서,컨벌루션 부호기(72)는 전송된 패리티 비트(71)의 수신 추정치를 복호하여 메시지비트 시퀀스(54)에 대응하는 후보 비트 시퀀스(78)를 제공한다. 블록(110)의 동작은 SMLSE 비터비 알고리즘을 사용할 수 있다. 블록(112)에서, 에러 표시 논리 회로(74)는 블록(100)에서 제1 에러 검출 비트(53, 53')를 결정하는데 사용된 소정의 함수에 기초하여 블록(110)에서 발생된 복호된 비트로부터 제2 에러 검출 비트를 결정한다. 블록(112)은 컨벌루션 복호기(72)와 협력하여 에러 표시 논리 회로(74)에 의해 실행될 수 있다. 블록(100)에서 제1에러 검출 비트(53, 53')를 결정하기 위한 소정 함수가 전송되는 데이터의 부분 집합의 함수인 경우, 블록(112)의 동작은 블록(100)에서와 같이 데이터 비트 부분 집합의 동일한 소정 함수를 사용하여 데이터 비트를 포함하는 것으로 예측되는 위치에서 컨벌루션 부호기(72)에 의해 복호되는 비트로부터 제2에러 검출 비트를 계산하는 단계를 수반한다.
블록(114)에서, 수신 회로(42)는 제1 에러 검출 비트(53, 53')의 소정 위치에 대응하는 위치에 있는 블록(110)에 제공되는 복호된 비트와 블록(112)에서 결정된 제2 에러 검출 비트를 비교하여 에러 표시(76)를 제공한다. 예를 들어, 만약 어떤 불일치가 검출되면 블록(112)에서 에러가 표시될 수 있다. 블록(112)에서와 같이, 블록(114)은 에러표시 논리 회로(74) 및 컨벌루션 복호기(72)에 의해 실행된다.
상술된 바와 같이, 각각의 에러 검출 비트가 종속하는 데이터 비트의 부분집합은 에러 검출 비트 직전에 전송되는 것이 바람직하다. 이것은 본 발명의 실시예에 적합한데, 블록(112) 및 블록(114)은 블록(110)의 컨벌루션 복호화 동작 완료되기 전에 블록(114)이 에러를 표시할 수 있도록 제1 에러 검출 비트(53, 53')의 소정 위치에 대응하는 비트가 블록(110)에서 복호될 때는 언제나 실행될 수 있다. 이것은 데이터 전송 에러가 검출되는 즉시 복호화가 종료되도록 하여 통신 시스템(40)의 배터리 수명을 증가시킨다. 이것은 이동 셀룰러 전화와 같은 본 발명의 응용에 적당한 특징이며, 통신 시스템(40)은 배터리 전력에 대해 시간 주기를 연장시키기 위해 동작될 수 있다.
선택적으로, 본 발명의 실시예에서, 제한된 컨벌루션 복호기(80)는 에러 표시 논리 회로(74)와 협력하여 본 발명의 결정 상태 컨벌루션 복호화 처리를 사용하여, 블록(116)에서 전송된 패리티 비트(71)의 수신된 추정치의 제한 컨벌루션 복호화를 실행한다. 블록(116)에서의 동작은 블록(100)에서 제1 에러 검출 비트(53, 53')를 발생시키는데 사용된 소정 함수에 기초하여 복호화하는 동안 선택된 제1에러 검출 비트(53, 53')의 소정 위치에 대응하는 위치에 비트를 가지는 제2 후보 비트 시퀀스(82)를 제공한다. 소정 위치에서 비트는 전송된 패리티 비트의 수신 추정치에 적용된 제1에러 검출 비트를 결정하는 소정의 함수를 사용하여 계산된 값과 같게 제한된다.
도 7은 블록(116)의 제한 컨벌루션 복호화 동작의 실시예를 흐름도로 도시한 것이다. 블록(120)에서, 제한 컨벌루션 부호기(80)는 미결정 비트(즉, 데이터 비트와 같은)로서 제1 에러 검출 비트(53, 53')의 소정 위치에 대응하는 위치에서 비트를 복호한다. 블록(122)에서, 에러 표시 논리 회로(74)는 제한 컨벌루션 복호기(80)와 협력하여 블록(100)에서 사용된 데이터 비트의 부분 집합의 소정 함수를 사용하여 데이터 비트를 포함하는 것으로 예측되는 위치에 있는, 블록(110)에서 제한 컨벌루션 부호기(80)에 의해 제공되는 복호화된 비트로부터 제2에러 검출 비트를 계산한다.
도 7에 도시된 바와 같이, 제1 에러 검출 비트(53, 53')는 데이터 비트의 부분집합의 함수에 기초하여 결정된 데이터 종속 비트이다. 그러나, 본 발명은 데이터 비트의 부분 집합의 함수가 아닌 데이터 비트 내에 산재된 소정의 에러 검출 비트를 또한 포함한다는 것을 이해해야 한다. 데이터 독립 에러 검출 비트가 사용되는 경우에, 블록(122)에서의 동작은 블록(122)을 위헤 상기에서 설명된 바와 같이 데이터 비트의 부분 집합과 연관된 계산에 기초 할 필요 없이 블록(100)에서 사용된 제1 에러 검출 비트를 결정하기 위한 동일한 소정 함수를 토대로 제2 에러 검출 비트를 결정하는 단계를 포함한다.
블록(124)에서, 수신 회로(42)는 제1 에러 검출 비트(53, 53')의 소정 위치들 중 하나에 대응하는 위치에서 선택된 비트가 대웅하는 제2 에러 검출 비트의 계산된 값과 일치하지 않는 진행중인 복호화 시퀀스는 폐기한다. 이러한 방법으로, 제한 컨벌루션 부호기(80)는, 에러 정정 부호화 처리가 통신 시스템(40)에 전송된값으로 생각되는 결정 비트 위치에 대한 비트값을 선택하는 바람직한 경로로 제한 되는, 블록(116)에서 제1 후보 비트(82)를 제공한다.
그러나, 한 가지 제한은 블록(116)에서 제한 컨벌루션 부호화를 실행하는 제한 컨벌루션 부호기(80)가 데이터의 전송시 발생하는 정정할 수 없는 에러들을 갖는 메시지에 대해 동작할 수 있는가에 대한 것이다. 블록(116)에서, 최종 제2후 보비트 시퀀스(82)가 삽입된 에러 검출 비트에 대해 정확한 값을 취하도록 함으로써,최종 부호화된 시퀀스(82)는 부정확한 삽입 에러 검출 비트틀 마스킹하여 제거할 것이고, 그에 따라 전송시 표시된 에러를 마스킹 제거한다.
따라서, 블록(116)에서 선택적인 제한 컨벌루션 부호화 동작을 사용하는 본발명의 실시예인 블록(118)에서, 블록(116)으로부터의 제2후보 비트 시퀀스(82)는, 만약 블록(114)에서 에러가 표시되지 않는다면 수신된 메시지로 선택될 수 있다. 이와는 달리, 2개의 후보 비트 시퀀스가 동일한 것으로 예측되기 때문에 표시되는 에러가 없다면, 제1 후보 비트 시퀀스(78)가 수신 메시지로 선택될 수 있다. 만약 블록(114)에서 에러가 표시된다면, 제2 후보 비트 시퀀스(82)가 수신 메시지의 향상된 추정치를 제공하기 때문에 수신 메시지로 선택될 수 있다. 블록(114)은 블록(110)의 비제한적인 컨벌루션 부호화 출력에 응답하여 작동한다. 이러한 방법으로, 블록(116)에서 삽입된 에러 검출의 결정값으로 이득을 얻는 한편 통신시 정정될 수 없는 에러가 나타날때, 수신 통신 시스템(40)이 이러한 에러가 발생되었음을 판단할 수 있도록 에러 검출 표시 능력을 유지하는, 향상된 컨벌루션 복호화 출력이 제공될 수 있다.
본 발명의 또 다른 실시예가 도 8의 흐름도로 도시된다. 도 8에 도시된 실시예는 도 5에 나타낸 바와 같은 컨벌루션 부호기(72)뿐만 아니라 컨벌루션 복호기(80)를 가질 필요 없이 에러 검출 표시뿐만 아니라 본 발명의 제한 컨벌루션 복호화 방법의 장점을 제공한다. 블록(130)에서, 에러 검출 비트 발생기(50)는 데이터 비트의 부분 집합의 소정 함수로서 제1 에러 검출 비트(53, 53')를 계산한다.블록(132)에서, 에러 검출 비트 발생기(50)는 데이터 비트의 소정 위치에 제1 에러 검출 비트(53, 53')를 산재시켜 메시지 비트 시퀀스(54)를 제공한다. 블록(134)에서, 에러 정정 부호기(56)는 메시지(54)를 컨벌루션 부호화하여 전송을 위한 부호화 메시지를 나타내는 패리티 비트(57)를 게공한다. 블록(136)에서, 변조기(58)는 제공된 패리티 비트(57)를 안테나(48)를 통해 통신 매체에 의해 전송한다.
도 6과 관련된 방법의 설명에서와 같이, 송수신 동작은 일반적으로 통신 시스템(40) 및 원격지의 통신 시스템(40')(나타내지 않음) 사이에서 이루어진다는 것을 이해할 것이다. 그러나, 이미 설명된 블록도와 본원에서 설명되는 동작을 연관지어 설명할 목적으로, 수신측에서의 다음 동작이 통신 시스템(40)에 의해 수신된 메시지에 대해 설명될 것이다.
블록(138)에서, 수신 회로(42)는 안테나(48)를 통해 전송된 패리티 비트를 수신하고 복조기(70)는 그 비트를 복조하여 패리티 비트(71)의 추정치를 제공한다.블록(140)에서, 제한 컨벌루션 부호기(80)는 도 7과 관련하여 이미 설명된 결정 상태 컨벌루션 복호화 처리롤 사용하여 전송된 패리티 비트(71)의 추정치를 복호하여, 블록(130)의 데이터 비트의 부분 집합의 소정 함수를 사용하여 복호화하는 동안 선택된 제1에러 검출 비트(53, 53')의 소정 위치에 대응하는 위치에 비트를 갖는 후보 비트 시퀀스(82)를 제공한다.
그러나, 도 8에 도시된 본 발명의 실시예의 블록(142)에서, 블록(124)에서 어떤 복호 시퀀스가 폐기되는 횟수가 에러 표시를 제공하기 위해 평가된다. 다시말하면, 컨벌루션 복호화 처리의 결정 비트 제한이 비제한적인 컨벌루션 복호화 알고리즘의 선택된 복호화 시퀀스 경로가 되지 않도록 하는 판단을 행하는 횟수는 블록(140)에서의 복호화 동작이 "정정" 상태로 얼마나 많이 "풀 백(pul1ed back)"되는지의 표시를 제공한다. 복호화 처리가 제한에 의해 "풀 백"되어야만 하는 많은 경우는 블록(140)에서의 복호화 동작이 검출되어진 에러가 없다는 것을 표시하는 후보 비트 시퀀스를 선택하도록 함으로써 간단하게 마스킹되는 정정 불가능한 에러가 나타날 가능성을 나타낸다.
도 8은 에러 검출 비트(53, 53')가 데이터 비트의 부분집합의 데이터 종속함수인 경우의 제한 컨벌루션 복호기만을 사용하는 본 발명의 실시예를 나타내고 있지만, 도 6의 실시예에서와 같이, 소정의 에러 검출 비트(53, 53')가 데이터 종속형이 아닌 경우에도 유용하게 본 발명의 장점을 얻을 수 있다는 것을 이해할 것이다. 이러한 경우, 블록(130)에서의 동작은 단지 데이터 비트에 무관한 소정 함수로서 제1 에러 검출 비트(53, 53')를 결정하는 것을 포함한다. 또한, 블록(140)에서제한된 컨벌루션 복호화 동작은 데이터 독립형 소정 함수에 기초하고 데이터 비트의 부분 집합의 함수는 아니다.
도 8에 나타낸 본 발명의 방법 실시예에서, 부호화 처리에 따른 데이터 시퀀스만을 검사하도록 하는 부호기는 데이터를 전송하고 수신하기 위한 가장 에너지 효율성이 좋은 수단이다. 그럼에도 불구하고, 삽입된 여분의 비트는 적은 에너지 효율의 종래의 CRC 복호 방법이 사용될 때와 마찬가지로 에러 표시를 제공할 수 있다.
도면 및 명세서에서, 본 발명의 바람직한 실시예를 나타내었고, 본 발명의범위는 다음 청구범위에서 설명된다.

Claims (17)

  1. 전송을 위하여 부호화된 메시지를 나타내는 패리티 비트를 제공하도록 메시지를 컨벌루션적으로 부호화하는 단계와;
    통신 매체를 통해 패리티 비트를 전송하는 단계와;
    상기 통신 매체로부터 전송된 패리티 비트의 추정치를 수신하는 단계 및;
    상기 메시지에 대응하는 후보 비트 시퀀스를 제공하기 위하여 전송된 패리티비트의 추정치를 컨벌루션적으로 복호화하는 단계를 포함하는 데이터 비트의 블록을 통신시키는 방법에 있어서:
    소정의 함수를 사용하여 데이터 비트의 블록에 대해 제1 에러 검출 비트를 걸정하는 단계(100, 130)와;
    상기 메시지를 제공하기 위하여 데이터 비트 블록 내의 제1 에러 검출을 소정 위치에 산재시키는 단계(100, 132)와;
    상기 소정의 함수를 토대로 후보 비트 시퀀스로부터 제2 에러 검출 비트를 결정하는 단계(112, 122) 및;
    에러 표시를 제공하기 위하여 제1 에러 검출 비트의 소정 위치에 대응하는 위치의 후보 비트 시퀀스의 비트와 제2 에러 검출 비트를 비교하는 단계(114, 142)를 포함하는 데이터 비트 블록 통신 방법.
  2. 제 1항에 있어서,
    상기 제1 에러 검출 비트를 결정하는 단계는 소정의 데이터 독립 함수를 사용하여 데이터 비트의 블록에 대해 제1 에러 검출 비트를 결정하는 단계를 포함하는 것을 특징으로 하는 데이터 비트 블록 통신 방법.
  3. 제 1항에 있어서,
    상기 제1 에러 검출 비트를 결정하는 단계는 데이터 종속 제1에러 검출 비트를 제공하기 위하여 데이터 비트의 블록의 데이터 비트의 상이한 부분 집합의 소정함수로 각각의 제1 에러 검출 비트를 계산하는 단계를 포함하고, 상기 제2 에러 검출 비트를 결정하는 단계는 상기 제1 에러 검출 비트를 결정하는 단계에 의해 사용되는 바와 같은 데이터 비트 블록의 데이터 비트의 부분 집합의 동일한 소정 함수를 사용하여 데이터 비트를 포함하는 것으로 예측되는 위치의 후보 비트 시퀀스의비트로부터의 제2 에러 검출 비트를 계산하는 단계를 포함하는 것을 특징으로 하는데이터 비트 블록 통신 방법.
  4. 제 1항에 있어서,
    상기 제2 에러 검출 비트를 결정하는 단계 및 상기 비교 단계는 상기 컨벌루션적으로 복호화하는 단계가 완료되기 전에 에러 표시를 제공하기 위하여 제1 에러 검출 비트의 소정 위치에 대응하는 상기 컨벌루션적으로 복호화하는 단계에서 비트가 복호화될 때 실행되는 것을 특징으로 하는 데이터 비트 블록 통신 방법.
  5. 제 1항에 있어서;
    제1 에러 검출 비트의 소정 위치에 대응하는 위치의 비트가 전송된 패리티 비트의 수신된 추정치에 적용되는 상기 제1 에러 검출 비트 결정 단계의 소정 함수를 사용하여 계산된 값과 동일하게 되도록 제한되는 제2 후보 비트 시퀀스를 제공하기 위하여 상기 추정치를 제한 컨벌루션 복호화 단계(116, 140) 및;
    수신된 메시지로서 상기 제1 후보 비트 시퀀스 또는 상기 제2 후보 비트 시퀸스중 하나를 선택하는 단계(118, 124)를 더 포함하는 것을 특징으로 하는 데이터비트 블록 통신 방법.
  6. 제 5 항에 있어서,
    상기 선택 단계는 상기 비교 단계에서 에러가 표시되지 않는 경우 수신된 메시지로서 제1 후보 비트 시퀀스를 선택하고, 상기 비교 단계에서 에러가 표시되는경우 수신된 메시지로서 제2 후보 비트 시퀀스를 선택하는 단계를 포함하는 것을 특징으로 하는 데이터 비트 블록 통신 방법.
  7. 제 5 항에 있어서,
    상기 선택 단계는 상기 비교 단계에서 에러가 표시되지 않는 경우 수신된 메시지로서 제2 후보 비트 시퀀스를 선택하는 단계를, 포함하는 것을 특징으로 하는데이터 비트 블록 통신 방법.
  8. 제 1항에 있어서,
    상기 컨벌루션적으로 복호화 단계는 복호화될 메시지의 SMLSE 예측을 수행하는 단계를 포함하는 것을 특징으로 하는 데이터 비트 블록 통신 방법.
  9. 전송을 위하여 부호화된 메시지를 나타내는 패리티 비트를 제공하도록 메시지를 컨벌루션적으로 부호화하는 단계와;
    통신 매체를 통해 패리티 비트를 전송하는 단계와:
    상기 통신 매체로부터 전송된 패리티 비트의 추정치를 수신하는 단계를 포함하는 데이터 비트의 블록을 통신시키는 방법에 있어서,
    데이터 비트의 블록의 데이터 비트의 부분 집합의 소정 함수로서 제1 에러검출 비트를 계산하는 단계(100, 130)와;
    상기 메시지를 제공하기 위하여 데이터 비트 블록 내의 제1 에러 검출 비트를 소정 위치에 산재시기는 단계(102, 132) 및;
    상기 제1 에러 검출 비트의 소정 위치에 대응하는 위치의 비트가 전송된 패리티 비트의 수신된 추정치에 적용되는 상기 제1 에러 검출 비트 계산 단계의 데이터 비트 블록의 데이터 비트의 부분 집합의 소정 함수를 사용하여 계산된 값과 동일하게 되도록 제한되는 후보 비트 시퀀스를 제공하기 의하여 전송된 패리티 비트의 추정치를 제한 컨벌루션 복호화 단계를 포함하는 데이터 비트 블록 통신 방법.
  10. 제 9 항에 있어서,
    상기 제한 컨벌루션 복호화 단계는:
    미결정 데이터 비트로서 상기 제1 에러 검출 비트의 소정 위치에 대응하는 위치의 비트를 복호화하는 단계(120)와;
    상기 제1 에러 검출 비트 계산 단계의 데이터 비트 블록의 데이터 비트의 부분 집합의 소정 함수를 사용하여 데이터 비트를 포함하는 것으로 예측되는 위치의 후보 비트 시퀀스의 비트로부터 제2 에러 검출 비트를 계산하는 단계(122) 및;
    제1 에러 검출 비트의 소정 위치들 중 하나의 위치에 대응하는 위치에서 선택된 비트가 대응하는 제2 에러 검출 비트의 계산된 값과 일치하지 않는 임의의 복호화 시퀀스를 폐기하는 단계(124)를 포함하며,
    에러 표시를 제공하기 위하여 복호화 시퀀스가 폐기된 횟수를 평가하는 단계(142)롤 더 포함하는 것을 특징으로 하는 데이터 비트 블록 통신 방법.
  11. 전송을 위하여 부호화된 메시지를 나타내는 패리티 비트를 제공하도록 메시지를 컨벌루션적으로 부호화하는 단계와;
    통신 매체를 통해 패리티 비트를 전송하는 단계와;
    상기 통신 매체로부터 전송된 패리티 비트의 추정치를 수신하는 단계를 포함하는 데이터 비트 블록을 통신시기는 방법에 있어서;
    메시지를 제공하기 위하여 데이터 비트의 블록내의 소정의 비트를 이격된 소정의 위치에 산재시기는 단계(102, 132)와;
    소정 비트의 소정 위치들중 한 위치에 대응하는 위치의 선택된 비트가 대응하는 소정 비트의 상태와 일치하지 않는 임의의 복호화 시퀀스를 폐기함으로써 소정 비트의 소정 위치에 대응하는 위치에 상기 산재 단계로부터의 소정 비트의 상태로 제한되는 비트를 갖는 후보 비트 시퀀스를 제공하기 위하여 결정 상태 컨벌루션복호화 처리를 사용하여 전송된 패리티 비트의 추정치를 제한 컨벌루션 부호화하는 단계(116, 140)와;
    에러 표시를 제공하기 위하여 복호화 시퀀스가 폐기되는 횟수를 누산하는 단계(142)를 포함하는 것을 특징으로 하는 데이터 비트 블록 통신 방법.
  12. 메시지를 부호화하는 컨벌루션 부호화 수단, 상기 컨벌루션 부호화 수단에 응답하여 상기 부호화된 메시지를 전송하는 전송 수단(58), 부호화된 메시지를 수신하는 수신 수단(70) 및 상기 수신 수단에 응답하여 상기 수신된 부호화 메시지를복호화하는 컨벌루션 복호화 수단(72)을 구비하는 통신 시스템에 있어서,
    전송될 데이터 비트 블록의 부분을 토대로 다수의 결정 에러 검출 비트를 발생시키고 전송을 위한 메시지를 제공하기 위하여 상기 데이터 비트 블록 내의 상기결정 에러 검출 비트를 다수의 이격된 소정 위치에 산재시기는 에러 검출 비트 발생 수단(50) 및;
    상기 컨벌루션 복호화 수단(72)에 응답하여 결정 에러 검출 비트의 소정 위치에 대응하는 수신된 부호화 메시지의 복호화된 비트와 데이터 비트를 포함하는 수신된 부호화 메시지 부분에 대응하는 수신된 부호화 메시지의 복호화된 비트를 토대로 발생되는 예측 에러 검출 비트와의 비교를 토대로 에러 표시를 발생시키는에러표시 발생 수단(74)을 구비하며,
    상기 컨벌루션 부호화 수단(56)은 상기 에러 검출 비트 발생 수단에 응답하여 상기 메시지를 부호화하는 통신 시스템.
  13. 제 12 항에 있어서:
    상기 수신 수단(70)에 응답하여 결정 상태 컨벌루션 복호화 처리를 토대로 상기 수신된 부호화 메시지를 복호화하는 제한 컨벌루션 복호화 수단(80)을 더 구비하는데, 상기 제한 컨벌루션 복호화 수단은:
    데이터 비트를 포함하는 수신된 부호화 메시지 부분에 대응하는 수신된 부호화 메시지의 복호화된 비트를 토대로 발생된 예측 에러 검출 비트를 발생시키는 수단 및:
    결정 에러 검출 비트의 소정 위치들 중 하나의 위치에 대응하는 위치의 선택된 비트가 대응하는 예측 에러 검출 비트의 비트 값과 일치하지 않는 임의의 복호화 시퀀스를 폐기하는 수단(84)을 구비하는 것을 특징으로 하는 통신 시스템.
  14. 제 13 항에 있어서,
    상기 컨벌루션 복호화 알고리즘은 SMLSE 기술인 것을 특징으로 하는 통신 시스템.
  15. 제 14 항에 있어서,
    상기 복호기(72)는 가정 비트 상태, 상기 가정 비트 상태들의 각각에 대해 선택된 비트의 내력, 및 상기 가정 비트 상태의 각각에 대한 신뢰도를 저장하는 메모리를 구비하는 것을 특징으로 하는 통신 시스템.
  16. 메시지를 부호화하는 컨벌루션 부호화 수단, 상기 컨벌루션 부호화 수단에 응답하여 상기 부호화된 메시지를 전송하는 전송 수단(58), 부호화된 메시지를 수신하는 수신 수단(70) 및 상기 수신 수단에 응답하여 상기 수신된 부호화된 메시지를 복호화하는 컨벌루션 복호화 수단(72)을 구비하는 통신 시스템에 있어서,
    다수의 결정 에러 검출 비트를 발생시기고 전송을 위하여 메시지를 제공하도록 전송될 데이터 비트의 블록내의 상기 결정 에러 검출 비트를 다수의 이격된 소정 위치에 산재시기는 에러 검출 비트 발생 수단(50) 및;
    상기 컨벌루션 복호화 수단에 응답하여 결정 에러 검출 비트의 소정 위치에 대응하는 수신된 부호화 메시지의 복호화된 비트와 예측 에러 검출 비트값과의 비교를 토대로 에러 표시를 발생시키는 에러 표시 발생 수단(74)을 구비하며,
    상기 컨벌루션 부호화 수단(56)은 상기 에러 검출 비트 발생 수단에 응답하여 상기 메시지를 부호화하는 통신 시스템.
  17. 제 16 항에 있어서:
    상기 수신 수단(70)에 응답하여 결정 상대 컨벌루션 복호화 처리를 토대로 상기 수신된 부호화 메시지를 복호화하는 제한 컨벌루션 복호화 수단을 더 구비하는데,
    상기 제한 컨벌루션 복호화 수단은:
    결정 에러 검출 비트의 상기 소정 위치에 대응하는 위치에 대해 상기 결정 에러 검출 비트의 예측값을 토대로 예측되는 에러 검출 비트를 결정하는 수단과;
    결정 에러 검출 비트의 소정 위치들 중 하나에 대응하는 위치에서 선택된 비트가 대응하는 예측 에러 검출 비트의 비트 값과 일치하지 않는 임의의 복호화 시퀀스를 폐기하는 수단(84)올 구비하는 것을 특징으로 하는 통신 시스템.
KR1019980708863A 1996-05-03 1997-05-01 산재된에러검출비트를사용하는데이터통신시스템및방법 KR100341790B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US08/642,056 US5910182A (en) 1996-05-03 1996-05-03 Data communications systems and methods using interspersed error detection bits
US08/642,056 1996-05-03
PCT/US1997/007345 WO1997042716A1 (en) 1996-05-03 1997-05-01 Data communications systems and methods using interspersed error detection bits

Publications (2)

Publication Number Publication Date
KR20000010748A KR20000010748A (ko) 2000-02-25
KR100341790B1 true KR100341790B1 (ko) 2002-11-30

Family

ID=24574998

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019980708863A KR100341790B1 (ko) 1996-05-03 1997-05-01 산재된에러검출비트를사용하는데이터통신시스템및방법

Country Status (8)

Country Link
US (1) US5910182A (ko)
EP (1) EP0896764A1 (ko)
JP (1) JP2000509928A (ko)
KR (1) KR100341790B1 (ko)
CN (1) CN1130027C (ko)
AU (1) AU721475B2 (ko)
CA (1) CA2250510C (ko)
WO (1) WO1997042716A1 (ko)

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6347122B1 (en) * 1998-01-13 2002-02-12 Agere Systems Guardian Corp. Optimal complement punctured convolutional codes for use in digital audio broadcasting and other applications
US6430722B1 (en) * 1998-01-23 2002-08-06 Hughes Electronics Corporation Forward error correction scheme for data channels using universal turbo codes
US7536624B2 (en) * 2002-01-03 2009-05-19 The Directv Group, Inc. Sets of rate-compatible universal turbo codes nearly optimized over various rates and interleaver sizes
US6141391A (en) * 1998-02-04 2000-10-31 Lsi Logic Corporation System for improving the performance at low signal-to-noise ratios of receivers with Viterbi decoders
US6199190B1 (en) * 1998-02-11 2001-03-06 Conexant Systems, Inc. Convolution decoding terminated by an error detection block code with distributed parity bits
JP2002522943A (ja) * 1998-08-06 2002-07-23 サムスン エレクトロニクス カンパニー リミテッド 通信システムのチャネル符号/復号装置及び方法
JP3453122B2 (ja) * 1998-08-17 2003-10-06 ヒューズ・エレクトロニクス・コーポレーション 最適性能に近いターボコードインターリーバ
US6292919B1 (en) * 1998-08-25 2001-09-18 General Electric Company Methods and apparatus for exchanging data in an imaging system
WO2000013323A1 (en) 1998-08-27 2000-03-09 Hughes Electronics Corporation Method for a general turbo code trellis termination
WO2000065446A1 (en) * 1999-04-27 2000-11-02 Hughes Electronics Corporation A system and method employing a rate matching algorithm in a communication network
KR20010057145A (ko) * 1999-12-18 2001-07-04 윤종용 Xor 코드, 이를 이용한 직렬 연접 부호기 및 복호기
AU4106101A (en) * 2000-03-13 2001-09-24 Matsushita Electric Industrial Co., Ltd. Transmitting apparatus and gain compensating method
WO2001076075A1 (en) * 2000-03-31 2001-10-11 Koninklijke Philips Electronics N.V. Error correcting integrated circuit and method
US8656246B2 (en) * 2001-04-16 2014-02-18 Qualcomm Incorporated Method and an apparatus for use of codes in multicast transmission
GB2400001A (en) * 2003-03-27 2004-09-29 Tandberg Television Asa Constraining a Viterbi decoding trellis using known synchronisation bits
US7228485B1 (en) 2003-04-03 2007-06-05 Marvell International Ltd. Error correction using error detection codes
US7050817B2 (en) * 2003-04-24 2006-05-23 Locus Location Systems, Llc Locating method and system
US8345793B2 (en) * 2008-03-10 2013-01-01 Telefonaktiebolaget Lm Ericsson (Publ) Compensation of diagonal ISI in OFDM signals
JP4968146B2 (ja) * 2008-03-31 2012-07-04 ソニー株式会社 放送信号受信機およびその受信制御方法、並びにic
JP4922242B2 (ja) * 2008-06-05 2012-04-25 パナソニック株式会社 符号化装置、符号化方法、及びビタビ復号装置
US8352829B1 (en) * 2009-06-02 2013-01-08 Juniper Networks, Inc. Regeneration of a packet CRC
JP4660612B2 (ja) * 2009-07-09 2011-03-30 株式会社東芝 情報再生装置及び情報再生方法
US20190108366A1 (en) * 2010-01-28 2019-04-11 International Business Machines Corporation Secure data transmission utilizing distributed storage
US8649521B2 (en) 2010-01-28 2014-02-11 Cleversafe, Inc. Obfuscation of sequenced encoded data slices
JP2013046148A (ja) * 2011-08-23 2013-03-04 Tokai Rika Co Ltd 通信方法及び通信システム、送信装置及び受信装置、並びにタイヤ空気圧監視システム
EP3449573A1 (en) * 2016-04-29 2019-03-06 Telefonaktiebolaget LM Ericsson (PUBL) Polar code successive cancellation list decoding
CN111930727B (zh) * 2020-06-23 2023-04-28 宁波三星医疗电气股份有限公司 一种设备数据主动上报打点记录方法及数据补偿方法
US11580396B2 (en) 2020-10-13 2023-02-14 Aira Technologies, Inc. Systems and methods for artificial intelligence discovered codes
US11088784B1 (en) 2020-12-24 2021-08-10 Aira Technologies, Inc. Systems and methods for utilizing dynamic codes with neural networks
US11483109B2 (en) 2020-12-28 2022-10-25 Aira Technologies, Inc. Systems and methods for multi-device communication
US11575469B2 (en) 2020-12-28 2023-02-07 Aira Technologies, Inc. Multi-bit feedback protocol systems and methods
US11368251B1 (en) 2020-12-28 2022-06-21 Aira Technologies, Inc. Convergent multi-bit feedback system
US11191049B1 (en) 2020-12-28 2021-11-30 Aira Technologies, Inc. Systems and methods for improving wireless performance
US11477308B2 (en) 2020-12-28 2022-10-18 Aira Technologies, Inc. Adaptive payload extraction in wireless communications involving multi-access address packets
US11489624B2 (en) 2021-03-09 2022-11-01 Aira Technologies, Inc. Error correction in network packets using lookup tables
US11489623B2 (en) 2021-03-15 2022-11-01 Aira Technologies, Inc. Error correction in network packets
US11496242B2 (en) * 2021-03-15 2022-11-08 Aira Technologies, Inc. Fast cyclic redundancy check: utilizing linearity of cyclic redundancy check for accelerating correction of corrupted network packets

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3933822A1 (de) * 1989-10-10 1991-04-18 Deutsche Forsch Luft Raumfahrt Verfahren zum codieren und decodieren von binaeren daten sowie einrichtung zur durchfuehrung des verfahrens
GB2252702A (en) * 1991-01-15 1992-08-12 British Telecomm Channel coding for speech
US5349589A (en) * 1991-07-01 1994-09-20 Ericsson Ge Mobile Communications Inc. Generalized viterbi algorithm with tail-biting
IL118832A (en) * 1992-01-16 1998-03-10 Qualcomm Inc Method and device for data integration and transmission and overuse
US5577053A (en) * 1994-09-14 1996-11-19 Ericsson Inc. Method and apparatus for decoder optimization

Also Published As

Publication number Publication date
US5910182A (en) 1999-06-08
EP0896764A1 (en) 1999-02-17
CA2250510C (en) 2006-07-11
CA2250510A1 (en) 1997-11-13
JP2000509928A (ja) 2000-08-02
KR20000010748A (ko) 2000-02-25
WO1997042716A1 (en) 1997-11-13
CN1217838A (zh) 1999-05-26
AU721475B2 (en) 2000-07-06
CN1130027C (zh) 2003-12-03
AU2929997A (en) 1997-11-26

Similar Documents

Publication Publication Date Title
KR100341790B1 (ko) 산재된에러검출비트를사용하는데이터통신시스템및방법
JP3652701B2 (ja) デコーダ最適化方法及び装置
US5230003A (en) Decoding system for distinguishing different types of convolutionally-encoded signals
US6012160A (en) Method for protecting important data bits using less important data bits
EP1355430B1 (en) Error detection methods in wireless communication systems
US6484285B1 (en) Tailbiting decoder and method
JP3154679B2 (ja) 連接符号の誤り訂正復号装置及び復号方法
KR100554322B1 (ko) 복수의 코딩 버스트내에 배치된 crc 비트에 의해 종료 상태가결정되는 컨벌루셔널 디코딩
WO1996008895A9 (en) Method and apparatus for decoder optimization
EP3994799B1 (en) Iterative bit flip decoding based on symbol reliabilities
KR20120093536A (ko) 통신 시스템에서 복호화를 위한 장치 및 방법
EP0981863B1 (en) Method and apparatus for enhanced performance in a system employing convolutional decoding
KR100431162B1 (ko) 코드레이트 검출장치
JPH06188862A (ja) 情報ビット系列伝送システム
BATCHALA et al. Implementation of High Performance Convolutional Encoder and Viterbi Decoder
GB2377146A (en) Convolutional code decoder which applies the inverse of the encode matrix to the received data and only applies Viterbi decoding to sections with errors
JPH08251036A (ja) 誤り訂正復号方法

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
FPAY Annual fee payment

Payment date: 20080605

Year of fee payment: 7

LAPS Lapse due to unpaid annual fee