KR20050085400A - 병렬 슬라이딩-윈도우 맵 디코딩 - Google Patents

병렬 슬라이딩-윈도우 맵 디코딩 Download PDF

Info

Publication number
KR20050085400A
KR20050085400A KR1020057010237A KR20057010237A KR20050085400A KR 20050085400 A KR20050085400 A KR 20050085400A KR 1020057010237 A KR1020057010237 A KR 1020057010237A KR 20057010237 A KR20057010237 A KR 20057010237A KR 20050085400 A KR20050085400 A KR 20050085400A
Authority
KR
South Korea
Prior art keywords
starting
log app
segments
predicted
variable
Prior art date
Application number
KR1020057010237A
Other languages
English (en)
Inventor
진 루
준-화 천
에르뎀 호케넥
메이안 모드길
Original Assignee
샌드브리지 테크놀로지스, 인코포레이티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 샌드브리지 테크놀로지스, 인코포레이티드 filed Critical 샌드브리지 테크놀로지스, 인코포레이티드
Publication of KR20050085400A publication Critical patent/KR20050085400A/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/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/45Soft decoding, i.e. using symbol reliability information
    • 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
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/29Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2957Turbo codes and decoding
    • H03M13/296Particular turbo code structure
    • 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/6561Parallelized implementations
    • 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/0047Decoding adapted to other signal detection operation
    • H04L1/005Iterative decoding, including iteration between signal detection and decoding operation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0064Concatenated codes
    • H04L1/0066Parallel concatenated codes

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Error Detection And Correction (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Detection And Correction Of Errors (AREA)

Abstract

본 발명은 로그 포스테리어 확률비(log posterior probability ratio) L(uk)을 이용하여 디코딩(decoding) 하는 방법에 관한 것이며, 이때 상기 L(uk)은 순방향 변수 α(.) 및 역방향 변수 β(.) 의 함수이다. 상기 방법은 상기 순방향 변수 α(.) 및 역방향 변수 β(.)를 예를 들면 2개의 세그먼트 p 및 q 로 분할하는 단계를 포함하는데, 여기서 p+q 는 코드 단어(code word) U의 길이와 같다. 상기 순방향 세그먼트 α(.)는 병렬 계산되고(parallel calculated), 상기 역방향 변수 β(.)도 병렬 계산된다. 상기 비 L(uk)은 α(.) 및 β(.) 에 대한 상기 병렬 계산된 세그먼트들을 이용하여 계산된다.

Description

병렬 슬라이딩-윈도우 맵 디코딩{PARALLELIZED SLIDING-WINDOW MAP DECODING}
본 발명은 일반적으로 디코더에 관한 것이며, 더욱 상세하게는 APP(A Posteriori Probability) 계산을 위한 처리시간을 감축하고, 병렬 처리구조(parallel processing architecture) 내의 구현에 적당한 터보 디코더(turbo decoder)에 관한 것이다.
원격통신 채널을 통해 전달되는 데이터는 채널 노이즈(channel noise), 채널 페이딩(channel fading), 및 다른 채널들로부터의 간섭(interferences)에 영향을 받는다. 결과적으로 목적지에서 수신되는 데이터는 일반적으로 상기 채널에 의해 소스(source)에서 전달한 것으로부터 “변화된(altered)”것이 된다. 에러가 없는 전송을 보장하기 위하여, 상기 데이터는 데이터 수신기(data receiver)가 상기 에러들을 탐지하거나 또는 수정할 수 있도록 채널 인코더(channel encoder)에 의해 전송 전에 인코드 된다. 예를 들면, 만약 비트 0 이 000으로 인코드 되고, 비트 1 이 111로 인코드 된다면, 그리고 1 비트 에러가 발생할 때, 000 은 100 이 되고, 111 은 101 이 될 수 있다. 상기 수신기는 “다수결 원리(majority rule)” 또는 해밍 거리(hamming distance)에 의해서 100을 000(비트 0)으로 수정하고, 101을 111(비트 1)로 수정할 수 있다. 에러 수정을 책임지는 수신기 부분은 채널 디코더(channel decoder)로 불린다.
터보 인코더 및 디코더들은 지상 디지털 TV 통신시스템(terrestrial digital TV communication systems), 제 3 세대 무선(즉, WCDMA) 통신시스템과 같은 고속의 원격통신 전송 시스템을 발생하는데 이용된다. 터보 디코더는 AWGN 및 레일레이 페이딩 채널(Rayleigh fading channels) 상의 에러 수정 한계에 도달한다는 것이 증명되었다.
그러나 에러 수정 효율에도 불구하고, 터보 디코더는 강력한 컴퓨팅(computing)이다. 실시간 수행(real-time performance)(즉, 수 밀리초)을 충족시키기 위해, 터보 디코더는 일반적으로 ASIC에서 구현된다. 만약 터보 디코더가 소프트웨어 SDR(software defined radio)의 문맥(context) 내에서처럼, DSP 또는 CPU 상에서 운영되는 소프트웨어 내에서 구현될 수 있다면, 그것의 실시간 수행은 향상될 것이다.
도 1 은 종래기술인 3GPP 터보 디코더에 대한 블록 다이어그램.
도 2 는 종래기술인 3GPP 터보 디코더에 대한 블록 다이어그램.
도 3 은 다양한 신호 대 노이즈 비율(signal to noise ratios, SNRs) 하에서 종래기술의 터보 디코더 및 본 발명의 터보 디코더에 대한 비트 에러률(bit error rate)에 대한 그래프.
도 4 는 다양한 SNR 하에서 종래 기술 터보 디코더 및 본 발명에 따른 터보 디코더의 블록 에러율 또는 패킷 에러율(BLER)에 대한 그래프.
3GPP 터보 인코더(도 1)는 인터리버(interleaver)에 의해 분리되는 2개의 동일한 RSC(Recursive Systematic Convolutional) 인코더의 병렬연결로 구성된다. 길이 K 의 정보단어(info word) U 는 제 1 RSC 인코더에 의해 인코드 되고, 상기 번갈아 끼워진 정보단어는 제 2 RSC 인코더에 의해 인코드 된다. 상기 인터리버는 제 2 RSC에 입력 비트를 리오더(reordering) 함으로써 상기 2개의 RSC's에 입력을 서로 관련시키지 않으며, 그래서 2개의 RSC's로부터 인코드된 비트는 동시에 낮은 가중 코드 단어(low weight code words)를 갖는다. 또한, 그것은 인코드된 비트가 버스티 노이즈(bursty noise)에 대처하는데 도움을 준다. 3GPP 터보 인코더에서, 의사 랜덤 블록 인터리버(pseudo-random block interleaver)가 이용된다. 2 개의 RSC 인코드된 단어들은 격자 종료(trellis termination)에 의해 종결된다. 상기 터보 인코드 단어들은 규칙적인 비트(systematic bits) 및 2 개의 패리티 비트(parity bits)(U, Xp1, Xp2)로 구성된다.
도 2 에서 도시되는 것처럼, 표준 터보 디코더는 2개의 연결된 SISO(Soft Input Soft Output) 블록으로 구성되며, 하나는 규칙적 및 패리티 비트, 즉 (U', Xp1') 및 (U', Xp2')의 세트에 대한 것이고 다른 하나는 U'(U 는 정보단어를 말한다)에 대한 것이며, 여기서 Xp1' 및 Xp2' 는 각각 Xp1 및 Xp2 에 대한 노이즈 버전을 나타낸다. 상기 SISO 블록들은 MAP(Maximum A Posteriori)로 알려진 APP(A Posteriori Probability) 디코더이다. 상기 2개의 SISO 블록들은 동일한 인터리버 및 그것의 역 블록(inverse block)인 디인터리버(deinterleaver)에 의하여 분리된다. 채널 및 이전 정보(priori information)로부터 비트를 받아들일 때, 각각의 SISO 블록은 잘 알려진 순방향 및 역방향 알고리즘으로 각각의 비트에 대한 로그 포스테리어 비율들(log posterior ratios)을 계산한다. 일단 SISO가 모든 비트에 대하여 상기 로그 포스테리어 비율을 계산하면, 그것은 전체 포스테리어로부터 그것의 입력을 기반으로 하여 계산된 확률적 실체(probabilistic entity)를 분리하고, 그 다음에 그것을 다른 SISO 블록으로 넘겨준다. 이와 같은 확률적 실체는 종종 상기 다른 SISO 블록이 이전 정보로서 사용하는 외적 정보(extrinsic information)(도 2에서 L12 및 L21)로 불린다. 상기 2개의 SISO 블록은 상호간에 외부 정보를 교환하면서 반복되는 구조 내에서 실행된다. 요구되는 수의 반복이 이루어진 후에, 상기 반복에 이르기까지 축적된 소프트 정보를 바탕으로 하여 경판정(hard decision)이 이루어진다.
상기 로그 포스테리어 확률비는 다음과 같이 쓰여질 수 있다.
여기서 S+ 및 S- 는 각각 데이터 입력 uk = +1 및 uk = -1에 의해서 발생되는 모든 가능한 상태 전이(state transition)의 세트를 나타내고, y 는 감시(observations) 세트, 즉 y (y1,...,yk)를 나타내며, 여기서 yk=(uk', xk'), k = 1,...,K 이다. y∈(U', Xp1', Xp2')임을 주의하라.
일반적으로, 포스테리어 확률은 가중된 가능성(weighted likelihood)을 계산함으로써 달성될 수 있으며, 여기서 가중은 이벤트(event) uk 의 이전 가능성(prior probability)에 의해 제공된다. 가중된 가능성에 대한 직접적인 평가는 매우 큰 수의 상태 패턴들(state patterns)을 통한 합산을 요구하고, 그것은 시퀀스 길이(sequence length) K에 비례한다. 조합의 복잡성(combinatorial complexity) 때문에, 그것은 상기 시퀀스의 합리적인 길이에 대해서조차, 계산적으로는 적당하지 않다.
상기 계산을 줄이기 위해, 순방향 및 역방향 알고리즘으로 알려진, 효율적인 절차가 종종 이용된다. 이와 같은 알고리즘에서, 상기 포스테리어 확률 P(uk/y)는 다음의 3 개의 용어로 분해 된다.
- 순방향 변수, αk(.),
- 역방향 변수, βk(.),
- 상태 전이 확률, γk(.,.).
상기 αk(.)는 시간 k에서 상기 상태 및 감시 y1,...yK 의 결합 확률(joint probability)이며, αk(S)= P(Sk, y1,...,yK)이다. 상기 βk(.)는 시간 k 의 상태에 주어진 미래의 감시에 대한 조건부 확률(conditional probability)을 나타내며, βk(S)= P(y1,...,yK +1|Sk) 이다. 상기 γk(.,.)는 uk 에 의해서 발생되는 k-1 에서 k 까지 상태 전이에 대한 확률이며, γk(S',S) = P(Sk=S, yk|Sk -1 = S')으로 표현된다.
αk(S)에 대한 반복적인(recursive) 계산 절차는
의하여 구현된다.
βk(S)에 대하여, 상기 계산은 다음과 같이 반복적으로 진행된다.
상기 터보 인코더가 시작되어 상태 1에서 종결되는 것이 예상되기 때문에, αk(.) 및 βk(.)에 대한 초기 조건이 알려지고, 각각 αo(S)= δ{s, 1} 및 βk(S)= δ{s, 1} 로 주어지며, 여기서 δ{.,.} 는 크로네커 델타(Kronecker delta)를 나타낸다.
그 다음에 함수 f(αk(.),βk(.))로서 포스테리어 실체 L(uk)의 계산은 다음과 같게 된다.
여기서 S*는 uk = +1/-1 에 의해 발생되는 모든 상태 전이에 상응하는 상태 쌍 세트이며, P(y)는 표준화된 상수이다.
순방향 및 역방향 알고리즘의 절차는 다음과 같이 요약될 수 있다.
- γk(.,.), k= 1,2,...,K 를 계산;
- αk(.), k= 0,1,2,...,K 를 순방향으로 반복하여 계산;
- βk(.), k= K,K-1,...,0 를 역방향으로 반복하여 계산;
- (1)을 형성하도록 (2)를 계산.
본 발명은 로그 포스테리어 확률비(log posterior probability ratio) L(uk)을 이용하여 디코딩하는 방법이고, 상기 확률비는 순방향 변수 α(.) 및 역방향 변수 β(.)의 함수이다. 상기 방법은 상기 순방향 변수 α(.) 및 상기 역방향 변수 β(.)를 예를 들면 2 개의 세그먼트(segments) p 및 q 로 분리하는 것을 포함하며, 여기서 p+q 는 코드단어 U 의 길이와 같다. 상기 순방향 세그먼트 α(.)는 병렬로 계산되고, 상기 역방향 세그먼트 β(.)는 병렬로 계산된다. 상기 비(ratio) L(uk)은 α(.) 및 β(.)의 병렬로 계산된 세그먼트를 이용하여 계산된다. 제 1 순방향 세그먼트는 αo(.)로부터 시작하는 α1(.),...,αp(.)로부터 계산되고, 반면에 제 2 순방향 세그먼트는 예측된 αp(.)로부터 시작하는 αp+1(.),...,αK(.)로부터 계산된다. 제 1 역방향 세그먼트는 βq+1(.)로부터 시작하는 βK(.),...,βq+1(.)로부터 계산되고, 제 2 역방향 세그먼트는 예측된 βq+1(.)로부터 시작되는 βq(.),...,β1(.)로부터 계산된다.
예측된 초기 지점 αp+ 1(.)를 얻기 위하여, 상기 순방향 변수는 p-d+1로부터 반복적으로 계산되고, 여기서 d 는 임의 양의 시간(arbitrary amount of time)에 해당되고, 시간 p-d+1 에서의 상태는 균등 랜덤 변수(uniform random variable)로 다루어진다. 유사하게 βq+1에 대하여, 상기 역방향 변수는 q+d 로부터 계산되고, 시간 q+d 에서의 상태는 다시 균등 랜덤 변수로 다루어진다. 균등 랜덤 변수로서 시간 p-d+1 및 q+d 에서의 상태를 다루면서, 상기 시간에서의 상태에 대한 어떠한 유익한 사전 지식도 청구되지 않는다.
임의 양의 시간 d 는 1에서 20의 범위에 있거나 또는 15에서 20의 범위에 있을 수 있다. 또한 상기 예측된 확률에 대한 출발 지점은 사전에 결정된 상태가 될 수 있다. 이와 같은 사전에 결정된 상태는 다수의 가능한 상태로 분리된 하나가 될 수 있다.
상기 방법은 상기 순방향 변수 α(.) 및 상기 역방향 변수 β(.)를 2개 이상의 세그먼트로 분리하는 것을 포함할 수 있고, 각각의 상기 순방향 및 상기 역방향(reverse) 세그먼트들은 병렬로 계산된다.
상기 프로세스는 디코더를 포함하는 신호 수신기(signal receiver) 내에서 수행된다.
본 발명의 이와 같은 그리고 다른 특징들은 첨부된 도면과 결합하여 고려될 때, 다음의 본 발명에 대한 상세한 설명으로부터 명확하게 될 것이다.
표준 터보 디코딩 알고리즘(standard turbo decoding algorithm)의 한 문제점은 만약 입력 시퀀스 K의 사이즈가 크다면, 상기 순방향 및 상기 역방향 변수의 계산을 위해 필요한 시간이 늘어나고, 그것은 우리가 상기 순방향 및 상기 역방향 알고리즘을 통과할 때 긴 지연(long latency)을 일으킨다는 것이다. K 는 5114 비트에 이를 수 있다. αk(.) 및 βk(.)를 계산하는 시간을 줄이기 위해, 상기 입력 데이터는 M세그먼트로 분리되고, 동시에 상기 M 세그먼트에 대해서 αk(.) 및 βk(.)를 계산한다. 잘라버림 손실(truncation loss)은 이와 같은 세그먼트-기반 접근법(segment-based approach)과 함께 일어날 수 있다. 그러나 시뮬레이션 결과는 M=2 일 때 상기 손실은 무시할만하다는 것을 보여준다.
이론적으로, 이와 같은 병렬 방식은 상기 계산을 αk(.) 및 βk(.)에 대한 M 개의 최초 계산으로부터 거의 1 개로 줄였다(즉 M=2에 대해서 1/2). 상기 병렬 계산은 αk(.) 및 βk(.)에 대한 계산을 위한 것이며, 그것은 터보 디코더의 계산에 대한 가장 강력한 부분이다.
상기 병렬 알고리즘은 예로서 M=2 의 경우에 대하여 논의될 것이다. M>2에 대하여, 상기 알고리즘은 유사하다. 상기 알고리즘은 다음의 단계들로 구성된다.
1. 상기 순방향 및 상기 역방향 변수를 각각 사이즈 p 및 q 에 해당하는 2개의 병렬 세그먼트로 분리하는 단계로서, 여기서 p+q = K 인 단계.
2. 상기 4 개의 세그먼트를 다음의 4 개의 프로세스와 동시에 계산하는 단계.
- 프로세스 1: αo(.)로부터 시작하여 α1(.),...,αp(.)를 계산;
- 프로세스 2: 예측된 αp(.), 즉 αp'(.)로부터 시작하여 αp+1(.),...,αK(.)를 계산;
- 프로세스 3: βK(.)로부터 시작하여 βK(.),...,βq+ 1(.)를 계산(역방향으로); 및
- 프로세스 4: 예측된 βq+1, 즉 βq+1'(.)로부터 시작하여 βq(.),...,β1(.)를 계산(역방향으로).
프로세스 1 및 3 은 알려진 초기 지점을 가진(감소된 사이즈를 가진) 통상의 터보 알파 및 베타 계산으로서 실행되고, 프로세스 2 및 4 는 예측된 초기 지점을 필요로 한다.
다음의 알고리즘은 프로세스 2 에 대한 αp'(.) 및 프로세스 4 에 대한 βq+1'(.)를 얻기 위해 이용될 수 있다. 제 1 반복은 d가 임의 양의 시간 단계(arbitrary amount of time steps)에 해당하는 αp-d+1로부터 시작한다. 시간 p-d+1 에서의 상태는 균등 랜덤 변수로 취급된다. 이것은 상기 3GPP 터보 인코더가 8개의 시스템 상태를 가지기 때문에, p-d+1에서 발생하는 특정한 상태의 확률이 1/8 이라는 것을 암시한다. 결과적으로, αp-d+1 = 1/8 이고, βq+d(.)는 그대로이다. 이와 같은 균등 프라이어(uniform prior)로부터 시작하여, 상기 프로세스가 P 에 도달할 때, 상기 예측 αp'(.)가 발생하고, q+1에서 상기 예측 βq+1'(.)가 발생한다.
기간 d 동안 상기 감시(observation)로부터 추출되는 정보의 양은 d 에 비례한다. 더 긴 d 는 더 좋은 초기 예측을 제공할 수 있다. 그러나 d 단계동안의 계산은 “오버헤드(overhead)”를 나타내고, d 는 특정한 한계 이상으로 증가되어야 한다. 비록 d 는 1-20의 범위에 있을 수 있지만, 시뮬레이션은 d= 15~20 이 알맞은 결과를 제공한다는 것을 보여준다. 제 2 반복으로부터, αp-d+1(.) 및 βq+d(.)는 제 1 반복에 대한 것과 같은 방식으로 선택될 수 있거나, 또는 이전의 반복에서 이용될 수 있는 프로세스 1 및 프로세스 3으로부터 발생되는 값을 이용할 수 있다.
시뮬레이션 시나리오들은 SNR(신호 대 노이즈 비율)에 의해 규정된다. 각각의 시나리오에 대해서, 사이즈 5114 비트의 2000개 패킷들이 불규칙하게 발생되고, 터보 인코드되며, 그리고 AWGN 소음에 종속된다. 상기“손상된(spoiled)” 패킷들은 통상의 종래 기술 및 본 병렬 터보 디코더를 통해서 실행된다. 본 발명의 병렬 터보 디코더에 대하여, 분할 수(number of division) M=2 및 상기 병렬 알고리즘에서 초기 예측에 대한 길이 d=20, 그리고 현재의 반복의 초기 예측에 대한 시작 지점으로서 이전의 반복에 대한 적당한 값들이 이용된다.
도 3 및 도 4 는 다양한 SNR 하에서 통상의 터보 디코더 및 병렬 터보 디코더에 대한 BER(비트 에러 비율) 및 BLER(블록 에러 비율, 또는 패킷 에러 비율)을 비교한다. 상기 결과는 너무 밀접하여 그들은 그래프 상에서 구별될 수 없다.
비록 세그먼트의 수 M=2 가 예로서 이용되었다 할지라도, 더 큰 수의 M이 이용될 수 있다. 그와 같은 경우에, 상기 방정식은 다음과 같은 일반식(general formula)을 갖는다. L(uk)= f(αk(.), βk(.)). 예측된 출발점의 정의는 αp(.),...,αw(.) 및 βw(.),...,βq+1(.) 이 된다. 순방향 변수 세그먼트들은 다음과 같이 계산된다.
αo(.) 부터 시작하는 α1(.),...,αp(.)
αp(.) 부터 시작하는 αp+1(.),...,αq(.)
αw(.) 부터 시작하는 αw+1(.),...,αK(.)
그리고 역방향(reverse) 변수 세그먼트들은 다음과 같이 계산된다.
βK(.) 부터 시작하는 βK(.),...,βw+1(.)
βw+1(.) 부터 시작하는 βw(.),...,βv+1(.)
βq+1(.) 부터 시작하는 βq(.),...,β1(.)
순방향 변수에 대한 출발점은 다음으로부터 예측된다.
αp-d+1(.),...,αp(.) 그리고
αw-d+1(.),...,αw(.); 그리고
역방향 세그먼트들에 대해서는 다음으로부터 예측된다.
βw+d(.),...,βw(.) 그리고
βq+d(.),...,βq(.)
여기서 d 는 임의 양의 시간 단계이다.
비록 터보 디코더들이 논의되었지만, 상기 APP(A Posteriori Probability) 디코딩을 이용하는 어떤 시스템도 본 발명을 이용할 수 있다.
비록 본 발명은 상세하게 기술되고, 도시되었지만, 이것은 도시 및 예로서 이루어진 것이지 제한으로서 취해진 것은 아니라는 것을 또한 명확하게 이해하여야 한다. 본 발명의 사상 및 범위는 첨부된 청구항에 의해서만 제한될 수 있다.

Claims (20)

  1. L(uk)= f(αk(s), βk(s)) 인, 로그(log) APP(A Posteriori Probability) L(uk)를 터보 디코더(turbo decoder)가 이용하는 방법에 있어서, 상기 방법은
    순방향 변수 α(.) 및 역방향 변수 β(.) 를 p,q,...,w 사이즈의 병렬 세그먼트들(parallel segments)의 복수(plurality) M 으로 분할하는 단계로서, 여기서 p+q,...+w 는 코드화 된 단어(coded word) U 의 길이와 같은 상기 분할하는 단계;
    동시에 코드화된 단어 U 에 대한 순방향 변수 α(.) 및 역방향 변수 β(.) 의 세그먼트들을 병렬 계산하는 단계(parallel calculating); 및
    α(.) 및 β(.) 에 대한 상기 병렬 계산된 세그먼트들을 이용하여 L(uk)를 계산하는 단계를 포함하는 것을 특징으로 하는, 로그 APP L(uk)을 터보 디코더가 이용하는 방법.
  2. 제 1 항에 있어서, 상기 순방향 변수 세그먼트들은
    αo(.) 부터 시작하는 α1(.),...,αp(.)
    αp(.) 부터 시작하는 αp+1(.),...,αq(.)
    αw(.) 부터 시작하는 αw+1(.),...,αK(.)
    에 의해서 계산되고,
    역방향(reverse) 변수 세그먼트들은
    βK(.) 부터 시작하는 βK(.),...,βw+1(.)
    βw+1(.) 부터 시작하는 βw(.),...,βv+1(.)
    βq+1(.) 부터 시작하는 βq(.),...,β1(.)
    에 의해서 계산되는 것을 특징으로 하는, 로그 APP L(uk)을 터보 디코더가 이용하는 방법.
  3. 제 2 항에 있어서, 상기 출발점(starting points) αp(.),...,αw(.) 들이 예측되고, 상기 출발점 βw(.),...,βq+1(.) 들이 예측되는 것을 특징으로 하는, 로그 APP L(uk)을 터보 디코더가 이용하는 방법.
  4. 제 3 항에 있어서, 순방향 변수에 대한 상기 출발점들은
    αp-d+1(.),...,αp(.)
    αw-d+1(.),...,αw(.);
    로부터 예측되고,
    역방향 세그먼트들에 대해서는
    βw+d(.),...,βw(.)
    βq+d(.),...,βq(.)
    로부터 예측되며, 이때 d 는 임의 양의 시간 단계(arbitrary amount of time steps)인 것을 특징으로 하는, 로그 APP L(uk)을 터보 디코더가 이용하는 방법.
  5. 제 4 항에 있어서, d 는 1 에서 20 의 범위에 해당되는 것을 특징으로 하는, 로그 APP L(uk)을 터보 디코더가 이용하는 방법.
  6. 제 4 항에 있어서, d 는 15 에서 20 의 범위에 해당되는 것을 특징으로 하는, 로그 APP L(uk)을 터보 디코더가 이용하는 방법.
  7. 제 4 항에 있어서, 예측된 상태(estimated states)들에 대한 상기 출발점들은 균등 랜덤 변수(uniform random variables)인 것을 특징으로 하는, 로그 APP L(uk)을 터보 디코더가 이용하는 방법.
  8. 제 4 항에 있어서, 예측된 상태들에 대한 상기 출발점들은 사전에 결정된 상태인 것을 특징으로 하는, 로그 APP L(uk)을 터보 디코더가 이용하는 방법.
  9. 제 4 항에 있어서, 상기 예측된 상태들에 대한 출발점은 가능한 상태들(possible states)의 수로 분할된 하나에 해당하는 것을 특징으로 하는, 로그 APP L(uk)을 터보 디코더가 이용하는 방법.
  10. 제 1 항에 있어서, 상기 세그먼트 사이즈들은 동일하게 설정되는 것을 특징으로 하는, 로그 APP L(uk)을 터보 디코더가 이용하는 방법.
  11. 제 1 항에 있어서, 상기 변수들은 2 개의 세그먼트 p 및 q 로만 분할되는 것을 특징으로 하는, 로그 APP L(uk)을 터보 디코더가 이용하는 방법.
  12. L(uk)= f(αk(s), βk(s)) 인, 로그 APP L(uk)을 이용하여 디코딩(decoding)하는 방법에 있어서, 상기 방법은
    순방향 변수 α(.) 및 역방향 변수 β(.) 를 2 개의 세그먼트 p 및 q 로 분할하는 방법으로서, 이때 p+q 는 코드 단어 U 의 길이와 같은 상기 분할하는 방법;
    상기 순방향 세그먼트들을 병렬 계산하는 방법(parallel calculating)
    알려진 αo(.) 부터 시작하는 α1(.),...,αp(.) 및
    예측된 αp(.) 부터 시작하는 αp+1(.),...,αk(.);
    상기 역방향 세그먼트들을 병렬 계산하는 방법
    알려진 βK(.) 부터 시작하는 βK(.),...,βq+1(.) 및
    예측된 βq+1(.) 부터 시작하는 βq(.),...,β1(.); 그리고
    α(.) 및 β(.) 에 대한 상기 병렬 계산된 세그먼트들을 이용하여 L(uk)을 계산하는 방법을 포함하는 것을 특징으로 하는, 로그 APP L(uk)을 이용하여 디코딩 하는 방법.
  13. 제 12 항에 있어서, αp+1(.)에 대하여 예측된 출발점 αp(.)는 이전 확률(prior probabilities) αp-d+1(.),...,αp(.) 로부터 예측되고, βq(.) 에 대하여 예측된 출발점 βq+1(.)은 이전 확률 βq+p(.),...,βq+1(.) 로부터 예측되는 것을 특징으로 하는, 로그 APP L(uk)을 이용하여 디코딩 하는 방법.
  14. 제 13 항에 있어서, d 는 1 에서 20 의 범위에 해당되는 것을 특징으로 하는, 로그 APP L(uk)을 이용하여 디코딩 하는 방법.
  15. 제 13 항에 있어서, d 는 15 에서 20 의 범위에 해당되는 것을 특징으로 하는, 로그 APP L(uk)을 이용하여 디코딩 하는 방법.
  16. 제 13 항에 있어서, 예측된 상태들에 대한 출발점들은 균등 랜덤 변수인 것을 특징으로 하는, 로그 APP L(uk)을 이용하여 디코딩 하는 방법.
  17. 제 13 항에 있어서, 상기 예측된 상태들에 대한 출발점들은 사전에 결정된 변수인 것을 특징으로 하는, 로그 APP L(uk)을 이용하여 디코딩 하는 방법.
  18. 제 13 항에 있어서, 상기 예측된 상태들에 대한 출발점은 가능한 상태의 수로 분할된 하나에 해당하는 것을 특징으로 하는, 로그 APP L(uk)을 이용하여 디코딩 하는 방법.
  19. 제 1 항에 따른 방법을 수행하는 디코더를 포함하는 신호 수신기(signal receiver).
  20. 제 11 항에 따른 방법을 수행하는 디코더를 포함하는 신호 수신기.
KR1020057010237A 2002-12-06 2003-10-23 병렬 슬라이딩-윈도우 맵 디코딩 KR20050085400A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/310,919 2002-12-06
US10/310,919 US7055102B2 (en) 2002-12-06 2002-12-06 Turbo decoder using parallel processing

Publications (1)

Publication Number Publication Date
KR20050085400A true KR20050085400A (ko) 2005-08-29

Family

ID=32468135

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020057010237A KR20050085400A (ko) 2002-12-06 2003-10-23 병렬 슬라이딩-윈도우 맵 디코딩

Country Status (9)

Country Link
US (1) US7055102B2 (ko)
EP (1) EP1584140A1 (ko)
JP (1) JP2006509465A (ko)
KR (1) KR20050085400A (ko)
CN (1) CN1757166A (ko)
AU (1) AU2003283001A1 (ko)
MY (1) MY134531A (ko)
TW (1) TW200423550A (ko)
WO (1) WO2004054115A1 (ko)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100606023B1 (ko) * 2004-05-24 2006-07-26 삼성전자주식회사 고속 터보 복호화 장치
US7984365B2 (en) 2004-12-02 2011-07-19 St-Ericsson Sa Turbo decoder with stake heritage for data block redundant version decoding
US20070223599A1 (en) * 2005-07-25 2007-09-27 Sysair, Inc., A Delaware Corporation Cellular PC modem architecture and method of operation
US7929646B2 (en) * 2006-01-27 2011-04-19 Qualcomm Incorporated Map decoder with bidirectional sliding window architecture
US8344503B2 (en) 2008-11-25 2013-01-01 Freescale Semiconductor, Inc. 3-D circuits with integrated passive devices
KR101225016B1 (ko) * 2009-06-18 2013-01-22 지티이 코포레이션 Lte에서 병렬 터보 디코딩의 방법 및 장치

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6377610B1 (en) * 1997-04-25 2002-04-23 Deutsche Telekom Ag Decoding method and decoding device for a CDMA transmission system for demodulating a received signal available in serial code concatenation
CA2245601C (en) * 1997-08-14 2007-06-12 Stewart Crozier High-performance low-complexity error-correcting codes
US6563877B1 (en) * 1998-04-01 2003-05-13 L-3 Communications Corporation Simplified block sliding window implementation of a map decoder
US6128765A (en) * 1998-08-20 2000-10-03 General Electric Company Maximum A posterior estimator with fast sigma calculator
US6292918B1 (en) * 1998-11-05 2001-09-18 Qualcomm Incorporated Efficient iterative decoding
US6343368B1 (en) * 1998-12-18 2002-01-29 Telefonaktiebolaget Lm Ericsson (Publ) Method and system for fast maximum a posteriori decoding
DE69908820T2 (de) * 1998-12-18 2004-04-15 Telefonaktiebolaget L M Ericsson (Publ) Verfahren und system zur schnellen maximale-a-posteriori-dekodierung
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
US6304995B1 (en) * 1999-01-26 2001-10-16 Trw Inc. Pipelined architecture to decode parallel and serial concatenated codes
EP1030457B1 (en) * 1999-02-18 2012-08-08 Imec Methods and system architectures for turbo decoding
US6754290B1 (en) 1999-03-31 2004-06-22 Qualcomm Incorporated Highly parallel map decoder
US6715120B1 (en) * 1999-04-30 2004-03-30 General Electric Company Turbo decoder with modified input for increased code word length and data rate
US6980605B2 (en) * 2000-01-31 2005-12-27 Alan Gatherer MAP decoding with parallelized sliding window processing
US6856657B1 (en) * 2000-02-10 2005-02-15 Motorola, Inc. Soft output decoder for convolutional codes
US6829313B1 (en) * 2000-07-17 2004-12-07 Motorola, Inc. Sliding window turbo decoder
US6813743B1 (en) * 2000-07-31 2004-11-02 Conexant Systems, Inc. Sliding window technique for map decoders
US6865711B2 (en) * 2000-12-15 2005-03-08 Conexant Systems, Inc. System of and method for decoding trellis codes
US6952457B2 (en) * 2000-12-29 2005-10-04 Motorola, Inc. Method and system for adapting a training period in a turbo decoding device

Also Published As

Publication number Publication date
AU2003283001A8 (en) 2004-06-30
US7055102B2 (en) 2006-05-30
JP2006509465A (ja) 2006-03-16
EP1584140A1 (en) 2005-10-12
AU2003283001A1 (en) 2004-06-30
CN1757166A (zh) 2006-04-05
WO2004054115A8 (en) 2004-09-16
US20040111659A1 (en) 2004-06-10
MY134531A (en) 2007-12-31
WO2004054115A1 (en) 2004-06-24
TW200423550A (en) 2004-11-01

Similar Documents

Publication Publication Date Title
EP1221772B1 (en) Pre-decoder for a turbo decoder, for recovering punctured parity symbols, and a method for recovering a turbo code
EP1841116B1 (en) Decoding method for tail-biting convolutional codes using a search-depth Viterbi algorithm
US7454684B2 (en) Apparatus and method for turbo decoder termination
US7657819B2 (en) Method and apparatus for termination of iterative turbo decoding
US20040005019A1 (en) Turbo decoder employing max and max* map decoding
JP4227481B2 (ja) 復号装置および復号方法
KR20010080950A (ko) 격자 상태 메트릭 정규화 시스템
JP3926101B2 (ja) 通信システムでの反復デコーダに対する量子化方法
KR100841295B1 (ko) 터보 코드 디코딩 방법 및 디코더
KR20050085400A (ko) 병렬 슬라이딩-윈도우 맵 디코딩
Papaharalabos et al. SISO algorithms based on Max-Log-MAP and Log-MAP turbo decoding
JP2006509465A5 (ko)
JP2006507736A (ja) Fec復号化における消失判定手順
CN110798229B (zh) 一种Turbo码交织器的产生方法
WO2005055433A1 (ja) 復号装置及び復号方法
Ahmed et al. Viterbi algorithm performance analysis for different constraint length
Wu et al. Combining iterative SOVA and Log-MAP algorithms for turbo decoding
US9136880B2 (en) Method for stopping iteration in an iterative turbo decoder and an iterative turbo decoder
CN108616331B (zh) 一种基于lte的无线通信***解码方法
Mousa et al. Implementation of soft decision viterbi decoder based on a digital signal processor
Jia et al. Error restricted fast MAP decoding of VLC
Shim et al. A novel metric representation for low-complexity log-MAP decoder
CN116896427A (zh) 一种高效的TurboFSK译码迭代方法
Tan et al. A Novel Stopping Criterion for LTE-A High Speed Turbo Decoder
Liu et al. Iterative Joint Source Channel Decoding of Error Correction Arithmetic Codes

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
N234 Change of applicant [patent]: notification of change of applicant and registration of full transfer of right
E601 Decision to refuse application