KR20080083256A - 테일-바이팅 디코딩을 위한 방법 및 디코더 - Google Patents

테일-바이팅 디코딩을 위한 방법 및 디코더 Download PDF

Info

Publication number
KR20080083256A
KR20080083256A KR1020087005971A KR20087005971A KR20080083256A KR 20080083256 A KR20080083256 A KR 20080083256A KR 1020087005971 A KR1020087005971 A KR 1020087005971A KR 20087005971 A KR20087005971 A KR 20087005971A KR 20080083256 A KR20080083256 A KR 20080083256A
Authority
KR
South Korea
Prior art keywords
sequence
bits
convolutionally encoded
decoder
encoded bits
Prior art date
Application number
KR1020087005971A
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 에스케이 텔레콤주식회사
Priority to KR1020087005971A priority Critical patent/KR20080083256A/ko
Publication of KR20080083256A publication Critical patent/KR20080083256A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/23Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using convolutional codes, e.g. unit memory codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/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/41Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors
    • H03M13/4123Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors implementing the return to a predetermined state
    • 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/41Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors
    • H03M13/413Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors tail biting Viterbi 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/65Purpose and implementation aspects
    • H03M13/6502Reduction of hardware complexity or efficient processing
    • 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/65Purpose and implementation aspects
    • H03M13/6502Reduction of hardware complexity or efficient processing
    • H03M13/6505Memory efficient implementations

Landscapes

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

Abstract

본 발명은 컨볼루션 인코딩된 비트들의 시퀀스를 디코딩하기 위한 방법 및 디코더에 관한 것이다. 본 발명의 방법 및 디코더는 컨볼루션 인코딩된 비트들의 시퀀스를 디코딩하며, 디코딩된 비트들의 시퀀스 중 제 1 부분을 재-디코딩한다. 그 후에, 상기 방법 및 디코더는 비트들의 디코딩된 시퀀스를 출력하도록 진행하며, 상기 디코딩된 비트들의 시퀀스의 제 1 부분은 비트들의 시퀀스의 재-디코딩된 제 1 부분에 대응한다.

Description

