KR100905982B1 - Map 디코더용 파이프라인 구조 - Google Patents

Map 디코더용 파이프라인 구조 Download PDF

Info

Publication number
KR100905982B1
KR100905982B1 KR1020077011715A KR20077011715A KR100905982B1 KR 100905982 B1 KR100905982 B1 KR 100905982B1 KR 1020077011715 A KR1020077011715 A KR 1020077011715A KR 20077011715 A KR20077011715 A KR 20077011715A KR 100905982 B1 KR100905982 B1 KR 100905982B1
Authority
KR
South Korea
Prior art keywords
calculated
metric
delete delete
map
posteriori
Prior art date
Application number
KR1020077011715A
Other languages
English (en)
Other versions
KR20070064678A (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 KR20070064678A publication Critical patent/KR20070064678A/ko
Application granted granted Critical
Publication of KR100905982B1 publication Critical patent/KR100905982B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • 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/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/3972Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using sliding window techniques or parallel windows
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/65Purpose and implementation aspects
    • H03M13/6502Reduction of hardware complexity or efficient processing
    • H03M13/6505Memory efficient implementations

Abstract

본 발명의 파이프라인식 MAP(Maximum A Posteriori) 디코더 구조에서의 슬라이딩 윈도우 방법은 처리 시간을 감소시키기 위해 변경된다. 순방향 메트릭이 디코더의 제1 슬라이딩 윈도우에 대해서 계산되면, 다음 윈도우에 대한 순방향 메트릭이 계산되는 동안 각 윈도우에 대한 역방향 메트릭이 계산된다. 각각의 새로운 순방향 메트릭이 계산되어 메모리(14) 내에 저장됨에 따라 이전의 윈도우로부터의 순방향 메트릭은 외부값의 계산시에 계산되는 역방향 메트릭과 함께 사용하기 위해서 메모리(14)로부터 판독된다. 외부값의 계산시에 사용하기 위한 각 순방향 메트릭은 새로운 순방향 메트릭이 동일한 메모리 위치에 기록되는 동일한 클록 에지 상의 메모리로부터 판독된다. 이와 같은 구조가 터보 디코더의 용도로 개발되고 있을지라도, 모든 컨볼루션 코드들은 본 발명의 MAP 알고리즘을 사용할 수 있다.

Description

MAP 디코더용 파이프라인 구조 {PIPELINE ARCHITECTURE FOR MAXIMUM A POSTERIORI(MAP) DECODERS}
도 1은 종래 기술의 에러 정정 알고리즘 구조의 시간선의 일례를 도시한다.
도 2는 슬라이딩 윈도우를 사용해서 순방향 메트릭 및 역방향 메트릭이 계산되는 종래 기술의 에러 정정 알고리즘 구조의 시간선의 제2 예를 도시한다.
도 3은 본 발명의 에러 정정 알고리즘 구조가 상주할 수 있는 터보 디코더의 블록도이다.
도 3a는 순방향 메트릭 계산과 역방향 메트릭 계산이 서로 반대가 되는 다른 터보 디코더의 블록도이다.
도 4는 본 발명의 에러 정정 알고리즘 구조의 시간선을 도시하는 도면이다.
본 발명은 에러 검출(error detection) 및 에러 정정(error correction) 알고리즘 처리 분야에 관한 것으로서, 특히 본 발명은 MAP(Maximum A Posteriori) 알고리즘을 처리하는 데 효율적인 파이프라인식 구조(pipelined architecture)에 관한 것이다.
터보 디코더(Turbo Decoder) 알고리즘과 같은 일부 에러 정정 알고리즘은 MAP 알고리즘의 변화를 이용해서 노이즈에 의해 손상된 부호화 비트 시퀀스로부터 정보 비트의 시퀀스를 재생시킨다. 상기 MAP 알고리즘에 의해 요구되는 계산의 반복적인 특성은 실시하는 데 비용이 많이 들게 된다.
예컨대, 도 1은 Aforward@metrics 세트 및 Abackward@metrics 세트의 함수로서 상기 MAP 알고리즘에 의한 시퀀스 출력을 예시한다. 그러나, 각 순방향 메트릭(k)은 이전의 순방향 메트릭(k-1)의 함수이고, 각 역방향 메트릭(k-1)은 다음 역방향 메트릭(k)의 함수이다. 도 1의 시간선도(timeline diagram)에 예시된 바와 같이, 이 알고리즘을 실행하는 구조는 출력이 계산되는 동안 다른 메트릭 세트가 계산될 수 있도록 모든 순방향 메트릭이나 모든 역방향 메트릭 중 어느 하나를 유지하는 데 충분히 큰 버퍼를 필요로 하며, 그 설계는 대기 시간이 복호화에 필요한 블럭 크기의 대략 2배에 비례하는 디코더로 유도된다.
상기 MAP 알고리즘에 요구되는 버퍼 크기를 저감하기 위한 노력의 일환으로, 소위 슬라이딩 윈도우 알고리즘이라 칭하는 MAP 알고리즘의 변형된 버전이 개발되고 있다. 역방향 메트릭 계산에 있어서 작은 근사값을 구성하는 것에 의해 슬라이딩 윈도우 알고리즘 방법은 요구되는 메트릭 버퍼의 크기를 저감한다. 이는 수신된 시퀀스를 윈도우로 분할한 후, 각 윈도우를 처리함으로써 달성된다.
도 2는 데이터가 2 개의 윈도우로 분할되었을 때 슬라이딩 윈도우 계산이 어떻게 실시되는지에 대한 시간선을 예시하고 있다. 테일(tail) 및 학습 크기(learn size)의 길이는 통상적으로 처리되는 데이터량과 비교해서 매우 작다. 윈도우 크기가 학습 윈도우의 크기와 비교해서 상대적으로 크게 되는 한 디코더를 통한 대기 시간이 상당히 증가되지는 않지만, 순방향 메트릭을 유지하는 데 필요한 버퍼의 크기는 현저하게 감소되는 점은 명확한 사실이다.
따라서, 본 발명의 목적은 MAP 알고리즘의 실시와 관련된 대기 시간과 비용의 양자 모두의 저감을 도모하는 데 있다.
본 발명의 파이프라인식 MAP 디코더 구조에서는 슬라이딩 윈도우 방법은 그 처리 시간을 감소시키기 위하여 변형된다. 순방향 메트릭이 제1 윈도우에 대해서 계산되면, 다음 윈도우에 대한 순방향 메트릭이 계산되는 동안 각 윈도우에 대한 역방향 메트릭이 계산된다. 각각의 새로운 순방향 메트릭이 계산되어 메모리 내에 저장됨에 따라 이전의 윈도우로부터의 순방향 메트릭은 새로운 역방향 메트릭이 계산될 수 있도록 메모리로부터 판독된다. 이전의 윈도우로부터의 각 순방향 메트릭은 다음 윈도우에 대한 새로운 순방향 메트릭이 동일한 메모리 위치에 기록되는 동일한 클록 에지 상의 메모리로부터 판독된다. 이러한 방식으로 순방향 메트릭을 메모리에 판독 및 기록하는 것에 의해 순방향 메트릭 버퍼의 크기는 증가시킬 필요가 없게 된다. 또한, 파이프라인식 계산은 데이터가 2개의 윈도우로 분할되는 경우에 실시될 수도 있다. 이러한 구조가 터보 디코더의 용도로 개발되었을지라도, 상기 MAP 알고리즘의 버전을 사용하는 임의의 디코더라도 상기 구조에 사용할 수 있다. 상기 파이프라인식 슬라이딩 윈도우 구조는 처리 시간을 감소시킨다. 동일한 처리 량을 실현하기 위해서는 상기 표준 슬라이딩 윈도우 구조를 상당히 높은 클록 속도로 구동시킬 필요가 있다.
이하에서는 첨부된 보면을 참조하여 동일한 구성 요소에는 동일한 참조 번호를 부여해서 본 발명을 상세히 설명할 것이다.
본 발명의 도 3은 본 발명의 파이프라인식 디코더 구조가 상주할 수 있는 터보 디코더의 블록도이다. 본 발명의 파이프라인식 MAP 디코더 구조에서는 슬라이딩 윈도우 방법은 그 처리 시간을 감소시키기 위하여 변형된다. 도 4는 본 발명에 의해 달성되는 시간선을 도시한다. 순방향 메트릭이 제1 윈도우에 대해서 계산되면, 다음 윈도우에 대한 순방향 메트릭이 계산되는 동안 각 윈도우에 대한 역방향 메트릭이 계산된다. 각각의 새로운 순방향 메트릭이 계산되어 메모리 내에 저장됨에 따라 이전의 윈도우로부터의 순방향 메트릭은 새로운 역방향 메트릭이 계산될 수 있도록 메모리로부터 판독된다. 각 순방향 메트릭은 새로운 순방향 메트릭이 기록되는 것과 동일한 클록 엣지 상에서 메모리로부터 판독되며, 새로운 순방향 메트릭은 동일한 메모리 위치에 기록된다. 이러한 방식으로 순방향 메트릭을 메모리에 판독 및 기록하는 것에 의하여 순방향 메트릭 버퍼의 크기는 증가시킬 필요가 없게 된다.
도 3은 본 발명의 원리 및 기술을 통합한 터보 디코더의 일 실시예의 블록도를 나타낸다.
터보 디코더(10)는 예를 들어 각 데이터 비트(A1@ 또는 A0@)를 3 개의 비트, 즉 데이터 또는 시스템적 비트(s), 제1 패리티 비트(p1) 및 제2 패리티 비트(p2)[이하, sp1p2라 칭함]로 변환하는 기지국(BS; Base Station)과 같은 전송 설비 로부터 데이터를 수신한다. 상기 sp1p2 데이터는 메모리 레지스터(12)로 인가되는데, 상기 메모리 레지스터(12)는 이하에서 보다 상세히 설명되는 외부 메모리(14)로부터 판독된 외부 데이터(extrinsic data) 및 인터리브 어드레스 생성기(16)로부터 획득된 어드레스를 수신한다. 따라서, 메모리 레지스터(12)는 sp1p2 데이터, 라인 14a에 나타낸 외부 데이터(extrin_data_out) 및 라인 16a에 나타낸 외부 데이터가 위치하는 어드레스(extrin_read_addr.)를 초기에 수신해서 저장한다. 상기 어드레스는 이하에서 보다 상세히 설명하기 위한 목적으로 계산을 통한 상기 sp1p2 데이터와 함께 수반된다.
상기 splp2 데이터는 메모리 레지스터(12)로부터 감마.() 계산기(18)로 전송되고, 국부 메모리(20)에 추가로 저장된다.
통상적인 터보 디코더에서와 같이, 3가지 수량, 즉 알파.(), 베타.() 및 감마.()가 정의된다. 특정 상태 및 특정 시간 스텝에 대해서는 터보 디코더가 그 특정 상태에 있거나 그 특정 시간 스텝에 있을 확률을 정의하는 값을 갖는다. 알파는 시간 k=1로부터 귀납적 개시 및 시간 내에 순방향 이동이 유도된다. 그 값은 유사하지만, 시간 내에 역방향으로 움직인다. 감마.()는 터보 디코더가 소정 시간의 상태로부터 다음 후속 시간 증분의 일부 허용된 상태로 이동할 수 있는 전이 확률(transition probability)로서 정의된다. 알파.()는 감마.()에 의해 표시된 상태 전이 확률에 기초하여 트렐리스(Trellis)로 모든 상태에 대해 계산될 수 있다. 감마.() 계산기(18)에서 실행된 감마.() 계산은 레지스터(22)에 저장된다. 계산 단(24, 26)은 각각 각 알파를 계산하고 상기 알파 계산을 표준화한다. 각 알파.() 값은 입력단(24b)으로 제공된 이전의 계산된 알파값 뿐만 아니라 레지스터(22)로부터의 입력에 기초하여 계산되어, 계산 단(26)으로부터 8개의 계산된 값을 유지하는 멀티플렉서(28) 및 레지스터(30)를 통해 출력된다. 레지스터(30)의 출력은 제1 메모리 위치(32a)에서의 제1 계산된 알파 값을 저장하는 알파 메모리(32)의 입력에 결합되고, 그 계산된 알파값을 입력단(24b)으로 제공한다.
계산을 초기화하고, 그 초기 상태에서 동작을 개시하도록 하기 위해서, 초기의 8개의 알파 메트릭은 계산 단(24, 26)에서 8개의 알파 값을 계산하기 위해 멀티플렉서(28)의 초기화된 입력단(28a)에 인가되는 일부 초기값으로 설정된다. 전술한 바와 같이, 상기 sp1p2 데이터는 국부 메모리(20)에 저장된다.
초기에, 모든 알파 값이 계산되면, 베타 값은 베타에 대한 역방향 일반 공식에 필요한 계산을 실행하기 위해 국부 메모리(20)로부터의 역방향 순서[즉, 후입 선출(A last-in, first-out) order@]로 판독되는 sp1p2 데이터의 이용에 의하여 계산된다. 상기 sp1p2 데이터로서 국부 메모리(20)의 최종 판독은 레지스터(34)로 판독되는데, 상기 레지스터(34)는 상기 sp1p2 데이터 뿐만 아니라 외부값(extrinsic value; 초기 단 연산인 경우에는 0임) 및 그 초기 외부값이 외부 메모리(14)에 위치하는 메모리 위치를 표시하는 데이터를 포함한다. 상기 sp1p2 데이터인 외부 데이터는 감마 계산 단(36)에서 계산을 수행한다. 감마 계산 단(36)의 출력은 감마 레지스터(38, 40)에 인가된다. 베타 계산은 베타 계산 단(44) 및 베타 표준화 단(46)에 의해 각각 실시된다. 초기에, 이진수 1(A1@)의 개시 조건은 멀티플렉서(42)의 입력단(42a)에 인가된다. 표준화된 베타 계산은 최종 계산된 입력을 멀티플렉서(42)의 입력단(42b)에 추가로 인가하는 출력 레지스터(48)를 통해 외부값 계산 단(50)으로 초기에 인가된다. 외부값 계산 단(50)은 입력단(50a)에서 수신된 레지스터(52)에 대한 알파값, 입력단(50b)에서 수신된 레지스터(38)로부터의 감마값 및 입력단(50c)에서 수신된 레지스터(48)로부터의 베타값을 조사함으로써 각각의 시간 상태 k에 대한 외부값을 계산한다. 레지스터(48, 52, 38)는 외부값 계산 단(50)에서의 신호의 시간 등록을 보장하기 위해 제공된다.
제1 외부값 계산 단(50)에 의해 계산된 중간값은 그 내용을 외부값 계산기의 제2 외부값 계산 단(56)으로 전달하는 레지스터(54)에 인가된다.
전술한 바와 같이, 레지스터(34)는 그 내용을 레지스터(58)로 전달하고, 이 레지스터(58)는 그 내용을 레지스터(60)로 전달하며, 상기 레지스터(60)의 내용은 제2 외부값 계산 단(56)의 출력으로 나타나는 외부값으로부터 감산되고, 이 감산 단는 감산 회로(62)에서 실시된다.
상기 제2 외부값 계산 단(56)에서 획득된 외부값은 이 제2 외부값 계산 단(56)의 출력을 수신하는 이진 상태 판정 회로(64)로 구성된 SIHO(soft-in-hard-out) 회로(64)에 추가로 인가된다. SIHO 회로(64) 내의 회로(66)의 연산은 이하에서 보다 상세히 설명할 것이다.
차 회로(difference circuit)(62)에서 출력되는 차이값은 레지스터(68)에 인가되는데, 상기 레지스터(68)는 외부값 계산을 외부 메모리(14)의 외부 데이터(14b)(즉, extrin_data_in)로서 인가한다. 전술한 바와 같이, 국부 메모리(20)는 데이터, 패리티 및 외부값을 저장하는 것 이외에도 외부 메모리(14)의 제1 외부값 어드레스를 추가로 저장하고, 이 어드레스는 메모리 레지스터(34) 및 외부값 계산이 저장되는 외부 메모리(14)의 위치를 제공하는 시간 동기화 레지스터(70, 72, 74)를 통해 연속해서 결합되며, 상기 메모리 위치 데이터는 외부 메모리(14)의 외부 데이터(14b)로서 인가한다.
도 2에 도시된 예를 참조하여 이하에서 설명하는 바와 같이, 알파를 결정하는 계산의 1/2은 제1 타임 윈도우 k/2의 기간 동안 실시된다.
역방향 메트릭.()의 계산은 제1 윈도우의 최종 1/2(k/2)의 기간 동안 실시된다. 알파값은 그들이 저장되는 역방향 순서로 알파 메모리(32)로부터 판독된다. 윈도우 2에 대한 순방향 메트릭(도 4 참조)의 기간 동안 계산된 알파값은 윈도우 1의 기간 동안 계산된 알파값이 외부값을 계산하기 위한 목적으로 판독되는 메모리 위치에 동시에 저장되며, 이로써 도 3의 실시예에서 메모리 용량을 1/2만큼 감소시킨다. 새로 계산된 알파값이 제1 윈도우의 기간 동안 계산된 순서와 역순으로 저장되는 점에 주목할 필요가 있다.
각각의 후속되는 윈도우 계산 쌍에 있어서, 실시되는 다수의 계산은 외부값을 계산하는 다수의 소망의 반복 함수이고, 알파 메모리(32)의 알파값의 판독 및 기록 순서는 서로 반전되어, 이전에 계산된 알파값은 최종 메모리 위치에서 제1 메모리 위치의 저장 순서로 판독되며, 상기 알파값은 제1 메모리 위치에서 최종 메모리 위치의 역순으로 판독되고, 또한 상기 알파값은 순방향 메트릭에 대한 제2 반복의 윈도우 2에서 결정되며, 계산 단(24, 26)에서 계산된 새로운 값들은 알파값이 판독되는 위치와 동일한 위치에서 판독된다.
전술한 바와 같이, 외부값이 계산될 때, 즉 제1 반복이 완료되면, 이 외부값은 외부 메모리(14)에서 판독되고, 다음 반복의 계산 중에 사용된다. 설명의 간소화의 목적으로 도시하지 않은 종래의 제어 회로는 실시되는 다수의 반복을 결정한다.
전술한 바와 같이, 각 외부값이 결정됨에 따라서 각각의 외부값은 그 진폭을 조사함으로써 각 데이터 비트가 A1@이거나 또는 A0@인지 여부를 결정하는 회로(66)에 인가되는데, 여기서, 특정 임계치 이상인 경우에는 A1@가 되도록 결정되고, 특정 임계치 이하인 경우에는 A0@가 되도록 결정된다. 이와 같이 달성된 값은 레지스터(76)에 인가되고, 레지스터(74)로부터 유도된 외부값 메모리 위치와 함께 합병되어, 합병 회로(78)에 인가된다. 출력 비트는 메모리(84)에 기록된다. SIHO 회로(64)는 각 행이 16 비트 폭인 메모리 위치에 각 비트를 기록한다. 합병 회로(78), 멀티플렉서 회로(80) 및 출력 메모리 판독 레지스터(82)는 이진 상태 판정 회로(66)에 의하여 평가된 16 데이터 비트를 저장함으로써 각 메모리 위치의 전체 16개의 이진 비트를 이용하기 위하여 동작한다.
도 3에 도시된 실시예가 제1 윈도우 기간 동안 알파가 계산되고 상기 제1 윈도우의 후반부의 기간 동안 베타가 계산되는 실시 형태를 개시하고 있을지라도, 상기 알파 계산 및 베타 계산은 도 1에 도시된 실시예에 대한 전체 이점을 여전히 유도하는, 즉 최근의 기술 및 장치와 비교해서 도 3의 터보 디코더에 대한 메모리 요구의 50% 저감 뿐만 아니라 계산 시간의 현저한 저감을 유도할 수 있는 한 도 3a에 도시된 바와 같이 서로 반전될 수 있음을 이해할 수 있다. 본 발명의 구조는 메모 리 크기의 추가적인 저감을 가능하게 한다. 예를 들어, 3개의 윈도우, 4개의 윈도우 등을 사용해서 데이터를 처리하면, 메모리 크기의 추가적인 저감을 제공할 수 있다. 예컨대, 4개의 윈도우를 사용하면, 윈도우를 사용하지 않는 처리와 비교해서 메모리 크기가 3인 메모리 크기가 된다.
도 4는 2개의 윈도우로 데이터가 분할되는 경우에 파이프라인 계산이 어떻게 실시되는지를 도시한다. 학습 윈도우의 크기 및 다수의 테일 비트를 무시하면, 이 예에서 파이프라인식 슬라이딩 윈도우 디코더를 통한 대기 시간은 간단한 슬라이딩 윈도우 구조에서의 2 K와 대향되는 12 K에 비례한다. 처리에 필요한 데이터량에 따른 윈도우 크기, 윈도우 수 및 학습 크기를 변경함으로써 대기 시간을 저감할 수 있다.
전술한 구조가 비록 터보 디코더의 용도로 개발되고 있을지라도, 모든 컨볼루션 코드들은 MAP 디코더를 사용할 수 있다. 순방향 메트릭의 계산은 역방향 메트릭 전후에 계산될 수 있다. 역방향 메트릭이 먼저 계산된 후, 출력 계산이 실시되는 동안 순방향 메트릭이 계산될 수 있다. 이는 예를 들어 도 3a의 실시예에 의해 도시된 바와 같이 달성될 수 있는데, 계산 블럭 241 은 베타 계산기이고; 계산 블럭 24 는 베타 표준화 계산 블럭이며, 메모리 321 은 베타 메모리이고; 계산 블럭 441 은 알파 계산 블럭이며, 계산 블럭 461 은 알파 표준화 계산 블럭이다.
도 3a의 실시예의 동작과 관련해서 그밖의 다른 점에 있어서는 도 3의 실시예의 동작과 실질적으로 동일하다.
이상 설명한 바와 같이 본 발명에 따르면 MAP 알고리즘의 실시와 관련된 대기 시간과 비용의 양자 모두의 저감을 도모할 수 있다.

Claims (39)

  1. 귀납적인 MAP(Maximum A Posteriori) 알고리즘의 처리 시간을 감소시키는 방법에 있어서,
    제1 반복계산(iteration)으로부터의 제1의 계산된 순방향 메트릭을 메모리 위치에 저장하는 단계와;
    상기 메모리 위치로부터 상기 제1의 계산된 순방향 메트릭을 판독하는 단계와;
    상기 제1의 계산된 순방향 메트릭에 기초하여 제2 반복계산에서 사용하기 위한 외부값(extrinsic value)을 계산하는 단계와;
    상기 제2 반복계산으로부터의 제2의 계산된 순방향 메트릭을 상기 메모리 위치에 저장하는 동시에, 상기 외부값을 계산하기 위해 상기 제1의 계산된 순방향 메트릭을 판독하는 단계
    를 포함하는, 귀납적인 MAP(Maximum A Posteriori) 알고리즘의 처리 시간을 감소시키는 방법.
  2. 귀납적인 MAP(Maximum A Posteriori) 알고리즘의 처리 시간을 감소시키는 방법에 있어서,
    제1 반복계산(iteration)으로부터의 제1의 계산된 역방향 메트릭을 메모리 위치에 저장하는 단계와;
    상기 메모리 위치로부터 상기 제1의 계산된 역방향 메트릭을 판독하는 단계와;
    상기 제1의 계산된 역방향 메트릭에 기초하여 제2 반복계산에서 사용하기 위한 외부값을 계산하는 단계와;
    상기 제2 반복계산으로부터의 제2의 계산된 역방향 메트릭을 상기 메모리 위치에 저장하는 동시에, 상기 외부값을 계산하기 위해 상기 제1의 계산된 역방향 메트릭을 판독하는 단계
    를 포함하는, 귀납적인 MAP(Maximum A Posteriori) 알고리즘의 처리 시간을 감소시키는 방법.
  3. 귀납적인 MAP(Maximum A Posteriori) 알고리즘의 처리 시간을 감소시키도록 구성된 터보 MAP(Maximum A Posteriori) 디코더에 있어서,
    제1 반복계산(iteration)으로부터의 제1의 계산된 순방향 메트릭을 메모리 위치에 저장하고,
    상기 메모리 위치로부터 상기 제1의 계산된 순방향 메트릭을 판독하고,
    상기 제1의 계산된 순방향 메트릭에 기초하여 제2 반복계산에서 사용하기 위한 외부값을 계산하고,
    상기 제2 반복계산으로부터의 제2의 계산된 순방향 메트릭을 상기 메모리 위치에 저장하는 동시에, 상기 외부값을 계산하기 위해 상기 제1의 계산된 순방향 메트릭을 판독하는 것
    에 의하여, 귀납적인 MAP(Maximum A Posteriori) 알고리즘의 처리 시간을 감소시키도록 구성된 것인 터보 MAP(Maximum A Posteriori) 디코더.
  4. 귀납적인 MAP(Maximum A Posteriori) 알고리즘의 처리 시간을 감소시키도록 구성된 터보 MAP(Maximum A Posteriori) 디코더에 있어서,
    제1 반복계산(iteration)으로부터의 제1의 계산된 역방향 메트릭을 메모리 위치에 저장하고,
    상기 메모리 위치로부터 상기 제1의 계산된 역방향 메트릭을 판독하고,
    상기 제1의 계산된 역방향 메트릭에 기초하여 제2 반복계산에서 사용하기 위한 외부값을 계산하고,
    상기 제2 반복계산으로부터의 제2의 계산된 역방향 메트릭을 상기 메모리 위치에 저장하는 동시에, 상기 외부값을 계산하기 위해 상기 제1의 계산된 역방향 메트릭을 판독하는 것
    에 의하여, 귀납적인 MAP(Maximum A Posteriori) 알고리즘의 처리 시간을 감소시키도록 구성된 것인 터보 MAP(Maximum A Posteriori) 디코더.
  5. 귀납적인 MAP(Maximum A Posteriori) 알고리즘의 메모리 요건들을 감소시키는 방법에 있어서,
    제1 반복계산(iteration)으로부터의 제1의 계산된 순방향 메트릭을 메모리 위치에 저장하는 단계와;
    상기 메모리 위치로부터 상기 제1의 계산된 순방향 메트릭을 판독하는 단계와;
    상기 제1의 계산된 순방향 메트릭에 기초하여 제2 반복계산에서 사용하기 위한 외부값을 계산하는 단계와;
    상기 제2 반복계산으로부터의 제2의 계산된 순방향 메트릭을 상기 메모리 위치에 저장하는 동시에, 상기 외부값을 계산하기 위해 상기 제1의 계산된 순방향 메트릭을 판독하는 단계
    를 포함하는, 귀납적인 MAP(Maximum A Posteriori) 알고리즘의 메모리 요건들을 감소시키는 방법.
  6. 귀납적인 MAP(Maximum A Posteriori) 알고리즘의 메모리 요건들을 감소시키는 방법에 있어서,
    제1 반복계산(iteration)으로부터의 제1의 계산된 역방향 메트릭을 메모리 위치에 저장하는 단계와;
    상기 메모리 위치로부터 상기 제1의 계산된 역방향 메트릭을 판독하는 단계와;
    상기 제1의 계산된 역방향 메트릭에 기초하여 제2 반복계산에서 사용하기 위한 외부값을 계산하는 단계와;
    상기 제2 반복계산으로부터의 제2의 계산된 역방향 메트릭을 상기 메모리 위치에 저장하는 동시에, 상기 외부값을 계산하기 위해 상기 제1의 계산된 역방향 메트릭을 판독하는 단계
    를 포함하는, 귀납적인 MAP(Maximum A Posteriori) 알고리즘의 메모리 요건들을 감소시키는 방법.
  7. 귀납적인 MAP(Maximum A Posteriori) 알고리즘의 메모리 요건들을 감소시키도록 구성된 터보 MAP(Maximum A Posteriori) 디코더에 있어서,
    제1 반복계산(iteration)으로부터의 제1의 계산된 순방향 메트릭을 메모리 위치에 저장하고,
    상기 메모리 위치로부터 상기 제1의 계산된 순방향 메트릭을 판독하고,
    상기 제1의 계산된 순방향 메트릭에 기초하여 제2 반복계산에서 사용하기 위한 외부값을 계산하고,
    상기 제2 반복계산으로부터의 제2의 계산된 순방향 메트릭을 상기 메모리 위치에 저장하는 동시에, 상기 외부값을 계산하기 위해 상기 제1의 계산된 순방향 메트릭을 판독하는 것
    에 의하여, 귀납적인 MAP(Maximum A Posteriori) 알고리즘의 메모리 요건들을 감소시키도록 구성된 것인 터보 MAP 디코더.
  8. 귀납적인 MAP(Maximum A Posteriori) 알고리즘의 메모리 요건들을 감소시키도록 구성된 터보 MAP(Maximum A Posteriori) 디코더에 있어서,
    제1 반복계산(iteration)으로부터의 제1의 계산된 역방향 메트릭을 메모리 위치에 저장하고,
    상기 메모리 위치로부터 상기 제1의 계산된 역방향 메트릭을 판독하고,
    상기 제1의 계산된 역방향 메트릭에 기초하여 제2 반복계산에서 사용하기 위한 외부값을 계산하고,
    상기 제2 반복계산으로부터의 제2의 계산된 역방향 메트릭을 상기 메모리 위치에 저장하는 동시에, 상기 외부값을 계산하기 위해 상기 제1의 계산된 역방향 메트릭을 판독하는 것
    에 의하여, 귀납적인 MAP(Maximum A Posteriori) 알고리즘의 메모리 요건들을 감소시키도록 구성된 것인 터보 MAP 디코더.
  9. 삭제
  10. 삭제
  11. 삭제
  12. 삭제
  13. 삭제
  14. 삭제
  15. 삭제
  16. 삭제
  17. 삭제
  18. 삭제
  19. 삭제
  20. 삭제
  21. 삭제
  22. 삭제
  23. 삭제
  24. 삭제
  25. 삭제
  26. 삭제
  27. 삭제
  28. 삭제
  29. 삭제
  30. 삭제
  31. 삭제
  32. 삭제
  33. 삭제
  34. 삭제
  35. 삭제
  36. 삭제
  37. 삭제
  38. 삭제
  39. 삭제
KR1020077011715A 2001-09-06 2002-04-15 Map 디코더용 파이프라인 구조 KR100905982B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US31785501P 2001-09-06 2001-09-06
US60/317,855 2001-09-06
US10/037,609 2002-01-02
US10/037,609 US6961921B2 (en) 2001-09-06 2002-01-02 Pipeline architecture for maximum a posteriori (MAP) decoders

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020057015588A Division KR100887263B1 (ko) 2001-09-06 2002-04-15 Map 디코더용 파이프라인 구조

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020077028814A Division KR20080003013A (ko) 2001-09-06 2002-04-15 Map 디코더용 파이프라인 구조

Publications (2)

Publication Number Publication Date
KR20070064678A KR20070064678A (ko) 2007-06-21
KR100905982B1 true KR100905982B1 (ko) 2009-07-03

Family

ID=26714300

Family Applications (4)

Application Number Title Priority Date Filing Date
KR1020077028814A KR20080003013A (ko) 2001-09-06 2002-04-15 Map 디코더용 파이프라인 구조
KR1020057015588A KR100887263B1 (ko) 2001-09-06 2002-04-15 Map 디코더용 파이프라인 구조
KR1020077011715A KR100905982B1 (ko) 2001-09-06 2002-04-15 Map 디코더용 파이프라인 구조
KR1020047003317A KR100582051B1 (ko) 2001-09-06 2002-04-15 Map 디코더용 파이프라인 구조

Family Applications Before (2)

Application Number Title Priority Date Filing Date
KR1020077028814A KR20080003013A (ko) 2001-09-06 2002-04-15 Map 디코더용 파이프라인 구조
KR1020057015588A KR100887263B1 (ko) 2001-09-06 2002-04-15 Map 디코더용 파이프라인 구조

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020047003317A KR100582051B1 (ko) 2001-09-06 2002-04-15 Map 디코더용 파이프라인 구조

Country Status (15)

Country Link
US (4) US6961921B2 (ko)
EP (2) EP1423823B1 (ko)
JP (1) JP3935471B2 (ko)
KR (4) KR20080003013A (ko)
CN (2) CN1941637B (ko)
AT (1) ATE438958T1 (ko)
BR (1) BR0212645A (ko)
CA (1) CA2459383A1 (ko)
DE (1) DE60233236D1 (ko)
HK (1) HK1068436A1 (ko)
MX (1) MXPA04002180A (ko)
MY (1) MY131249A (ko)
NO (1) NO20041357L (ko)
TW (2) TWI305701B (ko)
WO (1) WO2003023709A1 (ko)

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6961921B2 (en) * 2001-09-06 2005-11-01 Interdigital Technology Corporation Pipeline architecture for maximum a posteriori (MAP) decoders
JP3898574B2 (ja) * 2002-06-05 2007-03-28 富士通株式会社 ターボ復号方法及びターボ復号装置
SG113431A1 (en) * 2002-08-30 2005-08-29 Oki Techno Ct Singapore Pte Improved turbo decoder
KR20040068771A (ko) * 2003-01-27 2004-08-02 삼성전자주식회사 소프트 복조 방법 및 소프트 복조 장치
GB2409618A (en) * 2003-12-23 2005-06-29 Picochip Designs Ltd Telecommunications decoder device
US7343530B2 (en) * 2004-02-10 2008-03-11 Samsung Electronics Co., Ltd. Turbo decoder and turbo interleaver
US7555070B1 (en) * 2004-04-02 2009-06-30 Maxtor Corporation Parallel maximum a posteriori detectors that generate soft decisions for a sampled data sequence
JP2006115145A (ja) * 2004-10-14 2006-04-27 Nec Electronics Corp 復号装置及び復号方法
KR101279283B1 (ko) * 2006-10-19 2013-06-26 조지아 테크 리서치 코오포레이션 블록 부호를 사용하는 통신 시스템에서 신호 송수신 장치및 방법
US8411709B1 (en) 2006-11-27 2013-04-02 Marvell International Ltd. Use of previously buffered state information to decode in an hybrid automatic repeat request (H-ARQ) transmission mode
JP2009060455A (ja) * 2007-08-31 2009-03-19 Nec Corp スライディングウィンドウターボ復号処理装置とその方法
US8897393B1 (en) 2007-10-16 2014-11-25 Marvell International Ltd. Protected codebook selection at receiver for transmit beamforming
US8291302B2 (en) * 2007-10-17 2012-10-16 Marvell International Ltd. State metrics memory reduction in a turbo decoder implementation
US8542725B1 (en) 2007-11-14 2013-09-24 Marvell International Ltd. Decision feedback equalization for signals having unequally distributed patterns
GB0804206D0 (en) * 2008-03-06 2008-04-16 Altera Corp Resource sharing in decoder architectures
US8565325B1 (en) 2008-03-18 2013-10-22 Marvell International Ltd. Wireless device communication in the 60GHz band
US8572470B2 (en) * 2008-03-28 2013-10-29 Nxp, B.V. Memory-efficient storage method: a fast BJCR based decoder implementation scheme
US8761261B1 (en) 2008-07-29 2014-06-24 Marvell International Ltd. Encoding using motion vectors
US8498342B1 (en) 2008-07-29 2013-07-30 Marvell International Ltd. Deblocking filtering
US8345533B1 (en) 2008-08-18 2013-01-01 Marvell International Ltd. Frame synchronization techniques
US8681893B1 (en) * 2008-10-08 2014-03-25 Marvell International Ltd. Generating pulses using a look-up table
JP5196567B2 (ja) * 2008-12-02 2013-05-15 日本電気株式会社 演算装置、復号化装置およびメモリ制御方法ならびにプログラム
US8578255B1 (en) 2008-12-19 2013-11-05 Altera Corporation Priming of metrics used by convolutional decoders
US8520771B1 (en) 2009-04-29 2013-08-27 Marvell International Ltd. WCDMA modulation
EP2302811B1 (en) * 2009-08-18 2013-03-27 Telefonaktiebolaget L M Ericsson (Publ) Soft output viterbi algorithm method and decoder
US8817771B1 (en) 2010-07-16 2014-08-26 Marvell International Ltd. Method and apparatus for detecting a boundary of a data frame in a communication network
US20220073211A1 (en) * 2020-07-17 2022-03-10 The Boeing Company Aircraft buffet detection

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5148385A (en) 1987-02-04 1992-09-15 Texas Instruments Incorporated Serial systolic processor
US5208816A (en) 1989-08-18 1993-05-04 At&T Bell Laboratories Generalized viterbi decoding algorithms
US5263026A (en) 1991-06-27 1993-11-16 Hughes Aircraft Company Maximum likelihood sequence estimation based equalization within a mobile digital cellular receiver
US5381425A (en) 1992-03-27 1995-01-10 North Carolina State University System for encoding and decoding of convolutionally encoded data
US5450453A (en) 1994-09-28 1995-09-12 Motorola, Inc. Method, apparatus and system for decoding a non-coherently demodulated signal
KR100582051B1 (ko) * 2001-09-06 2006-05-22 인터디지탈 테크날러지 코포레이션 Map 디코더용 파이프라인 구조

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
BE1007183A3 (fr) * 1993-06-18 1995-04-18 Solvay Ureines derivees d'alpha, omega-diaminoacides et procede pour leur preparation.
US5933462A (en) * 1996-11-06 1999-08-03 Qualcomm Incorporated Soft decision output decoder for decoding convolutionally encoded codewords
JPH1124785A (ja) * 1997-07-04 1999-01-29 Hitachi Ltd 半導体集積回路装置と半導体メモリシステム
US6563877B1 (en) * 1998-04-01 2003-05-13 L-3 Communications Corporation Simplified block sliding window implementation of a map decoder
US6343368B1 (en) * 1998-12-18 2002-01-29 Telefonaktiebolaget Lm Ericsson (Publ) Method and system for fast maximum a posteriori decoding
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
EP1030457B1 (en) * 1999-02-18 2012-08-08 Imec Methods and system architectures for turbo decoding
WO2000052833A1 (fr) * 1999-03-01 2000-09-08 Fujitsu Limited Procede et appareil de decodage de probabilite maximale a posteriori
US6754290B1 (en) * 1999-03-31 2004-06-22 Qualcomm Incorporated Highly parallel map decoder
JP3846527B2 (ja) * 1999-07-21 2006-11-15 三菱電機株式会社 ターボ符号の誤り訂正復号器、ターボ符号の誤り訂正復号方法、ターボ符号の復号装置およびターボ符号の復号システム
US6226773B1 (en) * 1999-10-20 2001-05-01 At&T Corp. Memory-minimized architecture for implementing map decoding
US6857101B1 (en) * 1999-12-14 2005-02-15 Intel Corporation Apparatus and method of storing reference vector of state metric
US6477681B1 (en) * 2000-02-07 2002-11-05 Motorola, Inc. Methods for decoding data in digital communication systems
US6477679B1 (en) * 2000-02-07 2002-11-05 Motorola, Inc. Methods for decoding data in digital communication systems
US6856657B1 (en) * 2000-02-10 2005-02-15 Motorola, Inc. Soft output decoder for convolutional codes
US6658071B1 (en) * 2000-02-14 2003-12-02 Ericsson Inc. Delayed decision feedback log-map equalizer
EP1128560B1 (en) * 2000-02-21 2004-01-28 Motorola, Inc. Apparatus and method for performing SISO decoding
DE10012873A1 (de) * 2000-03-16 2001-09-27 Infineon Technologies Ag Optimierter Turbo-Decodierer
JP3514217B2 (ja) * 2000-06-29 2004-03-31 日本電気株式会社 ターボ復号方法及び受信機
US6725409B1 (en) * 2000-06-30 2004-04-20 Texas Instruments Incorporated DSP instruction for turbo decoding
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
US6452979B1 (en) * 2000-09-06 2002-09-17 Motorola, Inc. Soft output decoder for convolutional codes
US7234100B1 (en) * 2000-09-28 2007-06-19 Intel Corporation Decoder for trellis-based channel encoding
US6799295B2 (en) * 2001-01-02 2004-09-28 Icomm Technologies, Inc. High speed turbo codes decoder for 3G using pipelined SISO log-map decoders architecture
US6845482B2 (en) * 2001-02-28 2005-01-18 Qualcomm Incorporated Interleaver for turbo decoder
US7200799B2 (en) * 2001-04-30 2007-04-03 Regents Of The University Of Minnesota Area efficient parallel turbo decoding
US6392572B1 (en) * 2001-05-11 2002-05-21 Qualcomm Incorporated Buffer architecture for a turbo decoder
US6885711B2 (en) * 2001-06-27 2005-04-26 Qualcomm Inc Turbo decoder with multiple scale selections
JP3549519B2 (ja) * 2002-04-26 2004-08-04 沖電気工業株式会社 軟出力復号器

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5148385A (en) 1987-02-04 1992-09-15 Texas Instruments Incorporated Serial systolic processor
US5208816A (en) 1989-08-18 1993-05-04 At&T Bell Laboratories Generalized viterbi decoding algorithms
US5263026A (en) 1991-06-27 1993-11-16 Hughes Aircraft Company Maximum likelihood sequence estimation based equalization within a mobile digital cellular receiver
US5381425A (en) 1992-03-27 1995-01-10 North Carolina State University System for encoding and decoding of convolutionally encoded data
US5450453A (en) 1994-09-28 1995-09-12 Motorola, Inc. Method, apparatus and system for decoding a non-coherently demodulated signal
KR100582051B1 (ko) * 2001-09-06 2006-05-22 인터디지탈 테크날러지 코포레이션 Map 디코더용 파이프라인 구조

Also Published As

Publication number Publication date
NO20041357L (no) 2004-04-01
US20110271166A1 (en) 2011-11-03
US20030066019A1 (en) 2003-04-03
MXPA04002180A (es) 2004-06-29
EP1423823A4 (en) 2006-03-22
EP2159921A3 (en) 2011-11-16
US7181670B2 (en) 2007-02-20
DE60233236D1 (de) 2009-09-17
KR100582051B1 (ko) 2006-05-22
TWI305701B (en) 2009-01-21
CN1554072A (zh) 2004-12-08
MY131249A (en) 2007-07-31
US8316285B2 (en) 2012-11-20
KR20080003013A (ko) 2008-01-04
TW200423549A (en) 2004-11-01
JP2005503058A (ja) 2005-01-27
CA2459383A1 (en) 2003-03-20
EP2159921A2 (en) 2010-03-03
BR0212645A (pt) 2004-08-24
TWI301704B (en) 2008-10-01
JP3935471B2 (ja) 2007-06-20
US7908545B2 (en) 2011-03-15
WO2003023709A1 (en) 2003-03-20
EP1423823B1 (en) 2009-08-05
US20070118791A1 (en) 2007-05-24
KR100887263B1 (ko) 2009-03-06
KR20050091792A (ko) 2005-09-15
ATE438958T1 (de) 2009-08-15
KR20070064678A (ko) 2007-06-21
CN1941637B (zh) 2010-05-12
HK1068436A1 (en) 2005-04-29
KR20040034699A (ko) 2004-04-28
EP1423823A1 (en) 2004-06-02
US20060005111A1 (en) 2006-01-05
US6961921B2 (en) 2005-11-01
CN1284114C (zh) 2006-11-08
CN1941637A (zh) 2007-04-04

Similar Documents

Publication Publication Date Title
KR100905982B1 (ko) Map 디코더용 파이프라인 구조
JP4778441B2 (ja) サブブロック処理及びサブブロックをベースとする停止基準を伴うsiso復号器
US7246298B2 (en) Unified viterbi/turbo decoder for mobile communication systems
JPH10107651A (ja) ビタビ復号装置
US6333954B1 (en) High-speed ACS for Viterbi decoder implementations
US20090077330A1 (en) Modified branch metric calculator to reduce interleaver memory and improve performance in a fixed-point turbo decoder
JP2000341140A (ja) 復号方法及び復号装置
JP4580927B2 (ja) ビタビ復号装置、およびビタビ復号方法
US6351839B1 (en) State metric memory of viterbi decoder and its decoding method
JP3753822B2 (ja) ビタビ復号方法および装置
US6904105B1 (en) Method and implemention of a traceback-free parallel viterbi decoder
JP4366867B2 (ja) Map復号装置
KR100491016B1 (ko) 역방향 상태 천이의 연속적 제어에 의한 역추적 비터비복호기 및 그 방법
KR0148060B1 (ko) Viterbi 복호기의 ACS를 위한 메모리 최적 구조
Manzoor et al. VLSI implementation of an efficient pre-trace back approach for Viterbi algorithm

Legal Events

Date Code Title Description
A107 Divisional application of patent
A201 Request for examination
E902 Notification of reason for refusal
A107 Divisional application of patent
E902 Notification of reason for refusal
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: 20130520

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20140516

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee