KR100744367B1 - 가변 윈도우가 적용된 터보 복호화 장치 및 방법 - Google Patents

가변 윈도우가 적용된 터보 복호화 장치 및 방법 Download PDF

Info

Publication number
KR100744367B1
KR100744367B1 KR1020040036742A KR20040036742A KR100744367B1 KR 100744367 B1 KR100744367 B1 KR 100744367B1 KR 1020040036742 A KR1020040036742 A KR 1020040036742A KR 20040036742 A KR20040036742 A KR 20040036742A KR 100744367 B1 KR100744367 B1 KR 100744367B1
Authority
KR
South Korea
Prior art keywords
metric
beta
state
window size
delta
Prior art date
Application number
KR1020040036742A
Other languages
English (en)
Other versions
KR20050111843A (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 삼성전자주식회사
Priority to KR1020040036742A priority Critical patent/KR100744367B1/ko
Priority to US11/135,633 priority patent/US7373582B2/en
Publication of KR20050111843A publication Critical patent/KR20050111843A/ko
Application granted granted Critical
Publication of KR100744367B1 publication Critical patent/KR100744367B1/ko

Links

Images

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
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63HTOYS, e.g. TOPS, DOLLS, HOOPS OR BUILDING BLOCKS
    • A63H33/00Other toys
    • A63H33/04Building blocks, strips, or similar building parts
    • A63H33/046Building blocks, strips, or similar building parts comprising magnetic interaction means, e.g. holding together by magnetic attraction
    • 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

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Error Detection And Correction (AREA)

Abstract

본 발명은 가변하는 윈도우 크기를 적용하는 터보 복호화 장치에 있어서, 수신 데이터 비트의 부호율과, 데이터 블록 크기를 입력받아 상기 부호율에 따른 윈도우 크기를 조정하고 초기 지연을 계산하는 제어 로직과, 상기 데이터 블록 크기만큼의 입력된 데이터 비트에 대해 각 상태로부터 다른 상태로의 경로들에 대한 천이 확률을 나타내는 델타 메트릭을 계산하는 복수의 델타 메트릭 블록들과, 상기 초기 지연에 동기하여 상기 델타 메트릭을 입력받아 상기 각 상태에 대한 순방향 상태 천이 확률을 나타내는 알파 메트릭을 계산하는 알파 메트릭 블록과, 상기 제어 로직에 의해 조정된 윈도우 크기에 따라 상기 델타 메트릭을 입력받아 상기 각 상태에 대한 역방향 상태 천이 확률을 나타내는 베타 메트릭을 계산하는 적어도 하나 이상의 베타 메트릭 블록들과, 상기 초기 지연에 동기하여 상기 알파 메트릭과 상기 베타 메트릭을 입력받아 최종 상태의 심볼들에 대한 LLR값들을 계산하는 LLR블록으로 이루어진 구성 복호기를 포함하는 가변 윈도우가 적용된 터보 복호화 장치를 구성하여, 부호율의 변화에 따라 가변하는 윈도우 사이즈를 가지는 슬라이딩 윈도우 구조를 사용함으로써 부호 신뢰도를 유지하면서, 불필요한 초기 지연으로 인한 디코딩 시간의 증가를 감소시키고, 터보 복호기의 성능 향상을 제공한다.
Turbo decoder, variable sliding window

Description

가변 윈도우가 적용된 터보 복호화 장치 및 방법{ The Apparatus And Method for Turbo Decording With Variable sliding window size}
도 1은 종래 기술에 따른 터보 복호화 장치의 구성을 보여주는 도면.
도 2a는 알파 메트릭을 연산하는 과정을 보여주는 도면.
도 2b는 베타 메트릭을 연산하는 과정을 보여주는 도면.
도 3은 일반적인 프레임 모드 방식의 터보 복호기의 메트릭 연산 순서를 보여주는 도면.
도 4는 윈도우 모드 방식의 터보 복호기의 연산 순서를 보여주는 도면.
도 5는 종래 기술에 따른 슬라이딩 윈도우 모드 방식의 SISO 복호기의 구성을 보여주는 도면.
도 6은 도 5의 SISO 복호기에서의 데이터 비트 입력 및 메트릭의 출력의 처리 흐름을 보여주는 도면.
도 7은 본 발명의 바람직한 실시예에 따른 슬라이딩 윈도우 방식의 SISO 복호기의 상세구조를 보여주는 도면.
도 8은 본 발명에 바람직한 실시예에 따른 베타 메트릭 블록의 상세구조를 보여주는 도면
본 발명은 이동통신 시스템의 복호화에 관한 것으로서, 특히 가변하는 크기를 갖는 윈도우가 적용된 터보 복호기에에 관한 것이다.
일반적으로 디지털 통신 시스템에서는 데이터 전송시 채널상에서 발생할 수 있는 오류를 효과적으로 정정하여 데이터 전송의 신뢰도를 높이기 위하여 순방향 오류정정(FEC: Forward Error Correction)부호가 널리 사용되고 있다. 이러한 순방향 오류 정정부호로 터보부호(Turbo code)가 있다. 터보부호는 길쌈 부호(convolution code)에 비해 데이터의 고속 전송시 오류 정정 능력이 뛰어나기 때문에, 제 3세대 이동 통신 시스템으로 주목받고 있는 동기 방식의 CDMA2000(Code Division multiple aceess 2000)시스템과 비동기 방식의 UMTS(Universal Mobile Telecommunication System)등에 모두 채택되었다. 두가지 방식 모두 고속의 패킷 데이터 통신을 가능하게 하므로 고속이 터보 복호기가 그 성능을 발휘하게 된다. 상기 제 3세대 이동통신 시스템에서는 터보 복호기에 적용되는 코드 레이트(부호화율)를 매우 다양하게 지원하도록 규정하고 있다.
도 1은 종래 기술에 따른 터보 복호화 장치의 구성을 보여주는 도면이다.
도시한 터보 복호기(200)는 시소 (SISO: Soft-In Soft-Out)방식의 구성 복호기로 구성된 예를 나타낸다. SISO 방식을 대신하여 상기 터보 복호기는 MAP(Maximum A Posteriori)방식 또는 RESOVA(Register Exchnge Soft Output Viterbi Algorithm)방식으로 구현될 수도 있다. 여기서, SISO 방식은 심볼에 대한 신뢰도를 가지고 확률을 구하는 방식이고, RESOVA 방식은 심볼이 거쳐가는 경로(Path)를 긴 부호어(codeword)라고 생각하고 부호어에 대한 확률을 구하는 방식이다.
도 1을 참조하면, 상기 터보 복호기(200)의 입력단으로는 메모리 버퍼(100)에 저장되어 있는 심볼(데이터 비트들)이 제공된다. 상기 메모리 버퍼(100)에는 디인터리빙이 완료된 비트들이 구조적 부호인 시스테메틱 부호(Systematic code)와, 비 구조적 부호인 패리티 부호들(Parity 1 code, parity 2 code)로 구분되어 저장한다. 상기 메모리 버퍼(100)로부터 상기 터보 복호기(200)로 시스템 부호의 비트들과, 패리티 부호들이 비트들이 동시에 제공된다. 상기 메모리 버퍼(100)로부터 구조적 부호와 비구조적 부호의 3개의 부호들이 모두 출력되기 때문에, 상기 메모리 버퍼(100)로부터 출력되는 부호들은 3개의 버스를 통해 상기 터보복호기(200)의 다중화기(MUX: Multiplexer)(210)으로 제공된다.
상기 터보 복호기(200)는 SISO 알고리즘이 적용되는 구성 복호기(220)(이하, SISO 복호기라 칭함)와, 인터리버(230)와, 디 인터리버(240)와, 출력 버퍼(Output buffer)(250)와, CRC(Cyclic Redundancy Code) 검사기(260)로 구성된다.
상기 SISO 복호기(220)는 상기 다중화기 (210)의 출력을 입력하고, 후술될 도 2에 도시된 바와 같은 구성하에 SISO 복호화하여 출력한다. 상기 인터리버(230)은 상기 SISO 복호기(220)의 출력을 인터리빙한다. 상기 디인터리버(240)는 상기 SISO 복호기(220)의 출력을 디이터리빙한다. 상기 출력 버퍼(250)는 상기 디인터리 버(240)에 의해 디인터리빙된 결과를 L1(Layer) 처리부(270)이 참조할 수 있도록 저장한다. 상기 CRC검사기(260)은 상기 디인터리버(240)에 의한 디인터리빙 결과에 대해 CRC 검사를 하고, 그 검사 결과를 상기 L1 계층 처리부(270)으로 제공한다.
SISO 복호기(220)는 복호화하는 과정에서 몇가지 메트릭들(metrics)을 연산하는 동작을 수행한다. 즉, SISO 복호기(220)의 복호화 동작 중에는 델타 메트릭(delta metic), 알파 메트릭(α metric), 베타 메트릭(β metric), 및 LLR(Log Likelihood Ratio)의 값들이 계산된다.
여기서, 델타 메트릭(Delta metric)은 브렌치 메트릭(branch metric)이라고도 하며 부호화 트레일리스 구조의 한 상태에서 다른 상태로의 경로들에 대한 천이확률을 나타낸다. 상기 알파 메트릭은 순방향 상태 메트릭(forward state metric)이라고도 하며 이전, 상태에서 현재 상태로의 누적 확률을 나타낸다. 상기 베타 메트릭은 이후 상태에서 현재 상태로의 누적천이확률을 나타낸다. 상기 알파 메트릭과 베타 메트릭이 모두 구해지면, LLR의 값이 계산된다. LLR 값은 심볼에 대한 확률을 나타내는 것으로, '1'이 될 확률과 '0'이 될 확률의 비율을 로그 스케일(log scale)로 표현한 값이다
일반적으로 프레임 모드 복호기에서는 LLR값을 계산하기 위해서 알파 메트릭, 베타 메트릭을 필요로 하므로 베타 메트릭을 모두 연산한 다음에 알파 메트릭을 연산하여 LLR 값을 차례대로 계산할 수 있다. 그러므로 베타 메트릭을 계산하는 동안의 지연시간이 발생한다.
도 2는 종래 기술에 따른 SISO 복호기에 의한 메트릭 연산 순서를 보여주는 도면으로, 도 2a와 도 2b로 구성된다. 상기 도 2a는 알파 메트릭을 연산하는 과정을 보여주고, 상기 도 2b는 베타 메트릭을 연산하는 과정을 보여준다.
도 2a 및 도 2b를 참조하면, 알파메트릭을 연산하는 동작과, 베타 메트릭을 연산하는 동작 사이에는 차이가 있음을 알 수 있다. k번째 상태의 알파 메트릭
Figure 112004021779295-pat00001
는 이전 값인 (k-1)번째 상태의 알파메트릭으로부터 계산되며, k번째 상태의 베타 메트릭
Figure 112004021779295-pat00002
는 나중값인 (k+1)번째 상태의 베타 메트릭으로부터 계산된다. 이와 같이 베타 메트릭을 연산하기 위해서는 수신된 신호를 역순으로 참조하여야 하기 때문에 전체 수신 신호의 길이만큼의 초기 지연이 발생하게 된다.
도 3은 일반적인 프레임 모드 방식의 터보 복호기의 메트릭 연산 순서를 보여주는 도면이다.
도 3을 참조하면, 한 프레임에 대한 베타 메트릭이 모두 계산된 이후에 알파 메트릭과 LLR(λ)값이 계산되기 때문에, 상기 프레임의 구간만큼의 초기 지연이 발생된다. 이와 같이 프레임 모드 방식의 SISO 복호기는 베타 메트릭을 계산한 다음에 알파 메트릭을 계산하여 LLR 값을 계산한다. 그러므로 베타 메트릭을 계산하는 동안의 지연시간이 발생하는데, 이러한 초기 지연을 줄이기 위해 제안된 것이 윈도우 모드의 방식이다.
상기한 문제점을 개선하기 위해서 슬라이딩 윈도우 모드가 적용되었는데 이것은 2개의 베타 메트릭 블록을 사용하여 연속적인 베타 메트릭 출력이 되도록 하는데 그 목적이 있다.
도 4는 윈도우 모드 방식의 터보 복호기의 연산 순서를 보여주는 도면이다.
도 4를 참조하면, 윈도우 모드 방식의 SISO복호기는 베타 메트릭 계산을 위해 수신된 신호를 소정 윈도우 크기로 분할한다. 상기 분할된 각 수신 신호에 대해 베타 메트릭을 계산하면 초기에 계산되는 값들은 정확하지 않은 확률을 가지지만, 나중에 갈수록 더 정확한 값들이 계산되어진다. 실제 LLR 값을 계산하는 데에는 이러한 정확한 값이 나오는 구간부터 계산된 값을 사용하면 된다. 하나의 윈도우가 정확한 구간의 값들을 연산하는 동안 다른 윈도우는 나머지 구간의 부정확한 값들을 연산하여 서로 맞물리게끔 구성된다. 이 때 계산의 편리성을 위해 부정확한 구간과 신뢰할 수 있는 구간의 크기는 같게 설정된다.
일 예로, 델타 메트릭 B에 대한 λ을 계산하는 경우를 살펴본다.
먼저, 윈도우 구간동안 역순으로 베타 메트릭 1B(β1B)와, 베타 메트릭 1A(β1A)가 각각 계산되고, 상기 베타 메트릭 1A(β1A)가 계산되는 시점부터 역순으로 베타 메트릭 2C(β1C)가 계산되고, 베타 메트릭 2B(β2B)가 계산된다. 상기 B의 베타 메트릭 1B(β1B)와 2B(β2B)중에 부정확한 상기 베타 메트릭 1A(β1A)는 버리고, 정확한 베타 메트릭 2B(β2B)가 계산된 시점부터 동시에 알파 메트릭
Figure 112004021779295-pat00003
및 LLR
Figure 112004021779295-pat00004
가 계산된다. 따라서, 상기 β1B 및 상기 β1A가 계산되는 윈도우 구간은 초기 지연이 된다.
전술한 바와 같이 종래 기술에 따른 SISO복호기는 슬라이딩 윈도우의 크기를 하나로 고정시켜 사용하였다. 이 경우, 부호율(code rate)이 낮을 경우에는 문제가 없으나 부호율이 높아지게 되면 복호 성능의 저하를 가져오게 된다.
구체적으로, 일반적인 터보 복호기에서의 베타 메트릭의 계산은 수신된 신호의 제일 마지막부터 계산하여야 신뢰도 높은 메트릭이 계산된다. 그러나, 슬라이딩 윈도우 방식은 수신된 신호의 제일 마지막부터 계산하지 않고 일정 구간을 잘라서 계산한 후, 신뢰도가 떨어지는 영역은 버리고, 그 이후부터 출력되는 값을 사용한다. 따라서 즉, 부호율이 높아지면 요구되는 신뢰도를 얻기 위해서 더 긴 길이의 구간이 필요하게 된다. 이 때, 높은 부호율에 맞추어 긴 길이의 슬라이딩 윈도우 사이즈를 결정하게 되면, 실제 수신되는 데이터의 부호율이 낮은 경우에는 불필요하게 길게 설정된 윈도우 사이즈로 인해 추가적인 초기 지연이 발생하는 문제점이 있었다.
따라서, 종래 기술에 따른 슬라이딩 윈도우를 사용하는 터보복호기는 복호율에 따라 윈도우 사이즈가 조정될 필요성이 요구된다.
따라서 상기한 바와 같이 동작되는 종래 기술의 문제점을 해결하기 위하여 창안된 본 발명의 목적은, 부호율에 따라 가변하는 윈도우 크기를 사용하여 최적화된 터보 복호기를 제공하는 것이다.
본 발명의 다른 목적은, 부호율이 높을 경우 윈도우 크기를 길게 하고, 부호율이 낮을 경우 윈도우 크기를 짧게 조절하는 터보 복호기를 제공하는 것이다.
상기한 바와 같은 목적을 달성하기 위하여 창안된 본 발명의 실시예에 따른 장치는, 가변하는 윈도우 크기를 적용하는 터보 복호화 장치에 있어서,
수신 데이터 비트의 부호율과, 데이터 블록 크기를 입력받아 상기 부호율에 따른 윈도우 크기를 조정하고 초기 지연을 계산하는 제어 로직과,
상기 데이터 블록 크기만큼의 입력데이터 비트에 대해 각 상태로부터 다른 상태로의 경로들에 대한 천이 확률을 나타내는 델타 메트릭을 계산하는 복수의 델타 메트릭 블록들과,
상기 초기 지연에 동기하여 상기 델타 메트릭을 입력받아 상기 각 상태에 대한 순방향 상태 천이 확률을 나타내는 알파 메트릭을 계산하는 알파 메트릭 블록과,
상기 제어 로직에 의해 조정된 윈도우 크기에 따라 상기 델타 메트릭을 입력받아 상기 각 상태에 대한 역방향 상태 천이 확률을 나타내는 베타 메트릭을 계산하는 적어도 하나 이상의 베타 메트릭 블록들과,
상기 초기 지연에 동기하여 상기 알파 메트릭과 상기 베타 메트릭을 입력받아 최종 상태의 심볼들에 대한 LLR값들을 계산하는 LLR블록으로 이루어진 구성 복호기를 포함하여 구성되는 것을 특징으로 한다.
본 발명의 다른 실시예에 따른 방법은, 가변하는 윈도우 크기를 적용하는 터보 복호화 방법에 있어서,
수신 데이터 비트의 부호율과, 데이터 블록 크기를 입력받아 상기 부호율에 따른 윈도우 크기를 조정하는 과정과,
상기 데이터 블록 크기만큼의 입력된 데이터 비트에 대해 각 상태로부터 다른 상태로의 경로들에 대한 천이 확률을 나타내는 델타 메트릭을 계산하는 과정과,
상기 부호율에 따라 조정된 윈도우 크기에 따라 상기 델타 메트릭을 이용하여 상기 각 상태에 대한 역방향 상태 천이 확률을 나타내는 베타 메트릭을 계산하는 과정과,
상기 델타 메트릭을 이용하여 상기 각 상태에 대한 순방향 상태 천이 확률을 나타내는 알파 메트릭을 계산하는 과정과,
상기 알파 메트릭과 상기 베타 메트릭을 입력받아 최종 상태의 심볼들에 대한 LLR값들을 계산하기 위한 LLR블록을 제어하는 것을 특징으로 한다.
이하 첨부된 도면을 참조하여 본 발명의 바람직한 실시예에 대한 동작 원리를 상세히 설명한다. 도면상에 표시된 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 참조번호로 나타내었으며, 하기에서 본 발명을 설명함에 있어 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
본 발명은 베타 메트릭의 계산을 위한 터보 복호기내의 고정된 윈도우 크기를 복호율에 따라 조절하는 터보 복호기를 제공하는 것이다.
이하, 본 발명을 설명하기에 앞서, 일반적인 터보 복호기의 구조와, 고정된 윈도우 크기에서의 알파 및 델타 메트릭의 데이터 처리 흐름을 설명한다.
도 5는 종래 기술에 따른 슬라이딩 윈도우 모드 방식의 SISO 복호기의 구성을 보여주는 도면이다. 여기서, 베타 블록은 윈도우의 수에 따라 2개의 베타 메트릭 블록들로 구성된 것으로 나타내고 있다.
도 5를 참조하면, 역다중화기(DEMUX: Demultiplexer)(221)는 미리 설정된 속도-예를 들어, 터보 복호기의 클럭(동작 주파수)의 3배 속도로 메모리 버퍼(100)에 저장되어 있는 데이터 비트들을 엑세스(acess)하고, 제 1출력, 제 2 출력 및 제 3 출력을 제공한다. 3개의 델타 메트릭 블록(223a,b,c)은 상기 제 1출력, 제 2출력 및 제 3출력 각각에 대한 델타 메트릭들을 계산한다. 알파 메트릭 블록(225)은 델타 메트릭 블록(223a)에 의해 계산된 델타 메트릭을 입력하고, 해당하는 알파 메트릭을 계산한다. 베타 블록(227)은 한 윈도우의 정확한 구간에 대한 제 1 베타 메트릭을 계산하는 제 1 델타 메트릭 블록(227a)과, 상기 윈도우의 나머지 구간에 대한 제 2 베타 메트릭을 계산하는 제 2 베타 메트릭 블록(227b)과 상기 블록들(227a,b)에 의한 계산 결과들을 다중화하는 다중화기(227c)를 포함한다.
LLR 블록(229)은 상기 알파 메트릭 블록(225a)에 의해 계산된 알파 메트릭과 상기 다중화기 (227c)에 의한 다중화 결과를 입력하여 해당하는 LLR 값들을 계산하고, 상기 LLR 값들에 근거하여 심볼들을 결정한다. 상기 LLR 블록(229)으로부터 상기 결정된 심볼들은 이후인터리빙/디 인터리빙을 위해 도 2에 도시된 인터리버 및 디인터리버(230, 240)로 출력된다.
LLR을 계산하기 위한 상기 LLR블록(229)은 순방향 상태, 역방향 상태에 대한 천이 확률을 근거로 심볼에 대한 확률을 구한다. 이 때 LLR의 값이 양수일 경우 심볼'1', 음수일 경우 심볼'0'을 나타낸다.
도 6은 도 5의 SISO 복호기에서의 데이터 비트 입력 및 메트릭의 출력의 처리 흐름을 보여주는 도면이다.
도 6을 참조하면, 상기 SISO 복호기의 델타 메트릭 블록들(223a~c)에는 도 1에 도시한 메모리 버퍼(100)의 서로 다른 주소에 저장되어 있는 수신 신호의 데이터 비트들이 인가된다. 즉, 참조부호 10은 동일시점에서상기 메모리 버퍼(100)의 서로 다른 주소로부터 읽어낸 수신신호 D, N, F를 나타낸다.
가로축은 시간을 나타내는데, 시간이 경과함에 따라 상기 델타 메트릭 블록들(223a~c)로 서로 다른 데이터 비트들이 제공됨을 알 수 있다. 이 때 베타 메트릭 블록들(227a, b)로는 2W크기의 데이터 비트들이 역순으로 제공된다. 델타 메트릭 블록 입력(11, 13, 15)의 각 칸의 내부에 쓰여진 알파벳은 상기 메모리 버퍼(100)들로 델타 메트릭 블록들(223a~c) 입력되는 데이터 비트값을 의미하고, 알파 및 베타 메트릭 블록 출력(17, 19, 20) 내부에 쓰여진 알파벳은 상기 알파 및 베타 메트릭들(225, 227a ,b)들로부터 출력된 메트릭 값들을 의미한다.
델타 메트릭 블록들(223a, b, c)은 미리 정해진 개수, 여기서는 4개의 데이터 비트들을 읽어들이고, 베타 메트릭 블록은 소정 윈도우 크기 2W만큼의 입력신호를 가지고 베타 메트릭을 계산하여 정확한 구간에 대해 계산된 W크기의 베타 메트릭을 출력한다.
알파 메트릭 및 LLR의 출력을 동기시키기 위해, 알파 메트릭에 비해 베타 메트릭이 먼저 구해진다. 즉, 제 1 베타 메트릭 블록(227a)과, 제 2 베타 메트릭 블록(227b)은 서로 어긋나게 베타 메트릭을 출력한다. 예를 들어, T1구간에서 상기 델타 블록(223b)으로부터 입력된 델타 메트릭 H, G, F, E, D, C, B, A를 가지고 계산된 베타 메트릭들 중 정확한 베타 메트릭 값인 a, b, c, d가 출력된다. T2구간에서 상기 델타블록(223c)으로부터 입력된 델타 메트릭 L, K, J, I, H, G, F, E를 가지고 상기 제 2베타 베트릭 블록으로부터 계산된 정확한 베타 메트릭 값인 e, f, g, h가 출력된다. 즉, 2개의 베타 메트릭 블록들(227a, b)은 서로 어긋나서 동작한다. 상기 SISO 복호기(220)의 제 1 및 제 2 베타 메트릭을 위한 델타 메트릭 블록들(223a~c)의 출력들은 서로 겹치지 않고 어긋나기 때문에, 상기 베타 메트릭 블록들(227a~c)에 의해 출력되는 베타 메트릭은 연속적이다.
상술한 바와 같이 고정된 비율의 윈도우 크기가 적용되는 터보 복호기에 있어서, 정해진 윈도우 크기가 수신 신호의 부호율이나 블록의 크기보다 작게 되면, 신뢰성이 감소되고, 정해진 윈도우 크기가 수신된 심볼의 부호율 및 블록의 크기보다 크게 정해지면 불필요한 지연이 발생하게 된다. 따라서, 본 발명의 바람직한 실시예에서는 터보 복호기가 수신된 신호에 대한 부호율 및 수신 데이터 블록 크기등을 포함하는 제어 정보를 입력받는다. 그러면, 가변 복호율 시스템에서의 상기 터보 복호기는 상기 정보에 맞는 윈도우 크기를 결정하고, 메트릭 계산을 위한 블록들에서 상기 윈도우 크기에 따라 수신 신호를 복호한다.
도 7은 본 발명의 바람직한 실시예에 따른 슬라이딩 윈도우 방식의 SISO 복 호기의 상세구조를 보여주는 도면이다.
여기서, 베타 블록은 윈도우의 수에 따라 2개의 베타 메트릭 블록들로 구성된 것으로 나타내고 있다. 도 7을 참조하면, 역다중화기(DEMUX: Demultiplexer)(310)는 미리 설정된 속도-예를 들어, 터보 복호기의 클럭(동작 주파수)의 3배 속도로 메모리 버퍼(100)에 저장되어 있는 데이터 비트들을 엑세스(acess)하고, 제 1출력, 제 2 출력 및 제 3 출력을 제공한다.
제어 로직(360)은 수신되는 데이터 비트들에 대한 제어 정보를 입력받는다. 여기서, 상기 제어 정보는 수신 데이터들의 부호율 및 데이터 블록의 크기 등을 포함한다. 상기 제어 로직(360)은 상기 입력받은 제어 정보를 분석하여 윈도우 사이즈를 결정하고, 상기 델타 메트릭 블록(320a~c)들과, 알파 및 베타 메트릭 블록들(330, 340a~b)을 제어한다. 즉, 상기 데이터 블록 크기에 따라 상기 메모리 버퍼(100)에서 복호하는데 사용할 데이터 비트들이 저장된 메모리 구간 및 알파 메트릭과 LLR값을 동기시키기 위한 초기 지연시간을 알려준다. 이하, 도 8을 참조하여, 상기 제어 로직의 동작을 상세히 후술하겠다.
3개의 델타 메트릭 블록(320a, b, c)은 상기 제어 로직(360)으로부터 입력받은 한 블록의 데이터 비트들의 크기에 따라 상기 제 1출력, 제 2출력 및 제 3출력 각각에 대한 델타 메트릭들을 계산한다. 알파 메트릭 블록(330)은 델타 메트릭 블록(320a)에 의해 계산된 델타 메트릭을 입력받고, 상기 제어 로직(360)으로부터 입력받은 데이터 블록 크기와 윈도우 사이즈에 따라 알파 메트릭을 계산한다. 베타 블록(340)은 상기 제어 로직(360)으로부터 입력받은 윈도우 사이즈로 조정된 윈도 우에서 정확한 구간에 대한 제 1 베타 메트릭을 계산하는 제 1 베타 메트릭 블록(340a)과, 상기 윈도우의 나머지 구간에 대한 제 2 베타 메트릭을 계산하는 제 2 베타 메트릭 블록(340b)과 상기 블록들(227a, b)에 의한 계산 결과들을 다중화하는 다중화기(340c)를 포함한다.
LLR 블록(229)은 상기 알파 메트릭 블록(225a)에 의해 계산된 알파 메트릭과 상기 다중화기 (227c)에 의한 다중화 결과를 입력하여 상기 제어 로직(360)으로부터 입력받은 데이터 블록 크기와 윈도우 사이즈에 따라 LLR 값들을 계산하고, 상기 LLR 값들에 근거하여 한 데이터 블록에 대해 복호화된 심볼들을 결정한다. 상기 LLR 블록(229)으로부터 상기 결정된 심볼들은 이후 인터리빙/디 인터리빙을 위해 도 1에 도시된 인터리버 및 디인터리버(230, 240)로 출력된다.
도 8은 본 발명에 바람직한 실시예에 따른 베타 메트릭 블록의 상세구조를 보여주는 도면이다.
도 8을 참조하면, 베타 메트릭 블록(340)은 초기 상태값 및 이전 베타 메트릭을 나타내는 베타 입력값인 베타 입력값을 저장하는 메모리 버퍼부(342)와, 상기 베타 입력값과 델타 입력값을 가지고 역순으로 베타 메트릭을 계산하는 베타 메트릭 계산 블록(344)과, 베타 메모리 계산 블록(344)에서 역순으로 계산된 베타 베트릭값을 정순으로 출력하기 위한 베타 메모리 버퍼(3460)를 포함하여 구성된다.
일예로, 상기 제어 로직(360)은 수신 데이터에 대한 제어 정보를 입력받는다. 상기 입력받은 정보가 수신 데이터의 부호율이 낮은 경우, 상기 제어 로직(360)은 현재 윈도우 사이즈를 상기 입력받은 부호율에 맞도록 보다 적은 윈도 우 사이즈(2W')로 결정하여 상기 메모리 버퍼 블록(346)의 크기를 W'로 설정한다. 그러면, 상기 베타 메트릭 계산 블록(344)는 상기 2W' 구간의 입력을 가지고 W'만큼의 베타 메트릭을 출력하고, 상기 메모리 버퍼 블록(346)은 상기 W'만큼의 베타 메트릭을 저장한다.
상기 입력받은 제어 정보가 수신데이터의 부호율이 높은 경우, 상기 제어 로직(360)은 현재 윈도우 사이즈를 상기 입력받은 부호율에 맞도록 보다 큰 윈도우 사이즈(2W)로 결정하여 상기 메모리 버퍼 블록(346)의 크기를 W로 설정한다. 상기 메모리 버퍼 블록(346)은 상기 W만큼의 베타 메트릭을 저장한다. 그러면, 상기 베타 메트릭 계산 블록(344)은 상기 2W구간의 입력을 가지고 W만큼의 베타 메트릭을 출력하고, 상기 메모리 버퍼 블록(346)은 상기 W만큼의 베타 메트릭을 저장한다.
한편, 본 발명의 상세한 설명에서는 구체적인 실시예에 관해 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능함은 물론이다. 그러므로 본 발명의 범위는 설명된 실시예에 국한되지 않으며, 후술되는 특허청구의 범위뿐만 아니라 이 특허청구의 범위와 균등한 것들에 의해 정해져야 한다.
이상에서 상세히 설명한 바와 같이 동작하는 본 발명에 있어서, 개시되는 발명중 대표적인 것에 의하여 얻어지는 효과를 간단히 설명하면 다음과 같다.
본 발명은, 부호율의 변화에 따라 가변하는 윈도우 사이즈를 가지는 슬라이딩 윈도우 구조를 사용함으로써 부호 신뢰도를 유지하면서, 불필요한 초기 지연으 로 인한 디코딩 시간의 증가를 감소시킬 수 있다.
또한, 초기 지연시간의 감소로 터보 복호기의 성능 향상을 가져오는 효과가 있다.

Claims (7)

  1. 가변하는 윈도우 크기를 적용하는 터보 복호화 장치에 있어서,
    수신 데이터 비트의 부호율과, 데이터 블록 크기를 입력받아 상기 부호율에 따른 윈도우 크기를 조정하고 초기 지연을 계산하는 제어 로직과,
    상기 데이터 블록 크기만큼의 입력된 데이터 비트에 대해 각 상태로부터 다른 상태로의 경로들에 대한 천이 확률을 나타내는 델타 메트릭을 계산하는 복수의 델타 메트릭 블록들과,
    상기 초기 지연에 동기하여 상기 델타 메트릭을 입력받아 상기 각 상태에 대한 순방향 상태 천이 확률을 나타내는 알파 메트릭을 계산하는 알파 메트릭 블록과,
    상기 제어 로직에 의해 조정된 윈도우 크기에 따라 상기 델타 메트릭을 입력받아 상기 각 상태에 대한 역방향 상태 천이 확률을 나타내는 베타 메트릭을 계산하는 적어도 하나 이상의 베타 메트릭 블록들과,
    상기 초기 지연에 동기하여 상기 알파 메트릭과 상기 베타 메트릭을 입력받아 최종 상태의 심볼들에 대한 LLR값들을 계산하는 LLR블록으로 이루어진 구성 복호기를 포함하여 구성되는 것을 특징으로 하는 가변 윈도우가 적용된 터보 복호화 장치.
  2. 제 1 항에 있어서, 상기 윈도우 크기는 상기 부호율에 비례하여 조정되는 것을 특징으로 하는 가변 윈도우가 적용된 터보 복호화 장치.
  3. 제 1 항에 있어서, 상기 초기 지연은,
    상기 베타 메트릭과 상기 알파 메트릭이 동시에 상기 LLR 블록으로 입력되도록 하기 위한 것을 특징으로 하는 가변 윈도우가 적용된 터보 복호화 장치.
  4. 제 1 항에 있어서, 상기 베타 메트릭 블록 각각은,
    상기 제어 로직으로부터 입력받은 데이터 블록 크기에 따라 초기 상태값 또는 이후 베타 메트릭 값인 베타 입력값을 저장하는 버퍼부와,
    상기 버퍼부로부터 입력된 베타 입력값과, 상기 윈도우 크기 만큼의 상기 델타 메트릭을 역순으로 입력받아, 상기 베타 입력값과 상기 델타 메트릭을 가지고 상기 윈도우 크기에 따른 베타 메트릭 값을 계산하는 베타 메트릭 계산 블록과,
    상기 제어 로직에 의해 조정된 윈도우 크기로 상기 베타 메트릭 계산 블록에서 출력된 베타 메트릭값들을 저장하고 상기 베타 메트릭 값들을 정순으로 출력하는 메모리 버퍼를 포함하여 구성되는 것을 특징으로 하는 가변 윈도우가 적용된 터보 복호화 장치.
  5. 가변하는 윈도우 크기를 적용하는 터보 복호화 방법에 있어서,
    수신 데이터 비트의 부호율과, 데이터 블록 크기를 입력받아 상기 부호율에 따른 윈도우 크기를 조정하는 과정과,
    상기 데이터 블록 크기만큼의 입력된 데이터 비트에 대해 각 상태로부터 다른 상태로의 경로들에 대한 천이 확률을 나타내는 델타 메트릭을 계산하는 과정과,
    상기 부호율에 따라 조정된 윈도우 크기에 따라 상기 델타 메트릭을 이용하여 상기 각 상태에 대한 역방향 상태 천이 확률을 나타내는 베타 메트릭을 계산하는 과정과,
    상기 델타 메트릭을 이용하여 상기 각 상태에 대한 순방향 상태 천이 확률을 나타내는 알파 메트릭을 계산하는 과정과,
    상기 알파 메트릭과 상기 베타 메트릭을 입력받아 최종 상태의 심볼들에 대한 LLR값들을 계산하기 위한 LLR블록을 제어하는 것을 특징으로 하는 가변 윈도우가 적용된 터보 복호화 방법.
  6. 제 5 항에 있어서, 상기 윈도우 크기는 상기 부호율에 비례하여 조정되는 것을 특징으로 하는 가변 윈도우가 적용된 터보 복호화 방법.
  7. 제 5 항에 있어서, 상기 베타 메트릭을 계산하는 과정은,
    상기 입력된 데이터 블록 크기에 따라 초기 상태값 또는 이후 베타 메트릭 값들인 베타 입력값을 저장하는 단계와,
    상기 저장된 베타 입력값과, 상기 윈도우 크기 만큼의 상기 델타 메트릭을 역순으로 입력받아, 상기 베타 입력값과 상기 델타 메트릭을 가지고 상기 윈도우 크기에 따른 베타 메트릭 값을 계산하는 단계와,
    상기 계산된 베타 메트릭 값들을 정순으로 변환하여 출력하는 단계를 포함하여 구성되는 것을 특징으로 하는 가변 윈도우가 적용된 터보 복호화 방법.
KR1020040036742A 2004-05-24 2004-05-24 가변 윈도우가 적용된 터보 복호화 장치 및 방법 KR100744367B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020040036742A KR100744367B1 (ko) 2004-05-24 2004-05-24 가변 윈도우가 적용된 터보 복호화 장치 및 방법
US11/135,633 US7373582B2 (en) 2004-05-24 2005-05-24 Apparatus and method for turbo decoding using a variable window size

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020040036742A KR100744367B1 (ko) 2004-05-24 2004-05-24 가변 윈도우가 적용된 터보 복호화 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20050111843A KR20050111843A (ko) 2005-11-29
KR100744367B1 true KR100744367B1 (ko) 2007-07-30

Family

ID=35450363

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040036742A KR100744367B1 (ko) 2004-05-24 2004-05-24 가변 윈도우가 적용된 터보 복호화 장치 및 방법

Country Status (2)

Country Link
US (1) US7373582B2 (ko)
KR (1) KR100744367B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100850744B1 (ko) 2005-12-08 2008-08-06 한국전자통신연구원 Llr 계산 장치 및 계산 방법

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7917834B2 (en) 2005-12-08 2011-03-29 Electronics And Telecommunications Research Institute Apparatus and method for computing LLR
KR100895670B1 (ko) * 2007-01-15 2009-05-08 (주)카이로넷 슬라이딩 윈도우 방식을 이용한 터보 디코딩 방법, 이를 수행하는 터보 디코더 및 무선 수신 장치
US8098774B1 (en) * 2007-06-15 2012-01-17 Marvell International Ltd. Methods and apparatus for providing a ML decoding pipeline for QPSK MIMO OFDM receivers
CN102396158A (zh) * 2009-06-18 2012-03-28 中兴通讯股份有限公司 一种lte中并行turbo译码的方法及装置
US8630379B1 (en) * 2010-06-23 2014-01-14 Marvell International Ltd. Methods and apparatus for multiple input multiple output (MIMO) successive interference cancellation (SIC)
US8843812B1 (en) * 2011-03-23 2014-09-23 Sk Hynix Memory Solutions Inc. Buffer management in a turbo equalization system
US9143166B1 (en) 2011-03-23 2015-09-22 Sk Hynix Memory Solutions Inc. Adaptive scheduling of turbo equalization based on a metric
US9003266B1 (en) * 2011-04-15 2015-04-07 Xilinx, Inc. Pipelined turbo convolution code decoder
US8843807B1 (en) 2011-04-15 2014-09-23 Xilinx, Inc. Circular pipeline processing system
CN103595424B (zh) * 2012-08-15 2017-02-08 重庆重邮信科通信技术有限公司 分量译码方法、译码器及Turbo译码方法、装置
CN103916142A (zh) * 2013-01-04 2014-07-09 联想(北京)有限公司 信道译码器和译码方法
US9094029B2 (en) 2013-05-03 2015-07-28 Marvell World Trade Ltd. Systems and methods for ordering codewords based on posterior information in successive interference cancellation (SIC) receivers
US9490938B1 (en) 2014-01-06 2016-11-08 Marvell International Ltd. Systems and methods for performing iterative interference cancellation

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010015765A (ko) * 1998-08-17 2001-02-26 마이클 더블유.세일즈 최적 성능을 갖는 터보 코드 인터리버
US6452979B1 (en) 2000-09-06 2002-09-17 Motorola, Inc. Soft output decoder for convolutional codes
US6516437B1 (en) 2000-03-07 2003-02-04 General Electric Company Turbo decoder control for use with a programmable interleaver, variable block length, and multiple code rates
KR20040013475A (ko) * 2002-08-06 2004-02-14 삼성전자주식회사 터보 복호화 장치

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6563877B1 (en) * 1998-04-01 2003-05-13 L-3 Communications Corporation Simplified block sliding window implementation of a map decoder
US6381728B1 (en) * 1998-08-14 2002-04-30 Qualcomm Incorporated Partitioned interleaver memory for map decoder
FI109162B (fi) * 2000-06-30 2002-05-31 Nokia Corp Menetelmä ja järjestely konvoluutiokoodatun koodisanan dekoodaamiseksi
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
US7200799B2 (en) * 2001-04-30 2007-04-03 Regents Of The University Of Minnesota Area efficient parallel turbo decoding
US7058874B2 (en) * 2002-05-24 2006-06-06 Lucent Technologies Inc. Interleaver address generator and method of generating an interleaver address

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010015765A (ko) * 1998-08-17 2001-02-26 마이클 더블유.세일즈 최적 성능을 갖는 터보 코드 인터리버
US6516437B1 (en) 2000-03-07 2003-02-04 General Electric Company Turbo decoder control for use with a programmable interleaver, variable block length, and multiple code rates
US6452979B1 (en) 2000-09-06 2002-09-17 Motorola, Inc. Soft output decoder for convolutional codes
KR20040013475A (ko) * 2002-08-06 2004-02-14 삼성전자주식회사 터보 복호화 장치

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100850744B1 (ko) 2005-12-08 2008-08-06 한국전자통신연구원 Llr 계산 장치 및 계산 방법

Also Published As

Publication number Publication date
US20050273687A1 (en) 2005-12-08
KR20050111843A (ko) 2005-11-29
US7373582B2 (en) 2008-05-13

Similar Documents

Publication Publication Date Title
US7373582B2 (en) Apparatus and method for turbo decoding using a variable window size
US6769091B2 (en) Encoding method and apparatus using squished trellis codes
KR100321978B1 (ko) 통신시스템에서반복복호장치및방법
US6665357B1 (en) Soft-output turbo code decoder and optimized decoding method
KR100703307B1 (ko) 터보 복호화 장치 및 방법
KR20020007352A (ko) 고도의 병렬식 맵 디코더
US7246298B2 (en) Unified viterbi/turbo decoder for mobile communication systems
JP2004015285A (ja) ターボ復号方法及びターボ復号装置
JP3670520B2 (ja) ターボ復号器およびターボ復号装置
EP4096101A1 (en) Methods and apparatus for programmable decoding of a plurality of code types
US20050278611A1 (en) High-speed turbo decoding apparatus and method thereof
US8009769B2 (en) Method and a device for decoding slice codes
CN101217336B (zh) TD-SCDMA/3G硬核turbo译码器
JP2002076921A (ja) 誤り訂正符号復号方法及び装置
KR100762612B1 (ko) 터보 복호화 장치에서 인터리버와 디인터리버간 메모리공유 장치 및 방법
KR100830500B1 (ko) 터보 인터리버에서의 터보 인터리버 어드레스 출력 방법 및 그 장치
US7652597B2 (en) Multimode decoder
KR100617822B1 (ko) 터보 복호기를 위한 고속 입력 장치 및 방법
KR100625242B1 (ko) 터보 복호화 장치 및 방법
KR100447175B1 (ko) 터보 디코딩 방법 및 이를 위한 장치
KR100845829B1 (ko) 터보 디코더 및 디코딩 방법
KR20010011736A (ko) 엠에이피 방식을 사용한 터보 복호기
KR20060040789A (ko) 터보 부호의 복호화 장치 및 방법

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
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: 20130627

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20140627

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20150629

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20160629

Year of fee payment: 10

LAPS Lapse due to unpaid annual fee