KR100895670B1 - 슬라이딩 윈도우 방식을 이용한 터보 디코딩 방법, 이를 수행하는 터보 디코더 및 무선 수신 장치 - Google Patents

슬라이딩 윈도우 방식을 이용한 터보 디코딩 방법, 이를 수행하는 터보 디코더 및 무선 수신 장치 Download PDF

Info

Publication number
KR100895670B1
KR100895670B1 KR1020070004326A KR20070004326A KR100895670B1 KR 100895670 B1 KR100895670 B1 KR 100895670B1 KR 1020070004326 A KR1020070004326 A KR 1020070004326A KR 20070004326 A KR20070004326 A KR 20070004326A KR 100895670 B1 KR100895670 B1 KR 100895670B1
Authority
KR
South Korea
Prior art keywords
metric
backward metric
backward
previously stored
value
Prior art date
Application number
KR1020070004326A
Other languages
English (en)
Other versions
KR20080067134A (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 KR1020070004326A priority Critical patent/KR100895670B1/ko
Publication of KR20080067134A publication Critical patent/KR20080067134A/ko
Application granted granted Critical
Publication of KR100895670B1 publication Critical patent/KR100895670B1/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/29Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2957Turbo codes and decoding
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/39Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
    • H03M13/3905Maximum a posteriori probability [MAP] decoding or approximations thereof based on trellis or lattice decoding, e.g. forward-backward algorithm, log-MAP decoding, max-log-MAP decoding
    • H03M13/3927Log-Likelihood Ratio [LLR] computation by combination of forward and backward metrics into LLRs
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/39Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
    • H03M13/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
    • 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/0052Realisations of complexity reduction techniques, e.g. pipelining or use of look-up tables
    • H04L1/0053Realisations of complexity reduction techniques, e.g. pipelining or use of look-up tables specially adapted for power saving

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Error Detection And Correction (AREA)

Abstract

슬라이딩 윈도우 방식을 이용한 터보 디코딩 방법은 (a) 입력받은 프레임 내에 포함된 복수의 비트들과 제1 외부 정보(Extrinsic information)를 기초로 생성된 브랜치 메트릭(Branch Metric)을 포워드 방향(forward direction)으로 계산하여 포워드 메트릭(forward metric)을 생성하는 단계, (b) 상기 브랜치 메트릭을 백워드 방향(backward direction)으로 계산하여 백워드 메트릭(backward metric)을 생성하는 단계, (c) 상기 백워드 메트릭을 인코딩하여 상기 인코딩된 백워드 메트릭을 상기 메모리에 저장하는 단계 및 (d) 상기 브랜치 메트릭, 상기 포워드 메트릭, 이전에 저장된 백워드 메트릭을 기초로 LLR(Log-likelihood Ratio) 및 제2 외부 정보를 계산하는 단계를 포함한다. 따라서 터보 디코딩 방법은 슬라이딩 윈도우 방식에서 메모리 크기를 줄일 수 있다.
Figure R1020070004326
터보 디코딩 방법, 터보 디코더, 슬라이딩 윈도우

Description

슬라이딩 윈도우 방식을 이용한 터보 디코딩 방법, 이를 수행하는 터보 디코더 및 무선 수신 장치{TURBO DECODING METHOD USING A SLIDING WINDOW SCHEME, TURBO DECODER PERFORMING THE SAME, AND RF RECEIVER}
도 1은 일반적인 무선 송수신 장치를 나타내는 블록도이다.
도 2는 본 발명의 일 실시예에 따른 터보 디코더를 나타내는 블록도이다.
도 3은 시소 디코더의 구성을 나타내는 블록도이다.
도 4는 시소 디코더에 의한 동작 과정을 보여주는 그래프이다.
도 5는 시소 디코더에 의한 백워드 메트릭의 인코딩 및 디코딩 과정을 보여주는 그래프이다.
도 6은 본 발명의 터보 디코더의 시물레이션 환경을 나타내는 테이블이다.
도 7a 내지 7c는 종래의 터보 디코더와 본 발명의 일 실시예에 의한 터보 디코더에 대한 비트 에러율(BER, Bit Error Rate)을 비교하기 위한 그래프들이다.
도 8은 보더 메모리를 사용하지 않는 방식, 보더 메모리를 사용하되 백워드 메트릭을 인코딩하지 않는 방식 및 보더 메모리를 사용하고 백워드 메트릭을 인코딩하는 방식에 대한 각각의 메모리 크기를 비교하기 위한 테이블이다.
도 9는 보더 메모리를 사용하지 않는 방식 및 보더 메모리를 사용하고 백워드 메트릭을 인코딩하는 방식에 대한 각각의 전력 소모를 비교하기 위한 테이블이 다.
<도면의 주요 부분에 대한 부호의 설명>
300 : 시소 디코더 310 : 브랜치 메트릭 유닛
320 : 포워드 메트릭 유닛 330 : 백워드 메트릭 유닛
340 : LLR 유닛 1000: 메모리
본 발명은 터보 디코딩 방법에 관한 것으로 특히, 슬라이딩 윈도우 방식에서 메모리 크기를 줄일 수 있는 터보 디코딩 방법 및 이를 수행하는 터보 디코더에 관한 것이다.
터보 코드는 무선 통신 분야에서 가장 강력한 채널 코딩 방법들 중 하나로 새논(Shannon)의 한계에 거의 근접하는 성능을 보여준다. 오늘날 집적 회로(IC, Integrated Circuit)의 지속적인 소형화로 인하여 터보 디코딩 방법은 모바일 장치에도 적용 가능하게 되었으며, W-CDMA(Wideband Code Division Multiple Access), CDMA-2000, WiBro(Wireless Broadband Internet)와 같은 무선 통신 분야의 표준에 채택되었다.
일반적으로 터보 디코더는 MAP (Maximum A Posteriori) 알고리즘 또는 MAP을 로그 도메인 상에서 구현한 MAX-log-MAP 알고리즘을 사용한다. 그러나 MAP 알고리즘이 하드웨어 상에서 구현될 때 많은 어려움이 있으므로, 터보 디코더는 하드웨어 상에서 구현의 편의를 위하여 슬라이딩 윈도우 방식(sliding window scheme)을 채택한다. 즉, 터보 디코더는 프레임 전체를 한꺼번에 MAP 알고리즘을 이용한 디코딩을 수행하는 대신 프레임을 윈도우 단위로 나누고 윈도우 단위로 MAP 알고리즘을 이용한 디코딩을 수행한다.
터보 디코더에서 사용되는 슬라이딩 윈도우 방식은 크게 두 가지로 분류된다. 하나는 메모리를 사용하지 않고 윈도우의 각 경계에서 필요한 값을 직접 계산하는 방식(이하, 더미 계산(dummy calculation) 방식이라고 함)이고, 다른 하나는 이전의 윈도우에서 계산된 결과를 메모리에 저장하고 저장된 결과를 이용하는 방식(이하, 보더 메모리(border memory) 방식이라고 함)이다.
더미 계산 방식은 윈도우의 초기 값을 계산하여야 하므로 많은 연산량이 요구 되는 문제점이 있고, 보더 메모리 방식은 이전의 윈도우에서 계산된 결과를 메모리에 저장해야 하므로 메모리 크기가 증가하는 문제점이 있다.
한편, 최근에는 무선 통신 분야에서 높은 데이터 전송률로 인하여 최근에는 한번에 2 비트들씩 처리할 수 있는 더블 이진 터보 디코더(double-binary turbo decoder)가 출현하였다. 더블 이진 터보 디코더는 한번에 처리해야할 비트 수가 늘어남에 따라 종래의 싱글 이진 터보 디코더(single binary turbo decoder)보다 많은 연산량을 요구한다.
한번에 처리하는 비트들의 수가 증가함에 따라 더미 계산 방식에서는 많은 연산량이 요구되므로 보더 메모리 방식을 채택한 터보 디코더가 선호될 수 있다. 한편, 보더 메모리 방식을 채택한 터보 디코더에서는 이전의 윈도우에서 계산된 결 과를 효율적으로 저장하여 메모리의 크기를 줄일 수 있는 방법이 요구된다.
일반적으로 보더 메모리 방식에서 요구되는 메모리의 크기(BM)는 다음의 [수학식 1]을 만족시킨다.
[수학식 1]
Figure 112007004005190-pat00001
(NMAX는 터보 디코더가 지원할 수 최대 프레임의 길이, WS는 윈도우의 크기, K는 trellis의 상태 수, P는 각각의 상태를 표현하는데 필요한 비트 수)
일반적으로 NMAX와 K는 표준 안에 정해져 있으므로 보더 메모리 방식에서 요구되는 메모리 크기(BM)는 윈도우의 크기(WS)와 상태를 표현하는데 필요한 비트 수(P)에 의하여 결정된다. 그러나 윈도우 크기의 증가는 터보 디코딩 연산 과정에서 필요한 메모리의 증가를 불러일으킬 수 있으므로 바람직한 방법은 각각의 상태를 표현하는데 필요한 비트 수를 줄이는 것이다.
본 발명의 목적은 상기 종래 기술의 문제점을 해결하기 위하여 슬라이딩 윈도우 방식에서 메모리 크기를 줄일 수 있는 터보 디코딩 방법을 제공하는데 있다.
본 발명의 다른 목적은 슬라이딩 윈도우 방식에서 메모리 크기를 줄일 수 있 는 터보 디코더를 제공하는 데 있다.
본 발명의 또 다른 목적은 슬라이딩 윈도우 방식에서 메모리 크기를 줄일 수 있는 터보 디코더를 포함하는 무선 수신 장치를 제공하는 데 있다.
상기 목적을 달성하기 위하여 본 발명의 슬라이딩 윈도우 방식을 이용한 터보 디코딩 방법은 (a) 입력받은 프레임 내에 포함된 복수의 비트들과 제1 외부 정보(Extrinsic information)를 기초로 생성된 브랜치 메트릭(Branch Metric)을 포워드 방향(forward direction)으로 계산하여 포워드 메트릭(forward metric)을 생성하는 단계, (b) 상기 브랜치 메트릭을 백워드 방향(backward direction)으로 계산하여 백워드 메트릭(backward metric)을 생성하는 단계, (c) 상기 백워드 메트릭을 인코딩하여 상기 인코딩된 백워드 메트릭을 상기 메모리에 저장하는 단계 및 (d) 상기 브랜치 메트릭, 상기 포워드 메트릭, 이전에 저장된 백워드 메트릭을 기초로 LLR(Log-likelihood Ratio) 및 제2 외부 정보를 계산하는 단계를 포함한다.
상기 (b) 단계는 상기 이전에 저장된 백워드 메트릭을 초기 값으로 설정하는 단계 및 상기 설정된 초기 값 및 상기 브랜치 메트릭 기초로 상기 백워드 메트릭(backward metric)을 계산하는 단계를 포함할 수 있다.
상기 (c) 단계는 상기 백워드 메트릭의 크기를 줄이기 위하여, 손실 압축 방법(lossy compression method)을 사용하여 상기 백워드 메트릭을 인코딩하는 단계를 포함할 수 있다.
실시예에 따라, 상기 (c) 단계는 상기 백워드 메트릭이 2N(N은 상수)보다 작은 양수인 경우에는 초기 값으로 매핑하는 단계 및 상기 백워드 메트릭이 2L(L>=N)보다 크거나 같고 2L+1보다 작은 경우에는 상기 백워드 메트릭을 상기 (L+1)로부터 상기 N을 뺀 값으로 매핑하는 단계를 포함할 수 있다. 또한, 상기 백워드 메트릭을 상기 (L+1)로부터 상기 N을 뺀 값으로 매핑하는 단계는 상기 (L+1)로부터 상기 N을 뺀 값이 양의 최대 값을 초과하는 경우에는 상기 인코딩된 백워드 메트릭을 양의 최대값으로 설정하는 단계를 포함할 수 있다.
상기 (c) 단계는 상기 백워드 메트릭이 -2N(N은 상수)보다 큰 음수인 경우에는 상기 초기 값으로 매핑하는 단계 및 상기 백워드 메트릭이 -2L(L>=N)보다 작거나 같고 -2L+1보다 큰 경우에는 상기 백워드 메트릭을 상기 (L+1)로부터 상기 N을 뺀 값의 절대값으로 매핑한 다음 상기 절대값의 MSB(Most Significant Bit)를 1의 보수(one's complement)로 변환하는 단계를 더 포함할 수 있다. 또한, 상기 백워드 메트릭을 상기 (L+1)로부터 상기 N을 뺀 값의 절대값으로 매핑하는 단계는 상기 (L+1)로부터 상기 N을 뺀 값이 음의 최대 값을 초과하는 경우에는 상기 인코딩된 백워드 메트릭을 양의 최대값으로 설정하는 단계를 포함하고, 이것에 의하여(whereby) 상기 양의 최대값에 대한 절대값의 MSB를 1의 보수(one's complement)로 변환할 수 있다.
상기 (d) 단계는 상기 이전에 저장된 백워드 메트릭을 디코딩하여 디코딩된 백워드 메트릭을 생성하는 단계를 포함할 수 있다.
실시예에 따라, 상기 (d) 단계는 상기 이전에 저장된 백워드 메트릭이 상기 초기 값에 상응하는 경우에는 상기 이전에 저장된 백워드 메트릭을 상기 초기 값으로 매핑하는 단계, 상기 이전에 저장된 백워드 메트릭이 상기 초기 값에 상응하지 않고 상기 이전에 저장된 백워드 메트릭의 MSB(Most Significant Bit)가 제1 값에 상응하는 경우에는 상기 이전에 저장된 백워드 메트릭을 2(상기 N+상기 이전에 저장된 백워드 메트 릭-1)으로 매핑하는 단계 및 상기 이전에 저장된 백워드 메트릭이 상기 초기 값에 상응하지 않고 상기 이전에 저장된 백워드 메트릭의 MSB(Most Significant Bit)가 제2 값에 상응하는 경우에는 상기 MSB를 상기 제1 값으로 변환한 다음 상기 이전에 저장된 백워드 메트릭을 -2(상기 N+상기 이전에 저장된 백워드 메트릭-1)으로 매핑하는 단계를 포함할 수 있다.
상기 방법은 (e) 상기 입력받은 프레임에 포함된 모든 비트들에 대하여 상기 (a) 내지 (d) 단계들을 반복하는 단계를 더 포함할 수 있다.
상기 다른 목적을 달성하기 위하여 본 발명의 슬라이딩 윈도우 방식을 이용한 터보 디코더는 입력받은 프레임 내에 포함된 복수의 비트들과 제1 외부 정보(Extrinsic information)를 기초로 브랜치 메트릭(Branch Metric)을 생성하는 브랜치 메트릭 유닛, 상기 생성된 브랜치 메트릭(Branch Metric)을 포워드 방향(forward direction)으로 계산하여 포워드 메트릭(forward metric)을 생성하는 포워드 메트릭 유닛, 상기 생성된 브랜치 메트릭을 백워드 방향(backward direction)으로 계산하여 백워드 메트릭(backward metric)을 생성하고, 상기 백워드 메트릭을 인코딩하여 상기 인코딩된 백워드 메트릭을 메모리에 저장하는 백워드 메트릭 유닛, 및 상기 브랜치 메트릭, 상기 포워드 메트릭, 이전에 저장된 백워드 메트릭을 기초로 LLR(Log-likelihood Ratio) 및 제2 외부 정보를 계산하는 LLR 유닛을 포함한다.
상기 백워드 메트릭 유닛은 상기 이전에 저장된 백워드 메트릭을 초기 값으로 설정하고, 상기 설정된 초기 값 및 상기 브랜치 메트릭 기초로 상기 백워드 메트릭(backward metric)을 계산할 수 있다.
상기 백워드 메트릭 유닛은 상기 백워드 메트릭의 크기를 줄이기 위하여, 손실 압축 방법(lossy compression method)을 사용하여 상기 백워드 메트릭을 인코딩할 수 있다.
실시예에 따라, 상기 백워드 메트릭 유닛은 상기 백워드 메트릭이 2N(N은 상수)보다 작은 양수인 경우에는 초기 값으로 매핑하고, 상기 백워드 메트릭이 2L(L>=N)보다 크거나 같고 2L+1보다 작은 경우에는 상기 백워드 메트릭을 상기 (L+1)로부터 상기 N을 뺀 값으로 매핑할 수 있다, 또한, 상기 백워드 메트릭 유닛은 상기 (L+1)로부터 상기 N을 뺀 값이 양의 최대 값을 초과하는 경우에는 상기 인코딩된 백워드 메트릭을 양의 최대값으로 설정할 수 있다.
상기 백워드 메트릭 유닛은 상기 백워드 메트릭이 -2N(N은 상수)보다 큰 음 수인 경우에는 상기 초기 값으로 매핑하고, 상기 백워드 메트릭이 -2L(L>=N)보다 작거나 같고 -2L+1보다 큰 경우에는 상기 백워드 메트릭을 상기 (L+1)로부터 상기 N을 뺀 값의 절대값으로 매핑한 다음 상기 절대값의 MSB(Most Significant Bit)를 1의 보수(one's complement)로 변환할 수 있다. 또한, 상기 백워드 메트릭 유닛은 상기 (L+1)로부터 상기 N을 뺀 값이 음의 최대 값을 초과하는 경우에는 상기 인코딩된 백워드 메트릭을 양의 최대값으로 설정하고, 이것에 의하여(whereby) 상기 양의 최대값에 대한 절대값의 MSB를 1의 보수(one's complement)로 변환할 수 있다.
상기 LLR 유닛은 상기 이전에 저장된 백워드 메트릭을 디코딩하여 디코딩된 백워드 메트릭을 생성할 수 있다.
실시예에 따라, 상기 LLR 유닛은 상기 이전에 저장된 백워드 메트릭이 상기 초기 값에 상응하는 경우에는 상기 이전에 저장된 백워드 메트릭을 상기 초기 값으로 매핑하고, 상기 이전에 저장된 백워드 메트릭이 상기 초기 값에 상응하지 않고 상기 이전에 저장된 백워드 메트릭의 MSB(Most Significant Bit)가 제1 값에 상응하는 경우에는 상기 이전에 저장된 백워드 메트릭을 2(상기 N+상기 이전에 저장된 백워드 메트릭-1)으로 매핑하며, 상기 이전에 저장된 백워드 메트릭이 상기 초기 값에 상응하지 않고 상기 이전에 저장된 백워드 메트릭의 MSB(Most Significant Bit)가 제2 값에 상응하는 경우에는 상기 MSB를 상기 제1 값으로 변환한 다음 상기 이전에 저장된 백워드 메트릭을 -2(상기 N+상기 이전에 저장된 백워드 메트릭-1)으로 매핑할 수 있다.
예를 들어, 상기 터보 디코더는 더블 이진 터보 디코더(double binary turbo decoder)일 수 있다.
상기 또 다른 목적을 달성하기 위하여 본 발명의 무선 수신 장치는 무선 채널로부터 입력받은 프레임을 기초로 디모듈레이션을 수행하는 디모듈레이션 유닛 및 상기 디모듈레이션된 프레임을 기초로 터보 디코딩 연산을 수행하고, 상기 터보 디코딩 연산 과정에서 생성된 백워드 메트릭을 인코딩하여 상기 인코딩된 백워드 메트릭을 저장하며, 상기 터보 디코딩 연산 과정에서 LLR을 계산할 때 이전에 저장된 백워드 메트릭을 디코딩하고, 상기 디코딩된 백워드 메트릭을 이용하여 상기 LLR을 계산하는 채널 디코딩 유닛을 포함한다.
상기 채널 디코딩 유닛은 상기 프레임 내에 포함된 복수의 비트들과 제1 외부 정보(Extrinsic information)를 기초로 브랜치 메트릭(Branch Metric)을 생성하는 브랜치 메트릭 유닛, 상기 생성된 브랜치 메트릭(Branch Metric)을 포워드 방향(forward direction)으로 계산하여 포워드 메트릭(forward metric)을 생성하는 포워드 메트릭 유닛, 상기 생성된 브랜치 메트릭을 백워드 방향(backward direction)으로 계산하여 상기 백워드 메트릭(backward metric)을 생성하고, 상기 백워드 메트릭을 인코딩하여 상기 인코딩된 백워드 메트릭을 메모리에 저장하는 백워드 메트릭 유닛 및 상기 브랜치 메트릭, 상기 포워드 메트릭, 상기 이전에 저장된 백워드 메트릭을 기초로 LLR(Log-likelihood Ratio) 및 제2 외부 정보를 계산하는 LLR 유닛을 포함하는 터보 디코더를 포함할 수 있다.
상기 백워드 메트릭 유닛은 상기 이전에 저장된 백워드 메트릭을 초기 값으 로 설정하고, 상기 설정된 초기 값 및 상기 브랜치 메트릭 기초로 상기 백워드 메트릭(backward metric)을 계산할 수 있다.
상기 백워드 메트릭 유닛은 상기 백워드 메트릭의 크기를 줄이기 위하여, 손실 압축 방법(lossy compression method)을 사용하여 상기 백워드 메트릭을 인코딩할 수 있다.
실시예에 따라, 상기 백워드 메트릭 유닛은 상기 백워드 메트릭이 2N(N은 상수)보다 작은 양수인 경우에는 초기 값으로 매핑하고, 상기 백워드 메트릭이 2L(L>=N)보다 크거나 같고 2L+1보다 작은 경우에는 상기 백워드 메트릭을 상기 (L+1)로부터 상기 N을 뺀 값으로 매핑할 수 있다. 또한, 상기 백워드 메트릭 유닛은 상기 (L+1)로부터 상기 N을 뺀 값이 양의 최대 값을 초과하는 경우에는 상기 인코딩된 백워드 메트릭을 양의 최대값으로 설정할 수 있다.
상기 백워드 메트릭 유닛은 상기 백워드 메트릭이 -2N(N은 상수)보다 큰 음수인 경우에는 상기 초기 값으로 매핑하고, 상기 백워드 메트릭이 -2L(L>=N)보다 작거나 같고 -2L+1보다 큰 경우에는 상기 백워드 메트릭을 상기 (L+1)로부터 상기 N을 뺀 값의 절대값으로 매핑한 다음 상기 절대값의 MSB를 1의 보수(one's complement)로 변환할 수 있다. 또한, 상기 백워드 메트릭 유닛은 상기 (L+1)로부터 상기 N을 뺀 값이 음의 최대 값을 초과하는 경우에는 상기 인코딩된 백워드 메트릭을 양의 최대값으로 설정하고, 이것에 의하여(whereby) 상기 양의 최대값에 대한 절대값의 MSB를 1의 보수(one's complement)로 변환할 수 있다.
상기 LLR 유닛은 상기 이전에 저장된 백워드 메트릭을 디코딩하여 디코딩된 백워드 메트릭을 생성할 수 있다.
실시예에 따라, 상기 LLR 유닛은 상기 이전에 저장된 백워드 메트릭이 상기 초기 값에 상응하는 경우에는 상기 이전에 저장된 백워드 메트릭을 상기 초기 값으로 매핑하고, 상기 이전에 저장된 백워드 메트릭이 상기 초기 값에 상응하지 않고 상기 이전에 저장된 백워드 메트릭의 MSB(Most Significant Bit)가 제1 값에 상응하는 경우에는 상기 이전에 저장된 백워드 메트릭을 2(상기 N+상기 이전에 저장된 백워드 메트릭-1)으로 매핑하며, 상기 이전에 저장된 백워드 메트릭이 상기 초기 값에 상응하지 않고 상기 이전에 저장된 백워드 메트릭의 MSB(Most Significant Bit)가 제2 값에 상응하는 경우에는 상기 MSB를 상기 제1 값으로 변환한 다음 상기 이전에 저장된 백워드 메트릭을 -2(상기 N+상기 이전에 저장된 백워드 메트릭-1)으로 매핑할 수 있다.
예를 들어, 상기 터보 디코더는 더블 이진 터보 디코더(double binary turbo decoder)일 수 있다.
따라서 본 발명에서는 슬라이딩 윈도우 방식에서 메모리 크기를 줄일 수 있다.
본문에 개시되어 있는 본 발명의 실시예들에 대해서, 특정한 구조적 내지 기능적 설명들은 단지 본 발명의 실시예를 설명하기 위한 목적으로 예시된 것으로, 본 발명의 실시예들은 다양한 형태로 실시될 수 있으며 본문에 설명된 실시예들에 한정되는 것으로 해석되어서는 아니 된다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 형태를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 본문에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 개시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위로부터 이탈되지 않은 채 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것 으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 설시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
한편, 어떤 실시예가 달리 구현 가능한 경우에 특정 블록 내에 명기된 기능 또는 동작이 순서도에 명기된 순서와 다르게 일어날 수도 있다. 예를 들어, 연속하는 두 블록이 실제로는 실질적으로 동시에 수행될 수도 있고, 관련된 기능 또는 동작에 따라서는 상기 블록들이 거꾸로 수행될 수도 있다.
이하 본 발명의 실시예들을 도면과 함께 설명하고자 한다.
도 1은 일반적인 무선 송수신 장치를 나타내는 블록도이다.
도 1을 참조하면, 무선 송수신 장치(100)는 데이터를 전송하는 무선 송신 장치(110)와 데이터를 수신하는 무선 수신 장치(120)를 포함한다.
무선 수신 장치(120)는 수신기(122), 디모듈레이션 유닛(124) 및 채널 디코딩 유닛(124)을 포함한다.
수신기(122)는 무선 채널로부터 프레임을 입력받는다. 예를 들어, 입력받은 프레임은 터보 인코딩 방법에 의하여 인코딩된 데이터에 상응할 수 있다.
디모듈레이션 유닛(124)은 무선 채널로부터 입력받은 프레임을 기초로 디모듈레이션을 수행한다. 예를 들어, 무선 채널 상에서 모듈레이션 및 디모듈레이션 방식은 BPSK (Binary Phase Shift Keying), GMSK (Gaussian Minimum Shift Keying), QAM (Quadrature Amplitude Modulation) 등을 포함할 수 있다.
채널 디코딩 유닛(124)은 디모듈레이션 유닛(124)에 의하여 디모듈레이션된 프레임을 기초로 터보 디코딩 연산을 수행하고, 터보 디코딩 연산 과정에서 생성된 데이터(예를 들어, 백워드 메트릭)을 인코딩하여 인코딩된 데이터를 저장한다. 나중에 채널 디코딩 유닛(124)은 터보 디코딩 연산 과정에서 LLR(Log-Likelihood Ratio)을 계산할 때 이전에 저장된 데이터를 디코딩하고, 디코딩된 데이터를 이용하여 LLR을 계산한다. 즉, 채널 디코딩 유닛(124)은 보더 메모리 기법을 이용하여 터보 디코딩 연산을 수행한다.
이하, 도 2 내지 도 5를 참조하여 채널 디코딩 유닛(124)에서 채택된 터보 디코더의 동작을 설명한다.
도 2는 본 발명의 일 실시예에 따른 터보 디코더를 나타내는 블록도이다.
도 2의 경우 터보 디코더(200)는 더블 이진 터보 디코더(double binary turbo decoder)의 구성을 나타낸다. 다만, 더블 이진 터보 디코더는 설명의 편의를 위한 것으로 본 발명의 일 실시예에 따른 터보 디코더(200)는 더블 이진 터보 디코더에 한정되지 않는다.
도 2를 참조하면, 터보 디코더(200)는 제1 및 제2 시소 디코더들(SISO - Soft Input Soft Output - decoders)(210, 220), 제1 및 제2 인터리버들(230, 240), 제1 및 제2 디인터리버들(250, 260) 및 심볼 결정 유닛(270)을 포함한다.
제1 및 제2 시소 디코더들(210, 220)은 프레임 내에 포함된 복수의 비트들과 제1 외부 정보(Extrinsic information)를 기초로 디코딩 연산을 수행하고, LLR 및 제2 외부 정보를 출력한다.
제1 시소 디코더(210)는 입력으로서 인터리브되지 않은 데이터(non-interleaved data)를 이용하고, 제2 시소 디코더(220)는 입력으로서 제1 인터리버(230)에 의하여 인터리브된 데이터(interleaved data)를 이용한다.
터보 디코더(200)는 입력된 비트들을 기초로 제1 시소 디코더(210), 제2 인터리버(240), 제2 시소 디코더(220) 및 디인터리버(250)에 의하여 형성된 루프를 통하여 반복적으로 디코딩 연산을 수행한 다음 최종적으로 LLR을 출력한다.
상기 루프에 의하여 출력된 LLR은 제2 디인터리버(260)에 의하여 디인터리브된 후 심볼 결정부(270)에 입력된다.
심볼 결정부(270)는 제2 디인터리버(260)로부터 출력된 LLR을 기초로 최종적으로 입력된 데이터를 판정한다. 예를 들어, 심볼 결정부(270)는 경 판정(hard decision) 방식을 이용할 수 있다.
한편, 도 2의 경우 터보 디코더 내에 포함된 각 블록들의 논리적인 구성을 나타내며, 실시예에 따라 시분할(time multiplex) 방식을 이용하여 하나의 시소 디코더만을 채택할 수 있다.
도 3은 시소 디코더의 구성을 나타내는 블록도이다.
시소 디코더(300)는 도 2에 나타난 제1 및 제2 시소 디코더들(210, 220)에 상응할 수 있다.
도 3을 참조하면, 시소 디코더(300)는 브랜치 메트릭 유닛(310), 포워드 메트릭 유닛(320), 백워드 메트릭 유닛(330) 및 LLR 유닛(240)을 포함한다. 도 3에 도시된 메모리(1000)는 무선 수신 장치(120) 내에 포함되며, 실시예에 따라 시소 디코더(300)에도 포함될 수 있다.
브랜치 메트릭 유닛(310)은 입력받은 프레임 내에 포함된 복수의 비트들과 제1 외부 정보(Extrinsic information)를 기초로 브랜치 메트릭(Branch Metric)을 생성한다. 예를 들어, 제1 외부 정보는 제1 시소 디코더(210)로부터 출력될 수 있다.
포워드 메트릭 유닛(320)은 브랜치 메트릭 유닛(310)에 의하여 생성된 브랜치 메트릭(Branch Metric)을 포워드 방향(forward direction)으로 계산하여 포워드 메트릭(forward metric)을 생성한다.
백워드 메트릭 유닛(330)은 브랜치 메트릭 유닛(310)에 의하여 생성된 브랜치 메트릭을 백워드 방향(backward direction)으로 계산하여 백워드 메트릭(backward metric)을 생성하고, 백워드 메트릭을 인코딩하여 인코딩된 백워드 메트릭을 메모리(1000)에 저장한다. 백워드 메트릭 유닛(330)은 이전에 저장된 백워 드 메트릭을 초기 값으로 설정하고, 설정된 초기 값과 브랜치 메트릭을 기초로 백워드 메트릭을 계산할 수 있다.
예를 들어, 백워드 메트릭 유닛(330)은 백워드 메트릭의 크기를 줄이기 위하여, 손실 압축 방법(lossy compression method)을 사용하여 상기 백워드 메트릭을 인코딩할 수 있다.
LLR 유닛(240)은 브랜치 메트릭 유닛(310)으로부터 출력된 브랜치 메트릭, 포워드 메트릭 유닛(320)으로부터 출력된 포워드 메트릭, 이전에 백워드 메트릭 유닛(330)에 의하여 메모리(1000)에 저장된 백워드 메트릭을 기초로 LLR(Log-likelihood Ratio) 및 제2 외부 정보를 계산한다.
예를 들어, LLR 유닛(240)은 이전에 메모리(1000)에 저장된 백워드 메트릭을 디코딩하여 디코딩된 백워드 메트릭을 기초로 LLR 및 제2 외부 정보를 계산할 수 있다.
도 4는 시소 디코더에 의한 동작 과정을 보여주는 그래프이다.
시소 디코더(300)는 브랜치 메트릭을 백워드 방향(backward direction)으로 계산하여 백워드 메트릭(backward metric)을 생성한다(도 4에 도시된 410 과정).
시소 디코더(300)는 백워드 메트릭을 인코딩하여 인코딩된 백워드 메트릭을 메모리(1000)에 저장한다(도 4에 도시된 420 과정).
시소 디코더(300)는 입력받은 프레임 내에 포함된 복수의 비트들과 제1 외부 정보(Extrinsic information)를 기초로 생성된 브랜치 메트릭(Branch Metric)을 포워드 방향(forward direction)으로 계산하여 포워드 메트릭(forward metric)을 생 성한다(도 4에 도시된 430 과정).
시소 디코더(300)는 도 4의 430 과정에서 계산된 브랜치 메트릭, 포워드 메트릭과 도 4의 420 과정에서 저장된 백워드 메트릭을 기초로 LLR(Log-likelihood Ratio) 및 제2 외부 정보를 계산한다(도 4에 도시된 440 과정).
도 5는 시소 디코더에 의한 백워드 메트릭의 인코딩 및 디코딩 과정을 보여주는 그래프이다.
시소 디코더에 의한 백워드 메트릭의 인코딩 과정은 다음과 같다.
백워드 메트릭 유닛(330)은 백워드 메트릭이 2N(N은 상수)보다 작은 양수인 경우에는 초기 값으로 매핑하고, 백워드 메트릭이 2L(L>=N)보다 크거나 같고 2L+1보다 작은 경우에는 상기 백워드 메트릭을 (L+1)로부터 상기 N을 뺀 값으로 매핑한다. (L+1)로부터 N을 뺀 값이 양의 최대 값을 초과하는 경우(예를 들어, 백워드 메트릭이 3비트라면 양의 최대 값은 011을 나타냄)에는 백워드 메트릭 유닛(330)은 인코딩된 백워드 메트릭을 양의 최대 값으로 설정한다.
백워드 메트릭 유닛(330)은 백워드 메트릭이 -2N(N은 상수)보다 큰 음수인 경우에는 초기 값으로 매핑하고, 백워드 메트릭이 -2L(L>=N)보다 작거나 같고 -2L+1보다 큰 경우에는 백워드 메트릭을 상기 (L+1)로부터 상기 N을 뺀 값의 절대 값으로 매핑한 다음 절대 값의 MSB(Most Significant Bit)를 1의 보수(one's complement)로 변환한다. (L+1)로부터 N을 뺀 값이 음의 최대 값을 초과하는 경우 (예를 들어, 백워드 메트릭이 3비트라면 음의 최대 값은 -011을 나타냄)에는 백워드 메트릭 유닛(330)은 인코딩된 백워드 메트릭을 양의 최대 값(예를 들어, 011)으로 설정하며, 양의 최대 값의 절대 값의 MSB를 1의 보수로 변환(예를 들어, 111)한다.
예를 들어, 백워드 메트릭을 3 비트로 나타내는 경우라면, 백워드 메트릭이 -15 내지 +15 내에 포함된 경우에는 초기 값인 0으로 매핑할 수 있고, 백워드 메트릭이 +16(=24) 내지 +31(=25-1)인 경우에는 001 (=5-4)로 매핑할 수 있으며, 백워드 메트릭이 -16(=-24) 내지 -31(=-25+1)인 경우에는 1의 음수인 -1을 1의 보수인 101로 매핑할 수 있다.
시소 디코더에 의한 백워드 메트릭의 디코딩 과정은 다음과 같다.
백워드 메트릭 유닛(330)은 백워드 메트릭이 초기 값에 상응하는 경우에는 백워드 메트릭을 초기 값으로 매핑하고, 백워드 메트릭이 상기 초기 값에 상응하지 않고 백워드 메트릭의 MSB(Most Significant Bit)가 제1 값(예를 들어, 0)에 상응하는 경우에는 백워드 메트릭을 2(상기 N+상기 이전에 저장된 백워드 메트릭-1)으로 매핑하며, 백워드 메트릭이 초기 값에 상응하지 않고 백워드 메트릭의 MSB(Most Significant Bit)가 제2 값(예를 들어, 1)에 상응하는 경우에는 MSB를 제1 값으로 변환한 다음 백워드 메트릭을 -2(상기 N+상기 이전에 저장된 백워드 메트릭-1)으로 매핑한다.
예를 들어, 백워드 메트릭을 3 비트로 나타내는 경우라면, 백워드 메트릭이 0인 경우 초기 값인 0으로 매핑할 수 있고, 백워드 메트릭이 001인 경우에는 16(=2(4+1-1))로 매핑할 수 있으며, 백워드 메트릭이 101인 경우에는 -16(=-2(4+1-1))로 매핑할 수 있다.
도 6은 본 발명의 터보 디코더의 시물레이션 환경을 나타내는 테이블이다.
도 6을 참조하면, 시소 디코더는 MAP(Maximum A Posteriori) 알고리즘을 로그 도메인에서 구현한 MAX-log-MAP 알고리즘을 사용하였으며, 윈도우 사이즈는 32 심볼로 가정하였다.
또한, 시소 디코더는 입력(Received Input)의 경우 전체 6 비트 중 2 비트를 소수(6, 2)로 가정하였고, 브랜치 메트릭과 상태 메트릭은 전체 10 비트 중 2 비트를 소수(10, 2)로 가정하였으며, 외부 정보는 전체 11 비트 중 2 비트(11, 2)로 가정하였고, LLR 값은 전체 12 비트 중 2 비트(12, 2)로 가정하였다.
도 7a 내지 7c는 종래의 터보 디코더와 본 발명의 일 실시예에 의한 터보 디코더에 대한 비트 에러율(BER, Bit Error Rate)을 비교하기 위한 그래프들이다.
도 7a 내지 7c는 모두 도 6에 나타난 시물레이션 환경을 가정하였다.
도 7a 내지 도 7c는 터보 디코더의 루프를 모두 8 번의 반복(iteration)하여 수행한 결과를 나타내며, 각각 240 비트 프레임, 1920 비트 프레임 및 4800 비트 프레임을 입력하여 나타난 그래프이다.
도 7a 내지 7c는 백워드 메트릭을 손실 압축 방식으로 인코딩하는 경우라도 성능의 저하가 거의 없음을 보여준다. 백워드 메트릭을 손실 압축 방식으로 인코딩 하는 경우라도 성능의 저하가 거의 없는 이유는 종래의 슬라이딩 윈도우 방식 역시 윈도우 단위로 백워드 메트릭을 계산하는 과정에서 근사 값을 사용하기 때문이다.
도 8은 보더 메모리를 사용하지 않는 방식, 보더 메모리를 사용하되 백워드 메트릭을 인코딩하지 않는 방식 및 보더 메모리를 사용하고 백워드 메트릭을 인코딩하는 방식에 대한 각각의 메모리 크기를 비교하기 위한 테이블이다.
도 8은 도 6에 나타난 시물레이션 환경을 가정하였다.
도 8을 참조하면, 보더 메모리를 사용하고 백워드 메트릭을 인코딩하는 방식은 보더 메모리를 사용하되 백워드 메트릭을 인코딩하지 않는 방식에 비하여 메모리의 크기를 약 60% 줄일 수 있고, 보더 메모리를 사용하지 않는 방식에 비하여 전체 소요되는 메모리의 크기를 약 20.7% 줄일 수 있다.
도 9는 보더 메모리를 사용하지 않는 방식 및 보더 메모리를 사용하고 백워드 메트릭을 인코딩하는 방식에 대한 각각의 전력 소모를 비교하기 위한 테이블이다.
도 8은 도 6에 나타난 시물레이션 환경을 가정하였다.
도 9를 참조하면, 보더 메모리를 사용하고 백워드 메트릭을 인코딩하는 방식은 하나의 윈도우 마다 읽고 써야하는 데이터의 크기를 줄임으로서 전체 전력 소모 역시 감소시킬 수 있음을 나타내며, 보더 메모리를 사용하지 않는 방식에 비하여 전력 소모를 약 25.3% 감소 시킬 수 있다.
상술한 바와 같이 본 발명에서는 슬라이딩 윈도우 방식에서 메모리 크기를 줄일 수 있다.
또한, 본 발명에서는 메모리에 저장되는 데이터의 크기를 줄임으로서 소비 전력을 감소시킬 수 있다.
상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.

Claims (31)

  1. (a) 입력받은 프레임 내에 포함된 복수의 비트들과 제1 외부 정보(Extrinsic information)를 기초로 생성된 브랜치 메트릭(Branch Metric)을 포워드 방향(forward direction)으로 계산하여 포워드 메트릭(forward metric)을 생성하는 단계;
    (b) 상기 브랜치 메트릭을 백워드 방향(backward direction)으로 계산하여 백워드 메트릭(backward metric)을 생성하는 단계;
    (c) 상기 백워드 메트릭을 인코딩하여 상기 인코딩된 백워드 메트릭을 메모리에 저장하는 단계; 및
    (d) 상기 브랜치 메트릭, 상기 포워드 메트릭, 이전에 저장된 백워드 메트릭을 기초로 LLR(Log-likelihood Ratio) 및 제2 외부 정보를 계산하는 단계를 포함하는 슬라이딩 윈도우 방식을 이용한 터보 디코딩 방법.
  2. 제1항에 있어서, 상기 (b) 단계는
    이전에 저장된 백워드 메트릭을 초기 값으로 설정하는 단계; 및
    상기 설정된 초기 값 및 상기 브랜치 메트릭을 기초로 상기 백워드 메트릭(backward metric)을 계산하는 단계를 포함하는 것을 특징으로 하는 방법.
  3. 제1항에 있어서, 상기 (c) 단계는
    상기 백워드 메트릭의 크기를 줄이기 위하여, 손실 압축 방법(lossy compression method)을 사용하여 상기 백워드 메트릭을 인코딩하는 단계를 포함하는 것을 특징으로 하는 방법.
  4. 제1항에 있어서, 상기 (c) 단계는
    상기 백워드 메트릭이 2N(N은 자연수)보다 작은 양수인 경우에는 초기 값으로 매핑하는 단계; 및
    상기 백워드 메트릭이 2L(L은 N 이상인 자연수)보다 크거나 같고 2L+1보다 작은 경우에는 상기 백워드 메트릭을 상기 (L+1)로부터 상기 N을 뺀 값으로 매핑하는 단계를 포함하는 것을 특징으로 하는 방법.
  5. 제4항에 있어서, 상기 백워드 메트릭을 상기 (L+1)로부터 상기 N을 뺀 값으로 매핑하는 단계는
    상기 (L+1)로부터 상기 N을 뺀 값이 양의 최대 값을 초과하는 경우에는 상기 인코딩된 백워드 메트릭을 양의 최대값으로 설정하는 단계를 포함하는 것을 특징으로 하는 방법.
  6. 제5항에 있어서, 상기 (c) 단계는
    상기 백워드 메트릭이 -2N(N은 자연수)보다 큰 음수인 경우에는 상기 초기 값으로 매핑하는 단계; 및
    상기 백워드 메트릭이 -2L(L은 N이상인 자연수)보다 작거나 같고 -2L+1보다 큰 경우에는 상기 백워드 메트릭을 상기 (L+1)로부터 상기 N을 뺀 값의 절대값으로 매핑한 다음 상기 절대값의 MSB(Most Significant Bit)를 1의 보수(one's complement)로 변환하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  7. 제6항에 있어서, 상기 백워드 메트릭을 상기 (L+1)로부터 상기 N을 뺀 값의 절대값으로 매핑하는 단계는
    상기 (L+1)로부터 상기 N을 뺀 값이 음의 최대 값을 초과하는 경우에는 상기 인코딩된 백워드 메트릭을 양의 최대값으로 설정하는 단계를 포함하고,
    이것에 의하여(whereby) 상기 양의 최대값에 대한 절대값의 MSB를 1의 보수(one's complement)로 변환하는 것을 특징으로 하는 방법.
  8. 제7항에 있어서, 상기 (d) 단계는
    상기 이전에 저장된 백워드 메트릭을 디코딩하여 디코딩된 백워드 메트릭을 생성하는 단계를 포함하는 것을 특징으로 하는 방법.
  9. 제7항에 있어서, 상기 (d) 단계는
    상기 이전에 저장된 백워드 메트릭이 상기 초기 값에 상응하는 경우에는 상기 이전에 저장된 백워드 메트릭을 상기 초기 값으로 매핑하는 단계;
    상기 이전에 저장된 백워드 메트릭이 상기 초기 값에 상응하지 않고 상기 이전에 저장된 백워드 메트릭의 MSB(Most Significant Bit)가 0이거나 1중 하나인 제1 값에 상응하는 경우에는 상기 이전에 저장된 백워드 메트릭을 2(상기 N+상기 이전에 저장된 백워드 메트릭-1)으로 매핑하는 단계; 및
    상기 이전에 저장된 백워드 메트릭이 상기 초기 값에 상응하지 않고 상기 이전에 저장된 백워드 메트릭의 MSB(Most Significant Bit)가 0이거나 1중 상기 제1 값이 아닌 제2 값에 상응하는 경우에는 상기 MSB를 상기 제1 값으로 변환한 다음 상기 이전에 저장된 백워드 메트릭을 -2(상기 N+상기 이전에 저장된 백워드 메트릭-1)으로 매핑하는 단계를 포함하는 것을 특징으로 하는 방법.
  10. 제1항에 있어서,
    (e) 상기 입력받은 프레임에 포함된 모든 비트들에 대하여 상기 (a) 내지 (d) 단계들을 반복하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  11. 입력받은 프레임 내에 포함된 복수의 비트들과 제1 외부 정보(Extrinsic information)를 기초로 브랜치 메트릭(Branch Metric)을 생성하는 브랜치 메트릭 유닛;
    상기 생성된 브랜치 메트릭(Branch Metric)을 포워드 방향(forward direction)으로 계산하여 포워드 메트릭(forward metric)을 생성하는 포워드 메트릭 유닛;
    상기 생성된 브랜치 메트릭을 백워드 방향(backward direction)으로 계산하여 백워드 메트릭(backward metric)을 생성하고, 상기 백워드 메트릭을 인코딩하여 상기 인코딩된 백워드 메트릭을 메모리에 저장하는 백워드 메트릭 유닛; 및
    상기 브랜치 메트릭, 상기 포워드 메트릭, 이전에 저장된 백워드 메트릭을 기초로 LLR(Log-likelihood Ratio) 및 제2 외부 정보를 계산하는 LLR 유닛을 포함하는 슬라이딩 윈도우 방식을 이용한 터보 디코더.
  12. 제11항에 있어서, 상기 백워드 메트릭 유닛은
    상기 이전에 저장된 백워드 메트릭을 초기 값으로 설정하고, 상기 설정된 초기 값 및 상기 브랜치 메트릭 기초로 상기 백워드 메트릭(backward metric)을 계산하는 것을 특징으로 하는 터보 디코더.
  13. 제11항에 있어서, 상기 백워드 메트릭 유닛은
    상기 백워드 메트릭의 크기를 줄이기 위하여, 손실 압축 방법(lossy compression method)을 사용하여 상기 백워드 메트릭을 인코딩하는 것을 특징으로 하는 터보 디코더.
  14. 제11항에 있어서, 상기 백워드 메트릭 유닛은
    상기 백워드 메트릭이 2N(N은 자연수)보다 작은 양수인 경우에는 초기 값으로 매핑하고, 상기 백워드 메트릭이 2L(L은 N이상인 자연수)보다 크거나 같고 2L+1보다 작은 경우에는 상기 백워드 메트릭을 상기 (L+1)로부터 상기 N을 뺀 값으로 매핑하는 것을 특징으로 하는 터보 디코더.
  15. 제14항에 있어서, 상기 백워드 메트릭 유닛은
    상기 (L+1)로부터 상기 N을 뺀 값이 양의 최대 값을 초과하는 경우에는 상기 인코딩된 백워드 메트릭을 양의 최대값으로 설정하는 것을 특징으로 하는 터보 디코더.
  16. 제14항에 있어서, 상기 백워드 메트릭 유닛은
    상기 백워드 메트릭이 -2N(N은 자연수)보다 큰 음수인 경우에는 상기 초기 값으로 매핑하고, 상기 백워드 메트릭이 -2L(L은 N이상인 자연수)보다 작거나 같고 -2L+1보다 큰 경우에는 상기 백워드 메트릭을 상기 (L+1)로부터 상기 N을 뺀 값의 절대값으로 매핑한 다음 상기 절대값의 MSB(Most Significant Bit)를 1의 보수(one's complement)로 변환하는 것을 특징으로 하는 터보 디코더.
  17. 제16항에 있어서, 상기 백워드 메트릭 유닛은
    상기 (L+1)로부터 상기 N을 뺀 값이 음의 최대 값을 초과하는 경우에는 상기 인코딩된 백워드 메트릭을 양의 최대값으로 설정하고, 이것에 의하여(whereby) 상기 양의 최대값에 대한 절대값의 MSB를 1의 보수(one's complement)로 변환하는 것을 특징으로 하는 터보 디코더.
  18. 제16항에 있어서, 상기 LLR 유닛은
    상기 이전에 저장된 백워드 메트릭을 디코딩하여 디코딩된 백워드 메트릭을 생성하는 것을 특징으로 하는 터보 디코더.
  19. 제16항에 있어서, 상기 LLR 유닛은
    상기 이전에 저장된 백워드 메트릭이 상기 초기 값에 상응하는 경우에는 상기 이전에 저장된 백워드 메트릭을 상기 초기 값으로 매핑하고,
    상기 이전에 저장된 백워드 메트릭이 상기 초기 값에 상응하지 않고 상기 이전에 저장된 백워드 메트릭의 MSB(Most Significant Bit)가 0이거나 1중 하나인 제1 값에 상응하는 경우에는 상기 이전에 저장된 백워드 메트릭을 2(상기 N+상기 이전에 저장된 백워드 메트릭-1)으로 매핑하며,
    상기 이전에 저장된 백워드 메트릭이 상기 초기 값에 상응하지 않고 상기 이전에 저장된 백워드 메트릭의 MSB(Most Significant Bit)가 0이거나 1중 상기 제1 값이 아닌 제2 값에 상응하는 경우에는 상기 MSB를 상기 제1 값으로 변환한 다음 상기 이전에 저장된 백워드 메트릭을 -2(상기 N+상기 이전에 저장된 백워드 메트릭-1)으로 매핑하는 것을 특징으로 하는 터보 디코더.
  20. 제11항에 있어서, 상기 터보 디코더는
    더블 이진 터보 디코더(double binary turbo decoder)인 것을 특징으로 하는 터보 디코더.
  21. 무선 채널로부터 입력받은 프레임을 기초로 디모듈레이션을 수행하는 디모듈레이션 유닛; 및
    상기 디모듈레이션된 프레임을 기초로 터보 디코딩 연산을 수행하고, 상기 터보 디코딩 연산 과정에서 생성된 백워드 메트릭을 인코딩하여 상기 인코딩된 백워드 메트릭을 저장하며, 상기 터보 디코딩 연산 과정에서 LLR을 계산할 때 이전에 저장된 백워드 메트릭을 디코딩하고, 상기 디코딩된 백워드 메트릭을 이용하여 상기 LLR을 계산하는 채널 디코딩 유닛을 포함하는 무선 수신 장치.
  22. 제21항에 있어서, 상기 채널 디코딩 유닛은
    상기 프레임 내에 포함된 복수의 비트들과 제1 외부 정보(Extrinsic information)를 기초로 브랜치 메트릭(Branch Metric)을 생성하는 브랜치 메트릭 유닛;
    상기 생성된 브랜치 메트릭(Branch Metric)을 포워드 방향(forward direction)으로 계산하여 포워드 메트릭(forward metric)을 생성하는 포워드 메트릭 유닛;
    상기 생성된 브랜치 메트릭을 백워드 방향(backward direction)으로 계산하여 상기 백워드 메트릭(backward metric)을 생성하고, 상기 백워드 메트릭을 인코딩하여 상기 인코딩된 백워드 메트릭을 메모리에 저장하는 백워드 메트릭 유닛; 및
    상기 브랜치 메트릭, 상기 포워드 메트릭, 상기 이전에 저장된 백워드 메트릭을 기초로 LLR(Log-likelihood Ratio) 및 제2 외부 정보를 계산하는 LLR 유닛을 포함하는 터보 디코더를 포함하는 것을 특징으로 하는 무선 수신 장치.
  23. 제22항에 있어서, 상기 백워드 메트릭 유닛은
    상기 이전에 저장된 백워드 메트릭을 초기 값으로 설정하고, 상기 설정된 초기 값 및 상기 브랜치 메트릭 기초로 상기 백워드 메트릭(backward metric)을 계산하는 것을 특징으로 하는 무선 수신 장치.
  24. 제22항에 있어서, 상기 백워드 메트릭 유닛은
    상기 백워드 메트릭의 크기를 줄이기 위하여, 손실 압축 방법(lossy compression method)을 사용하여 상기 백워드 메트릭을 인코딩하는 것을 특징으로 하는 무선 수신 장치.
  25. 제22항에 있어서, 상기 백워드 메트릭 유닛은
    상기 백워드 메트릭이 2N(N은 자연수)보다 작은 양수인 경우에는 초기 값으로 매핑하고, 상기 백워드 메트릭이 2L(L은 N이상인 자연수)보다 크거나 같고 2L+1보다 작은 경우에는 상기 백워드 메트릭을 상기 (L+1)로부터 상기 N을 뺀 값으로 매핑하는 것을 특징으로 하는 무선 수신 장치.
  26. 제25항에 있어서, 상기 백워드 메트릭 유닛은
    상기 (L+1)로부터 상기 N을 뺀 값이 양의 최대 값을 초과하는 경우에는 상기 인코딩된 백워드 메트릭을 양의 최대값으로 설정하는 것을 특징으로 하는 무선 수신 장치.
  27. 제25항에 있어서, 상기 백워드 메트릭 유닛은
    상기 백워드 메트릭이 -2N(N은 자연수)보다 큰 음수인 경우에는 상기 초기 값으로 매핑하고, 상기 백워드 메트릭이 -2L(L은 N이상인 자연수)보다 작거나 같고 -2L+1보다 큰 경우에는 상기 백워드 메트릭을 상기 (L+1)로부터 상기 N을 뺀 값의 절대값으로 매핑한 다음 상기 절대값의 MSB를 1의 보수(one's complement)로 변환하는 것을 특징으로 하는 무선 수신 장치.
  28. 제27항에 있어서, 상기 백워드 메트릭 유닛은
    상기 (L+1)로부터 상기 N을 뺀 값이 음의 최대 값을 초과하는 경우에는 상기 인코딩된 백워드 메트릭을 양의 최대값으로 설정하고, 이것에 의하여(whereby) 상기 양의 최대값에 대한 절대값의 MSB를 1의 보수(one's complement)로 변환하는 것을 특징으로 하는 무선 수신 장치.
  29. 제27항에 있어서, 상기 LLR 유닛은
    상기 이전에 저장된 백워드 메트릭을 디코딩하여 디코딩된 백워드 메트릭을 생성하는 것을 특징으로 하는 무선 수신 장치.
  30. 제27항에 있어서, 상기 LLR 유닛은
    상기 이전에 저장된 백워드 메트릭이 상기 초기 값에 상응하는 경우에는 상기 이전에 저장된 백워드 메트릭을 상기 초기 값으로 매핑하고,
    상기 이전에 저장된 백워드 메트릭이 상기 초기 값에 상응하지 않고 상기 이전에 저장된 백워드 메트릭의 MSB(Most Significant Bit)가 0이거나 1중 하나인 제1 값에 상응하는 경우에는 상기 이전에 저장된 백워드 메트릭을 2(상기 N+상기 이전에 저장된 백워드 메트릭-1)으로 매핑하며,
    상기 이전에 저장된 백워드 메트릭이 상기 초기 값에 상응하지 않고 상기 이전에 저장된 백워드 메트릭의 MSB(Most Significant Bit)가 제2 값에 상응하는 경우에는 상기 MSB를 상기 제1 값으로 변환한 다음 상기 이전에 저장된 백워드 메트릭을 -2(상기 N+상기 이전에 저장된 백워드 메트릭-1)으로 매핑하는 것을 특징으로 하는 무선 수신 장치.
  31. 삭제
KR1020070004326A 2007-01-15 2007-01-15 슬라이딩 윈도우 방식을 이용한 터보 디코딩 방법, 이를 수행하는 터보 디코더 및 무선 수신 장치 KR100895670B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020070004326A KR100895670B1 (ko) 2007-01-15 2007-01-15 슬라이딩 윈도우 방식을 이용한 터보 디코딩 방법, 이를 수행하는 터보 디코더 및 무선 수신 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070004326A KR100895670B1 (ko) 2007-01-15 2007-01-15 슬라이딩 윈도우 방식을 이용한 터보 디코딩 방법, 이를 수행하는 터보 디코더 및 무선 수신 장치

Publications (2)

Publication Number Publication Date
KR20080067134A KR20080067134A (ko) 2008-07-18
KR100895670B1 true KR100895670B1 (ko) 2009-05-08

Family

ID=39821512

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070004326A KR100895670B1 (ko) 2007-01-15 2007-01-15 슬라이딩 윈도우 방식을 이용한 터보 디코딩 방법, 이를 수행하는 터보 디코더 및 무선 수신 장치

Country Status (1)

Country Link
KR (1) KR100895670B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101388674B (zh) * 2008-10-23 2011-06-15 华为技术有限公司 一种译码的方法、译码器以及Turbo码译码器

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030062079A (ko) * 2002-01-16 2003-07-23 한국전자통신연구원 터보 치환기 및 이를 이용한 터보 복호기
KR20050111843A (ko) * 2004-05-24 2005-11-29 삼성전자주식회사 가변 윈도우가 적용된 터보 복호화 장치 및 방법
JP2006217072A (ja) 2005-02-01 2006-08-17 Matsushita Electric Ind Co Ltd ターボ復号装置及びターボ復号方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030062079A (ko) * 2002-01-16 2003-07-23 한국전자통신연구원 터보 치환기 및 이를 이용한 터보 복호기
KR20050111843A (ko) * 2004-05-24 2005-11-29 삼성전자주식회사 가변 윈도우가 적용된 터보 복호화 장치 및 방법
JP2006217072A (ja) 2005-02-01 2006-08-17 Matsushita Electric Ind Co Ltd ターボ復号装置及びターボ復号方法

Also Published As

Publication number Publication date
KR20080067134A (ko) 2008-07-18

Similar Documents

Publication Publication Date Title
Gross et al. Simplified MAP algorithm suitable for implementation of turbo decoders
JP4709119B2 (ja) 復号装置及び復号方法
JP3958764B2 (ja) ディジタル通信システムにおけるターボ復号を利用したビットエラー率及びフレームエラー率を減少させる装置及び方法
JP3666430B2 (ja) 情報送信装置及び情報送信方法、並びに情報受信装置及び情報受信方法
EP1334561A2 (en) Stopping criteria for iterative decoding
KR20030040560A (ko) 공간-효율적인 터보 디코더
US6868518B2 (en) Look-up table addressing scheme
KR20160031781A (ko) 이진 직렬 연결된 부호를 사용하는 시스템에서 복호 방법 및 장치
Zhang et al. Irregular trellis for the near-capacity unary error correction coding of symbol values from an infinite set
US8250446B2 (en) Decoder device and decoding method
US7913153B2 (en) Arithmetic circuit
KR100895670B1 (ko) 슬라이딩 윈도우 방식을 이용한 터보 디코딩 방법, 이를 수행하는 터보 디코더 및 무선 수신 장치
CN115225202B (zh) 一种级联译码方法
US6886127B2 (en) Implementation of a turbo decoder
KR20090091254A (ko) 터보 디코더 장치 및 방법
JP2015039156A (ja) 復号化装置、及び、復号化方法
CN108880569B (zh) 一种基于反馈分组马尔科夫叠加编码的速率兼容编码方法
US8924811B1 (en) Fast, efficient architectures for inner and outer decoders for serial concatenated convolutional codes
Ho et al. Optimal soft decoding for combined trellis-coded quantization/modulation
Janvars et al. Hard decision decoding of single parity turbo product code with N-level quantization
Osman et al. Performance of multilevel turbo codes with group partitioning over satellite channels
Bahirgonde et al. BER analysis of turbo decoding algorithms
Brejza et al. Adaptive iterative detection for expediting the convergence of a serially concatenated unary error correction decoder, turbo decoder and an iterative demodulator
JP2002217746A (ja) 軟判定復号アルゴリズムにおいて使用されるブランチ・メトリックを計算する方法および装置
Park et al. Extrinsic information memory reduced architecture for non-binary turbo decoder implementation

Legal Events

Date Code Title Description
A201 Request for examination
N231 Notification of change of applicant
E902 Notification of reason for refusal
AMND Amendment
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
J201 Request for trial against refusal decision
B701 Decision to grant
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20120404

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20130408

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee