KR100876566B1 - 연산 회로 - Google Patents
연산 회로 Download PDFInfo
- Publication number
- KR100876566B1 KR100876566B1 KR1020060130658A KR20060130658A KR100876566B1 KR 100876566 B1 KR100876566 B1 KR 100876566B1 KR 1020060130658 A KR1020060130658 A KR 1020060130658A KR 20060130658 A KR20060130658 A KR 20060130658A KR 100876566 B1 KR100876566 B1 KR 100876566B1
- Authority
- KR
- South Korea
- Prior art keywords
- value
- output
- circuit
- bit
- logic
- Prior art date
Links
- 238000012937 correction Methods 0.000 claims abstract description 119
- 238000000034 method Methods 0.000 claims description 38
- 238000004364 calculation method Methods 0.000 claims description 18
- 238000012545 processing Methods 0.000 claims description 7
- 230000014509 gene expression Effects 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 26
- 230000007704 transition Effects 0.000 description 22
- 230000008569 process Effects 0.000 description 14
- 230000009897 systematic effect Effects 0.000 description 12
- 230000005540 biological transmission Effects 0.000 description 5
- 230000008859 change Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 238000010295 mobile communication Methods 0.000 description 3
- 230000009885 systemic effect Effects 0.000 description 3
- 230000002159 abnormal effect Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000000295 complement effect Effects 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 230000003252 repetitive effect Effects 0.000 description 2
- 238000005562 fading Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000001629 suppression Effects 0.000 description 1
- 230000004083 survival effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/46—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using electromechanical counter-type accumulators
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/483—Computations with numbers represented by a non-linear combination of denominational numbers, e.g. rational numbers, logarithmic number system or floating-point numbers
- G06F7/4833—Logarithmic number system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/544—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices for evaluating functions by calculation
- G06F7/556—Logarithmic or exponential functions
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
- H03M13/39—Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
- H03M13/3905—Maximum 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
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
- H03M13/39—Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
- H03M13/3905—Maximum 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/3911—Correction factor, e.g. approximations of the exp(1+x) function
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
- H03M13/39—Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
- H03M13/3905—Maximum 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/3922—Add-Compare-Select [ACS] operation in forward or backward recursions
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
- H03M13/39—Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
- H03M13/3905—Maximum 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/3927—Log-Likelihood Ratio [LLR] computation by combination of forward and backward metrics into LLRs
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0045—Arrangements at the receiver end
- H04L1/0055—MAP-decoding
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/29—Coding, 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/2957—Turbo codes and decoding
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Probability & Statistics with Applications (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Analysis (AREA)
- Computational Mathematics (AREA)
- Pure & Applied Mathematics (AREA)
- Computing Systems (AREA)
- Mathematical Optimization (AREA)
- General Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Nonlinear Science (AREA)
- Error Detection And Correction (AREA)
Abstract
연산회로는 복수의 비트들로 구성된 경로 메트릭값의 0 이상의 고차 비트를 포함하는 모든 제 1 비트 그룹 x(6) 내지 x(10) 로부터의 1-비트 인버팅된 로직 OR sf를 출력하는 NOR 회로와, 제 2 비트 그룹 x(2) 내지 x(5) 의 각각의 비트를 인버팅하고 제 3 비트 그룹 rs(0) 내지 rs(3) 을 출력하는 인버터와, sf 와 rs(0) 내지 rs(3) 의 로직 AND 를 계산한 결과를 포함하는 제 4 비트 그룹 ns(0) 내지 ns(3) 을 출력하는 AND 회로와, ns(0) 내지 ns(3) 에 기초한 정정 인자 CF를 출력하는 CF 출력부를 포함한다.
연산 회로, 로직 회로, 비트, 정정 회로, Max-Log-MAP 알고리즘, Log-MAP 알고리즘, 가산기, 최대값, 최소값, CF.
Description
도 1 은 본 발명의 제 1 실시 형태에 따른 연산 회로를 도시하는 도면.
도 2 는 본 발명의 제 1 실시 형태에 따른 연산 회로의 구체적인 예를 도시하는 회로도.
도 3 은 본 발명의 제 1 실시 형태에 따른 정정 회로에서 얻은 CF 출력부의 출력 CF를 도시하는 그래프.
도 4는 CF (정정 커브) 및 트루 야코비 정정 인자 (true Jacobian correction factor)(이상적 커브) 를 서로 비교하여 도시하는 도면.
도 5는 CF가 고정이고 최대값 (AM) 이 변수인 경우 정정 회로의 출력들을 도시하는 그래프.
도 6 은 CF가 변수이고 최대값 (AM) 이 고정인 경우 정정 회로의 출력들을 도시하는 그래프.
도 7은 본 발명의 제 2 실시 형태에 따른 연산 회로를 도시하는 도면.
도 8은 본 발명의 제 2 실시 형태에 따른 연산 회로의 구체적인 예를 도시하는 회로도.
도 9는 본 발명의 제 2 실시 형태에 따른 정정 회로에서 얻은 CF 출력부의 출력 CF를 도시하는 그래프.
도 10은 AM 값의 정정이 없고 CF 출력 = 2와 4인 경우 정정 회로의 출력들을 도시하는 그래프.
도 11 은 AM=0 인 경우 정정 회로의 출력들과 AM=2와 341 인 경우 CF 출력을 갖는 로직 ORed의 출력들을 도시하는 그래프.
도 12는 콘볼루션 테크닉 (Max-Log-MAP)과 (LUT의 사용과 함께) Log-sum-MAP를 이용하는 경우의 결과들과 비교하여 제 1 및 제 2 실시 형태들에 따른 연산 회로들의 계산 결과를 도시하는 그래프.
도 13은 회로 사이즈에 관한 본 발명의 효과를 도시하는 도면.
도 14는 데이터 지연 레이트에 따라 본 발명의 효과를 도시하는 도면.
도 15는 터보 코드들을 발생시키는 전형적인 인코딩 디바이스를 도시하는 도면.
도 16은 터보 디코딩하는 전형적인 디코딩 디바이스를 도시하는 도면.
도 17은 반복적 콘볼루션 코드들을 출력하는 반복적 콘볼루션 인코더를 도시하는 도면.
도 18은 도 17 에 도시된 반복적 콘볼루션 코드들의 상태 천이를 도시하는 개략도.
도 19는 트렐리스 다이어그램을 도시하는 도면.
도 20은 트렐리스 다이어그램을 이용하여 천이 확률을 얻는 방법을 설명하는 도면.
도 21은 확률들 α, β, 및 γ로부터 LLR (log likelihood ratio) 을 계산하는 방법을 설명하는 도면.
도 22는 콘볼루션 Log-MAP 알고리즘에서 확률 계산을 위한 회로를 도시하는 개략도.
※ 도면의 주요 부분에 대한 부호의 설명 ※
3 : 정정 회로 33 : 로그-마스크
104 : 인터리버 102 : 제 1 인코더
206 : 하드 판정/ CRC 판정부 205 : 디-인터리빙된 메모리
본 발명은 Log-MAP 알고리즘에 기초하여 Max-Log-MAP 알고리즘에 의해 컴퓨팅된 근사값을 정정하는 연산 회로에 관한 것이다.
디지털 통신 시스템에서, 전송 라인에서 발생하는 에러를 정정하는 에러 정정 코드가 이용된다. 특히, 페이딩으로 인해 무선 필드 강도가 급격히 변하여 에러가 발생하는 이동 통신 시스템들에서, 에러 정정 코드들에 대한 높은 정정 성능이 요구된다. 에러 정정 코드들 중 한 예로 터보 코드들은, 섀넌 리미트 (Shannon limit) 에 가깝고 예를 들어 제 3 세대 이동 통신 시스템과 같은 CDMA-2000 또는 W-CAMA (광대역 부호 분할 다중 액세스) 에서 사용된 에러 정정 성능을 갖는 코드들로서 주목할 만하다. 이것은 일본 미심사 특허 출원 공보 제 2004- 80508, 2004-194326, 2002-344330, 2002-100995 및 2003년 6월 26일 IEEE 전자 학회지, Vol.39, 제 13 호, A. Taffin의 "반복 디코더들에 대한 일반화된 스톱핑 기준"에 개시되어 있다.
도 15는 터보 코드들을 발생시키는 일반적인 인코딩 디바이스의 구조를 도시하는 블록도이다. 인코딩 디바이스 (101) 는, 사전 인코딩된 데이터로서 정보 비트들 (시스테메틱 (systematic) 비트들:시스테메틱 부분) U를 병렬 연결 콘볼루션 코드들 (PCCC들) 로서 터보 코드들로 인코딩하고, 터보 코드들을 전송 라인과 같은 외부로 출력하기 위해 통신 시스템의 전송측에 위치될 수 있다. 터보 코드들은 병렬 연결 콘볼루션 코드들로 제한되지 않고 직렬 연결 콘볼루션 코드들과 같이, 터보-디코딩된 수 있는 임의의 코드들일 수 있다.
도 15에 도시된 바와 같이, 인코딩 디바이스 (101) 는 시스테메틱 콘볼루션 코더들로서 역할하는 제 1 인코더 (102)와 제 2 인코더 (103), 및 데이터를 인터리빙하는 (즉, 재배열하는) 인터리버 (104) 를 포함한다.
제 1 인코더 (102) 는 리던던시 비트들 (이하 패리티 비트들로 칭함;P1) 을 발생시키기 위해 입력 시스테메틱부 (U) 를 인코딩하고 패리티 비트들 (P1) 을 외부에 출력한다. 인터리버 (104) 는 입력 시스테메틱부 (Uint) 를 발생시키기 위해 입력 시스테메틱부 (U) 의 각각의 비트를 소정의 인터리빙된 패턴으로 재배열하고 발생된 시스테메틱부 (Uint) 를 제 2 인코더 (103) 로 출력한다. 제 2 인코더 (103) 는 패리티 비트들 (P2) 을 발생시키기 위해 시스테메틱부 (Uint) 를 인코 딩하고 패리티 비트들 (P2) 을 외부로 출력한다.
요약하면, 인코딩 디바이스 (101) 는 시스테메틱부 (U), 패리티 비트들 (P1), 시스테메틱부 (Uint), 및 패리티 비트들 (P2) 을 발생시킨다. 한 쌍의 시스테메틱부 (U) 및 패리티 비트들 (P1) (U,P) 을 제 1 엘리멘탈 코드 (first elemental code)(E) 라 칭하고, 한 쌍의 시스테메틱부 (Uint) 및 패리티 비트들 (P2)(Uint,P2) 을 제 2 엘리멘탈 코드 (second elemental code)(Eint) 라 칭한다.
터보 코딩은, (1) 비교적 간단하고 작은 구조를 갖는 복수의 시스테메틱 인코더들을 이용하는 특징 및 (2) 각각의 인코더가 (구성 요소를 재배열하는) 인터리버를 통해 인코더에 대한 입력으로서 정보 비트들과 연결되는 특징의 2 가지 특징들을 갖는다.
특징 (2) 은 재배열된 시퀀스들을 갖는 정보 비트들을 인코더로 입력함으로써 상이한 인코더들에서 상이한 코드워드 시퀀스들을 발생시키는 것을 목표로 한다. 따라서, 각각의 코드워드의 디코딩된 결과는 디코딩 측의 코드워드들 사이에서 완료되어 에러 정정 성능을 향상시킨다.
특징 (1) 은 코드워드들 사이에서 디코딩된 결과들의 상호 보완을 위해 정보 비트들을 사용하는 것을 목표로 한다. 예를 들어, 3GPP (제 3 세대 파트너쉽 프로젝트) 는 특징 (1) 로서 2 개의 8-상태 시스테메틱 콘볼루션 코더들을 사용하도록 명령한다. 3GPP는 W-CDMA와 같은 제 3 세대 이동 통신 시스템의 표준화에 작용한다.
도 15의 인코더 (1) 의 한 쌍의 출력들 {U,P1} 을 제 1 엘리멘탈 코드라 칭하고, 다른 쌍의 출력들 {Uint, P2} 을 제 2 엘리멘탈 코드라 칭한다. 비트 Uint은 실질적으로 출력이 아니고, 3개의 비트들 (U, P1, P2) 은 후속하는 스테이지로 출력된다. 실제로 종료 비트들이 동시에 출력되지만, 설명을 간단히 하기 위해 생략한다. 이런 이유로, 3GPP 표준에 의해 정의된 터보 코드들의 코딩 레이트는 1/3이다.
이렇게 인코딩된 터보 코드들을 디코딩하는 것을 디코딩이라 한다. 터보 코딩 프로세스에서, 디코딩은 제 1 엘리멘탈 코드 E를 디코딩하는 제 1 디코더와 제 2 엘리멘탈 코드 (Eint) 를 디코딩하는 제 2 디코더 사이에 외부 정보를 교환하는 것과 같이 반복적으로 수행된다. 디코더들의 수는 2 개로 제한되지 않고, 2 이상의 스테이지들의 디코더들이 터보 코드들의 엘리멘탈 코드들의 수에 따라 사용될 수 있다.
도 16은 터보 디코딩을 위한 통상의 디코딩 디바이스를 도시한다. 터보 디코딩은 (1) 복수의 엘리멘탈 코드들 사이에 외부 정보를 교환하는 것과 같은 프로세싱을 반복하는 특성을 갖는다.
도 16에 도시된 바와 같이, 통상의 디코딩 디바이스 (201) 는 제 1 디코더 (202), 제 2 디코더 (203), 인터리빙된 메모리 (204), 디-인터리빙된 메모리 (205), 및 하드 판정/CRC 판정 섹션 (206) 을 포함한다.
이러한 구조를 갖는 디코딩 디바이스 (201) 의 터보 디코딩 프로세스는 다음 단계들을 포함한다.
(A) 디-인터리빙된 메모리 (205) 로부터 제 2 디코더 (203) 의 외부 정보를 판독하고 외부 정보와 제 1 엘리멘탈 코드를 제 1 디코더 (202) 로 입력한다. 이후, 제 1 디코더 (202) 로부터 외부 정보를 출력하고 인터리빙된 메모리 (204) 에 이것을 기록한다.
(B) 인터리빙된 메모리 (204) 로부터 제 1 디코더 (202) 의 외부 정보를 판독하고 외부 정보와 제 2 엘리멘탈 코드를 제 2 디코더 (203) 에 입력한다. 이후, 제 2 디코더 (203) 로부터 외부 정보를 출력하고 디인터리빙된 메모리 (205) 에 이것을 기록한다.
(C) 디코딩 프로세스의 최종 반복에서, 디-인터리빙된 메모리 (205) 로 부터 제 2 디코더 (203) 의 LLR (log likelihood ratio) 를 판독하고, 하드 판정/CRC 판정 섹션 (206) 에서 하드 판정을 하고, CRC 에 의한 에러 체크를 최종적으로 수행한다.
터보 디코딩 프로세스에서, 단계 (A) 가 제일 먼저 수행된다. 이 단계에서 제 2 디코더 (203) 로 부터의 외부 정보가 초기값 (=0) 이다. 이후, 단계 (B) 가 수행되고 부가적으로 단계 (A) 가 다시 수행된다. 후속하여, 단계들 (B 및 A) 이 임의의 횟수로 반복된다. 최종 반복에서, 단계 (B) 가 수행된다. 이 단계에서, 제 2 디코더 (203) 는 외부 정보와 다른 LLR을 출력한다. 이후, 단계 (C) 가 최종적으로 수행된다.
터보 코드들이 시스테메틱 비트들이기 때문에, 정보 비트들 (U) 가 수신된 시퀀스에 포함된다. 외부 정보는 가능도 "0" (가능도 "1"과 등가) 을 나타내는 값 (우선값) 이고, 이는 디코딩 이전에 정보 비트들 (U) 에 관해 미리 정의된다. 터보 디코딩이 제 1과 제 2 엘리멘탈 코드들 사이에 디코딩의 각각의 정보 비트가 "0"인 확률을 교환 (상호적으로 보완) 하여, 확률의 정확도를 개선시키고 에러 정정 성능을 향상시키는 프로세스이다.
외부 정보는 소프트-출력 디코더의 출력 (LLR) 으로부터 발생될 수 있다. 소프트 출력을 발생시키는 2 가지 유형들이 있는데, MAP 및 SOVA 이다. MAP 알고리즘은 보다 높은 에러 정정 성능 때문에 일반적으로 보다 폭넓게 사용된다. MAP, Log-MAP, 및 Max-Log-MAP가 MAP 알고리즘으로서 주로 알려져 있다.
설명한 MAP, Log-MAP, 및 Max-Log-MAP 알고리즘을 설명하기 전에, LLR을 이하 설명한다. 외부 정보와 같이, LLR도 정보 비트들 (U) 의 가능도 "0"을 나타낸다. 외부 정보가 우선값이더라도, LLR을 후순위 값으로 칭한다. LLR은 다음 식 1로 표현된다:
여기서, P()는 확률을 나타내고,
uk 는 k번째 정보 비트를 나타내고,
y는 수신된 시퀀스를 나타내고,
P(uk=+1│y) 수신된 시퀀스 (y) 를 수신할 때 k번째 정보가 +1(="0") 인 확률을 나타내고,
P(uk=-1│y) 는 수신된 시퀀스 (y) 를 수신할 때 k번째 정보가 -1(="1")인 확률을 나타낸다.
여기서 부호[ ]는 하드 판정을 나타낸다.
LLR은 식 (1) 로 표현된다. 이 식에서, "0"은 +1로, "1"은 -1로 표현된다. "0"이 되는 확률과 "1"이 되는 확률의 로그 비율은 "0" 또는 "1" 중 하나를 나타내는 가능도를 얻는데 사용된다. "0"이 되는 확률이 "1"이 되는 확률보다 높으면, 이러한 확률들의 비는 1 보다 크고, 로그 비율은 0보다 크다 (양수). 반면에, "1"이 되는 확률이 확률이 "0"이 되는 확률보다 높은면, 이러한 확률들의 비는 1보다 작은 소수점 아래의 값이고, 로그 비율은 0 보다 작다 (음수). 따라서, "0" 또는 "1"이 되는 확률은 LLR의 부호 (양 또는 음) 로부터 판정될 수 있다. "0"이 되는 확률과 "1"이 되는 확률이 같다면, 이들의 비율은 1이고 로그 비율은 0이므로, 어느 확률이 보다 높은지 불명확하게 된다.
식 2는 k번째 정보 비트 (uk) 에 대한 LLR을 나타낸다. 식 2의 uk 는 수신측의 k번째 정보에 대한 추정이고, 이는 LLR의 하드 판정의 결과 (="0" 또는 "1") 이다. 하드 판정 부호 [ ]는 부호 이진 비트를 검색하는 프로세스이고, 이것은 값이 양이면 "0"을 또는 값이 음이면 "1"을 나타낸다. 따라서, 식 2는 k번째 정보 비트에 대한 LLR의 하드 판정을 나타낸다.
MAP, Log-MAP, 및 Max-Log-MAP 알고리즘들이 이하 설명된다.
MAP (최대 A 후순위 확률) 알고리즘들
최대 A 후순위 확률 (Maximum A posteriori Probability) 의 약자인 MAP는 후순위 값 (후순위 확률) 인 LLR을 최대화하는 디코딩 알고리즘이고 후순위 확률 최대 디코딩으로도 칭한다.
MAP 알고리즘은 상기 식 (1) 을 여러가지 식으로 변환한 결과인 다음 식 (3) 을 이용하여 LLR (uk) 을 계산한다. 이 식에서, γ는 트렐리스의 천이 확률을 나타내고, α는 시작점으로부터 종료점으로 천이하는 트렐리스 (trellis) 각각의 상태에 대한 성취 확률을 나타내고, β는 종료점으로부터 역으로 성취 확률을 나타낸다. 트렐리스는 시간축상에 전개된 인코더의 상태 천이 다이어그램이다. 이것은 트렐리스 다이어그램이라 부른다.
LLR:
MAP 알고리즘에서, 비터비 (Viterbi) 디코딩은 트렐리스 다이어그램 (상태 천이 다이어그램) 을 이용하여 수행된다. 트렐리스 다이어그램상의 각각의 포인트에서 각각의 상태를 연결하는 경로는 디코딩되는 코딩된 시퀀스에 대응한다. 이용 가능한 경로에 대한 가능성도 (경로 메트릭) 가 계산되고, 가장 높은 가능도를 갖는 경로가 서바이벌 경로로서 디코딩된다.
먼저 트렐리스 다이어그램을 설명한다. 도 17은 반복적 콘볼루션 코드들 을 출력하는 반복적 콘볼루션 인코더를 도시하는 도면이다. 도 18은 이것의 상태 천이를 도시하는 개략도이다.
반복적 콘볼루션 인코더에서, D1 및 D2에 저장된 값들은 입력 (INPUT) 을 통해 제공된 입력 비트들로 변한다. 반복 인코더에서, D2의 출력이 입력 (INPUT) 측의 앞에 있으므로, 반복적 콘볼루션 인코딩인임을 이해한다. 도 18은 D1 및 D2 의 가능한 값, 즉 (00), (01), (10), 및 (11) 들의 상태 천이 다이어그램을 도시한다. 도 18에서 0/0은 예를 들어, 입력 비트/출력 비트를 나타낸다. D1 및 D2의 값은 입력 (INPUT) 을 통해 입력 비트들 "0" 또는 "1" 에 따라 천이한다. 예를 들어, (D1 D2)가 (00)이면, 콘볼루션 인코더는 출력 (OUTPUT) 을 통해 "0"을 출력하고 입력 (INPUT) 을 통해 "0"이 입력되고, D1 및 D2 는 상태 (00) 로 리턴한다. 반면에, "1"이 입력되면, 콘볼루션 인코더는 "1"을 출력하고 D1 및 D2 는 상태 (10) 로 시프트한다.
도 19는 도 18의 상태 천이 다이어그램이 시간축상에 전개된 트렐리스 다이어그램을 도시한다. 도 19에서, 실선 화살표는 입력 비트가 "0"일 때 D1 및 D2의 상태천이를 나타내고, 점선 화살표는 입력 비트가 "1"일 때 D1 및 D2의 상태천이를 나타낸다. 가로축은 시간축을 나타내고, k-1 및 k는 주어진 타이밍들을 나타낸다.
경로 메트릭을 계산하기 위해 트렐리스 다이어그램상에 순방향으로 비터비 디코딩을 수행하는 프로세스를 포워드 프로세스라 칭한다. 경로 메트릭을 계산하기 위해 포워드 프로세스로부터 반대 반향으로 비터비 디코딩을 수행하는 프로세 스를 백워드 프로세스라 칭한다. 포워드 프로세스로 계산된 경로 메트릭값을 α 경로 메트릭이라 칭하고, 백워드 프로세스로 계산된 경로 메트릭값을 β 경로 메트릭이라칭한다. γ는 타이밍 (k-1) 의 일정 상태 (예를 들어, 상태 (11)) 로부터 타이밍 (k) 의 일정 상태 (예를 들어, 상태 (11)) 로 천이하는 확률을 나타내는데, 브랜치 메트릭이라 칭한다. α 및 β 값들은 타이밍들 (k-1 및 k) 의 상응하는 상태 (예를 들어, 상태 (11)) 가 되는 확률을 나타낸다. LLR이 α 경로 메트릭, β 경로 메트릭, 및 브랜치 메트릭 (γ)으로부터 계산된다.
도 20은 트렐리스 다이어그램을 이용한 천이 확률을 계산하는 방법을 도시하는 도이다. α 및 β 값들에 대한 계산 식은 식 (4) 및 (5) 로서 아래에 도시된다. 상기 설명된 바와 같이, γ 값은 트렐리스상의 일정 시점에서의 각각의 상태의 천이 확률을 나타낸다. 다음 식 (4) 에 표현된 α값은 순방향 (즉, 트렐리스 다이어그램상에 시작점으로부터 종료점으로의 방향) 의 각각의 상태에 대한 성취 확률을 나타내고, 이것은 순방향의 γ 합계이다. 다음 식 (5) 에 표현된 β 값은 역방향 (즉, 종료점으로부터 시작점으로의 방향) 의 γ 합계이다.
예를 들어, αk(00)이 타이밍 k (이하 상태 (00)k로 칭함) 에서의 상태 (00) 에 존재하는 순방향의 성취 확률을 나타낸다면, 도 20 및 식 (4) 에 나타난 바와 같이, αk(00) 는 상태 (00)k 에 대한 상태 (00)k-1에서 성취 확률 αk-1(00) 으로부터의 천이 확률 γk(00,00) 과 αk-1(00) 의 프로덕트와, 상태 (00)k 에 대한 상태 (00)k-1 로부터의 천이 확률 γk(01,00) 과 상태 (01)k- 1 에서의 성취 확률 αk-1(01) 의 프로덕트의 합이다.
또, βk-1(00)이 타이밍 k-1 (이하 상태 (00)k-1로 칭함) 에서의 상태 (00) 에 존재하는 역방향의 성취 확률을 나타낸다면, 도 20 및 식 (5) 에 나타난 바와 같이, 상태 (00)k 에 대한 상태 (00)k-1에서 성취 확률 βk-1(00) 으로부터의 천이 확률 γk(00,00)과 βk-1(00) 의 프로덕트와, 상태 (01)k- 1 에서의 성취 확률 βk-1(01)과 상태 (00)k- 1 로부터 상태 (10)k 로의 천이 확률 γk(00,10)의 프로덕트의 합이다.
식 (4) 및 식 (5) 에서, α(s) 및 β(s) 는 현재 상태 (s) 와 이전의 상태 (s’) 의 경로 메트릭을 나타내고 γ(s’,s) 는 s’로부터 s 로의 상태 천이 확률을 나타낸다.
도 21은 α, β, γ 값들로부터 LLR을 계산하는 방법을 도시하는 도이다. 도 21에 도시된 바와 같이 순방향의 성취 확률 (α) 과, 역방향의 성취 확률 (β) 과, 상태들 사이의 천이 확률 (γ) 의 승산은 트렐리스상의 모든 시점들을 고려하여 상응하는 시점에서의 천이 확률을 준다. 입력 "0"에 대응하는 천이 확률의 프로덕트는 δ0이고, 입력 "1"에 대응하는 천이 확률의 프로덕트는 δ1이다. δ0 및δ1 의 로그 비율, 즉 log(δ0/δ1 ) 는 상기 식 (3) 에 나타난 LLR이다.
LLR 및 외부 정보는 다음 식 (6) 을 만족한다. 구체적으로, 터보 디코딩 프로세스는 LLR을 나타내는 식 (6) 의 양 측에서 내부 정보를 감산함으로써 외부 정보를 계산한다.
LLR:
...(6)
Lc 는 전송 라인에 의해 결정된 상수를 나타내고,
yk s는 시스테메틱부를 나타내고,
Le(uk) 는 이전의 외부 정보 (우선 순위 정보) 를 나타내고,
Log-MAP 알고리즘
Log-MAP 알고리즘을 아래에 설명한다. 상기 설명된 바와 같이, MAP 알고리즘은 확률들의 프로덕트를 계산하므로, 그 결과 승산기를 필요로하여 회로 사이즈를 상당히 증가시킨다. 따라서, 실제의 애플리케이션들에서, 로그 영역에서 MAP 알고리즘에서 확률 계산을 근사화하거나 단순화하는 Log-MAP 또는 Max-log-MAP 알고리즘이 이용된다. 다음 식 (7) 내지 (11)에 근사식들이 제시된다.
α, β, γ 값들은 식 7 내지 9에 제시된 바와 같이 로그에 의해 근사화되고 각각 A, Γ, 및 B로 정의되어, 식 (4) 및 식 (5)의 변환 버전인 식 (10) 내지 (11) 으로 주어진다. 그러나, 식 (10) 및 식 (11)는 exp 괄호내의 계산을 Ai로 치환하면 아래의 식 (12) 가 되는 항목들을 포함하는데, 이는 실제 애플리케이션들에서 문제가 있다. 따라서, 식 (12) 는 아래 식 (13) 으로 더 분해된다.
상기 식들에서, i 값은 일정 상태로 천이하는 경로들의 수를 나타낸다. 도 20의 예에서, 순방향의 상태 (00)k로 천이하는 경로들의 수는 2이고, AM은 경로 들 중에서 보다 큰 경로를 나타낸다. 실제로, 계산은 식 (13) 에 기초하여 수행된다. 이것이 Log-MAP 알고리즘이다. 구체적으로, 식 (13) 의 우측의 제 2 항을 log(1+e-x)로 설정함으로써 LUT로 디코딩을 수행하는 것이 전형적인 테크닉이다. 고정된 값 또는 -ax+b 로 부가적으로 근사화하는 테크닉 또한 알려져 있다. 때때로, log(1+e-x) 덧셈 연산을 구체적으로는 Log-sum이라 칭한다. 제 2 항의 항목 │Ai-AM│ 을 경로 메트릭값이라 칭한다.
MAX-Log-MAP 알고리즘
MAX-Log-MAP 알고리즘은 상기 식 (10) 및 식 (11) 로 표현된 Log-MAP 알고리즘을 더 근사화하는 테크닉이다. 근사 식들은 다음의 식 (14) 및 식 (15)로 제시된다. 구체적으로, Max-Log-MAP 알고리즘에서, 상기 식 (10) 및 식 (11) 에서 Log-sum 항목이 소거된다. 항목 max()는 최대값을 선택하는 연산으로, 이는 비터비 알고리즘의 ACS (Add Compare Select) 연산과 등가이다. 따라서, 이것은 최저 비용을 갖는 단순한 방법으로서, 비터비 알고리즘을 이용하여 수행되는 확률 계산을 가능하게 한다.
상기 설명된 바와 같이, Log-MAP 알고리즘의 확률 계산은 비터비 알고리즘의 ACS 연산에 대해 Log-sum (이하 야코비안 정정 인자 (Jacobian correction factor) 라 칭함) 으로 정정하는 것과 등가이다. 도 22는 Log-MAP 알고리즘을 이용하여 확률 계산 수행하는 회로를 개략적으로 도시한다. 도 22에 도시된 바와 같이, 식 (13) 에 제시된 바와 같은 계산을 수행하는 회로 (301) 는 입력값을 비교하여 보다 큰 입력값을 선택하고 출력하는 ACS 회로 (302) 와, 야코비안 정정 인자를 얻고 ACS 회로 (302) 의 연산 결과들을 합산하는 Log-Sum 회로 (303) 를 포함한다.
ACS 회로 (302) 는 2 개의 Ai를 수신하는데, 이하 입력 I1 및 입력 I2라 칭한다. ACS 회로 (302) 는 입력 I1에 입력 I2의 인버팅값을 더하는 가산기 (311), 선택기 (312), 및 절대값 회로 (313) 를 포함한다. 가산기는 입력 I1에 입력 I2의 인버팅값을 가산하고, 음 또는 양의 결과에 따라 입력 I1과 I2 중 어느 값이 더 큰지 결정하고, 결정 결과를 선택기 (312) 에 제공한다. 결정 결과에 따라, 선택기 (312) 는 입력들 (I1 및 I2) 중 보다 큰 입력 (=AM)을 선택하고 출력한다. 절대값 회로 (313) 는 가산기 (311) 의 결과의 절대값을 출력하는데, 이는 입력 I1과 I2 사이에서 상이하다. 이값은 상기 식 (13) 의 경로 메트릭값 │Ai-AM│이다.
Log-Sum 회로 (303) 는 상기 값에 기초하여 log(1+e^(-│Ai-AM│))을 계산한다. 정정 인자의 계산은 고정된 값 또는 -ax+b 를 갖는 근사식을 이용하거나 log(1+e-x) 를 갖는 LUT를 이용하여 수행될 수 있다. 이후, 가산기 (321) 는 얻어진 결과에 ACS 회로 (302) 로부터의 출력 (AM) 을 가산하여 결과 (s) 를 출력한다.
그러나, 상기 테크닉들은 근사식에 포함된 승산 및 가산을 하는 회로를 실행하거나 LUT의 실행이 요구되어, 이는 회로 사이즈 및 데이터 경로 지연을 증가시킨다. Log-sum 정정 인자는 LUT 또는 승산/가산 회로를 실행하지 않고 오직 x 의 비트 연산만을 갖는 단순한 회로를 이용하여 계산될 수 있다면, 보다 작은 회로와 적은 지연을 갖는 디코딩 디바이스를 준비하는 것이 가능하다.
본 발명의 일 양태에 따르면, Log-MAP 알고리즘에 기초한 Max-Log-MAP에 의해 컴퓨팅된 근사값을 정정하는 연산 회로가 제공되고, 연산 회로는 복수의 비트들로 구성된 경로 메트릭값의 1 차 이상의 고차 비트를 포함하는 모든 제 1 비트 그룹으로부터 1-비트 인버팅된 로직 OR을 출력하는 제 1 로직 회로; 복수의 비트들로 구성된 경로 메트릭값의 제 1 비트 그룹을 제외한 나머지 중 1 이상의 고차 비트를 포함하는 제 2 비트 그룹의 각각의 비트를 인버팅하고 제 3 비트 그룹을 출력하는 제 2 로직 회로; 제 1 로직 회로의 출력과 제 3 비트 그룹의 각각의 비트의 로직 AND 를 계산한 결과들을 포함하는 제 4 비트 그룹을 출력하는 제 3 로직 회로; 제 4 비트 그룹에 기초하여 정정 인자를 출력하는 정정 인자 출력부를 포함한다.
본 발명의 일 양태는 경로 메트릭값 (경로 메트릭차:PMD) 의 비트 연산에 의 한 Log-MAP 알고리즘으로 정정 인자를 얻어 회로 사이즈를 감소시키고 데이터 경로 지연을 억제한다.
본 발명의 다른 양태에 따르면, Log-MAP 알고리즘에 기초한 Max-Log-MAP 알고리즘에 의해 컴퓨팅된 근사값을 정정하는 연산 회로가 제공되고, 연산 회로는 Max-Log-MAP 알고리즘으로 최대값을 출력하는 최대값 출력 회로와 최대값을 정정하는 정정회로를 포함한다. 정정 회로는 복수의 비트들로 구성된 경로 메트릭값에 기초한 마스크값을 계산하는 마스크값 발생기와 마스크값에 기초하여 경로 메트릭값에 마스크 프로세싱을 수행하는 마스크 프로세서와 마스크 프로세서의 출력과 최대값의 로직 OR을 계산하는 로직 회로를 포함한다.
본 발명의 양태는 경로 메트릭값의 비트 연산에 의한 마스크값 계산에 의해 Log-MAP 알고리즘의 정정 인자를 부가하고 마스크 프로세싱을 수행하여 회로 사이즈를 감소시키고 데이터 경로 지연을 억제한다.
본 발명은 Log-MAP 알고리즘에 기초한 Max-Log-MAP 알고리즘에 의해 컴퓨팅된 근사값을 정정하는 연산 회로에서 회로 사이즈의 감축과 데이터 경로 지연의 억제를 가능하게 한다.
본 발명의 상기 및 다른 목적들, 이점들 및 특성들이 첨부한 도면과 연결하여 다음의 설명으로부터 명확해질 것이다.
이하 본 발명을 설명적인 실시 형태들을 참조하여 설명할 것이다. 당업자는 본 발명의 교시를 이용하여 많은 대안적인 실시 형태들을 완성할 수 있고 본 발명이 예시를 위한 설명적인 실시 형태들로 제한되지 않음을 이해한다.
이하, 본 발명의 예시적인 실시 형태들을 도면들을 참조하여 상세하게 설명한다. 본 발명의 실시 형태에 따른 연산 회로는 터보 디코딩 디바이스의 LLR 또는 외부 정보를 계산하는 소프트-출력 디코딩부에서 사용된다. 연산 회로는 MAX-Log-MAP 알고리즘에서 얻어진 근사값을 정정하는 Log-MAP 알고리즘의 야코비안 정정 인자를 계산하거나 MAX-Log-MAP 알고리즘에서 얻어진 근사값을 정정하는 연산을 한다.
제 1 실시 형태
도 1은 본 발명의 제 1 실시 형태에 따른 연산 회로를 도시하는 도이다. 본 실시 형태의 연산 회로는 상기 설명된 도 16에 도시된 바와 같이 터보 코드들을 디코딩하는 디코딩 디바이스 (201) 내의 디코더들 (202 및 203) 내에 위치할 수 있다. 디코더들 (202 및 203) 은 다음 식 (16) 에 제시된 바와 같이 LLR을 계산한다.
LLR:
LC 는 전송 라인에 의해 결정된 상수를 나타내고,
Yk s는 시스테메틱부를 나타내고,
Le(uk)는 이전의 외부 정보 (우선 정보) 를 나타내고,
Lcyk s+Le(uk) 내부 정보를 나타내고,
외부 정보는 LLR로부터 계산되고 반복 동작을 위해 디코더들 (202 및 203) 사이에서 교환되어, 수신된 데이터를 디코딩한다. LLR을 얻기 위해, 식 (17) 및 식 (18) 에 의해 근사화된 식 (19) 및 식 (20) 이 얻어진다. 본 실시 형태에 따른 연산 회로는 식 (19) 및 식 (20) 을 얻는 회로이다.
예를 들어, 식 (19) 는 다음 식 (21) 로 근사화될 수 있다.
구체적으로, 연산 회로 (1) 는 트렐리스상의 한 시점에서 성취 확률을 대수적으로 근사화한 값 Ai를 수신하고 Ak(s) 또는 Bk -1(s) 를 얻는다. 입력 (Ai) 이 본 예에서 A1(=I1) 및 A2(=I2) 로서 설명되지만, 이것은 2 이상의 값을 갖는다.
연산 회로 (1) 는 ACS 회로 (2) 및 정정 회로 (3) 를 포함한다. ACS 회로 (2) 는 입력 (I1 및 I2) 으로부터 최대값 (AM) 을 결정한다. 정정 회로 (3) 는 ACS 회로 (2) 로부터 경로 메트릭값 │Ai-AM│을 수신한다. 이후, 정정 회로 (3) 는 경로 메트릭값으로부터 야코비안 정정 인자를 얻고 최대값 (AM) 에 정정 인자를 더하여 최대값 (AM) 을 정정한다. 최대값 (AM) 은 Max-Log-MAP 알고리즘에 의해 컴퓨팅된 근사값 (최대값) 이다. 정정 회로 (3)는 얻어진 정정 인자와 ACS 회로 (2) 에 의해 얻어진 최대값 (AM) 을 더하고 식 (19) 또는 식 (20) 에 제시된 바와 같이 Ak(s) 또는 Bk -1(s) 를 출력한다.
ACS 회로 (2) 는 가산기 (11), 선택기 (12), 및 절대값 회로 (13) 를 포함한 다. 가산기 (11) 는 입력 I1과 입력 I2의 인버팅 입력을 수신하고 그들의 크기 관계에 따라 캐리 아웃을 출력한다. 구체적으로, I1<I2 이면, I1 과 I2 사이의 차는 음 (-) 이고 캐리 아웃은 선택기 (12) 로 출력된다. 또한, 선택기 (12) 는 입력 I1 및 I2 를 수신하고 캐리 아웃에 기초하여 보다 큰 값을 선택하여 출력한다. 식 (19) 에서 출력값은 값 (AM) 에 대응한다. 가산기 (11) 의 출력인 I1-I2 는 절대값 회로 (13) 에 제공되고, 절대값 │I1-I2│(=│Ai-AM│) 은 정정 회로 (3) 에 제공된다.
본 실시 형태에서 11-비트 데이터가 I1 및 I2 로서 제공되지만, 데이터는 11 비트로 제한되지 않고 더 작거나 더 큰 비트일 수 있다. 다음의 설명에서, 각각의 비트는 MSB로부터 x(10), x(9),...,x(0) 으로 제시되고, 제 1 비트 x(0), 제 2 비트 x(1) 등으로 표현된다. 본 실시 형태에서, 입력이 2 개의 입력 I1 및 I2 로 설명되었지만, 입력은 3 개 이상일 수 있다.
정정 회로 (3) 는 제 1 로직 회로로서 NOR 회로 (21), 제 2 로직 회로로서 인버터 (22), 제 3 로직 회로로서 AND 회로 (23), 정정 인자 출력부으로서 CF 출력부 (24), 및 가산기 (25) 를 포함한다. 본 실시 형태에서, NOR 회로 (21) 는 11-비트 입력 데이터의 제 1 비트 그룹으로서 5 개의 고차 비트들 (x(10) 내지 x(6)) 전부로부터 계산된 1-비트의 인버팅된 로직 OR 을 출력한다. 인버터 (22) 는 제 2 비트 그룹인 제 3 비트 (x(2)) 내지 제 6 비트 (x(5)) 의 각각의 비트를 인버팅하고 이들을 제 3 비트 그룹으로서 출력한다. AND 회로 (23) 는 NOR 회로 (21) 로부터의 출력과 각각의 인버터 (22) 로부터의 출력의 로직 AND 를 계산하고 제 4 비트 그룹으로서 결과들을 출력한다. 이후, CF 출력부 (24) 는, AND 회로 (23) 로부터의 4 출력 비트들의 4개의 저차 비트들과 0 데이터의 7개의 고차 비트들로 구성된 총 11 비트의 정정 비트들 CF(0) 내지 CF(10) (정정값 CF) 을 가산기 (25) 로 출력한다. 가산기 (25) 는 ACS 회로 (2) 로부터 최대값 (AM) 을 수신하고, 최대값 (AM) 과 정정값 (CF) 를 더하고, LLR(s) 로서 결과를 출력한다.
도 2는 도 1에 도시된 연산 회로를 상세하게 도시한다. 정정 회로 (3) 에서, 입력 │I1-I2│(경로 메트릭값 = │Ai-AM│) 의 비트 폭이 w이고, 입력의 각각의 비트는 x(j)(0≤j≤w-1) 이고, NOR 회로 (21) 에 대한 비트 그룹 입력의 비트 폭은 (1≤a≤w-1) 이고, 인버터 (22) 에 대한 비트 그룹 입력의 비트 폭은 b (1≤b≤w-a-1) 이고, AND 회로 (23) 로부터의 비트 그룹 출력과 CF 출력부 (24) 사이의 관계를 정의하는 파라미터는 c (-(w-1)≤c≤w-1) 이다. NOR 회로 (21) 로부터의 출력 (sf), 각각의 인터리버 (22a 내지 22d) 로부터의 출력 비트 rs(i), 각각의 AND 회로 (23a 내지 23d) 의 출력 비트에 의해 표시된 값 ns, 및 CF 출력부 (24) 으로부터 출력된 값 CF 는 각각 다음 식 (22) 내지 식 (25) 을 만족한다.
본 실시 형태에서, a=5, b=4 및 c=0인 경우를 예시적인 방법으로 설명한다. 이후 설명된 바와 같이, 파라미터들 (a,b,c) 를 변경하는 것은 원하는 정정값 (CF) 의 획득을 가능하게 한다. 도 2에 도시된 바와 같이, 정정 회로 (3) 에서 NOR 회로 (21) 는 x(6) 내지 x(10) 의 인버팅된 로직 OR sf를 계산한다. 인버터 (22) 는 x(5) 내지 x(2)의 인버팅값들을 rs(3) 내지 rs(0) 로서 각각 출력하는 인버터들 (22a 내지 22d) 을 포함한다. AND 회로 (23) 는rs(3) 내지 rs(0)와, 인버팅된 로직 OR sf의 로직 AND를 ns(3) 내지 ns(0) 로서 각각 출력하는 AND 회로들 (23a 내지 23d) 을 포함한다. CF 출력부 (24) 은 CF(0) 내지 CF(10) 로부터 11 비트를 출력한다. 이후에 설명되는 파라미터 (c) 가 본 실시 형태에서 0이기 때문에, CF 출력부 (24) 은 CF(0) 내지 CF(3) 을 ns (0) 내지 ns (3) 으로서 출력한다. CF(4) 이상의 고차 비트들은 모두 0이다. 출력 CF 는 가산기 (25) 에서 선택기 (12) 로부터의 출력 (AM) 과 더해져서 출력 s를 얻는다.
상기 식 (22) 내지 식 (25) 의 파라미터들 (a,b,c) 이 이하에서 상세하게 설명된다. 도 3은 정정 회로(3)에서 얻어진 CF 출력부 (24) 의 출력 CF 를 도시 하는 그래프이다. 도 3은 파라미터 (a,b,c) 가 변할 때, CF 출력부 (24) 의 출력 결과 CF (이하 정정 커브라 칭함) 를 도시한다. 도 3에서, 정정 커브들 (L1 내지 L4) 는 파라미터들 x, y, 및 z 의 값들을 cf_x_y_z 로서 나타낸다. 파라미터 a=w-x, 파라미터 b=z, 및 파라미터 c=2-log2(y) 이다. 일반적으로, 정정 커브는 계단형 커브이다. 도 2에 도시된 제 1 실시 형태에서, w=11, a=5, b=4, c=0 이므로 (x,y,z)=(w-a, 22-c,b)=(6, 4, 4) 이고, 이는 도 3의 정정 커브 L1 을 나타낸다. NOR 회로 (21) 로 입력된 비트들의 수, 즉 파라미터 x가 변경되면, CF 출력부 (24) 의 출력은 계단들의 사이즈가 L1 및 L2 에 나타난 바와 같이 지수적으로 변한다. 구체적으로, 파라미터 x=6 일 때 계단들의 전체적인 폭과 높이가 파라미터 x=4 일 때의 단계들의 폭과 높이보다 약 4 배 더 크다.
rs(i) 는 도 3에 도시된 정정 라인을 음으로 만드는 동작을 나타내는데, 최소 유효 비트부터 sf에 사용된 고차 비트보다 낮은 주어진 비트 x까지 실행된다. rs(i) 를 얻는 비트들의 수 (b), 즉 파라미터 z 가 변경되면, 각각의 계단폭 (해상도) 이 L1 및 L4 에 표시된 바와 같이 변경된다. 폭 (정확도) 은 L1의 4비트가 z=4에, 그리고 L4의 2비트가 z=2에 대응한다.
도 3에서 x가 일정한 값 이상일 때, AND 회로 (23) 의 출력값 ns 는 출력 ns 를 0으로 설정하는 동작이다. 도 3에서, x 값이 60 이상이면, 출력은 모두 0이된다. CF(j) 의 어느 비트가 AND 회로 (23) 의 출력 비트들 ns(0) 내지 ns(3), 즉 파라미터 (y) 에 대응하는지를 결정하는 파라미터 (c) 가 변경되면, 계단들의 수는 L1 및 L3 에 표시된 바와 같이 변하지 않는 반면 계단들의 높이는 변경된다. 높이는 y=4에서 1이고, y=2에서 2이다.
이 예에서, c=0 이고, ns(0) 내지 ns(3) 은 CF(0) 내지 CF(3)에 각각 대응한다. 예를 들어, c=2 이면, ns(0) 내지 ns(3) = CF (2) 내지 CF(5)이고, c=-2 이면, ns(2) 내지 ns(3) = CF (0) 내지 CF(1)이다. 파라미터 c는 최소 유효 비트 CF(0)로부터의 ns(i)의 시프트 양을 나타낸다. 임의의 ns 비트에 대응하지 않는 CF들의 값들은 모두 0으로 세팅된다.
파라미터들 (a,b,c) 은 얻어지는 정정 라인의 모양에 따라 임의로 세팅될 수 있다. 예를 들어, 계단형 정정 라인의 해상도 (계단들의 수) 가 증가는 log(1+e^(-x)) 에 대한 근사화를 가능하게 한다. LUT를 이용하여 정정이 단계들에서 이루어지면, 본 실시 형태의 연산 회로는 계단들의 수가 보다 많아짐에 따라 회로 사이즈면에서 LUT보다 유리해진다. 이것은 LUT에서 계단들의 수가 많아질수록 테이블을 저장하는 메모리 용량이 증가하고, 적절한 범위를 비교하고 선택하는 선택기의 회로 사이즈 또한 그에 따라 증가하기 때문이다.
이 방법에서, 정정 커브의 모양은 파라미터들 (a, b, c) 즉, (x, y, z) = (w-a, 22-c, b) 이 변함으로써 변경될 수 있다. CF 출력부 (24) 의 출력 CF가 값 (AM) 에 더해지는 야코비안 정정 인자이기 때문에, 파라미터들 (a, b, c) 을 트루 야코비안 정정 인자를 나타내는 라인에 가깝도록 적절히 선택하는 것이 바람직하다.
도 4는 CF (정정 커브;L12) 와 트루 야코비안 정정 인자 (이상 커브;L11)를 서로 비교하여 도시한다. 파라미터들 (a, b, c) 이 적절한 값이면, 실질적으로 이상 커브 (L14) 에 따라 CF (정정 커브;L12) 가 얻어질 수 있다. 또한, 도 4는 비트 폭이 w=9 일 때의 정정 커브 (L14) 와 이상 커브 (L13) 를 도시한다.
도 2에 도시된 가산기 (25) 의 출력은 도 3 및 4에 도시된 바와 같은 CF 값과 최대값 (AM) 의 합계이다. 도 5는 CF가 고정된 값이고 최대값 (AM) 이 변수일 때, 정정 회로 (3) 의 출력 (s) 를 도시하는 그래프이다. 도 6은 CF가 변수이고 최대값(AM) 이 고정된 값일 때, 정정 회로 (3) 의 출력 (s) 을 도시하는 그래프이다.
도 5에서, 커브 (L21)는 정정이 없을 때 정정 회로 (3) 의 출력 (s) 을 나타내고, 커브들 (L22 내지 L23) 은 각각 CF = 3 및 15 일 때의 출력을 나타낸다. 도 6에서, 커브 (L31) 는 최대값 AM = 0 일 때, 정정 회로 (3) 의 출력 (s) 을 나타내고, 커브들 (L32 및 L33) 은 각각 최대값 AM = 3 및 15 일 때 출력 (s) 을 나타낸다. 실제로, CF 및 최대값 (AM) 둘 다가 변경되고, 정정 회로 (3) 의 출력 (s) 은 이들의 조합에서 3차원적으로 변경되는 값이다.
입력 I1 및 I2 의 최대값을 계산하고 정정 인자를 거기에 더하는 연산 회로가 본 실시 형태에서 설명되었지만, 입력 I1 및 I2 의 최소값을 계산하고 거기에서 정정 인자를 빼는 것이 가능하다. 이러한 경우, ns 비트들에 대응하는 비트들 이외의 CF 값들의 모든 비트들이 "1"로 설정되고, 가산기 (25) 의 한 입력이 정정 회로 (3) 의 인버팅 입력으로 변경된다.
본 실시 형태에서, NOR 회로 (21) 에 대한 입력 비트 폭을 근사하게 설정함으로써, 인버터 (22) 에 의해 인버팅된 비트 폭 (b), CF(0) 내지 CF(10) 에 대한 ns(0) 내지 ns(3) 의 관계를 결정하는 파라미터 (c), 야코비안 정정 인자 log(1+e^(-x)) 의 근사값은 오로지 폭 비트 연산만으로 얻어질 수 있어, 회로 사이즈를 증가시키지 않고 Ak(s) 및 Bk -1(s) 를 정확하게 얻을 수 있도록 한다.
제 2 실시 형태
본 발명의 제 2 실시 형태가 이하 설명된다. 제 1 실시 형태에 따라, 연산 회로는 정정 인자를 계산하여 더하고, 정정 회로는 가산기를 포함한다. 반면에, 이 실시 형태의 연산 회로는 회로 사이즈를 더 감소시킨다.
도 7은 제 2 실시 형태에 따른 연산 회로를 도시하고, 도 8은 연산 회로를 세부적으로 도시한다. 도 7 및 8에 도시된 제 2 실시 형태에서, 제 1 실시 형태와 동일한 요소들을 동일한 참조 부호들로 나타내고 여기에서 자세하게 설명하지 않는다.
도 7에 도시된 바와 같이, 본 실시 형태의 정정 회로 (33) 는 마스크값 발생기 (41), 마스크 프로세서로서 CF 출력부 (42), 및 OR 회로 (43) 를 포함한다. 마스크값 발생기 (41) 는 ACS 회로 (2) 로부터 출력의 여러 가지 저차 비트들을 결정하여 마스크값들을 제공한다. CF 출력부 (42) 는 마스크값 발생기 (41) 로부터의 출력에 기초하여 마스크 프로세싱을 수행하고 정정값들 CF(0) 내지 CF(10) 을 출력한다. OR 회로 (43) 는 ACS 회로 (2) 로 부터의 출력과 정정 값들 CF(0) 내지 CF(10) 의 로직 OR 를 계산한다.
도 8에 도시된 바와 같이, 마스크값 발생기 (41) 는 제 1 로직 회로로서 NOR 회로 (50a), 제 2 로직 회로로서 로직 회로 (50b), 제 3 로직 회로로서 AND 회로 (50c) 를 포함한다.
NOR 회로 (50a) 는 비트 폭 a를 갖는 비트 그룹 (제 1 비트 그룹) 의 인버팅된 로직 OR sf를 계산한다. 이 예에서, 비트 폭은 a=4 이고, 입력 비트들의 4개의 고차 비트들 (x(7) 내지 x(10)) 은 인버팅된 로직 OR sf를 계산하는데 사용된다.
로직 회로 (50b) 는 비트 폭 b를 갖는 비트 그룹에 기초하여 제 3 비트 그룹으로서 rs(0) 내지 rs(6) 을 계산한다. 이 예에서, 비트 폭은 b=3이고, 3개의 비트들 (x(4) 내지 x(6)) 은 제 3 비트 그룹 rs(0) 내지 rs(6) 을 계산하는데 사용된다.
x(6) 내지 x(4) = y(2) 내지 y(0) 이면, 로직 회로 (50b) 는 y(0) 및 y(1) 의 로직 AND를 계산하는 AND 회로 (53) 와 y(0) 및 y(1) 의 로직 OR을 계산하는 OR 회로 (52) 를 포함한다. 로직 회로 (50) 는 NOR 회로들 (54 내지 56), 인버터 (57), 인버팅 AND 회로들 (58 내지 60) 을 더 포함한다. NOR 회로 (54) 는 y(2) 의 로직 NOR 과 OR 회로 (52) 의 출력을 계산하고 rs(6) 을 출력한다. NOR 회로 (55) 는 y(2) 와 y(1) 의 로직 NOR을 계산하고 rs(5) 를 출력한다. NOR 회로 (56) 는 y(2) 의 로직 NOR 과 AND 회로 (53) 의 출력을 계산하고 rs(4) 를 출력한다. 인버터 (57) 는 y(2) 의 인버팅 값을 계산하고 rs(3) 을 출력한다. 인버팅 AND 회로 (58) 는 y(2) 의 로직 AND와 OR 회로 (52) 의 출력을 계산하고 rs(2)를 출력한다. 인버팅 AND 회로 (59) 는 y(2) 와 y(1) 의 로직 AND를 계산하고 rs(1) 를 출력한다. 인버팅 AND 회로 (60) 는 y(2) 의 로직 AND와 AND 회로 (53) 의 출력을 계산하고 rs(0)를 출력한다.
AND 회로 (50c) 는 마스크값으로서 각각의 rs와 sf의 로직 AND를 계산한다. AND 회로 (50c) 는 AND 회로 (61 내지 67) 를 포함한다. 본 실시 형태에서, AND 회로 (61 내지 65) 는 sf와 함께 rs(6) 내지 rs(2) 의 로직 AND를 각각 계산하고 ns(4) 내지 ns(0)을 출력한다. AND 회로 (66 내지 67) 는 본 실시 형태에서 사용되지 않는다. CF 출력부 (42) 는 ns(4) 내지 ns(0)을 각각 CF(4) 내지 CF(0) 로서 출력한다. ns 비트들이 제공되지 않는 다른 CF들은 모두 0으로 출력된다.
정정 회로 (33) 에 대한 입력 (경로 메트릭 값) 의 비트 폭이 w 이고, 입력의 각각의 비트가 x(j)(0≤j≤w-1) 이고, NOR 회로 (50a) 에 대한 비트 그룹 입력의 비트 폭은 (1≤a≤w-1) 이고, y(i)가 되는 비트 폭은 b(1≤b≤w-a-1) 이고, 마스크값과 CF(j) 사이의 관계를 정의하는 파라미터는 c(-(w-1)≤c≤w-1) 이다. NOR 회로 (50a) 로부터의 출력 sf, y(i), 로직 회로 (50b)로부터의 출력값 rs, 마스크값 ns, 및 CF는 다음 식 (26) 내지 식 (30)을 각각 만족한다.
상기 식 (26) 내지 식 (30) 의 파라미터들 (a, b, c) 을 이하 상세하게 설명한다. 도 9는 정정 회로 (33) 에서 얻은 CF 출력부 (42) 의 출력 CF를 도시하는 그래프이다. 도 9는 파라미터들 (a, b, c) 이 변할 때 CF 출력부 (42) 의 출력 결과 (정정 커브) 를 도시한다. 도 9에서, 도 3과 유사하게, 정정 커브들 (L41 내지 L44) 은 파라미터들 (x, y, z) 의 값들을 cf_x_y_z 로서 나타낸다. 파라미터 a=w-x 이고, 파라미터 b=z이고, 파라미터 c=log2(y)이고, ((x, y, z) = (w-a, 22-c, b)) 이고, 정정 커브는 일반적으로 계단형 커브이다. 파라미터 x, 즉 NOR 회로 (50a) 의 입력인 비트 폭이 변경되면, CF 출력부 (42) 의 출력은 계단들의 사이즈가 L41 및 L42에 나타난 바와 같이 지수적으로 변한다. 구체적으로, 파라미터 x=6 일 때 계단들의 전체적인 폭과 높이가 파라미터 x=5 일 때의 단계들의 폭과 높이보다 약 4 배 더 크다.
더욱이, 파라미터 (z) 를 얻는 비트 폭 (b), 즉 rs 가 변경되면, 각각의 계 단폭 (해상도) 이 L41 및 L44 에 표시된 바와 같이 변경된다. 폭은 L41의 4비트가 z=4에, 그리고 L44의 2비트가 z=2에 대응한다.
더욱이, 파라미터 (y), 즉 CF의 어느 값이 비트들 ns(0) 내지 ns(3) 에 대응하는지 결정하는 파라미터 (c) 가 변경되면, L41 및 L43 에 나타난 바와 같이 계단들의 수는 변경되지 않지만 최대값은 변경된다. 따라서 마스크값의 시프트 량에 대응한다. y=4 와 y=2 사이의 높이 차는 2 비트이다.
이 방법으로, CF 출력부 (42) 의 출력은 (x, y, z) = (w-a, 2c, b) 가 변함으로써 필수적으로 변경될 수 있다. 이 실시 형태에서, CF 출력의 로직 OR 및 값 (AM) 은 정정 이후의 값으로서 계산된다.
도 10에서, 커브 (L51) 는 정정이 없을 때 (AM 값) 의 정정 회로 (33) 의 출력들 (s) 을 나타내고, 커브 (L52 및 L53) 는 CF 출력 = 2 및 4일 때와 동일한 커브를 나타낸다. 도 11에서, 커브 (L61) 는 AM=0 일 때 정정 회로 (33) 의 출력들 (s) 을 나타내고, 커브들 (L62 및 L63) 은 AM = 2 및 341 일 때 CF 출력 (42) 의 로직 OR인 정정 회로 (33) 의 출력들 (s) 을 나타낸다. 제 1 실시 형태에 설명된 바와 같이, CF 출력 및 값 (AM) 둘 다가 실제로 변경되기 때문에, 정정 회로 (33) 의 출력 (s) 은 이들의 조합으로 3차원적으로 변하는 값이다.
도 10에 도시된 바와 같이, 커브 (L52) 는 LSB로부터의 2비트가 1로 마스크되는 경우를 나타내고, 커브 (L53) 는 LSB로부터의 4비트가 1로 마스크되는 경우를 나타낸다. 도 10의 그래프는 │Ai-AM│의 값이 더 작을수록 정정이 더 커지는 것을 도시한다. 또한, 도 11의 그래프는 │Ai-AM│의 값이 더 클수록 정정량이 더 작아지는 것을 도시한다.
본 실시 형태와 같이, 파라미터들 (a, b, c) 의 값들이 적절히 변함으로써, 회로 사이즈의 증가 없이 야코비안 정정 인자가 정확히 계산된다. 더욱이, 본 실시 형태는 가산기의 필요성을 제거하여 제 1 실시 형태와 비교하여 회로 사이즈의 부가적인 감축을 가능하게 한다.
이하 본 발명의 효과를 설명한다. 도 12 는 (LUT를 이용하는) Log-sum-MAP 및 콘볼루션 테크닉 (Max-Log-MAP) 을 이용할 때의 결과들과 비교하여 제 1 및 제 2 실시 형태들에 따른 연산 회로의 결과들을 도시하는 그래프이다. 그래프는 Log-sum-MAP 과 같고 Max-Log-MAP 보다 현저하게 양호한 BER이 제 1 및 제 2 실시 형태들에서 얻어지는 것을 도시한다. 제 1 실시 형태의 연산 회로가 가산기의 존재로 인해 제 2 실시 형태의 연산 회로보다 큰 회로 사이즈를 가질지라도, 값 (AM) 의 매우 정확한 정정이 제공된다.
도 13 및 14 는 각각 회로 사이즈와 데이터 지연 레이트에 대한 본 발명의 효과를 도시하는 도면이다. 도 13 및 14에 도시된 바와 같이, 회로 사이즈 및 데이터 지연 레이트는 (LUT를 이용하는) Log-sum-MAP를 이용할 때 더 크다. 반면에, 회로 사이즈 및 데이터 지연 레이트는 제 1 및 제 2 실시 형태들에 따른 연 산 회로에서 현저히 개선된다.
본 발명은 상기 설명된 실시 형태들로 제한되지 않고, 본 발명의 범위에 벗어남 없이 다양한 변경들이 이루어질 수 있다. 예를 들어, 본 발명이 입력 I1 및 I2 의 최대값을 계산하고 이 값을 정정 회로 (33) 에서 정정하는 경우를 예로써 설명하였지만, 입력 I1 및 I2 의 최소값을 계산하고 이값을 정정하는 것도 가능하다. 이러한 경우, 최소값이 ACS 회로 (2) 에서 결정되고, 정정 회로 (33) 는 최소값을 정정하는 정정 회로로 대체된다. 정정 회로는 복수의 비트들의 조합된 경로 메트릭 값에 기초한 마스크값을 계산하는 마스크값 발생기와, 마스크값에 기초하여 경로 메트릭값에 마스크 프로세싱을 수행하는 마스크 프로세서와, 마스크 프로세서의 인버팅된 출력과 최소값의 로직 AND 를 계산하는 로직 회로를 포함할 수 있다.
마스크값 발생기는 제 1 내지 제 3 로직 회로들을 포함할 수 있다. 구체적으로, 제 1 로직 회로는 복수의 비트들로 구성된 경로 메트릭값의 0 비트 이상의 고차 비트들을 포함하는 모든 제 1 비트 그룹으로부터 1-비트 인버팅된 로직 OR을 계산한다. 제 2 로직 회로는 제 1 비트 그룹을 제외한 복수의 비트들로 구성된 경로 메트릭값의 나머지의 1비트 이상의 고차 비트들을 포함하는 제 2 비트 그룹에 로직 연산을 수행하고 1 비트 이상을 포함하는 제 3 비트 그룹을 발생시킨다. 제 3 로직 회로는 제 3 비트 그룹의 각각의 비트와 제 1 로직 회로의 출력의 로직 AND를 계산한 결과인 마스크값을 출력한다. 마스크 프로세서는 출력부 및 제 4 로직 회로를 포함할 수 있다. 구체적으로, 출력부는 동일한 비트들의 정정값을 마스크값에 기초하여 경로 메트릭값으로서 발생시키고 동일한 비트들의 인버팅값을 출력한다. 제 4 로직 회로는 인버팅 출력의 로직 AND와 ACS 회로로부터의 최소값을 계산한다.
이 경우, 상기 실시 형태에서 설명된 바와 같이, 경로 메트릭값의 비트폭은 w이고, 경로 메트릭값의 각각의 비트는 x(j)(0≤j≤w-1) 이고, 제 1 비트 그룹의 비트폭은 a (1≤a≤w-1) 이고, 제 2 비트 그룹의 비트폭은 b (1≤b≤w-a-1) 이고, 마스크값과 정정 출력 사이의 관계를 정의하는 파라미터는 c (-w≤c≤w) 이다. 이후, 제 1 로직 회로로부터의 출력값 sf, 제 2 비트 그룹 y(i), 제 2 로직 회로로부터의 출력값 rs, 제 3 로직 회로로부터의 출력값 ns, 및 출력부으로부터의 출력값 CF은 각각 다음식을 만족한다. 이런 방법으로, 최소값을 정정할 때, 값 CF는 1의 보수가되고, 이는 정정값을 인버팅하는 연산을 필요로한다.
CF=1의 보수(ns)
본 발명은 상기 실시 형태로 제한되지 않으므로 본 발명의 범위 및 정신에서 벗어남 없이 수정 및 변경이 이루어질 수 있음이 분명하다.
Claims (17)
- 복수의 비트들로 구성된 경로 메트릭값의 하나 이상의 고차 비트를 포함하는 제 1 비트 그룹 전부로부터 1-비트의 인버팅된 로직 OR 을 출력하는 제 1 로직 회로;상기 복수의 비트들로 구성된 상기 경로 메트릭값의 상기 제 1 비트 그룹을 제외한 나머지 중 하나 이상의 고차 비트를 포함하는 제 2 비트 그룹의 각각의 비트를 인버팅하고 제 3 비트 그룹을 출력하는 제 2 로직 회로;상기 제 1 로직 회로의 출력과 상기 제 3 비트 그룹의 각각의 비트의 로직 AND 를 계산한 결과들을 포함하는 제 4 비트 그룹을 출력하는 제 3 로직 회로; 및상기 제 4 비트 그룹에 기초하여 정정 인자를 출력하는 정정 인자 출력부를 포함하고,Max-Log-MAP 알고리즘에 의해 컴퓨팅된 근사값이 Log-MAP 알고리즘에 기초하여 정정되는, 연산 회로.
- 제 1 항에 있어서,상기 경로 메트릭값의 비트폭이 w이면, 상기 경로 메트릭값의 각각의 비트는 x(j) (0≤j≤w-1) 이고, 상기 제 1 비트 그룹의 비트폭은 a (1≤a≤w-1) 이고, 상기 제 2 비트 그룹의 비트폭은 b (1≤b≤w-a-1) 이고, 상기 제 4 비트 그룹과 상기 정정 인자 출력부 사이의 관계를 정의하는 파라미터는 c (-(w-1)≤c≤w-1) 이고, 상기 제 1 로직 회로로부터의 출력값 sf, 상기 제 3 비트 그룹 rs(i), 상기 제 3 로직 회로로부터의 출력값 ns, 및 상기 정정 인자 출력부로부터의 출력값 CF는 각각 다음 식,을 만족하는, 연산 회로.
- 제 1 항에 있어서,Max-Log-MAP 알고리즘에서 최대값을 출력하는 최대값 출력 회로; 및상기 정정 인자 출력부의 출력과 상기 최대값을 더하는 가산기를 더 포함하는, 연산 회로.
- 제 2 항에 있어서,Max-Log-MAP 알고리즘에서 최대값을 출력하는 최대값 출력 회로; 및상기 정정 인자 출력부의 출력과 상기 최대값을 더하는 가산기를 더 포함하는, 연산 회로.
- 제 3 항에 있어서,상기 최대값 출력 회로는 트렐리스 (trellis) 상의 일정한 시점에서 각각의 상태에의 모든 입력인 성취 확률의 대수적 근사로부터 최대값을 얻는, 연산 회로.
- 제 5 항에 있어서,상기 최대값 출력 회로는,상기 성취 확률의 대수적 근사인 제 1 입력과 제 2 입력 사이의 차를 계산하는 연산부;상기 계산의 결과에 기초하여 상기 제 1 입력 및 상기 제 2 입력 중 보다 큰 입력을 선택적으로 출력하는 선택기; 및상기 연산부의 출력의 절대값을 상기 경로 메트릭값으로서 출력하는 절대값 회로를 포함하는, 연산 회로.
- 제 1 항에 있어서,Max-Log-MAP 알고리즘으로 최소값을 출력하는 최소값 출력 회로; 및상기 최소값에서 상기 정정 인자 출력부의 출력을 빼는 감산기를 더 포함하는, 연산 회로.
- 제 2 항에 있어서,Max-Log-MAP 알고리즘에서 최소값을 출력하는 최소값 출력 회로; 및상기 최소값에서 상기 정정 인자 출력부의 출력을 빼는 감산기를 더 포함하는, 연산 회로.
- 제 7 항에 있어서,상기 최소값 출력 회로는 트렐리스상의 일정한 시점에서 각각의 상태에의 모든 입력인 성취 확률의 대수적 근사로부터 최소값을 얻는, 연산 회로.
- 제 9 항에 있어서,상기 최소값 출력 회로는,상기 성취 확률의 대수적 근사인 제 1 입력과 제 2 입력 사이의 차를 계산하는 연산부;상기 계산의 결과에 기초하여 상기 제 1 입력 및 상기 제 2 입력 중 보다 작은 입력을 선택적으로 출력하는 선택기; 및상기 연산부의 출력의 절대값을 상기 경로 메트릭값으로서 출력하는 절대값 회로를 포함하는, 연산 회로.
- Log-MAP 알고리즘에 기초하여 Max-Log-MAP 알고리즘에 의해 컴퓨팅된 근사값을 정정하는 연산 회로로서,상기 회로는,Max-Log-MAP 알고리즘에서 최대값을 출력하는 최대값 출력 회로; 및상기 최대값을 정정하는 정정 회로를 포함하고,상기 정정 회로는,복수의 비트들로 구성된 경로 메트릭값에 기초하여 마스크값을 계산하는 마스크값 발생기;상기 마스크값에 기초하여 상기 경로 메트릭값에 마스크 프로세싱을 수행하는 마스크 프로세서; 및상기 마스크 프로세서의 출력과 상기 최대값의 로직 OR을 계산하는 로직 회로를 포함하는, 연산 회로.
- 제 11 항에 있어서,상기 마스크값 발생기는,복수의 비트들로 구성된 경로 메트릭값의 하나 이상의 고차 비트를 포함하는 제 1 비트 그룹 전부로부터 1-비트의 인버팅된 로직 OR을 계산하는 제 1 로직 회로;상기 복수의 비트들로 구성된 상기 경로 메트릭값의 상기 제 1 비트 그룹을 제외한 나머지 중 하나 이상의 고차 비트를 포함하는 제 2 비트 그룹에 로직 연산을 수행하고, 1 비트 이상을 포함하는 제 3 비트 그룹을 발생시키는 제 2 로직 회로; 및상기 제 3 비트 그룹의 각각의 비트와 상기 제 1 로직 회로의 출력의 로직 AND를 계산한 결과인 상기 마스크값을 출력하는 제 3 로직 회로를 포함하고,상기 마스크 프로세서는,상기 마스크값에 기초하여 상기 경로 메트릭값과 동비트의 정정 출력을 발생시키는 출력부; 및상기 정정 출력과 상기 최대값의 로직 OR 를 계산하는 제 4 로직 회로를 포함하는, 연산 회로.
- 제 12 항에 있어서,상기 경로 메트릭값의 비트폭이 w이면, 상기 경로 메트릭값의 각각의 비트는 x(j) (0≤j≤w-1) 이고, 상기 제 1 비트 그룹의 비트폭은 a (1≤a≤w-1) 이고, 상기 제 2 비트 그룹의 비트폭은 b (1≤b≤w-a-1) 이고, 상기 마스크값과 상기 정정 출력 사이의 관계를 정의하는 파라미터는 c (-w≤c≤w) 이고,상기 제 1 로직 회로로부터의 출력값 sf, 상기 제 2 비트 그룹 y(i), 상기 제 2 로직 회로로부터의 출력값 rs, 상기 제 3 로직 회로로부터의 출력값 ns, 및 상기 출력부으로부터의 출력값 CF는 각각 다음 식,을 만족하는, 연산 회로.
- Log-MAP 알고리즘에 기초하여 Max-Log-MAP 알고리즘에 의해 컴퓨팅된 근사값을 정정하는 연산 회로로서,Max-Log-MAP 알고리즘에서 최소값을 출력하는 최소값 출력 회로; 및상기 최소값을 정정하는 정정 회로를 포함하고,상기 정정 회로는,복수의 비트들로 구성된 경로 메트릭값에 기초한 마스크값을 계산하는 마스크값 발생기;상기 마스크값에 기초하여 상기 경로 메트릭값에 마스크 프로세싱을 수행하는 마스크 프로세서; 및상기 마스크 프로세서의 인버팅 출력과 상기 최소값의 로직 AND를 계산하는 로직 회로를 포함하는, 연산 회로.
- 제 14 항에 있어서,상기 마스크값 발생기는,복수의 비트들로 구성된 경로 메트릭값의 하나 이상의 고차 비트를 포함하는 제 1 비트 그룹 전부로부터 1-비트의 인버팅된 로직 OR을 계산하는 제 1 로직 회로;상기 복수의 비트들로 구성된 상기 경로 메트릭값의 상기 제 1 비트 그룹을 제외한 나머지 중 하나 이상의 고차 비트를 포함하는 제 2 비트 그룹에 로직 연산을 수행하고, 1 비트 이상을 포함하는 제 3 비트 그룹을 발생시키는 제 2 로직 회로; 및상기 제 3 비트 그룹의 각각의 비트와 상기 제 1 로직 회로의 출력의 로직 AND 를 계산한 결과인 상기 마스크값을 출력하는 제 3 로직 회로를 포함하고,상기 마스크 프로세서는,상기 마스크값에 기초하여 상기 경로 메트릭값과 동비트의 정정 출력을 발생시키고 상기 정정 출력의 인버팅값을 출력하는 출력부; 및상기 인버팅 출력과 상기 최소값의 로직 AND 를 계산하는 제 4 로직 회로를 포함하는, 연산 회로.
- 제 15 항에 있어서,상기 경로 메트릭값의 비트폭이 w이면, 상기 경로 메트릭값의 각각의 비트는 x(j) (0≤j≤w-1) 이고, 상기 제 1 비트 그룹의 비트폭은 a (1≤a≤w-1) 이고, 상기 제 2 비트 그룹의 비트폭은 b (1≤b≤w-a-1) 이고, 상기 마스크값과 상기 정정 출력 사이의 관계를 정의하는 파라미터는 c (-w≤c≤w) 이고,상기 제 1 로직 회로로부터의 출력값 sf, 상기 제 2 비트 그룹 y(i), 상기 제 2 로직 회로로부터의 출력값 rs, 상기 제 3 로직 회로로부터의 출력값 ns, 및 상기 출력부으로부터의 출력값 CF는 각각 다음 식,CF=1의 보수(ns)을 만족하는, 연산 회로.
- 복수의 비트들로 구성된 경로 메트릭값의 하나 이상의 고차 비트를 포함하는 제 1 비트 그룹 전부로부터 1-비트의 인버팅된 로직 OR 을 출력하는 제 1 로직 회로;상기 복수의 비트들로 구성된 상기 경로 메트릭값의 상기 제 1 비트 그룹을 제외한 나머지의 각각의 비트를 인버팅하고 제 3 비트 그룹을 출력하는 제 2 로직 회로;상기 제 1 로직 회로의 출력과 상기 제 3 비트 그룹의 각각의 비트의 로직 AND 를 계산한 결과들을 포함하는 제 4 비트 그룹을 출력하는 제 3 로직 회로, 및상기 제 4 비트 그룹과 관련된 값을 지수적으로 변화시키고, 변화된 값을 정정 인자로 출력하는 정정인자 출력부를 포함하고,Max-Log-MAP 알고리즘에 의해 컴퓨팅된 근사값이 Log-MAP 알고리즘에 기초하여 정정되는, 연산 회로.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005366401A JP4152410B2 (ja) | 2005-12-20 | 2005-12-20 | 演算回路 |
JPJP-P-2005-00366401 | 2005-12-20 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20070065831A KR20070065831A (ko) | 2007-06-25 |
KR100876566B1 true KR100876566B1 (ko) | 2008-12-31 |
Family
ID=37734532
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020060130658A KR100876566B1 (ko) | 2005-12-20 | 2006-12-20 | 연산 회로 |
Country Status (5)
Country | Link |
---|---|
US (1) | US7913153B2 (ko) |
JP (1) | JP4152410B2 (ko) |
KR (1) | KR100876566B1 (ko) |
CN (2) | CN1988391B (ko) |
GB (2) | GB2447132B (ko) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4709119B2 (ja) * | 2006-10-13 | 2011-06-22 | ルネサスエレクトロニクス株式会社 | 復号装置及び復号方法 |
US8184993B2 (en) * | 2009-02-25 | 2012-05-22 | Nec Laboratories America, Inc. | Polarization mode dispersion (PMD) compensation in polarization multiplexed coded orthogonal frequency division multiplexing (OFDM) systems |
US9032269B2 (en) | 2011-07-22 | 2015-05-12 | Sandisk Technologies Inc. | Systems and methods of storing data |
US9191131B2 (en) | 2012-07-06 | 2015-11-17 | Intel Deutschland Gmbh | Method for control channel detection in wireless communications systems |
JP5955481B2 (ja) * | 2014-02-24 | 2016-07-20 | 三菱電機株式会社 | 軟判定値生成装置及び軟判定値生成方法 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001352258A (ja) | 2000-06-08 | 2001-12-21 | Sony Corp | 復号装置及び復号方法 |
JP2002100995A (ja) | 2000-09-22 | 2002-04-05 | Sony Corp | 復号装置及び方法、並びにデータ受信装置及び方法 |
JP3512176B2 (ja) | 2001-05-15 | 2004-03-29 | 松下電器産業株式会社 | ターボ復号装置およびターボ復号における復号の繰返し回数の制御方法 |
CN1192486C (zh) * | 2001-09-27 | 2005-03-09 | 华为技术有限公司 | 一种缩短循环码纠错译码算法的集成电路实现方法及电路 |
US7162675B2 (en) * | 2002-04-05 | 2007-01-09 | Lucent Technologies Inc. | Error detection methods in wireless communication systems |
JP2004080508A (ja) | 2002-08-20 | 2004-03-11 | Nec Electronics Corp | 誤り訂正符号の復号方法、そのプログラム及びその装置 |
KR100516586B1 (ko) | 2002-12-10 | 2005-09-22 | 삼성전자주식회사 | 부호 분할 다중 접속 이동 통신 시스템의 오류 정정 장치및 방법 |
JP2004312348A (ja) * | 2003-04-07 | 2004-11-04 | Matsushita Electric Ind Co Ltd | インターリーブ/デインターリーブ方法及び装置 |
US7391826B2 (en) | 2003-08-08 | 2008-06-24 | Lucent Technologies Inc. | Decoding method and apparatus |
US7996748B2 (en) * | 2005-05-19 | 2011-08-09 | Stmicroelectronics, S.R.L. | ECC for single 4-bits symbol correction of 32 symbols words with 22 maximum row weight matrix |
-
2005
- 2005-12-20 JP JP2005366401A patent/JP4152410B2/ja not_active Expired - Fee Related
-
2006
- 2006-12-07 US US11/634,957 patent/US7913153B2/en not_active Expired - Fee Related
- 2006-12-20 GB GB0803472A patent/GB2447132B/en not_active Expired - Fee Related
- 2006-12-20 CN CN2006101690527A patent/CN1988391B/zh not_active Expired - Fee Related
- 2006-12-20 KR KR1020060130658A patent/KR100876566B1/ko not_active IP Right Cessation
- 2006-12-20 CN CN2010102146508A patent/CN101882934B/zh not_active Expired - Fee Related
- 2006-12-20 GB GB0625427A patent/GB2437607B/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN1988391A (zh) | 2007-06-27 |
GB2447132A (en) | 2008-09-03 |
US7913153B2 (en) | 2011-03-22 |
JP2007174057A (ja) | 2007-07-05 |
GB2437607B (en) | 2008-11-19 |
CN101882934B (zh) | 2012-10-03 |
GB0803472D0 (en) | 2008-04-02 |
GB0625427D0 (en) | 2007-01-31 |
US20070162836A1 (en) | 2007-07-12 |
GB2447132B (en) | 2009-01-14 |
KR20070065831A (ko) | 2007-06-25 |
GB2437607A (en) | 2007-10-31 |
CN101882934A (zh) | 2010-11-10 |
CN1988391B (zh) | 2012-07-04 |
JP4152410B2 (ja) | 2008-09-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7032156B2 (en) | Apparatus and method for reducing Bit Error Rates (BER) and Frame Error Rates (FER) using turbo decoding in a digital communication system | |
US7116732B2 (en) | Method and apparatus for decoding a bit sequence | |
JP3288683B2 (ja) | 変形された逆追跡方式の2段軟出力ビタビアルゴリズム復号化器 | |
JP3861084B2 (ja) | 特に移動無線システム用とした、複合型ターボ符号/畳み込み符号デコーダ | |
US6999531B2 (en) | Soft-decision decoding of convolutionally encoded codeword | |
KR100876566B1 (ko) | 연산 회로 | |
JP2004343716A (ja) | 畳み込み符号化信号の伝送形式をブラインド検出する方法および復号器 | |
US20070113161A1 (en) | Cascaded radix architecture for high-speed viterbi decoder | |
JP4269520B2 (ja) | 近似演算装置およびmap復号装置 | |
US6886127B2 (en) | Implementation of a turbo decoder | |
CN106209117B (zh) | 一种低资源消耗的多参数可配置Viterbi译码器 | |
US7143335B2 (en) | Add-compare-select arithmetic unit for Viterbi decoder | |
EP1271789B1 (en) | Log-MAP decoding | |
CN103973319B (zh) | 全整数Turbo码迭代译码的方法和系统 | |
KR100436434B1 (ko) | 상태 메트릭을 갖는 터보 복호기 및 그를 이용한 계산 방법 | |
CN116073952B (zh) | 一种基于MaPU架构的快速并行卷积编译码方法、系统、设备及介质 | |
CN2884696Y (zh) | 用于Turbo码译码器中的归一化装置 | |
KR20010113792A (ko) | 재귀적 컨벌루션형 심벌들을 디코딩하기 위한 방법 및 장치 | |
Werling | A Hardware Implementation of the Soft Output Viterbi Algorithm for Serially Concatenated Convolutional Codes | |
Perez et al. | Optimizations in max-log-MAP LLR/sup e/VLSI architecture | |
Spasov | Design of the BCJR decoding algorithm with reduced space complexity | |
Shim et al. | A novel metric representation for low-complexity log-MAP decoder | |
Cheng | Comparison and Analysis of Stopping Rules for Iterative Decoding of Turbo Codes | |
KR20020066759A (ko) | 터보디코더용 맵알고리즘 구현 프로세서 및 맵알고리즘구현방법 | |
KR20070050716A (ko) | 복호기의 상태 메트릭 정규화 장치 및 방법 |
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: 20111202 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20121130 Year of fee payment: 5 |
|
LAPS | Lapse due to unpaid annual fee |