KR20040080764A - 이동통신 시스템의 단말기에서 데이터 저장 장치 및 그제어 방법 - Google Patents

이동통신 시스템의 단말기에서 데이터 저장 장치 및 그제어 방법 Download PDF

Info

Publication number
KR20040080764A
KR20040080764A KR1020030015728A KR20030015728A KR20040080764A KR 20040080764 A KR20040080764 A KR 20040080764A KR 1020030015728 A KR1020030015728 A KR 1020030015728A KR 20030015728 A KR20030015728 A KR 20030015728A KR 20040080764 A KR20040080764 A KR 20040080764A
Authority
KR
South Korea
Prior art keywords
memory
data
qctc
address generator
buffers
Prior art date
Application number
KR1020030015728A
Other languages
English (en)
Inventor
김용찬
윤지용
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020030015728A priority Critical patent/KR20040080764A/ko
Publication of KR20040080764A publication Critical patent/KR20040080764A/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B1/00Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission
    • H04B1/38Transceivers, i.e. devices in which transmitter and receiver form a structural unit and in which at least one part is used for functions of transmitting and receiving
    • H04B1/40Circuits

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Error Detection And Correction (AREA)

Abstract

가. 청구범위에 기재된 발명이 속한 기술분야
이동통신 단말기의 수신기에 구비되는 메모리 장치 및 그 제어 방법에 관한 것이다.
나. 발명이 해결하고자 하는 기술적 과제
1x EV-DV 시스템의 이동단말기에서 전송되는 인코더 패킷의 복호 시에 QCTC buffering 기능을 위한 패킷 데이터의 저장 및 처리를 작은 용량의 메모리를 이용하여 수행할 수 있는 장치 및 방법을 제공한다.
다. 발명의 해결방법의 요지
본 발명에 따른 장치는 이동통신 시스템의 단말기에서 수신기에 포함되는 메모리 장치로서, 서로 다른 크기를 가지며, 상기 수신기 내의 터보 복호기로 입력되는 정보를 시스테메틱 정보와 패리티 정보들의 조합으로 구분하여 저장하기 위한 적어도 3개의 버퍼 메모리와, 상기 수신기 내의 터보 복호기로 입력되는 인코더 패킷의 데이터를 상기 3개의 버퍼에 저장하기 위한 주소를 생성하는 기록 주소 발생기와, 상기 3개의 버퍼에 저장된 복호된 데이터의 독취를 위한 독취 주소 발생기와, 상기 기록 주소 발생기 및 상기 독취 주소 발생기의 출력을 입력으로 하고, 메모리 할당 파라미터 값들을 수신하여 상기 3개의 각 메모리에 저장할 주소 및 저장된 데이터의 주소를 출력할 수 있도록 메모리의 재할당을 수행하며, 상기 각 버퍼로부터 출력되는 정보를 복호가 완료된 시점의 출력정보와 동일하도록 재구성하여출력하는 메모리 재 할당기를 포함한다.
라. 발명의 중요한 용도
1x EV-DV 이동통신 시스템의 수신기의 메모리에 사용한다.

Description

