KR100522263B1 - 병렬연결테일-바이팅콘벌루션코드및이코드용디코더 - Google Patents

병렬연결테일-바이팅콘벌루션코드및이코드용디코더 Download PDF

Info

Publication number
KR100522263B1
KR100522263B1 KR1019970709441A KR19970709441A KR100522263B1 KR 100522263 B1 KR100522263 B1 KR 100522263B1 KR 1019970709441 A KR1019970709441 A KR 1019970709441A KR 19970709441 A KR19970709441 A KR 19970709441A KR 100522263 B1 KR100522263 B1 KR 100522263B1
Authority
KR
South Korea
Prior art keywords
component
decoder
soft
codeword
bits
Prior art date
Application number
KR1019970709441A
Other languages
English (en)
Other versions
KR19990022971A (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 KR19990022971A publication Critical patent/KR19990022971A/ko
Application granted granted Critical
Publication of KR100522263B1 publication Critical patent/KR100522263B1/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
    • H03M13/2957Turbo codes and decoding
    • H03M13/2996Tail biting
    • 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/2957Turbo codes and decoding
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/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/2957Turbo codes and decoding
    • H03M13/2978Particular arrangement of the component decoders
    • H03M13/2981Particular arrangement of the component decoders using as many component decoders as component 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/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/3723Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 using means or methods for the initialisation of the decoder
    • 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/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/39Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
    • H03M13/3905Maximum a posteriori probability [MAP] decoding or approximations thereof based on trellis or lattice decoding, e.g. forward-backward algorithm, log-MAP decoding, max-log-MAP decoding
    • 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/0064Concatenated codes
    • H04L1/0066Parallel concatenated 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/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

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (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)

Abstract

병렬 연결된 컨벌루션 인코딩 방식은 테일-바이팅 비재귀적 계통적 컨벌루션 코드를 이용한다. 이와 관련된 디코더는 순환 MAP(maximum a posteriori) 디코딩을 반복적으로 이용하여 하드 판정 출력 및 소프트 판정 출력을 생성한다. 이러한 인코딩 시스템/디코딩 시스템에 의해, 짧은 메시지에 대한 에러-정정의 성능이 개선된다.

Description

병렬 연결 테일-바이팅 컨벌루션 코드 및 이 코드용 디코더{PARALLEL CONCATENATED TAIL-BITING CONVOLUTIONAL CODE AND DECODER THEREFOR}
본 발명은 일반적으로 열악한 채널을 통한 짧은 메세지의 통신에 있어서의 에러-정정 인코딩에 관한 것으로서, 보다 상세하게는 병렬 연결 컨벌루션 인코딩 기술 및 이 코드용 디코더에 관한 것이다.
병렬 연결 컨벌루션 인코딩(parallel concatenated convolutionl coding; PCCC)이나 "터보 인코딩(turbo coding)" 라고 하는 병렬 연결 인코딩의 한 형태가, 10,000 개 이상의 비트로 이루어진 블록에 적용될 때, 실증된 인상적인 인코딩 이득으로 인해, 최근 인코딩의 연구 과제가 되고 있다(Proceedings of the IEEE International Conference on Communications, 1993, pp. 1064-1070에 게재된 C. Berrou, A Glavieux 및 P. Thitimajshima의“Near Shannon Limit Error-Correcting Coding and Decoding: Turbo-Codes”와, 1994년 12월 Report IT-146 ISSN 0105-854, Institute of Telecommunication, Technical University of Denmark에 게재된 J.D. Andersen의 “The TURBO Coding Scheme”, 및 1994년 IEEE Globecom Conference, pp. 1298-1303에 게재된 P. Robertson의 "Illuminating the Structure of Code and Decoder of Parallel Concatenated Recursive Systematic (Turbo) Codes 참조.)
그렇지만, 인코딩된 데이터 블록의 길이가 짧아지게 되면, 터보 코드의 성능이 실질적으로 열화하는 것으로 알려져 있다. 이 효과는, 그의 성분의 재귀적 계통적 컨벌루션 코드의 가중치 구조가 블록의 길이에 강하게 의존하고 있기 때문이다. 두 번째 문제는, 터보 인코더에 인가되는 메시지 블록을 적절하게 종료시키는 것이 다. 1994년 8월 4일자의 IEE Electronics Letters, vol. 30, no 16, pp. 1285-1286 에 게재된 O. Joersson과 H. Meyr의“Terminating the Trellis of Turbo-Codes”에 기재되어 있는 바와 같이, 터보 인코더에서 사용되고 있는 인터리빙이 인터리빙된 인코더 입력 시퀀스 및 인터리빙되지 않은 인코더 입력 시퀀스 양쪽 모두를 단일 세트의 테일 비트로 종단(terminate)시키는 것을 불가능하게 할 수 있다. 메시지 구조내에 들어가 있는 제2 테일 시퀀스를 사용하여 인터리빙된 데이터 시퀀스에 작용하는 인코더가 적절하게 종료하도록 할 수는 있지만, 이렇게 하면, 인코더의 종료와 연관된 오버헤드가 2배로 되고, 유효 부호율이 저하한다. 그 대안으로서는, 인코더 시퀀스 중 어느 하나를 종료시키지 않는 방법이 있지만, 이렇게 하면, 특히 짧은 메시지에 적용했을 때, 인코더/디코더 시스템의 성능이 열화한다. IEE Electronics Letters, 1995년 1월 5일, vol. 31, no. 1, pp. 22-23에 게재된 A.S. Barbulescu와 S.S. Pietrobon의 “Terminating the Trellis of Turbo-Codes in the Same State”에는, 2개의 성분 재귀적 계통적 컨벌루션(RSC) 인코더를 단일의 종료 비트 시퀀스로 종료시키기 위해, 인터리버 설계상에 제약을 가하는 방법이 보고되어 있다. 그 성능 결과를 보면, 최적화된 인터리버가 사용될 때, 양쪽 인코더 모두를 종료시킴으로써 얻어지는 성능에 비해 약간의 열화가 있다. 게다가, 공표된 [비트 에러율(BER)] 대 [비트당 에너지/노이즈 전력 스펙트럼 밀도비( Eb/N0)]의 데이터를 보면, 터보 인코더에 RSC를 이용했을 때, 소정 범위의 Eb/N0 값에 대하여 BER이 평탄하게 되는 것을 알 수 있다.
따라서, 짧은 데이터 블록에 대한 개선된 병렬 연결 인코딩 기술을 제공하는 것이 바람직하다.
도 1은 병렬 연결 인코더를 나타내는 간략 블록도.
도 2는 병렬 연결 코드용 디코더를 나타내는 간략 블록도.
도 3은 본 발명에 따른 인코딩 방식에 사용되는 테일-바이팅 비귀재적 계통적 컨벌루션 인코더를 나타내는 간략 블록도.
도 4는 본 발명에 따른 병렬 연결 컨벌루션 인코딩 방식에 대한 디코더내의 성분 디코더로서 유용한 순환 MAP 디코더를 나타내는 간략 블록도.
도 5는 본 발명에 따른 병렬 연결 컨벌루션 인코딩 방식에 대한 성분 디코더로서 유용한 순환 MAP 디코더의 또다른 실시예를 나타내는 간략 블록도.
본 발명에 따르면, 병렬 연결 컨벌루션 인코딩 방식은, 테일-바이팅 비재귀적 계통적 컨벌루션(NSC) 코드를 이용한다. 이와 관련된 디코더는, 순환 MAP(maximum a posteriori) 디코딩을 반복적으로 이용하여 하드 판정 출력 및 소프트 판정 출력을 발생한다. 테일-바이팅 코드를 사용함으로써, 터보 인코딩에서 입력 데이터 시퀀스를 종료시키는 문제가 해결되고, 따라서 짧은 메시지에 대한 관련 디코더의 성능 열화를 회피한다. NSC 코드는, 데이터 블록 길이가 증가함에 따라, 점근적으로 동일한 메모리를 갖는 재귀적 계통적 컨벌루션(RSC) 코드 보다 일반적으로 더 취약하지만, NSC 코드의 자유 거리는 데이터 블록 길이에 대해 그렇게 민감하지는 않다. 따라서, NSC 코드를 이용한 병렬 연결 인코딩은, 어떤 문턱값 데이터 블록 크기보다 더 짧은 메시지에 대해서는, 동일 메모리를 갖는 RSC 코드를 이용하는 것보다 성능이 더 양호하다.
본 발명의 특징 및 이점은, 첨부된 도면을 참조하면서 이하의 발명의 상세한 설명을 살펴보면 명백하게 될 것이다.
도 1은 병렬 연결 인코딩 방식에 대한 인코더 신호 처리(10)의 전체적인 블록도이다. 이것은, 소스로부터의 데이터 비트의 블록에 대해 작용하는 복수 개(N개)의 성분 인코더(12)를 포함하고 있다. 이들 데이터 블록은 인터리버(14)를 통해 인터리빙 알고리즘에 의해 재배치된다(permute). 동 도면에 도시한 바와 같이, N 개의 인코더(12)에 대해 N-1 개의 인터리버가 있다. 최종적으로, 성분 인코더의 출력은 합성 코드워드 포맷 장치(formatter)(16)에 의해 조합되어 단일의 합성 코드워드로 된다. 이 합성 코드워드 포맷 장치는 채널의 특성에 적합하도록 선택되고, 이 합성 코드워드 포맷 장치에 뒤이어서, 채널 및 통신 시스템의 채널 억세스 기술에 적합하도록 선택된 프레임 포맷 장치가 올 수도 있다. 프레임 포맷 장치는 또한 제어 비트 및 동기 심볼과 같은 그 밖의 필요한 오버헤드도 삽입할 수 있다.
성분 코드가 계통적인 코드(systematic code)인 경우, 병렬 연결 인코딩에 의해 상당한 부호율의 이점을 달성할 수 있다. 계통적 인코더에 의해 생성된 코드워드(출력)는 인코더에 입력으로서 제공된 원래의 데이터 비트와 추가의 패리티 비트를 포함한다. (패리티 비트에 의해 도입된 용장성(redundancy)는 코드의 에러 기능을 제공하는 것임). 따라서, 계통적 인코더가 도 1에 도시된 병렬 연결 인코더에 사용될 때, 모든 성분 인코더(12)에 의해 생성된 코드워드는 입력 데이터 비트를 포함한다. 포맷 장치(16)가, 각각의 성분 인코더(12)에 의해 생성된 패리티 비트와 인코딩하려고 하는 정보 비트의 블록만으로 구성된 합성 코드워드 또는 데이터 패킷을 형성하는 경우, 전송되는 합성 코드워드에 있는 정보 비트의 반복을 제거함으로써, 합성 병렬 연결 코드의 부호율에 실질적인 개선이 실현된다. 예를 들어, 2개의 성분 코드를 갖는 병렬 연결 컨벌루션 코드(PCCC) 인코더의 성분 인코더 1 및 성분 인코더 2 양쪽 모두가 부호율 1/2인 코드(rate 1/2 code)인 경우, 합성 병렬 연결 코드의 부호율은 비계통적 성분 코드를 사용할 때의 1/4로부터 계통적 성분 코드를 사용할 때의 1/3까지 증가된다.
재귀적 계통적 컨벌루션(RSC) 코드를 이용하는 병렬 연결 인코딩 방식은, 최근 많은 연구에 있어서 화제 거리가 되어 왔다. 이러한 병렬 연결 컨벌루션 코드 (PCCC)는 또한 문헌에서는“터보”코드라는 이름으로 통상 알려져 있다. 전술한 바와 같이, 이러한 PCCC는, 비교적 큰 메시지, 즉 10,000 비트 이상의 메시지인 경우, [비트 에러율(BER)] 대 [비트당 에너지/노이즈 전력 스펙트럼 밀도비(Eb/No)]의 점에서 볼 때 인상적인 성능을 달성할 수 있다는 것이 실증되었다. 그렇지만, 재귀적 계통적 컨벌루션 성분의 코드의 강도(strength)가 데이터 블록 길이에 아주 민감하기 때문에, 터보 코드를 사용하여 얻은 인코딩 이득은, 데이터 블록 크기가 감소함에 따라 눈에 띄게 열화한다는 것도 알려진 사실이다. 한편, 비재귀적 계통적 테일-바이팅 컨벌루션(NSC) 코드의 성능은 대부분의 실제적 목적에 있어서 데이터 블록의 길이에 무관하고, 달성가능한 성능은 인코딩되는 데이터 비트의 블록이 NSC의 판정 깊이 특성에 의해 결정되는 최소 크기 미만일 때에만 열화한다.
도 2는 병렬 연결 코드용의 일반적인 디코더(20)를 블록도 형태로 나타낸 것이다. 디코더(20)는 이하의 것, 즉 채널로부터 수신된 합성 코드워드를 각각의 성분 디코더(24)에 대한 개별적인 수신 코드워드로 변환하는 합성 코드워드-성분 코드워드 변환기(22)와, 도 1에 도시된 N개의 성분 인코더에 대응하는 N 개의 성분 디코더(24)와, 병렬 연결 인코더(도 1)에서 사용된 것과 동일한 종류의 (또는 동일한) 인터리버(14)와, 제1 및 제2 디인터리버(28, 29)를 포함한다. 제1 및 제2 디인터리버(28, 29) 각각은, 인코딩에 사용되는 N-1 개의 인터리버에 대응하는 직렬 연결된 N-1 개의 디인터리버(30)에 상당하는 시퀀스 순서 변경 특성을 각각 갖는다. 이들 디인터리버에 요구되는 순서가 도 2에 도시되어 있으며, 그 순서는 인터리버 순서의 역으로 되어 있다. 성분 디코더(24)의 출력은, 수신 코드워드 내의 각각의 데이터 비트의 추정치에 관한 어떤 형식의 소프트 판정 정보이다. 예를 들어, 성분 디코더의 출력은, 채널로부터 수신한 심볼의 시퀀스를 조건부로 하여 0 또는 1이 될 확률의 제1 함수일 수 있다. 이러한 제1 함수의 일례는, 성분 디코더의 소프트 판정 출력으로부터 조건부 확률, P {d j t = 0/Y j t }의 영향을 제거하며, 이 성분 디코더의 소프트 판정 출력은, 적절한 순서 뒤바꿈(appropriate permutation)을 한 후 순서상 그 다음에 오는 성분 디코더에 입력된다. 여기서, P {d j t = 0/Y j t }는, 수신된 채널 출력 심볼 Y t 의 j번째 (계통적) 비트를 조건부로 하여 시각 t에서의 j번째 정보 비트가 0일 확률이다. 그 대신에, 성분 디코더(24)에 의해 출력되는 소프트 판정 정보는, 확률비 의 함수 또는 로그 확률비(log-likelihood ratio) log[Λ(dj t)]의 함수일 수 있다. 도시된 바와 같이, N 번째 성분 디코더는 제2 출력, 즉 전술한 디코딩 비트 값에 대한 조건부 확률 또는 확률비의 제2 함수를 갖는다. 이러한 제2 함수의 일례는, P {d j t = 0/Y L 1 }과 이전의 성분 디코더로부터 수신되는 d j t = 0 일 선험적(a priori) 확률과의 곱이다.
병렬 연결 코드에 대한 디코더는, 다음과 같은 방법으로 반복적으로 작용한다. 첫번째 성분 디코더(디코더 1)는, 수신된 코드워드 및 전송된 정보 비트에 관한 선험적 정보에 기초하여, 첫번째 성분 인코더에 의해 인코딩된 정보 비트의 시퀀스에 대한 한 세트의 소프트 판정값을 계산한다. 첫 번째 반복에서는, 소스 통계 (source statistics)에 관한 선험적 정보가 없는 경우, 비트가 0이나 1로 될 확률이 동일한 것(즉, P{비트=0} = P{비트=1} = 1/2)으로 가정한다. 그 후, 디코더 1에 의해 계산된 소프티 판정값은, 2번째 인코더에 대한 데이터 비트의 블록을 순서가 뒤바뀌도록 하기 위해 인코더에 사용한 것과 동일한 종류의(또는 동일한) 인터리버를 사용하여 인터리빙된다. 이들 재배치된 소프트 판정값 및 그에 대응하는 수신 코드워드가, 그 다음의 성분 디코더(디코더 2)에 대한 입력을 구성한다. 선행하는 성분 디코더 및 인터리버로부터 수신된 재배치된 소프트 판정값은, 디코딩하려고 하는 데이터 비트에 관한 선험적 정보로서 그 다음의 성분 디코더에서 사용된다. 이와 같이 하여, 인코더에 의해 인코딩된 데이터 비트의 블록에 대한 한 세트의 소프트 판정 출력을 N 번째 디코더가 계산할 때까지, 성분 디코더는 순차적으로 동작한다. 그 다음 단계는, 전술한 바와 같이, N 번째 디코더로부터의 소프트 판정값을 디인터리빙하는 것이다. 그 때, 첫번째 디코더는 N 번째 디코더로부터의 새로운 소프트 판정값을 선험적 정보로서 사용하여 수신 코드워드에 대해 다시 동작한다. 이와 같은 디코더의 동작이 소정의 반복 횟수만큼 진행된다. 최종 반복이 종료하였을 때, N 번째 디코더에 의해 계산된 소프트 판정 출력의 제2 함수인 값들의 시퀀스를 디인터리빙하여, PCCC 인코더가 그 데이터를 수신했을 때의 순서로 그 데이터를 복원시킨다. 반복 횟수는 미리 결정된 횟수로 하거나, 또는 디코더의 수렴을 검출함으로써 동적으로 결정될 수 있다.
디코더는, 확률 P {d j t = 0/Y L 1 }, 즉 한 세트의 채널 출력 Y L 1 = {y1,...,yL}이 수신된다고 할 때, 시각 t에서 인코더로 입력되는 k 비트 심볼 중의 j번째 데이터 비트가 0일 조건부 확률의 함수인 소프트 판정 정보를 제공한다. 게다가, 디코더는, 이하와 같은 판정 규칙을 적용하는 판정 장치를 통해, 소프트 판정 출력의 함수로서의 하드 판정 정보를 제공할 수도 있다.
즉, P {d j t = 0/Y L 1 } > 이면, 이 되고, P {d j t = 0/Y L 1 } < 이면, 이다. 그 이외의 경우는, d j t 에 랜덤하게 값 0 또는 1을 할당한다.
전형적인 터보 디코더는, L.R. Bahl와, J. Cocke와, F. Jelinek 및 J Raviv의 논문 “Optimal Decoding of Linear Codes for Minimizing Symbol error Rate", IEEE Transactions of Information Theory, 1974년 3월, pp. 284-287에 게재되어 있는 것과 같은 MAP(maximum a posteriori) 디코더, 또는 J. Hagenauer와 P Hoeher의 논문 “A Viterbi Algorithm with Soft-Decision Outputs and its Application", IEEE Globecom Conference, 1989년, pp. 1680-1686에 게재되어 있는 것과 같은 소프트 출력 비터비 알고리즘(soft output Viterbi algorithm; SOVA)디코더를 이용한다. MAP 디코더는, 디코딩된 비트 값이 0 또는 1일 확률을 생성한다. 한편, SOVA 디코더는 전형적으로 디코딩된 각각의 비트에 대해 확률비, 를 계산한다. 이러한 확률비는, P{디코딩 비트 = 0} = 1 - P{디코딩된 비트 = 1}를 사용하여, P{디코딩 비트 = 0}로부터 구하거나, 또는 그 역으로 구할 수 있다는 것은 명백하다. MAP 또는 SOVA 디코더가 확률비의 로그값, 즉 를 사용하여 동작할 때에, 몇가지 계산상의 이점이 있다는 것을 알았다.
터보 코드를 사용함으로써 얻어지는 인코딩 이득(에러 정정 능력)은, 데이터 블록의 크기가 감소함에 따라 눈에 띄게 열화한다는 것이 실증되었다. 몇몇 저자는 이러한 행동을 주로 RSC 코드의 성질 때문인 것으로 보고 있다. RSC 코드의 거리 특성은, 데이터 블록의 길이가 증가함에 따라 증가하는 것으로 알려져 있다. 역으로, RSC 코드의 최소 거리는, 데이터 블록의 길이가 감소함에 따라 감소한다. 두 번째 문제는, 인터리빙으로 인해, 터보 인코딩 방식을 구성하는 모든 RSC 코드를 종료시키는 것이 곤란하다는 것이다. 불리하게도, 시퀀스 종단의 결여 또는 인터리버 설계상의 제약으로 생기게 되는 악영향이 상당하며, 데이터 블록의 길이가 감소함에 따라 그 정도가 훨씬 더 심해지게 된다.
본 발명에 따르면, 병렬 연결 컨벌루션 인코딩 방법에서의 성분 코드가 테일-바이팅 비재귀적 계통적 컨벌루션 코드로 구성된다. 이러한 테일 바이팅 코드를 사용하면, 터보 인코딩에 있어서 입력 데이터 시퀀스의 종단이라는 문제가 해결되고, 따라서, 짧은 메시지에 대한 디코더의 성능의 열화를 회피하게 된다. 일반적으로 NSC 코드는 동일한 메모리를 갖는 RSC 코드보다 취약하지만, NSC 코드의 자유 거리는 데이터 블록의 길이에 그렇게 민감하지 않다. 따라서, 소정의 문턱값 데이터 블록 크기보다 더 짧은 메시지의 경우에, NSC 코드를 사용하는 병렬 연결 인코딩이 동일한 메모리를 갖는 RSC 코드를 사용하는 것보다 성능이 우수하다. 성능 교차점은, 소망의 디코딩 비트 에러율, 부호율 및 코드 메모리의 함수이다.
도 3은, 본 발명의 병렬 연결 컨벌루션 인코딩(PCCC) 방식에 사용하기 위한 부호율 =, 메모리 = m인 테일-바이팅 비재귀적 계통적 컨벌루션 인코더의 일례를 나타낸 것이다. 설명의 목적상, (n, k, m) 인코더는, 입력 심볼이 k 비트로 구성되고, 출력 심볼이 n 비트로 구성되며, mk 비트 심볼 단위로 표시한 인코더 메모리를 나타낸다. 일례로서, 도 3은 2진 입력 심볼, 즉 k = 1인 경우를 나타낸 것이다. 그렇지만, 본 발명은 임의의 k, n, m의 값에도 적용할 수 있다.
최조에, 스위치(50)는 아래쪽 위치에 있으며, L개의 입력 비트가 한 번에 k개씩(이 예에서는, 한 번에 하나의 입력 심볼씩) 시프트 레지스터(52)로 시프트된다. L 번째 비트를 인코더에 로드한 후, 스위치는 위쪽 위치로 이동하고, 제2 시프트 레지스터(54)로부터의 첫번째 비트가 비재귀적 계통적 인코더로 시프트하는 것으로써 인코딩이 시작한다. 이 때의 인코더의 상태는 {b L ,b L-1 , ..., b L-(km-1) } 이다. 이 예에서, 인코더의 출력은, 현재의 입력 비트와, 인코더의 상태 및 현재의 입력심볼의 함수로서 블록(56)(이 예에서는 modulo 2 가산으로 도시되어 있음)에서 형성되는 패리티 비트로 구성된다. L 번째 비트가 인코딩되었을 때, 인코딩이 종료한다.
본 발명의 또다른 측면에 따르면, 전술한 병렬 연결 인코더에 있어서 그와 관련된 디코더가, 본 발명의 출원인에게 양도되어 공동 계류 중에 있는 미국 특허출원(출원인 정리 번호: RD-24,923)(참조 문헌으로서 본 명세서에 포함함)에 본 발명자에 의해 개시되어 있는 순환 MAP 디코더로 구성되어 있다. 특히, 이 미국 특허출원(출원인 정리 번호: RD-24,923)에는, 테일-바이팅 컨벌루션 코드를 디코딩하는데 유용한 순환 MAP 디코더가 기재되어 있다. 순환 MAP 디코더는, 인코딩된 데이터 블록의 추정치와 신뢰성 정보 양쪽 모두를 데이터 싱크(data sink)에, 예를 들면 전송 에러를 은폐하기 위해 사용하기 위한 음성 합성 신호 처리기나 패킷 테이터용 프로토콜 처리기에, 반복 요청의 판정에 사용하기 위한 블록 에러 확률의 척도로서 송출할 수 있다.
특히, 상기 인용한 미국 특허 출원(출원인 정리 번호: RD-24,923)에 기재되어 있는 바와 같이, 테일 바이팅을 이용하는 에러 정정 격자 코드용의 순환 MAP 디코더는, 소프트 판정 출력을 생성한다. 순환 MAP 디코더는, 격자(trellis)의 첫 번째 단에서의 상태의 확률의 추정치를 제공하고, 그 확률이 종래의 MAP 디코더에서의 시작 상태의 선험적(a priori) 정보를 대체한다. 순환 MAP 디코더는, 2가지 방법 중 어느 한 방법으로 초기 상태 확률 분포를 제공한다. 그 제1 방법에서는, 고유값 문제(eigenvalue problem)로부터 얻은 고유 벡터(eigenvector)가 원하는 초기 상태 확률 분포로 되도록 하는 고유값 문제의 해와 관련된 것으로서, 시작 상태를 알고 있다면, 순환 MAP 디코더는 MAP 디코딩 알고리즘에 따라 나머지 디코딩을 수행한다. 제2 방법에서는, 반복함에 따라 시작 상태 분포로 수렴하게 되는 재귀법(recursion)에 기초하고 있다. 충분히 반복한 후에는, 상태들의 순환 시퀀스상의 어떤 상태가 높은 확률로 알게 되고, 순환 MAP 디코더는 종래의 MAP 디코딩 알고리즘에 따라 나머지 디코딩을 수행한다.
종래의 MAP 디코딩 알고리즘의 목적은, 조건부 확률, 즉 P{시간 t에서의 상태 m/수신 채널 출력 y 1 , ..., y L }을 구하는 것이다. 이 식에서, 첨자 L은 의 인코더 심볼의 수를 단위로 하여 데이터 블록의 길이를 나타낸 것이다. ((n, k) 코드에 대한 인코더는, k비트 입력 심볼에 작용하여 n비트 출력 심볼을 생성한다.) 용어 y t 는 시간 t에서의 채널 출력(심볼)이다.
MAP 디코딩 알고리즘은 실제로는 수학식 1과 같은 확률을 제일 먼저 구한다.
[수학식 1]
λ t () = P{S t = m ; Y L 1 }
즉, 시간 t에서 인코더의 상태, S t m 임과 동시에, 한 세트의 채널 출력 YL 1 ={y 1 ,...,y L }을 수신하게 될 결합 확률(joint probability)을 구한다. 이것은 상수가 곱해진 원하는 확률이다( P{YL 1}, 즉 한 세트의 채널 출력 {y 1, ...,y L }을 수신할 확률).
이제, 행렬 Γ t 의 요소를 다음과 같이 정의한다.
Γ t (i,j) = P{시각 t에서의 상태 j; y t / 시각 t-1에서의 상태 i},
행렬 Γ t 는, 채널 천이 확률 R(Yt, X), 인코더가 시각 t에서 상태 m'으로부터 상태 m으로 천이할 확률 P t (m/m'), 및 인코더의 이전의 상태가 m'이고 인코더의 현재의 상태가 m이라고 할 때 인코더의 출력 심볼이 X일 확률 q t (X/m',m)의 함수로서 계산된다. 구체적으로 설명하면, Γ t 의 각 요소는, 수학식 2에 나타낸 바와 같이, 가능한 모든 인코더 출력 X에 걸쳐 합산함으로써 계산된다.
[수학식 2]
MAP 디코더는, 격자의 각 단마다 하나씩, 이들 행렬의 L을 계산한다. 이들 행렬은, 수신 채널 출력 심볼과 소정의 코드에 대한 격자 분기(trellis branch)의 성질(nature)로 구성되어 있다.
다음에, 행 벡터 α t M개의 결합 확률 요소를 수학식 3으로 정의한다.
[수학식 3]
α t (j) = P{시각 t에서의 상태 j; y 1,...,y t }
열 벡터 β t M개의 조건부 확률 요소를 수학식 4로 정의한다.
[수학식 4]
β t (j) = P{y t +1,...,y L / 시각 t에서의 상태 j}
여기서, j = 0, 1, ..., (M-1)이고, M은 인코더 상타의 수이다. (또한, 행렬 및 벡터는 굵은 활자체를 사용하여 표기하고 있는 것에 주의하기 바란다.)
MAP 디코딩 알고리즘의 단계들은 다음과 같다.
(ⅰ) 수학식 5와 같이, 순방향 재귀법에 의해 α 1 , ..., α L 을 계산한다.
[수학식 5]
α t = a t-1 Γ t , t=1,...,L
(ⅱ) 수학식 6과 같이, 역방향 재귀법에 의해 β 1 , ..., β L-1 을 계산한다.
[수학식 6]
β t = Γ t +1 β t +1, t=L-1,...,1
(ⅲ) 수학식 7과 같이, λt의 요소를 계산한다.
[수학식 7]
λ t (i) = α t (i)β t (i), 모든 i, t=1,...,L
(ⅳ) 필요에 따라, 관련된 양(값)을 구한다. 예를 들어, A j t 를 한 세트의 상태 St = {S 1 t ,S 2 t ,...,S km t }로 하고, S t 의 j번째 요소, S j t 가 영(0)이 되도록 한다. 종래의 비재귀적 격자 코드에서는, S j t = d j t 즉 시각 t에서의 j번째의 데이터 비트이다. 따라서, 디코더의 소프트 판정 출력은 다음과 같이 된다.
여기서, 이고, m은 상태 S t 에 대응하는 지수(index)이다.
디코더의 하드-판정(hard-decision) 또는 디코딩 비트 출력은, P{d j t = 0/YL 1}를 다음과 같은 판정 규칙에 적용함으로써 얻어진다.
즉, P{d j t = 0/YL 1}> 이면, 이고, P{d j t = 0/YL 1} < 이면, 이 된다. 그 외의 경우에는, dj t에 랜덤하게 값 0 또는 1을 할당한다.
전술한 단계(ⅳ)에 대한 관련된 양의 또다른 예로서, 확률의 행렬 δt은 다음과 같이 정의된 요소들로 구성된다.
δ t (i,j) = P{S t- 1 = 1: S t = j; Y 1 L } = α t-1 (i)γ t (i,j)β t (j)
이들 확률은 인코더 출력 비트의 사후 확률(a posteriori probability)을 결정하고자 할 때 유용하다.
MAP 디코딩 알고리즘의 표준적인 적용에서, 순방향 재귀법은 벡터 α 0 = (1,0,...,0)에 의해 초기화되고, 역방향 재귀법은 β L = (1,0,...,0) T 에 의해 초기화된다. 이러한 초기화 조건은 인코더의 초기 상태 S 0 = 0이고, 인코더의 종료 상태 S L = 0라는 가정에 기초하고 있다.
본 발명의 일 실시예의 순환 MAP 디코더는, 다음과 같이 고유값 문제의 해를 구함으로써 초기 상태 확률 분포를 결정한다.α t , β t , Γ t, 및 λt를 앞에서와 같이 설정하고, 초기의 α 0 β L 을 다음과 같이 취한다.
β L 를 열 벡터(111...1)T로 설정한다.
α 0 미지의 (벡터) 변수로 한다.
그리고 나서,
(ⅰ) 수학식 2에 따라, t = 1, 2, ... L에 대해 Γ t 를 계산한다.
(ⅱ) 행렬 곱(matrix product) Γ 1 Γ 2 ...Γ L 의 가장 큰 고유값을 구한다. 그에 대응하는 고유 벡터를 정규화하여, 그의 요소의 합이 1로 되도록 한다. 이 벡터가 α 0 에 대한 해(solution)이다. 고정값은 P{YL 1}이다.
(ⅲ) 수학식 5에 나타낸 순방향 재귀법에 의해, 그에 후속하는 α t 를 형성한다.
(ⅳ) 전술한 바와 같이 초기화된 β L 로부터 시작하여, 수학식 6에 나타낸 역방향 재귀법에 의해 β t 를 형성한다.
(ⅴ) 수학식 7에 나타낸 바와 같이, λ t 를 형성하는 것과 함께, 예를 들어, 전술한 소프트-판정 출력 P{d j t = 0/YL 1} 또는 확률 행렬 δ t 과 같은 다른 소망의 변수를 형성한다.
본 발명자들은, 미지의 변수 α 0 가 다음의 행렬식을 만족한다는 것을 알았다.
이 식이 확률들간의 관계를 나타낸다는 사실로부터, 본 발명자들은, 우변의 Γ t 행렬의 곱이 최대 고유값, P{YL 1}을 갖는다는 것과, 그에 대응하는 고유 벡터가 확률 벡터이어야만 한다는 것을 알았다.
초기의 β L = (111...1) T 이라고 하면, 수학식 6으로부터 β L-1 가 얻어진다. 따라서, 이러한 역방향 재귀법을 반복하여 적용하면, 모든 β t 가 얻어진다. 일단 α 0 를 알고 β L 이 설정되면, 본 발명의 순환 MAP 디코더에서의 모든 계산은, 종래의 MAP 디코딩 알고리즘에 따라 행해진다.
도 4는, 전술한 고유 벡터 방법에 따라, 에러-정정 테일-바이팅 격자 코드를 디코딩하는 순환 MAP 디코더(110)를 나타내는 간략 블록도이다. 디코더(110)는 채널 출력 y t 의 함수로서 Γ t 를 계산하는 Γ t 계산기(112)를 포함한다. Γ t 계산기는 메모리(130)로부터 이하에 열거하는 것들을 입력으로서 수신한다. 즉, 입력으로서, 채널 천이 확률 R(Y t ,X)과, 인코더가 시각 t에서 상태 m′으로부터 m으로 천이할 확률 p t (m/m′)과, 인코더의 이전의 상태가 m′이고 인코더의 현재의 상태가 m이라고 할 때 인코더의 출력 심볼이 X일 확률 q t (X/m′,m)을 수신한다. Γ t 계산기는, 수학식 2에 따라, 가능한 모든 인코더 출력 X에 걸쳐 합산함으로써, Γ t 의 각각의 요소를 계산한다.
Γ t 의 계산된 값은 행렬 곱 계산기(114)에 제공되고, 예를 들어, 메모리로부터 수신된 단위 행렬(116), 스위치(118) 및 지연 회로(120)를 사용하여 행렬 곱 Γ 1 Γ 2 ...Γ L 를 형성한다. 시각 t=1에서, 단위 행렬은 행렬 곱 계산기에 대한 하나의 입력으로서 인가된다. t=2에서 t=L까지의 그 후의 각각의 시각에서, 행렬 곱 는 지연 회로를 통해 행렬 곱 계산기로 피드백된다. 그 후, 시각 t=L에서, 이와 같이 얻어진 행렬 곱은 스위치(121)를 통해 정규화된 고유 벡터 계산기(122)에 제공된다. 이 계산기(122)는 그에 입력된 행렬 곱의 가장 큰 고유값에 대응하는 정규화된 고유 벡터를 계산한다. 이와 같이 하여 α 0 를 초기화하면, 즉 이와 같이 정규화된 고유 벡터가 얻어지면, 그에 후속하는 α t 벡터는, 도시한 바와 같이, 지연 회로(126) 및 스위치 회로(128)를 사용하여 행렬 곱 계산기(124)에서 수학식 5를 사용하여 재귀적으로 결정된다. Γ t 의 적당한 값이 메모리(130)로부터 검색되고, 그 결과 얻어진 α t 는 그 다음에 메모리(130)에 저장된다.
β t 의 값은, 수학식 6에 따라, 스위치 회로(134) 및 지연 회로(136)를 이용하여 행렬 곱 계산기(132)에서 결정된다. 그 후에, 수학식 7에 따라, 요소간 곱 계산기(element-by-element product calculator)(140)에서, 확률 λ t α t β t 의 값으로부터 계산된다. λ t 의 값은 디코딩 비트 값 확률 계산기(150)에 제공된다. 이 계산기(150)는 시각 t에서의 j번째 디코딩 비트 d t j 이 영(zero)이 될 확률을 결정한다. 이 확률은 문턱값 판정 장치(152)에 제공된다. 이 판정 장치(152)는 다음과 같은 판정 규칙을 적용한다. 즉, 계산기(150)로부터의 확률이 보다 크면, 디코딩 비트가 0 이라고 판정한다. 또한, 계산기(150)로부터의 확률이 보다 작다면, 디코딩 비트가 1이라고 판정한다. 계산기(150)로부터의 확률이 이면, 디코딩 비트에 랜덤하게 값 0 또는 1을 할당한다. 문턱값 판정 장치의 출력이, 시각 t에서의 디코더의 출력 비트가 된다.
또한, 도 4에 도시한 바와 같이. 디코딩 비트가 0일 확률 P{d j t = 0/Yj t}도 소프트 출력 함수 블록(154)에 제공되어, 디코더의 소프트 판정 출력으로서, 예를 들면
와 같은 확률 함수, 즉 f(P{d j t = 0/Yj t})를 제공한다. P{d j t = 0/Yt j}의 유용한 또다른 함수로는,
가 있다.
그 대신에, 블록(54)에 대한 유용한 함수는 항등 함수로 하여, 소프트 출력이 단지 P{d j t = 0/Yt j}이 되도록 하여도 좋다.
본 발명의 다른 실시예의 순환 MAP 디코더는, 재귀법에 의해 상태 확률 분포를 결정한다. 상세히 설명하면, 일 실시예(동적 수렴 방법)에서, 디코더의 수렴이 검출될 때까지 재귀법이 계속된다. 이 재귀법(또는 동적 수렴)에서, 전술한 고유 벡터 방법의 단계 (ⅱ)와 (ⅲ)는 다음과 같이 대체된다.
(ⅱ.a) M을 격자 중에 있는 상태의 수라고 할 때, (1/M,...,1/M)과 동일한 초기의 α 0 로부터 시작하여 순방향 재귀법을 L회 계산한다. 그 결과를 정규화하여 각각의 새로운 α t 의 요소의 합이 1로 되도록 한다. L개의 α t 벡터 모두를 유지(retain)한다.
(ⅱ.b) α 0 를 이전 단계로부터의 α L 과 동일하게 하고, t=1에서 시작하여, 최조의 L wmin α t 확률 벡터를 다시 계산한다.
즉, L wmin 를 적당한 격자의 최소 단 수라고 할 때, m = 0, 1, ..., M-1 , 및 t = 1, 2, ..., Lwmin에 대해 를 계산한다. 이전과 마찬가지로 정규화를 행한다. 단계 (ⅱ.a)와 (ⅱ.b)에서의 재귀법에 의해 구한 가장 최근의 한 세트의 L개의 α , 및 이전 단계 (ⅱ.a)에서 구한 만을 유지한다.
(ⅱ.c) 단계 (ⅱ.b)로부터의 를 이전에 단계 (ⅱ.a)에서 구한 세트와 비교한다. 만일 새로운 및 이전의 의 M개의 대응하는 요소가 허용 범위 내에 있다면, 전술한 단계 (ⅳ)로 진행한다. 그렇지 않으면, 단계 (ⅱ.d)로 계속간다.
(ⅱ.d) t = t+1로 두고, α t t-1 Γ t 를 계산한다. 이전과 마찬가지로 정규화를 행한다. 계산된 가장 최근의 L개의 α 세트와 이전에 단계 (ⅱ.a)에서 구한 α t 만을 유지한다.
(ⅱ.e) 새로운 α t 를 이전에 구한 세트와 비교한다. M개의 새로운 α t 및 이전의 α t 가 허용 범위내에 있으면, 단계 (ⅳ)로 진행한다. 그렇지 않은 경우에는, 가장 최근의 2개의 벡터가 허용 범위 내에서 일치하지 않고, 또한 재귀법의 횟수가 소정의 최대 값(전형적으로는 2L)을 초과하지 않는다면, 단계 (ⅱ.d)로 계속간다. 그렇지 않으면, 단계 (ⅳ)로 진행한다.
이어서, 이 방법은 고유 벡터 방법에 관해 전술한 단계 (ⅳ)와 (ⅴ)를 계속하여어, 순환 MAP 디코더의 소프트 판정 출력 및 디코딩 출력 비트를 발생한다.
미국 특허 출원(출원인 정리 번호 : RD-24,923)에 기재되어 있는 바와 같은, 본 발명의 또다른 대체 실시예의 순환 MAP 디코더에서는, 전술한 재귀법을 사용하는 순환 MAP 디코더가 2회째에는 소정의 일정 수의 격자 단을 처리하기만 하면 되도록, 즉 소정의 랩 깊이(wrap depth)를 갖도록 변경된다. 이것은, 모든 인코딩된 메시지 블록에 대해 디코딩에 필요한 계산 횟수가 동일하기 때문에, 실시 목적상 유리하다. 따라서, 하드웨어 및 소프트웨어의 복잡성이 감소된다.
테일 바이팅 컨벌루션 코드의 MAP 디코딩에 필요한 랩 길이를 추정하는 한 가지 방법은, 하드웨어 또는 소프트웨어의 실험으로부터 그것을 결정하는 것으로서, 이것은 가변 랩 깊이를 갖는 순환 MAP 디코더를 구현할 것, 또한 순차적으로 증가하는 랩 깊이에 대해 디코딩 비트 에러율 대 Eb/No을 측정하기 위한 실험을 행할 것을 필요로 한다. 랩 깊이를 그 이상 증가시켜도, 에러 확률이 감소하지 않을 때, 특정의 Eb/No에 대한 디코딩 비트 에러의 최소 확률을 제공하는 최소 디코더 랩 깊이가 구해진다.
특정의 Eb/No에서 달성할 수 있는 최소값보다 더 큰 디코딩된 비트 에러율이 허용된다면, 순환 MAP 디코더에 의해 처리할 필요가 있는 격자 단의 수를 저감시키는 것이 가능하다. 상세히 말하면, 전술한 랩 깊이 탐색은, 비트 에러의 소망이 평균 확률이 달성된 때, 간단히 종료될 수 있다.
소정의 코드에 대한 랩 깊이를 결정하는 다른 방법은, 코드의 거리 특성을 이용하는 것이다. 이 목적을 위해, 2개의 별개의 디코더 판정 깊이를 정의할 필요가 있다. 본 명세서에 사용되는 “정확한 경로”라는 용어는, 데이터 비트의 블록을 인코딩함으로써 얻어지는 상태들의 시퀀스 또는 격자를 지나가는 경로를 말한다. “노드의 부정확한 서브세트”라는 용어는, 정확한 경로 노드 및 그의 자손으로부터 나온 모든 부정확한 (격자) 분기의 세트를 말한다. 이하에서 정의되는 2가지 판정 깊이 모두는 컨벌루션 인코더에 의존한다. (설명의 목적상, 본 발명의 이 실시예를 컨벌루션 인코더와 관련하여 설명하였지만, 본 발명은 컨벌루션 코드에 제한되지는 않는다는 것을 이해해야 한다.)
판정 깊이는 다음과 같이 정의된다:
(ⅰ) е에러 정정에 대한 순방향 판정 깊이, LF(e) 를, 정확한 경로의 최초의 노드의 부정확한 서브세트내에 있는 모든 경로가, 후에 정확한 경로에 합류(merge)하는지 여부에 관계없이, 정확한 경로로부터 해밍 거리(Hamming distance) 2e 보다 먼 곳에 있는, 격자에서의 첫번째 깊이로 정의한다. LF(e)의 의의는, 최초의 노드보다 순방향쪽으로 e 또는 그보다 더 적은 에러가 있고, 또한 인코딩이 그곳에서 시작한 것으로 알고 있는 경우, 디코더는 정확하게 디코딩해야 한다는 것이다. 컨벌루션 코드에 대한 순방향 판정 깊이를 공식적으로 도표화한 것이, IEEE Transactions on Information Theory의 1989년 3월호 vol. IT-35, pp.455-459에 있는 J.B. Anderson 및 K. Balachandran의 논문 “ Decision Depths of Convolutional Codes”에 기재되어 있다. LF(e)의 다수의 특성이, 이 문헌과 MA, Norwell 소재의 Kluwer Academic Publishers에서 1991년에 출판한 J.B Andersion 및 S. Mohan의 저서 “Source and Channel Coding-An Algorithmic Approach”에 기재되어 있다. 이러한 특정들 중에서 중요한 것은, LFe 사이에 간단한 선형 관계가 존재한다는 것이다. 예를 들면, 부호율 1/2의 코드에서는, LF가 약 9.08 e 이다.
(ⅱ) 다음에, e 에러 정정에 대한 미합류 판정 깊이, LU(e)를, 정확한 경로에 접촉하지 않는 격자내의 모든 경로가 정확한 경로로부터 해밍 거리 2e 보다 멀리 떨어져 있는 격자에서의 첫번째 깊이로 정의한다.
소프트 판정 순환 MAP 디코딩에 있어서의 LU(e)의 의의는, 디코더가 LU(e) 개의 격자 단을 처리한 후에, 실제로 전송된 경로상의 어떤 상태를 확인할 확률이 높다는 것이다. 따라서, 순환 MAP 디코딩에 대한 최소 랩 깊이는 LU(e)가 된다. 깊이 LU(e)를 계산해 보면, 그 깊이 LU(e) LF(e) 보다는 항상 크지만, 동일한 근사 법칙을 따른다는 것을 알 수 있다. 이러한 사실은, 코드의 미합류 판정 깊이를 알지 못하더라도, 최소 랩 깊이를 순방향 판정 깊이 LF(e) 로서 추정할 수 있다는 것을 의미한다.
소정의 인코더에 대한 미합류 판정 깊이의 최소값을 구함으로써, 소프트 판정 출력을 발생하는 실용적인 순환 디코더에 의해 처리되어야만 하는 가장 적은 격자 단 수를 구하게 된다. 순방향 판정 깊이, LF(e)를 구하는 알고리즘은, 상기 인용된 J.B. Anderson 및 K. Balachandran의 저서 “Decision Depths of Convolutional Codes”에 기재되어 있다. LU(e)를 구하기 위해서는,
(ⅰ) 영의 상태(zero-state)를 제외하고, 모든 격자 노드로부터 동시에 시작하여 코드 격자를 좌에서 우로 따라간다(extend).
(ⅱ) 각각의 레벨에서, 정확한 (모든 영(zero)) 경로에 합류하는 경로가 있으면 이를 모두 삭제하고, 정확한 (영의) 상태 노드로부터 나오는 경로는 그 어느 것도 따라가지(extend) 않는다.
(ⅲ) 레벨 k에서, 이 레벨의 노드에서 종단하는 경로 중에서 최소의 해밍 거리 또는 가중치를 구한다.
(ⅳ) 이 최소의 거리가 2e를 초과하면 중지한다. 이 때, LU(e) = k 이다.
미국 특허 출원(출원인 정리 번호: RD-24,923)에 기재되어 있는 바와 같이, 컴퓨터 시뮬레이션에 의한 실험에서, 예상 밖의 2가지 결과를 얻었다. (1) β t 의 랩핑 처리가 디코더 성능을 향상시킨다. (2) LU(e) + LF(e) 2LF(e) 의 랩 깊이를 이용하면, 성능이 현저하게 향상된다. 이들 예상 밖의 결과에 의해, 재귀법에 기초하는 테일 비아팅 격자 코드에 대한 순환 MAP 디코더의 수정이 신속히 이루어진다. 따라서, 재귀법에 기초한 양호한 실시예의 순환 MAP 디코더의 알고리즘은, 이하의 단계를 포함한다.
(ⅰ) 수학식 2에 따라, t=1,2,...L 동안 Γ t 를 계산한다.
(ⅱ) (1/M,...,1/M)(여기서, M은 격자에서의 상태의 수임)과 동일한 초기의 α 0 로부터 시작하여, u = 1,2,...(L+Lw)(여기서, Lw는 디코더의 랩 깊이임)에 대해 수학식 5의 순방향 재귀법을 (L+L w )회 계산한다. 격자 레벨 지수 t는 ((u-1)mod L) + 1의 값을 갖는다. 디코더가 채널로부터의 수신 심볼 시퀀스를 따라 랩핑할 때, α L α 0 로서 취급된다. 그 결과를 정규화하여, 각각의 새로운 α t 의 요소의 합계가 1로 되도록 한다. 이 재귀법에 의해 구한 L개의 가장 최근의 α벡터를 유지한다.
(ⅲ) (1,...,1) T 과 동일한 초기의 β L 부터 시작하여,u = 1,2,...(L+Lw ) 에 대하여 수학식 6의 역방향 재귀법을 (L+L w ) 회 계산한다. 격자 레벨 지수 t(L-(u mod L)의 값을 갖는다. 부호기가 수신 시퀀스를 따라 랩핑하는 경우, 새로운 β L 을 계산할 때, β 1 β L+1 로서 사용하고, Γ 1 Γ L+1 로서 사용된다. 그 결과를 정규화하여, 각각의 새로운 β t 의 요소의 합계가 1로 되도록 한다. 이 경우도, 이 재귀법에 의해 구한 L개의 가장 최근의 β벡터들을 유지한다.
이 양호한 재귀법의 다음 단계는, 고유 벡터 방법에 관하여 전술한 전환 MAP 디코더에 의해 소프트 판정 및 디코딩 비트 출력을 발생하기 위한 단계 (v)와 동일하다.
도 5는 본 발명의 바람직한 실시예에 따라 순환 MAP 디코더(180)를 나타낸 간략 블록도이다. 디코더(180)는 채널 출력 y t 의 함수로서 Γ t 를 계산하는 Γ t 계산기(182)를 포함한다. 채널 출력 y 1 ,...,y L 은 스위치(184)를 통해 Γ t 계산기에 제공된다. 이 스위치가 하측 위치에 있을 때, L개의 채널 출력 심볼이 한번에 한개 씩Γ t 계산기(182) 및 시프트 레지스터(186)에 로드(load)된다. 그 후에, 스위치(184)를 상측 위치로 절환하여, 시프트 레지스터가 처음 L w 개의 수신된 심볼을 또 다시 Γ t 계산기로 시프트시킨다, 즉 순환 처리의 제공이 가능하도록 한다. Γ t 계산기는, 메모리(196)로부터 입력으로서, 채널 전이 확률 R(Y t ,X), 인코더가 시각 t에서 상태 m′로부터 m으로 천이할 확률 p t (m/m′), 및 인코더의 이전의 상태가 m′이고 인코더의 현재의 상태가 m이라고 할 때 인코더의 출력 심볼이 X일 확률 q t (X/m′,m)을 수신한다. Γ t 계산기는, 수학식 2에 따라, 가능한 모든 인코더의 출력 X에 걸쳐 합산함으로써 Γ t 의 각 요소를 계산한다.
Γ t 의 계산된 값은 행렬 곱 계산기(190)에 제공되고, 이 계산기(190)는 Γ t 행렬과 α t -1 행렬을 승산한다. 이 α t -1 행렬은, 지연회로(192) 및 디멀티플렉서 회로(194)를 통해 재귀적으로 제공된다. t=1일 때는, 제어 신호 CNTRL1에 의해, 디멀티플렉서(194)가 행렬 곱 계산기(190)에 대한 한 입력으로서 메모리(196)로부터 α 0 를 선택하게 된다. 2 ≤ t L일 때는, 제어 신호 CNTRL1에 의해, 디멀티플렉서(194)가 행렬 곱 계산기(190)에 대한 한 입력으로서 지연 회로(192)로부터 α t -1를 선택하게 된다. Γ t α t 의 값은 필요에 따라 메모리(196)에 저장된다.
β t 벡터는, 지연 회로(202) 및 디멀티플렉서 회로(204)를 통해 행렬 곱 계산기(200)에서 재귀적으로 계산된다. t= L-1일 때는, 제어 신호 CNTRL2에 의해, 디멀티플렉서(204)가 행렬 곱 계산기(200)에 대한 한 입력으로서 메모리(196)로부터 β L 을 선택하게 된다. L -2 ≥ t ≥ 1일 때, 제어 신호 CNTRL2에 의해, 디멀티플렉서(204)가 행렬 곱 계산기(200)에 대한 한 입력으로서 지연 회로(202)로부터 β t +1를 선택하게 된다. 전술한 바와 같이, 이 결과 얻어진 β t 의 값과 α t 의 값을 요소간 곱 계산기(206)에서 승산하여 확률 λ t 를 발생한다. 도 4를 참조하여 전술한 바오 동일한 방식으로, λ t 의 값은 디코딩 비트 값 확률 계산기(150)에 제공되고, 이 계산기(150)의 출력이 문턱값 판정 장치(152)에 제공되며, 그 결과로서 디코더의 디코딩 출력 비트가 얻어진다.
도 5에는 또한, 디코딩 비트가 영(0)일 확률 P{d j t = 0/Yj t}이 소프트 출력 함수 블록에 제공되는 것으로 도시되어 있다. 소프트 출력 함수 블록(154)은 디코더의 소프트 판정 출력으로서, 예를 들면,
와 같은 확률 함수, 즉 f( P{d j t = 0/Yj t}) 를 제공한다. P{d j t = 0/Yj t}의 또다른 유용한 함수로는,
가 있다. 이 대신에, 블록(54)에 대해 유용한 함수는 단순히 항등 함수로 하여, 소프트 출력이 단지 P{d j t = 0/Yj t}로 되도록 하여도 좋다.
본 발명에 따르면, 채널을 통해 합성 코드워드의 비트를 전송하기에 앞서, 합성 코드워드 포맷 장치(formatter)에 의해 형성된 합성 코드워드 내에서 선택된 비트를, 유리하게 선택된 패턴에 따라 삭제함으로써, 테일-바이팅 비재귀적 계통적 코드로 구성된 병렬 연결 인코딩 방식의 속도를 증가시키는 것이 가능하다. 이러한 기술은 펑춰링(puncturing)이라고 알려져 있다. 이러한 펑춰링 패턴도 디코더가 알고 있다. 수신된 합성 코드워드로부터 성분 코드워드로의 변환기에 의해 수행되는 다음의 간단한 추가적인 단계가, 원하는 디코더 동작을 제공한다. 수신된 합성 코드워드로부터 성분 코드워드로의 변환기는, 수신된 성분 코드워드를 형성할 때, 알고 있는 펑춰링된 각 비트에 대해 중립값을 단순히 삽입시킨다. 예를 들어, 중립값은 부가적인 백색 가우스 노이즈 채널을 통해 대척점 신호 방식(antipodal signalling)을 위한 것이다. 나머지 디코더의 동작은 전술한 바와 동일하다.
비재귀적 통계적 컨벌루션 코드는, 예를 들면, 발행 예정인 S. Benedetto와 G. Montorsi의 “Design of Parallel Concatenated Convolutional Codes”, IEEE Transactions on Communications에 보고되어 있는 바와 같이, 데이터 블록의 길이가 비교적 큰 경우에 RSC 코드의 거리 특성이 우수하기 때문에, 지금까지는 병렬 연결 인코딩 방식의 성분 코드로서는 유용하지 않은 것으로 널리 알려져 있다. 하지만, 전술한 바와 같이, 본 발명가들은 NSC 코드의 최소 거리가 데이터 블록 길이에 그렇게 민감하지 않으며, 따라서, 매우 잡음이 많은 채널로 짧은 데이터 비트 블록을 전송하는 통신 시스템에 유리하게 사용될 수 있다고 결론지었다. 게다가, 본 발명가들은 문제가 해결되는 것으로 결론지었다. 테일-바이팅 컨벌루션 코드를 병렬 연결 인코딩 방식에서 성분 코드로서 사용하는 것은, 지금까지 제안된 적이 없다. 따라서, 본 발명은, 성분 테일-바이팅 컨벌루션 코드를 디코딩하는 순환 MAP 디코더로 구성된 디코더를 가지며, 비트 에러율 대 신호-잡음비로 측정했을 때, 종래의 터보 인코딩 방식보다도 짧은 데이터 블록 길이에 대한 성능이 더 한층 양호한, 병렬 연결 비재귀적 테일-바이팅 통계적 컨벌루션 인코딩 방식을 제공한다.
본 발명의 바람직한 실시예에 대해서 본 명세서 중에 도시 및 설명하였지만, 이들 실시예가 단지 예로써 제시된 것이라는 것은 말할 필요도 없다. 당업자라면, 본 발명의 범위를 벗어나지 않고 다양한 변형, 변경 및 치환을 생각할 수 있을 것이다. 따라서, 본 발명은 첨부된 청구 범위의 기술적 사상 및 범위에 의해서만 한정된다고 할 것이다.

Claims (36)

  1. 병렬 연결 컨벌루션 인코딩 방법에 있어서,
    병렬 연결로 접속되어 있는 복수인 N 개의 성분 인코더와 N-1 개의 인터리버를 갖는 병렬 연결 인코더에 데이터 비트들의 블록을 제공하는 단계와,
    상기 성분 인코더들 중 첫번째 성분 인코더에서, 상기 데이터 비트들의 블록에 테일-바이팅 비재귀적 계통적 컨벌루션 코드를 적용함으로써, 상기 데이터 비트들의 블록을 인코딩하고, 이에 따라 데이터 비트와 패리티 비트를 포함하는 대응하는 제1의 성분 코드워드를 생성하는 단계와,
    상기 데이터 비트들의 블록을 인터리빙하여, 재배치된(permuted) 데이터 비트들의 블록 제공하는 단계와,
    두 번째 성분 인코더에서, 상기 인터리빙의 결과로 얻은 재배치된 데이터 비트들의 블록에 테일-바이팅 비재귀적 계통적 컨벌루션 코드를 적용함으로써, 상기 재배치된 데이터 비트들의 블록을 인코딩하고, 이에 따라 데이터 비트와 패리티 비트를 포함하는 대응하는 제2의 성분 코드워드를 생성하는 단계와,
    나머지 N-2 개의 인터리버와 나머지 N-2 개의 성분 인코더를 통하여, 상기 인터리빙 단계, 및 상기 인터리빙의 결과로 얻어지는 재배치된 데이터 비트들의 블록에 테일-바이팅 비재귀적 계통적 컨벌루션 코드를 적용함으로써 이 데이터 비트들의 블록을 인코딩하는 단계를 반복하고, 이에 따라 데이터 비트와 패리티 비트를 포함하는 성분 코드워드를 생성하는 단계와,
    상기 성분 코드워드들의 비트들을 포맷하여 합성 코드워드를 제공하는 단계를 포함하는 병렬 연결 컨벌루션 인코딩 방법.
  2. 제1항에 있어서, 상기 포맷 단계는, 상기 합성 코드워드에서 상기 데이터 비트들의 블록에 있는 각 비트가 단 한 번씩만 나타나도록 수행되는 것인 병렬 연결 컨벌루션 인코딩 방법.
  3. 제1항에 있어서, 상기 포맷 단계는, 상기 합성 코드워드가 미리 결정된 패턴에 따라 상기 성분 코드워드들을 구성하는 비트들 중 선택된 비트들만 포함하도록 수행되는 것인 병렬 연결 컨벌루션 인코딩 방법.
  4. 병렬 연결 컨벌루션 코드를 디코딩하는 방법에 있어서,
    병렬 연결 인코더에서 데이터 비트들의 블록에 테일-바이팅 비재귀적 계통적 컨벌루션 코드를 적용함으로써 발생된 복수의 N 개의 성분 코드워드로부터의 포맷된 비트들의 집합을 포함하는 합성 코드워드를 채널로부터 수신하여, 상기 수신된 합성 코드워드로부터 수신 성분 코드워드들을 형성하며,
    합성 디코더의 복수의 N 개의 성분 디코더 각각은 대응하는 수신 성분 코드워드 및 데이터 비트들의 값에 대한 한 세트의 선험적 소프트-판정 정보(a priori soft-decision information)를 수신하는 것인, 합성 코드 워드 수신 단계와;
    N 개의 성분 디코더 및 N-1 개의 인터리버를 통한 반복 프로세스에 의해 상기 수신 성분 코드워드들을 디코딩하여, 상기 합성 디코더로부터 소프트-판정 출력을 제공하고,
    상기 N 개의 성분 디코더 각각은 순환 MAP 디코더들을 포함하고, 대응하는 성분 인코더에 의해 인코딩된 순서로 데이터 블록에 있는 각 데이터 비트에 관한 소프트-판정 정보를 제공하고,
    상기 N-1 개의 인터리버 각각은 선행하는 성분 디코더로부터의 소프트-판정 정보를 인터리빙하여, 재배치된 소프트 정보의 블록을 후속하는 성분 디코더에 제공하고,
    상기 N 개의 성분 디코더 중의 첫번째 디코더에 대한 한 세트의 선험적 소프트-판정 정보는 데이터 비트 값이 첫번째 반복에서는 동일 확률을 갖는 것으로 가정하여 계산되고, 그 후에는 상기 소프트-판정 정보의 제1 함수를 포함하고,
    상기 소프트-판정 정보의 제1 함수는 N-1 개의 인터리버에 대응하는 N-1 개의 디인터리버를 포함한 제1 디인터버리를 통해 N 번째 성분 디코더로부터 피드백되고,
    상기 제1 디인터리버의 N-1 개의 디인터리버는 상기 N-1개의 인터리버에 역의 순서로 적용되며,
    다른 성분 디코더 각각에 제공되는 한 세트의 선험적 소프트-판정 정보는 순서상 그 이전에 있는 성분 디코더로부터의 소프트-판정 정보의 제1 함수를 포함하는 것인, 수신 성분 코드워드 디코딩 단계와;
    N 번째 성분 디코더로부터의 소프트-판정 출력의 제2 함수를 합성 디코더의 소프트-판정 출력으로서 제공하기 위해 상기 N-1 개의 인터리버에 대응하는 N-1 개의 디인터리버를 사용하여 제2 디인터리버에서 디인터리빙하는 단계로서, 상기 제2 디인터리버의 N-1 개의 디인터리버는 N-1 개의 인터리버에 역의 순서로 적용되는 것인, 디인터리빙 단계를 포함하는 병렬 연결 컨벌루션 코드의 디코딩 방법.
  5. 제4항에 있어서, 상기 성분 디코더, 인터리버 및 디인터리버를 통한 반복 횟수는 미리 결정된 횟수인 것인 병렬 연결 컨벌루션 코드의 디코딩 방법.
  6. 제4항에 있어서, 상기 성분 디코더, 인터리버 및 디인터리버를 통한 반복은, 그 반복 횟수가 최대 횟수 미만인 경우는 디코더의 수렴이 검출될 때까지 계속되고 , 그렇지 않은 경우에는 디코딩이 최대의 반복 횟수의 후에 종료하며,
    상기 합성 디코더는, 그의 소프트-판정 출력으로서, N 번째 성분 디코더로부터의 소프트-판정 출력의 제2 함수를 제2 디인터리버를 통해 제공하는 것인 병렬 연결 컨벌루션 코드의 디코딩 방법.
  7. 제4항에 있어서, 상기 합성 디코더의 소프트-판정 출력의 함수로서 하드-판정 출력을 제공하는 판정 규칙을 적용하는 단계를 더 포함하는 것인 병렬 연결 컨벌루션 코드의 디코딩 방법.
  8. 제4항에 있어서, 상기 포맷된 비트들의 집합은 미리 결정된 패턴에 따라 펑춰링되는 것이고,
    상기 디코딩 방법은, 수신 성분 코드워드를 형성할 때, 상기 펑춰링된 모든 비트들에 대해 중립값(neutral value)을 삽입하는 단계를 더 포함하는 것인 병렬 연결 컨벌루션 코드의 디코딩 방법.
  9. 제4항에 있어서, 상기 디코딩 단계는 순환 MAP 디코더를 포함하는 N 개의 성분 디코더에 의해 수행되고,
    상기 순환 MAP 디코더는 고유 벡터 문제의 해를 구함으로써 초기 상태 확률 분포를 제공하는 것인 병렬 연결 컨벌루션 코드의 디코딩 방법.
  10. 제4항에 있어서, 상기 디코딩 단계는 순환 MAP 디코더를 포함하는 N 개의 성분 디코더에 의해 수행되고,
    상기 디코딩 단계는 재귀를 포함하고,
    상기 순환 MAP 디코더는 순환 테일 바이팅 격자에 대하여 동작하며,
    상태 확률들이 변경될 때까지 순방향 재귀가 연속적으로 수행되는 것인 병렬 연결 컨벌루션 코드의 디코딩 방법.
  11. 병렬 연결로 접속되어 있는 복수 개(N 개)의 성분 인코더와 N-1 개의 인터리버를 갖는 병렬 연결 인코더에 데이터 비트들의 블록을 제공하는 단계와,
    상기 성분 인코더들 중 첫번째 인코더에서, 테일-바이팅 비재귀적 계통적 컨벌루션 코드를 데이터 비트들의 블록에 적용함으로써 상기 데이터 비트들의 블록을 인코딩하고, 이에 따라 데이터 비트와 패리티 비트를 포함한 대응하는 제1의 성분 코드워드를 생성하는 제1 인코딩 단계와,
    상기 데이터 비트들의 블록을 인터리빙하여 재배치된 데이터 비트들의 블록을 제공하는 인터리빙 단계와,
    후속하는 성분 인코더에서, 테일-바이팅 비재귀적 계통적 컨벌루션 코드를 상기 인터리빙의 결과로 얻은 재배치된 데이터 비트들의 블록에 적용함으로써 상기 재배치된 데이터 비트들의 블록을 인코딩하고, 이에 따라 데이터 비트와 패리티 비트를 포함한 대응하는 제2의 성분 코드워드를 생성하는 제2 인코딩 단계와,
    나머지 N-2 개의 인터리버와 나머지 N-2 개의 성분 인코더를 통해, 상기 인터리빙 단계와 그 결과 얻어진 재배치된 데이터 비트들의 블록을 인코딩하는 제2 인코딩 단계를 반복하고, 이에 따라 데이터 비트와 패리티 비트를 포함한 성분 코드워드를 생성하는 단계와,
    상기 성분 코드워드의 비트들을 포맷하여 합성 코드워드를 제공하는 포맷 단계와,
    상기 합성 코드워드를 채널에 입력하는 단계와,
    채널로부터 수신 합성 코드워드를 수신하는 단계와,
    상기 수신 합성 코드워드로부터 수신 성분 코드워드를 형성하는 단계와,
    합성 디코더의 복수 개(N 개)의 성분 디코더 중 대응하는 하나의 디코더에 각각의 수신 성분 코드워드를 제공하는 단계로서, 상기 각각의 성분 디코더는 상기데이터 비트들의 값에 대한 한 세트의 선험적인 확률도 수신하는 것인, 각각의 수신 성분 코드워드 제공 단계와,
    상기 합성 디코더로부터 소프트-판정 출력을 제공하기 위해 N 개의 성분 디코더 및 N-1 개의 인터리버를 통한 반복 과정에 의해 상기 수신 성분 코드워드를 디코딩하는 단계로서, 상기 N 개의 성분 디코더 각각은 상기 대응하는 성분 인코더에 의해 인코딩된 순서로 데이터 블록에 있는 각 데이터 비트들에 관한 소프트-판정 정보를 제공하며, 상기 N-1 개의 인터리버 각각은 선행하는 성분 디코더로부터의 소프트-판정 정보를 인터리빙하여 후속하는 성분 디코더에 재배치된 소프트 정보의 블록을 제공하고, 상기 N 개의 성분 디코더 중의 첫번째 디코더에 대한 한 세트의 선험적 소프트-판정 정보는 데이터 비트 값이 첫번째 반복에서는 동일 확률을 갖는 것으로 가정하여 계산되고 그 후에는 상기 소프트-판정 정보의 제1 함수를 포함하며, 상기 소프트-판정 정보의 제1 함수는 N-1 개의 인터리버에 대응하는 N-1 개의 디인터리버를 포함한 제1 디인터리버를 통해 N 번째 디코더로부터 피드백되 고, 상기 제1 디인터리버의 N-1 개의 디인터리버는 N-1개의 인터리버에 역의 순서로 적용되며, 다른 성분 디코더 각각에 제공되는 한 세트의 선험적 소프트-판정 정보는 순서상 그 이전에 있는 성분 디코더로부터의 소프트-판정 정보의 제1 함수를 포함하는 것인, 수신 성분 코드워드 디코딩 단계와,
    N 번째 성분 디코더로부터의 소프트-판정 출력의 제2 함수를 합성 디코더의 소프트-판정 출력으로서 제공하기 위해 상기 N-1 개의 인터리버에 대응하는 N-1 개의 디인터리버를 사용하는 제2 인터리버에서 디인터리빙한느 단계로서, 상기 제2 디인터리버의 N-1 개의 디인터리버는 N-1 개의 인터리버에 역의 순서로 적용되는 것인, 디인터리빙 단계를 포함하는 병렬 연결 컨벌루션 코드의 인코딩 및 디코딩 방법.
  12. 제11항에 있어서, 상기 포맷 단계는 상기 합성 코드워드에서 상기 데이터 비트들의 블록에 있는 각 비트가 단 한 번씩만 나타나도록 수행되는 것인 병렬 연결 컨벌루션 코드의 인코딩 및 디코딩 방법.
  13. 제11항에 있어서, 상기 포맷 단계는 상기 합성 코드워드가 미리 결정된 패턴에 따라 상기 성분 코드워드를 구성하는 비트들 중 선택된 비트만을 포함하도록 수행되는 것인 병렬 연결 컨벌루션 코드의 인코딩 및 디코딩 방법.
  14. 제11항에 있어서, 상기 성분 디코더, 인터리버 및 디인터리버를 통한 반복 횟수는 미리 결정된 횟수인 것인 병렬 연결 컨벌루션 코드의 인코딩 및 디코딩 방법.
  15. 제11항에 있어서, 상기 성분 디코더, N-1개의 인터리버 및 디인터리버를 통한 반복은, 그 반복 횟수가 최대 횟수 미만인 경우는 디코더의 수렴이 검출될 때까지 계속되고, 그렇지 않은 경우에는 디코딩이 최대의 반복 횟수의 후에 종료하며,
    상기 합성 디코더는, 그의 소프트-판정 출력으로서, N 번째 성분 디코더로부터의 소프트-판정 출력의 제2 함수를 제2 디인터리버를 통해 제공하는 것인 병렬 연결 컨벌루션 코드의 인코딩 및 디코딩 방법.
  16. 제11항에 있어서, 상기 합성 디코더의 소프트-판정 출력의 함수로서 하드-판정 출력을 제공하는 판정 규칙을 적용하는 단계를 더 포함하는 것인 병렬 연결 컨벌루션 코드의 인코딩 및 디코딩 방법.
  17. 제11항에 있어서, 상기 디코딩 단계는 순환 MAP 디코더를 포함하는 N 개의 성분 디코더에 의해 수행되고,
    상기 순환 MAP 디코더는 고유 벡터 문제의 해를 구함으로써 초기 상태 확률 분포를 제공하는 것인 병렬 연결 컨벌루션 코드의 인코딩 및 디코딩 방법.
  18. 제11항에 있어서, 상기 디코딩 단계는 순환 MAP 디코더를 포함하는 N 개의 성분 디코더에 의해 수행되고,
    상기 순환 MAP 디코더는 순환 테일 바이팅 격자에 대하여 동작하고,
    상태 확률들이 수렴할 때까지 순방향 재귀가 연속적으로 수행되는 것인 병렬 연결 컨벌루션 코드의 인코딩 및 디코딩 방법.
  19. 제11항에 있어서, 상기 포맷 단계는 상기 성분 코드워드들로부터의 비트들 중 선택된 비트들을 펑춰링하는 단계를 더 포함하고,
    상기 합성 코드 워드는 펑춰링된 비트들이 없는 성분 코드워드들을 포함하고,
    상기 디코딩 방법은 상기 수신 성분 코드워드들을 형성할 때 모든 펑춰링된 비트들에 대한 중립값을 삽입하는 단계를 더 포함하는 것인 병렬 연결 컨벌루션 코드의 인코딩 및 디코딩 방법.
  20. 병렬 연결로 접속되어 있으며, 데이터 비트의 블록 및 데이터 비트의 블록의 여러 가지 순열(permutation)에 대해 테일-바이팅 비재귀적 계통적 컨벌루션 코드를 계통적으로 적용함으로써 상기 데이터 비트와 패리티 비트를 포함한 성분 코드워드를 생성하는 복수 개(N 개)의 성분 인코더 및 복수 개(N-1 개)의 인터리버와,
    상기 성분 코드워드로부터의 비트의 집합을 포맷하여 합성 코드워드를 제공하는 합성 코드워드 포맷기를 포함하는 병렬 연결 인코더.
  21. 제20항에 있어서, 상기 합성 코드워드 포맷기는 상기 합성 코드워드에서 상기 데이터 비트들의 블록에 있는 각 비트가 단 한 번씩만 나타나도록 상기 합성 코드워드를 발생하는 것인 병렬 연결 인코더.
  22. 제20항에 있어서, 상기 합성 코드워드 포맷기는 상기 합성 코드워드가 미리 결정된 패턴에 따라 상기 성분 코드워드를 구성하는 비트들 중 선택된 비트들만 포함하도록 상기 합성 코드워드를 발생하는 것인 병렬 연결 인코더.
  23. 병렬 연결 컨벌루션 코드를 디코딩하는 합성 디코더로서,
    병렬 연결 디코더에서 테일-바이팅 비재귀적 컨벌루션 코드를 데이터 비트의 블록에 적용함으로써 생성된 복수의 N 개의 성분 코드워드의 선택된 비트들을 포함한 합성 코드워드를 채널로부터 수신하고, 그로부터 복수의 N 개의 대응하는 수신성분 코드워드를 형성하는 합성 코드워드-성분 코드워드 변환기와,
    상기 합성 코드워드-성분 코드워드 변환기로부터 대응하는 수신 성분 코드워드를 각각 수신하고, 또한 상기 데이터 비트들의 값에 대한 한 세트의 선험적 소프트-판정 정보도 각각 수신하며, 상기 병렬 연결 인코더내의 대응하는 성분 인코더에 의해 인코딩된 순서로 데이터 블록내의 각 데이터 비트에 대한 소프트-판정 정보를 각각 제공하는 복수의 N 개의 성분 디코더-상기 N 개의 성분 디코더 각각은 순환 MAP 디코더들을 포함함-와,
    대응하는 성분 디코더로부터의 상기 소프트-판정 정보를 인터리빙하여, 후속하는 성분 디코더에 재배치된 소프트 정보의 블록을 각각 제공하는 복수의 N-1 개의 인터리버로서, 상기 수신 코드워드를 상기 N 개의 성분 디코더와 N-1 개의 인터리버를 통한 반복 과정에 의해 디코딩되어 상기 합성 디코더로부터 소프트-판정 출력을 제공하는 것인, 복수 N-1 개의 인터리버와,
    상기 N-1 개의 인터리버에 대응하는 N-1 개의 디인터리버를 포함한 제1 디인터리버로서, 이 제1 디인터리버의 N-1 개의 디인터리버는 상기 N-1 개의 인터리버에 역의 순으로 적용되며, 상기 N 개의 성분 디코더 중 첫번째 디코더에 대한 상기 한 세트의 선험적 소프트-판정 정보는 상기 데이터 비트의 값이 첫번째 반복에서는 동일 확률을 갖는 것으로 가정하여 계산되고, 그 후에는 상기 소프트-판정 정보의 제1 함수를 포함하며, 상기 소프트-판정 정보의 제1 함수는 N 번째 디코더에 의해 출력되어 상기 제1 디인터리버를 통해 피드백되고, 다른 성분 디코더 각각에 제공되는 한 세트의 선험적 소프트-판정 정보는 순서상 그 이전에 있는 성분 디코더로부터의 소프트-판정 정보의 제1 함수를 포함하는 것인, 제1 디인터리버와,
    상기 N-1 개의 인터리버에 대응하며 이 N-1 개의 인터리버에 역의 순서로 적용되는 N-1 개의 디인터리버를 구비하고, 상기 N 번째 성분 디코더로부터의 소프트 -판정 출력의 제2 함수를 디인터리빙하여 상기 합성 디코더의 소프트-판정 출력을 제공하는 제2 디인터리버를 포함하는 병렬 연결 컨벌루숀 코드용 합성 디코더.
  24. 제23항에 있어서, 상기 성분 디코더, 인터리버 및 디인터리버를 통한 반복 횟수는 미리 결정된 횟수인 것인 병렬 연결 컨벌루션 코드용 합성 디코더.
  25. 제23항에 있어서, 상기 성분 디코더, 인터리버 및 디인터리버를 통한 반복은, 그 반복 횟수가 최대 횟수 미만인 경우는 디코더의 수렴이 검출될 때까지 계속되고, 그렇지 않은 경우에는 디코딩이 최대의 반복 횟수의 후에 종료하며,
    상기 합성 디코더는, 그의 소프트-판정 출력으로서, N 번째 성분 디코더로부터의 소프트-판정 출력의 제2 함수를 제2 디인터리버를 통해 제공하는 것인 병렬 연결 컨벌루션 코드용 합성 디코더.
  26. 제23항에 있어서, 상기 합성 디코더의 소프트-판정 출력의 함수로서 하드-판정 출력을 제공하는 판정 규칙을 적용하는 판정 장치를 더 포함하는 것인 병렬 연결 컨벌루션 코드용 합성 디코더.
  27. 제23항에 있어서, 상기 N 개의 성분 디코더는 고유 벡터 문제의 해를 구함으로써 초기 상태 확률을 제공하는 순환 MAP 디코더들을 포함하는 것인 병렬 연결 컨벌루션 코드용 합성 디코더.
  28. 제23항에 있어서, 상기 N 개의 성분 디코더는 순환 MAP 디코더들을 포함하고,
    상기 순환 MAP 디코더들은 순환 테일 바이팅 격자에 대하여 동작하고,
    상태 확률들이 수렴할 때까지 순방향 재귀가 연속적으로 수행되는 것인 병렬 연결 컨벌루션 코드용 합성 디코더.
  29. 병렬 연결로 접속된 복수의 N 개의 성분 인코더 및 복수의 N-1 개의 인코더 인터리버를 포함하고, 데이터 비트의 블록 및 데이터 비트의 블록의 여러 가지 순열(permutation)에 대해 테일-바이팅 비재귀적 계통적 컨벌루션 코드를 계통적으로 적요함으로써 상기 데이터 비트와 패리티 비트를 포함하는 성분 코드워드를 생성하는 병렬 연결된 인코더와,
    상기 성분 코드워드로부터의 비트의 집합을 포맷하여 합성 코드워드를 제공하는 합성 코드워드 포맷기와,
    상기 합성 코드워드를 채널로부터 수신하고, 그로부터 복수의 N 개의 대응하는 수신 성분 코드워드를 형성하는 합성 코드워드-성분 코드워드 변환기와,
    상기 합성 코드워드-성분 코드워드 변환기로부터 대응하는 수신 성분 코드워드를 각각 수신하고, 또한 상기 데이터 비트들의 값에 대한 한 세트의 선험적 소프트-판정 정보도 각각 수신하며, 상기 병렬 연결 인코더내의 대응하는 성분 인코더에 의해 인코딩된 순서로 데이터 블록내의 각 데이터 비트에 대한 소프트-판정 정보를 각각 제공하는 복수의 N 개의 성분 디코더와,
    대응하는 성분 디코더로부터의 상기 소프트-판정 정보를 각각 인터리빙하여 후속하는 성분 디코더에 재배치된 소프트 정보의 블록을 제공하는 복수의 N-1 개의 인터리버로서, 상기 수신 코드워드는 상기 N 개의 성분 디코더와 N-1 개의 인터리버를 통한 반복 과정에 의해 디코딩되어 상기 합성 디코더로부터 소프트-판정 출력을 제공하는 것인, 복수의 N-1 개의 인터리버와,
    상기 N-1 개의 인터리버에 대응하는 N-1 개의 디인터리버를 포함한 제1 디인터리버로서, 이 제1 디인터리버의 N-1 개의 디인터리버는 상기 N-1 개의 인터리버에 역의 순서로 적용되며, 상기 N 개의 성분 디코더 중 첫번째 디코더에 대한 상기 한 세트의 선험적 소프트-판정 정보는 상기 데이터 비트의 값이 첫번째 반복에서는 동일 확률을 갖는 것으로 가정하여 계산되고 그 후에는 상기 소프느-판정 정보의 제1 함수를 포함하며, 상기 소프트-판정 정보의 제1 함수는 N 번째 디코더에 의해 출력되어 상기 제1 디이터리버를 통해 피드백되고, 다른 성분 디코더 각각에 제공되는 한 세트의 선험적 소프트-판정 정보는 순서상 그 이전에 있는 성분 디코더로부터의 소프트-판정 정보의 제1 함수를 포함한 것인, 제1 인터리버와,
    상기 N-1 개의 인터리버에 대응하며 이 N-1 개의 인터리버에 역의 순서로 적용되는 N-1 개의 디인터리버를 구비하고, 상기 N 번째 성분 디코더로부터의 소프트 -판정 출력의 제2 함수를 디인터리빙하여 상기 합성 디코더의 소프트-판정 출력을 제공하는 제2 디인터리버를 포함하는 병렬 연결 컨벌루션 코드의 인코딩 및 디코딩용의 인코더 및 디코더 시스템.
  30. 제29항에 있어서, 상기 합성 코드워드 포맷기는 상기 합성 코드워드에서 상기 데이터 비트들의 블록에 있는 각 비트가 단 한 번씩만 나타나도록 상기 합성 코드워드를 발생하는 것인 병렬 연결 컨벌루션 코드의 인코딩 및 디코딩용의 인코더 및 디코더의 시스템.
  31. 제29항에 있어서, 상기 합성 코드워드 포맷기는 상기 합성 코드워드가 미리 결정된 패턴에 따라 상기 성분 코드워드를 구성하는 비트들 중 선택된 비트들만 포함하도록 상기 합성 코드워드를 발생하는 것인 병렬 연결 컨벌루션 코드의 인코딩 및 디코딩용의 인코더 및 디코더 시스템.
  32. 제29항에 있어서, 상기 성분 디코더, 인터리버 및 디인터리버를 통한 반복 횟수는 미리 결정된 횟수인 것인 병렬 연결 컨벌루션 코드의 인코딩 및 디코딩용의 인코더 및 디코더 시스템.
  33. 제29항에 있어서, 상기 성분 디코더, 인터리버 및 디인터리버를 통한 반복은, 그 반복 횟수가 최대 횟수 미만인 경우는 디코더의 수렴이 검출될 때까지 계속되고, 그렇지 않은 경우에는 디코딩이 최대의 반복 횟수의 후에 종료하며,
    상기 합성 디코더는, 그의 소프트-판정 출력으로서, N 번째 성분 디코더로부터의 소프트-판정 출력의 제2 함수를 제2 디인터리버를 통해 제공하는 것인 병렬 연결 컨벌루션 코드의 인코딩 및 디코딩용의 인코더 및 디코더 시스템.
  34. 제29항에 있어서, 상기 디코더의 소프트-판정 출력의 함수로서 하드-판정 출력을 제공하는 판정 규칙을 적용하는 판정 장치를 더 포함하는 것인 병렬 연결 컨벌루션 코드의 인코딩 및 디코딩용의 인코더 및 디코더 시스템.
  35. 제29항에 있어서, 상기 N 개의 성분 디코더는 고유 벡터 문제의 해를 구함으로써 초기 상태 확률을 제공하는 순환 MAP 디코더를 포함하는 것인 병렬 연결 컨벌루션 코드의 인코딩 및 디코딩용의 인코더 및 디코더 시스템.
  36. 제29항에 있어서, 상기 N 개의 성분 디코더는 순환 MAP 디코더를 포함하고,
    상기 순환 MAP 디코더들은 순환 테일 바이팅 격자에 대하여 동작하고,
    상태 확률들이 수렴할 때가지 순방향 재귀가 연속적으로 수행되는 것인 병렬 연결 컨벌루션 코드의 인코딩 및 디코딩용의 인코더 및 디코더 시스템.
KR1019970709441A 1996-04-19 1997-04-14 병렬연결테일-바이팅콘벌루션코드및이코드용디코더 KR100522263B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US08/636,732 US5721745A (en) 1996-04-19 1996-04-19 Parallel concatenated tail-biting convolutional code and decoder therefor
US08/636,732 1996-04-19
US8/636,732 1996-04-19

Publications (2)

Publication Number Publication Date
KR19990022971A KR19990022971A (ko) 1999-03-25
KR100522263B1 true KR100522263B1 (ko) 2006-02-01

Family

ID=24553103

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019970709441A KR100522263B1 (ko) 1996-04-19 1997-04-14 병렬연결테일-바이팅콘벌루션코드및이코드용디코더

Country Status (21)

Country Link
US (1) US5721745A (ko)
EP (1) EP0834222B1 (ko)
JP (1) JP3857320B2 (ko)
KR (1) KR100522263B1 (ko)
CN (1) CN1111962C (ko)
AR (1) AR006767A1 (ko)
AU (1) AU716645B2 (ko)
BR (1) BR9702156A (ko)
CA (1) CA2221295C (ko)
CZ (1) CZ296885B6 (ko)
DE (1) DE69736881T2 (ko)
HU (1) HU220815B1 (ko)
ID (1) ID16464A (ko)
IL (1) IL122525A0 (ko)
MY (1) MY113013A (ko)
NO (1) NO975966L (ko)
PL (3) PL184230B1 (ko)
RU (1) RU2187196C2 (ko)
UA (1) UA44779C2 (ko)
WO (1) WO1997040582A1 (ko)
ZA (1) ZA973217B (ko)

Families Citing this family (174)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FI100565B (fi) * 1996-01-12 1997-12-31 Nokia Mobile Phones Ltd Tiedonsiirtomenetelmä ja laitteisto signaalin koodaamiseksi
US6023783A (en) * 1996-05-15 2000-02-08 California Institute Of Technology Hybrid concatenated codes and iterative decoding
KR100498752B1 (ko) * 1996-09-02 2005-11-08 소니 가부시끼 가이샤 비트메트릭스를 사용한 데이터 수신장치 및 방법
US5996113A (en) * 1996-11-26 1999-11-30 Intel Corporation Method and apparatus for generating digital checksum signatures for alteration detection and version confirmation
US6377610B1 (en) * 1997-04-25 2002-04-23 Deutsche Telekom Ag Decoding method and decoding device for a CDMA transmission system for demodulating a received signal available in serial code concatenation
US5983384A (en) * 1997-04-21 1999-11-09 General Electric Company Turbo-coding with staged data transmission and processing
US6029264A (en) * 1997-04-28 2000-02-22 The Trustees Of Princeton University System and method for error correcting a received data stream in a concatenated system
DE59801578D1 (de) * 1997-04-30 2001-10-31 Siemens Ag Verfahren und anordnung zur ermittlung mindestens eines digitalen signalwerts aus einem elektrischen signal
KR100560712B1 (ko) * 1997-06-19 2006-03-16 가부시끼가이샤 도시바 정보데이터 다중화 전송시스템과 그 다중화장치 및 분리장치와,에러정정 부호화장치 및 복호장치
KR19990003242A (ko) 1997-06-25 1999-01-15 윤종용 구조적 펀처드 길쌈부호 부호와 및 복호기
KR19990012821A (ko) 1997-07-31 1999-02-25 홍성용 전자기파 흡수체 조성물과 이의 제조 방법, 전자기파 흡수용도료 조성물과 이의 제조 방법 및 이의 도포 방법
CN1256812C (zh) * 1997-07-30 2006-05-17 三星电子株式会社 透平编码器和信道编码方法
US6192503B1 (en) * 1997-08-14 2001-02-20 Ericsson Inc. Communications system and methods employing selective recursive decording
WO1999012265A1 (fr) * 1997-09-02 1999-03-11 Sony Corporation Codeur/decodeur turbo et procede de codage/decodage turbo
US6138260A (en) * 1997-09-04 2000-10-24 Conexant Systems, Inc. Retransmission packet capture system within a wireless multiservice communications environment with turbo decoding
KR100248396B1 (ko) * 1997-10-24 2000-03-15 정선종 병렬 길쌈 부호화기를 사용한 채널 부호기 설계방법
US6000054A (en) * 1997-11-03 1999-12-07 Motorola, Inc. Method and apparatus for encoding and decoding binary information using restricted coded modulation and parallel concatenated convolution codes
CA2277474C (en) * 1997-11-10 2004-04-06 Akira Shibutani Interleaving method, interleaving apparatus, and recording medium in which interleave pattern generating program is recorded
FR2771228A1 (fr) * 1997-11-18 1999-05-21 Philips Electronics Nv Systeme de transmission numerique, decodeur, et procede de decodage
US6256764B1 (en) * 1997-11-26 2001-07-03 Nortel Networks Limited Method and system for decoding tailbiting convolution codes
EP1042870B1 (en) * 1997-12-24 2002-04-24 Inmarsat Ltd. Coding method and apparatus
US6088387A (en) * 1997-12-31 2000-07-11 At&T Corp. Multi-channel parallel/serial concatenated convolutional codes and trellis coded modulation encoder/decoder
US6370669B1 (en) * 1998-01-23 2002-04-09 Hughes Electronics Corporation Sets of rate-compatible universal turbo codes nearly optimized over various rates and interleaver sizes
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
US6275538B1 (en) 1998-03-11 2001-08-14 Ericsson Inc. Technique for finding a starting state for a convolutional feedback encoder
US6452985B1 (en) * 1998-03-18 2002-09-17 Sony Corporation Viterbi decoding apparatus and Viterbi decoding method
EP1005726B1 (en) 1998-03-31 2003-10-15 Samsung Electronics Co., Ltd. TURBO ENCODING/DECODING DEVICE AND METHOD FOR PROCESSING FRAME DATA ACCORDING TO QoS
KR100557177B1 (ko) * 1998-04-04 2006-07-21 삼성전자주식회사 적응 채널 부호/복호화 방법 및 그 부호/복호 장치
AU735889B2 (en) * 1998-04-18 2001-07-19 Samsung Electronics Co., Ltd. Channel encoding device and method for communication system
US6198775B1 (en) * 1998-04-28 2001-03-06 Ericsson Inc. Transmit diversity method, systems, and terminals using scramble coding
RU2212102C2 (ru) * 1998-06-05 2003-09-10 Самсунг Электроникс Ко., Лтд. Устройство и способ канального кодирования для согласования скорости передачи
US6298463B1 (en) * 1998-07-31 2001-10-02 Nortel Networks Limited Parallel concatenated convolutional coding
JP3453122B2 (ja) * 1998-08-17 2003-10-06 ヒューズ・エレクトロニクス・コーポレーション 最適性能に近いターボコードインターリーバ
JP2000068862A (ja) * 1998-08-19 2000-03-03 Fujitsu Ltd 誤り訂正符号化装置
US6263467B1 (en) 1998-08-20 2001-07-17 General Electric Company Turbo code decoder with modified systematic symbol transition probabilities
US6192501B1 (en) 1998-08-20 2001-02-20 General Electric Company High data rate maximum a posteriori decoder for segmented trellis code words
US6128765A (en) * 1998-08-20 2000-10-03 General Electric Company Maximum A posterior estimator with fast sigma calculator
US6223319B1 (en) 1998-08-20 2001-04-24 General Electric Company Turbo code decoder with controlled probability estimate feedback
JP3612022B2 (ja) 1998-08-27 2005-01-19 ヒューズ・エレクトロニクス・コーポレーション 一般的なターボコードトレリスの終端方法
KR100377939B1 (ko) * 1998-09-01 2003-06-12 삼성전자주식회사 이동통신시스템에서서브프레임전송을위한프레임구성장치및방법
US6526538B1 (en) 1998-09-28 2003-02-25 Comtech Telecommunications Corp. Turbo product code decoder
US6427214B1 (en) 1998-09-29 2002-07-30 Nortel Networks Limited Interleaver using co-set partitioning
US6028897A (en) * 1998-10-22 2000-02-22 The Aerospace Corporation Error-floor mitigating turbo code communication method
US6014411A (en) * 1998-10-29 2000-01-11 The Aerospace Corporation Repetitive turbo coding communication method
US6044116A (en) * 1998-10-29 2000-03-28 The Aerospace Corporation Error-floor mitigated and repetitive turbo coding communication system
KR100277764B1 (ko) * 1998-12-10 2001-01-15 윤종용 통신시스템에서직렬쇄상구조를가지는부호화및복호화장치
US6202189B1 (en) * 1998-12-17 2001-03-13 Teledesic Llc Punctured serial concatenated convolutional coding system and method for low-earth-orbit satellite data communication
KR100346170B1 (ko) * 1998-12-21 2002-11-30 삼성전자 주식회사 통신시스템의인터리빙/디인터리빙장치및방법
US6484283B2 (en) * 1998-12-30 2002-11-19 International Business Machines Corporation Method and apparatus for encoding and decoding a turbo code in an integrated modem system
KR100315708B1 (ko) * 1998-12-31 2002-02-28 윤종용 이동통신시스템에서터보인코더의펑처링장치및방법
KR100296028B1 (ko) * 1998-12-31 2001-09-06 윤종용 이동통신시스템에서 이득 조절 장치를 가지는 복호기
US6088405A (en) * 1999-01-15 2000-07-11 Lockheed Martin Corporation Optimal decoder for tall-biting convolutional codes
US6665357B1 (en) * 1999-01-22 2003-12-16 Sharp Laboratories Of America, Inc. Soft-output turbo code decoder and optimized decoding method
US6304995B1 (en) * 1999-01-26 2001-10-16 Trw Inc. Pipelined architecture to decode parallel and serial concatenated codes
FR2789824B1 (fr) * 1999-02-12 2001-05-11 Canon Kk Procede de correction d'erreurs residuelles a la sortie d'un turbo-decodeur
EP1030457B1 (en) * 1999-02-18 2012-08-08 Imec Methods and system architectures for turbo decoding
US6499128B1 (en) * 1999-02-18 2002-12-24 Cisco Technology, Inc. Iterated soft-decision decoding of block codes
US6678843B2 (en) * 1999-02-18 2004-01-13 Interuniversitair Microelektronics Centrum (Imec) Method and apparatus for interleaving, deinterleaving and combined interleaving-deinterleaving
CN100452659C (zh) * 1999-03-01 2009-01-14 富士通株式会社 加速解码器
FR2790621B1 (fr) 1999-03-05 2001-12-21 Canon Kk Dispositif et procede d'entrelacement pour turbocodage et turbodecodage
US6304996B1 (en) * 1999-03-08 2001-10-16 General Electric Company High-speed turbo decoder
US6754290B1 (en) * 1999-03-31 2004-06-22 Qualcomm Incorporated Highly parallel map decoder
US6715120B1 (en) 1999-04-30 2004-03-30 General Electric Company Turbo decoder with modified input for increased code word length and data rate
US6594792B1 (en) 1999-04-30 2003-07-15 General Electric Company Modular turbo decoder for expanded code word length
DE19924211A1 (de) * 1999-05-27 2000-12-21 Siemens Ag Verfahren und Vorrichtung zur flexiblen Kanalkodierung
US6473878B1 (en) * 1999-05-28 2002-10-29 Lucent Technologies Inc. Serial-concatenated turbo codes
JP3670520B2 (ja) * 1999-06-23 2005-07-13 富士通株式会社 ターボ復号器およびターボ復号装置
US6516136B1 (en) * 1999-07-06 2003-02-04 Agere Systems Inc. Iterative decoding of concatenated codes for recording systems
KR100421853B1 (ko) * 1999-11-01 2004-03-10 엘지전자 주식회사 상향 링크에서의 레이트 매칭 방법
JP3846527B2 (ja) * 1999-07-21 2006-11-15 三菱電機株式会社 ターボ符号の誤り訂正復号器、ターボ符号の誤り訂正復号方法、ターボ符号の復号装置およびターボ符号の復号システム
US7031406B1 (en) * 1999-08-09 2006-04-18 Nortel Networks Limited Information processing using a soft output Viterbi algorithm
DE19946721A1 (de) * 1999-09-29 2001-05-03 Siemens Ag Verfahren und Vorrichtung zur Kanalkodierung in einem Nachrichtenübertragungssystem
US6226773B1 (en) * 1999-10-20 2001-05-01 At&T Corp. Memory-minimized architecture for implementing map decoding
DE69908366T2 (de) * 1999-10-21 2003-12-04 Sony Int Europe Gmbh SOVA Turbodekodierer mit kleinerer Normalisierungskomplexität
US6580767B1 (en) * 1999-10-22 2003-06-17 Motorola, Inc. Cache and caching method for conventional decoders
US6829742B1 (en) * 1999-10-27 2004-12-07 Infineon Technologies Ag Coding method and coding apparatus for coding a serial data stream
JP3549788B2 (ja) * 1999-11-05 2004-08-04 三菱電機株式会社 多段符号化方法、多段復号方法、多段符号化装置、多段復号装置およびこれらを用いた情報伝送システム
US6400290B1 (en) * 1999-11-29 2002-06-04 Altera Corporation Normalization implementation for a logmap decoder
EP1254544B1 (en) * 1999-12-03 2015-04-29 Broadcom Corporation Embedded training sequences for carrier acquisition and tracking
WO2001043384A2 (en) * 1999-12-03 2001-06-14 Broadcom Corporation Viterbi slicer for turbo codes
DE10001147A1 (de) * 2000-01-13 2001-07-19 Siemens Ag Verfahren zum Fehlerschutz bei der Übertragung eines Datenbitstroms
US7092457B1 (en) * 2000-01-18 2006-08-15 University Of Southern California Adaptive iterative detection
KR100374787B1 (ko) * 2000-01-18 2003-03-04 삼성전자주식회사 대역 효율적인 연쇄 티.씨.엠 디코더 및 그 방법들
KR20020079790A (ko) 2000-01-20 2002-10-19 노오텔 네트웍스 리미티드 가변 레이트 패킷 데이타 애플리케이션에서 소프트 결합을 사용하는 하이브리드 arq 방법
KR100331686B1 (ko) * 2000-01-26 2002-11-11 한국전자통신연구원 2를 밑수로 하는 로그 맵을 이용한 터보 복호기
US6606724B1 (en) * 2000-01-28 2003-08-12 Conexant Systems, Inc. Method and apparatus for decoding of a serially concatenated block and convolutional code
US6810502B2 (en) 2000-01-28 2004-10-26 Conexant Systems, Inc. Iteractive decoder employing multiple external code error checks to lower the error floor
US6516437B1 (en) 2000-03-07 2003-02-04 General Electric Company Turbo decoder control for use with a programmable interleaver, variable block length, and multiple code rates
US7356752B2 (en) * 2000-03-14 2008-04-08 Comtech Telecommunications Corp. Enhanced turbo product codes
JP2003534680A (ja) * 2000-04-04 2003-11-18 コムテック テレコミュニケーションズ コーポレイション 強化型ターボプロダクト符号復号器システム
US6606725B1 (en) 2000-04-25 2003-08-12 Mitsubishi Electric Research Laboratories, Inc. MAP decoding for turbo codes by parallel matrix processing
FR2808632B1 (fr) * 2000-05-03 2002-06-28 Mitsubishi Electric Inf Tech Procede de turbo-decodage avec reencodage des informations erronees et retroaction
WO2001086821A2 (en) * 2000-05-05 2001-11-15 Icoding Technology, Inc. Improved error floor turbo codes
US6542559B1 (en) * 2000-05-15 2003-04-01 Qualcomm, Incorporated Decoding method and apparatus
CA2348941C (en) * 2000-05-26 2008-03-18 Stewart N. Crozier Method and system for high-spread high-distance interleaving for turbo-codes
US6738942B1 (en) * 2000-06-02 2004-05-18 Vitesse Semiconductor Corporation Product code based forward error correction system
FI109162B (fi) * 2000-06-30 2002-05-31 Nokia Corp Menetelmä ja järjestely konvoluutiokoodatun koodisanan dekoodaamiseksi
JP4543522B2 (ja) * 2000-08-31 2010-09-15 ソニー株式会社 軟出力復号装置及び軟出力復号方法、並びに、復号装置及び復号方法
EP1364479B1 (en) * 2000-09-01 2010-04-28 Broadcom Corporation Satellite receiver and corresponding method
WO2002021702A1 (en) * 2000-09-05 2002-03-14 Broadcom Corporation Quasi error free (qef) communication using turbo codes
US7242726B2 (en) * 2000-09-12 2007-07-10 Broadcom Corporation Parallel concatenated code with soft-in soft-out interactive turbo decoder
US6604220B1 (en) * 2000-09-28 2003-08-05 Western Digital Technologies, Inc. Disk drive comprising a multiple-input sequence detector selectively biased by bits of a decoded ECC codedword
US6518892B2 (en) 2000-11-06 2003-02-11 Broadcom Corporation Stopping criteria for iterative decoding
US20020104058A1 (en) * 2000-12-06 2002-08-01 Yigal Rappaport Packet switched network having error correction capabilities of variable size data packets and a method thereof
WO2002054601A1 (en) 2000-12-29 2002-07-11 Morphics Technology, Inc. Channel codec processor configurable for multiple wireless communications standards
US6813742B2 (en) * 2001-01-02 2004-11-02 Icomm Technologies, Inc. High speed turbo codes decoder for 3G using pipelined SISO log-map decoders architecture
FI20010147A (fi) * 2001-01-24 2002-07-25 Nokia Corp Menetelmä ja järjestely konvoluutiokoodatun koodisanan dekoodaamiseksi
WO2002067429A2 (en) * 2001-02-20 2002-08-29 Cute Ltd. System and method for enhanced error correction in trellis decoding
FR2822316B1 (fr) * 2001-03-19 2003-05-02 Mitsubishi Electric Inf Tech Procede d'optimisation, sous contrainte de ressoureces, de la taille de blocs de donnees codees
JP4451008B2 (ja) * 2001-04-04 2010-04-14 三菱電機株式会社 誤り訂正符号化方法および復号化方法とその装置
US6738948B2 (en) * 2001-04-09 2004-05-18 Motorola, Inc. Iteration terminating using quality index criteria of turbo codes
WO2002091592A1 (en) * 2001-05-09 2002-11-14 Comtech Telecommunications Corp. Low density parity check codes and low density turbo product codes
US7012911B2 (en) * 2001-05-31 2006-03-14 Qualcomm Inc. Method and apparatus for W-CDMA modulation
US20030123563A1 (en) * 2001-07-11 2003-07-03 Guangming Lu Method and apparatus for turbo encoding and decoding
AU2002319919B2 (en) * 2001-07-12 2005-02-24 Samsung Electronics Co., Ltd Reverse transmission apparatus and method for improving transmission throughput in a data communication system
US6738370B2 (en) * 2001-08-22 2004-05-18 Nokia Corporation Method and apparatus implementing retransmission in a communication system providing H-ARQ
US7085969B2 (en) * 2001-08-27 2006-08-01 Industrial Technology Research Institute Encoding and decoding apparatus and method
US6763493B2 (en) * 2001-09-21 2004-07-13 The Directv Group, Inc. Method and system for performing decoding using a reduced-memory implementation
FR2830384B1 (fr) * 2001-10-01 2003-12-19 Cit Alcatel Procede de dispositif de codage et de decodage convolutifs
EP1317070A1 (en) * 2001-12-03 2003-06-04 Mitsubishi Electric Information Technology Centre Europe B.V. Method for obtaining from a block turbo-code an error correcting code of desired parameters
JP3637323B2 (ja) * 2002-03-19 2005-04-13 株式会社東芝 受信装置、送受信装置及び受信方法
JP3549519B2 (ja) * 2002-04-26 2004-08-04 沖電気工業株式会社 軟出力復号器
US20050226970A1 (en) * 2002-05-21 2005-10-13 Centrition Ltd. Personal nutrition control method and measuring devices
US20030219513A1 (en) * 2002-05-21 2003-11-27 Roni Gordon Personal nutrition control method
JP3898574B2 (ja) * 2002-06-05 2007-03-28 富士通株式会社 ターボ復号方法及びターボ復号装置
KR100584170B1 (ko) * 2002-07-11 2006-06-02 재단법인서울대학교산학협력재단 터보 부호화된 복합 재전송 방식 시스템 및 오류 검출 방법
US6774825B2 (en) * 2002-09-25 2004-08-10 Infineon Technologies Ag Modulation coding based on an ECC interleave structure
US7346833B2 (en) * 2002-11-05 2008-03-18 Analog Devices, Inc. Reduced complexity turbo decoding scheme
CN1947368B (zh) 2004-04-28 2010-06-16 三星电子株式会社 对具有可变块长度的块低密度奇偶校验码编码/解码的设备和方法
CN100367676C (zh) * 2004-05-27 2008-02-06 中国科学院计算技术研究所 一种卷积码的编码方法
EP1761326A2 (en) * 2004-06-01 2007-03-14 Centrition Ltd. Personal nutrition control devices
US7395490B2 (en) 2004-07-21 2008-07-01 Qualcomm Incorporated LDPC decoding methods and apparatus
US7346832B2 (en) 2004-07-21 2008-03-18 Qualcomm Incorporated LDPC encoding methods and apparatus
KR101131323B1 (ko) 2004-11-30 2012-04-04 삼성전자주식회사 이동통신 시스템에서 채널 인터리빙 장치 및 방법
US7373585B2 (en) * 2005-01-14 2008-05-13 Mitsubishi Electric Research Laboratories, Inc. Combined-replica group-shuffled iterative decoding for error-correcting codes
US7461328B2 (en) * 2005-03-25 2008-12-02 Teranetics, Inc. Efficient decoding
US7502982B2 (en) * 2005-05-18 2009-03-10 Seagate Technology Llc Iterative detector with ECC in channel domain
US7360147B2 (en) * 2005-05-18 2008-04-15 Seagate Technology Llc Second stage SOVA detector
US7395461B2 (en) * 2005-05-18 2008-07-01 Seagate Technology Llc Low complexity pseudo-random interleaver
US8611305B2 (en) 2005-08-22 2013-12-17 Qualcomm Incorporated Interference cancellation for wireless communications
US9014152B2 (en) 2008-06-09 2015-04-21 Qualcomm Incorporated Increasing capacity in wireless communications
US8271848B2 (en) * 2006-04-06 2012-09-18 Alcatel Lucent Method of decoding code blocks and system for concatenating code blocks
US20080092018A1 (en) * 2006-09-28 2008-04-17 Broadcom Corporation, A California Corporation Tail-biting turbo code for arbitrary number of information bits
US7827473B2 (en) * 2006-10-10 2010-11-02 Broadcom Corporation Turbo decoder employing ARP (almost regular permutation) interleave and arbitrary number of decoding processors
US7831894B2 (en) * 2006-10-10 2010-11-09 Broadcom Corporation Address generation for contention-free memory mappings of turbo codes with ARP (almost regular permutation) interleaves
US8392811B2 (en) * 2008-01-07 2013-03-05 Qualcomm Incorporated Methods and systems for a-priori decoding based on MAP messages
TWI374613B (en) 2008-02-29 2012-10-11 Ind Tech Res Inst Method and apparatus of pre-encoding and pre-decoding
EP2096884A1 (en) 2008-02-29 2009-09-02 Koninklijke KPN N.V. Telecommunications network and method for time-based network access
US8250448B1 (en) * 2008-03-26 2012-08-21 Xilinx, Inc. Method of and apparatus for implementing a decoder
US8719670B1 (en) * 2008-05-07 2014-05-06 Sk Hynix Memory Solutions Inc. Coding architecture for multi-level NAND flash memory with stuck cells
US9237515B2 (en) 2008-08-01 2016-01-12 Qualcomm Incorporated Successive detection and cancellation for cell pilot detection
US9277487B2 (en) 2008-08-01 2016-03-01 Qualcomm Incorporated Cell detection with interference cancellation
KR101418466B1 (ko) * 2008-08-15 2014-07-10 엘에스아이 코포레이션 니어 코드워드들의 rom 리스트 디코딩
JP5432367B2 (ja) 2009-04-21 2014-03-05 アギア システムズ インコーポレーテッド 書込み検証を使用した符号のエラーフロア軽減
US9160577B2 (en) 2009-04-30 2015-10-13 Qualcomm Incorporated Hybrid SAIC receiver
JP2013512593A (ja) 2009-11-27 2013-04-11 クゥアルコム・インコーポレイテッド 無線通信における容量の増加
WO2011063568A1 (en) * 2009-11-27 2011-06-03 Qualcomm Incorporated Increasing capacity in wireless communications
AU2011206676B2 (en) * 2010-01-12 2014-07-17 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Audio encoder, audio decoder, method for encoding and audio information, method for decoding an audio information and computer program using a modification of a number representation of a numeric previous context value
US8448033B2 (en) * 2010-01-14 2013-05-21 Mediatek Inc. Interleaving/de-interleaving method, soft-in/soft-out decoding method and error correction code encoder and decoder utilizing the same
US8464142B2 (en) 2010-04-23 2013-06-11 Lsi Corporation Error-correction decoder employing extrinsic message averaging
US8499226B2 (en) * 2010-06-29 2013-07-30 Lsi Corporation Multi-mode layered decoding
US8458555B2 (en) 2010-06-30 2013-06-04 Lsi Corporation Breaking trapping sets using targeted bit adjustment
US8504900B2 (en) 2010-07-02 2013-08-06 Lsi Corporation On-line discovery and filtering of trapping sets
CN103430472B (zh) * 2010-10-08 2017-05-24 黑莓有限公司 用于获得改进的码性能的消息重新排布
US8769365B2 (en) 2010-10-08 2014-07-01 Blackberry Limited Message rearrangement for improved wireless code performance
CN102412849A (zh) * 2011-09-26 2012-04-11 中兴通讯股份有限公司 一种卷积码编码方法及编码装置
US9043667B2 (en) 2011-11-04 2015-05-26 Blackberry Limited Method and system for up-link HARQ-ACK and CSI transmission
US8768990B2 (en) 2011-11-11 2014-07-01 Lsi Corporation Reconfigurable cyclic shifter arrangement
KR102127021B1 (ko) 2012-05-11 2020-06-26 블랙베리 리미티드 캐리어 어그리게이션을 위한 업링크 harq 및 csi 다중화를 위한 방법 및 시스템
US20130326630A1 (en) * 2012-06-01 2013-12-05 Whisper Communications, LLC Pre-processor for physical layer security
US9053047B2 (en) * 2012-08-27 2015-06-09 Apple Inc. Parameter estimation using partial ECC decoding
RU2012146685A (ru) 2012-11-01 2014-05-10 ЭлЭсАй Корпорейшн База данных наборов-ловушек для декодера на основе разреженного контроля четности
US9432053B1 (en) * 2014-07-07 2016-08-30 Microsemi Storage Solutions (U.S.), Inc. High speed LDPC decoder

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2675968B1 (fr) * 1991-04-23 1994-02-04 France Telecom Procede de decodage d'un code convolutif a maximum de vraisemblance et ponderation des decisions, et decodeur correspondant.
FR2675971B1 (fr) * 1991-04-23 1993-08-06 France Telecom Procede de codage correcteur d'erreurs a au moins deux codages convolutifs systematiques en parallele, procede de decodage iteratif, module de decodage et decodeur correspondants.
US5349589A (en) * 1991-07-01 1994-09-20 Ericsson Ge Mobile Communications Inc. Generalized viterbi algorithm with tail-biting
US5369671A (en) * 1992-05-20 1994-11-29 Hughes Aircraft Company System and method for decoding tail-biting code especially applicable to digital cellular base stations and mobile units
US5355376A (en) * 1993-02-11 1994-10-11 At&T Bell Laboratories Circular viterbi decoder
US5577053A (en) * 1994-09-14 1996-11-19 Ericsson Inc. Method and apparatus for decoder optimization

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
IEEE Trans. Vehicular Technology(1994.02) *
IEEE Trans.Information Theory(1996.03) *

Also Published As

Publication number Publication date
CZ407397A3 (cs) 1998-06-17
ZA973217B (en) 1997-12-18
AU716645B2 (en) 2000-03-02
DE69736881T2 (de) 2007-06-21
BR9702156A (pt) 1999-07-20
HUP9901440A2 (hu) 1999-08-30
JPH11508439A (ja) 1999-07-21
AU2459197A (en) 1997-11-12
CA2221295C (en) 2005-03-22
CZ296885B6 (cs) 2006-07-12
RU2187196C2 (ru) 2002-08-10
PL184230B1 (pl) 2002-09-30
UA44779C2 (uk) 2002-03-15
CA2221295A1 (en) 1997-10-30
NO975966D0 (no) 1997-12-18
ID16464A (id) 1997-10-02
DE69736881D1 (de) 2006-12-14
PL183239B1 (pl) 2002-06-28
EP0834222B1 (en) 2006-11-02
CN1189935A (zh) 1998-08-05
HUP9901440A3 (en) 2000-03-28
KR19990022971A (ko) 1999-03-25
MY113013A (en) 2001-10-31
CN1111962C (zh) 2003-06-18
NO975966L (no) 1997-12-18
IL122525A0 (en) 1998-06-15
JP3857320B2 (ja) 2006-12-13
US5721745A (en) 1998-02-24
WO1997040582A1 (en) 1997-10-30
HU220815B1 (hu) 2002-05-28
PL183537B1 (pl) 2002-06-28
EP0834222A1 (en) 1998-04-08
PL323524A1 (en) 1998-03-30
AR006767A1 (es) 1999-09-29

Similar Documents

Publication Publication Date Title
KR100522263B1 (ko) 병렬연결테일-바이팅콘벌루션코드및이코드용디코더
Divsalar et al. Hybrid concatenated codes and iterative decoding
US6289486B1 (en) Adaptive channel encoding method and device
US6530059B1 (en) Tail-biting turbo-code encoder and associated decoder
JP3494994B2 (ja) 通信システムで直列鎖相構造を有する符号化及び復号化装置
US5933462A (en) Soft decision output decoder for decoding convolutionally encoded codewords
EP1601109A2 (en) Adaptive channel encoding method and device
US20010010089A1 (en) Digital transmission method of the error-correcting coding type
US20020104054A1 (en) Encoding method having improved interleaving
Andersen Turbo codes extended with outer BCH code
US6487694B1 (en) Method and apparatus for turbo-code decoding a convolution encoded data frame using symbol-by-symbol traceback and HR-SOVA
US7027521B2 (en) Digital transmission method of the error correcting coding type
Liu et al. MAP algorithms for decoding linear block codes based on sectionalized trellis diagrams
US6961894B2 (en) Digital transmission method of the error-correcting coding type
US7127443B2 (en) Adaptive turbo-coding and decoding
EP1119915B9 (en) Hybrid interleaver for turbo codes
Hedayat et al. Performance analysis and design criteria for finite-alphabet source-channel codes
Talakoub et al. A linear Log-MAP algorithm for turbo decoding over AWGN channels
Adde et al. Block turbo code with binary input for improving quality of service
GB2386039A (en) Dual termination of turbo codes
Soleymani et al. Turbo Decoding Principles
Soleymani et al. Block Turbo Codes
JP2001326577A (ja) 直接連接畳込み符号器、及び、直接連接畳込み符号化方法

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
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: 20120911

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20130913

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20140923

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20150925

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20160906

Year of fee payment: 12