KR20010050871A - 이동통신시스템의 구성 복호기 및 방법 - Google Patents

이동통신시스템의 구성 복호기 및 방법 Download PDF

Info

Publication number
KR20010050871A
KR20010050871A KR1020000058527A KR20000058527A KR20010050871A KR 20010050871 A KR20010050871 A KR 20010050871A KR 1020000058527 A KR1020000058527 A KR 1020000058527A KR 20000058527 A KR20000058527 A KR 20000058527A KR 20010050871 A KR20010050871 A KR 20010050871A
Authority
KR
South Korea
Prior art keywords
path
state
selector
metrics
branch
Prior art date
Application number
KR1020000058527A
Other languages
English (en)
Other versions
KR100350502B1 (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 KR20010050871A publication Critical patent/KR20010050871A/ko
Application granted granted Critical
Publication of KR100350502B1 publication Critical patent/KR100350502B1/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
    • 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
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0045Arrangements at the receiver end
    • H04L1/0054Maximum-likelihood or sequential decoding, e.g. Viterbi, Fano, ZJ algorithms
    • 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/4107Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors implementing add, compare, select [ACS] operations
    • 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/4138Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors soft-output Viterbi algorithm based decoding, i.e. Viterbi decoding with weighted decisions
    • H03M13/4146Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors soft-output Viterbi algorithm based decoding, i.e. Viterbi decoding with weighted decisions soft-output Viterbi decoding according to Battail and Hagenauer in which the soft-output is determined using path metric differences along the maximum-likelihood path, i.e. "SOVA" 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/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/4161Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors implementing path management
    • H03M13/4184Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors implementing path management using register-exchange
    • 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/6577Representation or format of variables, register sizes or word-lengths and quantization
    • H03M13/6583Normalization other than scaling, e.g. by subtraction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0045Arrangements at the receiver end
    • H04L1/0052Realisations of complexity reduction techniques, e.g. pipelining or use of look-up tables
    • 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

Abstract

본 발명은 이동통신시스템의 복호장치 및 방법에 관한 것으로, 특히 반복 순환 컨벌루셔널 코드에 의해 변조된 데이터를 복호하기 위한 장치 및 방법에 관한 것이다. 이러한 본 발명은 복수의 수신심벌들로부터 브랜치 메트릭들을 계산하는 브랜치 메트릭 계산회로와, 상기 브랜치 메트릭들과 이전 경로 메트릭들을 입력하고, 제1시점에서 복수의 경로 선택자들과 상기 경로 선택자들과 신뢰정보들로 구성된 LLR 데이터를 발생하는 가산 비교 선택회로와, 행들과 열들의 복수개의 셀들로 구성되고 전송측의 엔코오더에 의해 결정되는 트레일리스에 따라 상기 셀들은 접속되고 각 행의 셀들의 처리시간 Ds를 가지며, 상기 경로 선택자들에 응답하여 ML 경로를 나타내는 마지막 열의 동일한 값들 중 하나를 ML 상태값으로 출력하는 ML 상태 서처와, 상기 가산 비교 선택회로로부터의 상기 LLR 데이터를 상기 Ds만큼 지연하는 지연기와, 행들과 열등의 복수개의 프로세싱 엘리먼트들로 구성되고 상기 전송측의 상기 엔코오더에 의해 결정되는 트레일리스에 다라 상기 프로세싱 엘리먼트들은 접속되고 각 행의 프로세싱 엘리머트드?? 처리시간 DL을 가지며 상기 지연기로부터의 상기 지연된 LLR 데이터에 응답하여 상기 제1시점에서 대략 DS+DL을 뺀 시점에서 복수의 프로세싱 엘리먼트들로부터 업 데이터된 LLR 값들을 발생하는 LLR 업데이트회로와, 상기 업데이터된 LLR값들 중 하나를 상기 ML상태값으로 선택하는 선택기로 구성됨을 특징으로 한다.

Description

이동통신시스템의 구성 복호기 및 방법{COMPONENT DECODING APPARATUS AND METHOD OF MOBILE COMMUNICATION SYSTEM}
본 발명은 이동통신시스템의 복호 장치 및 방법에 관한 것으로, 특히 반복 순환 컨벌루션 코드(Recursive Systematic Convolutional Codes: RSC)를 이용하는 터보코드에 의해 변조된 데이터를 복호하기 위한 구성 복호 장치 및 방법에 관한 것이다.
무선상으로 정보를 주고받는 이동통신시스템(위성 시스템, WCDMA, CDMA2000 등)에서의 신뢰성 있는 데이터 통신을 위해서 채널 코드들이 광범위하게 사용되고 있다. 상기 채널 코드들에는 컨벌류셔널 코드, 터보 코드 등의 다양한 코드들이 있다.
일반적으로 상기 컨벌루션널 코딩된 신호의 복호는 최대 우도열(Maximum Likelihood: 이하 "ML"이라 함) 방식의 비터비 알고리즘(Viterbi Algorithm: VA)을 사용하여 왔다. 상기 비터비 방식은 입력에 있어서 소프트 입력(Soft-Input)을 받으며, 출력에 있어서는 경판정(Hard Decision) 값을 출력한다. 그러나 많은 경우 소프트 출력을 요구하는 복호기를 요구하며, 그 이유 중의 하나는 쇄상 복호(Concatenated Decoding)를 수행하는 경우 큰 성능의 개선을 얻을 수 있기 때문이다. 이러한 관계로, 소프트 출력 또는 디코딩된 심볼의 신뢰성을 얻기 위한 다양한 방법들이 시도되었다. 상기 소프트 출력 또는 디코딩된 심볼의 신뢰성을 얻기 위한 대표적인 방식으로는 맵(Maximum A-posteriori Probability:MAP) 방식과 소바(Soft-Output Viterbi Algorithm: SOVA)가 있다. 상기 맵 방식은 경판정을 후단 확률(A-posteriori Probability )과 함께 출력함으로써 비트 에러 확률 관점에서는 최적의 방식이라 할 수 있지만, 구현상의 복잡성으로 인해 그 용도가 제한되어 왔다. 이러한 관점에서 1989년 J.Hagenauer는 비터비 알고리즘을 일반화하는 SOVA 방식을 제안했다. 상기 방식은 비터비 알고리즘이 경판정뿐만 아니라 그에 따른 소프트 출력인 신뢰정보를 출력하는 방식이다. 그러나 상기 제안에서 SOVA의 실제적인 구조 및 동작 등은 소개되지 않고 있다.
SOVA는 기존의 비터비 알고리즘과는 달리 경판정(HD,0/1)뿐만 아니라 그러한 판정에 관한 신뢰정보도 생성하게 된다. 즉, 출력되는 소프트 출력 값은 복호된 심볼의 극성(Polarity:-1.+1)뿐만 아니라 그 심볼의 신뢰 측정값을 제공함으로써 후속하는 복호를 위해 더 많은 정보를 제공하게 되는 것이다. SOVA에서는 이러한 신뢰정보의 계산을 위해 생존 경로(Survivor Path: SP) 와 경쟁 경로(Competition Path: CP)라는 두 경로의 경로 메트릭(Path Metric: PM)을 계산하고, 상기 두 경로의 차를 절대값으로 취한 값을 신뢰정보로 사용한다. 상기 신뢰정보는 델타(Delta)로 나타내며, 상기 델타는 이하 〈수학식 1〉과 같이 표현된다.
상기 PM의 계산은 일반적인 비터비 방식에서의 PM 계산 방식과 동일하다.
이하 SOVA에 대해 구체적으로 설명하기 위해 상태수가 S=2k-1(k= 구속장)이고 각 상태에는 2개의 가지(Branch)가 도달되는 트레일리스라 가정한다.
일반적인 비터비 방식을 살펴보면, 충분한 크기의 지연 W를 가지면 모든 생존 경로들은 하나의 경로로 병합된다. 상기 W는 상태 셀 윈도우의 크기로도 사용된다. 즉 상태 셀 윈도우의 크기 W를 충분히 크게하면 모든 생존 경로들은 하나로 병합된다. 이를 최대 우도열(Maximum Likelihood: ML) 경로라 한다. 상기 비터비 방식은 ML 경로 상에서 어떠한 시점 k에서 ML 상태 Sk를 선택하기 위해 이하 〈수학식 2〉에 의해 계산된 m 개의 경로 메트릭들 중 최소인 것을 선택한다.
상기 xjn (m)는 타임 j에서 m번째 경로의 가지상의 부호어 심볼을 구성하는 N 비트 중 n번째 비트이며, yjn (m)는 수신신호로서 상기 부호어 심볼 Xjn (m)와 같은 위치에서의 수신된 값이며, Es/No는 채널의 특성을 나타내는 신호 대 잡음비이다. 상기 Pm을 이용하여 m번째 경로, 즉 수학식 2에서 경로 1 또는 경로 2를 선택할 확률은 이하 〈수학식 3〉과 같다.
상기 〈수학식 3〉에서 작은 경로 메트릭 값을 가진 경로를 1라고 가정하면 비터비 방식은 경로 1 및 경로 2 중 경로 1을 선택하게 된다. 이때, 잘못된 경로를 선택할 확률은 이하 〈수학식 4〉와 같다.
상기 △=P2-P1〉0이다. 따라서 비터비 방식은 잘못된 경로를 선택할 확률 Psk를 가지고, 임의 시점 j의 진행에 따라 경로 1과 경로 2상의 정보비트를 Uj (1)및 Uj (2)라 하면 상기 경로 1과 경로 2 상의 정보비트가 서로 다른 (Uj (1)≠ Uj (2)) 모든 위치에서 (e0, e1, e2,…eh-1)에서 h개의 에러를 발생시키게 된다. 이러한 2개의 경로가 수렴하는 길이를 δm(δm ≤Wm)이라 하면, h개의 서로 다른 정보 비트들이 존재하며, δm-h 개의 같은 정보비트들이 존재한다. 만약 경로 1과 관련된 이전의 잘못된 판단 확률 Pj를 저장하고 있다면, 경로 1이 선택되었다는 가정하에, 그 확률을 이하 〈수학식 5〉와 같이 업데이트 할 수 있다.
상기 Pj(1-Psk)는 바른 경로를 선택할 확률이고, (1-Pj)P는 잘못된 경로를 선택할 확률이다. 즉 상기 수학식 4는 바른 경로를 선택할 확률과 잘못된 경로를 선택할 확률를 가산하여 업데이트함을 나타낸다.
이러한 반복 업데이트 과정은 이하 〈수학식 6〉에서 나타나는 바와 같이 Log Likelihood Ratio에 의해 이루어진다.
상기 Δ는 P2-P1이고 α는 상수값이다.
결론적으로, SOVA 업데이트 과정은 앞에서 약술한 바와 같이, 생존 경로(경로 1)와 경쟁 경로(경로 2) 상에서 추정된 정보비트가 다른 경우, 즉 (Uj (1)≠ Uj (2))인 경우 상기 j시점에서의 LLR의 값이 이전의 LLR 값보다 작은 경우만 업데이트 하는 과정이다.
도1은 상태가 4인 경우 트레일리스 상에서의 LLR이 업데이트 되는 과정의 한 예를 보인 것이다. 구체적으로, 도1에서 타임 1(t1)에서 2(t2)로 진행할 때는 생존 경로인 경로 1과 경쟁 경로인 경로 2의 정보비트가 동일하므로 업데이트 대상이 아니다. 그러나 타임 2(t2)에서 3(t3)로 이동할 경우와 타임 3(t3)에서 타임 4(t4)로 이동할 경우에는 경로 1과 경로 2의 정보 비트가 다름으로써 업데이터 대상이됨을 나타내고 있다. 업데이트 대상이된 타임(t3 및 t4)에서의 LLR의 값과 이전의 LLR 값을 비교하여 상기 대상이된 LLR의 값이 이전의 LLR 값보다 작은 경우 업데이트를 수행한다.
이러한 SOVA를 구현하기 위한 방법으로는 역추적소바(Trace Back or Chain Back SOVA: 이하 "TBSOVA"라 함)가 있다. 상기 TBSOVA는 매 복호 시마다 ML경로를 따라 윈도우의 크기 W만큼 역추적(Trace Back) 하는 과정이 존재함으로 복호지연이 존재하게 된다. 이는 고속으로 동작되어야만 하는 응용, 예를 들면 이동통신단말기의 경우 구현상의 문제점을 가져다준다.
따라서 본 발명의 목적은 이동통신시스템에서 터보코딩되어 수신되는 데이터를 복호하기 위한 등록변환소바(Registration Exchange SOVA: RESOVA) 방식을 이용하는 복호 장치 및 방법을 제공함에 있다.
본 발명의 다른 목적은 이동통신시스템에서 터보코딩된 수신데이터 및 컨벌루셔널 코딩된 수신 데이터를 복호할 수 있는 등록변환소바 방식을 이용하는 복호 장치 및 방법을 제공함에 있다.
본 발명의 다른 목적은 터보코딩 또는 컨벌루셔널 코딩된 데이터를 수신하는 이동통신시스템의 수신기에서 복호 지연과 메모리 크기를 줄일 수 있는 등록변환소바 방식을 이용하는 복호 장치 및 방법을 제공함에 있다.
본 발명의 다른 목적은 이동통신시스템의 복호기에서 임의 시점 k에서 대략 k-Ds 시점에서 상태 셀 윈도우가 ML 상태값을 출력하고, 대략 k-Ds-DL시점에서 상기 ML 상태값에 의해 선택되는 LLR을 출력하는 등록 변환 소바 방식을 이용하는 복호 장치 및 방법을 제공함에 있다.
본 발명의 다른 목적은 ML 상태 서처 윈도우와 LLR 업데이트 윈도우를 구비하는 이동통신시스템의 복호기에서 프레임 경계에서 ML 상태 서치의 정확성을 보다 높이기 위해 가상의 코드를 입력하여 ML 상태 서치 동작을 프레임 경계에서 상기 ML 상태 서치 윈도우의 크기만큼 더 수행하는 복호장치 및 방법을 제공함에 있다.
상기 목적을 달성하기 위해서 본 발명은 복수의 수신심벌들로부터 브랜치 메트릭 값들을 계산하는 브랜치 메트릭 계산회로와, 상기 브랜치 메트릭 값들과 이전 경로 메트릭 값들을 입력하고, 제1시점에서 복수의 경로 선택자들과 상기 경로 선택자들과 신뢰정보들로 구성된 LLR 데이터를 발생하는 가산 비교 선택회로와, 행들과 열들의 복수개의 셀들로 구성되고 전송측의 인코더에 의해 결정되는 트레일리스에 따라 상기 셀들은 접속되고 각 행의 셀들의 처리시간 Ds를 가지며, 상기 경로 선택자들에 응답하여 ML 경로를 나타내는 마지막 열의 동일한 값들 중 하나를 ML 상태값으로 출력하는 ML 상태 서처와, 상기 가산 비교 선택회로로부터의 상기 LLR 데이터를 상기 Ds만큼 지연하는 지연기와, 행들과 열등의 복수개의 프로세싱 엘리먼트들로 구성되고 상기 전송측의 상기 엔코오더에 의해 결정되는 트레일리스에 따라 상기 프로세싱 엘리먼트들은 접속되고 각 행의 프로세싱 엘리머트드?? 처리시간 DL을 가지며 상기 지연기로부터의 상기 지연된 LLR 데이터에 응답하여 상기 제1시점에서 대략 DS+DL을 뺀 시점에서 복수의 프로세싱 엘리먼트들로부터 업 데이터된 LLR 값들을 발생하는 LLR 업데이트회로와, 상기 업데이터된 LLR값들 중 하나를 상기 ML상태값으로 선택하는 선택기로 구성됨을 특징으로 한다.
상기한 다른 목적을 달성하기 위해서 본 발명은 반복 순환 컨벌루셔널 코드를 이용하는 이동통신시스템 수신기의 복호방법에 있어서, 수신 데이터로부터 복수개의 브랜치 메트릭들을 계산하는 과정과, 인코더의 트레일리스 구조에 따라 상기 브랜치 메트릭들 이전의 경로 메트릭들을 이용하여 가산 비교 선택을 수행하여 다음 상태들에 대한 경로 메트릭들, 신뢰정보들 및 경로 선택자들을 임의의 시점 K에서 생성하는 과정과, Ds의 길이를 가지는 최대 우호 상태 서처 윈도우가 상기 K 시점부터 Ds의 각 시점의 흐름에 따른 Ds개의 경로 선택자를 입력받아 대략 K-Ds 시점에서 상기 K 시점에 대한 최대 우도 상태값을 출력하는 과정과, DL의 길이를 가지는 로그우도율 업데이트 윈도우가 시점의 흐름에 따른 경로 선택자와 신뢰정보들을 입력받아 상기 최대 우도 상태값에 의해 선택된 상기 업데이터된 최종 로그우도율을 대략 K-Ds-DL시점 후에 출력하는 과정으로 이루어짐을 특징으로 한다.
도 1은 본 발명에 적용되는 LLR 업데이트 방법을 설명하기 위한 격자도.
도 2는 본 발명의 실시 예에 따른 리소바(RESOVA) 복호기의 블록 구성도를 나타낸 도면.
도 3은 본 발명의 실시 예에 따라 소바 복호기에서 LLR 셀과 상태 셀의 동기 방법을 설명하기 위한 도면.
도 4는 본 발명의 적용에 따른 RESOVA에 있어 상태 셀 윈도우와 로그 우도율 셀 윈도우에 있어서의 복호 진행상태를 보여주는 격자도.
도 5는 본 발명의 적용에 따른 RESOVA 전체 동작의 논리적 흐름을 보여주는 흐름도.
도 6은 본 발명에 따른 RESOVA에 있어 가지길이계산단의 내부 구성을 보여주는 도면.
도 7은 상기 도2의 가산 비교 선택부의 내부 구성을 나타낸 블록도.
도 8은 상기 도7의 가산 비교 선택기의 내부 구성을 나타낸 블록도.
도 9는 본 발명에 있어서 8 상태를 가정한 경우에 있어서의 경로 메트릭 메모리의 내부 구성을 보여주는 도면.
도 10a는 본 발명에 따른 RESOVA에 있어서의 최대우도율 서처의 내부 구조를 보여주는 도면.
도 10b는 상기 도10a의 하나의 셀 구조를 나타내는 도면.
도 11a는 본 발명에 따른 RESOVA에 있어서의 로그 우도율 업데이트부의 내부 구조를 보여주는 도면.
도 11b는 상기 도11a의 프로세싱 엘리먼트의 구조를 나타내는 도면.
도 12a는 본 발명에 따른 RESOVA에 있어서의 지연기의 내부 구조를 보여주는 도면.
도 12b는 상기 지연기의 메모리 셀 구조를 나타내는 도면.
도 13은 본 발명의 실시 예에 따른 등록 변환 소바에 있어 가상 심볼의 입력에 따른 ML 상태 서치 윈도우와 로그 우도율 업데이트 윈도우에 있어서의 복호 진행상태를 나타낸 도면.
도 14는 본 발명의 바람직한 실시 예에 따른 가상 코드 심볼 입력에 따른 복호를 수행하는 등록 변환 소바의 내부 블록 구성도.
이하 본 발명에 따른 바람직한 실시 예를 첨부한 도면을 참조하여 상세히 설명한다. 우선 각 도면의 구성 요소들에 참조부호를 부가함에 있어서, 동일한 구성 요소들에 한해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 그리고 본 발명을 설명함에 있어서, 관련된 공지 기능 혹은 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
본 발명에서는 제안된 복호방식 중 가장 성능이 좋은 RESOVA 방식에 의해 동작하는 복조기의 구체적인 구조와 동작을 설명한다.
도2는 본 발명의 실시 예에 따른 RESOVA 복호기의 블록 구성도를 나타낸 것이다. 이하 도2를 참조하여 RESOVA 복호기의 구성 및 동작을 설명한다.
본 발명에 따른 RESOVA 복호기(100)는 제어부(117)의 제어를 받고, 클럭 발생기(118)에서 출력되는 클럭을 입력받아 동작한다. 상기 클럭 발생기(118)는 상기 제어부(117)의 제어를 받아 본 발명에 따른 클럭을 생성하여 상기 RESOVA 복호기(100)로 제공한다.
이하 상기 RESOVA 복호기(100)의 구성 및 동작을 설명함에 있어서 상기 제어부(117)의 제어 및 클럭 발생기(118)에서 출력되는 클럭을 연관지어 설명하지 않음을 유의하여야 한다. 본 발명에서 3개의 메모리 레지스터들을 가지는 1/3 터보 인코더를 사용한다고 가정하여 설명한다.
브랜치 메트릭 계산부(101)는 채널로부터 수신되어 복조된 코드워드 r0(t), r1(t), r2(t)를 입력받아 모든 가능한 상태에서의 브랜치 메트릭들(Branch Metric: BM)을 계산하여 출력한다. 실제 구현에 있어서는 현재의 상태를 알면 트레일리스 상에서의 이전 상태를 알 수 있다. 따라서 컨벌루션널 코드 또는 터보 코드인 경우 이전 상태에서 다음 상태로의 천이를 위해 다음 상태들의 각 상태들에 대해 두 개의 브랜치 메트릭이 존재한다. 즉, 상태수가 8인 경우 임의의 시점에서 각 상태로 입력되는 브랜치 메트릭은 2개이므로 모든 상태들에 대한 브랜치 메트릭의 수는 16개가 된다. 상기 BM들은 일종의 상관 크기(A Set of Correlation Measurements)이다. 즉, 복호기의 브랜치 메트릭 계산부(101)에 저장되어 있는 모든 가능한 코드워드들 co, c1, c2와 수신된 코드워드 r0, r1, r2와의 상관을 나타낸다. 상기와 같이 복호기가 미리 알고 있는 모든 코드워드들은 인코더의 생성다항식 g(x)에 다라서 결정되는 트레일리스 상에서의 모든 코드워드이다. 예를 들어 설명하면, 부호율이 R=1/3인 경우 모든 c0, c1, c2 ∈ {0,1}의 8개의 조합에 대해 각 상태에 대한 하나의 BM은 이하 〈수학식 7〉로 나타낼 수 있다. 상기 상태들 각각에 두 개의 브랜치 메트릭이 존재하나 상기한 바와 같이 c0, c1, c2의 조합에 의해 발생할 수 있는 코드워드는 8개이므로 동일한 코드가 두 번씩 반복된다. 따라서 실질적으로 도6과 같은 브랜치 메트릭 계산부(101)는 8개만 있으면 된다. 상기 8개의 브랜치 메트릭들은 동시에 가산 비교 선택부(103)로 입력한다.
상기 상위 항목은 수신측이 알고 있는 코드워드 c0, c1, c2와 상기 c0, c1, c2 각각에 대응되고 수신된 코드워드들인 r0, r1, r2에 의한 BM 계산을 나타낸 것이고, 하위 항목은 상기 상위 식을 일반화한 식이다. 상기 c0, c1, c2는 수신측이 알고 있는 코드워드들로서, 0/1의 값이고 r0, r1, r2는 송신기에서 송신되어 수신기에서 복조된 코드워드들이다. 상기 r0, r1, r2는 소프트 값을 갖는다. 본 발명에서 터보 코드를 사용하는 경우 상기 r0는 8비트이고, r1과 r2는 6비트이다. 상기 r0는 시스테메틱 코드 심볼에 복호 시 발생하는 추가정보(Extrinsic Information)가 합하여진 값이기 때문에 8비트의 값을 갖는다.단, 초기 복호시 상기 추가정보는 0비트이므로 시스테메틱 코드 6비트만 입력된다. 상기 〈수학식 7〉에 의한 브랜치 메트릭 계산부(101)의 상세 구성을 보면 도6과 같다. 상기 도6은 하나의 상태에 대한 BM을 계산하는 구성을 나타낸 도면으로서, 상기 r0, r1, r2는 각각의 곱셈기(121)들로 입력한다. 각각의 곱셈기(121)들은 입력하는 수신 코드워드와 수신기가 가지고 있는 코드워드를 각각 곱하여 M0, M1, M2를 가산기(123)로 출력한다. 따라서 상기 가산기(123)에서 출력되는 비트 수도 8비트가 된다. 단, 초기 복호시에는 6비트이다.
상기 도6을 하드웨어적으로 실제 구현할 때는 곱셈 계산은 하지 않고, 입력되는 심볼의 비트를 코드워드에 따라 인버스(Inverse)함으로써 브랜치 메트릭을 구할 수 있다. 예를 들면, 이하 표1에서 보이는 바와 같이 [2개의 구성 요소로 표현된] 6비트의 2진 시스템에서의 브랜치 메트릭 계산 과정을 나타낸 것으로 코드워드가 0인 경우 입력되는 심볼의 변화는 없다. 단지 코드워드가 1인 경우 각각의 비트를 인버스한 후 000001을 더함으로써 변환 할 수 있다.
Assume the received sample is[R0R1R2] Example of inner product in 2's component
C0C1C2 (1-2*Ci) BMC operation Assume Ri=[011111]=(+31)
(000) (+++) +R0+R1+R2 if Ci=0 Ci*Ri=[011111]=(+31)
(001) (++-) +R0+R1-R2 if Ci=1 Ci*Ri=[100000]+[000001] =[100001]=(-31)
(010) (+-+) +R0-R1+R2 Assume Ri=[100001]=(-31)
(011) (+--) +R0-R1-R2 if Ci=0 Ci*Ri=[100001]=(-31)
(100) (-++) -R0+R1+R2 if Ci=1 Ci*Ri=[011110]+[000001] =[011111]=(+31)
(101) (-+-) -R0+R1-R2 Assume Ri=[000000]=(0)
(110) (--+) -R0-R1+R2 if Ci=0 Ci*Ri=[000000]=(0)
(111) (---) -R0-R1-R2 if Ci=1 Ci*Ri=[111111]+[000001] =[000000]=(0)
가산 비교 선택부(103)는 각각의 상태의 브랜치 메트릭 계산부(101)로부터 출력되는 BM들과 이전의 시점에서 계산된 경로 메트릭들을 입력받아 다음 상태의 경로 메트릭들과 LLR을 출력한다. 상기 LLR은 경로 선택자 PS와 신뢰 정보인 7비트의 델타로 구성된다.
상기 가산 비교 선택부(103)를 구체적으로 설명하기 위해 도7과 도8을 참조하여 설명한다.
도7은 본 발명의 실시 예에 따른 가산 비교 선택부(103)의 상세 블록 구성도로서, 상태수가 8인 경우를 나타낸 것이다.
상기 도7에서 가산 비교 선택부(103)는 8개의 가산 비교 선택기(125)를 가진다. 이는 8개의 상태 상에서 가산·비교·선택 계산이 동시에 이루어짐을 나타낸다. 상기 가산 비교 선택부(103)는 입력으로, 브랜치 메트릭 계산부(101)에서 출력되는 b비트의 BM0 - BM7과, 이전 시점에서 가산·비교·선택 계산된 경로 메트릭 PM0 -PM7을 경로 메트릭 메모리(105)로부터 입력받는다. 상기 가산 비교 선택기(#0~#7; 125)는 상기 BM0 - BM7 중 트레일리스 상의 연결에 따라 상기 브랜치 메트릭들 중 두 개를 입력받는다. 상기 두 개의 입력 중 위의 브랜치 메트릭을 BMU라 하고 아래의 브랜치 메트릭을 BML이라 한다. 또한, 상기 가산비교 선택기(#0~#7; 125)는 상기 PM0 - PM7도 상기 브랜치 메트릭과 동일하게 상기 8개의 경로 메트릭 중 PMu와 PML을 트레일리스 상의 연결구조에 따라 입력받는다. 상기 BM들과 상기 각 가산 비교 선택기(125)들의 BMu와 BML로의 연결관계 및 상기 PM들과 상기 각 가산 비교 선택기(125)들의 PMu와 PML의 연결은 상술한 바와 같이 트레일리스 상의 연결구조에 따라 결정된다.
현재의 상태들에서의 경로 메트릭 PM을 구하기 위해 상기 각 상태들로 천이하는 두 개의 가설(생존 경로와 경쟁경로) 중 하나를 선택하는 것이다. 두 개의 이전 상태에서의 PMu, PML에서 주어진 BMu, BML을 이용하여 다음 상태에서의 NPM(Next Path Metric)을 구한다. 이는 이하 〈수학식 8〉로 나타낼 수 있다.
ADD
NPMu := PMu ± BMu
NPML:= PML± BML
COMPARE AND SELECT
IF(PMu 〈 PML)PM := PML; ELSE PM:= PMu
도8은 상기 가산 비교 선택기(125)의 상세 블록 구성도를 나타낸 도면이다. 이하 도8을 참조하여 가산 비교 선택기(125)의 구성 및 동작을 설명한다.
상기 각 가산 비교 선택기(125)의 구성은 두 개의 가산기(126, 127)와 비교기(129)와 선택기(131) 그리고 신뢰정보 계산부(122)로 이루어진다. 상기 가산기 중 제1가산기(126)는 BMu와 PMu를 입력받아 가산하여 출력하고, 제2가산기(127)는 BML과 PML을 입력받아 가산하여 출력한다. 비교기(129)는 상기 제1가산기(126)와 제2가산기(127)에서 출력되는 값을 입력받아 비교하여 경로의 업 또는 다운을 나타내는 1비트의 경로 선택자를 상기 신뢰정보 계산부(122)와 선택기(121)로 출력한다. 상기 신뢰정보 계산부(122)는 상기 제1가산기(126)와 제2가산기(127)에서 출력되는 값을 입력받아 델타(Dalta)를 계산하고, 상기 경로 선택자를 비교기(129)로부터 입력받아 상기 델타에 부가하여 LLR을 출력한다. 상기 델타 값은 이하의 수학식 9에 의해 계산된다.
상기 a는 상수값으로서, 1/2값을 사용한다.
본 발명에 따른 델타 값 계산은 수학식 9에서 나타낸 바와 같이 경쟁 경로와 생존 경로에 의해 계산되는 것이 아니라 상위 PM(PMU)와 하위 PM(PML)에 의해 계산된다. 상기 PMU는 임의 상태로 천이하는 두 개의 경로 메트릭 중 상위의 경로 메트릭을 나타내고, 상기 PML은 상기 상태로 천이하는 두 개의 경로 중 하위의 경로 메트릭을 나타내는 것이다.
상술한 바와 같이 상기 신뢰정보 계산부(122)는 경로 선택자와 델타 값으로 구성되는 신뢰 데이터(LLR)를 출력한다. 상기 신뢰 데이터인 LLR의 구성을 설명하면, 상기 신뢰 데이터는 최상위 비트(MSB)에 1비트의 경로 선택자를 가지고, 최하위 비트(LSB)로부터 n-1 비트의 델타 값으로 이루어진다. 상기 LLR값의 MSB에 있는 사인비트 또는 추정된 정보 비트를 나타내는 경로 선택자를 사용할 수 있는 경우는 인코더가 반드시 순환 반복 컨벌루셔널 코드를 사용하는 경우이다. 왜냐하면, 일반적인 컨벌루션널 코드인 경우에는 하나의 상태로 천이하는 두 개의 경로상의 입력 정보는 동일한 값을 갖는다. 예를 들면, 하나의 상태로 입력하는 하나의 경로에 대한 입력 정보가 0이면 나머지 하나도 0이된다. 그러나 순환 반복 컨벌루셔널 코드의 경우에는 반드시 한 상태로 연결된 두 개의 경로 중 하나는 정보 비트 0에 의한 천이이고, 나머지 하나의 경로는 정보비트 1에 의한 천이이기 때문이다. 물론, Up/Down(Low)에 의한 경로 선택자의 정의가 필요하다. 예를 들어 상기 경로 선택자가 1이면 업(Up)이고 0이면 다운(Low), 또는 1이면 다운(Low)이고 0이면 업(Up)으로 정의할 수 있다. 상기 선택기(131)는 상기 제1가산기(126)와 제2가산기(127)에서 입력되는 경로 메트릭들을 입력받고, 비교기(129)에서 출력되는 경로 선택자를 입력받아 상기 두 개의 경로 메트릭들 중 하나를 선택하여 다음 상태 값으로 결정하여 출력한다. 결론적으로, 상기 가산 비교 선택부(103)의 출력은 8개의 LLR과 8개의 다음 상태의 상태값으로 출력한다.
경로 메트릭 메모리(Path Metric Memory: PMM - 105)는 상기 가산 비교 선택부(103)에서 출력되는 다음 경로 메트릭 값을 입력받아 저장한다. 도9는 8상태를 가정하고 각 상태마다 8비트로 구성된 경로 메트릭 메모리(PMM) 구조를 보이고 있다. 상기 경로 메트릭 메모리(109)는 현재 시점에서 계산된 각 상태들에 대한 8비트의 경로 메트릭 값들을 저장하고, 다음 시점에서 이전의 경로 메트릭들로서 상기 가산 비교 선택부(103)로 제공한다. 구체적으로, 상기 도9에서 각 경로 메트릭 메모리들(Path Metric Memory: PMM) 0, 1, 2,..., 7들은 8비트 레지스터로 구성되며, 상기 PMM0는 상기 가산 비교 선택부(103)에서 출력되는 경로 메트릭 PM0 8비트가, PMM1에는 상기 가산 비교 선택부(103)에서 출력되는 경로 메트릭 PM1 8비트가, PMM2에는 PM2 8비트가, PMM3에는 PM3 8비트가, PMM4에는 PM4 8비트가, PMM5에는 PM5 8비트가, PMM6에는 PM6 8비트가, PMM7d에는 PM7 8비트가 저장된다.
ML 상태 서처(107)는 상태수에 대한 상태값들을 가지고 있으며, 상기 가산 비교 선택부(103)로부터 다수의 경로 선택자들을 병렬로 입력받아 등록 변환(Registration Exchange) 방식에 의해 상기 상태값들 중 ML 상태값을 찾아 출력한다.
도10a는 본 발명에 적용되는 ML 상태 서처(107)의 구성을 나타낸 도면이다. 이하 도10을 참조하여 구체적으로 설명한다. 상기 등록 변환 방식에 의한 ML 상태 서처의 구성 및 동작은 기출원된 출원번호 1998-62713에 상세히 설명되어 있으므로 그 상세한 설명은 생략한다.
상기 ML 상태 서처(107)은 복수개의 행들과 열들의 매트릭스 형상으로 배열된 복수개의 셀들과 복수개의 선택라인들을 구비한다. 상기 각 선택라인은 상기 복수의 행들 중 대응하는 행들과 접속되고, 상기 선택라인들은 경로 선택자를 입력한다. 상기 복수개의 행들과 열들의 매트릭스 형상으로 배열된 복수개의 셀들은 인코더의 트레일리스 구조에 따라 복수개, 예를 들어 2개의 상태값들을 입력하도록 상호 연결된다. 상기 열들 중 첫 번째 열의 셀들 중 상위 셀로부터 순차적으로 증가하는 상태값들을 두 개씩 입력받으며, 상기 첫 열의 셀들을 제외한 다른 각 열들의 셀들은 해당 경로 선택자를 입력받아 인코더의 트레일리스 구조에 따른 생성다항식에 의해 두 개의 상태값을 입력받고, 상기 두 개의 상태값들 중 하나를 선택하여 저장하고 다음 시점에서 인코더의 트레일리스 구조에 따른 연결되는 다음 열의 해당 행들의 셀들로 출력한다. 상기와 같이 시간의 흐름에 따라 상기 과정을 일정 시간동안 반복 수행하면 어떤 시점에서 열에서 상태값들이 동일한 값으로 수렴한다. 이때의 값이 ML 상태값이 된다. 예를들면, 상태수가 8인 경우 ML 상태 서처(107)의 첫 번째 열의 첫 행에는 0과 1일 입력되고, 두 번째 행에는 2와 3이 입력되고, 네 번째 행에는 6과 7이 입력되고, 다섯 번째 행에는 다시 0과 1이 입력되고 마지막 행에는 6과 7이 입력된다. 상기 상태값들은 도2의 상기 클력 발생기(118)에서 발생하는 클럭에 따라 8개의 상태 선택자들을 해당 라인을 통해 입력받아 입력되는 두 개의 상태값들 중 하나를 선택한 후 트레일리스 구조에 따라 연결되는 다음 열의 행들로 입력한다. 일정 시간 동안 상기 과정을 반복하면 어느 시점에서 특정 열들의 상태값은 상기 상태값들 중 하나의 값(0,1,2,3,4,5,6,7 중 하나) 값으로 수렴된다. 예를 들어 수렴되는 값이 5일 경우 상기 열의 셀들의 상태값들은 모두 5가된다. 이때, 상기 5가 ML 상태값이 된다. 상기 ML 상태 서처(107)는 첫 번째 열에 초기 상태값이 입력되어 하나의 상태값으로 수렴하여 마지막 열에서 출력될 때까지 미리 결정된 시간을 갖는다. 상기 ML 상태 서처(107)는 ML 상태값을 찾기 위해 Ds 클럭을 갖는다. 예를 들면, 상기 Ds는 4×k, 상기 k는 ML 상태를 찾기 위한 {인코더 메모리 수}+1이다.
도 10b는 상기 ML 상태 서처(107)의 셀의 구성도를 나타내는 도면이다. 상기 ML 상태 서처(107)의 셀은 선택기와 레지스터 메모리로 구성된다. 상기 선택기는 두 개의 입력 단자와 하나의 선택단자를 가지며, 상기 입력 단자들로는 이전 셀들의 상태값들 또는 초기 상태값을 입력하고, 상기 선택단자로는 경로 선택자가 입력한다. 즉, 상기 선택기는 상기 경로 선택자에 의해 입력되는 두 개의 상태값 중 하나를 선택하여 레지스터 메모리에 저장한다. 레지스터 메모리는 다음 클럭이 입력됨에 의해 상기 저장된 상태값을 출력한다.
도2에서 지연기(109)는 상기 가산 비교 선택부(103)로부터 각 상태에 대한 1비트의 경로 선택자와 n-1비트의 델타로 구성되는 n비트의 LLR을 입력받아 상기 ML 상태 서처(107)이 갖는 지연시간과 동일하게 Ds의 시간 동안 지연하여 출력한다. 도12a는 지연기의 메모리 구조를 나타내고 있는 것으로, 상태수가 8이고 지연시간이 Ds인 메모리 셀들로 구성됨을 나타내고 있다. 그리고 도12b는 상기 지연기(109)를 구성하는 메모리 셀의 구성을 나타낸 도면으로 일정 시간 각 경로 메트릭들을 지연하여 출력하는 버퍼로 구성됨을 나타내고 이다. 상기 메모리 셀들의 버퍼들에 의해 상기 Ds 시간 동안 상기 LLR을 지연하여 출력한다.
LLR 업데이트부(111)는 상기 지연기(109)로부터 Ds동안 지연된 LLR들을 입력받아 도1과 같은 경우를 업데이트 대상으로 하여 이전의 LLR과 비교하여 작을 경우 업데이트를 수행한다.
도11a는 상태들과 동일한 수의 열과 미리 결정된 행들을 구성하는 프로세싱 엘리먼트들을 가지고 0.d_max 또는 1.d_max의 다수의 초기 입력값을 갖는 LLR 업데이트부(111)의 구성을 나타낸 도면이다. 상기 d_max는 최대 양자화 레벨(예를 들면, 양자화 레벨이 127인 경우 7비트)에 의해 결정되는 값이다. 그러므로 초기 입력값은 8비트로 표현된다. 예를 들면, MSB의 1비트가 0 또는 1이고 다른 7비트들은 모두 1로 표현된다. 상기 도11a는 상태수가 8이고, 최대 양자화 레벨이 127인 경우 의 LLR 셀 구조를 나타낸 것이다. 상기 LLR 업데이트부(111)는 프로세싱하기 위해 DL의 클럭 구간을 필요로 한다. 예를 들면, 상기 DL은 16×k이다. 상기 k는 {인코더의 메모리 수(3)}+1=4 이다. 상기 클럭 수는 상기 LLR 업데이트부(111)의 크기를 나타낸다. 이를 참조하여 상기 LLR 업데이트부(111)를 상세히 설명한다. 상기 LLR 업데이트부(111)는 등록 변환 소프트 출력 비터비 방식(RESOVA)의 셀에서 변형된 형태로서, 복수의 열들과 행들의 매트릭스 형상으로 배열된 프로세싱 엘리먼트(Processing Element: PE)들과 복수개의 선택라인으로 구성된다. 상기 복수개의 선택라인은 경로 선택자와 델타값들을 입력받으며 해당 행의 PE와 병렬 접속된다. 상기 LLR 업데이트부(111)는 상기와 같이 구성되어 1비트의 경판정이 아닌, n비트 소프트 출력인 LLR을 업데이트한다. 따라서 상기 LLR 업데이트부(111)의 내부의 데이터 통신 라인은 n비트가 될 것이다. 여기서 n-1비트는 델타값을 나타내는 비트이고, 1비트는 경로 선택자를 나타내는 비트이다. 또한 상기 LLR 업데이트부(111)를 구성하는 프로세싱 엘리먼트(Processing Element: PE)는 과거의 LLR을 갱신하기 위한 로직을 포함하고 있다. LLR 업데이트부(111)는 클럭 발생기(118)로부터 발생되는 매 클럭마다 지연기(109)로부터 DS(또는 DS-1) 클럭만큼 지연된 LLR 값들을 입력받는다. 이러한 신호들은 이미 DS 또는 DS-1 클럭 전에 각 상태에서 ACS 연산에 의해 계산된 값들이다. 또한, 도11에서 각각의 PE는 선택라인을 제외한 두 개의 입력포트가 존재하며, 첫 번째 열들 PE로 입력하는 두 개의 정보 중 하나는 트레일리스 상에서 보인 것 같이 정보 비트 0, Upper(또는 Lower)에 해당하고, 다른 하나는 정보 비트 1, Lower(또는 Upper)에 해당된다. 열들에 대한 PE들 각각은 그 전단의 PE들과 인코더의 트레일리스 구조에 따라 접속되어 상기 이전 PE들의 LLR들 중 두 개의 LLR값을 입력받는다.
상기 PE의 구성과 동작을 도면 11b를 참조하여 구체적으로 설명한다. 이하 도11b를 설명함에 있어서 LLR을 n, 즉 n-1비트의 델타값과 1비트의 경로 선택자로 구성된다고 정의한다. 도 11b에서 보이듯이 하나의 프로세싱 엘리먼트는 선택라인을 제외한 n 비트를 가지는 두 개의 초기 입력값들 또는 이전 프로세싱 엘리먼트의 값들 입력받는다. 단 첫 번째 열의 PE들은 n비트의 정보 비트 0과 1을 입력받는다. 제1멀티플렉서(141)는 인코더의 트레일리스 구조에 따라 연결된 이전단의 PE들로부터 출력되는 두 개의 n비트의 값들 각각의 경로 선택자(이하 "제1 경로 선택자", "제2경로 선택자"라 함)들을 입력받고 선택라인을 통해 입력되는 경로 선택자(이하 "제3 경로 선택자"라 함)에 의해 상기 제1 및 제2 경로 선택자 중 하나를 선택하여 출력한다. 제2멀티플렉서(143)는 이전 해당 PE로부터 상기 LLR 값 중 1비트의 경로 선택자를 뺀 n-1비트의 델타들을 두 입력포트로 입력받고, 현재 선택라인을 통해 입력되는 상기 경로 선택자에 의해 상기 두 개의 델타 값 중 하나의 델타 값만을 선택하여 출력한다. 비교기(147)는 상기 제2멀티플렉서(143)에서 선택된 n-1비트의 델타와 현재 선택라인을 통해 프로세싱 엘리먼트로 입력하는 LLR의 델타값을 입력받아 어느 것이 큰지를 비교한다. 예를 들면, 제2멀티플레서(143)에서 출력된 델타값을 a라 하고, 현재 선택라인을 통해 프로세싱 엘리먼트로 입력되는 델타를 b라 할 때, a가 b보다 크면 하이(1;또는 로우)를 출력하고, b가 크면 로우(0;또는 하이)를 출력한다. 가산기(145)는 프로세싱 엘리먼트로 입력되는 두 경로 선택자를 입력받아 가산(XOR)하여 출력한다. 상기 비교기(147)와 가산기(145)의 출력은 1비트이다. 앤드 게이트(149)는 상기 가산기(145)와 비교기(147)에서 출력되는 1비트의 값을 앤드 게이팅하여 출력한다. 제3멀티플렉서(151)는 제2멀티플렉서(143)에서 출력되는 n-1비트의 델타와 선택라인을 통해 입력되는 n-1비트의 델타를 입력받고, 상기 앤드 게이트(149)에서 출력되는 값을 선택신호로 입력받아 상기 두 델타 중 하나를 선택하여 출력한다. 제1멀티플렉서(141)에서 출력되는 경로 선택자는 메모리(148)에 저장되고, 제3멀티플렉서(151)에서 출력되는 델타는 메모리(146)에 저장된다. 상기 메모리(148)에 저장된 1비트의 경로 선택자와 메모리(146)에 저장된 n-1비트의 델타는 다음 클럭이 입력될 때 결합되어 업데이트된 n비트의 LLR값으로 출력된다.
도2에서 LLR 선택부(113)는 상기 LLR 업데이트부(111)로부터 업데트된 8개의 LLR들을 입력받고, 상기 ML 상태 서처(107)로부터 출력되는 ML 상태값에 의해 입력되는 LLR들 중 하나를 선택하여 출력한다. 예를 들면 상기 LLR 선택기(113)는 상기 ML 상태 서처(107)로부터 수렴된 값 5를 선택신호로 입력받으면 상기 업데이트된 LLR들 중 5번째 LLR을 출력한다.
출력버퍼(115)는 상기 선택부(113)에서 선택된 LLR을 순차적으로 입력받아 버퍼링한다.
본 발명에서는 메모리를 효율적으로 사용하고 복호지연을 줄이기 위해 두 개의 슬라이딩 윈도우를 사용한다. 첫 번째 윈도우는 상기 ML 상태 서처(107)에 의해 동작되고 ML 상태값을 찾기 위한 ML 상태 서치 윈도우(State Cell Window) Ds이고 두 번째 윈도우는 상기 LLR 업데이트부(111)에 의해 동작되고 최적의 LLR을 출력하기 위한 LLR 업데이트 윈도우 DL이다. 상기 ML 상태 서치 윈도우 및 LLR 업데이트 윈도우 각각을 구성하는 셀 및 프로세싱 엘리먼트들의 각각의 지연시간을 1이라 할 때, 상기 ML 상태 서치 윈도우가 대략 Ds의 지연시간 후에 ML 상태값을 찾아 출력하고, 상기 LLR 업데이트 윈도우는 상기 ML 상태값에 의해 복수개의 LLR들 중 상기 ML 상태값에 해당하는 업데이트된 LLR을 선택하여 대략 Ds+DL지연 시간 후에 출력한다.
도3은 ML 상태 서치 윈도우와 LLR 업데이트 윈도우의 시간에 따른 동작관계를 나타낸 것이고, 도4는 ML 상태 서치 윈도우와 LLR 업데이트 윈도우의 동작에 따른 ML 상태값 및 LLR 값을 출력시점을 설명하기 위한 도면이다. 가산 비교 선택 과 델타 동작이 수행된 시점을 K라 하면 도3에서와 같이 K-Ds+1 지연 시간 후에 ML 상태값이 출력된다. ML 상태값이 출력되는 시점에 중보하여 최적의 LLR이 선택되고, 상기 K-Ds+1의 시점부터 DL+1 지연 후에 상기 LLR이 업데이트되어 출력된다. 따라서 상기 업데이트된 LLR은 상기 K시점부터 DL+Ds-2 지연 시간 후에 출력되므로 상기 K를 기준으로 K-DL-Ds+2 지연시간 후에 상기 최종 LLR이 출력된다.
도5는 본 발명에 따른 RESOVA의 전체적인 동작 흐름도를 나타낸 도면이다. 이를 참조하여 설명하면, 우선 501단계에서 시스템으로부터 클럭이 제공되지 않을 때, 지연기(109), PMM(105), ML 상태 서처(107) 및 LLR 업데이트부(111)는 각각의 셀 또는 PE들을 리셋하여 초기화한다. 상기 501단계 이후에 클럭이 입력되면 브랜치 메트릭 계산부(101)는 503단계에서 입력 버퍼(도시하지 않음)로부터 수신된 데이터를 읽어들인다. 수신 데이터를 읽은 브랜치 메트릭 계산부(101)는 505단계에서 상기 수신 데이터와 복호기가 미리 알고 있는 코드워드들을 이용하여 BM을 계산하여 가산 비교 선택부(103)로 출력한다. 상기 가산 비교 선택부(103)는 510단계에서 각 상태에서의 BM들을 입력받아 각 상태에 대한 업(상위 입력 포트) 및 다운(하위 입력 포트) 경로 메트릭들을 구하고, 상기 수학식 9에 의해 신뢰 정보를 계산하고 LLR을 계산한다.
상기 510단계를 구체적으로 설명하면, 가산 비교 선택부(103)는 506단계에서 LLR 계산 및 경로를 선택하고, 507단계에서 경로 메트릭과 신뢰 정보인 델타값을 계산하고 경로 선택자를 생성하여 출력한다. 상기 LLR과 경로 메트릭이 계산되면 가산 비교 선택부(103)는 508단계에서 경로 메트릭을 정규화한다. 상기 경로 메트릭의 정규화는 경로 메트릭의 값의 오버 플로우를 방지하기 위한 것으로, 상기 각 상태들에 대한 경로 메트릭 값이 일정 값을 넘었을 때, 소정의 값으로 상기 경로 메트릭 값 각각을 빼주는 과정이다. 이는 기출원된 국내특허출원 '1998-062724'에 상세하게 설명되어 있다.
상기 가산 비교 선택부(103)에서 계산되어 생성된 LLR은 511단계에서 지연기(109)로 출력되고, 상기 경로 선택자는 513단계에서 ML 상태 서처(107)로 출력된다. 상기 경로 선택자는 각 상태마다 결정되는 경판정에 의해 추정된 정보이다. 상기 511단계에서 지연기(109)로 출력된 LLR은 다시 일정 지연시간 Ds동안 지연된 다음 LLR 업데이트부(111)로 출력된다. 그리고 상기 513단계에서 출력된 경로 선택신호를 입력받은 ML 상태 서처(107)는 상기 경로 선택자들에 의해 ML 상태값을 찾아 선택기(113)로 출력한다. LLR 업데이트부(111)는 상기 LLR을 입력받아 515단계에서 도1의 트레일리스도에서와 같은 경우를 대상으로 LLR을 갱신하여 선택기(113)로 출력한다. 선택기(113)는 517단계에서 상기 갱신된 LLR들을 입력받고, 상기 ML 상태 서처(107)로부터 입력되는 ML 상태 선택자에 의해 LLR을 선택하여 출력버퍼(115)에 버퍼링한다.
상기와 같이 출력 버퍼에 선택된 LLR이 버퍼링되면 제어부(117)는 519단계에서 클럭 발생 수를 1증가시켜 저장하고, 521단계로 진행하여 상기 저장된 클럭 발생 수가 프레임 길이보다 큰지를 비교한다. 상기 클럭 발생 수가 프레임 길이보다 크다면 제어부(117)는 복호과정을 종료하고, 작다면 상기 503단계 이후의 과정을 반복 수행한다.
상술한 본 발명에서는 상기 ML 상태 서처 윈도우가 프레임 경계에 다달았을 때 제로 터미네이션시킴으로서 프레임 단위의 동작을 종료한다. 이런 경우 상기 ML 상태 서처 윈도우의 출력단측에 있는 ML 상태만 출력되고 그 이외의 ML 상태 서처 윈도우 내에 있는 ML 상태들은 출력되지 않는다.
따라서 본 발명의 두 번째 실시 예에서는 상기 ML 상태 서처 윈도우 내의 모든 ML 상태들이 출력될 수 있도록 구성한다. 이를 도13과 도14를 참조하여 설명한다.
도 13은 본 발명의 실시 예에 따른 등록 변환 소바에 있어 가상 심볼의 입력에 따른 ML 상태 서치 윈도우와 로그 우도율 업데이트 윈도우에 있어서의 복호 진행상태를 나타낸 도면이고, 도 14는 본 발명의 바람직한 실시 예에 따른 가상 코드 심볼 입력에 따른 복호를 수행하는 등록 변환 소바의 내부 블록 구성도이다.
도13에서 ML 상태 서처 윈도우가 프레임이 경계에 도달했을 때, 상기 ML 상태 서치 윈도우의 프레임 경계 도착 시점의 다음 시점부터 가상 제로 심볼을 Ds의 시간 동안 삽입하여줌으로서 ML 상태 서처 윈도우가 프레임 경계에 도달하고, LLR 업데이트 윈도우가 프레임 경계에 도달했음을 나타내고 있다.
상기 도13의 동작을 수행하기 위한 구성은 상기 도14와 같은며, 상기 도2와 동일한 구성은 그 설명을 생략한다.
도14에서 제어기(117)는 프레임 경계를 검출하고, 프레임 경계인지 아닌지에 대한 프레임 경계신호를 출력한다. 가상 제로 심볼 삽입기(1401)는 수신 코드 심볼과 가상 제로 심볼을 입력받고, 상기 제어기(117)로부터 제공되는 프레임 경계신호를 상기 수신 코드 심볼 과 가상 제로 심볼 중 하나를 선택하여 출력한다. 구체적으로 상기 선택기(1401)는 프레임 경계신호에 따라 프레임 경계가 아니면, 즉 프레임 내에 있으면 수신 코드 심볼을 선택하여 출력하고 프레임 경계이면 상기 프레임 경계 후에 가상 제로 심볼을 선택하여 출력한다. 상기 가상 제로 심볼은 가상 제로 심볼 생성기(도시하지 않음)로부터 생성된다. 상기 선택기(1401)로부터 출력되는 심볼은 디먹스(Demux:1403)에서 r0, r1, r2로 디먹싱(Demuxing)되어 복호기(100)로 입력한다. 이하 상기 선택기(1401)과 디먹스(1403)를 가상 제로 심볼 삽입기라 한다. 상기 가상 제로 심볼은 ML 상태 서처 윈도우의 출력단이 프레임 경계까지 진행시키기 위해 Ds 시간동안 복호기(100)로 제공된다.
상술한 바와 같이 본 발명은 등록 교환방식을 이용하는 ML 상태 서치 윈도우와 LLR 업데이트 윈도우를 사용하므로써 TBSOVA와 같이 ML 상태를 찾기 위한 지연시간을 갖지 않으므로 복호시 소요되는 시간을 줄일 수 있는 이점이 있다.
본 발명의 또 다른 이점은 등록 교환방식을 이용하는 ML 상태 서치 윈도우와 LLR 업데이트 윈도우를 사용하므로써 ML 상태를 찾기 위해 필요했던 메모리가 필요없으로 메모리의 크기를 줄일 수 있는 이점이 있다.
본 발명의 또 다른 이점은 ML 상태 서치 윈도우와 LLR 업데이트 윈도우를 사용함에 있어서, 상기 ML 상태 서치 윈도우를 프레임 경계에서 제로 터미네이션시키기 않고, 상기 프레임 경계에서 상기 ML 상태 서치 윈도우만큼 더 진행함으로서 보다 정확한 복호 동작을 수행할 수 있는 이점이 있다.

Claims (10)

  1. 매 시점에서 인코더 메모리의 수와 동일한 K개의 입력 값들에 대응하는 2k개의 브랜치 메트릭들을 계산하는 브랜치 메트릭 계산회로와,
    상기 브랜치 메트릭들과 이전 경로 메트릭들을 수신하고 상기 대응되는 경로 선택자와 신뢰 정보를 포함하는 각 로그우도율을 2k개 생성하는 가산 비교 선택 회로와,
    상기 가산 비교 선택 회로로부터 연속적인 직렬의 경로 선택자를 수신하고 미리 결정된 초기값들을 가지고 Ds 클럭 기간동안 상기 경로 선택자에 따라 최대 우도율 상태를 찾아 ML 상태로서 상기 초기값들 중 하나를 출력하는 최대 우도율 상태 서처와,
    상기 로그우도율들을 입력받고, Ds 클럭 기간동안 상기 로그 우도율들을 지연하는 지연기와,
    상기 로그우도율들 수신하고 상기 로그우도율 DL클럭 기간동안 각각에 대응되는 경로선택자와 신뢰 정보를 연속적으로 수신하여 상기 로그우도율을 업데이트하는 업데이트부와,
    상기 최대 우도율 상태값에 따라 상기 업데이트된 로그우도율들 중 하나를 선택하는 선택기로 이루어짐을 특징으로 하는 복호기.
  2. 제1항에 있어서, 현재 경로 메트릭이 브랜치 메트릭과 이전 경로 메트릭을 가산하여 얻어짐을 특징으로 하는 복호기.
  3. 제1항에 있어서, 상기 가산 비교 선택기가,
    상기 브랜치 메트릭들 중 인코더의 생성다항식에 의해 미리 결정된 트레일리스 구조에 따른 제1브랜치 메트릭과 제1경로 메트릭을 입력받아 가산하여 제1 가산 값을 출력하는 제1가산기와,
    상기 브랜치 메트릭들 중 인코더의 트레일리스 구조에 따른 제2브랜치 메트릭과 제2경로 메트릭을 가산하여 제2가산 값을 출력하는 제2가산기와,
    상기 제1가산 값과 상기 제2가산 값을 비교하여 경로 선택자를 생성하여 출력하는 비교기와,
    상기 제1 및 제2 가산 값과 상기 경로 선택자를 입력받아 신뢰정보를 생성하여 출력하는 신뢰정보 계산부와,
    상기 제1 및 제2 가산 값과 상기 비교기에서 출력되는 경로 선택자를 입력받아 다음 상태의 경로 메트릭을 선택하는 선택기로 이루어짐을 특징으로 하는 이동통신시스템 수신기의 복호장치.
  4. 제3항에 있어서, 상기 신뢰정보인 델타가 이하의 수학식 10에 의해 계산됨을 특징으로 하는 이동통신시스템의 수신기 복호장치.
  5. 제4항에 있어서, 상기 PMU가 입력되는 두 개의 경로 중 이전 시점의 상위 상태로부터 입력되는 제1 가산 값이고, 상기 PML이 상기 두 개의 경로 중 이전 시점의 하위 상태로부터 입력되는 제2가산 값임을 특징으로 하는 이동통신시스템의 수신기 복호장치.
  6. 이동통신시스템 수신기의 복호방법에 있어서,
    모든 가능한 코드워드들과 다수의 수신 심볼들을 이진 계산하여 다수의 브랜치 메트릭들을 계산하는 과정과,
    인코더의 트레일리스 구조에 따라 상기 브랜치 메트릭들 이전의 경로 메트릭들을 이용하여 가산 비교 선택을 수행하여 다음 상태들에 대한 경로 메트릭들 및 신뢰정보들 및 경로 선택자들을 임의의 시점 K에서 생성하는 과정과,
    Ds 기간동안 가산 비교 선택 동작을 수행하여 생성되는 경로 선택자들에 따라서 상기 K시점으로부터 Ds의 시간 후에 최대우도 상태값을 찾아 출력하는 과정과,
    상기 각 신뢰 정보들과 해당 경로선택자들 포함하는 로그 우도율들을 상기 K시점에서 Ds 시간만큼 지연하는 과정과,
    상기 Ds 시간 지연된 로그 우도율들을 입력받고, 상기 다수의 신뢰정보들과 대응되는 경로선택자들을 사용하여 DL시간동안 입력된 로그 우도율들을 업데이트하는 과정과,
    상기 최대우도열 상태값에 의해 업데이트된 로그우도율들 중 하나를 선택하는 과정으로 이루어짐을 특징으로 하는 방법.
  7. 제6항에 있어서, 상기 가산 비교 선택 계산과정이,
    상기 경로 메트릭들 중 인코더의 생성다항식에 의해 결정되는 트레일리스 구조에 따라 입력되는 이전 경로 메트릭과 상기 브랜치 메트릭 가산하여 현재 경로 메트릭들을 계산하는 과정과,
    상기 경로 메트릭들을 이용하여 경로 선택자를 생성하는 과정과,
    상기 경로 메트릭들을 이용하여 신뢰 정보를 계산하는 과정과,
    상기 신뢰정보에 경로 선택자를 부가하여 로그 우도율을 생성하는 과정으로 이루어짐을 특징으로 하는 방법.
  8. 이동통신시스템 수신기의 복호방법에 있어서,
    가능한 모든 코드워드들과 다수의 입력 심볼들을 사용하여 다수의 브랜치 메트릭을 계산하는 과정과,
    상기 브랜치 메트릭들과 이전의 경로 메트릭들을 이용하여 가산 비교 선택 동작을 수행하여 다음 상태들에 대한 경로 메트릭들과 신뢰정보들 및 경로 선택자를 포함하는 로그우도율들을 임의의 시점 K에서 생성하는 과정과,
    Ds의 길이를 가지는 최대 우호 상태 서처 윈도우가 상기 K 시점부터 Ds의 각 시점의 흐름에 따른 Ds개의 경로 선택자를 입력받아 대략 K-Ds 시점에서 상기 K 시점에 대한 최대 우도 상태값을 출력하는 과정과,
    DL의 길이를 가지는 로그우도율 업데이트 윈도우가 시점의 흐름에 따른 경로 선택자와 신뢰정보들을 입력받아 상기 최대 우도 상태값에 의해 선택된 상기 업데이터된 최종 로그우도율을 대략 K-Ds-DL시점 후에 출력하는 과정으로 이루어짐을 특징으로 하는 방법.
  9. 터보코더 디코더에 있어서,
    가능한 모든 코드워드들과 다수의 입력 심볼들을 사용하여 브랜치 메트릭들을 계산하는 브랜치 메트릭 계산회로와,
    상기 브랜치 메트릭들과 이전 가산 비교 선택 동작에 의해 생성된 경로 메트릭들을 입력하고, 제1시점에서 다수의 신뢰 정보들과 다수의 경로 선택자들을 생성하는 가산 비교 선택회로와,
    상기 제1시점의 가산 비교 선택회로로부터 수신되는 연속되는 경로 선택자들을 사용하여 최대우도열 경로를 나타내는 최대우도열 상태값을 찾는 최대우도열 상태 서처와,
    제2 시점동안 다수의 신뢰 정보들과 연속되는 경로 선택자들을 사용하여 신뢰정보를 업데이트하는 로그우도율 업데이트부와,
    상기 최대우도열 상태값에 따라 상기 업데이터된 LLR값들 중 하나를 선택하는 선택기로 구성됨을 특징으로 하는 복호기.
  10. 터보코드 복호방법에 있어서,
    가능한 모든 코드워드들과 다수의 입력 심볼들을 사용하여 브랜치 메트릭들을 계산하는 과정과,
    상기 브랜치 메트릭들과 이전 가산 비교 선택 동작에 의해 생성된 경로 메트릭들을 입력하고, 제1시점에서 다수의 신뢰 정보들과 다수의 경로 선택자들을 생성하는 과정과,
    상기 제1시점의 가산 비교 선택회로로부터 수신되는 연속되는 경로 선택자들을 사용하여 최대우도열 경로를 나타내는 최대우도열 상태값을 찾는 과정과,
    제2 시점동안 다수의 신뢰 정보들과 연속되는 경로 선택자들을 사용하여 신뢰정보를 업데이트하는 과정과,
    상기 최대우도열 상태값에 따라 상기 업데이터된 LLR값들 중 하나를 선택하는 과정으로 구성됨을 특징으로 하는 방법
KR1020000058527A 1999-10-05 2000-10-05 이동통신시스템의 구성 복호기 및 방법 KR100350502B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR1019990042924 1999-10-05
KR19990042924 1999-10-05
KR19990043118 1999-10-06
KR1019990043118 1999-10-06

Publications (2)

Publication Number Publication Date
KR20010050871A true KR20010050871A (ko) 2001-06-25
KR100350502B1 KR100350502B1 (ko) 2002-08-28

Family

ID=26636175

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020000058527A KR100350502B1 (ko) 1999-10-05 2000-10-05 이동통신시스템의 구성 복호기 및 방법

Country Status (14)

Country Link
US (1) US6697443B1 (ko)
EP (1) EP1135877B1 (ko)
JP (1) JP3640924B2 (ko)
KR (1) KR100350502B1 (ko)
CN (1) CN1168237C (ko)
AT (1) ATE385629T1 (ko)
AU (1) AU762877B2 (ko)
BR (1) BR0007197A (ko)
CA (1) CA2352206C (ko)
DE (1) DE60037963T2 (ko)
DK (1) DK1135877T3 (ko)
ES (1) ES2301492T3 (ko)
IL (2) IL143337A0 (ko)
WO (1) WO2001026257A1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006123908A1 (en) * 2005-05-18 2006-11-23 Samsung Electronics Co., Ltd. Turbo decoder architecture for use in software-defined radio systems
WO2006123906A1 (en) * 2005-05-18 2006-11-23 Samsung Electronics Co., Ltd. Viterbi decoder architecture for use in software-defined radio systems
KR100800853B1 (ko) * 2005-06-09 2008-02-04 삼성전자주식회사 통신 시스템에서 신호 수신 장치 및 방법

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020110206A1 (en) * 1998-11-12 2002-08-15 Neal Becker Combined interference cancellation with FEC decoding for high spectral efficiency satellite communications
US6865710B2 (en) * 2000-09-18 2005-03-08 Lucent Technologies Inc. Butterfly processor for telecommunications
US7127664B2 (en) * 2000-09-18 2006-10-24 Lucent Technologies Inc. Reconfigurable architecture for decoding telecommunications signals
US7020214B2 (en) * 2000-09-18 2006-03-28 Lucent Technologies Inc. Method and apparatus for path metric processing in telecommunications systems
EP1220455A1 (en) * 2000-12-29 2002-07-03 Motorola, Inc. Viterbi decoder, method and unit therefor
CN1306514C (zh) * 2001-07-19 2007-03-21 松下电器产业株式会社 再现信号质量的评价方法和信息再现装置
KR100487183B1 (ko) * 2002-07-19 2005-05-03 삼성전자주식회사 터보 부호의 복호 장치 및 방법
US7173985B1 (en) * 2002-08-05 2007-02-06 Altera Corporation Method and apparatus for implementing a Viterbi decoder
KR100515472B1 (ko) * 2002-10-15 2005-09-16 브이케이 주식회사 채널 부호화, 복호화 방법 및 이를 수행하는 다중 안테나무선통신 시스템
US7797618B2 (en) * 2004-12-30 2010-09-14 Freescale Semiconductor, Inc. Parallel decoder for ultrawide bandwidth receiver
JP4432781B2 (ja) * 2005-01-17 2010-03-17 株式会社日立製作所 誤り訂正復号器
US20070006058A1 (en) * 2005-06-30 2007-01-04 Seagate Technology Llc Path metric computation unit for use in a data detector
US7764741B2 (en) * 2005-07-28 2010-07-27 Broadcom Corporation Modulation-type discrimination in a wireless communication network
US7860194B2 (en) * 2005-11-11 2010-12-28 Samsung Electronics Co., Ltd. Method and apparatus for normalizing input metric to a channel decoder in a wireless communication system
US20070268988A1 (en) * 2006-05-19 2007-11-22 Navini Networks, Inc. Method and system for optimal receive diversity combining
US7925964B2 (en) * 2006-12-22 2011-04-12 Intel Corporation High-throughput memory-efficient BI-SOVA decoder architecture
US7721187B2 (en) * 2007-09-04 2010-05-18 Broadcom Corporation ACS (add compare select) implementation for radix-4 SOVA (soft-output viterbi algorithm)
US8238475B2 (en) 2007-10-30 2012-08-07 Qualcomm Incorporated Methods and systems for PDCCH blind decoding in mobile communications
US8127216B2 (en) 2007-11-19 2012-02-28 Seagate Technology Llc Reduced state soft output processing
US20090132894A1 (en) * 2007-11-19 2009-05-21 Seagate Technology Llc Soft Output Bit Threshold Error Correction
US8401115B2 (en) * 2008-03-11 2013-03-19 Xilinx, Inc. Detector using limited symbol candidate generation for MIMO communication systems
US8413031B2 (en) * 2008-12-16 2013-04-02 Lsi Corporation Methods, apparatus, and systems for updating loglikelihood ratio information in an nT implementation of a Viterbi decoder
EP2302811B1 (en) * 2009-08-18 2013-03-27 Telefonaktiebolaget L M Ericsson (Publ) Soft output viterbi algorithm method and decoder
TWI394378B (zh) * 2010-05-17 2013-04-21 Novatek Microelectronics Corp 維特比解碼器及寫入與讀取方法
CN103701475B (zh) * 2013-12-24 2017-01-25 北京邮电大学 移动通信系统中8比特运算字长Turbo码的译码方法
TWI592937B (zh) * 2016-07-05 2017-07-21 大心電子(英屬維京群島)股份有限公司 解碼方法、記憶體儲存裝置及記憶體控制電路單元
CN108491346A (zh) * 2018-03-23 2018-09-04 江苏沁恒股份有限公司 一种bmc解码方法
KR20220051750A (ko) * 2020-10-19 2022-04-26 삼성전자주식회사 장치간 물리적 인터페이스의 트레이닝을 위한 장치 및 방법

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4583078A (en) * 1984-11-13 1986-04-15 Communications Satellite Corporation Serial Viterbi decoder
DE3910739C3 (de) * 1989-04-03 1996-11-21 Deutsche Forsch Luft Raumfahrt Verfahren zum Verallgemeinern des Viterbi-Algorithmus und Einrichtungen zur Durchführung des Verfahrens
US5295142A (en) * 1989-07-18 1994-03-15 Sony Corporation Viterbi decoder
KR950005860B1 (ko) * 1990-12-22 1995-05-31 삼성전자주식회사 바이터비 복호방법
JPH05335972A (ja) * 1992-05-27 1993-12-17 Nec Corp ビタビ復号器
US5341387A (en) * 1992-08-27 1994-08-23 Quantum Corporation Viterbi detector having adjustable detection thresholds for PRML class IV sampling data detection
JPH08307283A (ja) * 1995-03-09 1996-11-22 Oki Electric Ind Co Ltd 最尤系列推定器及び最尤系列推定方法
JP2907090B2 (ja) 1996-01-12 1999-06-21 日本電気株式会社 信頼度生成装置およびその方法
EP0771080B1 (en) * 1995-10-25 1999-01-13 Nec Corporation Maximum-likelihood decoding with soft decisions
GB2309867A (en) * 1996-01-30 1997-08-06 Sony Corp Reliability data in decoding apparatus
JPH09232972A (ja) 1996-02-28 1997-09-05 Sony Corp ビタビ復号器
JPH09232973A (ja) 1996-02-28 1997-09-05 Sony Corp ビタビ復号器
US6212664B1 (en) * 1998-04-15 2001-04-03 Texas Instruments Incorporated Method and system for estimating an input data sequence based on an output data sequence and hard disk drive incorporating same
JPH11355150A (ja) * 1998-06-09 1999-12-24 Sony Corp パンクチャドビタビ復号方法
US6236692B1 (en) * 1998-07-09 2001-05-22 Texas Instruments Incorporated Read channel for increasing density in removable disk storage devices
JP3196835B2 (ja) * 1998-07-17 2001-08-06 日本電気株式会社 ビタビ復号法及びビタビ復号器
US6405342B1 (en) * 1999-09-10 2002-06-11 Western Digital Technologies, Inc. Disk drive employing a multiple-input sequence detector responsive to reliability metrics to improve a retry operation

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006123908A1 (en) * 2005-05-18 2006-11-23 Samsung Electronics Co., Ltd. Turbo decoder architecture for use in software-defined radio systems
WO2006123906A1 (en) * 2005-05-18 2006-11-23 Samsung Electronics Co., Ltd. Viterbi decoder architecture for use in software-defined radio systems
KR100800853B1 (ko) * 2005-06-09 2008-02-04 삼성전자주식회사 통신 시스템에서 신호 수신 장치 및 방법
US7594160B2 (en) 2005-06-09 2009-09-22 Samsung Electronics Co., Ltd Apparatus and method for receiving signal in a communication system

Also Published As

Publication number Publication date
EP1135877A1 (en) 2001-09-26
CA2352206A1 (en) 2001-04-12
KR100350502B1 (ko) 2002-08-28
AU762877B2 (en) 2003-07-10
IL143337A0 (en) 2002-04-21
CN1168237C (zh) 2004-09-22
IL143337A (en) 2008-08-07
CA2352206C (en) 2005-12-06
CN1327653A (zh) 2001-12-19
ES2301492T3 (es) 2008-07-01
WO2001026257A1 (en) 2001-04-12
ATE385629T1 (de) 2008-02-15
EP1135877B1 (en) 2008-02-06
DE60037963D1 (de) 2008-03-20
DK1135877T3 (da) 2008-06-09
BR0007197A (pt) 2001-09-04
JP3640924B2 (ja) 2005-04-20
DE60037963T2 (de) 2009-01-29
AU7690900A (en) 2001-05-10
EP1135877A4 (en) 2004-04-07
US6697443B1 (en) 2004-02-24
JP2003511895A (ja) 2003-03-25

Similar Documents

Publication Publication Date Title
KR100350502B1 (ko) 이동통신시스템의 구성 복호기 및 방법
US6477680B2 (en) Area-efficient convolutional decoder
US6999531B2 (en) Soft-decision decoding of convolutionally encoded codeword
JP4227481B2 (ja) 復号装置および復号方法
US6879267B2 (en) Soft-output decoder with computation decision unit
US7925964B2 (en) High-throughput memory-efficient BI-SOVA decoder architecture
US20070113161A1 (en) Cascaded radix architecture for high-speed viterbi decoder
US7165210B2 (en) Method and apparatus for producing path metrics in trellis
JP2000341140A (ja) 復号方法及び復号装置
US7120851B2 (en) Recursive decoder for switching between normalized and non-normalized probability estimates
JP2002217748A (ja) 誤り訂正復号器
RU2247471C2 (ru) Компонентный декодер и способ декодирования в системе мобильной связи
KR20050076426A (ko) 이동통신시스템에서 맵 방식을 이용하여 복호를 수행하는장치 및 방법
JP2009532952A (ja) トレリスを高速処理するためのパイプライン化された状態更新のスケジューリング
US20100185925A1 (en) Differential Locally Updating Viterbi Decoder
KR100491016B1 (ko) 역방향 상태 천이의 연속적 제어에 의한 역추적 비터비복호기 및 그 방법
KR100850744B1 (ko) Llr 계산 장치 및 계산 방법
Hsu et al. Low complexity radix-4 butterfly design for the Viterbi decoder
JP2000252840A (ja) 誤り訂正復号器
Kwon et al. Implementation of a two-step SOVA decoder with a fixed scaling factor
KR19990035419A (ko) 트렐리스 디코더의 가산 비교 선택 장치
WO1996002973A1 (en) Viterbi acs unit with renormalization

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20110728

Year of fee payment: 10

LAPS Lapse due to unpaid annual fee