KR20010023315A - 연결 코드에서 순환 중복 검사를 선택하는 장치 및 방법 - Google Patents

연결 코드에서 순환 중복 검사를 선택하는 장치 및 방법 Download PDF

Info

Publication number
KR20010023315A
KR20010023315A KR1020007001950A KR20007001950A KR20010023315A KR 20010023315 A KR20010023315 A KR 20010023315A KR 1020007001950 A KR1020007001950 A KR 1020007001950A KR 20007001950 A KR20007001950 A KR 20007001950A KR 20010023315 A KR20010023315 A KR 20010023315A
Authority
KR
South Korea
Prior art keywords
crc
code
distance
generator
selecting
Prior art date
Application number
KR1020007001950A
Other languages
English (en)
Inventor
제레미 엠. 스타인
Original Assignee
러셀 비. 밀러
콸콤 인코포레이티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 러셀 비. 밀러, 콸콤 인코포레이티드 filed Critical 러셀 비. 밀러
Publication of KR20010023315A publication Critical patent/KR20010023315A/ko

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • 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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/09Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit
    • 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/47Error detection, forward error correction or error protection, not provided for in groups H03M13/01 - H03M13/37

Landscapes

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

Abstract

본 발명은 CRC 코드와 콘벌루션 코드를 포함하는 연결 코드를 이용하는 선형 코딩된 시스템용의 CRC 다항식(또는 CRC 제너레이터)을 선택하기 위한 방법 및 장치에 관한 것이다. CRC 제너레이터는 주어진 길이(L)를 가진 모든 가능한 CRC 제너레이터에 대해 계산(106)된 거리 스펙트럼을 기초로 선택된다(118). 거리 스펙트럼은 여러 가중치(또는 해밍 거리)에서의 경로들(또는 코드 워드들)의 갯수에 대한 리스팅을 포함한다. 이 경로들은 모두 제로 전송된 정보 시퀀스(I(x))로부터 분기되고 제로 상태로 다시 병합되는 에러 정보 시퀀스(I(x))를 나타낸다. 만일 CRC 체크가 통과되면, 에러 시퀀스가 CRC 체크에 의해 비검출되었음을 지시하고, 이 경로의 가중치는 계산되며 이 CRC 제너레이터에 대한 거리 스펙트럼은 업데이트된다. 그렇지 않고 만일 CRC가 체크되지 않았다면, 경로는 무시된다. 최소 거리(dmin)를 가진 CRC 제너레이터가 선택된다(118).

Description