이동통신 시스템의 단말기에서 데이터 저장 장치 및 그 제어 방법{APPARATUS FOR STORING DATA IN A MOBILE COMMUNICATION SYSTEM AND CONTROLLING METHOD THEREOF}
본 발명은 이동통신 시스템에서 패킷 데이터를 처리하기 위한 메모리 장치 및 메모리에 데이터 저장 방법에 관한 것으로, 특히 이동통신 시스템의 단말기에서 패킷 데이터를 처리하는 수신기의 내부에 포함되는 버퍼 장치 및 상기 버퍼에 데이터를 저장하는 방법에 관한 것이다.
일반적으로 이동통신 시스템은 동기식 이동통신 시스템인 CDMA 방식과 비동기식 방식인 UMTS 방식으로 구분된다. 이와 같이 구분되는 것은 일반적인 음성 통신 이외에 데이터 통신을 함께 수행할 수 있도록 하기 위해 시스템에서 제공하는 방식을 달리함에 기인하고 있다. 상기 CDMA 통신 방식은 음성과 간단한 인터넷 접속 등을 지원하는 표준으로 IS-95 및 IS-2000 등과 같은 시스템이 제공되고 있으며, 현재 상용화 단계에까지 온 1x EV-DO와 같은 고속 패킷 데이터를 전송할 수 있는 이동통신 시스템 등이 있다. 또한 현재 표준화 협의가 거의 마무리 단계에 있는 보다 발전된 형식의 1x EV-DV 방식이 다음 세대의 CDMA 방식으로 사용될 것이다.
이와 같이 이동통신 시스템은 현재 계속적으로 발전하고 있으며, 보다 많은 데이터를 이동단말의 사용자들에게 제공할 수 있도록 하고 있다. 그러면 1x EV-DV 시스템에서 제공되는 채널 구조에 대하여 간략히 살펴보면 하기와 같다. 1x EV-DV시스템은 서로 다른 2개의 순방향 패킷 데이터 제어 채널(F-PDCCH : Forward Packet Data Control Channel)을 가지며, 순방향 패킷 데이터 채널(F-PDCH : Forward Packet Data Channel)들을 가질 수 있다.
상기한 바와 같은 구조를 가지므로 이동통신 시스템에서는 패킷 데이터 채널로 사용자에게 전달할 데이터를 무선 상으로 전송한다. 또한 이동통신 시스템은 상기 패킷 데이터 채널로 패킷에 대한 정보 즉, 인코더 패킷의 크기(EP_Size), 사용되는 월시 정보, 재전송 횟수(ACID), 서브 패킷의 아이디(SPID), 변조 차수 등의 정보를 패킷 데이터 제어 채널을 통해 전달하여 상기 데이터의 패킷 데이터 채널로 수신되는 패킷의 복조 및 복호를 수행한다.
그러면 패킷 데이터 채널의 순방향 송신기를 도 1을 참조하여 설명한다. 도 1은 1x EV-DV 이동통신 시스템에서 순방향 패킷 데이터 채널 송신기의 블록 구성도이다.
순방향으로 전송할 패킷 데이터 채널의 입력 시퀀스(Forward Packet Data Channel Sequency) 정보는 CRC 부가기(101)로 입력되어 16비트의 CRC 비트가 부가된다. 그리고, 상기 CRC 부가기(101)에서 16비트의 CRC 비트가 부가된 정보는 테일 비트 부가기(102)로 입력되어 6비트의 테일 비트가 부가되어 출력된다. 이와 같이 테일 비트가 부가된 정보는 터보 인코더(103)로 입력되어 터보 부호화를 수행한다. 이때 부호화율(Code Rate)은 1/5로 설정된다. 상기 터보 인코더(103)에서 터보 부호화된 심볼들은 채널 인터리버(104)로 입력되어 채널 인터리빙 된다. 상기 터보 인코더(103)와 상기 채널 인터리버(104)에서 수행되는 전체 동작은 1x EV-DV 표준에서 채택하고 있는 방식 즉, 준 보완 터보 부호화(QCTC : Quasi Complemental Turbo Code)에 따른 방식이 된다.
이와 같이 채널 인터리빙된 심볼과 스크램블러(106)로부터 출력된 심볼들은 모두 확산기(105)로 입력되며, 상기 확산기(105)에서 심볼 확산되어 심볼 선택기(107)로 입력된다. 상기 심볼 선택기(107)는 전송할 심볼들을 선택하여 변조기(108)로 출력한다. 상기 변조기(108)는 QPSK 방식 또는 8PSK 방식 또는 16-QAM 방식 등에 의해 변조되어 I 채널과 Q 채널의 직교 채널 정보로 출력된다. 이와 같이 변조기(108)에서 출력된 심볼들은 심볼 역다중화기(109)로 입력된다. 상기 심볼 역다중화기(109)는 각 사용자별로 송신할 심볼들을 사용자마다 구분하여 I 채널과 Q 채널의 데이터로 출력한다. 상기 심볼 역다중화기(109)로부터 출력된 각 심볼들은 월시 커버 결합기들(110a, …, 110n)을 통해 출력한다. 그러면 상기 월시 커버 결합기들(110a, …, 110n)은 월시 커버를 결합하여 월시 칩 레벨 가산기(111)로 출력한다. 그리고 상기 월시 칩 레벨 가산기(111)는 월시 칩 레벨의 정보를 결합하여 출력한다.
상기 도 1에서 살핀 과정 중 채널 인터리빙 과정을 도 2를 참조하여 세부적으로 살펴본다. 도 2는 상기 인터리버에서 입력된 터보 인코더의 심볼들이 인터리빙 되는 과정을 설명하기 위한 도면이다. 실제로 채널 인터리빙은 세부적으로 심볼 분리(symbol separation)와, 서브블록 인터리빙(subblock interleaving)과, 심볼 그루핑(symbol grouping)의 3과정으로 이루어진다. 상기 도 2에서는 상기와 같이 3부분의 세분화되는 과정의 채널 인터리빙 과정을 도시하였다.
상기 터보 인코더(103)는 1/5의 부호화율을 가지므로 터보 부호화기로부터 출력되는 심볼들은 상기 도 2에 도시한 바와 같이 systematic 심볼 그룹(Symbol Group)인 S(201)와, 패리티 비트 심볼 그룹(Parity Symbol Group)들(P0, P1, P0', P1')(202. 203. 204. 205)로 구성된다. 상기 각 그룹들은 전체 코드 심볼(code symbol)을 소정의 개수 단위로 분리(separation)하여 인코더 패킷의 길이로 나눈 후 210단계에서 각 심볼의 그룹들(S, P0, P1, P0', P1')에 대해 서브 블록 인터리빙(sub-block interleaving)을 수행한다. 상기 서브 블록 인터리빙 과정에서는 각 심볼들이 각 심볼 그룹들에 대해 각각 동일한 PBRO(Partial Bit Reverse Order)에 따른 인터리빙을 수행한다. 이와 같이 210단계의 서브 블록 인터리빙을 수행한 후 패리티 심볼의 그룹들은 서로 다중화되어 참조부호 220과 같이 심볼들이 그룹으로 묶이게 된다. 이와 같이 묶이는 것은 S는 S로, P0와 P0가 하나의 그룹으로, 그리고 P1/P1'이 다른 하나의 그룹으로 묶이게 된다.
도 3은 순방향 패킷 데이터 채널의 인코더 패킷의 크기별로 서브 블록의 인터리버 파라미터들을 매칭하여 도시한 도면이다. 그러면 상기 도 3을 참조하여 설명한다.
상기 1x EV-DV 방식을 사용하는 경우 인코더 패킷(EP)은 408, 792, 1560, 2328, 3096, 3864의 크기를 가지며, 각 인코더 패킷들은 0.2의 부호화율 또는 0.2985의 부호화율 또는 0.3969의 부호화율 또는 0.4954의 부호화율을 가진다. 이와 같은 부호화율과 각 인코더 패킷의 크기의 크기에 대한 매칭은 상기 도 3에서 도시한 바와 같다. 그리고 상기 각 인코더 패킷을 구성하는 경우 상기 도 2에서 설명한 바와 같이 묶음으로 묶인 데이터들의 조합은 systematic 심볼 그룹 : 제1패리티 심볼 그룹(P0/P0') : 제2패리티 심볼 그룹(P1/P1')의 비율은 1 : 2 : 2의 비율을 가진다. 즉, 상기한 바와 같은 비율에 의해 인코더 패킷의 크기가 408을 가진다면, 0.2의 부호화율에 따라 생성된 인코더 패킷의 크기는 2040의 크기를 가진다. 또한 패킷의 크기가 972의 크기를 가지는 경우 부호화된 심볼의 크기는 3960의 크기를 가지며, 1560의 크기를 가지는 경우 7800의 크기를 가지게 된다. 또한 2328의 크기를 가지는 인코더 패킷은 11640의 크기를 가져야 하고, 3096의 크기를 가지는 인코더 패킷은 15480의 크기를 가져야 하며, 3864의 크기를 가지는 인코더 패킷은 19320의 크기를 가져야 한다.
그런데 서브 패킷 선택 과정에서는 하나의 인코더 패킷에 대한 k번째 전송을 위해 채널 인터리빙과 스크램블링을 수행한 터보 인코딩 된 패킷의 일부 또는 전부 또는 그 반복으로 서브 패킷을 형성한다. 상기 서브 패킷의 선택 방법은 3GPP2 C.S0002-C 3.1.3.1.12절에 상세히 개시되어 있다. 상기 서브 패킷의 선택 시에 전송되는 서브 패킷을 구성하는 심볼의 일부 데이터 전송을 제한하게 된다. 즉, 구성된 모든 심볼이 전송되는 것이 아니라, 일부의 서브 패킷만을 전송하게 된다. 이와 같이 제한한 값은 7800으로 제한된다. 따라서 상기한 바와 같이 2328 이상의 크기를 가지는 인코더 패킷은 부호화 심볼들을 모두 전송할 수 없게 된다. 따라서 2328 이상의 크기를 가지는 인코더 패킷의 경우 실제로 전송되는 부호화된 심볼들은 상기 도 3에서 도시한 바와 같이 전송된다.
이를 다시 각 인코더 패킷별로 구분하여 보면, 2328의 크기를 가지는 인코더패킷은 systematic 심볼 그룹은 2328의 데이터가 전송되며, 제1패리티 심볼 그룹은 2328의 2배에 해당하는 4656의 크기를 가진다. 그러나 제2패리티 심볼 그룹은 상기 7800의 제한으로 인하여 408에 2배에 해당하는 816의 심볼들만을 가지게 된다. 따라서 상기 도 3에서 도시한 바와 같이 부호화율이 0.2가 아닌 2.2985가 된다. 그리고 3096의 크기를 가지는 인코더 패킷의 경우 systematic 심볼 그룹은 3906의 크기를 가질 수 있다. 그러나 제1패리티 그룹은 3096의 2배를 모두 충족할 수 없으므로, 2352의 2배에 해당하는 패리티 심볼들로 구성된다. 따라서 부호화율 또한 0.3969가 된다. 마지막으로 3864의 크기를 가지는 인코더 패킷의 경우 systematic 심볼 그룹은 3864의 크기를 가진다. 그러나 제1패리티 그룹에서 이를 충족할 수 없게 되므로 1968의 2배에 해당하는 3936의 크기를 가지는 패리티 심볼로 구성된다. 따라서 실제로 전송되는 심볼의 부호화율은 0.4954가 된다.
이와 같이 전송되는 실제의 부호화율은 송신기에서 실제 부호화율이 1/5 즉, 0.2이라 할지라도 전송되는 부호화율은 0.2가 아닌 다른 부호화율을 가지게 된다. 그러므로 순방향 패킷 데이터 채널(F-PDCH)을 통해 패킷 데이터를 수신하는 단말기는 변조(demodulation) 과정, 역확산(descrambling) 과정 및 디인터리빙(deinterleaving) 등의 송신 시의 역과정을 수행하여 패킷 데이터(packet data)를 복조해 낸다. 이때 수신된 서브 패킷에 대해 채널 역확산(channel deinterleaving)을 수행하기 위해서는 이를 저장하여 처리할 버퍼가 필요하게 된다. 이하의 설명에서 이와 같이 채널 역확산 과정에서 이를 저장하기 위해 필요한 버퍼를 "준 보완 터보 부호 버퍼(QCTC buffer - 이하 "QCTCbuffer"로 기재함)"라 한다. 상기 QCTC buffer는 위에서 언급한 채널 인터리빙의 3가지 과정 즉, 심볼 분리(symbol separation), 서브 블록 인터리빙(subblock interleaving), 심볼 그루핑(symbol grouping)의 역과정을 수행한다. 그러므로 QCTC buffer로부터 출력되는 신호는 터보 복호기(turbo decoder)로 입력되어 복호화가 이루어진다.
전술한 바에 따르면 상기 QCTC buffering의 수행에 필요한 메모리의 비트의 수는 7800 ×WSYM(symbol resolution)이다. 즉, 직관적으로 QCTC buffer의 memory를 7800*WSYM크기의 RAM으로 구현할 수 있다. 이 경우, 터보 복호기에 심볼을 전달할 때 QCTC buffer는 한 클럭 사이클에 하나의 심볼을 출력할 수 있다. 따라서 부호화율(R)이 1/5 기반의 터보 부호기(turbo decoder)는 동작 모드와 대기모드의 반복(odd/even iteration) 각각에서 한 비트의 프레임 - 1xEV-DV에서는 인코더 패킷(encoder packet) - 정보마다 3개의 부호화 심볼을 갖고 복호화를 수행하게 된다. 따라서, 7800 ×WSYM크기의 RAM을 사용하는 구조에서 한번의 반복(iteration)을 수행하는데 걸리는 시간은 2 ×3 ×(NEP- 3) + α의 클럭 주기(clock cycle)가 된다. 그런데 이러한 구조는 1xEV-DV의 순방향 패킷 데이터 채널(F-PDCH)과 같이 고속 데이터 전송을 위한 채널에 사용되는 터보 복호기에는 적합하지 못하다.
터보 복호기에서 사용이 불가능한 이유를 살펴보면 하기와 같다. QCTC buffer의 메모리 구조를 systematic 심볼 그룹과 제1패리티 심볼 그룹 및 제2패리티 심볼 그룹으로 구분하여 QCTC buffer가 동시에 3개의 심볼을 터보 복호기로 넘겨줄 수 있도록 하면, 터보 복호기가 한번의 반복을 2 ×(NEP- 3) + β의 클록 주에 수행할 수 있다. 이와 같은 방법으로 구성되는 경우는 도 4에 도시한 바와 같다.
도 4는 1x EV_DV 방식에 따라 3개의 심볼 그룹의 메모리와 각 인코더 패킷의 크기에 따라 저장되는 방식을 도시한 도면이다. 상기 도 4를 참조하면, 1x EV-DV 표준의 스펙(Specification)에서 최대 심볼의 개수가 7800으로 제한되었지만, 상기 도 4와 같은 구조를 가져가는 경우 필요한 램(RAM)의 워드 수를 모두 합하면, 10104가 된다. 즉, 1x EV-DV 스펙에서 제한하고 있는 워드의 크기에 비해 2304개의 워드를 더 사용하게 된다. 이와 같은 현상이 발생하는 것은 각 심볼 그룹에서 발생하는 fragmentation 때문이다. 또한 1xEV-DV에서는 HARQ(Hybrid ARQ) 방식으로 패킷 데이터를 전송하게 된다. 이와 같이 HARQ 방식을 사용하는 경우 상기 시스템은 QCTC buffer 메모리 구조를 ARQ 채널의 수만큼 반복하여 사용한다. 따라서, fragmentation에 의한 area의 낭비는 배가되는 문제가 발생한다.
즉, 상기한 바와 같이 구성하면 표준에서 제한하고 있는 메모리보다 많은 양의 메모리를 사용하여야 한다. 이와 같이 메모리의 크기가 커지면, 단말기의 가격이 상승되며, 메모리에서 사용하는 전력이 많아지므로 배터리를 사용하는 단말의 입장에서 1회 충전으로 사용할 수 있는 시간이 단축되는 문제를 가진다.
따라서 본 발명의 목적은 1x EV-DV 시스템의 이동단말에서 QCTC 버퍼링(buffering) 기능을 위한 데이터를 적은 양의 메모리를 이용하여 저장하기 위한 장치 및 방법을 제공함에 있다.
본 발명의 다른 목적은 1x EV-DV 시스템의 이동단말에서 소모전력을 줄일 수 있는 장치 및 방법을 제공함에 있다.
상기한 목적들을 달성하기 위한 본 발명의 장치는, 이동통신 시스템의 단말기에서 수신기에 포함되는 메모리 장치로서, 서로 다른 크기를 가지며, 상기 수신기 내의 터보 복호기로 입력되는 정보를 시스테메틱 정보와 패리티 정보들의 조합으로 구분하여 저장하기 위한 적어도 3개의 버퍼 메모리와, 상기 수신기 내의 터보 복호기로 입력되는 인코더 패킷의 데이터를 상기 3개의 버퍼에 저정하기 위한 주소를 생성하는 기록 주소 발생기와, 상기 3개의 버퍼에 저장된 복호된 데이터의 독취를 위한 독취 주소 발생기와, 상기 기록 주소 발생기 및 상기 독취 주소 발생기의 출력을 입력으로 하고, 메모리 할당 파라미터 값들을 수신하여 상기 3개의 각 메모리에 저장할 주소 및 저장된 데이터의 주소를 출력할 수 있도록 메모리의 재할당을 수행하며, 상기 각 버퍼로부터 출력되는 정보를 복호가 완료된 시점의 출력정보와 동일하도록 재구성하여 출력하는 메모리 재 할당기를 포함한다.
도 1은 1x EV-DV 이동통신 시스템에서 순방향 패킷 데이터 채널 송신기의 블록 구성도,
도 2는 상기 인터리버에서 입력된 터보 인코더의 심볼들이 인터리빙 되는 과정을 설명하기 위한 도면,
도 3은 순방향 패킷 데이터 채널의 인코더 패킷의 크기별로 서브 블록의 인터리버 파라미터들을 매칭하여 도시한 도면,
도 4는 1x EV_DV 방식에 따라 3개의 심볼 그룹의 메모리와 각 인코더 패킷의 크기에 따라 저장되는 방식을 도시한 도면,
도 5는 본 발명의 바람직한 실시 예에 따른 QCTC buffer의 구조 및 그 제어 구성요소들을 도시한 도면,
도 6은 본 발명의 바람직한 실시 예에 따른 메모리 재 할당기의 내부 구성도,
도 7a 및 도 7b는 본 발명의 바람직한 실시 예에 따라 k개의 데이터 그룹에서 버퍼의 할당을 설명하기 위한 흐름도.
이하 본 발명의 바람직한 실시 예를 첨부한 도면을 참조하여 상세히 설명한다. 우선 각 도면의 구성 요소들에 참조 부호를 부가함에 있어서, 동일한 구성 요소들에 한해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다.
또한 하기 설명에서는 구체적인 신호 및 상태 등과 같은 많은 특정(特定) 사항들이 나타나고 있는데, 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐 이러한 특정 사항들 없이도 본 발명이 실시될 수 있음은 이 기술 분야에서 통상의 지식을 가진 자에게는 자명하다 할 것이다. 그리고 본 발명을 설명함에 있어, 관련된 공지 기능 혹은 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
도 5는 본 발명의 바람직한 실시 예에 따른 QCTC buffer의 구조 및 그 제어 구성요소들을 도시한 도면이다. 이하 도 5를 참조하여 본 발명에 따른 QCTC buffer의 구조 및 그 제어 구성요소들을 상세히 설명한다.
먼저 개괄적인 구성요소에 대하여 살펴본다. 우선 QCTC 버퍼들(631, 632, 632)이 구비된다. 그리고 상기 QCTC 버퍼들(631, 632, 633)에 데이터를 기록할 주소를 발생하는 기록 주소 발생기(601)와, QCTC 버퍼들(631, 632, 633)에 저장된 데이터를 독취하기 위한 독취 주소 발생기(602)를 구비한다. 그리고, 상기 기록 주소 발생기(601)와 독취 주소 발생기(602)로부터 출력되는 주소를 변환하기 위한 변환기들(611, 612, 613)을 구비한다. 상기 변환기들(611, 612, 613)에서 변환된 주소를 수신하여 상기 QCTC 버퍼들(631, 632, 633)로 출력하며, 상기 QCTC 버퍼들(631, 632, 633)로부터 출력되는 데이터를 수신하여 systematic 부분과 제1패리티 및 제2패리티 묶음으로 변환하여 출력하는 메모리 재 할당기(621)를 포함한다.
상기한 바와 같은 구성은 종래기술에서 설명한 도 4와 같이 메모리를 구성하는 경우에 필요한 구성 요소들에 메모리 재 할당기(621)를 더 가지도록 구성하였으며, 메모리로의 입력 신호의 방향과 출력 신호의 방향을 변경하여 심볼 그룹에 대한 메모리의 할당을 동적으로 하기 위한 것이다. 이와 같이 구성함으로써 메모리의 크기를 줄일 수 있게 된다. 또한 이때 상기 QCTC 버퍼들(631, 632, 633)의 메모리 할당을 결정하는 파라미터로는 인코더 패킷의 크기(EP Size)와 터보 디코더의 디코더 선택(decoder selection) 신호를 사용하여 구성하였다. 또한 상기 심볼의 그룹은 전술한 바와 같이 systematic 그룹과 제1패리티 그룹과 제2패리티 그룹의 3개로 구성된다. 그러면 메모리 재 할당기(621)의 내부 구성에 대하여 살펴본다.
도 6은 본 발명의 바람직한 실시 예에 따른 메모리 재 할당기의 내부 구성도이다. 상기 메모리 재 할당기(621)는 QCTC 버퍼 1(631)의 주소 재할당을 위한 제1할당기(711)와 QCTC 버퍼 2(632)의 주소 재할당을 위한 제2할당기(712)와 QCTC 버퍼 3(633)의 주소 재할당을 위한 제3할당기(713)를 포함한다. 상기 각 할당기들(711, 712, 713)은 입력되는 읽기 또는 쓰기를 위한 주소를 상기 각 QCTC 버퍼들(631, 632, 633)에 맞춰 재할당하여 주소 신호들(A0, A1, A2)과 기록 활성화 신호들(WEN1, WEN2, WEN3) 및 선택 신호들(CSN0, CSN1, CSN2)을 출력한다. 이러한 신호는 상기 도 6의 각 QCTC 버퍼들(631, 632, 633)로 입력된다. 상기 각 할당기들(711, 712, 713)로 입력되는 신호는 실제 기록을 위한 신호와 선택 신호 및 주소 데이터가 된다. 그리고 이러한 신호들을 입력으로 하며, 후술할 선택 신호들(ISEL0, ISEL1, ISEL2)에 따라 선택적으로 신호를 출력한다. 이와 같이 출력되는 신호들에 의거하여 QCTC 버퍼들(631, 632, 633)로 데이터가 변경된다.
또한 본 발명에 따라 상기 메모리 재 할당기(621)는 출력되는 데이터 즉, 상기 QCTC 버퍼들(631, 632, 633)로부터 출력되는 데이터를 그대로 출력하지 않고, 전술한 바와 같은 묶음으로 출력한다. 그러므로 상기 QCTC 버퍼들(631, 632, 633)들로부터 출력되는 데이터는 선택 출력기들(721, 722, 723)로 입력된다. 그리고 상기 선택 출력기들(721, 722, 723)은 후술될 선택 신호들(OSEL_O0, OSEL_O1, OSEL_O2)에 의해 선택된 신호가 출력된다. 이와 같은 선택 신호에 의해 입력되는 신호들을 systematic 부분과 제1패리티 및 제2패리티의 묶음으로 구분하여 출력한다.
마지막으로 상기 메모리 재 할당기(621)는 전술한 바와 같은 메모리 재할당 파라미터 즉, 인코더 패킷의 크기(EP Size)와 터보 디코더의 디코더 선택(decoder selection) 신호 등을 수신하여 상기 각 할당기들(711, 712, 713)로 입력되는 선택 신호들(ISEL0, ISEL1, ISEL2)을 생성하여 출력하며, 상기 각 선택기들(721, 722, 723)로 입력되는 선택신호들(OSEL_O0, OSEL_O1, OSEL_O2)을 생성하여 출력한다. QCTC 버퍼의 할당은 상기한 버퍼 할당 테이블의 내용에 따라 달라지며, 그것은 또한 버퍼를 얼마나 효율적으로 사용하는가를 결정하는 요소가 된다.
이러한 버퍼 할당 테이블에 저장되는 내용을 표로 도시하면 하기 <표 1>과 같이 도시할 수 있다.
Decoder Selection Encoder Packet Size NEP ISEL0 ISEL1 ISEL2 OSEL_SYS OSEL_P0 OSEL_P1
0(even iteration) 408 1 2 0 1 2 0
792 1 2 0 1 2 0
1560 1 2 0 1 2 0
2328 1 2 0 1 2 0
3096 0 1 2 0 1 2
3864 0 1 2 0 1 2
1(odd iteration) 408 1 2 0 1 0 2
792 1 2 0 1 0 2
1560 1 2 0 1 0 2
2328 1 2 0 1 0 2
3096 0 1 2 0 2 1
3864 0 1 2 0 2 1
이상에서 설명한 바를 상기 <표 1>을 참조하여 설명하면 하기와 같다. 상기 램의 할당 테이블이 상기 <표 1>과 같이 구성되는 경우 인코더 패킷의 크기가 3096, 3864인 경우 systematic group은 상기 QCTC 버퍼1(631)에 제1패리티 묶음의 그룹은 QCTC 버퍼2(632)에, 제2패리티 묶음의 그룹은 QCTC 버퍼3(633)에 할당된다. 이러한 경우에 기존에 사용하던 고정적인 메모리의 할당과 비교하여 달라진 것이 없다. 즉, 인코더 패킷의 크기가 408, 792, 1560, 2328인 경우에는 systematic 그룹은 QCTC 버퍼1(631)에 parity0/parity1'로 묶인 그룹은 QCTC 버퍼1(632)에 parity1/parity0'로 묶인 그룹은 QCTC 버퍼2(633)에 할당된다. 이 경우에는 고정적인 메모리의 할당과 비교하여 각각 메모리의 할당이 변화된 것을 알 수 있다. 즉, 메모리 할당의 변화가 없는 경우, QCTC 버퍼3(633)은 인코더 패킷의 크기가 1560일 때 3120 워드를, 인코더 패킷의 크기가 2328일 때는 2736 워드만큼의 크기를 가져야 한다. 즉, QCTC 버퍼3(633)이 고정적인 크기를 가지는 경우에 크기는 3120 워드였다. 그러나, 메모리의 할당을 동적으로 변화함으로서 보다 작은 크기의 메모리 해당 인코더 패킷 크기에 대한 동작을 정상적으로 수행할 수 있게 된다. Parity0와 parity1'이 한 그룹에 속해 있으므로, OSEL_P0와 OSEL_P1의 값은 odd iteration의 경우 서로 교환된 값을 사용한다.
이상에서 전술한 내용은 본 발명에 따라 3개의 버퍼가 구성되는 경우로 설명하였다. 그러나 이를 일반적으로 확장하면, 하기와 같이 설명될 수 있다. 즉, 데이터 그룹을 3개로 한정하지 않고 임의의 수 k로 가정하면, QCTC 버퍼가 k개로 증가된다. 따라서 각 QCTC 버퍼에 맞춰 데이터를 입력 또는 출력하기 위한 선택기의 숫자가 k개가 되며, 출력을 위한 선택기들도 k개로 확장된다. 이와 같이 구성하는 경우 k개의 출력 버퍼에 대한 가장 최적의 워드 길이(word depth : WD0, WD1, ... ,WDk-1)을 구하는 방법은 다음과 같다. k개의 데이터 그룹에 대한 최적의 워드 길이를 구할 때, parameter i에 대한 데이터 그룹 j의 워드 길이를 wi,j라 하고, wi,j(j=0,...,k-1)를 저장하여 그 중 가장 큰 값을 wsi,l-1이라고 하면 워드 길이는 하기 <수학식 1>과 같이 정의된다.
WDm= maxi(wsi,m) 여기서, m = 0, …, k-1
상기한 <수학식 1>의 입력인 ws*,*을 이용하여 종래기술에서 전술한 도 3의 즉, k=3인 QCTC 버퍼의 워드 길이에 대하여 계산하면 하기 <표 2>와 같이 계산된다.
ws408,0= 816, ws408,1= 816, ws408,2= 408,ws792,0= 1584, ws792,1= 1584, ws792,2= 792,ws1560,0= 3120, ws1560,1= 3120, ws1560,2= 1560,ws2328,0= 2736, ws2328,1= 2736, ws2328,2= 2328,ws3096,0= 3096, ws3096,1= 2352, ws3096,2= 2352,ws3864,0= 3864, ws3864,1= 1968, ws3864,2= 1968
상기 <표 2>와 같이 계산된 값들에서 다시 상기 <수학식 1>을 이용하여 WD0= 3864, WD1= 3120, WD2= 2352를 구할 수 있다. 이는 전술한 도 5에 도시한 각 QCTC 버퍼들(631, 632, 633)의 워드 길이가 된다. 위에서 각 QCTC 버퍼의 워드 길이(WD)를 구했을 때, 각 QCTC 버퍼에 대한 데이터 그룹의 할당은 하기와 같이 정할 수 있다. 파라미터 i에 대해, k개의 데이터 그룹 j는 wi,j= wsi,m인 WDm크기의 QCTC 버퍼에 할당된다. 이러한 규칙에 의거하여 k개 QCTC 버퍼의 크기와 버퍼 할당 테이블(731)을 계산하는 과정을 도 7a 및 도 7b를 참조하여 설명하기로 한다.
도 7a 및 도 7b는 본 발명의 바람직한 실시 예에 따라 k개의 데이터 그룹에서 버퍼의 할당을 설명하기 위한 흐름도이다. 이하 도 7a 내지 도 7b를 참조하여 본 발명의 실시 예에 따라 k개의 데이터 그룹에서 버퍼를 할당하기 위한 과정을 상세히 설명한다.
먼저 도 7a 및 도 7b의 흐름도는 크게 두 부분으로 구성된다. 흐름도의 전반부인 800단계 내지 822단계에서는 상기 <표 1>과 같은 버퍼 할당 테이블 값을 계산하고, 상기 <표 2>와 같이 파라미터 별로 데이터 그룹에 대해 정렬된 워드 길이ws*,*를 계산하기 위한 과정이다. 그리고 상기 도 7b에 도시한 흐름도의 후반부인 824단계 내지 830단계에서는 상기 전반부에서 구해진 값 ws*,*과 <수학식 1>을 이용하여 각 데이터 그룹에 대한 최적의 워드 길이 WD를 계산하기 위한 과정을 도시하였다. 상기 흐름도의 전반부는 파라미터와 데이터 그룹에 대한 2차원 루프이다. 그러면 상기 도 7a 및 도 7b를 참조하여 설명한다.
먼저 메모리 재 할당기(621)는 800단계에서 파라미터 인덱스 i가 첫 번째 파라미터로 초기화되고, 2차원 루프의 동작이 시작된다. 그리고 802단계로 진행하여 파라미터에 대한 루프의 내부에서는 wi,j를 tmpj로 복사하고, 804단계로 진행하여 검색 마스크 maskj를 0으로 초기화하며, 806단계로 진행하여 데이터 인덱스 l을 1로 초기화한다. 이와 같은 동작을 완료한 후 메모리 재 할당기(621)는 808단계에서 wsi,l-1의 최대 값을 설정한 후 810단계 내지 816단계를 통해 tmpj를 wsi,*로 정렬하는 과정을 수행한다. 이러한 과정은 단순히 선형 검색(linear search)을 사용한 최대 값 정렬을 k번 즉, 816단계에서 미리 결정된 횟수인 k만큼 반복하여 수행된다.
메모리 재 할당기(621)는 데이터 808단계에서 그룹에 대한 루프 내부에서는 검색 마스크 maskj가 세팅되지 않은 j(= 0 ~ k-1)에 대해 tmpj중 최대 값을 찾아내고, 810단계로 진행하여 버퍼 할당 테이블의 (i, l-1)번째 값을 상기의 조건을 만족하는 인덱스 j로 채운다. 그리고, 메모리 재 할당기(621)는 812단계에서 해당 인덱스 j에 대해 maskj를 1로 세팅하여 이미 tmpj가 검색되었음을 표시한다. 상기의동작이 k번 반복된 후에는 메모리 재 할당기(621)는 814단계에서 wsi,*와 위치 테이블(AllocationTable)의 인덱스(i,*)를 증가시키고, 816단계로 진행하여 데이터 그룹 인덱스 l을 k와 비교한다.
메모리 재 할당기(621)는 820단계에서 파라미터에 대한 루프를 수행하기 위해, 파라미터 인덱스 i를 다음 파라미터로 교체하고, 822단계로 진행하여 전체 파라미터에 대한 ws*,*가 계산되었는가를 비교한다.
그리고 전술한 흐름도의 후반부는 데이터 그룹에 대한 1차원 루프이다. 메모리 재 할당기(621)는 824단계에서 데이터 그룹 인덱스 m이 0으로 초기화된 후, 루프의 동작이 시작된다. 상기 <수학식 1>은 826단계를 통해 루프 내부에서 반복 적용되고, k번의 반복 이후에 루프가 종료되면 최적의 워드 길이 WD가 계산된다. 즉, 826단계 내지 830단계를 통해 최적의 워드 길이를 계산하기 위한 과정이 반복된다.
상술한 바와 같이 1x EV-DV 시스템의 이동단말에서 QCTC 버퍼링을 위한 데이터를 작은 크기의 메모리를 이용하여 저장할 수 있고, 이를 통해 이동단말의 제작 비용 및 이동단말의 소모전력을 줄일 수 있는 이점이 있다.

