KR100762612B1 - 터보 복호화 장치에서 인터리버와 디인터리버간 메모리공유 장치 및 방법 - Google Patents

터보 복호화 장치에서 인터리버와 디인터리버간 메모리공유 장치 및 방법 Download PDF

Info

Publication number
KR100762612B1
KR100762612B1 KR1020010077492A KR20010077492A KR100762612B1 KR 100762612 B1 KR100762612 B1 KR 100762612B1 KR 1020010077492 A KR1020010077492 A KR 1020010077492A KR 20010077492 A KR20010077492 A KR 20010077492A KR 100762612 B1 KR100762612 B1 KR 100762612B1
Authority
KR
South Korea
Prior art keywords
data
memory
interleaver
deinterleaver
decoder
Prior art date
Application number
KR1020010077492A
Other languages
English (en)
Other versions
KR20030047100A (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 KR1020010077492A priority Critical patent/KR100762612B1/ko
Priority to US10/314,724 priority patent/US6988234B2/en
Publication of KR20030047100A publication Critical patent/KR20030047100A/ko
Application granted granted Critical
Publication of KR100762612B1 publication Critical patent/KR100762612B1/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
    • 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
    • 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/27Coding, 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 using interleaving techniques
    • H03M13/2771Internal interleaver for turbo 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/27Coding, 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 using interleaving techniques
    • H03M13/2782Interleaver implementations, which reduce the amount of required interleaving memory
    • 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/27Coding, 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 using interleaving techniques
    • H03M13/2782Interleaver implementations, which reduce the amount of required interleaving memory
    • H03M13/2785Interleaver using in-place interleaving, i.e. writing to and reading from the memory is performed at the same memory location

Abstract

본 발명은 이동 통신 시스템에 관한 것으로서, 특히 터보 복호화 장치에서 인터리버와 디인터리버간 메모리 공유 장치 및 방법에 관한 것이다.
본 발명은 터보 복호화 장치에서 인터리버와 디인터리버간 메모리 공유 장치에 있어서, 인터리버/디인터리버의 제어에 따라 복호화기에서 복호된 데이터를 인터리빙한 데이터가 쓰이거나 읽히고, 상기 복호화기에서 복호된 데이터를 디인터리빙한 데이터가 쓰이거나 읽히는 메모리와, 상기 복호화기의 상기 저장되어 있는 디인터리빙된 데이터를 읽고, 상기 지연시간 후에 상기 인터리빙한 데이터를 상기 메모리에 라이트하도록 제어하는 제1신호를 발생하며, 상기 인터리빙한 데이터를 상기 메모리에 라이트하고, 상기 지연시간 후에 상기 저장되어 있는 인터리빙된 데이터를 읽도록 제어하는 제2신호를 발생하는 제어기를 포함한다.
인터리버, 디인터리버, 메모리 공유, 터보 복호화

Description

터보 복호화 장치에서 인터리버와 디인터리버간 메모리 공유 장치 및 방법{APPARATUS FOR SHARING MEMORY BETWEEN INTERLEAVER AND DEINTERLEAVER IN TURBO DECODER AND METHOD THEREOF}
도 1은 통상적인 터보 부호화 장치의 구성을 도시한 블록도
도 2는 통상적인 터보 복호화 장치의 구성을 도시한 블록도
도 3은 통상적인 1개의 복호화기를 가지는 터보 복호화 장치의 내부 구성을 도시한 블록도
도 4는 도 3의 터보 복호화 장치의 동작 과정에 따른 타이밍도
도 5a는 도 3의 터보 복호화 장치의 홀수번째 복호화 과정시 인터리버/디인터리버 동작 과정을 나타낸 타이밍도
도 5b는 도 3의 터보 복호화 장치의 짝수번째 복호화 과정시 인터리버/디인터리버 동작 과정을 나타낸 타이밍도
도 6은 본 발명의 일 실시예에 따른 터보 복호화 장치의 내부 구성을 도시한 블록도
도 7은 도 6의 인터리버/디인터리버의 내부 구성을 도시한 블록도
도 8a는 도 7에서 디인터리버 램을 읽고 인터리버 램에 데이터를 라이트하는 동안의 램 타이밍도
도 8b는 도 7에서 인터리버 램을 읽고 디인터리버 램에 데이터를 라이트하는 동안의 램 타이밍도
본 발명은 이동 통신 시스템에 관한 것으로서, 특히 터보 복호화 장치에서 인터리버와 디인터리버간 메모리 공유 장치 및 방법에 관한 것이다.
일반적으로 디지털 통신 시스템(digital communication system)은 무선구간에서 발생한 데이터 에러를 수신측에서 데이터를 수신할 경우 정확하게 복원하도록 하기 위해서 순방향 오류 정정(FEC: Forward Error Correction)을 사용한다. 상기 순방향 오류 정정을 위해서 현재 상용화되어 있는 부호분할 다중 접속(CDMA: Code Division Multiple Access, 이하 "CDMA"라 칭하기로 한다) 통신 시스템, 일 예로 IS-95 시스템에서는 산발적인 에러들에 강한 복원력을 가지는 길쌈 부호(convolutional code)가 일반적으로 사용되고 있으며, 또한 차세대 이동 통신 시스템, 일 예로 CDMA2000 및 UMTS(Universal Mobile Telecommunication System) 통신 시스템에서는 고속 데이터 전송시 더욱 강력한 에러 복원력을 가지는 터보 부호(turbo code)가 사용되고 있다.
그러면 하기에서 도 1을 참조하여 터보 부호화 장치의 구성을 설명하기로 한다.
상기 도 1은 통상적인 터보 부호화 장치의 구성을 도시한 블록도이다.
우선 상기 터보 부호화 장치(turbo coder)는 순환 시스템 부호(Recursive Systematic Code) 형태를 가지는 부호화 장치 형태를 가진다. 상기 도 1을 참조하면, 우선 입력 신호에 CRC(Cyclic Redundancy Check)와 테일(tail) 비트가 추가된 신호 X(t)가 상기 터보 부호화 장치로 입력되면, 상기 X(t)는 제1부호화기(100)와 제2부호화기(150)로 병렬 입력되고, 제어 스위치(control switch)에 상기 제1부호화기(100)와 상기 제2부호화기(150)가 동작한다. 그리고 상기 제2부호화기(150)의 입력은 인터리버(Interleaver)(130)에 의해서 순서가 재배열된 정보비트가 된다. 이렇게 입력 신호가 제공된 상기 제1부호화기(100)와 제2부호화기(150)는 배타적 논리합 게이트(exclusive-OR gate)와 쉬프트 레지스터(shift register)들의 동작에 의해서 각각 X(t)와, Y0(t)와, Y1(t)와, Y'0(t)와, Y'1(t)와, X'(t)로 출력된다. 상기 터보 부호화 장치에서 출력된 신호들은 상기 도 1에는 도시하지는 않았지만 심볼 반복기(symbol repeater) 및 천공기(puncturing)로 순차적으로 입력되어 데이터 전송율에 따라 반복 및 천공되어 출력된다.
이렇게 부호화된 터보 부호들은 터보 복호화 장치에서 복호되는데 상기 터보 복호화 장치의 구성을 도 2를 참조하여 설명하기로 한다.
상기 도 2는 통상적인 터보 복호화 장치의 구성을 도시한 블록도이다.
우선 터보 부호화 장치는 순환 반복적 구조를 가지므로 상기 터보 복호화 장치(turbo decoder)의 동작 역시 순환 반복적으로 이루어지며 각 복호 반복(iteration) 동작에서는 그 다음 복호에 사용될 신뢰성(reliability)을 계산한다. 그러면 도 2를 참조하여 상기 터보 복호화 장치의 복호 과정을 설명하기로 한다.
상기 도 2를 참조하면, 상기 터보 복호화 장치는 제1복호화기(211)와, 인터리버(213)와, 제2복호화기(215)와, 디인터리버(De-Interleaver)(217)로 구성된다. 먼저 상기 터보 부호화 장치에서 출력되는 신호, 즉 X(t)와, Y0(t)와, Y1(t)와, Y'0(t)와, Y'1(t)는 상기 터보 복호화 장치로 입력되고, 상기 X(t)는 제1복호화기(211)를 통해 복호화된 후 이 결과는 상기 인터리버(213)를 통한 후 상기 인터리버(213)의 램(RAM)(도시하지 않음)에 저장된다. 여기서, 상기 인터리버(213)의 램에 상기 인터리버(213)를 통해서 인터리빙된 데이터들을 라이트(write)하게 되는 것이다. 그리고 상기 인터리버(213)에서 출력된 신호는 제2복호화기(215)로 출력된다. 상기 제2복호화기(215)는 상기 Y'0(t), Y'1(t)(221)와 상기 인터리버(213)의 램에 저장되어 있는 상기 제1복호화기(211)의 복호화 결과를 가지고서 복호화를 수행한다.
상기 제2복호화기(215)가 상기 인터리버(213)의 램에 저장되어 있는 상기 제1복호화기(211)의 복호화 결과 데이터와, 상기 최초 입력 신호를 인터리빙시킨 신호 Y'0(t), Y'1(t)(221)를 가지고서 복호화한 결과 데이터가 결국은 1회 완전 복호화 과정이 완료된 복호화 데이터가 된다. 상기 1차 완전 복호화 과정이 완료된 복호화 데이터는 상기 디인터리버(217)로 출력된다. 상기 디인터리버(217)는 상기 제2복호화기(215)에서 출력한 복호화 데이터, 즉 1회 완전 복호화 과정이 완료된 복호화데이터를 상기 디인터리버(217)의 램(도시하지 않음)에 라이트한다. 그리고 상기 디인터리버(217)의 램에 라이트된, 즉 1차 완전 복호화 과정이 완료된 복호화 데이터는 경판정(Harddecision)기(219)로 출력된다. 상기 경판정기(219)는 상기 디인터리버(217)에서 출력한 데이터를 가지고 경판정하여 복호화된 데이터를 출력한다.
그리고 도시하지는 않았지만은 상기 경판정기(219)에서 출력한 복호화된 데이터는 CRC(Cyclic Redundancy Check) 검사기로 출력한다. 상기 CRC 검사기는 상기 경판정된 값을 CRC 검사하여 그 검사 결과 오류가 발생되지 않았다면 더 이상 복호화 과정의 반복없이 상기 복호화 과정을 종료하고, 상기 복호화 과정이 완료되었음을 나타내는 완료 인터럽트(interrupt)를 출력한다. 한편, 상기 CRC 검사기가 상기 경판정된 값을 CRC 검사하여 그 검사 결과 오류가 발생되었다면 미리 설정된 설정 횟수만큼 상기 터보 복호화 과정을 반복하도록 한다. 여기서, 상기 복호화 과정이 반복되는 설정 횟수는 다음 프레임(frame)전에 현재 수신되어 처리되고 있는 프레임이 복호화 완료 가능한 시간 범위내에서 결정되는 것이다. 또한, 상기 도 2에서 Zk는 상기 디인터리버(217)에서 출력된 데이터를 반복 복호화를 위해 피드백(feedback)시킨 데이터이다.
그리고, 상기 복호화기들, 즉 제1복호화기(211)와, 제2복호화기(215)는 동일한 복호화 구조를 가지며, 상기 제1복호화기(211)와, 제2복호화기(215)를 하드웨어(hardware)로 구현할 경우 굉장히 큰 로직이 소요된다. 그래서 실제 상기 터보 복호화 장치를 하드웨어로 구현할 경우에는 통상적으로 하나의 복호화기만을 구비하고, 1회의 완전 터보 복호화를 위해 상기 복호화기를 2번 반복 사용한다.
상기에서 설명한 바와 같이 1개의 복호화기를 2번 반복하여 사용함으로써 터보 복호화하는 터보 복호화 장치 및 그 터보 복호화 장치 동작 타이밍도를 도 3 및 도 4를 참조하여 설명하기로 한다.
상기 도 3은 통상적인 1개의 복호화기를 가지는 터보 복호화 장치의 내부 구성을 도시한 블록도이다.
먼저, 상기 도 3에 도시되어 있는 터보 복호화 장치는 복호화기(decoder)로서 일 예로 RESOVA(Register Exchange Soft Out Viterbi Algorithm) 방식을 사용하는 복호화기를 사용하고 있다. 상기 RESOVA 방식은 코드워드(codeword) 오류 확률을 최소화시키는 복호화 방식이다. 또한 상기 도 3에 도시되어 있는 터보 복호화 장치는 상기 도 2에서 설명한 터보 복호화 장치와는 달리 1개의 복호화기, 즉 RESOVA 복호화기(311)를 사용하며, 입력되는 데이터들에 대해서 샘플링(sampling) 동작을 수행하는 데이터 샘플러(313)와, 상기 데이터 샘플러(313)에서 출력되는 데이터들을 소정 지연 시간 지연하는 지연기들(315),(317)과, RESOVA 포스트(post)(319)와, 인터리버(321)와, 디인터리버(323)와, 출력 버퍼(output buffer)(325)와, CRC 검사기(327)로 구성된다.
상기 도 3을 참조하면, 먼저 수신된 데이터 ch_deint_do가 상기 데이터 샘플러(313)로 입력되고, 상기 데이터 샘플러(313)는 상기 수신 데이터 ch_deint_do를 샘플링한 후 상기 RESOVA 복호화기(311)로 출력한다. 그러면 상기 RESOVA 복호화기(311)는 상기 데이터 샘플러(313)에서 출력한 신호를 RESOVA 방식으로 복호화한 후 상기 RESOVA 포스트(319)를 통해 인터리버(321)로 출력한다. 그러면 상기 인터리버(321)는 상기 RESOVA 포스트(319)에서 출력한 데이터를 상기 인터리버(321) 자신이 구비하고 있는 램(도시하지 않음)에 라이트한 후 그 램에 라이트한 데이터를 상기 데이터 샘플러(313)로 출력한다. 그러면 상기 데이터 샘플러(313)는 상기 인터리버(321)에서 출력한 데이터를 다시 샘플링한 후 상기 RESOVA 복호화기(311)로 출력한다. 그러면 상기 RESOVA 복호화기(311)는 상기 데이터 샘플러(313)에서 출력한 신호를 RESOVA 방식으로 복호화한 후 RESOVA 포스트(319)를 통한 후 디인터리버(323)로 출력한다. 상기 디인터리버(323)는 상기 RESOVA 포스트(319)에서 출력한 신호를 디인터리빙한 후 그 디인터리빙된 데이터를 상기 디인터리버(323)의 램(도시하지 않음)에 라이트한다. 상기까지의 과정을 마치면 1회의 완전 복호화가 종료되는 것이고, 상기 디인터리버(323)의 램에 라이트한 데이터는 상기 출력 버퍼(325)에 버퍼링된다. 또한 상기 디인터리버(323)의 램에 라이트한 데이터는 CRC 검사기(327)에서 CRC 검사되고, 상기 CRC 검사 결과 오류가 발생되지 않았다면 더 이상의 복호화 과정을 반복하지 않고 상기 복호화 과정을 종료하고, 상기 복호화 과정이 완료되었음을 나타내는 완료 인터럽트(interrupt)를 출력한다. 한편, 상기 CRC 검사기(327)에서 CRC 검사 결과 오류가 발생되었다면 미리 설정된 설정 횟수만큼 상기 복호화 과정을 반복하도록 한다. 여기서, 상기 복호화 과정이 반복되는 설정 횟수는 다음 프레임 전에 현재 수신되어 처리되고 있는 프레임이 복호화 완료 가능한 시간 범위내에서 결정되는 것이다.
다음으로 도 4를 참조하여 상기 도 3의 터보 복호화 장치 동작 타이밍을 설명하기로 한다.
상기 도 4는 도 3의 터보 복호화 장치의 동작 과정을 나타낸 타이밍도이다.
상기 도 4는 2번의 복호화 과정을 거쳐 한번의 완전한 복호화 과정이 종료되는 경우의 타이밍도로서, "DEC1" 구간은 첫 번째 복호화 과정이 일어나는 구간이며, "DEC2"구간은 두 번째 복호화 과정이 일어나는 구간이다. 그리고 상기 도 4에 도시한 타이밍도를 보면 인터리버와 디인터리버 각각의 램에 데이터를 라이트하는 구간이 일치함을 알 수 있다. 즉, 상기 인터리버의 램에 데이터를 라이트하는 동시에 디인터리버의 램에 데이터를 라이트하는 동작이 일어나는 것이다. 그러므로 상기 인터리버와 디인터리버는 각각 별개의 로직(logic) 및 메모리로 구현되어야만 한다. 이는 복호화 과정에서 인터리버 메모리에 데이터를 라이트하는 동시에 디인터리버 메모리에 저장된 데이터를 읽는 동작 혹은 디인터리버 메모리에 데이터를 라이트하는 동시에 인터리버 메모리에 저장된 데이터를 읽는 동작은 단일 클럭(clock)으로 동작하는 일반적인 하드웨어 구조, 즉 일반적인 로직 및 메모리 구조로는 불가능함을 나타낸다.
그런데 상기 인터리버와 디인터리버 각각에 대해서 메모리에 데이터를 라이트하고, 또한 메모리에 저장되어 있는 데이터를 읽는 동작 과정은 상호간에 배타적인 관계를 가지게 됨을 알 수 있는데, 이를 도 5a 및 도 5b를 참조하여 설명하기로 한다.
상기 도 5a는 도 3의 터보 복호화 장치의 홀수번째 복호화 과정시 인터리버/디인터리버 동작 과정을 나타낸 타이밍도이다.
상기 도 5a를 참조하면, 우선 상기 인터리버(321)의 메모리, 즉 램에 데이터를 라이트하면서 상기 디인터리버(323)의 메모리에 저장되어 있는 데이터를 읽는 과정은 상기 터보 복호화 장치의 홀수번째 복호화 과정에서 발생하게 된다. 여기서, 상기 인터리버(321)의 메모리 및 디인터리버(323)의 메모리는 동기식 SRAM(Synchronous Static RAM)을 일반적인 형태로 사용하고 있다. 상기 도 5a에 도시한 타이밍도에서 상기 인터리버(321)의 메모리에 데이터를 라이트하는 동작은 상기 디인터리버(323)의 메모리에 저장되어 있는 데이터를 읽기 시작하는 시점에 비해 RESOVA 복호화기(311)의 지연 시간 L 만큼의 시간 차이를 두고 발생한다.
여기서, 상기 인터리버(321)의 메모리에 데이터를 라이트하는 동작과 상기 디인터리버(323)의 메모리에 저장되어 있는 데이터를 읽기 시작하는 동작 모두는 각각의 메모리 어드레스(memory address) 발생이 순차적으로 일어난다는 것이다. 즉, 데이터를 상기 인터리버(321)의 메모리에 라이트할 때 0번지부터 1씩 어드레스를 증가시키며 순차적으로 저장하며, 상기 디인터리버(323)의 메모리에 저장되어 있는 데이터를 읽을 때도 마찬가지로 0번지부터 1씩 어드레스를 증가시키며 순차적으로 읽게 된다. 따라서, 읽고자 하는 데이터는 상기 라이트 동작에 의해서 손상되지 않는다는 것을 알 수 있다.
다음으로 도 5b를 참조하여 도 3의 터보 복호화 장치에서 짝수번째 복호화 과정시 동작 과정을 설명하기로 한다.
상기 도 5b는 도 3의 터보 복호화 장치의 짝수번째 복호화 과정시 인터리버/디인터리버 동작 과정을 나타낸 타이밍도이다.
상기 도 5b를 참조하면, 우선 상기 인터리버(321)의 메모리, 즉 램에 저장되어 있는 데이터를 읽으면서 상기 디인터리버(323)의 메모리에 데이터를 라이트 하는 과정은 상기 터보 복호화 장치의 짝수번째 복호화 과정에서 발생하게 된다. 여기서, 상기 인터리버(321)의 메모리 및 디인터리버(323)의 메모리는 동기식 SRAM을 일반적인 형태로 사용하고 있다. 상기 도 5b에 도시한 타이밍도에서 상기 인터리버(321)의 메모리에 저장되어 있는 데이터를 읽는 동작은 상기 디인터리버(323)의 메모리에 데이터를 라이트 하는 시점에 비해 RESOVA 복호화기(311)의 지연 시간 L 만큼의 시간 차이를 두고 발생한다.
여기서, 상기 인터리버(321)의 메모리에 저장되어 있는 데이터를 읽는 동작과 상기 디인터리버(323)의 메모리에 데이터를 라이트하는 동작 모두에서 각각의 메모리 어드레스 발생 순서는 일치한다. 따라서, 상기 도 5a에서와 마찬가지로 읽고자 하는 데이터는 상기 라이트 동작에 의해서 손상되지 않는다는 것을 알 수 있다. 그러나, 어드레스 발생 순서는 홀수번째 복호화 동작과는 달리 순차적이지는 않다.
상기에서 설명한 바와 같이 상기 터보 복호화 장치는 수신 데이터에 대한 복호화 과정을 수행하기 위해서 인터리버와 디인터리버를 구비하며, 상기 인터리버 및 디인터리버 각각은 별도의 메모리를 구비하여 데이터를 라이트하고 읽는 과정들을 반복하게 되는데 이럴 경우 상기 인터리버 및 디인터리버 각각의 하드웨어 로직 및 메모리 효율성을 저하시킨다는 문제점이 있었다. 또한 상기 도 5a 및 도 5b에서 설명한 바와 같이 인터리버와 디인터리버 각각의 메모리에 대해서 데이터를 라이트하고 또한 데이터를 읽는 동작 과정에 대해서 적절한 동작 타이밍을 정의할 경우 하드웨어적인 공유의 가능성이 있어, 터보 복호화 장치의 새로운 인터리빙 및 디인터리빙 동작의 타이밍 정의 요구가 발생하고 있다.
따라서, 본 발명의 목적은 터보 복호화 장치에서 인터리버 및 디인터리버 메 모리를 공유하는 장치 및 방법을 제공함에 있다.
상기한 목적을 달성하기 위한 본 발명의 장치는; 터보 복호화 장치에서 인터리버와 디인터리버간 메모리 공유 장치에 있어서, 인터리버/디인터리버의 제어에 따라 상기 복호화기에서 복호된 데이터를 인터리빙한 데이터가 라이트되고, 복호화기에서 복호된 데이터를 디인터리빙한 데이터가 라이트되는 메모리와, 상기 복호화기의 지연시간동안 상기 저장되어 있는 디인터리빙된 데이터를 읽고, 상기 지연시간 후에 상기 인터리빙한 데이터를 상기 메모리에 라이트하도록 제어하는 제1신호를 발생하고, 상기 지연시간 동안 상기 디인터리빙한 데이터를 상기 메모리에 라이트하고, 상기 지연시간후에 상기 저장되어 있는 인터리빙된 데이터를 읽도록 제어하는 제2신호를 발생하는 제어기를 포함함을 특징으로 한다.
상기한 목적을 달성하기 위한 본 발명의 방법은; 인터리버/디인터리버의 제어에 따라 복호화기에서 복호화된 데이터를 인터리빙한 데이터가 라이트되고, 상기 복호화기에서 복호된 데이터를 디인터리빙한 데이터가 라이트되는 메모리를 구비하는 터보 복호화 장치에서 인터리버와 디인터리버간 메모리 공유 방법에 있어서, 상기 복호화기의 지연시간동안 상기 메모리에 저장되어 있는 디인터리빙된 데이터를 읽고, 상기 지연시간 후에 상기 인터리빙한 데이터를 상기 메모리에 라이트하는 과정과, 상기 지연시간 동안 상기 디인터리빙한 데이터를 상기 메모리에 라이트하고, 상기 지연시간후에 상기 메모리에 저장되어 있는 인터리빙된 데이터를 읽는 과정을 포함함을 특징으로 한다.
이하, 본 발명에 따른 바람직한 실시예를 첨부한 도면을 참조하여 상세히 설명한다. 하기의 설명에서는 본 발명에 따른 동작을 이해하는데 필요한 부분만이 설명되며 그 이외 부분의 설명은 본 발명의 요지를 흩트리지 않도록 생략될 것이라는 것을 유의하여야 한다.
도 6은 본 발명의 일 실시예에 따른 터보 복호화 장치의 내부 구성을 도시한 블록도이다.
먼저, 상기 도 6에 도시되어 있는 터보 복호화 장치는 복호화기(decoder)로서 일 예로 RESOVA(Register Exchange Soft Out Viterbi Algorithm) 방식을 사용하는 복호화기를 사용하고 있다. 상기 RESOVA 방식은 코드워드(codeword) 오류 확률을 최소화시키는 복호화 방식이다. 또한 상기 도 6에 도시되어 있는 터보 복호화 장치는 1개의 복호화기, 즉 RESOVA 복호화기(611)를 사용하며, 입력되는 데이터들에 대해서 샘플링(sampling) 동작을 수행하는 데이터 샘플러(data sampler)(613)와, 상기 데이터 샘플러(613)에서 출력되는 데이터들을 소정 지연 시간 지연(delay)하는 지연기들(615),(617)과, RESOVA 포스트(post)(619)와, 인터리버/디인터리버(interleaver/deinterleaver)(621)와, 출력 버퍼(output buffer)(623)와, CRC(Cyclic Redundancy Check) 검사기(625)로 구성된다.
상기 도 6을 참조하면, 먼저 수신된 데이터 ch_deint_do가 상기 데이터 샘플러(613)로 입력되고, 상기 데이터 샘플러(313)는 상기 수신 데이터 ch_deint_do를 샘플링한 후 상기 RESOVA 복호화기(611)로 출력한다. 상기 RESOVA 복호화기(611)는 상기 데이터 샘플러(613)에서 출력한 신호를 RESOVA 방식으로 복호한 후 RESOVA 포스트(619)를 통해 인터리버/디인터리버(621)로 출력한다. 그러면 상기 인터리버/디인터리버(621)는 최초로 인터리버로서 동작하게 되므로 자신이 구비하고 있는 램(RAM)(도시하지 않음)에 인터리빙된 데이터를 라이트(write)한 후 그 램에 라이트한 데이터를 상기 데이터 샘플러(313)로 출력한다. 한편, 상기 인터리버/디인터리버(621)가 디인터리버로서 동작할 경우에는 상기 인터리버/디인터리버(621)로 입력된 데이터를 디인터리빙한 후 상기 메모리에 라이트 동작을 하거나 혹은 상기 메모리에 저장되어 있는 데이터를 읽는(read) 동작을 수행한다. 여기서, 상기 인터리버/디인터리버(621)는 상기 메모리를 공유하여 사용하며 상기 메모리 공유 방식은 하기에서 도 7을 참조하여 설명할 것이므로 여기서는 그 상세한 설명을 생략하기로 한다.
상기 인터리버/디인터리버(621)에서 출력한 신호는 디멀티플렉서(DEMUX)(622)를 통해 디멀티플렉싱된 후 다시 상기 데이터 샘플러(613)로 출력된다. 상기 데이터 샘플러(613)는 상기 인터리버(321)에서 출력한 데이터를 다시 샘플링한 후 상기 RESOVA 복호화기(611)로 출력한다. 그러면 상기 RESOVA 복호화기(611)는 상기 데이터 샘플러(613)에서 출력한 신호를 RESOVA 방식으로 복호한 후 RESOVA 포스트(619)를 통한 후 상기 인터리버/디인터리버(621)로 출력한다. 상기 인터리버/디인터리버(621)는 두 번째 복호화 과정에서 상기 RESOVA 포스트(619)에서 출력한 신호를 디인터리빙한 후 그 디인터리빙된 데이터를 상기 인터리버/디인터리버(621)의 메모리에 라이트한다. 상기까지의 과정을 마치면 1회의 완전 복호화가 종료되는 것이고, 상기 인터리버/디인터리버(621)의 메모리에 라이트한 데이터는 상기 출력 버퍼(623)에 버퍼링되며, 또한 상기 인터리버/디인터리버(621)의 메모리에 라이트한 데이터는 CRC 검사기(625)에서 CRC 검사하여 그 검사 결과 오류가 발생되지 않았다면 더 이상 복호화 과정의 반복없이 상기 복호화 과정을 종료하고, 상기 복호화 과정이 완료되었음을 나타내는 완료 인터럽트(interrupt)를 출력한다. 한편, 상기 CRC 검사기(625)에서 CRC 검사 결과 오류가 발생되었다면 미리 설정된 설정 횟수만큼 상기 복호화 과정을 반복하도록 한다. 여기서, 상기 복호화 과정이 반복되는 설정 횟수는 다음 프레임(frame)전에 현재 수신되어 처리되고 있는 프레임이 복호화 완료 가능한 시간 범위내에서 결정되는 것이다.
결과적으로 상기 도 6에서 설명한 바와 같은 터보 복호화 장치는 인터리버와 디인터리버가 메모리를 공유하여 공유된 하나의 하드웨어(hardware) 형태가 되기 때문에, 공유된 하드웨어로 인한 면적 감소 효과는 최대 153.6 kbps를 만족하는 CDMA2000-1x용 터보 복호화 장치를 기준으로 계산하면 약 24Kbits정도의 동기식 SRAM(Synchronous Static RAM)이다. 이것은 상기 인터리버/디인터리버(621)의 필요 워드(word) 개수는 3072(153.6kbps*20ms)이고 한 워드의 길이는 8비트(bits)인 것을 근거로 계산한 것이다.
그러면 상기 도 6에서 설명한 인터리버/디인터리버(621)의 메모리 공유 방식을 도 7을 참조하여 설명하기로 한다.
상기 도 7은 도 6의 인터리버/디인터리버(621)의 내부 구성을 도시한 블록도이다.
상기 도 7에는 터보 부호화 장치, 일 예로 미리 설정된 전송률(최대 153.6 kbps를 만족하는) CDMA2000-1x용 터보 복호화 장치에서 인터리버와 디인터리버가 공유된 형태, 즉 상기 도 6에서 설명한 인터리버/디인터리버(621) 구조가 도시되어 있다. 상기 인터리버/디인터리버(621)는 데이터를 저장하는 동기식 SRAM(717)과, 상기 동기식 SRAM(717)에 데이터를 라이트하는 동작 및 상기 동기식 SRAM(717)에 저장되어 있는 데이터를 읽는 동작을 제어하는 제어기(Int/Deint RAM Control FSM)(713)와, 상기 제어기(713)에서 출력되는 어드레스(address) 신호, 즉 인터리버 어드레스(interleaver address)와 디인터리버 어드레스(deinterleaver address)를 멀티플렉싱(multiplexing)하는 멀티플렉서(MUX)(715)와, 상기 동기식 SRAM(717)에서 출력되는 신호를 디멀티플렉싱하는 디멀티플렉서(DEMUX)(719)로 구성된다.
그리고 상기 터보 복호화 장치의 전체적인 복호화 타이밍을 동일하게 유지시키기 위해서 상기 제어기(713)와 상기 동기식 SRAM(717)에는 상기 복호화기(711)에 제공되는 클럭, 즉 main_clock과 위상(phase)이 일치하고 속도가 2배 빠른 클럭, 즉 RAM_clock이 필요로 된다. 그러면 상기 도 7에 도시한 인터리버/디인터리버(621)의 동작을 도 8a 및 도 8b를 참조하여 설명하기로 한다.
상기 도 8a는 도 7에서 디인터리버 램을 읽고 인터리버 램에 데이터를 라이트하는 동안의 램 타이밍도이다.
상기 도 8a를 참조하면, 먼저 초기 L, 즉 RESOVA 복호화기(611)의 지연 시간 L동안 인터리버/디인터리버(621)에서 디인터리빙된 데이터를 읽는 동작만이 이루어진다. 이때 동기식 SRAM(717)으로 입력되는 데이터는 돈케어(don't care)이고, 이렇게 상기 동기식 SRAM(717)으로 입력되는 데이터를 돈케어하는 이유는 WEN(Write ENable) 신호가 하이(high)이기 때문에 라이트 동작이 발생하는 것이 불가능하기 때문이다. 그리고 상기 동기식 SRAM(717)의 출력 데이터는 클럭, 즉 RAM_clock의 상승부분(rising edge)에 래치(latch)된 어드레스의 데이터가 어느 정도의 지연시간(상기 동기식 ARAM(717)을 읽기 위한 억세스(access) 시간, 그리고 상기 어드레스 입력후 상기 동기식 SRAM(717)으로부터 데이터가 출력되는데 소요되는 시간으로서 메모리 특성에 따라 상이해진다) 후 출력된다. 하나의 동일한 어드레스에 대한 상기 동기식 SRAM(717)의 출력 데이터는 RAM_clock의 2주기동안 유효하다. 이때 상기에서 설명한 바와 같이 상기 RAM_clock은 두 개의 동기식 SRAM이 존재하는 경우와 같은 타이밍으로 동작하게 되므로 상기 복호화기(711)를 구동하는 클럭, 즉 main_clock에 비해 2배 빠르게 된다.
다음으로, 상기 L, 즉 RESOVA 복호화기(611)의 지연 시간 L 이후 상기 인터리버/디인터리버(621)에서 인터리빙된 데이터를 상기 동기식 SRAM(717)에 라이트하는 동작이 시작된다. 이때 상기 동기식 SRAM(717)의 어드레스는 상기 제어기(713)에서 상기 동기식 SRAM(717)에 데이터를 읽기 위한 어드레스와 데이터를 라이트하기 위한 어드레스가 번갈아가며 출력된다. 그리고 상기 동기식 SRAM(717)에 라이트되는 데이터는 상기 복호화기(711)에서 출력되는 데이터인데 상기 RAM_clock 기준으로 2주기 동안 유효하다. 이때, 상기 WEN이 액티브 로우(low)로 제공되어 상기 인터리빙된 데이터를 라이트하는 주기동안만 활성화되며, 상기 WEN이 액티브 로우로 제공되는 동안 데이터가 입력되더라도 유효(Valid)한 어드레스에만 상기 데이터가 라이트된다.
상기 도 8a에서 설명한 인터리버/디인터리버(621)에서 디인터리버 램을 읽고 인터리버 램에 데이터를 라이트하는 과정을 상기 도 5a에서 설명한 경우, 즉 인터리버 및 디인터리버를 별도의 하드웨어 로직으로 설계하고, 또한 인터리버 램과 디인터리버 램을 각각의 메모리로서 구현한 경우 터보 복호화 과정에서 홀수번째 복호화 과정시 인터리버/디인터리버 동작 과정과 비교해보면 다음과 같다.
먼저. 인터리버 램에 데이터를 라이트하면서 디인터리버 램에 저장되어 있는 데이터를 읽는 경우 상기 RAM의 어드레스 생성순서는 상기 도 8a 및 도 5a 모두 순차적이면서도 동일한 순서를 유지한다. 즉 매 클럭마다 RAM을 액세스할 때 0번지부터 1, 2, 3...의 순서로 읽고 L만큼의 지연이 있은 후 역시 0, 1, 2, 3 ... 에 순차적으로 데이터를 라이트하게 된다. 그러므로 이때 같은 어드레스를 동시에 액세스하거나 혹은 라이트 동작과 읽는 동작이 동시에 발생하여 데이터를 손상시키는 동작이 발생하지 않게 된다.
상기 도 8a에서는 디인터리버 램을 읽고 인터리버 램에 데이터를 라이트하는 동안의 램 타이밍도를 설명하였으며, 다음으로 도 8b를 참조하여 인터리버 램을 읽고 디인터리버 램에 데이터를 라이트하는 타이밍도를 설명하기로 한다.
상기 도 8b는 도 7에서 인터리버 램을 읽고 디인터리버 램에 데이터를 라이트하는 동안의 램 타이밍도이다.
상기 도 8b를 참조하면, 상기 도 8a에서 설명한 바와 반대의 경우로서, 상기 디인터리버 램에 데이터를 라이트하면서 인터리버 램에 저장되어 있는 데이터를 읽는 경우 RAM의 어드레스 생성은 인터리빙(Interleaving) 방식에 의해 partial bit reversed로 생성되어 순차적이지 않고 임의적이나 각각의 어드레스 발생 순서는 동일하다. 상기 도 8b에서 디인터리빙 램에 데이터를 라이트하면서 인터리빙 램에 저장되어 있는 데이터를 읽는 동작 타이밍과 상기 도 5b에서 설명한 바와 같은 인터리버 및 디인터리버를 별도의 하드웨어 로직으로 설계하고, 또한 인터리버 램과 디인터리버 램을 각각의 메모리로서 구현한 경우 터보 복호화 과정에서 짝수번째 복호화 과정시 인터리버/디인터리버 동작 타이밍은 동일하다. 즉 상기 디인터리버 램에 데이터를 라이트하는 동작과 상기 인터리버 램에 저장되어 있는 데이터를 읽는 동작이 같은 어드레스에서 동일하게 발생되는 경우가 없고 특정 지연 시간만큼의 차를 두고 동일한 순서로 발생하므로 상호간에 데이터 손상이 발생하지 않는다. 결국, 상기 제어기(713)에서 상기 동기식 SRAM(717) 어드레스를 멀티플렉싱하여 출력하고, 또한 상기 WEN 신호를 제어하면 인터리버와 디인터리버의 램 공유를 가능하게 한다.
한편 본 발명의 상세한 설명에서는 구체적인 실시예에 관해 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도내에서 여러 가지 변형이 가능함은 물론이다. 그러므로 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 안되며 후술하는 특허청구의 범위뿐만 아니라 이 특허청구의 범위와 균등한 것들에 의해 정해져야 한다.
상술한 바와 같은 본 발명은, 이동 통신 시스템, 특히 고속의 데이터 전송율을 지원하는 이동 통신 시스템에서 수신데이터를 터보 복호화하는 장치에서 인터리 버와 디인터리버를 하나의 하드웨어 로직으로 구현하고, 또한 상기 인터리버와 디인터리버가 하나의 동일한 메모리를 공유하여 사용하도록 함으로써 전체적인 하드웨어 면적을 감소시킨다는 이점을 가진다. 그러므로, 상기 데이터 전송율이 증가할수록 상기 증가하는 데이터 전송율에 비례하여 상기 하드웨어 면적의 감소율 역시 극대화된다는 이점을 가진다.

Claims (6)

  1. 터보 복호화 장치에서 인터리버와 디인터리버간 메모리 공유 장치에 있어서,
    인터리버/디인터리버의 제어에 따라 복호화기에서 복호된 데이터를 인터리빙한 데이터가 라이트되고, 상기 복호화기에서 복호된 데이터를 디인터리빙한 데이터가 라이트되는 메모리와,
    상기 복호화기의 지연시간동안 상기 저장되어 있는 디인터리빙된 데이터를 읽고, 상기 지연시간 후에 상기 인터리빙한 데이터를 상기 메모리에 라이트하도록 제어하는 제1신호를 발생하고, 상기 지연시간 동안 상기 디인터리빙한 데이터를 상기 메모리에 라이트하고, 상기 지연시간 후에 상기 메모리에 저장되어 있는 인터리빙된 데이터를 읽도록 제어하는 제2신호를 발생하는 제어기를 포함함을 특징으로 하는 메모리 공유 장치.
  2. 제1항에 있어서,
    상기 제어기와 상기 메모리에 제공되는 클럭은 상기 복호화기에 제공되는 클럭보다 RAM_Clock만큼의 빠른 속도를 가짐을 특징으로 하는 메모리 공유 장치.
  3. 제1항에 있어서,
    상기 제어기는 동일 시점에서 상기 메모리에 데이터를 라이트하는 어드레스와 상기 메모리에 저장되어 있는 데이터를 읽기 위한 어드레스는 순차적이면서 동일한 순서 또는 순차적이지 않고 임의적임을 특징으로 하는 메모리 공유 장치.
  4. 인터리버/디인터리버의 제어에 따라 복호화기에서 복호화된 데이터를 인터리빙한 데이터가 라이트되고, 상기 복호화기에서 복호된 데이터를 디인터리빙한 데이터가 라이트되는 메모리를 구비하는 터보 복호화 장치에서 인터리버와 디인터리버간 메모리 공유 방법에 있어서,
    상기 복호화기의 지연시간동안 상기 메모리에 저장되어 있는 디인터리빙된 데이터를 읽고, 상기 지연시간 후에 상기 인터리빙한 데이터를 상기 메모리에 라이트하는 과정과,
    상기 지연시간 동안 상기 디인터리빙한 데이터를 상기 메모리에 라이트하고, 상기 지연시간 후에 상기 메모리에 저장되어 있는 인터리빙된 데이터를 읽는 과정을 포함함을 특징으로 하는 메모리 공유 방법.
  5. 제4항에 있어서,
    상기 메모리에 제공되는 클럭은 상기 복호화기에 제공되는 클럭보다 RAM_Clock만큼의 빠른 속도를 가짐을 특징으로 하는 메모리 공유 방법.
  6. 제4항에 있어서,
    상기 메모리에 데이터를 라이트하는 어드레스와 상기 메모리에 저장되어 있는 데이터를 읽기 위한 어드레스는 순차적이면서 동일한 순서 또는 순차적이지 않고 임의적임을 특징으로 하는 메모리 공유 방법.
KR1020010077492A 2001-12-07 2001-12-07 터보 복호화 장치에서 인터리버와 디인터리버간 메모리공유 장치 및 방법 KR100762612B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020010077492A KR100762612B1 (ko) 2001-12-07 2001-12-07 터보 복호화 장치에서 인터리버와 디인터리버간 메모리공유 장치 및 방법
US10/314,724 US6988234B2 (en) 2001-12-07 2002-12-09 Apparatus and method for memory sharing between interleaver and deinterleaver in a turbo decoder

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020010077492A KR100762612B1 (ko) 2001-12-07 2001-12-07 터보 복호화 장치에서 인터리버와 디인터리버간 메모리공유 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20030047100A KR20030047100A (ko) 2003-06-18
KR100762612B1 true KR100762612B1 (ko) 2007-10-01

Family

ID=29573744

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020010077492A KR100762612B1 (ko) 2001-12-07 2001-12-07 터보 복호화 장치에서 인터리버와 디인터리버간 메모리공유 장치 및 방법

Country Status (2)

Country Link
US (1) US6988234B2 (ko)
KR (1) KR100762612B1 (ko)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10206727A1 (de) * 2002-02-18 2003-08-28 Infineon Technologies Ag Kombinierter Ver-und Entschachteler sowie Turbo-Decodierer mit kombiniertem Ver-und Entschachteler
US7505478B2 (en) * 2002-10-02 2009-03-17 Marvell International Ltd. Method and apparatus of de-multiplexing data
CA2869452C (en) 2004-10-12 2016-01-19 Tq Delta, Llc Resource sharing in a telecommunications environment
EP3301871B8 (en) 2006-04-12 2021-07-07 TQ Delta, LLC Method, apparatus and system for packet retransmission
US8755675B2 (en) * 2006-04-20 2014-06-17 Texas Instruments Incorporated Flexible and efficient memory utilization for high bandwidth receivers, integrated circuits, systems, methods and processes of manufacture
TWI685214B (zh) * 2018-10-04 2020-02-11 瑞昱半導體股份有限公司 解碼裝置及解碼方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63128820A (ja) * 1986-11-18 1988-06-01 Nec Corp メモリ形インタリ−ブ回路
JPH08279766A (ja) * 1995-04-07 1996-10-22 Nec Corp コンボリューショナル・インターリーブ回路
KR100295086B1 (ko) * 1998-01-23 2001-07-12 대표이사 서승모 싱글 버퍼 메모리를 사용한 디-인터리버 장치
US20010014962A1 (en) * 1999-02-26 2001-08-16 Kazuhisa Obuchi Turbo decoding apparatus and interleave-deinterleave apparatus
KR100306581B1 (ko) * 1998-10-09 2001-11-30 구자홍 하나의램을이용한인터리버/디인터리버방법

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6732327B1 (en) * 2000-05-05 2004-05-04 Nokia Networks Oy Scaled-feedback turbo decoder
US6392572B1 (en) * 2001-05-11 2002-05-21 Qualcomm Incorporated Buffer architecture for a turbo decoder

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63128820A (ja) * 1986-11-18 1988-06-01 Nec Corp メモリ形インタリ−ブ回路
JPH08279766A (ja) * 1995-04-07 1996-10-22 Nec Corp コンボリューショナル・インターリーブ回路
KR100295086B1 (ko) * 1998-01-23 2001-07-12 대표이사 서승모 싱글 버퍼 메모리를 사용한 디-인터리버 장치
KR100306581B1 (ko) * 1998-10-09 2001-11-30 구자홍 하나의램을이용한인터리버/디인터리버방법
US20010014962A1 (en) * 1999-02-26 2001-08-16 Kazuhisa Obuchi Turbo decoding apparatus and interleave-deinterleave apparatus

Also Published As

Publication number Publication date
US6988234B2 (en) 2006-01-17
KR20030047100A (ko) 2003-06-18
US20040203723A1 (en) 2004-10-14

Similar Documents

Publication Publication Date Title
KR100803957B1 (ko) 고도의 병렬식 맵 디코더
KR100671075B1 (ko) 터보 코딩의 사용을 용이하게 하기 위한 디코더, 디코딩 시스템 및 디코딩 방법
JP3898574B2 (ja) ターボ復号方法及びターボ復号装置
US8370713B2 (en) Error correction code decoding device
US20050034046A1 (en) Combined interleaver and deinterleaver, and turbo decoder comprising a combined interleaver and deinterleaver
KR20100068293A (ko) 멀티플렉싱되는 출력을 가진 병렬 터보 디코더
US20050273687A1 (en) Apparatus and method for turbo decoding using a variable window size
US7246298B2 (en) Unified viterbi/turbo decoder for mobile communication systems
JP2008135813A (ja) ターボ復号器及びターボ復号方法
EP1261139B1 (en) Concurrent memory control for turbo decoders
US7584389B2 (en) Turbo decoding apparatus and method
KR100762612B1 (ko) 터보 복호화 장치에서 인터리버와 디인터리버간 메모리공유 장치 및 방법
JP2008118628A (ja) 誤り訂正符号復号回路
KR100628201B1 (ko) 터보 디코딩 방법
KR20090044178A (ko) 통신시스템에서 병렬구조 라틴방진 인터리빙 방법 및 장치
US7743287B2 (en) Using SAM in error correcting code encoder and decoder implementations
US10270473B2 (en) Turbo decoders with stored column indexes for interleaver address generation and out-of-bounds detection and associated methods
US9130728B2 (en) Reduced contention storage for channel coding
KR100447175B1 (ko) 터보 디코딩 방법 및 이를 위한 장치
KR20000044277A (ko) 무선통신시스템에서 부호화장치의 랜덤 인터리버

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
G170 Re-publication after modification of scope of protection [patent]
FPAY Annual fee payment

Payment date: 20120830

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20130829

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20140828

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20150828

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20160830

Year of fee payment: 10

LAPS Lapse due to unpaid annual fee