테일-바이팅 디코딩을 위한 방법 및 디코더{METHOD AND DECODER FOR TAIL-BITING DECODING}
본 발명은 비터비 디코딩에 관한 것이며, 더욱 상세하게는, 테일-바이팅 컨볼루션 인코딩된 비트들의 시퀀스의 디코딩을 수행하기 위한 방법 및 장치에 관한 것이다.
지난 수십년간, 무선 통신에 대한 관심은 크게 증대되어 왔다. 이러한 관심은 무선 프로토콜들 및 기술들의 발전 및 정밀화(refinement)를 추구해왔다. 모든 타입들의 무선 통신들은 무선을 통해 데이터 전송을 허용한다는 한가지 공통점을 가지고 있다. 그러나, 무선을 통한 데이터 전송은 데이터 신호의 간섭 및 왜곡과 같은 문제들을 야기한다. 이러한 문제들을 해결하기 위해, 데이터 인코딩이 사용되고 있다.
이에 따라 다양한 타입들의 인코딩 메커니즘들을 존재하며, 각각의 인코딩 메커니즘은 장점들 및 단점들을 가지고 있다. 이들 중에서 가장 널리 보급되어 있는 기법들은 컨볼루션(convolutional) 인코딩 기법들이다. 컨볼루션 인코딩은 코드워드들을 생성하기 위해 생성기 행렬과 시퀀스의 모든 비트들을 곱하는 과정을 포함한다. 생성기 행렬은 제로-테일(zero-tail) 행렬, 직접 절단(direct truncation) 행렬 및 테일-바이팅(tail-biting) 행렬과 같은 세 개의 특정한 타입들로 구분될 수 있다. 제로-테일 행렬은 인코딩될 시퀀스 비트들 중 마지막 8개의 비트들이 제로(0)들이 되도록 요구한다. 이러한 타입의 생성기 행렬은 바람직하게는 인코딩된 데이터를 디코딩할 때 제로들에 대한 알려진 최종 상태를 가지도록 허용한다. 그러나, 이러한 요구는 인코더의 스루풋(throughput) 감소를 초래한다. 직접 절단 행렬은 인코더 또는 디코더의 이전 상태를 알 필요없이, 직접적인 인코딩을 진행한다. 그리하여, 직접 절단 행렬은 임의의 초기화를 제공하지 않기 때문에, 세가지 타입들의 생성기 행렬 중 가장 취약하다. 테일-바이팅 행렬은 자신의 인코딩 패턴을 초기화하기 위해 코드워드들의 마지막 비트들을 사용한다. 이러한 생성기 행렬의 서브카테고리는 최대 스루풋을 제공하는 반면에, 알려지지 않은 초기 및 최종 상태들로 인하여 디코딩에 어려움이 있다. 국제전기전자기술자협회(IEEE)는 IEEE 802. 16-2004를 정의하고 있으며 IEEE 802. 16e-2005는 직교 주파수 분할 다중화(OFDM) 및 직교 주파수 분할 다중 접속(OFDMA)과 같은 변조 기법들을 위한 제로 테일-바이팅 및 테일-바이팅 타입들의 생성기 행렬을 규정한다.
그러나, 인코딩은 시퀀스의 원래 비트들을 복원하기 위해 디코딩이 필요하다는 것을 의미한다. Andrew J. Viterbi는 1960대 후반에 비터비 디코더 알고리즘으로 알려져 있는 기법을 개발하였다. 비터비 디코더 알고리즘은 최대 가능성(likelihood) 분석에 따라 코드워드들을 디코딩하기 위해 격자 표시(trellis representation)를 사용한다. 격자 표시는 인코더의 상태 다이어그램의 리던던트 디스크립션(redundant description)이다. 인코더는 입력 비트를 수신하면 오직 하 나의 상태로부터 두 개의 추가적인 상태들로 진행할 수 있기 때문에, 비터비는 코드워드들로부터 시퀀스의 원래 비트들을 복원하기 위한 간단한 방법을 제공한다. 그러나, 코드워드들의 전송에서 에러들이 발생하면, 흔히 있는 일이지만 간섭 또는 무선 데이터 통신들의 열악한 전송 또는 수신으로 인하여, 시퀀스의 원래 비트들을 복원하기 위해 추가적인 노력들이 이루어져야 한다.
그렇게 하기 위해, 비터비는 격자에 있는 각각의 경로에 대한 에러가 있는 비트들의 개수를 계산하고, 그리하여 계산된 에러가 있는 비트들의 개수에 기반하여 가장 가능성 있는 에러들의 개수를 평가하기 위한 방법을 추가적으로 설명한다. 인코더의 초기 상태가 알려져 있는 경우와 알려져 있지 않은 경우를 어드레싱하기 위해, 다른 개선들이 비터비 디코더 알고리즘에 대하여 이루어졌다. 이러한 개선들은 제로 테일링 및 테일-바이팅으로 지칭된다. 비터비 디코더 알고리즘의 제로 테일링 개선은 디코더의 시작 및 최종 상태들이 제로 값들로 강제되도록 요구한다. 비터비 디코더 알고리즘의 이러한 개선은 스루풋의 감소를 초래한다. 비터비 디코더 알고리즘의 테일-바이팅은 인코더의 시작 및 최종 상태들이 알려져 있지 않은 경우에 사용된다. 디코더의 시작 및 최종 상태들을 알지 못하는 것은 격자를 따라 취해지는 가능한 경로들을 증가시키기 때문에, 각각의 경로에 대한 분석이 요구되며, 그 결과 상당한 처리 전력을 야기하고, 코드워드들을 디코딩할 때 레이턴시(latency)를 야기하게 된다. 효율적으로 이러한 추가적인 어려움을 극복하기 위해, 코드워드들의 마지막 비트들은 디코더를 초기화하기 위해 사용되며, 그리하여 동일한 시작 및 종료 상태들을 재생성하고 그에 의해 격자에서 분석될 경로들의 개 수를 줄이게 된다.
다양한 테일-바이팅 대안들이 과거에 제안되었다. 가장 많이 참조되는 대안 중 하나는 Howard H. Ma 및 Jack K. Wolf에 의해 제안된 논문 "On Tail-Biting Convolutional Codes", IEEE Transactions on Communications, Volume COM-34, No. 2, pp. 104-111, February 1986에 설명되어 있다. 상기 논문은 테일-바이팅 컨볼루션 디코딩을 통해 레이턴시 문제들을 해결하기 위해 두가지 알고리즘들을 제안한다. 첫번째 알고리즘은 시행 착오(trial and error)를 통해 어떤 시작 상태가 동일한 최종 상태로 리턴하는지를 식별하는 과정을 포함한다. 그러나, 이러한 알고리즘은 시작 상태 및 최종 상태가 정당한(right) 상태들이 아니라도 동일한 시작 상태 및 최종 상태를 출력할 수 있는, 많은 에러들을 포함하는 코드워드들을 보상하지 않기 때문에 차선책(suboptimal)이다. 제 2 알고리즘은 시작 상태를 획득하기 위해 컨볼루션 코드의 대수적 구조를 사용하여 반복 횟수를 줄이는 과정을 포함한다. 그러나, 이러한 알고리즘들 모두는 최적 비트 에러 레이트에 도달하기 위해 전체 코드워드들이 반복적으로 처리될 것을 요구하며, 그리하여 상당한 레이턴시를 야기한다.
관심있는 다른 참조 문헌은 Qian Wang 및 Vijay K. Bhargava에 의해 발표된 논문 "An efficient maximum likelihood decoding algorithm for generalized tail-biting convolutional codes including quasi-cyclic codes", IEEE Transactions on Communications, Volume 37, No. 8, pp. 875-879, August 1989이다. 상기 논문은 비터비 디코딩 알고리즘에 기반하는 두 개의 다른 알고리즘들을 설명한다. 보다 구체적으로, 첫번째 알고리즘은 각각의 시작 상태 및 최종 상태들에 대한 메트릭들과 함께 가장 큰 메트릭을 가지는 경로를 저장하고, 모든 다른 경로들을 제거하는 구성을 포함한다. 두번째 알고리즘은 첫번째 알고리즘으로부터의 결과들을 재사용하며, 가장 큰 메트릭의 최종 상태를 가지는 경로를 선택하고, 상기 최종 상태와 동등한 시작 상태를 사용하고 모든 다른 저장된 경로들에 대하여 이들 최종 상태 및 시작 상태를 재사용한다. 그러나, 이러한 알고리즘들은 실시간 데이터 전송들을 위해 구현되기 위해서 시간이 많이 소비되는 반복들에 의존하기 때문에, 실시간 테일-바이팅에 적합하지 않다.
AT&T 벨 연구소에 의해 1994년 10월 11일에 출원된 미국 특허 제5,355,376호는 또한 "순환(circular) 비터비 알고리즘"을 설명하고 있다. 이러한 알고리즘에서, 네 개의 조건들 중 하나, 즉, 메트릭들이 수렴되는 경우, 트레이스 백 길이(trace back length)의 경로가 이전 경로와 동등해지는 경우, 이전의 두 개의 조건들이 달성되는 경우, 또는 고정된 횟수의 반복들에 도달한 경우에 충족할 때까지, 비터비 디코더들이 연속적으로 반복된 코드워드들을 디코딩하도록 수신된 코드워드들이 추가된다. 그러나, AT&T 벨 연구소에 의해 제안된 상기 알고리즘에서 동일한 코드워드가 여러번 디코딩되어야 하기 때문에, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 상기 알고리즘이 여전히 상당한 레이턴시를 야기한다는 것을 이해할 것이다.
GE사(General Electric Company)에 의해 양수되었으며 1998년 2월 24일에 출원된 미국 특허 제5,721,746호는 또한 코드워드들을 디코딩하기 위한 다른 가능한 알고리즘을 설명하고 있다. 상기 알고리즘은 논문 "Optimal Decoding of Linear Codes for Minimizing Symbol Error Rate", IEEE Transactions on Information Theory, Volume IT-20, pp. 284-287, March 1974에서 L. R. Bahl 등에 의해 설명된 특정한 인코딩 기법에 의존한다. 이러한 인코딩 기법은 보다 구체적으로 순방향 재귀(recursion) 및 역방향 재귀를 수행하는 생성기 행렬에 의존한다. 그러나, 이러한 방법은 수학적으로 매우 집약적이고 반복적인 디코딩을 요구하며, 이러한 반복적인 디코딩은 레이턴시를 증가시키고 많은 무선 데이터 전송들에 대하여 적합하지 않다.
관심있는 다른 알고리즘은 Rose Y. Shao, Shu Lin 및 Marc P. C. 에 의해 발표된 "An Iterative Bidirectional Decoding Algorithm for tail-biting codes", made at 1999 IEEE ITW, in Kruger National Park in South Africa on June 20-25, 1999에서 제시되었다. 이전의 알고리즘들은 단방향 테일-바이팅 디코딩 알고리즘들을 사용하였으며, 단방향 테일-바이팅 디코딩 알고리즘은 디코딩이 수신된 코드워드의 첫번째 비트부터 마지막 비트까지 수행되는 것을 의미한다. 그러나, 상기 알고리즘은 수신된 코드워드들에 대한 역방향 디코딩 수행을 제안하고 있다. 불행하게도, 상기 알고리즘은 듀얼 하이 프로세싱을 요구하고 복잡하며, 실시간 애플리케이션들에서는 적용가능하지 않은 반복적인 테일-바이팅 디코딩 방법이다.
그러므로, 더 적은 프로세싱 용량을 요구하고 더 낮은 레이턴시를 가짐으로써 실시간 애플리케이션에 대하여 보다 적합한 디코딩 방법 및 디코더, 보다 구체적으로 비-반복적(non-iterative) 디코딩 방법 및 디코더에 대한 필요성이 요구되 고 있다.
본 발명은 종래 기술에서 설명된 디코더들보다 더 적은 프로세싱 용량을 요구하며, 더 낮은 레이턴시가 가능하고 비-반복적이기 때문에 실시간 애플리케이션들 및 무선 데이터 전달 및 모바일 애플리케이션들과 같은 애플리케이션들에 대하여 적합한 디코딩 방법 및 디코더를 제공한다.
이를 위해, 본 발명의 방법은 비터비 디코더를 사용하여 컨볼루션 인코딩된 비트들의 시퀀스를 디코딩하는 단계를 포함한다. 상기 방법은 그 다음에 컨볼루션 인코딩된 비트들의 시퀀스의 제 1 부분을 재-디코딩하도록 진행한다. 상기 방법은 그 다음에 디코딩된 비트들의 시퀀스를 출력하며, 컨볼루션 인코딩된 비트들의 시퀀스의 디코딩되어 출력된 제 1 부분은 컨볼루션 인코딩된 비트들의 시퀀스의 재-디코딩된 제 1 부분에 대응한다.
다른 양상에서, 본 발명은 컨볼루션 인코딩된 비트들의 시퀀스를 디코딩하기 위한 디코더를 제시한다. 상기 디코더는 컨볼루션 인코딩된 비트들의 시퀀스를 수신하기 위한 입력 포트를 포함한다. 상기 디코더는 또한 컨볼루션 인코딩된 비트들의 시퀀스를 디코딩하고 컨볼루션 인코딩된 비트들의 시퀀스의 제 1 부분을 재-디코딩하기 위한 비터비 디코더를 포함한다. 또한, 상기 디코더는 디코딩된 상기 컨볼루션 인코딩된 비트들의 시퀀스를 출력하기 위한 출력 포트를 포함하며, 디코딩된 상기 컨볼루션 인코딩된 비트들의 시퀀스의 제 1 부분은 상기 컨볼루션 인코딩된 비트들의 시퀀스의 재-디코딩된 제 1 부분에 대응한다.
본 발명의 다양한 양상들 및 실시예들은 아래의 상세한 설명 및 도면으로부터 보다 명백해질 것이다.
도 1a 및 1b는 본 발명의 양상들에 따른 방법들의 플로우차트들이다.
도 2a 및 2b는 본 발명의 두 개의 양상들에 따른 포스트픽싱(post fixing)의 예들에 대한 도면이다.
도 3은 본 발명의 일 양상에 따른 디코더를 나타낸다.
도 4는 모뎀에서 사용되는 본 발명의 일 양상에 따른 디코더를 나타낸다.
도 5는 본 발명의 양상들에 따른 디코더의 비트 에러 레이트 성능들을 나타내는 그래프이다.
본 발명은 테일-바이팅 컨볼루션 인코딩된 비트들의 시퀀스를 디코딩하기 위한 방법 및 디코더에 관한 것이다. 보다 상세하게는, 본 발명의 방법 및 디코더는 컨볼루션 인코딩된 비트들의 시퀀스를 디코딩하고, 컨볼루션 인코딩된 비트들의 시퀀스의 제 1 부분을 재-디코딩한다. 그 다음에 상기 방법 및 디코더는 디코딩된 비트들의 시퀀스를 출력하며, 디코딩된 비트들의 시퀀스의 제 1 부분은 재-디코딩된 제 1 부분에 대응한다.
본 발명은 종래 기술에 비하여 많은 장점들을 가진다. 먼저, 본 발명은 비-반복적인 테일-바이팅 비터비 디코더를 제시한다. 통상적인 반복적인 접근을 제거함으로써, 본 발명은 표준 상태 "00" 비터비 디코더로서 알려져 있는, 제로-테일 디코더의 사용을 허용하여 보다 단순하고 낮은 비용의 솔루션을 제공한다. 마지막으로, 본 발명은 단순화에 기인하여 온-칩(on-chip) 시스템에서 구현될 수 있으며, 데이터 전달을 위한 무선 통신 시스템들에서 구현가능하다.
또한, 무선 광대역 프로파일로서 알려진 IEEE 802. 16e-2005 표준의 통상적인 사용에 있어서, 컨볼루션 터보 코드의 성능들은 정규적인 컨볼루션 인코딩을 통해 획득된 성능들보다 우수하다고 인식되기 때문에, 컨볼루션 터보 코드는 필수적이며 통상적인 모드에서 사용될 것이다. 테일-바이팅 모드는 프레임 제어 헤더(FCH) 메시지들로서 알려진 메시지들에 대하여 제한될 가능성이 크기 때문에, 이러한 요구는 단순하고 효율적인 테일-바이팅 디코더를 위한 추가적인 정당성을 제공한다.
이제 본 발명에 따른 테일-바이팅 컨볼루션 인코딩된 비트들의 시퀀스를 디코딩하기 위한 방법(10)의 두가지 양상들의 플로우차트들을 나타내는, 도 1a 및 1b를 참조하도록 한다. 도 1a의 방법은 단계 11에서 비트들의 시퀀스를 수신함으로써 시작한다. 상기 방법은 수신된 비트들의 시퀀스를 디코딩하는 단계 14로 진행한다. 보다 구체적으로, 본 발명의 양상에서 단계 14의 디코딩은 또한 수신된 비트들의 제 1 부분을 재-디코딩하는 과정을 포함한다. 디코딩된 비트들의 시퀀스의 스루풋 및 품질 모두에 있어서, 본 발명의 성능들을 최적화하기 위해, 상기 제 1 부분은 디코딩 단계를 수행하는 디코더를 초기화하기 위해 필요한 비트들의 개수와 동일한 길이를 가진다. 그 다음에, 상기 방법은 디코딩된 비트들의 시퀀스를 출력하는 단계 19에서 완료된다. 단계 19에서 출력된 디코딩된 비트들의 시퀀스는 바 람직하게는 상기 제 1 부분과 디코딩된 비트들의 시퀀스의 나머지 부분으로 구성된다. 상기 제 1 부분은 재-디코딩된 비트들의 시퀀스에 대응하며, 상기 나머지 부분은 디코딩된 비트들의 시퀀스의 나머지 부분에 대응한다.
도 1b에 도시된 본 발명의 다른 양상에서, 상기 방법은 또한 컨볼루션 인코딩된 비트들의 시퀀스 끝부분에 컨볼루션 인코딩된 비트들의 시퀀스의 제 1 부분을 복사하여 추가하는 단계(단계 12)를 포함한다. 이러한 컨볼루션 인코딩된 비트들의 시퀀스의 제 1 부분을 복사하여 추가하는 것은 인코딩된 비트들의 시퀀스의 제 1 부분의 이후의 재-디코딩을 용이하게 하는 하나의 가능한 방법이다. 이러한 동작은 또한 포스트픽싱으로 호칭될 수 있다.
이제 도 1b와 함께, 본 발명의 두가지 다른 양상들에 따른 포스트픽싱의 예들에 대한 도면을 나타내는 도 2a 및 2b를 참조하도록 한다. 바람직하게는, 비트들의 제 1 부분은 비터비 디코더를 초기화하기 위해 요구되는 비트들의 개수와 동일한 길이를 가진다. 도 2a에 도시된 바와 같이, 비트들의 제 1 부분은 (2*비터비 디코더를 초기화하기 위해 필요한 비트들의 개수), 즉, x 비트와 동일한 길이를 가질 수 있다. 도 2b에서, 비트들의 제 1 부분은 x 비트와 동일한, 즉, 비터비 디코더를 초기화하기 위해 요구되는 비트들의 개수와 동일한 길이를 가진다.
이제 도 1b로 돌아가서, 상기 방법(10)에 대한 양상은 단계 14에서 컨볼루션 인코딩된 비트들의 시퀀스와 추가된 제 1 부분을 디코딩하도록 진행한다. 인코딩된 비트들의 시퀀스의 제 1 부분은 디코딩되기 위해 비트들의 시퀀스에 포스트픽싱되었기 때문에, 재-인코딩 단계는 디코딩이 수행될 때 자동적으로 수행된다. 상기 방법은 단계 16에서 비트들의 시퀀스의 끝부분에 추가된 제 1 부분의 대응하는 비트들을 디코딩한 후에 비트들의 시퀀스의 제 1 부분의 일부를 교체한다. 바람직하게는, 시퀀스의 첫번째 비트들은 비터비 디코더를 초기화하기 위해 사용되기 때문에, 비트들의 시퀀스의 제 1 부분의 상기 첫번째 비트들이 교체된다. 그 후에 단계 18에서, 비트들의 추가된 제 1 부분은 제거된다. 그 후에 상기 방법은 도 1a에서와 같이 디코딩된 비트들의 시퀀스를 출력하는 단계에서 완료된다.
도 1a 및 1b의 디코딩 단계 14는 바람직하게는 비터비 디코더를 사용하여 수행된다. 본 발명의 일 양상에서, 비터비 디코더는 테일-바이팅 디코더일 수 있으며, 본 발명의 다른 양상에서, 디코더는 보다 구체적으로 제로-테일링 테일-바이팅 비터비 디코더를 포함할 수 있다.
이제 도 1a와 함께 본 발명의 제 1 양상에 따른 디코더(30)의 블록 다이어그램을 나타내는 도 3을 참조하도록 한다. 전형적으로, 디코더(30)는 입력 모듈(32) 및 출력 모듈(34)을 포함한다. 입력 모듈(32) 및 출력 모듈(34)은 추가적으로 필요에 따라 입력/출력 포트로 결합될 수 있다. 입력 모듈(32)은 컨볼루션 인코딩된 비트들의 시퀀스를 수신하고, 상기 시퀀스를 비터비 디코더(36)로 포워딩한다. 비터비 디코더(36)는 인코딩된 비트들의 시퀀스(31)를 디코딩하도록 적용된다. 본 발명의 제 1 양상에서, 비터비 디코더는 정규(normal) 상태 "00" 비터비 디코더이다. 디코더(36)는 인코딩된 비트들의 시퀀스(31)를 디코딩하고 상기 시퀀스의 제 1 부분을 재-디코딩한다. 그 후에, 비터비 디코더(36)는 디코딩된 비트들의 시퀀스(37)를 교체 모듈(38)로 전송한다. 교체 모듈(38)은 디코딩 후에 비트들의 시퀀 스의 제 1 부분의 일부를 제거하고 제거된 부분을 재-디코딩되었던 제 1 부분의 대응하는 비트들로 교체하도록 적용된다. 그 후에 디코딩된 비트들의 시퀀스는 출력 모듈(34)로 제공되고, 출력 모듈(34)은 디코딩된 비트들의 시퀀스를 출력하며, 여기서 디코딩된 비트들의 시퀀스의 제 1 부분은 비트들의 시퀀스의 재-디코딩된 제 1 부분에 대응한다.
이제 도 1b와 함께 본 발명의 다른 양상에 따른 디코더(30)의 블록 다이어그램을 나타내는 도 3을 참조하도록 한다. 전형적으로 디코더(30)는 입력 모듈(32) 및 출력 모듈(34)을 포함한다. 입력 모듈(32)은 컨볼루션 인코딩된 비트들의 시퀀스(31)를 수신하고, 상기 시퀀스를 첨부(affixing) 모듈(35)로 포워딩한다. 첨부 모듈(35)은 컨볼루션 인코딩된 비트들의 시퀀스의 끝부분에 컨볼루션 인코딩된 비트들의 시퀀스의 제 1 부분을 복사하여 첨부하도록 적용된다. 이러한 작업이 완료되면, 첨부 모듈(35)은 결과적인 비트들의 시퀀스(33)를 비터비 디코더(36)로 포워딩한다. 비터비 디코더(36)는 결과적인 비트들의 시퀀스(33)를 디코딩하도록 적용되며, 결과적인 비트들의 시퀀스(33)는 첨부된 제 1 부분을 가지는 컨볼루션 인코딩된 비트들의 시퀀스에 대응한다. 그 후에, 비터비 디코더(36)는 디코딩된 비트들의 시퀀스(37)를 교체 모듈(38)로 전송한다. 교체 모듈(38)은 디코딩 후에 비트들의 시퀀스의 제 1 부분의 일부를 제거하고 제거된 부분을 또한 디코딩되었던 비트들의 시퀀스의 끝부분에 첨부된 제 1 부분의 대응하는 비트들로 교체하도록 적용된다. 교체 모듈(38)은 또한 컨볼루션 인코딩된 비트들의 시퀀스의 끝부분에 첨부된 컨볼루션 인코딩된 비트들의 시퀀스의 제 1 부분을 제거하도록 적용될 수 있다. 그러나, 바람직하다면, 삭제 모듈(39)이 또한 첨부된 제 1 부분의 제거를 수행할 수 있다.
이제 본 발명의 일 양상에 따른 모뎀에서 사용되는 디코더를 도시하는 도 4를 참조하도록 한다. 전형적으로, 본 발명에 따른 디코더들은 컴퓨터들 간의 통신을 위해 사용된다. 컴퓨터들은 로컬 영역 네트워크(LAN), 이더넷 네트워크, 또는 유선 또는 무선인 인터넷 프로토콜(IP) 네트워크를 통해 서로에 대하여 통신한다. 도 4에 도시된 바와 같이, 컴퓨터(40)는 IP 네트워크(42)를 통해 적어도 하나의 다른 컴퓨터 또는 서버와 통신하도록 사용된다. 명확화를 위해, 컴퓨터는 무선으로 IP 네트워크(42)와 통신한다. 컴퓨터는 IP 네트워크(42)에 접속하여 데이터를 교환하기 위해 모뎀(44)을 사용한다. 도 4에 도시된 모뎀(44)과 같은, 모뎀들은 많은 상이한 컴포넌트들로 구성되며, 이러한 컴포넌트들 중 두 개의 컴포넌트들은 디코더(46) 및 버퍼(48)이다. 모뎀(44)의 다른 컴포넌트들은 여기에서 논의되지 않을 것이나, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 모뎀에서 일반적으로 사용되는 다양한 가능한 컴포넌트들에 대한 지식을 가지고 있다. 본 발명의 디코더의 단순성 및 양호한 정확성에 기인하여, 본 발명의 디코더는 특히 모뎀에서 사용하는데 관심이 있으며, 보다 구체적으로 무선 광대역, OFDMA 등과 같은 표준들에서 사용되는 모뎀(40)에서 사용하기 위한 것이다. 본 발명의 디코더(46)는 비-반복적 디코더이기 때문에, 디코더(46)는 더 적은 프로세싱 용량을 요구하며 테일-바이팅 디코딩을 위해 이전 모뎀에서보다 더 작은 버퍼(48)를 사용할 수 있다. 버퍼의 감소 및 요구되는 프로세싱 용량의 감소는 시장에서 성공적인 디코더 가 되기 위한 중요한 장점들이다.
이제 본 발명의 일 양상에 따른 디코더에 대한 비트 에러 레이트 결과들을 나타내는 도 5에 대하여 참조하도록 한다. 보다 구체적으로, 도 5의 그래프는 무선 광대역 OFDMA 시스템에 대한 시뮬레이션을 통해 계산된 비트 에러 레이트 곡선들을 나타낸다. 상기 그래프는 네 개의 상이한 변조 파라미터 세트들에 대하여 획득된 결과들을 도시한다. 변조 파라미터들의 제 1 세트는 참조 번호 50으로 도시되는 직교 위상 편이 변조(QPSK) 1/2 테일-바이팅 변조이다. 변조 파라미터들의 제 2 세트는 참조 번호 52로 도시되는 QPSK 1/2 제로-테일링 변조이다. 도시된 바와 같이, QPSK 1/2 테일-바이팅 및 QPSK 1/2 제로-테일링은 유사한 성능들을 보여준다. 변조 파라미터들의 제 3 세트는 참조 번호 54로 도시되는 64 직교 진폭 변조(QAM) 3/4 테일-바이팅 변조 파라미터들이다. 마지막으로, 변조 파라미터들의 제 4 세트는 참조 번호 56으로 도시되는 64 QAM 3/4 제로-테일링 변조 파라미터들이다. 이러한 그래프로부터, 가장 견고한(robust) 변조 기법들, 즉 QPSK의 성능들은 에러에 의해 크게 영향을 받기 전에 보다 많은 잡음에 견딜 수 있다는 것을 알 수 있다. 그러나, QPSK에 대한 스루풋은 64 QAM보다 훨씬 낮기 때문에(3. 45 Mbps 대 16Mbps), 이러한 견고함은 대가를 지불하게 된다. 또한, 각각의 변조 기법들에 대하여 획득된 비트 에러 레이트 결과들은 테일-바이팅 및 제로-테일링 사이에서 다소 유사하였다는 것을 그래프에서 알 수 있기 때문에, 이는 성능들을 희생함이 없이도, 단순성 및 낮은 비용들과 관련하여 본 발명의 중요한 장점을 증명하는 것이다. 또한, 무선 광대역 OFDMA 메시지들의 프레임 제어 헤더는 QPSK 1/2 테일-바 이팅 변조를 이용하여 인코딩되기 때문에, 비트 에러 레이트가 그래프에 도시된 바와 같이 상당하게 낮은 후자만큼 양호하다는 것에 유의하도록 한다.
본 발명은 바람직한 실시예에 따라 설명되었다. 설명된 바람직한 실시예들은 예시적인 목적들을 가진 것이며, 본 발명의 범위를 제한하는 것으로 해석되어서는 안된다는 것은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 명백할 것이다. 바람직한 실시예들에서 설명된 방법 및 디코더는 본 발명의 범위를 벗어남이 없이 변형될 수 있다. 본 발명의 범위는 보호 범위를 명확하게 기재한 첨부된 청구항들과 관련하여 정의되어야 할 것이다.