Claims (4)

  1. 이동통신 시스템의 단말기에서 수신기에 포함되는 메모리 장치에 있어서,
    서로 다른 크기를 가지며, 상기 수신기 내의 터보 복호기로 입력되는 정보를 시스테메틱 정보와 패리티 정보들의 조합으로 구분하여 저장하기 위한 적어도 3개의 버퍼 메모리와,
    상기 수신기 내의 터보 복호기로 입력되는 인코더 패킷의 데이터를 상기 3개의 버퍼에 저정하기 위한 주소를 생성하는 기록 주소 발생기와,
    상기 3개의 버퍼에 저장된 데이터의 독취를 위한 독취 주소 발생기와,
    상기 기록 주소 발생기 및 상기 독취 주소 발생기의 출력을 입력으로 하고, 메모리 할당 파라미터 값들을 수신하여 상기 3개의 각 메모리에 저장할 주소 및 저장된 데이터의 주소를 출력할 수 있도록 메모리의 재할당을 수행하는 메모리 재 할당기를 포함함을 특징으로 하는 상기 장치.
  2. 제1항에 있어서, 상기 메모리 재 할당기는,
    상기 3개의 메모리에 대응되어 저장할 주소 및 메모리 선택 신호를 생성하여 출력하는 3개의 할당기와,
    상기 3개의 메모리로부터 출력되는 신호를 재구성하여 출력하기 위한 3개의 선택기와,
    상기 3개의 메모리의 영역이 최소화되도록 저장하기 위한 메모리 할당 테이블을 포함함을 특징으로 하는 상기 장치.
  3. 제1항에 있어서, 상기 3개의 메모리는,
    하기 <수학식 2>에 의해 각 메모리의 크기가 결정됨을 특징으로 하는 상기 장치.
    WDm= maxi(wsi,m) 여기서, m = 0, …, k-1
    여기서 WDm은 m번째 메모리의 워드 길이 즉, 크기를 의미하며, maxi는 최대 값을 의미한다.
  4. 제1항에 있어서,
    상기 기록 주소 발생기의 신호와 상기 독취 주소 발생기의 신호를 수신하고 이를 제1패리티 기록 신호와 제2패리티 기록 신호 및 시스테메틱 기록 신호로 변환하여 출력하는 변환부를 포함함을 특징으로 하는 상기 장치.
