KR101018982B1 - 고차 기수의 log map 프로세서 - Google Patents

고차 기수의 log map 프로세서 Download PDF

Info

Publication number
KR101018982B1
KR101018982B1 KR1020030057882A KR20030057882A KR101018982B1 KR 101018982 B1 KR101018982 B1 KR 101018982B1 KR 1020030057882 A KR1020030057882 A KR 1020030057882A KR 20030057882 A KR20030057882 A KR 20030057882A KR 101018982 B1 KR101018982 B1 KR 101018982B1
Authority
KR
South Korea
Prior art keywords
information
logsum
radix
processor
log
Prior art date
Application number
KR1020030057882A
Other languages
English (en)
Other versions
KR20040019905A (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 KR20040019905A publication Critical patent/KR20040019905A/ko
Application granted granted Critical
Publication of KR101018982B1 publication Critical patent/KR101018982B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • 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
    • 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/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
    • H03M13/3922Add-Compare-Select [ACS] operation in forward or backward recursions
    • 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
    • H03M13/3927Log-Likelihood Ratio [LLR] computation by combination of forward and backward metrics into LLRs
    • 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/395Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using a collapsed trellis, e.g. M-step algorithm, radix-n architectures with n>2

Abstract

본 발명은 N-상태 기수-K 트렐리스(N-state Radix-K trellis)를 사용하여 Log MAP 알고리즘에 따라 정보를 처리하는 Log MAP 프로세서에 관한 것으로, 여기서, K는 4 이상의 정수이며, N은 2 이상의 정수이다. Log MAP 프로세서는 LogSum 연산자들로 설계된 브랜치 및 경로 메트릭 계산기들을 포함한다. 사용되는 LogSum 연산자들 및 가산-비교-선택(add-compare-select) 아키텍쳐는 LogSum 연산의 자코비안 정의(Jacobian definition)의 근사화에 기초한다. 따라서, Log MAP 프로세서는 단위 시간 당 비교적 보다 많은 정보를 처리할 수 있다.
Figure R1020030057882
Log MAP 프로세서, 경로 메트릭, LogSum 연산자, 자코비안 정의

Description

고차 기수의 LOG MAP 프로세서{HIGHER RADIX LOG MAP PROCESSOR}
도 1은 본 발명의 Log MAP 프로세서의 블록도.
도 2는 8-상태 기수-4 Log MAP 프로세서의 전향 경로 메트릭을 위한 경로 메트릭 계산기를 도시하는 도면.
도 3은 LogSum 연산의 근사화에 기초한 LogSum 연산자의 아키텍쳐를 도시하는 도면.
도 3a는 역시 LogSum 연산의 근사화에 기초한 LogSum 연산자들의 다른 아키텍쳐를 도시하는 도면.
도 4는 LogSum 연산자들을 사용한 도 1의 Log 우도 계산기들의 구현예를 도시하는 도면.
도 4a는 기수-2 트렐리스와 기수-4 트렐리스 사이의 맵핑의 부분을 도시하는 도면.
도 5는 도 1의 Log MAP 프로세서에 의해 사용되는 8-상태 기수-4 트렐리스를 도시하는 도면.
도 6은 Log MAP 알고리즘에 따라 브랜치 메트릭들 및 경로 메트릭들이 계산되는 Log MAP 알고리즘에 따른 8-상태 기수-4 트렐리스의 부분을 도시하는 도면.
도 7은 Log MAP 알고리즘에 사용되는 기수-2 트렐리스의 부분을 도시하는 도면.
도 8은 터보 인코더의 블록도.
도 9는 본 발명의 Log MAP 프로세서로 구현된 터보 디코더의 블록도.
도 10은 기수-2 터보 디코더와 기수-4 터보 디코더의 성능 곡선들을 도시하는 챠트.
<도면의 주요 부분에 대한 부호의 설명>
102 : BMC
104, 106 : 메모리
108 : 전향 경로 메트릭 계산기
110 : 후향 경로 메트릭 계산기
112, 114 : 멀티플렉서
116, 120 : LLR
118, 122 : Log 우도(LL) 계산기
발명의 분야
본 발명은 일반적으로 통신 시스템들에 관한 것이다.
관련 기술의 설명
Log MAP(Maximum A Posteriori) 프로세서는 Log MAP 알고리즘에 따라 정보를 처리한다. Log MAP 프로세서는 일반적으로 잡음 환경들에 노출된 이후의 디코딩 대상 정보를 수신하는 통신 시스템의 일부이다. Log MAP 알고리즘은 수신된 정보에 기초하여 주어진 시간에 처리 디바이스가 특정 상태에 있을 확률(probability)을 계산하기 위한 재귀 알고리즘이다. 이 확률은 규정된 시간 윈도우 또는 정보 블록에 걸쳐 전향 재귀들(forward recursions) 및 후향 재귀들(backward recursions)에 의해 계산된다. Log MAP 알고리즘은 본질적으로, 수신된 정보에 기초한, 특정 상태들로 존재할 확률들 및 특정 상태들(particular states)로부터 지정 상태들(specific states)로 진행할 사후 확률들의 재귀 계산이다. 상태들은 궁극적으로 수신된 정보를 생성하는 프로세스의 상황(condition)을 기술한다. Log MAP 알고리즘의 출력은 LLR(Log Likelihood Ratio)이라 지칭되며, 이는 원본 정보(즉, 임의의 잡음 환경에 노출되기 이전 및 임의의 처리 이전의 정보)가 특정 값일 확률을 나타낸다. 예로서, 디지털 정보에 대하여, LLR은 모든 수신된 데이터 또는 관찰값들이 주어질 때, 원본 정보가 "0" 비트 또는 "1" 비트 중 어느 한쪽일 확률을 나타낸다. Log MAP 프로세서는 연성 입력 연성 출력(SISO) 디바이스이다.
SISO 디바이스는 연성 정보(soft information)를 수신하고, 이런 정보를 특정 알고리즘에 따라 처리하고, 수신된 정보에 대한 경성(hard) 판정을 하기 위해 사용되거나 부가 처리를 위해 사용될 수 있는 연성 정보를 출력한다. 연성 정보는 수신된 정보의 확률 데이터이며, 이런 정보는 수신된 정보의 값에 속성화되는 신뢰도의 지표를 제공한다. 예로서, 수신된 정보가 "0" 비트로 디코딩되는 경우에, 수신된 정보와 연계된 연성 정보는 원본 정보가 실제 "0" 비트일 가능성이 얼마나 되는지의 지표를 제공한다. 또한, SISO 디바이스는 입력 정보를 처리할 때 부가적인 연성 정보를 생성하며, 부가 생성된 연성 정보와 입력의 연성 정보간의 차이는 외부 정보(extrinsic information)라 지칭된다. SISO 디바이스가 사용되는 다수의 응용분야들에서, 외부 정보는 연성 입력 정보로서 재귀적으로 입력되어 SISO가 특정 수신된 정보에 대하여 보다 신뢰성 있는 연성 정보를 생성할 수 있게 한다.
디지털 정보 처리에서, Log MAP 알고리즘을 사용하는 SISO 디바이스(즉, Log MAP 프로세서)는 한번에 일 비트씩 수신된 정보를 처리한다. Log MAP 알고리즘 및 Log MAP 프로세서가 동작하는 방식은 종종 특정 수의 상태들을 가지는 트렐리스(trellis)에 의해 표현된다. 각 상태는 그와 연계된 확률 및 하나의 상태로부터 시간적으로 전향 또는 후향 중 어느 한쪽의 다른 상태로 전이할 우도(likelihood)를 나타내는 전이 확률들을 가진다. 도 7을 참조하면, Log MAP 프로세서를 위한 트렐리스의 부분이 도시되어 있으며, 트렐리스는 시간에 걸친 상태들 사이의 가능한 전이들을 도시한다. 전향 경로 메트릭이라 지칭되는 αt j는 전향 재귀를 위한, 시간 t에 상태 j가 될 확률을 나타내고, 후향 경로 메트릭이라 지칭되는 βt j는 역시 수신된 정보가 주어질 때, 시간 t에서 상태 j가 될 확률을 나타낸다. 또한, 브랜치 메트릭(branch metric)이라 지칭되는 γt i,k는 상태 i로부터 상태 k로의 전이가 주어질 때, 수신 정보를 발견하고 시간 t에 상태 k에 도달할 확률이다. 비록, 단지 최대 2개의 상태들이 각 시간 순간들을 위해 도시되어 있지만, 도 7은 예로서, Log MAP 프로세서의 상황을 나타내는 각 특정 시간 순간에 8 상태들이 존재하는 8 상태 기수-2 트렐리스가 될 수 있다. 도 7은 기수-2 트렐리스라 지칭되며, 그 이유는 각 상태가 자신에게 들어오는 2 전이 확률들 및 벗어나는 2 전이 확률들을 가지기 때문이다. 따라서, 일반적으로, 기수-K 트렐리스는 트렐리스내의 각 상태로 들어오는 K 브랜치들과, 각 상태를 벗어나는 K 브랜치들을 가진다.
통신 시스템이 발전하고, Log MAP 프로세서들을 사용하는 다른 시스템이 개발됨에 따라, 단위 시간당 보다 많은 정보를 처리할 필요성이 대두되었다. 예로서, 이런 통신 시스템들 또는 터보 디코더들이나 등화기들(equalizers) 같은 통신 시스템 콤포넌트들은 종종 핵심 콤포넌트들로서 Log MAP 프로세서들을 사용한다. 증가된 용량 및/또는 처리량을 가지는 통신 시스템을 갖기 위해서, 이들 핵심 콤포넌트들은 비교적 보다 신속한 속도로 수신된 정보를 처리하여야 한다. 따라서, 최신 통신 시스템들의 수요들을 충족시키기에 충분히 빠르게 정보를 처리할 수 있는 Log MAP 프로세서들을 제공할 필요가 있다. 다수의 응용분야들에서, Log MAP 처리는 소프트웨어를 사용하여 구현된다. 일반적으로, 소프트웨어 구현체들은 본질적으로 Log MAP 알고리즘의 하드웨어 구현체들 보다 느리며, 그 이유는 프로세서 또는 처리 시스템내의 소프트웨어 명령들을 실행하는데 소요되는 시간 때문이다. 실제로, 단위 시간당 처리량이 수배로 증가할 때, 소프트웨어 구현식 알고리즘은 처리 수요를 충분히 충족시키도록 변형(즉, 명령의 수를 줄임)될 수 없다. 하드웨어 구현체들에서, 병렬로 처리를 수행하기 위해서 통상적으로 보다 많은 콤포넌트들이 부가되기 때문에, 처리 시간을 증가시키기 위해 필요한 소요 하드웨어는 종종 복잡해지고, 고가화된다. 따라서, 기수-2 Log MAP 프로세서 보다 단위 시간 당 보다 많은 정보를 처리할 수 있으면서, 소프트웨어 및 하드웨어 구현체들의 한계들을 피할수 있는 Log MAP 프로세서가 필요하다.
본 발명의 방법 및 장치는 기수-K N-상태 트렐리스를 사용하는 Log MAP 알고리즘에 따라 정보를 처리하는 Log MAP 프로세서를 제공하며, 여기서, N은 2 이상의 정수이고, K는 4 이상의 정수이다. 기수-K N-상태 트렐리스는 본 발명의 Log MAP 프로세서가 단위 시간 당 비교적 보다 많은 정보를 처리할 수 있게 하는 고차 기수(higher Radix) 트렐리스이다. Log MAP 프로세서는 트렐리스에 의해 규정된 바와 같은 N 상태들을 가지며, N 상태들 각각은 트렐리스의 전향 및 후향 경로 메트릭들 및 브랜치 메트릭들에 의해 규정된 바와 같은 K 상태들 중 어느 하나로, 또는 어느 하나로부터 전이할 수 있다. 전향 경로 메트릭들은 이전에 계산된 전향 경로 메트릭들 및 브랜치 메트릭들을 사용하는 재귀 공식에 따라서 계산된다. 유사하게, 후향 경로 메트릭들은 이전에 계산된 후향 경로 메트릭들 및 브랜치 메트릭들을 사용하는 재귀 공식에 따라 계산된다.
Log MAP 프로세서는 N-상태 기수-K 처리 프로시저를 위한 Log MAP 알고리즘에 따라 브랜치 메트릭들을 계산하는 브랜치 메트릭 계산기(BMC)를 포함하는 SISO 디바이스이다. Log MAP 프로세서는 계산된 브랜치 메트릭들을 수신하고, 둘 이상의 출력들을 가지는 Log 우도(LL) 계산기들에 공급되는 전향 및 후향 경로 메트릭들을 재귀적으로 계산하도록 구성된 전향 및 후향 경로 메트릭 계산기들(PMC)을 추가로 포함한다. PMC들은 Log 우도 계산기들에 결합된다. Log 우도 계산기들은 계산된 경로 메트릭들을 사용하여 Log 우도 값들을 계산한다. Log 우도 계산기들은 본 발명의 Log MAP 프로세서의 Log 우도 비율(LLR) 출력을 초래하는 외부 정보 입력과 그 출력들간의 차이를 계산하기 위해 감산 회로들에 결합된다. 외부 정보 입력은 Log MAP 프로세서의 이전 출력으로서 얻어지거나 다른 곳으로부터 생성 또는 수신된 다른 연성 정보일 수 있다. 경로 메트릭 계산기들과 Log 우도 계산기들은 가산 비교 선택(ACS) 아키텍쳐와 함께 설계된 LogSum 연산자들을 사용하여 구성된다. ACS 아키텍쳐는 자코비안 관계(Jacobian relationship)라 지칭되는 LogSum 연산의 정의에 기초하며, ACS 아키텍쳐는 자코비안 관계의 근사화를 사용한다.
본 발명의 방법 및 장치는 기수-K N-상태 트렐리스를 사용하여 Log MAP 알고리즘에 따라 정보를 처리하는 Log MAP 프로세서를 제공하며, 여기서, N은 2이상의 정수이고, K는 4 이상의 정수이다. 기수-K N-상태 트렐리스는 본 발명의 Log MAP 프로세서가 단위 시간 당 비교적 보다 많은 정보를 처리할 수 있게 하는 고차 기수 트렐리스이다. Log MAP 프로세서는 트렐리스에 의해 규정된 바와 같은 N 상태들을 가지며, N 상태들 각각은 트렐리스의 브랜치 메트릭들 및 전향 및 후향 경로 메트릭들에 의해 규정되는 바와 같은 K 상태들 중 임의의 하나로 또는 임의의 하나로부터 전이할 수 있다. 전향 경로 메트릭들은 이전에 계산된 전향 경로 메트릭들 및 브랜치 메트릭들을 사용하는 재귀 공식에 따라 계산된다. 유사하게, 후향 경로 메트릭들은 이전에 계산된 후향 경로 메트릭들 및 브랜치 메트릭들을 사용하는 재귀 공식에 따라 계산된다.
Log MAP 프로세서는 N-상태 기수-K 처리 프로시저를 위한 Log MAP 알고리즘에 따라 브랜치 메트릭들을 계산하는 브랜치 메트릭 계산기(BMC)를 포함하는 SISO 디바이스이다. Log MAP 프로세서는 BMC와 통신하는 전향 및 후향 경로 메트릭 계산기들(PMC)을 추가로 포함하며, 이들은 계산된 브랜치 메트릭들을 수신하고, 둘 이상의 출력들을 가지는 Log 우도(LL) 계산기들에 공급되는 전향 및 후향 경로 메트릭들을 재귀적으로 계산하도록 구성된다. PMC들은 Log 우도 계산기들에 결합된다. Log 우도 계산기들은 계산된 경로 메트릭들을 사용하여 Log 우도 전이 항들(terms)을 계산한다. Log 우도 계산기들은 본 발명의 Log MAP 프로세서의 Log 우도 비율(LLR) 출력을 초래하는 외부 정보 입력과 그 출력들간의 차이를 계산하기 위해 감산 회로들에 결합된다. 외부 정보 입력은 Log MAP 프로세서의 이전 출력으로서 얻어지거나, 다른 곳으로부터 생성 또는 수신된 다른 연성 정보일 수 있다. 경로 메트릭 계산기들 및 Log 우도 계산기들은 가산 비교 선택(ACS) 아키택쳐로 설계된 LogSum 연산자들로 구성된다. ACS 아키텍쳐는 자코비안 관계라 지칭되는 LogSum 연산의 정의에 기초하며, ACS 아키텍쳐는 자코비안 관계의 근사화를 사용한다.
본 발명의 방법 및 장치는 일반적으로 N-상태 기수-K Log MAP 프로세서를 위해 설계되며, 여기서, N은 2 이상의 정수이고, K는 4 이상의 정수이다. 수신된 정보는 기수-K Log MAP 알고리즘에 적용된다. 따라서, N-상태 기수-K 처리 가이드(즉, 트렐리스)가 제공되며, Log MAP 알고리즘에 대한 수신된 정보의 적용은 이에 기반한다. 브랜치 및 경로 메트릭들은 N-상태 기수-K 처리 가이드(즉, 트렐리스)에 따라 처리된다. 브랜치 및 경로 메트릭들의 계산은 처리되는 정보의 유형에 따라, 그리고, K 및 N의 특정 값들에 따라 다양한 방정식들의 항들로 표현될 수 있다. 예로서, 처리 대상 정보가 디지털 형태(즉, 이진수 데이터)일 때, 브랜치 및 경로 메트릭들을 위한 방정식들은 특정 형태들을 가진다. 단지 예시를 위해, 본 발명의 방법 및 장치를 디지털 정보를 처리하기 위한 8-상태 기수-4 트렐리스에 관련하여 설명한다. 하기의 방정식들은 디지털 정보를 처리하기 위해 사용된 본 발명의 8-상태 기수-4 구현예를 위하여 유도되었다.
도 1을 참조하면, 본 발명의 Log MAP 프로세서가 도시되어 있다. Log MAP 프로세서는 그 출력들이 LLR 출력들을 생성하기 위해 사용되는 LL 계산기들에 결합되어 있는 PMC들과 통신하는 BMC로 구성된 SISO 디바이스이다. 특히 BMC(102)는 하기의 방정식(비율 1/2 계통 코드)에 따라 브랜치 메트릭들(
Figure 112010055936913-pat00022
)을 생성하기 위해 입력 심볼 히스토리(ISH) 버퍼(미도시)에 저장된 수신된 정보(즉, 수신된 샘플들)를 사용한다.
Figure 112008059558600-pat00023
i=0, ..., N; b=0, 1은 이진수 비트이고, 여기서,
Figure 112008059558600-pat00024
은 상태 i로부터 상태 φb(i)로의 전이에 대응하는 추정을 위한 시간 t에서의 수신된 계통 샘플의 기대값이며;
Figure 112008059558600-pat00025
는 상태 I로부터 상태 φb(i)로의 전이에 대응하는 추정을 위한 시간 t에서의 수신된 등가 샘플의 기대값이다. Lt,ext는 수신된 샘플들과 연계된 외부 정보이며; Lt,ext는 예로서, 본 발명의 Log MAP 프로세서의 이전 출력일 수 있다. 일반적으로, φb(i)의 부호변환(notation)은 "0" 전이(즉, φ0(i))이후 다음 상태를 나타내거나, "1" 전이, 즉, φ1(i)이후 다음 상태를 나타낼 수 있다. 또한, φ0 -1(j)는 상태 j로의 "0" 전이를 위한 이전 상태를 나타내고, φ1 -1(j)는 상태 j로의 "1" 전이를 위한 이전 상태를 나타낸다. YP는 수신된 등가 정보, 즉, 에러 보정 및 검출을 위해 사용되는 정보를 나타낸다.
Figure 112008059558600-pat00026
는 수신된 계통 샘플들, 즉, 수신된 정보를 나타낸다. 기수-4 8-상태 실시예에 대하여, BMC(102)는 8 BMC 계산 유니트들을 포함한다. 계산 유니트들은 수학식 1에 따라 브랜치 메트릭들을 계산하기 위한 일반적인 디지털 하드웨어를 포함한다.
일반적으로 브랜치 메트릭은 기대되는 것에 대한 수신된 정보의 근사성의 척도이라는 것을 유의해야 한다. 브랜치 메트릭들은 시간 윈도우들로 분할된 정보의 스트림에 대해 계산된다. 현재 시간 윈도우는 길이가 W 단위 시간이며, 여기서 W는 정수이다. 또한, 다음 윈도우도 길이가 W 단위 시간일 수 있다. 현 윈도우 동안 계산된 브랜치 메트릭들의 세트는 메모리(104)에 저장되고, 다음 윈도우 동안의 다음 브랜치 메트릭들의 세트는 메모리(106)에 저장된다. 메모리들(104 및 106)의 출력들은 어느 시간 윈도우가 처리되는 지에 따라 전향 경로 메트릭 계산기(108)에 하나 또는 다른 출력을 라우팅하는 멀티플렉서(114)에 공급된다. 메모리들(104 및 106)은 동일 메모리에 대해 하나 이상의 위치들에서 데이터가 판독되어 하나 이상의 다른 장소들로부터 데이터가 판독될 수 있게 하는 듀얼 포트 메모리들(dual port memories)인 것이 적합하다. 예로서, 일 메모리에 대하여, 현 윈도우를 위한 브랜치 메트릭들이 메모리로부터 검색되고, 다른 윈도우를 위한 브랜치 메트릭들이 그 메모리내에 삽입되며, 동시에, 다른 메모리에 대하여, 현 윈도우를 위한 브랜치 메트릭들이 전달되고, 다른 윈도우를 위한 브랜치 메트릭들이 삽입된다. 그후, 후속 윈도우에 대하여, 메모리들의 역할은 반전되어 메모리들로의 또는 메모리들로부터의 브랜치 메트릭들의 삽입 및/또는 검색이 "핑-퐁(ping-pong)" 방식으로 실행되게 한다. 일반적으로, 멀티플렉서는 그 하나 이상의 입력이 존재하고, 하나 이상의 선택 입력들에 인가된 제어 신호에 기초하여 그 출력에 그 입력들 중 하나를 라우팅하는 회로이다.
비록, 도시되지 않았지만, 전향 경로 메트릭 계산기(108)는 전향 브랜치 메트릭들(α)을 계산하기 위해 사용되도록 서로 다른 브랜치 메트릭들이 저장되는 다양한 임시 위치들을 가진다는 것을 이해하여야 한다. 또한, BMC(102)의 출력도 후향 경로 메트릭 계산기(110)에 공급된다. 전향 PMC(108)에서와 같이, 후향 PMC(110)는 시간 윈도우(W)를 위한 후향 경로 메트릭들, 즉, β 및 다음 시간 윈도우를 위한 후향 경로 메트릭들, 즉, βD가 저장되는 다양한 임시 위치들을 가진다. 따라서, 전향 PMC(108) 및 후향 PMC(110)는 BMC(102)와 통신하며, 이는 정보가 BMC(102)와 PMC들 사이에서 전달(즉, 수신 및/또는 송신)되는 것을 의미한다. 기수-4를 위한 전향 및 후향 경로 메트릭들은 하기의 수학식들에 따라 계산된다 :
Figure 112008059558600-pat00027
Figure 112008059558600-pat00028
다시, 수학식 2 및 3은 디지털 정보를 처리하도록 설계된 본 발명의 Log MAP 프로세서의 8-상태 기수-4 구현예를 위해 사용된다. 잠시 도 2를 참조하면, 상술한 수학식 2에 따라 전향 경로 메트릭을 계산하기 위한 4-입력 LogSum 연산자(202) 및 가산기들(204, 206, 208, 210, 212, 214, 216 및 218)을 포함하는 경로 메트릭 계산기가 존재한다. 유사한 경로 메트릭 계산기가 상술한 수학식 3에 따른 후향 경로 메트릭의 계산을 위해 사용된다. LogSum 연산자(202)는 대수적으로 가산기들(204-218)로부터의 모든 합들을 조합한다. 일반적으로, LogSum 연산자들(202)은 하기의 관계에 의해 규정될 수 있는 그 입력에 대수적 연산을 수행한다 :
LogSum(A1, A2, A3,...) = max(A1, A2, A3,...) + f(A1, A2, A3,...) 여기서, f(A1, A2, A3,...) = log(exp(-Δ1) + exp(Δ2) + exp(-Δ3) + ...) 및 Δi = Ai - min(A1, A2, A3,...).
LogSum 연산의 상기 정의는 자코비안 관계라 지칭된다.(Erfanian, J., Pasupathy, S. 및 Gulak, G. : "Reduced Complexity Symbol Detectors with Parallel Structures for ISI Channels", IEEE Transactions on Communications, vol. 42, no. 2/3/4. pp.1661-1671, 1994년 2/3/4월)
잠시 도 6을 참조하면, 각각 수학식 2 및 3에 따라, 본 발명의 Log MAP 프로세서가 네 개의 상태들 중 임의의 하나로부터 시간 t에서의 상태 i로, 시간 t-2로부터 전향 전이하는 방식 및 본 발명의 Log MAP 프로세서가 네 개의 상태들 중 임의의 하나로부터 시간 t에서의 상태 i로, 시간 t-2로부터 후향 전이하는 방식을 도시한다.
도 1을 다시 참조하면, 계산된 브랜치 메트릭들 및 경로 메트릭들(후향 및 전향)은 Log 우도 값들을 계산하는 Log 우도(LL) 계산기들(122 및 118)에 전달된다. 어떤 시간 윈도우가 처리되는지에 따라, 멀티플렉서(112)는 메모리(104 또는 106) 중 어느 하나로부터 Log 우도 계산기(122)로 브랜치 메트릭들을 라우팅한다. 잠시 도 4를 참조하면, Log 우도 계산기들 각각을 위한 아키텍쳐가 도시되어 있다. 기수-4 Log MAP 프로세서가 설명되기 때문에, 두 개의 Log 우도 계산기들이 존재한다는 것을 인지하여야 한다. 상술한 바와 같이, 본 발명은 기수-4 구현예에 특정하게 한정되지 않으며, 따라서, Log 우도 계산기들의 수는 본 발명의 기수-K Log MAP 프로세서를 위한 K의 값에 따라 변화할 수 있다. 예로서, 기수-8 Log MAP 프로세서에 대하여, 3LL 계산기들(각각 16 입력들을 가짐)이 존재하며, 기수-16 Log MAP 프로세서에 대하여, 4LL 계산기들(각각 32 입력들을 가짐)이 존재한다. 단지 설명 및 예시의 편의를 위하여, 기수-4 구현예가 상세히 설명된다. Log MAP 프로세서의 LL 계산기들(118, 122)은 LogSum 연산자들로 구성되어 있는 것으로 도시되어 있다. LL(122)에 대하여, 8개의 4-입력 LogSum 연산자들(430, 432, 434, 436, 438, 440, 442 및 444)이 있다. 첫 번째 4개의 LogSum 연산자들(즉, 430-436)은 4-입력 집합 LogSum 연산자(428)에 결합된다. 나머지 4개의 LogSum 연산자들은 다른 집합 LogSum 연산자(426)에 결합된 그 출력들을 가진다. 집합 LogSum 연산자들의 출력들에서의 Log 우도값들과, 외부 정보 입력 사이의 차이는 감산기 회로에 의해 수행된다. 따라서, 도 1의 LLR(120)은 도 4에 도시된 감산기 회로(420)이다. 달리 말해서, 시간 t에서의 Log 우도 비율은 감산기(420)에 의해 제공된다.
LL(122)에서와 같이, 도 1의 LL(118)은 8개의 LogSum 연산자들(도 4에 도시된 424, 422, 418, 402, 404, 406, 408 및 410)을 포함하며, 여기서, 처음 4개의 LogSum 연산자들(424, 422, 418 및 402)은 집합 LogSum 연산자들(414)에 결합되고, 나머지 LogSum 연산자들(404, 406, 408 및 410)은 집합 LogSum 연산자(412)에 결합된다. 집합 LogSum 연산자들의 출력들과, 외부 정보 입력간의 차이는 감산기 회로(416)에 의해 수행된다. 따라서, 도 1의 LLR(116)은 도 4에 도시된 감산기(416)이다. 응용 분야에 따라서, 외부 정보 입력은 Log MAP 프로세서의 이전 LLR 출력들로부터 또는 다른 곳으로부터의 연성 정보일 수 있다.
LL 계산기들은 Log 우도 값들을 계산하기 위해 경로 메트릭들(전향 및 후향)과 브랜치 메트릭 결과들을 대수적으로 조합한다. 잠시 도 5를 참조하면, LL 계산기들 각각은 두 개의 출력들을 가진다. 하나의 출력은 "1"인 정보 비트, 즉, LLt를 위한 LogSum 연산자(428)의 출력과 LLt+1을 위한 LogSum 연산자(414)의 출력에 대한 기여도들(브랜치 및 경로 메트릭들로부터)을 나타낸다. 다른 출력은 "0"인 정보 비트, 즉, LLt를 위한 LogSum 연산자(426)의 출력과, LLt+1을 위한 LogSum 연산자(412)의 출력에 대한 기여도들을 나타낸다. 기수-4 Log MAP 프로세서에 대하여, 트렐리스는 하나의 상태로부터 다른 상태로 진행할 때, 브랜치 메트릭들이 두 개의 시간 단위들을 횡단하는 것을 보여주며, 이는 기수 2 트렐리스에 대한 시간 압축을 나타낸다. 즉, 도 5에 도시된 바와 같이, 프로세서는 시간 t로부터 시간 t+2로 전이하고, 시간 t+1에서의 프로세서의 상태는 도시되지 않는다. 그러나, LL 값들을 계산하기 위해서, 모든 시간 전이를 위한 경로 및 브랜치 메트릭들에 의한 기여도들이 포함되어야 한다. 따라서, 기수-4(또는 기수-K, 여기서 K는 4 이상)의 경우에 대하여, 소정 유형의 보간이 트렐리스에 나타나지 않는 시간 순간들에서의 메트릭들을 계산하기 위해 필요하다. 그러나, 고차 기수 트렐리스(즉, 기수-K, 여기서 K는 4 이상)를 위한 브랜치 메트릭의 현명한 선택은 보간 계산들에 대한 필요성을 소거하며, 이는 도 4a에 도시 및 설명되어 있다.
도 4a를 참조하면, 8-상태 기수-2 트렐리스 및 8-상태 기수-4 트렐리스가 도시되어 있다. 기수-2 트렐리스에 대하여, 각 브랜치들은 그와 연계된 정보 비트를 가진다. 달리 말해서, "0"으로 라벨링된 브랜치들은 "0"인 정보 비트에 기여한다. "1"로 라벨링된 브랜치들은 "1"인 정보 비트에 기여한다. 또한, 기수-4 트렐리스는 8 상태들을 가지며, 설명의 용이성 및 예시의 명료성을 위해 단지 상태 0으로 들어오는 브랜치들만이 도시되어 있다. 기수-2 트렐리스에서와 같이, 기수-4의 각 트렐리스는 그와 연계된 정보 비트를 가진다. 그러나, 정보는 2-비트 정보이며, 따라서, 특정 브랜치와 연계된 특정 정보는 기수-4 트렐리스에 대한 기수-2 트렐리스의 맵핑으로부터 얻어진다. 예로서, 상태 3으로부터 상태 0으로의 전이(시간 t로부터 시간 t+2로)가 비트 패턴(10)과 연계되어 도시되어 있다. 비트 패턴(10)은 기수-2 트렐리스의 저면부를 관찰함으로써 얻어지고, 이로부터 상태 3으로부터 상태 0으로 진행하기 위한 두 개의 전이들이 결정될 수 있다. 제 1 전이(t로부터 t+1으로)는 상태 3으로부터 상태 1(연계된 정보 비트는 "0")으로이고, 그후, 다음 전이(t+1로부터 t+2로)는 상태 1로부터 상태 0으로이다(연계된 정보 비트는 "1"). 제 1 전이는 최하위 비트(Least Significant Bit)(LSB)와 연계되고, 제 2 전이는 2비트 패턴의 최상위 비트(MSB)와 연계된다. 기수-4 트렐리스의 상태 0으로 들어오는 것으로 도시된 나머지 세 전이들은 유사한 형태로 얻어진다. 따라서, 기수-2 전이들과 비트 연계들이 기수-4(또는 보다 높은 기수) 트렐리스의 브랜치들을 위한 정보 비트 연계를 결정하기 위해 사용될 수 있기 때문에, 특정 정보 비트에 대한 모든 브랜치 메트릭들 및 경로 메트릭들의 기여도들이 고차 기수 트렐리스들을 위해 결정될 수 있다. 따라서, 특정 브랜치 메트릭들 및 경로 메트릭들 전이들은 함께 그룹화되어 특정 정보 비트에 대한 모든 기여도들을 계산하고, 따라서, 그 정보 비트를 위한 Log 우도 값을 결정한다. 도 4를 참조하면, 예로서, 기수-4 프로세서를 위한 LSB 위치의 "0" 비트에 대한 기여도들은 LogSum 연산자들(438, 440, 442 및 444)에 입력된다. LSB 위치의 "1" 비트에 대한 기여도들은 LogSum 연산자들(430, 432, 434 및 436)에 입력된다. MSB 위치의 "1" 비트에 대한 기여도들은 LogSum 연산자들(424, 422, 418 및 402)에 입력된다. 마지막으로, MSB 위치의 "0" 비트에 대한 기여도들은 LogSum 연산자들(404, 406, 408 및 410)에 입력된다. 따라서, LL 계산기들(118, 122)의 입력들은 그룹들로 배열되고, 그에 의해, 각 그룹은 특정 Log 우도 값에 기여하는 선택된 브랜치 및 경로 메트릭 계산들을 나타낸다.
상술한 바와 같이, 전향 및 후향 경로 메트릭들을 계산하기 위해 사용되는 경로 메트릭 계산기들 및 Log 우도값들을 계산하기 위해 사용되는 LL 계산기들은 LogSum 연산자들로 구성된다. 잠시 도 3을 참조하면, 도 4에 도시된 LogSum 연산자들의 아키텍쳐가 도시되어 있다. LogSum 연산의 자코비안 정의를 참조의 편의를 위해 여기에 다시 기재한다 :
LogSum(A1, A2, A3,...) = max(A1, A2, A3,...) + f(A1, A2, A3,...) 여기서, f(A1, A2, A3,...) = log(exp(-Δ1) + exp(Δ2) + exp(-Δ3) + ...) 및 Δi = Ai - min(A1, A2, A3,...). LogSum 정의는 하기와 같이 근사화된다 :
(
Figure 112010055936913-pat00029
), 여기서,
Figure 112010055936913-pat00005
Figure 112010055936913-pat00006
는 특정 시간에 LogSum 연산자에 의해 고려되는 두 개의 가장 큰 값들이다. LogSum 연산자들은 LogSum 연산의 자코비안 정의의 근사화를 구현하는 가산-비교-선택(ACS) 아키텍쳐라 지칭되는 특정 아키텍쳐를 사용하여 설계된다. 여전히 도 3을 참조하면, LogSum 연산자(350)에 대한 입력에서 가산기들(미도시, 도 2 참조)의 결과들은 4-방향 비교 회로(4-way comparison circuit; 340)에 공급된다. 비교 회로(340)는 네 개의 입력들 중 두 개의 가장 큰 입력들(즉, 최대 및 다음 최대)을 출력한다. 경로(390)를 거쳐 적절한 선택 제어 신호를 전송함으로써, 비교 회로(340)는 룩업테이블(LUT)(360)에 저장된 값 (
Figure 112010055936913-pat00030
)을 억세스한다. 가산기(380)는 비교 회로(340)의 출력과 LUT 값을 합산하며, 따라서, 계산된 브랜치 또는 경로 메트릭을 초래한다.
ACS 아키텍쳐의 다른 구현예가 도 3a에 도시되어 있다. 이제 도 3a를 참조하면, LogSum 연산자(300, 도시되어 있지 않으므로 도 2를 참조)의 입력에서의 가산기들의 결과들이 비교기들(304 및 302)에 인가된다. 비교기들의 출력들 및 입력들은 도시된 바와 같이 멀티플렉서들(306 및 308)에 인가된다. 멀티플렉서들의 출력들은 다시 비교기(310)에 인가되고, 비교기의 출력은 멀티플렉서들(306 및 308)의 출력들과 함께 멀티플렉서(312)에 인가된다. (
Figure 112010055936913-pat00031
)를 위한 값들은 LUT(314)에 저장된다. 멀티플렉서(312) 및 룩업테이블(LUT)(314)의 출력들은 가산기(316)에서 가산되어 LogSum 연산자의 최종 출력을 형성한다. 멀티플렉서들(306, 308 및 312)과 함께 비교기들(304, 302 및 310)은 네 개의 입력 값들 사이에서 두 개의 가장 큰(즉, 최대 및 다음 최대) 값들을 찾는다. 그러나, 한번에 최대 두 개의 입력들이 서로 비교되기 때문에, 도 3a의 아키텍쳐는 네 개의 입력들 사이에서 최대값을 산출하지만, 반드시 다음 최대값을 산출하는 것은 아니다. 따라서, 도 3a에 도시된 구현예는 계산된 메트릭의 정확도를 감소시키며, 따라서, Log MAP 프로세서의 성능에 부정적인 영향을 미친다. 후술된 바와 같이, 성능의 열화는 무시할만하고, 따라서, 도 3a에 도시된 아키텍쳐도 LogSum 연산자들을 구성하는데 사용될 수 있다.
LogSum 연산자(428)의 출력은 "1" 비트가 시간 t에서 수신될 확률을 나타내고; LogSum 연산자(426)의 출력은 "0" 비트가 시간 t에서 수신될 확률을 나타낸다. 유사하게, LogSum 연산자들(414 및 412)의 출력은 "1"과 "0" 비트가 시간 t+1에서 수신될 확률을 각각 나타낸다.
이제 도 5를 참조하면, 본 발명의 Log MAP 프로세서가 브랜치 메트릭들을 생성하기 위해 도입되는 정보를 처리하는 방식 및 이런 브랜치 메트릭들을 전향 및 후향 경로 메트릭들을 계산하기 위해 사용하는 방식을 나타내는 8-상태 기수-4 트렐리스가 도시되어 있다. 처리 윈도우는 길이가 W 단위 시간이며, 홀수 시간 순간들(t=1, 3, 5, ...)은 도시되어 있지 않다. 또한, 예시의 명료성을 위하여, 각 전이들을 위한 브랜치 메트릭들은 도시되어 있지 않다. 그러나, 브랜치 메트릭들 및 경로 메트릭들은 상술한 수학식 1, 2 및 3에 따라 계산된다는 것이 이해될 것이다. 전향 재귀는 시간 t=0에서 시작하고, 이전 윈도우의 종점에서 전향 경로 메트릭들을 사용하여 초기화된다. 전향 및 후향 처리는 도시된 바와 같이 W 단위 시간의 시간 윈도우 동안 발생하는 정보의 블록에 대하여 수행된다.
기수-4 트렐리스에서 각 상태는 들어오는 네 개의 브랜치들 및 벗어나는 네 개의 브랜치들을 가진다. 하나의 상태로부터 다른 상태로의 전이가 기수-2 트렐리스를 위한 하나의 정보 비트에 비교할 때, 두 개의 정보 비트를 포함하기 때문에, 이 트렐리스는 시간적으로 압축된다. 따라서, 기수-4 트렐리스에 대하여, 본 발명의 Log MAP 프로세서는 한번에 두 비트를 처리하고, 두 비트에 대응하는 두 개의 LLR 출력들을 가진다. 따라서, 기수-8 트렐리스(미도시)에 대하여, 하나의 상태로부터 다른 상태로의 전이는 세 개의 정보 비트를 포함한다. 기수-16 트렐리스(미도시)에 대하여, 하나의 상태로부터 다른 상태로의 전이는 네 개의 정보 비트를 포함한다. 따라서, 일반적으로, K가 4 이상인 기수-K 트렐리스에 대하여, 하나의 상태로부터 다른 상태로의 전이는 log2K 정보 비트를 포함한다. Log MAP 프로세서가 시간 t=0에서 시작하여 시간 t=W까지 하나의 상태로부터 다른 상태로 전이할 때, 수학식 1 및 2에 따라 전향 경로 메트릭들 및 브랜치 메트릭들을 처리한다. 시간 t=W에서, 전향 재귀는 정지하고, 후향 재귀가 시작된다. 다음 윈도우로부터의 더미 후향 경로 메트릭들(dummy backward path metrics)이 사용되어 시간 윈도우(W)에서 후향 재귀를 초기화한다. 달리 말해서, 후향 재귀는 실제로 다음 윈도우의 일부로부터 시작한다.
도 1 및 도 5를 참조하면, 시간 t=0에서 전향 재귀가 윈도우(W)에 대하여 시작한다. 계산된 브랜치 메트릭들은 메모리(104)에 저장되고, 적절한 시간 순간에, 멀티플렉서(114)를 경유하여 메모리(104)로부터 PMC(108)에 전달된다. PMC(108)에 의해 계산된 전향 경로 메트릭들은 LL 계산기들(118 및 122)에 전달된다. 또한, 메모리(104)로부터의 브랜치 메트릭은 멀티플렉서(112)를 경유하여 LL(118 및 122) 및 PMC(110)에 전달된다. 따라서, LL(122 및 118)은 BMC(102)와 통신하며, 이는 정보가 LL들과 BMC(102) 사이에서 전달되는(즉, 송신 및/또는 수신) 것을 의미한다. 시간 t=W에서, BMC(102)로부터의 브랜치 메트릭들은 PMC(110)에 전달되어 PMC(110)가 더미 후향 경로 메트릭들(βD)을 계산할 수 있게 한다; 즉, 다음 윈도우로부터의 최초 브랜치 메트릭들이 처음에 PMC(110)에 전달되어 PMC(110)가 βD를 계산할 수 있게 한다. 다른 접근법은 βD가 BMC(102)에 예비 저장되고, 시간 t=W에 PMC(110)에 전달되는 것이다. PMC(110)는 계산된 더미 후향 경로 메트릭들(즉, βD) 및 다른 후향 경로 메트릭들(즉, β)을 저장하기 위해 서로 다른 메모리 위치들을 가진다. 그후, 두 유형의 후향 경로 메트릭들이 LL(118 및 122)에 전달된다. 다음 시간 윈도우에서, 메모리(106)로부터 브랜치 메트릭들이 멀티플렉서(112)를 경유하여 LL 계산기들(118 및 122)과, PMC(110)에 전달된다. 또한, 메모리(106)로부터의 브랜치 메트릭들은 멀티플렉서(114)를 경유하여 전향 PMC(108)와 LL 계산기들(118, 122)에 전달된다. 경로 메트릭들은 이전 윈도우에서와 동일한 방식으로 계산된다.
이제, 도 1만을 참조하면, LL 계산기들(118, 122)은 Log 우도 값들을 생성하기 위해 LogSum 연산에 따라 경로 메트릭들과 브랜치 메트릭들을 대수적으로 결합한다. 따라서, 두 개의 정보 비트들은 상술한 기수-2 Log MAP 프로세서의 출력들로부터 결정될 수 있다(t로부터 t+2로의 각 트렐리스 시간에 대하여). 따라서, 본 발명의 Log MAP 프로세서들로 구성된 터보 디코더는 기수-4 터보 디코더들 보다 단위 시간당 비교적 보다 많은 정보를 처리할 수 있다. 일반적으로, N-상태 기수-K Log MAP 프로세서에 대하여, 총 4log2K BMC 연산자들, log2K PMC들, log2K BMC들이 존재하며, PMC들의 수는 동일하다는 것을 주의해야 한다. 비록, PMC들의 수가 동일한 상태로 남아있지만, PMC들의 복잡성은 K가 증가함에 따라 증가한다.
본 발명의 고차 기수 Log MAP 프로세서가 단위 시간 당 비교적 보다 많은 정보를 처리할 수 있기 때문에, Log MAP 프로세서들을 사용하는 다수의 응용분야들이 본 발명의 디바이스로부터 이득을 취할 수 있다. 예로서, 터보 디코더들 및 채널 등화기들은 통신 채널의 다양한 이상들(anomalies)에 노출되었던 수신된 정보를 디코딩하기 위해 본 발명의 Log MAP 프로세서 같은 SISO 디바이스들을 사용한다.
터보 디코더는, 터보 인코더에 의해 인코딩되었고 다른 코딩 디바이스들에 의해 처리되었을 수 있는 정보를 디코딩하기 위해 사용되는 디바이스이다. 도 8을 참조하면, 재귀 계통 코더들(Recursive Systematic Coders)(RNC)(802 및 804)과 인터리버(806)를 포함하는 터보 인코더(800)의 예가 도시되어 있다. 인터리버(806)는 그 입력상에서 널리 알려져 있는 인터리빙 연산들을 수행하고, 그 결과를 RSC(804)에 출력한다. 인터리빙은 정보 비트의 스트림의 시간적 변경, 즉, 정보 비트의 시간 순서의 변경이다. RSC(102 및 104) 양자 모두는 정보 비트상 및 인터리빙된 정보 비트 각각에 코딩 연산들을 수행한다. RSC(102 및 104)는 그 코딩 연산들의 결과로서 각각 패리티 비트(
Figure 112010055936913-pat00032
Figure 112010055936913-pat00033
)를 생성한다. 또한, 각 정보 비트는 본질적으로 복제되고, 계통 비트(즉, XS)라 지칭된다.
Figure 112010055936913-pat00034
Figure 112010055936913-pat00035
패리티 비트와 계통 비트는 일반적으로, 진폭 페이딩(amplitude fading) 및 페이즈 지터(phase jitter)같은 채널 이상 및 수신기 전단부에서의 열적 노이즈를 가지는 통신 채널을 거쳐 전송된다. 채널 이상들은 전송된 정보에 에러를 도입시킨다. 수신된 패리티 비트는
Figure 112010055936913-pat00036
Figure 112010055936913-pat00037
가 되며, 계통 비트는 YS가 되고, 샘플들이라 지칭된다.
이제 도 9를 참조하면, 터보 디코더(900)는 본 발명에 따라 구성된 Log MAP 프로세서들(902 및 906)을 포함한다. 터보 디코더(900)는 인터리버(904) 및 디인터리버(908)를 추가로 포함한다. 디인터리버(908)는 역 인터리빙 연산을 수행한다. 수신된 샘플들(
Figure 112008059558600-pat00038
및 YS)은 Log MAP 프로세서(902)에 인가되고, 수신된 샘플
Figure 112008059558600-pat00039
는 도시된 바와 같이 Log MAP 프로세서(906)에 인가된다. 터보 디코더(900)는 Log 우도 비율 출력을 생성한다. 인터리버(908), 디인터리버(904) 및 Log MAP 프로세서들(902 및 906) 모두는 외부 정보를 검색 및 저장하기 위해 버퍼들 및 메모리 위치들을 공유한다. Log MAP 프로세서들이 기수-4 트렐리스에 따라 정보를 처리할 때, 터보 디코더는 단위 시간 당 2 비트를 디코딩할 수 있다. 기수-8에 대하여, 터보 디코더는 단위 시간당 3 비트를 디코딩할 수 있으며, 기수-16에 대하여 단위 시간당 4 비트를 디코딩할 수 있다. 다중 메모리 억세스가 동시에 수행되는 것을 보증하기 위해서, 반복성 외부 정보 메모리 아키텍쳐가 사용된다. 터보 디코더의 다양한 콤포넌트들로부터의 외부 정보는 외부 정보 메모리라 지칭되는 다양한 메모리 블럭에 저장된다.
특히, 기수-4 터보 디코더에 대하여, 두 개의 정보 비트가 단위 시간당 처리되기 때문에, 터보 디코더는 단위 시간 당 비교적 보다 많은 정보를 구한다. 도 9를 다시 참조하면, 바운더리(910)는 상징적으로 서로 다르게 어드레싱되는 두 개의 메모리 공간들(인터리버(904), 디인터리버(908) 및 Log MAP 프로세서들을 위해)을 나타낸다. Log MAP 프로세서(902)가 위치되어 있는 바운더리(910)의 측면은 외부 정보를 저장하기 위한 메모리를 가지며, 이런 정보는 순차적 메모리 어드레스들을 가지는 메모리에 저장된다. 달리 말해서, 검색대상 정보는 연속적인 메모리 위치들에 위치된다. 그러나, 바운더리(910)의 다른 측면(즉, Log MAP 프로세서(906)가 위치된 측면)상에 저장된 외부 정보의 시간 순서의 변경 때문에, 외부 정보는 순차적 메모리 위치들로부터 검색되지 않는다.
단지 하나의 메모리 어드레스가 알려질 필요가 있고, 다른 메모리 어드레스는 단순히 다음의 보다 높은 어드레스가 되는 순차적인 경우와는 달리, 두 개의 별개의 메모리 어드레스들이 외부 정보를 검색하기 위해 사용된다. 따라서, 순차적인 방식으로 두 개의 메모리 어드레스들로부터 정보를 검색하는 것은 터보 디코더의 동작 속도를 감소시킨다. 이 동작 속도의 감소를 해결하기 위해서, 외부 메모리는 터보 디코더의 기수 값에 따라 특정 횟수 복제(replicate)된다. 예로서, 기수-4 터보 디코더에 대하여, 외부 메모리가 이중화(duplicate)된다. 기수-8 터보 디코더에 대하여, 동일 콘텐츠 및 동일 어드레스들을 가지는 세 개의 외부 메모리 블록들이 존재한다. 일반적으로, 기수-K 터보 디코더에 대하여, log2K 외부 정보 메모리 블록들이 존재하며, 이들 모두는 동일한 어드레스들과 그 어드레스들에 저장된 동일한 콘텐츠를 가진다; 즉, 외부 메모리는 복제되고, 대응하는 메모리 어드레스들은 항상 동일한 정보를 갖는다. 이 방식으로, 외부 정보의 다중 검색이 특정 순간에 수행될 수 있다. 생성된 다수의 어드레스들은 동일한 값을 갖지만, 검색된 실제 값들은 서로 다른 메모리 블록들로부터 올 수 있다는 것을 주의하자. 복제된 외부 정보 메모리들은 서로 독립적이며, 이는 하나의 외부 메모리로부터의 정보 억세스가 어떠한 방식으로도 임의의 다른 외부 메모리에 영향을 미치지 않는다는 것을 의미한다.
도 10을 참조하면, 기수-4 터보 디코더(본 발명의 Log MAP 프로세서들로 구성) 대 기수-2 터보 디코더의 성능 비교 챠트가 도시되어 있다. 동일한 BER(말하자면 10-3)에 대하여, 기수-4 터보 디코더의 신호대 잡음비(
Figure 112003030845827-pat00009
)는 기수-2 디코더의 신호대 잡음비보다 거의 0.05dB 작다. 이 신호대 잡음비의 차이는 무시할만하며, 실용적 목적들을 위해서는 매우 작거나 거의 무의미하다. 이 무시할만한 열화는 PMC들의 설계시 이루어지는 근사화들로 인한 것이다. 따라서, 실용적 목적들을 위 해서, 기수-2 및 기수-4 터보 디코더들은 실질적으로 동일한 성능을 가지며, 기수-4 터보 디코더는 비교적 보다 신속한 속도로 정보를 처리할 수 있다.
기수-2 Log MAP 프로세서 보다 단위 시간 당 보다 많은 정보를 처리할 수 있으면서, 소프트웨어 및 하드웨어 구현체들의 한계들을 피할수 있는 Log MAP 프로세서가 제공된다.

Claims (10)

  1. 로그 넘버 시스템(logarithmic number system)을 이용하여 계산들을 수행하도록 동작되는 프로세서에 있어서,
    적어도 하나의 입력 신호를 수신하기 위한 적어도 하나의 입력과 적어도 하나의 출력을 갖는 디바이스(100)를 포함하고, 상기 디바이스는 적어도 하나의 출력 신호를 생성하기 위해 N-상태 기수-K 트렐리스(N-state Radix-K trellis)를 사용하여 상기 수신된 신호를 처리하며, 여기서, K는 4 이상의 정수이고, N은 2 이상의 정수이고, 상기 디바이스는 비교 회로 및 단일 룩업테이블(314, 360)을 갖는 적어도 하나의 LogSum 연산자(202, 300, 350)를 갖고, 상기 비교 회로는 K 입력들(204, 208, 212, 216, α, β, γ, A1, A2, A3, A4)을 수신하고 가장 큰 값의 입력 및 다른 하나의 입력의 값을 두 개의 비교 출력들로서 선택하며, 상기 두 개의 비교 출력들은 LogSum 연산자의 자코비안 정의(Jacobian definition)의 근사를 결정하기 위하여 상기 룩업테이블로부터 값을 선택하는데에 이용되는, 프로세서.
  2. 제 1 항에 있어서, 상기 디바이스는 기수-K N-상태 트렐리스를 사용하여 LogMAP 알고리즘에 따라 정보를 처리하는 연성 입력 연성 출력 디바이스(Soft Input Soft Output device)를 포함하는 LogMAP 프로세서(100)이며, 여기서, K는 4 이상의 정수이고, N은 2 이상의 정수인, 프로세서.
  3. 제 2 항에 있어서, 상기 연성 입력 연성 출력 디바이스는:
    적어도 하나의 브랜치 메트릭 계산기(branch metric calculator)(102);
    양자 모두가 상기 브랜치 메트릭 계산기와 통신하는, 적어도 하나의 전향 경로 메트릭 계산기(108) 및 적어도 하나의 후향 경로 메트릭 계산기;
    상기 경로 메트릭 계산기들에 결합된 적어도 하나의 Log 우도 계산기(Log Likelihood calculator)(118, 122); 및
    적어도 하나의 Log 우도 비율 출력(Log Likelihood Ratio output)을 제공하기 위해 상기 적어도 하나의 Log 우도 계산기에 결합되며, 외부 정보 입력을 갖는 적어도 하나의 감산기 회로(416, 420)를 포함하고,
    상기 경로 메트릭 계산기들과 상기 적어도 하나의 Log 우도 계산기는 LogSum 연산의 자코비안 정의의 근사화에 기초하여 설계된 LogSum 연산자들로 구성되는, 프로세서.
  4. 제 3 항에 있어서, 상기 외부 정보 입력은 상기 LogMAP 프로세서에 의한 이전의 Log 우도 비율 계산으로부터 얻어지는, 프로세서.
  5. 제 3 항에 있어서, 상기 LogSum 연산자들은 가산-비교-선택 아키텍쳐를 사용하여 구성되는, 프로세서.
  6. 제 3 항에 있어서, N 브랜치 메트릭 계산기들, 총 log2K 경로 메트릭 계산기들 및 총 log2K Log 우도 계산기들이 존재하는, 프로세서.
  7. LogMAP 알고리즘을 사용하여 정보를 처리하는 방법에 있어서,
    상기 LogMAP 알고리즘에 대한 상기 정보의 적용의 기반이 되는 N-상태 기수-K 트렐리스(N-state Radix-K trellis)를 제공하는 단계를 포함하고, 여기서, K는 4 이상의 정수이고, N은 2 이상의 정수이고, 상기 방법은 K 입력들의 비교를 포함하는 적어도 하나의 LogSum 연산을 포함하고, 상기 비교는 가장 큰 값의 입력 및 상기 입력들 중 다른 하나의 값을 두 개의 비교 출력들로서 선택하며, 상기 두 개의 비교 출력들은 LogSum 연산자의 자코비안 정의의 근사를 결정하기 위하여 단일 룩업테이블로부터 값을 선택하는데에 이용되는, 정보 처리 방법.
  8. 제 7 항에 있어서, 상기 N-상태 기수-K 트렐리스를 제공하는 단계는:
    상기 정보를 수신하는 단계;
    상기 수신된 정보 및 외부 정보에 기초하여 브랜치 메트릭들을 계산하는 단계;
    상기 계산된 브랜치 메트릭들에 기초하여 경로 메트릭들을 계산하는 단계;
    상기 브랜치 메트릭들 및 경로 메트릭들로부터 Log 우도 값들을 계산하는 단계로서, 상기 계산된 Log 우도 값 및 상기 계산된 경로 메트릭들은 자코비안 정의의 근사화에 기초한 LogSum 연산들을 통해 얻어지는, 상기 Log 우도 값들을 계산하는 단계; 및
    상기 계산된 Log 우도 값들 및 외부 정보의 감산 연산을 통해 Log 우도 비율을 계산하는 단계를 포함하는, 정보 처리 방법.
  9. 제 1 항에 있어서, 정보를 디코딩하기 위한 터보 디코더(900)를 포함하고,
    상기 터보 디코더는:
    제 1 SISO 디바이스(902)와 제 2 SISO 디바이스를(906) 포함하고, 상기 디바이스의 양자 모두는 상기 디바이스의 상세(embodiment)를 포함하고, 상기 SISO 디바이스들은 인터리버(904) 및 디인터리버(980)에 결합되는, 프로세서.
  10. 제 9 항에 있어서, 상기 SISO 디바이스들, 상기 인터리버 및 디인터리버는 외부 메모리 정보를 저장하기 위한 log2K 복제 메모리 블록들을 갖는, 프로세서.
KR1020030057882A 2002-08-30 2003-08-21 고차 기수의 log map 프로세서 KR101018982B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/232,202 2002-08-30
US10/232,202 US7107509B2 (en) 2002-08-30 2002-08-30 Higher radix Log MAP processor

Publications (2)

Publication Number Publication Date
KR20040019905A KR20040019905A (ko) 2004-03-06
KR101018982B1 true KR101018982B1 (ko) 2011-03-07

Family

ID=31495399

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020030057882A KR101018982B1 (ko) 2002-08-30 2003-08-21 고차 기수의 log map 프로세서

Country Status (4)

Country Link
US (1) US7107509B2 (ko)
EP (1) EP1394953A3 (ko)
JP (1) JP4520122B2 (ko)
KR (1) KR101018982B1 (ko)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7127667B2 (en) * 2002-04-15 2006-10-24 Mediatek Inc. ACS circuit and viterbi decoder with the circuit
US7492790B2 (en) * 2002-10-29 2009-02-17 Agilent Technologies, Inc. Real-time reassembly of ATM data
US7200798B2 (en) * 2003-06-26 2007-04-03 Lucent Technologies Inc. Unified serial/parallel concatenated convolutional code decoder architecture and method
WO2005112273A1 (en) * 2004-05-18 2005-11-24 Koninklijke Philips Electronics N.V. Turbo decoder input reordering
TWI255622B (en) * 2004-10-21 2006-05-21 Mediatek Inc Method of computing path metrics in a high-speed Viterbi detector and related apparatus thereof
KR101134885B1 (ko) * 2005-02-23 2012-04-13 엘지전자 주식회사 인터리빙 어드레스 발생 방법
JP2006324754A (ja) * 2005-05-17 2006-11-30 Fujitsu Ltd 最大事後確率復号方法及び復号装置
US7409606B2 (en) * 2005-08-31 2008-08-05 Motorola, Inc. Method and system for interleaving in a parallel turbo decoder
KR100706618B1 (ko) * 2005-12-09 2007-04-12 한국전자통신연구원 반복 복호기를 위한 고차변조 방식에 적합한 연판정 디매핑방법 및 그를 이용한 오류 정정 장치
JP4709119B2 (ja) * 2006-10-13 2011-06-22 ルネサスエレクトロニクス株式会社 復号装置及び復号方法
US8711984B2 (en) 2008-01-22 2014-04-29 Agere Systems Llc Methods and apparatus for map detection with reduced complexity
WO2010145078A1 (zh) * 2009-06-18 2010-12-23 中兴通讯股份有限公司 一种lte中并行turbo译码的方法及装置
US8413033B2 (en) * 2009-07-24 2013-04-02 Freescale Semiconductor, Inc. Device and method for calculating backward state metrics of a trellis
US8271858B2 (en) * 2009-09-03 2012-09-18 Telefonaktiebolget L M Ericsson (Publ) Efficient soft value generation for coded bits in a turbo decoder
WO2011048997A1 (ja) * 2009-10-22 2011-04-28 日本電気株式会社 軟出力復号器
US8687746B2 (en) * 2010-05-27 2014-04-01 Qualcomm Incorporated SMU architecture for turbo decoder
US8477862B2 (en) 2010-10-14 2013-07-02 Nokia Corporation Apparatus and method for trellis-based detection in a communication system
US8559540B2 (en) * 2010-10-14 2013-10-15 Nokia Corporation Apparatus and method for trellis-based detection in a communication system
RU2010148337A (ru) 2010-11-29 2012-06-10 ЭлЭсАй Корпорейшн (US) Способ и устройство (варианты) для расчета метрик ветвей для нескольких стандартов связи
US9112654B2 (en) 2011-08-16 2015-08-18 Harris Corporation Wireless communications device with multiple trellis decoders and related methods
KR20140109646A (ko) * 2013-03-06 2014-09-16 한국전자통신연구원 터보 복호기의 잉여 정보 전달 방법 및 이를 이용한 장치
CN105306076A (zh) * 2014-06-30 2016-02-03 深圳市中兴微电子技术有限公司 一种基于MAP算法的Turbo译码方法及装置
CN112202456B (zh) * 2020-10-24 2022-04-29 青岛鼎信通讯股份有限公司 一种用于宽带电力线载波通信的Turbo译码方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1154578A2 (en) 2000-05-12 2001-11-14 Nec Corporation High-speed turbo decoder
US20020053061A1 (en) 2000-11-01 2002-05-02 Samsung Electronics Co., Ltd. Viterbi detector for optical disk system

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06290164A (ja) * 1993-02-08 1994-10-18 Hitachi Ltd 時系列データの予測方法
US5933462A (en) * 1996-11-06 1999-08-03 Qualcomm Incorporated Soft decision output decoder for decoding convolutionally encoded codewords
JPH1195786A (ja) * 1997-09-16 1999-04-09 Nippon Telegr & Teleph Corp <Ntt> パターン認識方法および装置とパターン認識プログラムを格納した記録媒体
US6563877B1 (en) * 1998-04-01 2003-05-13 L-3 Communications Corporation Simplified block sliding window implementation of a map decoder
CN1144378C (zh) * 1998-05-28 2004-03-31 索尼株式会社 卷积码软输出解码装置和软输出解码方法
US6366624B1 (en) * 1998-11-30 2002-04-02 Ericsson Inc. Systems and methods for receiving a modulated signal containing encoded and unencoded bits using multi-pass demodulation
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
US6473878B1 (en) * 1999-05-28 2002-10-29 Lucent Technologies Inc. Serial-concatenated turbo codes
JP3246484B2 (ja) * 1999-07-07 2002-01-15 日本電気株式会社 ターボデコーダ
US6400290B1 (en) * 1999-11-29 2002-06-04 Altera Corporation Normalization implementation for a logmap decoder
KR100374787B1 (ko) * 2000-01-18 2003-03-04 삼성전자주식회사 대역 효율적인 연쇄 티.씨.엠 디코더 및 그 방법들
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
US6725409B1 (en) * 2000-06-30 2004-04-20 Texas Instruments Incorporated DSP instruction for turbo decoding
JP2002076920A (ja) * 2000-08-30 2002-03-15 Toshiba Corp 誤り訂正装置
US7242726B2 (en) * 2000-09-12 2007-07-10 Broadcom Corporation Parallel concatenated code with soft-in soft-out interactive turbo decoder
US6877125B2 (en) * 2000-09-18 2005-04-05 Canon Kabushiki Kaisha Devices and methods for estimating a series of symbols
US6865710B2 (en) * 2000-09-18 2005-03-08 Lucent Technologies Inc. Butterfly processor for telecommunications
US6760390B1 (en) * 2000-10-25 2004-07-06 Motorola, Inc. Log-map metric calculation using the avg* kernel
US6865711B2 (en) * 2000-12-15 2005-03-08 Conexant Systems, Inc. System of and method for decoding trellis codes
US6807238B1 (en) * 2001-02-01 2004-10-19 Lsi Logic Corporation Method and apparatus for decoding M-PSK turbo code using new approximation technique

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1154578A2 (en) 2000-05-12 2001-11-14 Nec Corporation High-speed turbo decoder
US20020053061A1 (en) 2000-11-01 2002-05-02 Samsung Electronics Co., Ltd. Viterbi detector for optical disk system

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
ICASSAP'2000, Boston, USA, July 10-12, 2000, V.S. Gierenz et al., "A 550Mb/s Radix-4 Bit-Level Pipeline 16-State 0.25-um CMOS Viterbi Decoder", pp.195-201.*
IEEE Trans. on VLSI, Vol.7, No.3, September 1999, Guido Masera et al., "VLSI Architectures for Turbo Codes", pp.369-379.*

Also Published As

Publication number Publication date
US7107509B2 (en) 2006-09-12
US20040044946A1 (en) 2004-03-04
KR20040019905A (ko) 2004-03-06
EP1394953A3 (en) 2004-08-25
EP1394953A2 (en) 2004-03-03
JP4520122B2 (ja) 2010-08-04
JP2004096747A (ja) 2004-03-25

Similar Documents

Publication Publication Date Title
KR101018982B1 (ko) 고차 기수의 log map 프로세서
KR100487183B1 (ko) 터보 부호의 복호 장치 및 방법
EP1135877B1 (en) Turbo Decoding with soft-output Viterbi decoder
US7209527B2 (en) Turbo decoder employing max and max* map decoding
US6477680B2 (en) Area-efficient convolutional decoder
KR100512668B1 (ko) 터보 부호들의 품질 지수 기준을 사용한 반복 종료
EP1127411B1 (en) Efficient trellis state metric normalization
EP1162750B1 (en) MAP decoder with correction function in LOG-MAX approximation
US6999531B2 (en) Soft-decision decoding of convolutionally encoded codeword
JP2004343716A (ja) 畳み込み符号化信号の伝送形式をブラインド検出する方法および復号器
US7234100B1 (en) Decoder for trellis-based channel encoding
US20080152045A1 (en) High-throughput memory-efficient BI-SOVA decoder architecture
JP3451071B2 (ja) 畳み込みコードのデコーディング方法およびデコーディング装置
US6614858B1 (en) Limiting range of extrinsic information for iterative decoding
US7143335B2 (en) Add-compare-select arithmetic unit for Viterbi decoder
JP2001352256A (ja) 復号装置及び復号方法
US20040083252A1 (en) Turbo decoder
Ang et al. SOVA based LTE turbo decoders
Marín et al. Hardware architecture of MAP algorithm for turbo codes implemented in a FPGA
Han et al. A power efficient reconfigurable max-log-MAP turbo decoder for wireless communication systems
Koora et al. From Algorithms testing to ASIC Input code of SOVA algorithm for TURBO-Codes
KR20020066759A (ko) 터보디코더용 맵알고리즘 구현 프로세서 및 맵알고리즘구현방법
JP2001094440A (ja) 誤り訂正復号器

Legal Events

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

Payment date: 20140214

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20150217

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20160212

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20170217

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20180219

Year of fee payment: 8

LAPS Lapse due to unpaid annual fee