Claims (13)

  1. 컨볼루션(convolutionally) 인코딩된 비트들의 시퀀스를 디코딩하기 위한 방법으로서,
    비터비(Viterbi) 디코더를 사용하여 상기 컨볼루션 인코딩된 비트들의 시퀀스를 디코딩하는 단계;
    상기 컨볼루션 인코딩된 비트들의 시퀀스의 제 1 부분을 재-디코딩하는 단계; 및
    디코딩된 비트들의 시퀀스를 출력하는 단계를 포함하며, 상기 컨볼루션 인코딩된 비트들의 시퀀스의 디코딩되어 출력된 제 1 부분은 상기 컨볼루션 인코딩된 비트들의 시퀀스의 재-디코딩된 제 1 부분에 대응하는 것을 특징으로 하는 방법.
  2. 제 1 항에 있어서,
    상기 컨볼루션 인코딩된 비트들의 시퀀스의 끝부분에 상기 컨볼루션 인코딩된 비트들의 시퀀스의 상기 제 1 부분을 복사하여 추가하는 이전 단계를 더 포함하는 것을 특징으로 하는 방법.
  3. 제 2 항에 있어서,
    상기 출력하는 단계는 상기 디코딩된 비트들의 시퀀스의 상기 제 1 부분의 일부를 상기 비트들의 시퀀스의 끝부분에 추가된 상기 제 1 부분의 대응하는 비트 들로 교체하는 단계를 포함하는 것을 특징으로 하는 방법.
  4. 제 1 항에 있어서,
    상기 비터비 디코더는 제로-바이팅(zero-biting) 디코더인 것을 특징으로 하는 방법.
  5. 제 1 항에 있어서,
    상기 컨볼루션 인코딩된 비트들의 시퀀스의 상기 제 1 부분은 상기 비터비 디코더를 초기화하는데 필요한 비트들의 개수와 동일한 길이를 가지는 것을 특징으로 하는 방법.
  6. 제 1 항에 있어서,
    상기 컨볼루션 인코딩된 비트들의 시퀀스의 상기 제 1 부분은 (2*상기 비터비 디코더를 초기화하는데 필요한 비트들의 개수)와 동일한 길이를 가지는 것을 특징으로 하는 방법.
  7. 제 4 항에 있어서,
    상기 비터비 디코더는 정규(normal) 상태 "00" 비터비 디코더인 것을 특징으로 하는 방법.
  8. 컨볼루션 인코딩된 비트들의 시퀀스를 디코딩하기 위한 디코더로서,
    상기 컨볼루션 인코딩된 비트들의 시퀀스를 수신하기 위한 입력 포트;
    상기 컨볼루션 인코딩된 비트들의 시퀀스를 디코딩하고 상기 컨볼루션 인코딩된 비트들의 시퀀스의 제 1 부분을 재-디코딩하기 위한 비터비 디코더; 및
    디코딩된 상기 컨볼루션 인코딩된 비트들의 시퀀스를 출력하기 위한 출력 포트를 포함하며, 디코딩된 상기 컨볼루션 인코딩된 비트들의 시퀀스의 상기 제 1 부분은 상기 컨볼루션 인코딩된 비트들의 시퀀스의 재-디코딩된 제 1 부분에 대응하는 것을 특징으로 하는 디코더.
  9. 제 8 항에 있어서,
    상기 컨볼루션 인코딩된 비트들의 시퀀스의 끝부분에 상기 컨볼루션 인코딩된 비트들의 시퀀스의 상기 제 1 부분을 복사하여 추가하기 위한 첨부(affixing) 모듈; 및
    디코딩 후에 상기 비트들의 시퀀스의 상기 제 1 부분의 일부를 제거하고 상기 비트들의 시퀀스의 끝부분에 추가된 상기 제 1 부분의 대응하는 비트들로 교체하며, 상기 컨볼루션 인코딩된 비트들의 시퀀스의 끝부분에 추가된 상기 컨볼루션 인코딩된 비트들의 시퀀스의 상기 제 1 부분을 제거하기 위한 교체 모듈을 더 포함하는 것을 특징으로 하는 디코더.
  10. 제 8 항에 있어서,
    상기 비터비 디코더는 정규 상태 "00" 비터비 디코더인 것을 특징으로 하는 디코더.
  11. 제 8 항에 있어서,
    상기 컨볼루션 인코딩된 비트들의 시퀀스의 상기 제 1 부분은 상기 비터비 디코더를 초기화하는데 필요한 비트들의 개수와 동일한 길이를 가지는 것을 특징으로 하는 디코더.
  12. 제 8 항에 있어서,
    상기 컨볼루션 인코딩된 비트들의 시퀀스의 상기 제 1 부분은 (2*상기 비터비 디코더를 초기화하는데 필요한 비트들의 개수)와 동일한 길이를 가지는 것을 특징으로 하는 디코더.
  13. 제 8 항에 있어서,
    상기 디코더는 무선 광대역 가능 모뎀에서 사용되는 것을 특징으로 하는 디코더.
KR1020087005971A 2008-03-11 2006-12-20 테일-바이팅 디코딩을 위한 방법 및 디코더 KR20080083256A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020087005971A KR20080083256A (ko) 2008-03-11 2006-12-20 테일-바이팅 디코딩을 위한 방법 및 디코더

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020087005971A KR20080083256A (ko) 2008-03-11 2006-12-20 테일-바이팅 디코딩을 위한 방법 및 디코더

Publications (1)

Publication Number Publication Date
KR20080083256A true KR20080083256A (ko) 2008-09-17

Family

ID=40024042

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020087005971A KR20080083256A (ko) 2008-03-11 2006-12-20 테일-바이팅 디코딩을 위한 방법 및 디코더

Country Status (1)

Country Link
KR (1) KR20080083256A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101476560B1 (ko) * 2010-08-11 2014-12-24 지티이 코포레이션 채널 복호화 방법과 테일 바이팅 길쌈부호 복호기

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101476560B1 (ko) * 2010-08-11 2014-12-24 지티이 코포레이션 채널 복호화 방법과 테일 바이팅 길쌈부호 복호기

Similar Documents

Publication Publication Date Title
EP1841116B1 (en) Decoding method for tail-biting convolutional codes using a search-depth Viterbi algorithm
JP3610329B2 (ja) 大最小距離を用いたターボ符号化方法及びそれを実現するシステム
JP4092352B2 (ja) 復号装置、復号方法、及び受信装置
US8751907B2 (en) Joint encoding and decoding methods for improving the error rate performance
US8443265B2 (en) Method and apparatus for map decoding and turbo decoder using the same
JP3666430B2 (ja) 情報送信装置及び情報送信方法、並びに情報受信装置及び情報受信方法
JP4097124B2 (ja) 符号化されたデータのブロックのサイズを最適化する方法、データのブロックを反復復号化するための方法、符号化されたデータのブロックを反復復号化するための装置、符号化/復号化システム、データのブロックを符号化するための装置及びデータのブロックをターボ等化するための装置
EP1119109A1 (en) Bandwidth-efficient concatenated trellis-coded modulation decoder and decoding method thereof
JP2006174437A (ja) 受信機及びその信号処理方法
US20130007568A1 (en) Error correcting code decoding device, error correcting code decoding method and error correcting code decoding program
WO2010045032A1 (en) Modified maximum-likelihood decoding for tail biting convolutional (tbcc) codes
US8413021B2 (en) Efficient soft value generation for coded bits in a turbo decoder
CA2709681A1 (en) Decoding scheme using a-priori information about transmitted messages
KR20110037953A (ko) 데이터 복호화 방법, 데이터 인터리브 방법, 데이터 복호화 장치, 인터리버 테이블 생성 장치 및 데이터 인터리브 장치
JP6456522B2 (ja) 反復変調、等化、および、チャネル復号のための方法、装置、および、コンピュータープログラム
JP2004533175A (ja) 相補的エンコーダ/デコーダに対する方法及び装置
KR100390416B1 (ko) 터보 디코딩 방법
US7573962B1 (en) Diversity code combining scheme for turbo coded systems
JP2003229835A (ja) 多元接続システム及び多元接続方法
KR100912600B1 (ko) 임의 개수의 정보 비트들을 위한 테일바이팅 터보 코드
JP2004349901A (ja) ターボ復号器及びそれに用いるダイナミック復号方法
KR20080083256A (ko) 테일-바이팅 디코딩을 위한 방법 및 디코더
WO2008075125A1 (en) Method and decoder for tail-biting decoding
JP4140809B2 (ja) 符号化されたデータブロックのサイズを最適化する方法、初期サイズを有する符号化されたデータブロックを反復復号化するための方法、ターボ符号器によって符号化されたデータブロックを反復復号化するための装置、符号化/復号化システム、データのデータブロックを符号化するための装置、及び符号器によって符号化され、変調されたデータのデータブロックをターボ等化するための装置
US8924811B1 (en) Fast, efficient architectures for inner and outer decoders for serial concatenated convolutional codes

Legal Events

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