KR1020030015728A 2003-03-13 2003-03-13 이동통신 시스템의 단말기에서 데이터 저장 장치 및 그제어 방법 KR20040080764A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020030015728A KR20040080764A (ko) 2003-03-13 2003-03-13 이동통신 시스템의 단말기에서 데이터 저장 장치 및 그제어 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020030015728A KR20040080764A (ko) 2003-03-13 2003-03-13 이동통신 시스템의 단말기에서 데이터 저장 장치 및 그제어 방법

Publications (1)

Publication Number Publication Date
KR20040080764A true KR20040080764A (ko) 2004-09-20

Family

ID=37365368

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020030015728A KR20040080764A (ko) 2003-03-13 2003-03-13 이동통신 시스템의 단말기에서 데이터 저장 장치 및 그제어 방법

Country Status (1)

Country Link
KR (1) KR20040080764A (ko)

Similar Documents

Publication Publication Date Title
RU2216099C2 (ru) Устройство и способ перемежения/обратного перемежения для системы связи
CN101394189B (zh) Turbo解码器的缓冲器结构
KR100383602B1 (ko) 부호분할다중접속 통신시스템의 채널 부호화 및다중화장치 및방법
RU2274950C2 (ru) Устройство и способ перемежения для системы связи
TW451560B (en) Coding device and communication system using the same
JP3987553B2 (ja) 通信システムでインタリービングされたデータストリームのデインタリービング方法及び装置
CA2321977C (en) Puncturing device and method for turbo encoder in mobile communication system
KR100526537B1 (ko) 가변 데이터레이트의 채널 구조를 가지는 부호분할다중접속 통신시스템의 직교부호 할당 방법 및 그에 따른 장치
KR100430567B1 (ko) 주소발생기를 포함한 인터리빙/디인터리빙 수행 장치 및그 방법과 그를 이용한 채널 부호화 시스템
US6601214B1 (en) System and method employing a rate matching algorithm for providing optimized puncturing patterns for turbo encoded data in a communications network
JP4422906B2 (ja) コ・セット分割を用いたインタリーバ
KR20190111991A (ko) 폴라 코드의 레이트 매칭을 프로세싱하기 위한 방법 및 장치
JP4185051B2 (ja) 通信システムにおけるシャッフリングデータを受信する方法及び装置
CN1284306C (zh) 码分多址通信系统中的编码装置及其方法
CN1411195A (zh) 交错器模式修改
US6788617B1 (en) Device for generating memory address and mobile station using the address for writing/reading data
KR20040080764A (ko) 이동통신 시스템의 단말기에서 데이터 저장 장치 및 그제어 방법
KR20060121312A (ko) 컨볼루션 터보 부호 인터리버
KR100899736B1 (ko) 무선 패킷 데이터 채널 수신장치 및 방법
KR100557087B1 (ko) 고속 순방향 패킷 접속 방식을 사용하는 통신 시스템에서비트 재정렬을 수행하는 장치 및 방법
US7352723B2 (en) Method of forming a coded composite transport channel for downlink transmissions
KR20040037624A (ko) 인터리빙된 데이터 열의 디인터리빙 방법 및 장치
KR100186324B1 (ko) 대역 확산 통신 장치
KR20050094304A (ko) 통신시스템의 인터리버 및 인터리빙 방법
Falahati et al. Convolutional coding schemes for variable rate, unequal error protection, and packet data services

Legal Events

Date Code Title Description
WITN Withdrawal due to no request for examination