연결 코드에서 순환 중복 검사를 선택하는 장치 및 방법 {A METHOD OF AND APPARATUS FOR SELECTING CYCLIC REDUNDANCY CHECK GENERATORS IN A CONCATENATED CODE}
디지털 통신의 출현과 손상되고 대역 제한된 채널을 통하여 다량의 데이타를 전송하기 위한 필요에 따라, 정확한 데이타 수신을 위한 디지털 데이타의 코딩의 필요성은 매우 중요하다. 데이타 전송은 전형적으로 전송 채널의 손상, 즉, 전송 대역폭 내의 추가 노이즈와 가신호에 의해 방해를 받는다. 전송 전력은 실제적인 고려(consideration)에 의해 제한되며 전송된 신호는 경로 손실에 의해 감소하며 전송 신호가 수신기에 도착하기 전에 다중 경로 신호 전파와 같은 다른 현상에 의해 왜곡된다. 디지털 통신 시스템의 설계는 수신기가 동작하기를 기대하는 최악의 경우의 신호 품질에 대한 결정을 수반한다. 이 신호 품질은 노이즈 비율에 대한 비트당 에너지(Eb/No)로 측정되며 전송 전력, 경로 손실, 노이즈 및 간섭에 의해 결정된다. 바람직한 성능 레벨을 산출하는 최소 Eb/No에서 시스템 임계 레벨이 고려된다.
임계 레벨에서, 바이너리 쉬프트 키잉(BPSK), 쿼터너리 페이즈 쉬프트 키잉(QPSK), 오프셋 쿼터너리 페이즈 쉬프트 키잉(OQPSK), 또는 쿼드러처 진폭 변조(QAM)와 같은 임의의 디지털 전송 계획이 계산될 수 있다. 전형적으로, 선택된 전송 계획의 PE는 이 기술에 적합하지 않다. PE 에서의 개선점은 수신기에 데이타가 전송되고 디코딩되기 전에 디지털 데이타를 인코딩함으로써 달성된다. 코딩 계획은 상기 기술과 채널 특성의 필요에 의해 결정된다. 코딩에 의해 낮은 유효 데이타율을 희생하여 전송된 데이타의 에러를 검출하고 수정할 수 있다. 두계층 코드, 콘벌루션 코드, 블록 코드가 PE를 개선하는데 이용된다. 콘벌루션 코드는 효과적인 에러 수정 가능성을 제공하지만 전형적으로 상관 버스트 에러를 출력한다. 또한, Viterbi(비터비) 디코더는 하드웨어 복잡도의 극소 증가에 따른 성능을 개선하기 위해 소프트 결정의 사용을 지원한다. 블록 코드는 CRC 코드와 같은 에러 검출일 수 있거나 또는 리드-솔로몬(Reed-Solomon) 코드와 같은 에러 검출 및 수정 코드일 수 있다. CRC 코드는 CRC 코드에 의해 제공되는 성능과 디코더를 실행하는데 대한 단순함에 의해 많은 통신 시스템에서 이용된다. 단일 코드가 필요한 성능의 레벨을 제공할 수 없을 때, 두개 이상의 코드를 포함하는 연결 코드가 사용될 수 있다. 콘벌루션 코드와 CRC 코드를 포함하는 연결 코드를 이용하는 통신의 일 예는 "SPREAD SPECTRUM MULTIPLE ACCESS COMMUNICATION SYSTEM USING SATELLITE OR TERRESTRIAL REPEATERS"로 표제된 미국 특허 번호 제 4,901,307 호와 "SYSTEM AND METHOD FOR GENERATING WAVEFORMS IN A CDMA CELLULAR TELEPHONE SYSTEM"으로 표제된 미국 특허 번호 제 5,103,459 호에 개시되어 있으며, 본 발명의 양수인에게 양도되고, 본 명세서에서 상호 참조된다.
비율 1/N 콘벌루션 인코더는 N 세트 제너레이터 다항식에 따라 코드 분기로 불리는 N 코드 비트들로 각각의 입력 비트를 인코딩한다. 각각의 제너레이터 다항식(G(x))은 하나의 코드 비트를 계산한다. N 코드 비트들은 N-비트 코드 분기로 결합된다. 인코더의 제한 길이(K)는 인코딩 처리에 사용된 데이타 비트의 갯수이며 코드의 에러 수정 성능을 결정한다. 긴 제한 길이(K)는 하드웨어와 계산 복잡도를 희생하여 더 나은 성능을 가져온다. 상태는 K-1 이전 입력 비트들에 의해 지정되며 2K-1가능 상태가 존재한다. 각각의 2K-1상태에 대해, '0' 또는 '1' 입력 비트는 두개의 가능 코드 분기중 하나가 된다. 각각의 입력 비트는 N 코드 비트로 인코딩되기 때문에, 콘벌루션 인코더에 대한 코드율은 1/N이다. 다른 코드율은 코드 비트를 펀처링(puncturing)함으로서 1/N 코드로부터 얻을 수 있다. 펀처링된 코드는 1979년 1월, 정보 이론에 관한 IEEE 회보, IT-25, pgs. 97-100, "Punctured Convolutional Codes of Rate(n-1)/n and Simplified Maximum Likelihood Decoding"에서 J.Cain, G.Clark, J.Geist에 의해 자세히 설명된다.
전형적으로, Viterbi 디코더는 수신기에서 전송된 코드 분기를 디코딩하기 위해 사용된다. Viterbi 디코더의 이론과 동작에 대한 설명은 1971년 8월, 통신 기술에 관한 IEEE 회보, Vol. COM19, no.5, pgs.821-835, A. Viterbi에 의한 "Convolutional Codes and Their Performance in Communication Systems" 논문에 포함된다. 채널 노이즈에 대한 가정하에, Viterbi 디코더는 전송된 데이타 경로의 최대 가능 디코딩을 수행한다. 각각의 수신된 코드 분기에 대해, 각각의 상태로 진입하는 모든 분기의 분기 메트릭이 계산되며 대응되는 이전 경로 메트릭에 추가된다. 각각의 상태로 진입하는 최상의 경로가 선택되며 새로운 경로 메트릭으로 저장된다. 선택된 경로는 경로 메모리에 저장된다. "Development of Variable Rate Viterbi Decoder and its Performance Characteristics", Sixth International Conference on Digital Satellite Communications, Phoenix, AZ, Sept. 1983, Y.Yasuda et al을 살펴보면 최저 경로 메트릭을 가진 서바이버(survivor) 경로는 모두 특정 체인 백 깊이(chain back depth) 다음에 동일 경로로 병합된다. 그로므로, Viterbi 디코딩된 비트는 적어도 체인 백 거리에 의한 경로를 역추적함으로서 얻을 수 있다.
CRC 코드는 길이 n-k 이하의 버스트 에러를 신뢰성있게 검출할 수 있는 선형이며, 조직적이고 순환되는 블록 코드이다. 여기에서 k는 입력 데이타 길이이며 n은 출력 코드 길이이다. CRC 코딩은 기술상 공지되어 있으며 그에 대한 효과적인 설명은 "Error Control Coding : Fundamentals and Applications" by S.Lin and D.Costello", Prentice Hall, 1985.을 포함하는 다수의 참조 문헌에서 발견된다. CRC 코드는 n-k로 구성된 CRC 다항식(P(x))에 의해 결정된다. n-k CRC 코드의 경우, k 데이타 심볼의 블록은 코드 워드로 불리는 n 코드 심볼의 블록으로 인코딩된다.
조직적인 블록 코드에서, k 데이타 심볼은 코드 워드의 제 1 k 코드 심볼을 형성한다. n-k 패리티 심볼은 제너레이터 다항식(P(x))에 따라 k 데이타 심볼의 선형 결합에 의해 형성된다. CRC 모드의 선형적, 조직적, 순환적 특성으로 인해, 인코딩 과정은 단순한 쉬프트 레지스터와 조합 논리로 쉽게 달성된다. 유사하게, 디코딩은 제너레이터 다항식으로 수신된 심볼을 나눔으로서 수신기에서 쉽게 실행된다. 패리티 심볼을 생성하는데 사용되는 동일한 단순 회로에 의해 나눌 수 있다. 만일 전송 에러가 없다면, 쉬프트 레지스터의 콘텐트는 제로이다.
CDMA 통신 시스템의 일 예에서, 콘벌루션 코드와 CRC 코드는 "TIA/EIA/IS-95 Mobile Station-Base Station Compatibility Standard for Dual-Mode Wideband Spread Spectrum Cellular System"에 의해 결정되며, 이하 IS-95로 참조된다. IS-95에 의해 지정된 콘벌루션 코드는 포워드 링크에 대한 최적 비율 1/2, K=9 콘벌루션 코드이며 리버스 링크에 대한 비율 1/3, K=9 콘벌루션 코드이다. 그러나, IS-95 표준에 지정된 CRC 코드는 입력 데이타가 랜덤(예를 들면 화이트 노이즈)이라는 가정하에 선택된다. 그러나, 이 가정은 CDMA 통신 시스템에 사용된 연결 코드에 대해 유효하지 않고 부분적으로 최적화된 CRC 코드를 초래한다.
본 발명은 연결 코드에서 순환 중복 검사(CRC) 제너레이터를 선택하는 장치 및 방법에 관한것이다. 본 발명은 선형 코딩된 시스템에 대한 CRC 다항식을 선택하는 데 사용될 수 있다.
도 1은 본 발명을 구현하는 선형 코딩된 시스템의 일 예의 블록 다이아그램이다.
도 2는 콘벌루션 인코더의 일 예의 블록 다이아그램이다.
도 3은 거리 스펙트럼(distance spectrum)의 계산에 사용되는 정보 시퀀스 I(x)의 트리 다이아그램의 일 예이다.
도 4는 CRC 제너레이터 선택 과정의 흐름도의 일 예이다.
도 5는 최상의 CRC 제너레이터 선택 과정의 흐름도의 일 예이다.
본 발명은 선형 코딩된 시스템에 대한 CRC 다항식(CRC 제너레이터)를 선택하는 새롭고 개선된 방법을 제공하는 것이다.
본 발명의 일 측면에서는 주어진 길이를 가진 모든 CRC 제너레이터에 대한 거리 스펙트럼을 계산하고 상기 거리 스펙트럼으로부터 최적 CRC 제너레이터 선택하는 단계를 포함하는 연결 코드의 CRC 제너레이터르 선택하는 방법이 제공된다.
본 발명의 다른 측면에서는 주어진 길이를 가진 모든 CRC 제너레이터에 대한 거리 스펙트럼을 계산하는 방법 및 상기 거리 스펙트럼으로부터 최적의 CRC 제너레이터를 선택하는 방법을 포함하는 장치, 즉, 연결 코드의 CRC 제너레이터를 선택하는 장치를 제공한다.
본 발명은 CRC 코드와 콘벌루션 코드를 포함하는 연결 코드를 이용하여 순환 중복 검사(CRC) 다항식을 선택하는 선형 코딩된 시스템을 제공하는데, 상기 시스템은 주어진 길이(L)를 가진 모든 가능한 CRC 다항식에 대한 거리 스펙트럼을 결정하는 수단과 CRC 다항식을 체킹함으로써 거리 스펙트럼을 결정하는데 기초하여 CRC 다항식을 선택하는 수단을 포함하며, 상기 거리 스펙트럼은 각각 모두 제로로 전송된 시퀀스로부터 분기되고 제로 상태로 다시 병합되는 에러 정보 시퀀스를 나타내는 다양한 가중치에서의 경로의 갯수의 리스팅을 포함하며, 만일 CRC 체크가 통과되면 상기 경로의 가중치는 계산되고 통과된 CRC 다항식에 대한 거리 스펙트럼은 업데이트되고 만일 CRC 체크가 통과되지 않는다면 경로는 무시되며 최소 거리를 가진 CRC 다항식이 선택된다.
이하 설명되는 실시예에서, 시스템은 CRC 코드와 콘벌루션 코드를 포함하는 연결 코드를 이용한다. CRC 제너레이터는 주어진 길이(L)를 가진 모든 CRC 제너레이터에 대해 계산된 거리 스펙트럼에 기초하여 선택된다. 각각의 거리 스펙트럼은 여러 가중치(또는 해밍 거리)에서 경로(또는 코드 워드)의 갯수의 리스팅을 포함한다. 가중치는 코드의 에러 검출과 수정 가능성을 결정한다. 실시예에서, 콘벌루션 코드의 자유 거리(dfree)이상과 dfree의 두배 이하인 가중치를 가진 경로들만 고려된다. dfree의 두배 이상인 가중치를 가진 경로는 복잡도를 최소화하기 위해 무시되며 이는 코드의 성능면에서 무시할만한 효과를 가지기 때문이다.
본 발명은 CRC 코드와 콘벌루션 코드를 포함하는 연결 코드에서 비검출된 에러의 가능성을 최소화하기 위한 것이다. 실시예에서, 거리 스펙트럼은 여러 가중치에서의 경로의 갯수를 포함한다. 이 경로들은 전송된 모두 제로인 시퀀스(또는 제로 상태)로부터 분기되고 제로 상태로 다시 병합되는 에러 정보 시퀀스(I(x))를 나타낸다. 정보 시퀀스(I(x))를 생성하는 조직적인 방법과 정보 시퀀스(I(x))에 대응되는 코드 워드의 가중치에 대한 계산은 이하 설명되는 참조 문헌에 개시되어 있다. 본 발명에서, 제로 상태로 다시 병합되는 에러 정보 시퀀스(I(x))는 CRC 제너레이터에 의해 체킹된다. 각각의 CRC 제너레이터에 대해, 만일 CRC 체크가 통과되면, 이 경로의 가중치는 계산되고 CRC 제너레이터에 대한 거리 스펙트럼은 이 가중치의 경로의 갯수를 증가시킴으로써 업데이트된다. 그렇지 않고 만일 CRC가 체크되지 않는다면, 상기 에러 정보 시퀀스는 CRC 체크가 에러를 검출할 수 없기 때문에 무시된다. 일 실시예에서, 최소 거리(dmin)를 가진 CRC 제너레이터가 선택된다. 만일 하나 이상의 CRC 제너레이터가 동일한 최저 dmin을 가진다면, 최저dmin에서의 최저 경로 갯수를 가진 CRC 제너레이터가 선택된다.
본 발명은 또한 CRC 코드 선택 과정의 복잡도를 최소화하기 위한 것이다. 일 실시예에서, dfree의 두배 이상의 가중치를 가진 경로는 코드의 성능에 큰 영향을 끼치지 않기 때문에 고려되지 않는다. 고려되는 가중치의 범위를 제한함으로써, 정보 시퀀스(I(x))의 트렐리스는 복잡도를 최소화하기 위해 제거된다.
본 발명은 도면을 참조로 이하에서 상세히 설명된다.
본 발명은 CRC 크드와 추가 코드를 포함하는 연결 코드에 대한 CRC 다항식(또는 CRC 제너레이터)를 선택하는 방법으로 구현된다. 실시예에서, 연결 코드는 CRC 코드와 콘벌루션 코드를 포함한다. IS-95 표준과 같은 종래 기술에서, CRC 제너레이터는 CRC 체크가 에러를 검출했을 때 디코딩된 데이타가 랜덤이 되는 것을 가정하여 선택된다. 그러나, 연결 코드의 경우, 데이타가 알려진 구조를 가진 콘벌루션 코드로 인코딩되기 때문에 유효한 가정이 아니다. 최적 CRC 제너레이터는 고성능을 제공하며 동시에 비검출 디코딩 에러의 가능성을 최소화한다. 상기 명세서와 마찬가지로, 최적 CRC 제너레이터는 CRC 제너레이터 선택 과정에 사용된 기준에 기초한 선택된 CRC 제너레이터를 나타낸다.
연결 코드를 이용하는 통신 시스템의 일 예의 블록 다이아그램은 도 1에 도시되어 있다. 정보 시퀀스(I(x))는 CRC 인코더(10)에 제공되며, 그 블록은 정보 시퀀스를 CRC 제너레이터(P(x))로 인코딩한다. 정보 시퀀스, CRC 패러티 피트, 제로 이상의 코드 테일 비트들은 이 비트들을 제너레이터(G(x))로 인코딩하는 콘벌루션 인코더(12)에 제공된다. 콘벌루션 인코더(12)의 코드 심볼들은 안테나(16)를 거쳐 전송용 심볼들을 처리하는 변조기와 전송기(MOD 와 TMTR)에 제공된다. 수신기에서, 신호는 안테나(20)에 의해 수신되고, 복조된 심볼들을 제공하기 위해 수신된 신호를 처리하는 수신기와 복조기(RCVR 와 DEMOD)로 경로 설정된다. 복조 심볼들은 심볼들을 디코딩하며 디코딩된 데이타를 CRC 체크 엘리멘트(26)에 제공하는 Viterbi 디코더(24)에 제공된다. CRC 체크 엘리멘트(26)는 CRC 체크를 수행하고 체킹된 데이타를 제공한다. CRC 체크 엘리멘트(26)는 또한 CRC 체크가 통과 또는 실패했는지를 지시하는 CRC 비트를 제공한다.
주어진 길이(L)를 가진 최적 CRC 제너레이터(P(x))는 모든 CRC 제너레이터에 대해 거리 스펙트럼을 계산함으로써 주어진 연결 코드에 대해서 결정될 수 있다. 거리 스펙트럼은 여러 가중치(또는 해밍 거리(Hamming distance))를 가진 다수의 경로(또는 코드 워드)의 리스팅을 포함한다. 해밍 거리는 두 경로들 간의 거리의 측정이며 에러 검출과 코드의 수정 가능성을 결정한다. 실시예에서, 거리 스펙트럼은 콘벌루션 코드의 자유 거리(dfree)이상의 가중치와 dfree의 두배 이하인 가중치를 가진 다수의 경로를 도표로 작성한다. dfree의 두배 이상인 가중치를 경로들은 코드의 수행에 있어 무시할 만한 효과를 가지기 때문에 무시된다. 고려되는 가중치들의 범위에 대한 제한에 의해 거리 스펙트럼의 계산중에 트렐리스(trellis)는 제거되며, 이에 따라 복잡한 CRC 제너레이터 선택 과정을 최소화한다.
실시예에서, 전송 시스템은 모두 제로인 시퀀스 - 이하 모두 제로인 경로로 참조 - 를 전송하는 것으로 가정할 수 있다. 전송하는 동안, 수신된 시퀀스가 제로 상태로부터 분기하는 전송 에러가 발생할 수 있다. 결국, 에러가 종결되고 수신된 시퀀스는 젤 상태로 다시 합변된다. 본 발명에서, CRC 코드에 의해 검출될 수 있는 에러 시퀀스들은 프레임 삭제가 지시되거나 전송에 대한 요청이 에러 수신 시퀀스에 대응하는 프레임으로 보내질 수 있기 때문에 도표로 작성되지 않는다. 그러나, CRC 코드에 의해 검출되지 않는 에러 시퀀스(예를 들면, CRC 코드는 실제적으로 에러가 발생되었을 때 에러 시퀀스를 유효하다고 지시한다.)는 시스템의 성능의 퇴보를 유발시킨다.
CRC 코드와 콘벌루션 코드는 모두 선형이기 때문에, 코드 발생에 대한 메트릭스를 곱하는 특성과 관련하여, 연결 코드 또한 선형이다. 선형 코드들에 대한 일반적인 평가 기준은 코드의 자유 거리(dfree(또는 최소 거리(dmin))이며 코드의 거리 스펙트럼이다. 연결 코드는 선형이기 때문에, dmin은 논-제로 코드 워드들의 최소 가중치를 계산함으로써 결정될 수 있다. 선형 코드의 경우, 경로들에 대한 가중치는 경로들과 모두 제로인 경로를 비교함으로써 결정될 수 있다. 콘벌루션 코드의 경우, 모두 제로인 경로는 모두 제로인 코드 브랜치를 포함한다. 그러므로, 논-제로 경로들의 가중치는 경로를 따르는 모든 코드 비트들의 가중치를 합침으로써 계산될 수 있다. 본 명세서에 사용된 바와 같이, dfree는 단지 콘벌루션 코드의 최소 거리이며 dmin은 CRC 체크로 검출되지 않는 에로 또는 연결 코드의 최소 거리이다.
실시예에서, 한개의 에러 이벤트를 가진 경로들이 고려된다. 두개 이상의 에러 이벤트를 가진 경로들은 검색시 복잡도를 크게 증가시키고 CRC 제너레이터 선택 과정의 결과에 거의 영향을 미치지 않기 때문에 고려되지 않는다. 논-제로 경로들은 제로 상태로부터 분기한 다음 제로 상태로 병합되는 에러 정보 시퀀스(I(x))이다. 만일 경로가 제로 상태로 병합되면, CRC 체크가 수행된다. 만일 CRC 체크가 통과되고, 어떤 에러 정보 시퀀스도 CRC 제너레이터에 의해 검출되지 않았다는 것을 지시한다면, 이 경로의 가중치는 계산되며 이 CRC 제너레이터의 거리 스펙트럼은 그에 따라서 업데이트된다. 또한, CRC 체크가 실패한다면, 이 경로는 거리 스펙트럼 계산에서 무시된다. 이 방법은 1970년 11월, 정보 이론에 관한 IEEE 회보, vol. IT-16, pgs. 793-795, G. David Forney Jr.의 "Use of a Sequential Decoder to Analyze Convolutional Code Structure" 로 표제된 참조 문헌에 개시되어 있으며 이하 Forney 참조 문헌으로 기술된다.
콘벌루션 인코더(12)의 일 예에 대한 블록 다이아그램이 도 2에 도시되어 있다. 콘벌루션 인코더(12)는 노드(44a,44b)에서 샘플링된 두개의 코딩된 출력 비트들이 존재하는 데이타 입력 비트에 대한 제한 길이(K=3), 비율 1/2 인코더이다. 콘벌루션 인코더(12)는 다항식 발생기(G1(x)=1+X+X2및 G2(x)=1+X2)에 의해 규정된다. 인코더의 상태는 메모리 엘리멘트(D;40a,40b)의 바이너리 콘텐트들에 의해 규정된다. 제로 상태는 메모리 엘리멘트(D;40a,40b)의 바이너리 콘텐트들이 제로임을 의미한다. 인코더의 다음 상태는 데이타 입력 비트를 메모리 엘리멘트(40a)로 쉬프트하고 메모리 엘리멘트(40a)의 이전 콘텐트를 메모리 엘리멘트(40b)로 쉬프트함으로써 획득할 수 있다. 코딩된 출력들은 도 2의 가산기(42)로 실행되는 XOR 함수에 의해 계산된다.
실시예에서, 거리 스펙트럼들은 모든 정보 시퀀스(I(x))를 사용하여 주어진 길이를 가진 모든 CRC 제너레이터에 대해 계산된다. 정보 시퀀스(I(x))의 조직적인 발생에 대한 방법은 Forney 참조 문헌에 자세히 개시되어 있다. I(x)는 도 3에 도시된 트렐리스 트리 다이아그램에 의해 표현될 수 있다. 이 트리는 도 2의 콘벌루션 인코더(12)의 예와 대응된다. I(x)의 제 1 정보 비트는 제로 상태로부터 분기된 경로들만이 고려되기 때문에 하나로 가정한다. 제 2 정보 비트는 제로 또는 하나일 수 있다. 각각의 가정(예를 들면, "0"과 "1")에 대해, 코드 비트들이 계산되며, 다음 상태가 결정된다. 도 3에서, "0"의 가정은 대시로 표현되며 "1"의 가정은 점선으로 표현된다. 상태는 노드에 존재한다. 라인들의 중간에서 코드 비트들은 정보 비트(가정)와 상태에 일치하여 도시된다. 제 2 정보 비트에 대한 각각 두개의 가정에 대해, 제 3 정보 비트는 두개의 가정("0"과 "1")중 하나일 수 있다. 또한, 코드 비트들은 각각의 가정에 대해 계산되고 다음 상태가 결정된다. 각 경로의 누적 가중치는 경로를 따라 논 제로 비트들을 함침으로써 계산될 수 있다. 도 3에서, 경로들의 가중치가 계산되고 괄호안의 값으로 표현된다. 도 3에 도시된 바와 같이, 트리는 각각의 추가 정보 비트에 의해 지수적으로 증가한다. 실시예에서, 트리는 dfree의 두배보다 큰 가중치를 가진 경로들이 또다른 고려의 대상이 되지 않도록 분기된다. 이 분기는 트렐리스의 복잡도와 그에 따른 CRC 제너레이터 선택 과정을 단순화시킨다. 트리 노드가 모두 제로인 상태에서 종결되었을 때, 에러 시퀀스(I(x))가 발견되며 트리는 이 노드로부터 진행되지 않는다. 도 3에 경로(60)가 모두 제로인 상태에서 시작되며 모두 제로인 상태에서 종결되는 것이 도시되어 있다. 경로(60)는 모두 제로인 시퀀스로부터 5의 거리를 가지며 또한 5의 가중치를 가지는 것으로 설명된다.
실시예에서, 주어진 길이(L)를 가진 모든 CRC 제너레이터의 거리 스펙트럼이 계산되고 거리 스펙트럼 테이블에 저장된다. CRC 제너레이터의 갯수는 CRC 코드의 길이에 의해 결정된다. 특히, 길이(L, 2L-1)의 CRC 코드에 대해서는 CRC 제너레이터가 고려된다. CRC 제너레이터의 제 1 비트와 마지막 비트는 언제나 "1"이다. 4-비트 CRC 코드에 대한 CRC 제너레이터의 모든 후보값의 테이블 리스트는 테이블 1에 도시되어 있다.
CRC 제너레이터 선택 과정의 실시예에서, 주어진 길이(L)를 가진 모든 CRC 제너레이터에 대한 길이 스펙트럼들은 정보 시퀀스(I(x))를 사용하여 계산되며 거리 스펙트럼 테이블에 저장된다. 실시예에서, 두개의 루프는 거리 스펙트럼을 계산하는데 이용된다. 제 1 루프는 정보 시퀀스(I(x))를 거쳐 순환한다. 제 2 루프는 제 1 루프내에 존재하며 모든 CRC 제너레이터(P(x))를 거쳐 순환한다. 각각의 정보 시퀀스(Ij(x))에 대해, 시퀀스가 제로 상태로 병합되는지의 여부가 결정된다. 만일 시퀀스가 제로 상태로 다시 병합되면, 이 시퀀스는 제 2 루프의 모든 CRC 제너레이터에 의해 체킹된다. 각각의 CRC 제너레이터(Pi(x))에 대해, 만일 시퀀스가 CRC 체킹을 통과하면, 이 시퀀스의 가중치는 계산되고 상기 CRC 제너레이터 및 상기 가중치에 대한 거리 스펙트럼의 엔트리는 업데이트된다.
콘벌루션 코드의 경우, 제로 상태는 쉬프트 레지스터의 K-1 비트들에 의해 한정되고, K는 콘벌루션 인코더의 제한 길이이다. 인코더가 제로 상태에 있을 때, 인코더로 입력되는 제로 정보 비트에 의해 다음 단계는 제로 상태가 되며 출력 코드 비트들은 제로가 된다. 정보 시퀀스(I(x))는 일련의 비트들을 포함하며, 시퀀스의 제 1 비트는 "1"이 되고 이는 제로 상태로부터 분기된 경로들만이 고려되기 때문이다. 추가 비트들이 생성됨에 따라, 인코더는 일련의 상태를 거치면서 진행된다. I(x) 시퀀스는 제로 상태가 가장 먼저 도달할 때 발견된다.
정보 시퀀스(I(x))는 다양한 길이를 가질 수 있다. 홀수로 표현되는 CRC 제너레이터(P(x))의 경우, 만일 P(x)가 n=0,1,2,...에 대해 xnI(x)로 나눠지면, P(x)는 I(x)로 나눠진다. 그러므로, 체킹에 의해 만일 P(x)가 어떤 나머지도 없이 I(x)로 나눠지면(예를 들면, CRC 체크가 패스되는 경우), 단지 하나의 에러 이벤트를 가진 시퀀스는 CRC 코드의 블록 크기에 상관없이 고려될 수 있다. 다른 견지에서, 체킹된 정보 시퀀스(I(x))는 시퀀스가 프레임 크기와는 상관없이 프레임을 채우도록 n 제로로 채워진다.
CRC 제너레이터의 효과적인 선택에 의해 주어진 CRC 길이와 콘벌루션 코드에 대한 최소 거리(dmin)가 이루어진다. 최소 거리(dmin)와 거리 스펙트럼은 코드의 실행에 대한 결정 요인이다. 실시예에서, 최적의 CRC 제너레이터를 선택하는데 사용되는 기준은 연결 코드의 거리 스펙트럼이다. 최소 dmin을 가진 CRC 제너레이터는 최적 CRC 제너레이터로 선택된다. 타이(tie)의 경우(예를 들면, 두개 이상의 dmin을 가진 CRC 제너레이터), dmin에서의 경로들의 최소 갯수를 가진 CRC 제너레이터가 선택된다. 또한, 만일 타이가 존재한다면, 다음의 최고 가중치가 고려된다. 선택된 CRC 제너레이터와 거리 스펙트럼의 모든 가중치가 고려될 때까지 반복된다. 거리 스펙트럼으로부터 계산될 수 있는 에러의 최소 가능성을 선택하는 것과 같은 다른 기준이 사용될 수 있고 본 발명의 사상에 해당된다.
CRC 제너레이터 선택 과정의 선택적인 실시예에서, 각 CRC 제너레이터에 대한 거리 스펙트럼은 계산되고 최상의 거리 스펙트럼과 비교된다. 먼저, 최상의 거리 스펙트럼은 좋지 못한 상태에서 시작한다(예를 들면, 많은 경로를 가진 거리 스펙트럼의 최저 가중치를 설정). 만일 현 CRC 제너레이터의 거리 스펙트럼이 최상의 거리 스펙트럼보다 낫다면, 최상의 거리 스펙트럼은 이 CRC 제너레이터에 대한 거리 스펙트럼으로 업데이트되고, CRC 제너레이터는 주시된다. 모든 제너레이터의 거리 스펙트럼이 생성되고 비교될 때까지 반복된다. 상기 설명된 개념을 이용하는 CRC 제너레이터를 선택하기 위한 다양한 실시예는 본 발명의 사상내에 존재한다.
Ⅰ. 최적 CRC 코드 선택
본 발명의 CRC 제너레이터 선택 과정의 흐름도의 일 예가 도 4에 도시되어 있다. 선택 과정은 블록 102에서 시작한다. 제 1 단계의 블록 104에서, 모든 CRC 제너레이터에 대한 계산된 거리 스펙트럼을 저장하는데 사용되는 거리 스펙트럼 테이블은 제로로 시작한다. 블록 106에서, 새로운 정보 시퀀스(Ij(x))는 상술한 Forney 참조 문헌에 기술된 방법에 따라 선택된다. Ij(x)에 해당하는 코드 워드의 가중치(dj)는 전술한 바와 같이, 경로를 따르는 코드 비트들을 합침으로써 계산된다. 블록 108에서, 제 1 CRC 제너레이터(Pi(x))가 선택된다. 다음으로 블록 110에서, Pi(x)가 Ij(x)에 의해 나눠지는지를 결정하기 위해 체킹된다. 이는 나눔 동작의 나머지를 체킹함으로써 실행된다. 만일 Pi(x)가 Ij(x)에 의해 나눠지지 않았다면, 블록 114로 진행된다. 만일 Pi(x)가 Ij(x)를 나눠졌다면, CRC 제너레이터(Pi(x))와 가중치(di,j)에 대한 거리 스펙트럼 테이블의 엔트리는 블록 112에서 상기 엔트리에 저장된 값을 증가시킴으로써 업데이트된다. 블록 114에서, 모든 CRC 제너레이터(P(x))가 고려되는지를 결정한다. 만일 그렇지 않다면, 블록 108으로 돌아가고 다음 CRC 제너레이터(Pi(x))가 선택된다. 만일 모든 CRC 제너레이터(P(x))가 고려된다면 블록 116으로 진행된다.
블록 116에서, dfree의 두배보다 적은 가중치를 가지는 모든 경로들이 체킹되는지를 결정한다. 만일 대답이 아니오라면, 블록 106으로 복귀하고 새로운 정보 시퀀스(Ij(x))가 계산된다. 그렇지 않을 경우, 만일 dfree의 두배보다 적은 가중치를 가지는 모든 경로들이 체킹되었다면, 거리 스펙트럼 테이블의 최상의 CRC 제너레이터(P(x))가 선택되는 블록 118으로 계속된다. 다음으로 블록 120에서 종결된다.
최상의 CRC 제너레이터(P(x))의 선택은 일련의 기준들을 참조로 이루어진다. 실시예에서, 이 기준은 연결 코드의 최소 거리를 최대로 하기 위해 그리고 각 거리에서의 경로들(또는 코드 워드들)의 갯수를 최소로 하기 위한 시도로 이용된다. 이 기준은 적용하기 쉬우며 CRC 코드의 실행이 최소 거리에 의해 크게 결정되기 때문에 좋은 결과를 제공한다. 그러나, 에러의 가능성과 같은 다른 기준이 고려될 수 있고 본 발명의 영역내에 존재한다.
최상 CRC 제너레이터 선택 과정(도 4의 블록118)의 흐름도의 일 실시예가 도 5에 도시되어 있다. 선택 과정은 블록 202에서 시작한다. 블록 204에서, 거리 스펙트럼 테이블의 최소 가중치(dj)를 선택한다. 실시예에서, 12의 dfree를 가진 비율 1/2, K=9 콘벌루션 인코더의 경우, 최소 가중치는 0-11이다(테이블2). 제 1 루프에서, 이 가중치에서의 최소 경로들(Nmin)의 최소 갯수가 결정된다. 제 1 루프에 들어가기 전에, 경로의 최소 갯수(Nmin)는, 블록 206에서, 높은 값인 Nmax에서 시작된다. 제 1 루프내의 제 1 단계인 블록 208에서, 거리 스펙트럼 테이블의 CRC 제너레이터(Pi(x))가 선택된다. 다음으로, 가중치(dj)에서의 상기 CRC 제너레이터(Pi(x))에 대한 경로의 갯수(Ni,j)가 블록 210에서 결정된다. 경로(Ni,j)의 갯수는 이 가중치의 모든 CRC 제너레이터(Pi(x))에 대한 최소 경로의 갯수와 비교된다. 만일 상기 CRC 제너레이터(Pi(x))에 대한 경로의 갯수(Ni,j)가 Nmin보다 적지 않다면, 블록 216으로 진행된다. 그렇지 않을 경우, 만일 상기 CRC 제너레이터(Pi(x))에 대한 경로의 갯수(Ni,j)가 Nmin보다 적다면, Ni,j는 블록 214에서 새로운 Nmin으로 설정된다. 블록 216에서, 거리 스펙트럼 테이블의 모든 CRC 제너레이터(P(x))가 고려되는지를 결정한다. 만일 하나 이상의 CRC 제너레이터가 고려되지 않았다면, 블록 208로 복귀하며, 다음 CRC 제너레이터(Pi(x))가 고려된다. 그렇지 않을 경우, 제 2 루프가 시작되는 블록 218로 진행된다.
제 2 루프는 고려 대상에서 거리 스펙트럼 테이블의 서브-최적 CRC 제너레이터를 제거한다. 블록 220, 제 2 루프내의 제 1 단계에서 거리 스펙트럼 테이블의 CRC 제너레이터(Pi(x))가 선택된다. 다음으로, 가중치(dj)의 상기 CRC 제너레이터(Pi(x))에 대한 경로들(Ni,j)의 갯수는 블록 222에서 결정된다. 경로들(Ni,j)의 갯수는 블록 224에서 제 1 루프로부터 확인된 경로들(Nmin)의 최소 갯수와 비교된다. 만일 상기 CRC 제너레이터(Pi(x))에 대한 경로(Ni,j)의 갯수가 (Nmin)보다 크지 않다면, 블록 228로 진행된다. 그렇지 않고 만일 상기 CRC 제너레이터(Pi(x))에 대한 경로(Ni,j)의 갯수가 (Nmin)보다 크다면, CRC 제너레이터(Pi(x))는 최적 CRC 제너레이터보다 더 많은 경로를 상기 가중치(dj)에서 가질 것이며, 상기 CRC 제너레이터(Pi(x))는 블록 226에서 거리 스펙트럼 테이블에서 제거된다. 블록 228에서, 거리 스펙트럼 테이블의 모든 CRC 제너레이터(P(x))가 고려되는지를 결정한다. 제 2 루프에서, 거리 스펙트럼 테이블에서 제거되지 않은 CRC 제너레이터만 고려될 필요가 있다. 제 2 루프를 미리 통과한 거리 스펙트럼 테이블로부터 제거된 CRC 제너레이터는 무시될 수 있으며, 이는 부분적으로 최적화되었기 때문이다. 만일 하나 이상의 CRC 제너레이터가 고려되지 않는다면, 블록 220으로 복귀하고 다음 CRC 제너레이터가 고려된다. 그렇지 않으면, 블록 230으로 진행된다.
블록 118에서, 주어진 CRC 길이와 콘벌루션 코드에 대한 최적 CRC 제너레이터가 결정된다. 일 예에서, 두개 이상의 CRC 제너레이터는 거리 스펙트럼 테이블에 남겨지며, 블록 234로 진행된다. 그렇지 않으면, 블록 232에서 거리 스펙트럼 테이블의 모든 가중치(d)가 고려되었는지를 결정한다. 만일 모든 가중치가 고려되지 않았다면, 블록 204로 진행되고 다음 가중치가 고려된다. 그렇지 않다면, 블록 234로 진행되며, 거리 스펙트럼 테이블의 나머지 CRC 제너레이터(P(x))가 상기 CRC 길이와 콘벌루션 코드에 대한 최적의 CRC 제너레이터를 고려한다. 상기 처리는 블록 236에서 종결된다.
Ⅱ. CRC 코드 선택예
테이블 2에 제너레이터(G0=753(8진법), G1=561(8진법))에 의해 한정된 비율 1/2, K=9 콘벌루션 코더와 결합된 4 비트 CRC 제너레이터에 대한 거리 스펙트럼 테이블의 예가 도시되어 있다. 8개의 가능한 CRC 제너레이터가 테이블 1에 리스트되어있다. 각각의 CRC 제너레이ㅌ너에 대해, 거리 스펙트럼이 계산된다. CRC 제너레이터(P(x)=21(8진법))는 14의 최소 거리(dmin)의 경로(1)의 최소 갯수를 가지기 때문에 최적 CRC 제너레이터이다. 다른 CRC 제너레이터(P(x)=25, P(x)=33, P(x)=35, P(x)=37)는 또한 14의 dmin을 가지지만, 상기 CRC 제너레이터는 dmin=14의 높은수를 가진다.
테이블 3에 제너레이터(G0=753(8진법), G1=561(8진법))에 의해 한정된 R= 1/2, K=9 콘벌루션 코더를 포함하는 연결 코드에서 다양한 길이의 최적 CRC 제너레이터에 대한 거리 스펙트럼이 도시되어 있다. CRC 코드없는 콘벌루션 인코더에 대한 거리 스펙트럼이 비교를 위해 테이블 3의 제 2 칼럼에 도시되어 있다. 코드 길이가 증가함에 따라 자유 거리(dfree)가 증가하며 성능이 향상된다는 것을 주의한다.
본 발명에 의한 개선점이 일 예로서 도시될 수 있다. IS-95 표준에 따라, 1/8 비율에 사용된 6-비트 CRC는 P(x)=107이다. R=1/2, K=9 콘벌루션 인코더와 결합된 CRC 제너레이터는 최소 거리(dmin=14)를 가진 CRC 콘벌루션 연결 코드를 생성한다. 테이블 3을 참조하여 보면, 최대 자유 거리를 만드는 6-비트 CRC 제너레이터는 P(X)=125(8진법)이다. CRC 제너레이터를 가진 연결 코드와 동일 R=1/2, K=9 콘불루션 코드는 dmin=16을 생성한다. 그러므로, 본 발명에 의해 선택된 CRC 코드를 사용한 연결 코드의 최소 거리는 IS-95에 의해 지정된 CRC 제너레이터보다 두배 크다.
Ⅲ. 거리 스펙트럼 계산
각각의 CRC 제너레이터(Pi(x))에 대해, 거리 스펙트럼은 정보 시퀀스에 대응되는 코드 워드의 해밍 거리(또는 가중치)를 계산함으로써 계산될 수 있다. 상술한 바와 같이, 구개의 선형 코드를 포함하는 연결 코드는 모두 선형이다. 모두 제로인 시퀀스에 대하여 레지스터가 제로로 시작되는 공칭 CRC 실행을 사용하면 CRC 패리티 비트는 모두 제로가 된다. 그러므로, 모두 제로인 정보 스팀(steam)에 대한 연결 코드 워드는 모두 제로이다. 따라서, dmin을 발견하기 위해, 논-제로 코드 워드의 가중치를 계산하는 것으로 충분하다.
본 발명에서, 콘벌루션 코드의 단지 하나의 에러 이벤트(즉, 모두 제로인 시퀀스에 따라 분기되고 병합되는 경로만)이 고려된다. dfree의 두배의 거리를 가진 경로들은 이 코드 워드의 CRC 코드의 성능에 대한 낮은 기여도로 인해 정확도의 손실이 없으면 무시된다. 우선, 정보 시퀀스를 고려하여 보면, I(x)는 "1"로 시작하며(예를 들면 제로 상태로부터 분기한다), 다음으로, 여러 정보 비트들은 제로 상태로 병합된다. 실시예에서, P(x)로 지정되고 홀수로 표현된 CRC 다항식만이 고려된다. 이 경우, 만일 P(x)가 모든 n=0,1,2,...에 대해 xnI(x)로 나눠지면, P(x)는 I(x)로 나눠진다. 그러므로 만일 나머지를 갖지 않고 P(x)에 의해 나눠지는 모든 경로(I(x))이 검색된다면, 연결 코드의 부분적인 거리 스펙트럼(단지 하나의 에러만 고려함)은 데이타 시퀀스의 길이(예를 들면, CRC 블록 또는 프레임 크기)를 고려하지 않고 계산될 수 있다.
본 발명은 포워드 링크에 대한 IS-95 표준에 지정된 비율 1/2, K=9 콘벌루션 코드의 문맥속에 개시되어 있다. 본 발명은 또한 리버스 링크에 대한 IS-95 표준에 지정된 비율 1/3, K=9 콘벌루션 코드에 적용될 수도 있다. 실제로, 본 발명은 어떤 콘벌루션 코드에도 적용될 수 있다.
본 발명은 CRC 코드와 콘벌루션 코드를 포함하는 연결 코드의 문맥에 개시되어 있지만, 본 발명은 다른 연결 코드에 적용될 수 있다. 연결 코드의 일 예는 콘벌루션 코드와 리드-솔로몬 코드, 콘벌루션 코드와 다른 콘벌루션 코드, CRC 코드, 콘벌루션 코드, 리드-솔로몬 코드를 포함한다. 다양한 연결 코드에 대한 본 발명의 기술은 본 발명의 사상에 존재한다.
본 발명은 바람직한 실시예를 기초로 설명되었지만, 본 발명의 사상내에서 다양한 변용이 가능하며, 본 실시예에 제한되지 않는다.

Claims (17)

  1. 연결 코드에서 CRC 제너레이터를 선택하는 방법에 있어서,
    주어진 길이를 가진 모든 CRC 제너레이터에 대한 거리 스펙트럼을 계산하는 단계; 및
    상기 거리 스펙트럼으로부터 최적의 CRC 제너레이터를 선택하는 단계를 포함하는 것을 특징으로 하는 방법.
  2. 제 1 항에 있어서, 상기 계산 단계는
    정보 시퀀스를 결정하는 단계;
    상기 정보 시퀀스가 제로 상태로 다시 병합되는가를 결정하는 단계;
    만일 상기 정보 시퀀스가 상기 제로 상태로 다시 병합되었다면 모든 CRC 제너레이터에 대해 상기 정보 시퀀스를 체킹하는 단계;
    만일 상기 정보 시퀀스가 상기 체킹 단계를 통과하였다면 상기 정보 시퀀스의 가중치를 계산하는 단계; 및
    상기 정보 시퀀스가 상기 체킹 단계를 통과한 경우의 각각의 CRC 제너레이터의 상기 거리 스펙트럼을 업데이트 하는 단계를 포함하는 것을 특징으로 하는 방법.
  3. 제 2 항에 있어서, 상기 계산 단계는
    상기 연결 코드의 자유 거리의 두배를 초과하는 가중치를 가진 정보 시퀀스를 제거하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  4. 제 2 항에 있어서, 상기 체킹 단계는 상기 CRC 제너레이터가 상기 정보 시퀀스를 나누는가를 결정하는 단계를 포함하는 것을 특징으로 하는 방법.
  5. 제 1 항에 있어서, 상기 선택 단계는 상기 거리 스펙트럼으로부터 상기 CRC 제너레이터의 최소 거리를 결정하는 단계; 및
    최소 거리를 가진 CRC 제너레이터를 선택하는 단계를 포함하는 것을 특징으로 하는 방법.
  6. 제 5 항에 있어서, 동일한 최소 거리를 가진 CRC 제너레이터에 대한 경로들의 갯수를 결정하는 단계; 및
    최소 경로 갯수를 가진 CRC 제너레이터를 선택하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  7. 제 6 항에 있어서, 두개 이상의 CRC 제너레이터에 대해 상기 최소 거리와 경로들의 갯수가 동일하다면 상기 거리 스펙트럼의 다음 최고 가중치를 기초로 CRC 제너레이터를 선택하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  8. 제 7 항에 있어서, 다음 최고 가중치 단계를 기초로 상기 CRC 제너레이터를 선택하는 상기 단계는
    상기 거리 스펙트럼의 다음 최고 가중치를 결정하는 단계;
    상기 다음 최소 거리에 있는 두개 이상의 CRC 제너레이터에 대한 경로들의 갯수를 결정하는 단계; 및
    상기 다음 최소 거리에서 최소 경로 갯수를 가진 CRC 제너레이터를 선택하는 단계를 포함하는 것을 특징으로 하는 방법.
  9. 제 8 항에 있어서, 단지 하나의 CRC 제너레이터가 선택되거나 상기 거리 스펙트럼의 모든 가중치가 고려될 때까지 상기 다음 최고 가중치 단계를 기초로 상기 CRC 제너레이터 선택 단계를 반복하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  10. 제 1 항에 있어서, 상기 연결 코드는 CRC 코드와 콘벌루션 코드를 포함하는 것을 특징으로 하는 방법.
  11. 제 10 항에 있어서, 상기 콘벌루션 코드는 비율 1/2, K=9 콘벌루션 코드인 것을 특징으로 하는 방법.
  12. 제 10 항에 있어서, 상기 콘벌루션 코드는 비율 1/3, K=9 콘벌루션 코드인 것을 특징으로 하는 방법.
  13. 제 10 항에 있어서, 상기 콘벌루션 코드는 IS-95 표준에 따르는 것을 특징으로 하는 방법.
  14. 제 10 항에 있어서, 상기 CRC 제너레이터의 주어진 길이는 "1" 이상인 것을 특징으로 하는 방법.
  15. 제 1 항에 있어서, 상기 연결 코드는 CRC 코드와 선형 코드를 포함하는 것을 특징으로 하는 방법.
  16. 연결 코드에서 CRC 제너레이터를 선택하는 장치에 있어서,
    주어진 길이를 가진 모든 CRC 제너레이터에 대한 거리 스펙트럼을 계산하는 수단; 및
    상기 거리 스펙트럼으로부터 최적의 CRC 제너레이터를 선택하는 수단을 포함하는 것을 특징으로 하는 장치.
  17. CRC 코드와 콘벌루션 코드를 포함하는 연결 코드를 이용하여 순환 중복 검사(CRC) 다항식을 선택하는 선형 코딩된 시스템에 있어서,
    주어진 길이(L)를 가진 모든 가능한 CRC 다항식에 대한 거리 스펙트럼을 결정하는 수단을 포함하는데, 거리 스펙트럼은 모두 제로 전송된 정보 시퀀스로부터 벗어난후 제로 상태로 다시 병합되는 에러 정보 시퀀스를 나타내는 여러 가중치에서의 경로들의 갯수에 대한 리스팅을 각각 포함하며,
    CRC 다항식을 체킹하여 결정된 거리 스펙트럼을 기초로 CRC 다항식을 선택하는 수단을 포함하는데, 만일 CRC 체킹이 통과되면 이 경로의 가중치는 계산되고 통과된 CRC 다항식에 대한 거리 스펙트럼이 업데이트되며, 만일 통과되지 않는다면 경로는 무시되고 최소 거리를 가진 CRC 다항식이 선택되는 것을 특징으로 하는 선형 코딩된 시스템.
KR1020007001950A 1997-08-27 1998-08-24 연결 코드에서 순환 중복 검사를 선택하는 장치 및 방법 KR20010023315A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US08/920,626 1997-08-27
US08/920,626 US6085349A (en) 1997-08-27 1997-08-27 Method for selecting cyclic redundancy check polynomials for linear coded systems
PCT/US1998/017526 WO1999010984A1 (en) 1997-08-27 1998-08-24 A method of and apparatus for selecting cyclic redundancy check generators in a concatenated code

Publications (1)

Publication Number Publication Date
KR20010023315A true KR20010023315A (ko) 2001-03-26

Family

ID=25444095

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020007001950A KR20010023315A (ko) 1997-08-27 1998-08-24 연결 코드에서 순환 중복 검사를 선택하는 장치 및 방법

Country Status (10)

Country Link
US (1) US6085349A (ko)
EP (1) EP1016222A1 (ko)
JP (1) JP2002519905A (ko)
KR (1) KR20010023315A (ko)
CN (1) CN1150681C (ko)
AR (1) AR016897A1 (ko)
AU (1) AU9032998A (ko)
TW (1) TW390085B (ko)
WO (1) WO1999010984A1 (ko)
ZA (1) ZA987690B (ko)

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2878265B1 (ja) * 1998-03-16 1999-04-05 三菱電機株式会社 符号割当装置並びにその方法
FR2785744B1 (fr) * 1998-11-09 2001-01-26 Canon Kk Procede et dispositif de codage de sequences de donnees, procede et dispositif de decodage associes
US6483828B1 (en) * 1999-02-10 2002-11-19 Ericsson, Inc. System and method for coding in a telecommunications environment using orthogonal and near-orthogonal codes
JP3728578B2 (ja) * 1999-03-31 2005-12-21 富士通株式会社 マルチキャリア伝送における不均一誤り保護方法並びにその符号器及び復号器
DE19951451A1 (de) * 1999-10-25 2001-04-26 Bayerische Motoren Werke Ag Verfahren zum Absichern der Datenübertragung in einem Datenbus
JP3297668B2 (ja) * 2000-04-26 2002-07-02 松下電器産業株式会社 符号/復号化装置及び符号/復号化方法
WO2002054601A1 (en) 2000-12-29 2002-07-11 Morphics Technology, Inc. Channel codec processor configurable for multiple wireless communications standards
US6651213B2 (en) * 2001-03-19 2003-11-18 International Business Machines Corporation Programmable multi-level track layout method and system for optimizing ECC redundancy in data storage devices
DE10117034A1 (de) * 2001-04-05 2002-10-17 Siemens Ag Vefahren zur Kanalcodierung
US7499698B2 (en) 2002-01-28 2009-03-03 Qualcomm Incorporated Synchronization of stored service parameters in a communication system
ATE502504T1 (de) * 2001-05-23 2011-04-15 Qualcomm Inc Dienstenparametersynchronisierung von gespeicherten daten in einem kommunikationsystem
ES2359493T3 (es) * 2001-05-23 2011-05-24 Qualcomm Incorporated Sincronización de parámetros de servicio almacenados en un sistema de comunicación.
KR100893053B1 (ko) * 2001-10-26 2009-04-15 엘지전자 주식회사 길쌈 부호화 및 복호화를 위한 프레임 구성 및 에러 검출방법
US7036067B2 (en) * 2003-03-28 2006-04-25 Arraycomm, Llc Error detection for multi-stream communications
KR100605745B1 (ko) * 2004-01-06 2006-07-31 삼성전자주식회사 노드들로 구성된 이동통신 시스템에서 데이터 전송 경로결정 장치 및 방법
US7392459B2 (en) * 2004-04-14 2008-06-24 Lucent Technologies Inc. Method and apparatus for preventing a false pass of a cyclic redundancy check at a receiver during weak receiving conditions in a wireless communications system
CA2661264C (en) * 2006-08-11 2014-06-10 Aclara Power-Line Systems Inc. Method of correcting message errors using cyclic redundancy checks
US8341510B2 (en) * 2007-06-22 2012-12-25 Sony Corporation CRC generator polynomial select method, CRC coding method and CRC coding circuit
US8397147B2 (en) * 2007-11-02 2013-03-12 Telefonaktiebolaget L M Ericsson (Publ) Optimum distance spectrum feedforward low rate tail-biting convolutional codes
US8375280B2 (en) * 2007-11-02 2013-02-12 Telefonaktiebolaget L M Ericsson (Publ) Optimum distance spectrum feedforward tail-biting convolutional codes
JP5298621B2 (ja) * 2007-12-21 2013-09-25 ソニー株式会社 送信装置および方法、受信装置および方法
EP2075918A3 (en) 2007-12-21 2012-09-12 Sony Corporation Transmission apparatus and method, reception apparatus and method, and program
JP4798164B2 (ja) * 2008-04-02 2011-10-19 ソニー株式会社 送信装置および方法、受信装置および方法、並びにプログラム
CN101321035B (zh) * 2008-07-09 2012-03-21 上海华为技术有限公司 差值上限获取方法、定点方法及装置
FR2944168A1 (fr) * 2009-04-06 2010-10-08 St Microelectronics Sa Procede de transmission d'un mot d'information binaire
AU2010266129B2 (en) * 2009-07-02 2016-04-14 Massachusetts Institute Of Technology Compositions and methods for diagnosing and/or treating influenza infection
US8467480B2 (en) * 2009-09-14 2013-06-18 Qualcomm Incorporated Combining decision metrics for decoding based on payload difference
CN102487282A (zh) * 2010-12-03 2012-06-06 上海华虹集成电路有限责任公司 一种实现可变长crc运算的电路
KR101639931B1 (ko) 2012-03-02 2016-07-14 엘에스산전 주식회사 통신 장치 및 통신 방법
CN104143200B (zh) * 2014-07-16 2017-05-31 华南理工大学 一种图像附加信息的边框型编码与智能识别方法
EP3355477B1 (en) * 2015-07-20 2021-06-02 Huawei Technologies Co., Ltd. Information sending method and apparatus with a crc code adapted to the length of control information

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4901307A (en) * 1986-10-17 1990-02-13 Qualcomm, Inc. Spread spectrum multiple access communication system using satellite or terrestrial repeaters
US4979174A (en) * 1988-12-29 1990-12-18 At&T Bell Laboratories Error correction and detection apparatus and method
JPH03505035A (ja) * 1989-02-16 1991-10-31 グラマン エアロスペース コーポレーション 超高速エラー検出ネットワーク
US5103451A (en) * 1990-01-29 1992-04-07 Motorola, Inc. Parallel cyclic redundancy check circuit
US5103459B1 (en) * 1990-06-25 1999-07-06 Qualcomm Inc System and method for generating signal waveforms in a cdma cellular telephone system
ZA947317B (en) * 1993-09-24 1995-05-10 Qualcomm Inc Multirate serial viterbi decoder for code division multiple access system applications
US5550870A (en) * 1994-03-02 1996-08-27 Lucent Technologies Inc. Viterbi processor
US5577053A (en) * 1994-09-14 1996-11-19 Ericsson Inc. Method and apparatus for decoder optimization
US5784392A (en) * 1995-06-26 1998-07-21 Nokia Mobile Phones Ltd. Viterbi decoder with l=2 best decoding paths
US5878057A (en) * 1995-10-06 1999-03-02 Tektronix, Inc. Highly parallel cyclic redundancy code generator

Also Published As

Publication number Publication date
CN1276930A (zh) 2000-12-13
TW390085B (en) 2000-05-11
US6085349A (en) 2000-07-04
WO1999010984A1 (en) 1999-03-04
EP1016222A1 (en) 2000-07-05
CN1150681C (zh) 2004-05-19
JP2002519905A (ja) 2002-07-02
AR016897A1 (es) 2001-08-01
ZA987690B (en) 1999-02-24
AU9032998A (en) 1999-03-16

Similar Documents

Publication Publication Date Title
US6085349A (en) Method for selecting cyclic redundancy check polynomials for linear coded systems
US5537444A (en) Extended list output and soft symbol output viterbi algorithms
KR100554322B1 (ko) 복수의 코딩 버스트내에 배치된 crc 비트에 의해 종료 상태가결정되는 컨벌루셔널 디코딩
EP0998072B1 (en) Forward error correction for ARQ protocol
US5349589A (en) Generalized viterbi algorithm with tail-biting
KR100625477B1 (ko) 연접 코드 데이터를 송신하고 수신하기 위한 방법 및 장치
US6934321B2 (en) W-CDMA transmission rate estimation method and device
WO1996017439A1 (en) Cyclic trellis coded modulation
US6374387B1 (en) Viterbi decoding of punctured convolutional codes without real-time branch metric computation
US20080092025A1 (en) Method and System for Improving Decoding Efficiency in Wireless Receivers
RU2214677C2 (ru) Устройство и способ для сверточного кодирования в цифровой системе
US6209116B1 (en) Adaptable overlays for forward error correction schemes based on trellis codes
US5822340A (en) Method for decoding data signals using fixed-length decision window
US20050008097A1 (en) Coded modulation scheme for a wirelesss communication system and methods thereof
US5944849A (en) Method and system capable of correcting an error without an increase of hardware
EP0612166B1 (en) A method and apparatus for error-control coding in a digital data communications system
RU2301492C2 (ru) Способ передачи голосовых данных в цифровой системе радиосвязи и устройство для его осуществления
US7225392B2 (en) Error correction trellis coding with periodically inserted known symbols
US7489744B2 (en) Turbo decoding method and apparatus for wireless communications
JPH0993295A (ja) 符号化変調装置
KR102302560B1 (ko) 조인트 비터비 검출 및 복호 장치 및 그 방법
JPH04219028A (ja) 軟判定ビタビ復号方法
KR0170199B1 (ko) 순환길쌈부호의 복호방법
CN114430279A (zh) 一种列表维特比译码方法、装置、译码器和存储介质
MXPA98009332A (en) Method for decoding data signals using length decision window f

Legal Events

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