KR100663419B1 - 복합 재전송 방식의 이동통신 시스템에서 출력 버퍼 제어장치 및 방법 - Google Patents

복합 재전송 방식의 이동통신 시스템에서 출력 버퍼 제어장치 및 방법 Download PDF

Info

Publication number
KR100663419B1
KR100663419B1 KR1020040001005A KR20040001005A KR100663419B1 KR 100663419 B1 KR100663419 B1 KR 100663419B1 KR 1020040001005 A KR1020040001005 A KR 1020040001005A KR 20040001005 A KR20040001005 A KR 20040001005A KR 100663419 B1 KR100663419 B1 KR 100663419B1
Authority
KR
South Korea
Prior art keywords
buffer
turbo
signal
data
decoding
Prior art date
Application number
KR1020040001005A
Other languages
English (en)
Other versions
KR20040063834A (ko
Inventor
김민구
허진우
하상혁
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Publication of KR20040063834A publication Critical patent/KR20040063834A/ko
Application granted granted Critical
Publication of KR100663419B1 publication Critical patent/KR100663419B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B7/00Radio transmission systems, i.e. using radiation field
    • H04B7/005Control of transmission; Equalising
    • 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/0047Decoding adapted to other signal detection operation
    • H04L1/005Iterative decoding, including iteration between signal detection and decoding operation
    • 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/0056Systems characterized by the type of code used
    • H04L1/0064Concatenated codes
    • H04L1/0066Parallel concatenated codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1829Arrangements specially adapted for the receiver end
    • H04L1/1835Buffer management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1829Arrangements specially adapted for the receiver end
    • H04L1/1854Scheduling and prioritising arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1812Hybrid protocols; Hybrid automatic repeat request [HARQ]
    • H04L1/1819Hybrid protocols; Hybrid automatic repeat request [HARQ] with retransmission of additional or different redundancy

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Communication Control (AREA)

Abstract

본 발명은 복합 재전송 방식의 이동통신 시스템에서 출력 버퍼 제어 장치 및 방법에 관한 것으로, 패킷 데이터 채널로 수신된 데이터를 효율적으로 상위로 전달할 수 있는 장치 및 방법을 제공한다.
이러한 본 발명의 장치는, 순방향 패킷 데이터 채널로 송신되는 패킷 데이터를 송신하며, 상기 순방향 패킷 데이터 채널로 전송되는 패킷 데이터의 복조 및 복호 정보를 순방향 패킷 데이터 제어 채널로 송신하는 이동통신 시스템에서 상기 패킷 데이터 채널로 전송된 패킷 데이터를 수신하여 복호하고, 상기 복호된 패킷 데이터를 상위 계층으로 전달하기 위한 단말로서, 상기 순방향 패킷 데이터 제어 채널로 수신된 정보를 이용하여 상기 패킷 데이터 채널로 수신된 패킷 데이터를 복호하고, 상기 복호된 데이터를 저장하며 상기 저장되는 데이터의 버퍼 정보를 출력하는 고속 터보 복호기와, 상기 패킷 데이터를 수신하여 저장하며, 독취 요구 시 데이터를 출력하는 버퍼와, 상기 복호기로부터 복호된 데이터의 정보 및 버퍼 정보를 수신하고, 상기 수신된 데이터 정보 및 버퍼 정보를 이용하여 상기 버퍼에 저장된 데이터의 독취를 위한 인터럽트 신호 및 독취 주소를 발생하는 출력 버퍼 제어기와, 상기 출력 버퍼 제어기로부터 인터럽트 신호 수신 시 상기 수신된 독취 주소에 따라 상기 출력 버퍼에 저장된 데이터를 독취하는 프로세서를 포함한다.
HARQ, 고속 패킷 데이터, 버퍼 제어

Description

복합 재전송 방식의 이동통신 시스템에서 출력 버퍼 제어 장치 및 방법{APPARATUS AND METHOD FOR CONTROLLING OUTPUT BUFFER IN MOBILE COMMUNICATION SYSTEM USING HARQ}
도 1은 종래방식에 따라 ARQ 처리를 위한 상위 계층과 물리계층간 관계의 블록도,
도 2는 개선된 구조의 Fast (Physical) HARQ 처리를 위한 상위계층과 물리계층과의 관계도,
도 3은 이동통신 시스템에서 복합 재전송 시 ACK/NAK delay가 1 슬롯(slot)인 경우 기지국과 단말간의 타이밍도,
도 4는 이동통신 시스템에서 복합 재전송 시 ACK/NAK delay가 2 슬롯(slot)인 경우의 기지국과 단말간의 타이밍도,
도 5는 본 발명의 바람직한 실시 예에 따라 복합 재전송 제어기와 출력 버퍼 제어기 및 출력 버퍼간 연결의 블록 구성도,
도 6은 본 발명에 따라 터보 복호 활성화 신호(PDCH_TURBO_EN)에 따라 수반되는 터보 복호 완료 신호(PDCH_TURBO_DONE)의 출력 가능한 경우들에 대한 타이밍도,
도 7은 본 발명에 따라 복조 완료 신호(PDCH_DEMOD_DONE)와 터보 복호 활성화 신호(PDCH_TURBO_EN)의 출력 가능한 경우들에 대한 타이밍도,
도 8은 본 발명에 따른 터보 복호 완료 신호(PDCH_TURBO_DONE)와 연속한 터보 복호 활성화 신호(PDCH_TURBO_EN)간의 가능한 타이밍도,
도 9는 본 발명의 바람직한 실시 예에 따른 출력 버퍼의 간략화된 내부 블록 구성도,
도 10은 본 발명의 바람직한 실시 예에 따른 출력 버퍼 제어기의 내부 블록 구성도,
도 11은 본 발명의 바람직한 실시 예에 따른 페이지/버퍼 선택기의 내부 블록 구성도,
도 12는 버퍼 선택기의 내부 구성을 본 발명의 바람직한 실시 예에 따라 구성한 블록 구성도,
도 13은 본 발명의 바람직한 실시 예에 따른 인터럽트 제어기의 내부 상세 회로도,
도 14는 본 발명의 바람직한 실시 예에 따라 1 슬롯 ACK/NAK DELAY에 따른 출력 버퍼 제어기에서 출력되는 신호의 타이밍도,
도 15는 본 발명의 바람직한 실시 예에 따라 고속 터보 복호기의 복호 시간과 데이터 전송 시간의 합이 2.5msec를 넘지 않도록 제한한 경우의 타이밍도,
도 16 및 도 17은 본 발명의 바람직한 실시 예에 따라 2 슬롯 ACK/NAK DELAY가 주어진 경우에 고속 터보 복호기의 출력 버퍼 동작에 따른 타이밍도,
도 18은 본 발명에 따라 1 슬롯 ACK/NAK DELAY와 2 슬롯 ACK/NAK DELAY 모드에서 출력 버퍼 제어 타이밍과 고속 터보 복호기의 동작들 중 가능한 여러 조합들 중 대표적인 몇 가지 경우의 타이밍을 도시한 도면,
도 19는 본 발명의 바람직한 실시 예에 따라 프로세서와 복합 재전송 제어기 및 고속 터보 복호기간의 동작 타이밍을 1 슬롯 ACK/NAK DELAY에 따른 타이밍도,
도 20은 본 발명의 바람직한 실시 예에 따라 프로세서와 복합 재전송 제어기 및 고속 터보 복호기간의 동작 타이밍을 2 슬롯 ACK/NAK DELAY에 따른 타이밍도,
도 21은 본 발명의 바람직한 실시 예에 따라 출력 버퍼 제어기에서 수행되는 전체 제어 흐름도.,
도 22는 본 발명에 따른 출력 버퍼 제어기를 포함하는 단말의 블록 구성도.
본 발명은 이동통신 시스템에서 버퍼의 제어 장치 및 방법에 관한 것으로, 특히 복합 재전송(Hybrid Automatic Repeat Request: HARQ 이하 "복합 재전송"이라 함) 방식을 사용하는 이동통신 시스템에서 버퍼의 제어 장치 및 방법에 관한 것이다.
통상적으로 이동통신 시스템은 사용자들에게 이동하면서 원활한 통화를 제공 하기 위해 개발되었다. 이동통신 시스템이 발전하면서 보다 많은 데이터를 사용자들에게 전달할 수 있는 방법의 연구가 계속 이루어지고 있다. 또한 이동통신 시스템은 이미 아나로그 방식에서 디지털 방식으로의 전환이 이루어진 상태에 있다. 따라서 디지털 방식을 사용함으로 사용자들에게 많은 데이터를 빠르게 전달할 수 있게 되었다.
일반적으로 디지털 이동통신 시스템에서와 같이 채널상태의 변화가 심하고 다른 종류의 서비스 트래픽 채널이 공존하는 특징을 가지는 채널에서는 고속 데이터 전송을 필요로 하는 경우에 전송효율 즉, 전송처리율(transmission throughput : 이하 "처리율"이라 함)을 증가시키기 위해 복합 재전송 방식을 사용한다. 특히 고속 데이터 전송 서비스 상용화가 최근 가시화되면서 기존의 고정 부호율 오류정정부호를 사용하는 복합 재전송 방식에서 가변 부호율 오류정정 부호를 사용하는 복합 재전송 방식을 효율적으로 시스템에 적용하는 기술에 관한 분석과 연구가 활발히 진행 중이다. 이와 더불어 이러한 채널에서 고속전송의 채널구조를 위해 변조방식으로 일반적인 BPSK(Binary Phase Shift Keying) 이나 혹은 QPSK(Quadrature Phase Shift Keying) 이외에 8-PSK(8-ary phase shift keying), 16-QAM(16-ary Quadrature Amplitude Modulation) 등의 고차 변조방식 (High level modulation)을 사용하는 방식도 함께 고려되고 있다.
현재 3GPP2 동기방식인 CDMA의 새로운 전송 규격인 CDMA20001x EV-DV 시스템은 준 보완 터보 부호(Quasi-Complementary Turbo Codes: QCTC)를 사용하는 부호기 방식을 표준규격으로 채택하였다. 상기 준 보완 터보 부호는 고속 데이터의 복합 재전송 방식을 위한 부호기 방식으로 가변 부호율을 제공하고, 복합 재전송에 따른 연성결합 성능향상을 보장하는 특징을 가진다. 상기한 1x EV-DV 시스템의 구조를 살펴보면 1x EV-DV 시스템에서의 패킷 데이터 송수신은 물리계층(physical layer)의 HARQ(Hybrid Automatic Repeat reQuest) 혹은 Fast Hybrid ARQ동작에 의해 수행된다. 이를 도 1 및 도 2를 참조하여 더 상세히 설명한다.
도 1은 종래방식에 따라 ARQ 처리를 위한 상위 계층과 물리계층간 관계의 블록도이다. 상기 도 1을 참조하면, 물리계층(Physical layer)(110)은 무선 채널을 통해 전송되어 온 데이터를 복조하여 복조된 프레임 데이터(Decoded frame)로 만든다. 그리고 물리계층(110)은 상기 복조된 프레임 데이터를 상위 계층인 맥 계층(MAC Layer)(120)으로 전달한다. 상기 맥 계층(120)은 물리계층(110)으로부터 복조되어 수신된 프레임 데이터로부터 MuxPDU(protocol data unit)의 오류 여부를 검사한다. 그리고 맥 계층(120)은 오류가 발생한 경우 오류가 발생한 데이터를 재전송하며, 오류가 발생하지 않은 경우 새로운 프레임을 전송한다. 그런데 이러한 처리가 맥 계층(120)에서 이루어지는 경우 물리계층에서 복호된 데이터가 상위계층으로 전달되어 처리되어야 하므로 ARQ에 대한 처리 속도가 저하되는 문제가 있다. 또한 고속의 데이터 처리를 수행해야 하므로 맥 계층(120)의 부하가 증가되는 문제가 있다. 따라서 도 2와 같이 물리계층에서 ARQ 동작의 일부를 처리하기 위한 구조가 제안되고 있다.
도 2는 개선된 구조의 Fast (Physical) HARQ 처리를 위한 상위계층과 물리계층과의 관계도이다. 그러면 이하에서 도 2를 참조하여 개선된 구조의 Fast HARQ 처 리를 위한 물리계층과 상위계층의 관계를 설명한다.
상기 도 2에서는 ARQ에 대한 빠른 응답속도와 처리를 위해서 맥 계층(230)에서 수행되던 ARQ 동작의 일부를 물리계층 혹은 그 중간계층에서 수행하도록 구성하였다. 즉, 물리계층(200)에 도 1과 동일한 동작을 수행하는 기본 물리계층(210)과 복합 재전송 제어기(220)를 두는 방식이다. 또한 상기 복합 재전송 제어기(220)의 동작은 종래의 맥 계층에서 수행하던 동작의 일부를 수행하도록 한다. 그러므로 상기 복합 재전송 제어기(220)는 구조적으로는 물리계층에 포함되며, 수행하는 동작은 맥 계층(230) 중 일부의 역할을 담당한다. 상기와 같은 특징 때문에 상기 복합 재전송 제어기(220)를 일부에서는 맥 계층으로 분류되는 경우도 자주 발생한다. 그러나 중요한 것은 이와 같이 구조적으로 데이터 재전송에 대한 판단을 물리계층(physical layer)에서 수행하도록 구성함으로써 동일 데이터에 대한 처리 시간이 단축된다.
또한 상위계층(upper layer)에서의 NAK 전송은 동일한 데이터에 대한 연성결합(soft combining)을 수행할 수 없다. 이유는 물리계층에서는 각각의 심볼에 대한 연성 값을 유지할 수 있다. 그러나 물리계층에서 맥 계층으로 전달되는 데이터 심볼들은 모두 이진 값(binary value: 0 또는 1)으로 표시되므로 재전송에 의해 심볼이 반복되더라도 이를 연성결합할 수 있는 방법이 없으며 유일한 방법은 이진 값을 가진 심볼들을 0 또는 1의 수를 구해서 이를 상호 비교하여 우세한 심볼로 결정하는 다수결정방식 (Majority voting)에 따라 선택하는 방법이 있다. 그러나 이 방법 역시 요구되는 연산 양 때문에 상위계층에서는 거의 사용되지 못하고 있다.
이에 반하여 물리계층(physical layer)에서의 NAK 전송은 동일한 부호화 패킷(encoder packet)에 대한 부호 심볼들을 연성결합(soft combining)을 할 수 있도록 하여 효율적인 채널 자원 사용이 가능하다. 그러므로 복합 재전송 제어기(220)를 맥 계층(MAC layer)의 다중 부 계층(Mutiplexing sub layer)(230) 아래에 위치하도록 하는 것이 바람직하다. 즉, 물리계층(Physical layer)에서 기능을 수행하도록 하는 것이 바람직하다.
이와 같이 구성하면 상술한 바와 같이 종래의 RLP(Radio Link Protocol)를 근거로 동작하는 ARQ 제어방식과 비교할 때 그 속도가 빨라진다. 그러면 이를 기존의 방식과 대비하여 살핀다. 도 1의 종래 방식은 하나의 패킷 전송으로부터 NAK 신호를 수신하고 이에 따른 재전송 패킷이 전송되는 시점까지 최소 200msec 정도의 전체 경로지연(round trip delay)이 발생한다. 이에 반하여 도 2와 같은 방식을 적용하면, 복합 재전송이 짧게는 수 msec 정도의 매우 작은 전체 경로지연만이 발생하기 때문이다. 따라서 AMC(adaptive modulation & coding)을 구현하기에 매우 좋은 구조를 가진다.
상기 도 1과 도 2의 상위계층과 물리계층의 구조를 가지고 실질적으로 HARQ를 운영하기 위해서는 재전송 요청(즉, 수신기로부터 전달되는 NAK)에 따른 송신기의 재전송 전송규약 (protocol)이 필요하다. 이를 위한 방식으로 3GPP2의 cdma2000 1x에서는 패킷 데이터 전송에 있어 AAIR(Asynchronous and Adaptive Increment Redundancy)을 사용한다. 그 내용을 간략하게 기술하면 하기와 같다.
기지국은 단말에서 전송하는 순방향 채널 품질에 따라 해당 단말에 대한 패 킷 전송을 비동기 방식(asynchronous)으로 수행한다. 이때 전송되는 패킷의 변조 방식과 부호율은 채널상태에 따라 적응하도록(adaptive) 운용한다. 또한 초기 전송에 실패한 패킷은 재전송되고, 재전송 시 초기 전송과 상이한 부호 심볼 패턴이 전송될 수 있다. 이러한 AAIR 재전송 방식은 재전송 회수 증가에 따른 패킷 데이터의 SNR을 증가시키고 부호율(Code Rate) 감소에 따른 코딩 이득(coding gain)을 증가시켜 패킷 데이터 송수신 성능을 향상시키는 역할을 한다.
1xEV-DV에서의 순방향의 패킷 데이터 전송에 사용되는 채널은 유효 트래픽(Payload traffic)을 위한 F-PDCH와 이를 제어하는 제어 채널인 F-PDCCH이다. F-PDCH는 전송 데이터 블록인 부호화 패킷(encoder packet : EP)을 전송하는 채널로서 동시에 2명의 단말에게 TDM/CDM 방식으로 각각의 부호화 패킷(encoder packet)을 전송 가능하도록 최대 2채널까지 사용된다. 부호화 패킷(Encoder packet)은 터보 부호기(Turbo encoder)에 의해 부호화 과정을 거치고, QCTC symbol selection에 의해 서로 다른 IR(Increment Redundancy) 패턴을 갖는 4개의 서브패킷(subpacket)으로 나뉘어지게 된다. 상기 서브패킷은 초기전송과 재전송의 전송 단위이며, 각각의 전송 시 서브패킷의 IR 패턴은 SPID(subpacket identifier)에 의해 구분되어진다. 상기 서브패킷의 변조 방식(QPSK, 8PSK, 16QAM)과 전송 슬롯 길이(1, 2 또는 4 슬롯)는 단말에서 전송하는 순방향 채널 품질 정보, 기지국의 자원 등에 의해 (F-PDCH에 할당 가능한 Walsh codes 개수, Power)에 따라 정해진다.
F-PDCH의 복조 및 디코딩에 관련된 정보는 제어 채널인 F-PDCCH에 실려 F-PDCH와 함께 동일 슬롯 구간 동안 다른 직교채널을 통해서 다중화되어 전송된다. F-PDCCH에 포함된 정보는 단말이 물리계층(Physical layer) 복합 재전송 동작을 수행하는 데 매우 중요한 정보로서 다음과 같은 사항이 필요하다.
1) 수십~수백 ms 마다 F-PDCH에 사용 가능한 fragmented Walsh code 정보
2) MAC_ID : F-PDCH가 할당된 MS(Mobile station)의 MAC_ID
3) ACID : 4개의 ARQ 채널을 구분하기 위한 ID (ARQ channel ID)
4) SPID : Subpacket 을 IR 패턴을 구분하기 위한 ID
5) EP_NEW : 동일 ARQ 채널에서 연속된 두 encoder packet을 구분하기 위한 정보
6) EP_SIZE : Encoder packet의 bit size
7) LWCI (Last Walsh Code Index) : F-PDCH에 사용된 Walsh code에 대한 정보
한편 단말에서의 패킷 데이터 수신은 F-PDCCH에 대한 디코딩부터 이루어진다. F-PDCCH를 먼저 디코딩하여 단말 자신의 패킷이 전송되고 있는지 아닌지를 판단하고 단말 자신의 패킷이라고 판단되는 경우 F-PDCH 에 대하여 복조 및 디코딩을 수행한다. 현재 수신한 서브패킷이 이전에 수신되었던 부호화된 패킷(encoder packet)에 대하여 재전송된 것이면, 이전에 수신하여 저장하고 있던 부호화 패킷의 부호 심볼들과 코드 결합(code combining)하여 디코딩을 한다. 디코딩이 성공하면 단말은 역방향 ACK/NAK 전송 채널(R-ACKCH)을 통해 ACK 신호를 전송한다. 따라서 기지국으로 하여금 다음 부호화 패킷(encoder packet)을 전송하도록 한다. 만일 디코딩이 성공하지 않은 경우 단말은 NAK 신호를 전송하여 기지국으로 하여금 동일한 부호화 패킷에 대한 재전송을 요구한다.
이러한 하나의 부호화 패킷에 대한 물리계층(Physical layer) 복합 재전송 동작이 이루어지는 단위를 ARQ 채널이라 한다. cdma2000 1xEV-DV에서는 최대 동시에 4개의 ARQ 채널 동작이 가능하다. 이를 N = 4 Fast HARQ channels이라고 한다.
1xEV-DV 표준에서는 단말이 패킷 수신 동작을 처리하고 ACK/NAK을 전송하는데 필요한 ACK/NAK delay와 동시에 운용 가능한 ARQ 채널 수를 단말이 기지국으로 통보하도록 하고, 이를 단말의 구현 이슈로 두고 있다. 따라서 단말에서 지원하는 ACK/NAK delay는 1 슬롯(=1.25msec) 또는 2 슬롯(=2.5msec)이 가능하고, ARQ 채널의 수는 2, 3 또는 4 채널이 가능하다. 그러면 도 3 및 도 4를 참조하여 ACK/NAK delay와 ARQ 채널의 수에 따른 동작을 설명한다.
도 3은 이동통신 시스템에서 복합 재전송 시 ACK/NAK delay가 1 슬롯(slot)인 경우 기지국과 단말간의 타이밍도이고, 도 4는 이동통신 시스템에서 복합 재전송 시 ACK/NAK delay가 2 슬롯(slot)인 경우의 기지국과 단말간의 타이밍도이다.
상기 도 3 및 도 4에서 A 단말에 순방향 패킷 데이터 채널(F-PDCH)이 할당된 경우로 가정하여 설명한다. 그리고 기지국(BS)과 단말(MS) 모두에 임의의 시점에서 0번째부터 순차적으로 타임슬롯에 인덱스를 부여하여 설명을 용이하도록 하였다. 또한 도 3 및 도 4에서 상기 A(x,y)는 하기와 같은 의미를 가진다. 우선 빗금으로 표시된 부분은 A 단말로 송신할 데이터를 의미한다. 또한 x는 ARQ 채널을 의미하고, y는 동일한 부호화 패킷(Encoder Packet)에 대한 IR 패턴을 구분하기 위한 것이다. 그러면 이를 바탕으로 먼저 도 3의 ACK/NAK delay가 1슬롯인 경우를 살펴본 다.
도 3을 참조하면, 기지국(BS)에서 A 단말로 전송할 데이터는 0번째 슬롯에서 A 단말로 데이터가 전송된다. 그러면 상기 A 단말은 동일한 슬롯에서 상기 패킷 데이터를 수신한다. 여기서 도 3 및 도 4에서 기지국과 단말간 슬롯의 시작위치가 서로 다른 것은 절대시간에서 볼 때, 단말과 기지국간 전송 지연이 발생하기 때문이다. 이때 기지국(BS)은 순방향 패킷 데이터 제어 채널(F-PDCCH)과 순방향 패킷 데이터 채널(F-PDCH)를 통해 패킷 데이터와 패킷 데이터 제어 신호를 전송한다. 그러면 상기 단말(MS)은 1슬롯의 처리 시간(Processing Time)을 가지고, 상기 데이터의 오류 여부를 검사한 후 기지국(BS)으로 ACK 또는 NAK를 송신한다. 상기 처리 시간이란 수신된 패킷 데이터에 대하여 1 슬롯 동안 복조 및 디코딩을 수행하고 그 결과를 다음 슬롯에 역방향 채널(R-ACKCH)을 통해 전송하는 것을 말한다. 도 3에서는 NAK를 전송하는 예를 설명한다. 그러면 기지국은 3번째 슬롯에서 이를 수신하게 되며, 4번째 슬롯에서 상기 오류가 발생한 데이터의 재전송을 위한 스케줄링을 수행한다. 그리고 스케줄링에 따라 이후에 동일한 부호화 패킷에 대하여 다른 패턴의 데이터를 전송한다.
다음으로 도 4를 참조하여 ACK/NAK 지연이 2 슬롯인 경우에 대하여 살펴본다. 상기 도 4에서 기지국(BS)에서 A 단말(MS)로 전송한 데이터 중 첫 번째 데이터에 오류가 발생한 경우로 가정하여 설명하며, 첫 번째 전송되는 패킷 데이터를 위주로 설명한다. 상기 기지국(BS)은 지연 시간이 2 슬롯이므로 A 단말로 전송할 패킷 데이터를 순차적으로 0번째 슬롯, 1번째 슬롯, 2번째 슬롯에서 계속하여 데이터 를 전송한다. 그러면 상기 단말은 1번째 슬롯부터 2번째 슬롯에서 0번째 슬롯에서 송신된 데이터의 오류 여부를 검사하고, 2번째 슬롯부터 3번째 슬롯에서 1번째 슬롯에서 송신된 데이터의 오류를 검사하며, 3번째 슬롯부터 4번째 슬롯에서 2번째 슬롯에서 송신된 데이터의 오류를 검사한다. 따라서 상기 0번째 슬롯에서 수신된 데이터에 대한 ACK/NAK의 전송은 3번째 슬롯에서 이루어지며, 상기 1번째 슬롯에서 수신된 데이터에 대한 ACK/NAK의 전송은 4번째 슬롯에서 이루어지고, 상기 2번째 슬롯에서 수신된 데이터에 대한 ACK/NAK의 전송은 5번째 슬롯에서 이루어진다. 기지국은 4번째 슬롯에서 0번째 슬롯에서 송신한 패킷 데이터에 대하여 NAK를 수신하면, 다음 슬롯에서 0번째 슬롯에서 송신한 부호화 패킷에 대하여 재전송을 수행한다. 이때 재전송되는 패킷 데이터는 이전 송신한 부호화 패킷과 동일한 패킷이나 IR이 다른 패킷 데이터가 된다.
상기 도 3 및 도 4에서 알 수 있는 바와 같이 단말은 수신한 패킷에 대하여 ACK 또는 NAK를 1 슬롯 또는 2 슬롯 이후에 반드시 전송해야 하는 동기(synchronous) ACK/NAK 전송을 수행한다. 이와는 달리 기지국은 동일 ARQ 채널에 대해 단말로부터 이전에 전송하였던 패킷에 대한 ACK/NAK을 받은 이후 어느 슬롯에서든지 패킷 전송을 수행할 수 있는 비동기(Asynchronous) 전송을 수행한다.
또한, 도 3과 도 4는 각각 1 채널과 4 채널의 ARQ 동작이 이루어지는 것을 보이고 있다. 도 3에서 1 채널 ARQ 동작의 경우 한 단말에 대한 데이터 전송이 기지국 자원의 일부만을 이용함으로써 해당 단말의 패킷 데이터 전송률이 낮아지는 반면, 도 4의 4 채널 ARQ 동작이 이루어지는 경우 기지국의 모든 자원을 한 단말이 사용할 수 있게 됨으로써 해당 단말은 최대의 패킷 데이터 전송률을 얻을 수 있게 된다.
상기 도 4에 도시된 바와 같이 수신기는 A(0,0), A(1,1), A(2,0) 등을 수신하면 이들 패킷을 연성결합(Soft combining)하여 복호하거나 수신된 패킷을 그대로 복호한다. 그리고, 상기 복호된 데이터에 대하여 오류 발생 여부를 확인하고자 CRC (Cyclic Redundancy Check)를 검사하고, 그 결과에 따라 역방향 채널로 ACK/NAK을 전송한다. 이러한 동작은 매 1.25msec마다 발생할 수 있다.
그런데 1xEV-DV와 같은 고속 데이터 서비스 시스템의 경우 수신한 패킷을 복호하고, 이를 HOST(CPU)에 전송하는 출력버퍼와 HOST 사이의 구조가 또한 중요한 설계 요인이 될 수 있다. 왜냐하면, 현재까지의 기술과는 달리 1xEV-DV와 같은 고속 데이터 서비스 시스템의 경우 전송 프레임의 일종인 패킷의 전송 시간이 1.25msec 정도로 매우 짧은 반면에 하나의 패킷에 포함되는 비트의 수는 수천 비트로 크게 증가하기 때문이다. 이는 하나의 패킷을 복호하기 위해 요구되는 채널 복호 시간이 매우 증가하는 것을 의미한다. 따라서 수신기에 할당된 처리시간 중에서 데이터 전송에 할당할 수 있는 시간이 상대적으로 급격히 감소하는 것을 의미한다. 또한 재전송에 따른 순서의 불일치로 인하여 성공적으로 수신한 오류가 없는 전송 패킷이라도 복호 시간의 차이로 인하여 연속성이 결여될 수 있다. 즉, 수신된 패킷들이 연속성이 없이 불연속적일 수 있다.
일반적으로 현재까지의 중/저속의 데이터 시스템은 채널 복호기로 터보 복호기(Turbo decoder) 혹은 비터비 복호기(Viterbi decoder)와 같은 종류의 복호기를 사용하였다. 상기한 현재 시스템에서는 복호기로부터 HOST에 데이터를 전송하기 위해서 단일 출력버퍼 혹은 이중 출력버퍼를 사용하여 왔다. 그러나 1xEV-DV 시스템과 같은 고속의 데이터 서비스가 주요 서비스로 대두됨에 따라 기존 출력버퍼 구조는 아래와 같은 문제점을 가지고 있다. 하기의 문제를 해결하지 못하는 경우 기존의 처리능력을 가진 HOST가 대부분의 처리능력을 데이터 전송에만 할당해야 한다. 따라서 HOST가 다른 주변 블록과 상위 프로토콜 처리 등의 임무를 수행할 수 없는 문제가 발생하게 된다. 그리고 만일 이를 해결하고자 매우 고속의 HOST(CPU)를 채용한다면 데이터 전송이외에 다른 기능수행을 위한 불필요한 전력소비 등의 문제를 일으킬 수 있다. 그러면 현재의 시스템으로 고속 데이터 서비스를 처리하고자 할 경우 발생할 수 있는 문제점에 대하여 구체적으로 살펴본다.
(1) 현재 대부분의 시스템은 채널 복호기가 HOST로 데이터를 전달하고 있으면 채널 복호기로부터 HOST로의 데이터 전송에 따른 제어는 채널 복호기가 담당한다. 따라서 채널 복호기는 복호 완료 시에 HOST에 데이터 전송을 위한 인터럽트를 발생하도록 설계된다. 이때 저속 데이터를 처리하는 시스템의 경우 데이터를 저장하는 버퍼는 단일 버퍼(single buffer structure)로 구성한다. 그리고 전체 복호에 주어진 처리시간 중에 일부를 데이터 전달을 위한 시간으로 할당하여 이 기간 중에 모든 데이터의 전송을 완료한다. 그러나 데이터의 속도가 증가하면서 이에 비례해서 복호시간이 증가하게 된다. 따라서 단일 버퍼에서 전체 복호에 주어진 처리시간 중에 일부를 이용하여 데이터를 전송하는 이러한 구조는 더 이상 사용이 불가능한 문제가 있다.
(2) 저속 시스템 또는 그 보다 빠른 데이터 처리가 요구되는 시스템에서는 전술한 문제를 해결하고자 이중 버퍼 구조(double buffer structure)를 사용한다. 상기 이중 버퍼 구조는 READ/WRITE 두개의 버퍼를 번갈아 가면서 모드를 지정함으로써 복호시간과 데이터 전송시간을 확장하는 방법이다. 이러한 방법은 데이터 전송을 위한 인터럽트가 발생하는 간격이 상대적으로 길어서 HOST 입장에서 볼 때 한번의 인터럽트에 의해서 많은 데이터가 전송되는 경우에 효율적인 방식이다. 그러나 1xEV-DV의 경우와 같은 고속 데이터 서비스를 지원하는 시스템의 경우 대부분의 복호 프레임은 매우 짧은 시간을 가지는 반면에 해당 복호 프레임에 포함되는 비트의 수는 매우 크게 증가하는 특징을 가진다. 따라서 이러한 방법을 사용하더라도 HOST 입장에서는 너무 자주 발생되는 인터럽트에 의해서 과도한 데이터 전송처리 부담이 가중되어 HOST 본연의 다른 임무를 수행하지 못할 수 있다.
(3) 이와 더불어 1xEV-DV와 같은 고속 데이터 서비스를 지원하는 시스템은 채널 복호기를 포함해서 수신기의 처리부담을 줄이고자 가변 처리시간 모드를 사용한다. 1xEV-DV의 경우는 이를 ACK_DELAY를 사용하여 구분하며 단말은 ACK_DELAY의 값에 따라서 1slot (1.25msec) 혹은 2 slots (2.5msec)의 처리시간을 할당받을 수 있다. 이러한 조건에서 수신기의 출력버퍼 구조도 처리시간 모드에 따라 가변적으로 동작하는 구조를 가지는 것이 효율적이다. 그러나 기존의 시스템들은 고정된 하나의 처리시간 모드만을 사용하고 있으므로 ACK DELAY에 따라 적응적으로 사용할 수 없는 문제가 있다.
(4) 또한 현재의 시스템들은 대부분 Circuit mode service를 지원하는 채널 을 사용하였다. 따라서 Physical layer HARQ를 지원하지 않고 수신기에서 재전송에 따른 연성결합을 사용하지 않았다. 따라서 채널 복호기가 복호한 복호 프레임의 ID (identifier)를 필요로 하지 않았다. 그러나, 1xEV-DV와 같은 고속 데이터 서비스 시스템은 순수한 Packet mode를 지원한다. 따라서 각 패킷의 수신시간과 복호가 완료된 시간이 각 패킷의 전송 순서와는 상이할 수 있다. 이러한 문제를 해결하기 위해서는 이를 구별하기 위한 장치가 필요하다.
따라서 본 발명의 목적은 고속 데이터 서비스 시스템에서 채널 복호기에 의해 복호가 완료된 데이터를 프로세서에서 부하를 줄이며 전달할 수 있는 출력 버퍼 제어 장치 및 방법을 제공함에 있다.
본 발명의 다른 목적은 고속 데이터 서비스 시스템에서 채널 복호기의 복호 시간을 확보할 수 있는 출력 버퍼 제어 장치 및 방법을 제공함에 있다.
본 발명의 또 다른 목적은 고속 데이터 서비스 시스템에서 응답 지연 시간(ACK DELAY TIME)에 구애받지 않고 채널 복호한 데이터를 프로세서로 전달할 수 있는 출력 버퍼 제어 장치 및 방법을 제공함에 있다.
본 발명의 또 다른 목적은 고속 데이터 서비스 시스템에서 복합 재전송에 따라 재전송 패킷 데이터의 불연속성으로 인하여 잘못된 오류 검출을 방지할 수 있는 출력 버퍼 제어 장치 및 방법을 제공함에 있다.
본 발명의 또 다른 목적은 고속 데이터 서비스 시스템에서 수신된 패킷 데이 터에 대한 빠른 응답이 가능한 출력 버퍼 제어 장치 및 방법을 제공함에 있다.
상기한 목적들을 달성하기 위한 본 발명의 장치는, 순방향 패킷 데이터 채널로 송신되는 패킷 데이터를 송신하며, 상기 순방향 패킷 데이터 채널로 전송되는 패킷 데이터의 복조 및 복호 정보를 순방향 패킷 데이터 제어 채널로 송신하는 이동통신 시스템에서 상기 패킷 데이터 채널로 전송된 패킷 데이터를 수신하여 복호하고, 상기 복호된 패킷 데이터를 상위 계층으로 전달하기 위한 장치로서, 상기 순방향 패킷 데이터 제어 채널로 수신된 정보를 이용하여 상기 패킷 데이터 채널로 수신된 패킷 데이터를 복호하고, 상기 복호된 데이터를 저장하며 상기 저장되는 데이터의 버퍼 정보를 출력하는 고속 터보 복호기와, 상기 패킷 데이터를 수신하여 저장하며, 독취 요구 시 데이터를 출력하는 출력 버퍼와, 상기 복호기로부터 복호된 데이터의 정보 및 버퍼 정보를 수신하고, 상기 수신된 데이터 정보 및 버퍼 정보를 이용하여 상기 출력 버퍼에 저장된 데이터의 독취를 위한 인터럽트 신호 및 독취 주소를 발생하는 출력 버퍼 제어기와, 상기 출력 버퍼 제어기로부터 인터럽트 신호 수신 시 상기 수신된 독취 주소에 따라 상기 출력 버퍼에 저장된 데이터를 독취하는 프로세서를 포함한다.
또한 상기 출력 버퍼는; 복호된 데이터를 저장하기 위한 영역이 이중화되어 구성되며, 상기 출력 버퍼의 한 영역에서 독취가 이루어질 때, 상기 복호기는 복호 완료 시 다른 영역에 상기 복호된 데이터를 저장할 수 있고,
상기 버퍼 정보는, 상기 복호된 데이터가 저장되는 상기 버퍼의 영역 정보와 주소 정보를 포함할 수 있다.
또한, 상기 출력 버퍼 제어기는;
상기 수신기의 시스템 타임 신호를 수신하고, 한 슬롯의 지연 응답 방식에 따라 상기 이중화된 버퍼들 중 하나를 선택하고, 상기 선택된 버퍼의 소정 페이지를 선택하는 페이지 버퍼 선택기와, 상기 시스템 타임 신호와 복호 클럭을 수신하여 하나의 슬롯 안에서 임의로 설정 가능한 정지 위치 신호를 발생하는 정지 위치 선택기와, 상기 수신기의 시스템 타임에 따라 클리어 되며, 상기 패킷 데이터의 터보 복호 활성화 신호에 따른 플래그를 출력하는 플래그 출력기와, 상기 플래그 출력기의 신호와 상기 정지 위치 선택기의 출력 신호 및 터보 복호 활성화 신호를 수신하고, 두 슬롯의 지연 응답 방식에 따라 상기 이중화된 버퍼들 중 하나를 선택하는 버퍼 선택기와, 두 슬롯의 지연 응답 방식에 따라 상기 선택된 버퍼의 페이지를 선택하는 페이지 선택기와, 상기 페이지 버퍼 선택기와, 상기 버퍼 선택기와, 상기 페이지 선택기의 신호 및 상기 이중화된 버퍼들로부터 수신되는 버퍼들의 상태 신호를 수신하여 인터럽트 신호를 발생하는 인터럽트 제어기를 포함하여 구성할 수 있다.
이러한 상기 출력 버퍼 제어기는, 물리계층에 위치하는 복합 재전송 제어기의 내부에 포함될 수 있다.
또한 상기 복호된 데이터 정보는, 상기 복호된 데이터의 오류 정보와 상기 복호기의 상태 정보 및 복호 완료 정보 중 적어도 하나를 포함할 수 있으며,
상기 출력 버퍼 제어기는,
적어도 2개의 패킷 데이터 이상을 수신하였을 때, 상기 독취를 위한 인터럽트 신호 및 독취 주소를 발생하도록 구성하는 것이 바람직하다.
상기한 목적들을 달성하기 위한 본 발명의 방법은 순방향 패킷 데이터 채널로 송신되는 패킷 데이터를 송신하며, 상기 순방향 패킷 데이터 채널로 전송되는 패킷 데이터의 복조 및 복호 정보를 순방향 패킷 데이터 제어 채널로 송신하는 이동통신 시스템에서 상기 패킷 데이터를 수신하여 복호하는 복호기와 상기 복호된 데이터를 저장하는 이중화된 출력 버퍼를 구비하며, 상기 출력 버퍼에 저장된 데이터를 상위로 전달하기 위한 출력 버퍼 제어기를 구비한 이동 단말 장치에서 상기 복호된 데이터를 상위 계층으로 전달하기 위한 방법으로서, 상기 복호기로부터 복호된 데이터 정보 및 버퍼 정보를 수신하는 과정과, 미리 설정된 시간이 경과한 경우 상기 복호된 데이터를 상위로 전달하기 위한 인터럽트 신호 및 출력 버퍼 정보를 발생하는 과정과, 상기 상위로 데이터 전송이 완료된 경우 인터럽트를 중지하는 과정을 포함한다.
또한 상기 버퍼 정보는, 상기 복호된 데이터가 저장되는 상기 버퍼의 영역 정보와 주소 정보를 포함하며,
상기 복호된 데이터 정보는, 상기 복호된 데이터의 오류 정보와 상기 복호기의 상태 정보 및 복호 완료 정보 중 적어도 하나를 포함한다.
상기한 목적들을 달성하기 위한 본 발명의 다른 방법은, 순방향 패킷 데이터 채널로 송신되는 패킷 데이터를 송신하며, 상기 순방향 패킷 데이터 채널로 전송되는 패킷 데이터의 복조 및 복호 정보를 순방향 패킷 데이터 제어 채널로 송신하는 이동통신 시스템에서 상기 패킷 데이터를 수신하여 복호하는 복호기와 상기 복호된 데이터를 저장하는 이중화된 출력 버퍼를 구비하며, 상기 출력 버퍼에 저장된 데이터를 상위로 전달하기 위한 출력 버퍼 제어기를 구비한 단말에서 상기 복호된 데이터를 상위 계층로 전달하기 위한 방법에 있어서, 상기 복호기로부터 복호된 데이터 정보 및 버퍼 정보를 수신하는 과정과, 상기 복호기에서 복호된 데이터가 미리 설정된 개수만큼 복호 완료되어 상기 출력 버퍼에 저장된 경우 상기 복호된 데이터를 상위로 전달하기 위한 인터럽트 신호 및 출력 버퍼 정보를 발생하는 과정과, 상기 상위로 데이터 전송이 완료된 경우 인터럽트를 중지하는 과정을 포함한다.
또한, 상기 버퍼 정보는, 상기 복호된 데이터가 저장되는 상기 버퍼의 영역 정보와 주소 정보를 포함하며,
상기 복호된 데이터 정보는,
상기 복호된 데이터의 오류 정보와 상기 복호기의 상태 정보 및 복호 완료 정보 중 적어도 하나를 포함한다.
또한, 미리 결정된 시간 내에 상기 패킷 데이터 채널로 패킷 데이터가 수신되지 않을 경우 상기 복호된 데이터를 상위로 전달하기 위한 인터럽트 신호 및 출력 버퍼 정보를 발생하는 과정과, 상기 상위로 데이터 전송이 완료된 경우 인터럽트를 중지하는 과정을 포함할 수 있다.
이하 본 발명의 바람직한 실시 예를 첨부한 도면을 참조하여 상세히 설명한다. 우선 각 도면의 구성 요소들에 참조 부호를 부가함에 있어서, 동일한 구성 요 소들에 한해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다.
또한 하기 설명에서는 구체적인 신호 또는 메시지 등과 같은 많은 특정(特定) 사항들이 나타나고 있는데, 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐 이러한 특정 사항들 없이도 본 발명이 실시될 수 있음은 이 기술 분야에서 통상의 지식을 가진 자에게는 자명하다 할 것이다. 그리고 본 발명을 설명함에 있어, 관련된 공지 기능 혹은 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
그러면 본 발명에 따른 시스템과 현재 사용되고 있는 기술과 대비하여 살피며, 본 발명에 따른 시스템의 전반적인 내용에 대하여 먼저 살피기로 한다.
첫째, 현재 사용되는 대부분의 시스템은 채널 복호기 (예: turbo decoder or Viterbi decoder)에 출력버퍼를 구비하고 HOST는 이 버퍼의 데이터를 어드레스 버스와 데이터 버스를 사용하여 전송하는 구조를 유지한다. 즉, 현재까지 사용되고 있는 방식은 채널 복호기가 출력 버퍼의 데이터를 HOST에 전송하고 할 때 직접 HOST에 인터럽트를 발생한다. 그러나 본 발명에서는 출력 버퍼 제어기(Output Buffer Controller : OBUFC)가 데이터 전송을 위한 인터럽트를 HOST로 전달하여 채널 복호기의 데이터를 전송하도록 한다. 이를 위해 출력 버퍼 제어기(OBUFC)는 채널 복호기로부터 복호가 완료되었다는 신호 예를 들어 인터럽트 또는 시그널 또는 Flag 등을 통해 이를 수신한다. 그리고 이 신호들의 값과 출력 버퍼 제어기(OBUFC)가 저장하고 있는 출력버퍼 상태 정보 등을 종합하여 데이터 전송이 필요하다고 판 단하면 HOST에 데이터 전송을 위한 인터럽트를 발생시킨다.
둘째, 출력 버퍼 제어기(OBUFC)가 HOST로 인터럽트를 발생하기 위해 두 가지의 새로운 인터페이스 구조를 가진다.
첫 번째 인터페이스는 출력 버퍼 제어기(OBUFC)와 채널 복호기간 인터페이스이다. 출력 버퍼 제어기와 채널 복호기간 인터페이스는 채널 복호기에서 복호가 완료된 데이터를 저장할 출력 버퍼의 저장위치를 결정하는 어드레스 생성정보를 채널 복호기로 전달한다. 또한 출력 버퍼 제어기와 채널 복호기간 인터페이스는 채널 복호기에서 복호가 완료되었음을 알리는 인터럽트 또는 시그널 또는 Flag 등을 출력 버퍼 제어기로 전달한다. 이러한 제1인터페이스를 구비한다.
다른 하나의 인터페이스는 출력 버퍼 제어기와 HOST간 인터페이스이다. 출력 버퍼 제어기와 HOST간 인터페이스는 출력 버퍼에 저장된 데이터를 HOST로 전달하기 위한 인터페이스이다. 따라서 출력 버퍼 제어기와 HOST간 인터페이스는 출력 버퍼 제어기로부터 HOST로 채널 복호기의 복호가 완료된 데이터를 전달하기 위해 하기와 같은 정보를 전달한다. 첫째로 채널 복호가 완료된 데이터가 출력 버퍼에 저장된 위치를 알리는 어드레스 정보를 전달한다. 둘째로 상기 채널 복호가 완료된 데이터와 관련한 각종 정보 예를 들어 프레임의 크기, 종류 시간 등의 정보를 전달한다. 셋째로 출력 버퍼에 저장된 데이터의 전송을 요구하는 인터럽트를 전달한다.
또한 출력 버퍼 제어기와 HOST간 인터페이스는 HOST로부터 출력 버퍼 제어기로 출력 버퍼의 데이터 전송이 완료되었음을 알리는 시그널 또는 Flag 등을 전달한다.
셋째, 채널 복호기는 복수개의 복호된 데이터를 저장할 수 있는 출력 버퍼를 구비한다. 현재까지의 시스템에서는 하나의 복호된 프레임의 저장하기 위한 출력버퍼를 구비하였다. 그러나 본 발명에서는 채널 복호기에 복수개의 출력 버퍼 공간을 구비하도록 구성한다. 채널 복호기에 구비되는 출력 버퍼의 최대 크기는 채널 복호기의 출력 데이터 블록인 복호 프레임의 크기와 HOST에서 요구하는 최대 누적 복호 프레임의 수에 따라 결정된다. 또한 채널 복호기에 구비되는 출력 버퍼는 이중 버퍼(double buffer) 구조를 가지도록 한다. 이와 같이 이중 버퍼로 구성하는 이유는 첫째로 채널 복호기가 최대의 복호 시간을 확보하기 위함이다. 둘째로 HOST로의 데이터 전송시간을 가급적 최대로 확보할 수 있도록 하기 위함이다.
넷째, 출력 버퍼의 동작도 이중 모드로 동작하도록 구성한다. 이는 1xEV-DV 시스템에서 제공하는 ACK_DELAY의 두 가지 모드를 모두 지원할 수 있도록 하기 위함이다. 즉, 새로운 회로의 설계 없이 하나의 회로로서 두 모드를 모두 지원하는 구조를 가진다. 이를 위해서 ACK_DELAY에 따른 출력버퍼 제어기를 따로 설계하고 이를 하나의 전체 출력버퍼 제어기로 통합하는 구조를 가지도록 한다. 특히 ACK_DELAY가 2 slots인 경우 데이터 전송을 위한 제어신호의 발생은 채널 복호기에 최대 복호 시간을 제공하기 위해서 적응적인 신호제어 방식을 사용한다. 따라서 가변적인 데이터 전송 인터럽트 타이밍 제어를 사용한다.
다섯째, 출력 버퍼 제어기는 채널 복호기의 출력 버퍼에 복호 오류가 없는 복호 프레임이 있는 경우에만 HOST에 데이터 전송을 위한 인터럽트를 발생하고 그 이외의 경우에는 인터럽트를 발생하지 않도록 "Empty buffer"를 자동검사 하도록 구성한다. 이와 같이 구성하는 이유는 통상 HOST(CPU)는 데이터 전송을 위한 인터럽트로부터 실제 데이터 전송을 시작하기 전까지 상당수의 명령을 수행하는 초기 지연이 존재한다. 그러므로 이러한 오버헤드가 인터럽트 처리에 있어 적지 않은 부분을 차지한다. 따라서 오류없이 복호된 전송 데이터가 없는 경우에는 반드시 인터럽트 자체를 발생하지 못하도록 제어하여 HOST의 데이터 처리부담을 줄일 수 있다.
여섯째, 출력 버퍼 제어기는 각 복호 프레임의 수신 시간 예를 들어 System time(SYS_TIME)을 복호 데이터 전송 시에 데이터와 함께 HOST로 전송한다. 이와 같은 이유는 하기와 같다. HOST는 출력 버퍼 제어기로부터 인터럽트가 발생하는 경우에만 복호된 데이터를 출력 버퍼로부터 가져간다. 즉, 채널 복호기에서 복호된 몇 개의 복호 프레임이 누적되었다가 HOST로 전송될 수 있다. 따라서 HOST로 전달되는 복호된 데이터는 실제 채널 복호가 수행된 시점과 데이터가 HOST에 전달된 시점 사이에 시간적인 차이 즉, Timing Gap이 존재하게 된다. 일반적인 서비스 트래픽(service traffic)의 경우에는 상기 Timing Gap이 문제가 되지 않을 수 있다. 그러나, 만일 빠른 응답을 요구하는 제어 메시지 예를 들어 채널설정, Supervision 등의 메시지를 수신하는 경우에는 단말의 HOST는 정확한 수신 시간 정보를 필요로 한다. 그러므로 출력 버퍼 제어기는 이러한 경우를 고려해서 각 복호 프레임의 수신시간 정보를 제공한다. 이와 같은 방법을 사용하므로 HOST는 수신된 시스템 시간 정보를 이용하여 각각의 복호 프레임의 수신 시간을 확인할 수 있다. 이와 더불어 수신기에서 관측되는 상위계층이 필요로 하는 각종 파라미터를 모아서 함께 전송할 수도 있다. 예를 들어 정상적인 모드에서는 상기 파라미터들만을 전송 하고 테스트 모드 혹은 관측모드에서는 수신기에서 관측되는 여러 파라미터를 모아서 상위계층에 전송할 수 도 있다. 따라서 본 발명에서는 상위계층에 전달되는 파라미터를 상기 제시한 특정 파라미터로 제한하지 않는다.
이와 유사하게 1xEV-DV 시스템에서는 ARQ 채널이 최대 4개가 연속적으로 사용된다. 따라서 HOST는 ARQ 채널을 인식할 수 있는 정보인 ACID가 필요하다. 따라서 본 발명에 따른 출력 버퍼 제어기는 각 복호 프레임의 ACID를 데이터 전송 시에 ACID를 데이터 전송과 함께 HOST로 전송한다.
도 5는 본 발명의 바람직한 실시 예에 따라 복합 재전송 제어기와 출력 버퍼 제어기 및 출력 버퍼간 연결의 블록 구성도이다. 이하 도 5를 참조하여 출력 버퍼 제어기의 연결 구성 및 동작에 대하여 설명한다.
출력 버퍼 제어기(300)는 도 5에 도시한 바와 같이 복합 재전송 제어기(30)의 내부에 구비된다. 그러나, 실제로 출력 버퍼 제어기(300)가 복합 재전송 제어기(30)의 내부에 구비되지 않도록 구성할 수도 있다. 이와 같이 복합 재전송 제어기(30)의 내부에 구성하는 이유는 출력 버퍼 제어기(300)에서 필요로 하는 신호를 상기 복합 재전송 제어기(30)에서 이미 수신하는 구조를 가정한 것이기 때문이다. 그러나 설명의 편의를 위해 이하에서는 출력 버퍼 제어기(300)가 복합 재전송 제어기(30)의 내부에 구비되는 것으로 가정하여 설명하도록 한다. 상기 복합 재전송 제어기(30)의 내부에는 상기 출력 버퍼 제어기(300) 이외에도 복합 재전송 제어기(30)의 각 동작 모드에 따른 상태 천이를 출력하는 상태부(도 5에 도시하지 않음)와, 상기 각 상태에 따른 동작 제어를 위한 상태 기능부(도 5에 도시하지 않음) 와 내부에서 처리되는 데이터를 저장하거나 또는 신호를 저장하기 위한 레지스터(도 5에 도시하지 않음) 등을 구비한다. 또한 상기 복합 재전송 제어기(30)는 고속 터보 복호기(40)로부터 패킷 데이터 채널의 터보 복호 완료 신호(PDCH_TURBO_DONE)를 수신한다. 이러한 패킷 데이터 채널의 터보 복호 완료 신호는 패킷 데이터 채널로부터 패킷 데이터가 수신되어 고속 터보 복호기(40)에서 터보 복호를 수행하고, 복호가 완료된 경우에 복합 재전송 제어기(30)로 입력된다. 따라서 고속 터보 복호기(40)는 복호가 완료된 데이터를 출력 버퍼(400)에 저장한 상태가 된다. 이와 같이 패킷 데이터 채널의 터보 복호 완료 신호가 수신되면, 복합 재전송 제어기(30)의 내부에 구비된 출력 버퍼 제어기(300)는 패킷 데이터 채널의 터보 복호 완료 신호를 카운트한다. 그리고 카운트 한 값이 미리 설정된 값보다 큰 경우 프로세서(50)로 출력 버퍼(400)에 저장된 데이터 독취를 위한 신호를 출력하여 프로세서(50)로 하여금 출력 버퍼(400)에 저장된 데이터를 읽어가도록 한다. 이때, 상기 미리 설정된 카운트 값은 2 이상의 값으로 설정한다. 여기서 미리 설정된 카운트 값을 2 이상의 값으로 설정하는 이유는 프로세서(50)가 매 패킷이 수신될 때마다 출력 버퍼(400)에 저장된 데이터를 읽어가지 않고 출력 버퍼(400)에 저장된 복호가 완료된 패킷 데이터를 적어도 둘 이상씩 읽어가도록 하기 위함이다. 왜냐하면, 매 복호가 완료될 때마다 프로세서가 출력버퍼(400)로부터 데이터를 읽어가는 경우 프로세서의 부하가 증가하기 때문이다.
또한 본 발명의 실시 예에서는 출력 버퍼 제어기(300)가 패킷 데이터 채널의 터보 복호 완료 신호가 2회 이상 수신된 경우 프로세서(50)로 출력 버퍼의 독취를 요구하는 인터럽트를 발생하는 것으로 설명하였다. 그러나 프로세서(50)의 예상 부하에 따라 상기 횟수 또는 시간을 다르게 설정할 수도 있다. 즉, 복호 완료 횟수만으로 설정하지 않고 5msec 등과 같은 시간을 카운트하여 데이터를 읽어가도록 구성할 수도 있다.
또한 전기한 바와 같이 고속 터보 복호기(40)의 내부에 이중화된 출력 버퍼(400)를 구비한다. 상기 이중화된 출력 버퍼(400)는 고속 터보 복호기(40)에서 터보 복호된 데이터를 저장한다. 이때 저장되는 데이터는 복합 재전송 제어기(30)에 구비된 출력 버퍼 제어기(300)의 제어 신호에 의거하여 위치가 지정되어 저장된다.
프로세서(CPU : HOST)(50)는 복합 재전송 제어기(30)로부터 수신되는 인터럽트에 의거하여 고속 터보 복호기(40)의 내부에 구비된 출력 버퍼(400)에 저장된 데이터를 독취한다. 상기 프로세서(50)는 다중화 계층(MUX LAYER)과 라디오 링크 프로토콜(RLP : Radio Link Protocol) 처리를 수행할 수 있다.
그러면 상기 도 5에 도시한 각 블록으로부터 입/출력되는 신호들과 그 동작에 대하여 설명한다. 우선 복합 재전송 제어기(30)는 패킷 데이터 채널(PDCH)을 통해 데이터를 수신하는 경우 고속 터보 복호기(40)를 활성화시켜야 한다. 즉, 복합 재전송 제어기(30)는 패킷 데이터 채널로 데이터가 수신되는 경우 고속 터보 복호기(40)로 터보 복호기 활성화 신호(PDCH_TURBO_EN)를 출력한다. 그리고 패킷 데이터 채널을 통해 수신되는 인코더 패킷의 크기 정보를 고속 터보 복호기(40)로 전달한다. 이에 따라 고속 터보 복호기(40)는 터보 복호(turbo decoding)를 수행할 수 있다. 고속 터보 복호기(40)는 패킷 데이터 채널(PDCH)에 대한 터보 복호가 완료되면 터보 복호 완료 신호(PDCH_TURBO_DONE)를 복합 재전송 제어기(30)로 출력한다. 이와 같은 동작을 통해 터보 복호기(40)에서 복호 동작이 이루어진다. 1x EV-DV의 시스템은 1 슬롯 ACK_DELAY와 2 슬롯 ACK_DELAY를 지원한다. 따라서 고속 데이터 서비스 모뎀에서 사용되는 출력 버퍼와 복합 재전송 제어기(30)는 하기 <표 1>과 같이 2가지의 경우에 따라 복호(Decoding)와 데이터 전송 시간(data transferring time)을 구분할 수 있다. 하기 <표 1>에서 NOS는 Number of Slots으로 하나의 encoder packet이 전송을 위해서 점유하는 슬롯의 수를 의미한다.
1 slot ACK_DELAY 2 slot ACK_DELAY
NOS = 1 1.25msec + 1.25msec 1.25msec + 1.25msec or 1.25msec + 2.5msec
NOS = 2 2.50msec + 1.25msec 2.50msec + 1.25msec or 2.50msec + 2.5msec
NOS = 3 5.00msec + 1.25msec 5.00msec + 1.25msec or 5.00msec + 2.5msec
즉, 1 슬롯의 ACK_DELAY인 경우에는 1.25ms 내에 패킷 데이터 채널로 수신된 데이터에 대하여 복조(demodulation)와 복호(decoding)를 완료해야만 한다. 그리고 2 슬롯의 ACK_DELAY인 경우에는 2.5ms 내에 패킷 데이터 채널로 수신된 데이터에 대하여 복조(demodulation)와 복호(decoding)를 완료해야만 한다.
그러면 도 6 내지 도 8을 참조하여 터보 복호기 활성화 신호와 터보 복호 완료 신호의 타이밍을 설명한다. 도 6은 본 발명에 따라 터보 복호 활성화 신호(PDCH_TURBO_EN)에 따라 수반되는 터보 복호 완료 신호(PDCH_TURBO_DONE)의 출력 가능한 경우들에 대한 타이밍도이다.
도 6에 도시한 터보 복호 활성화 신호(PDCH_TURBO_EN)와 터보 복호 완료 신호(PDCH_TURBO_DONE) 사이는 전술한 바와 같이 크게 2가지 경우로 구분할 수 있다. 첫 번째 경우는 1 ACK_DELAY의 경우이고, 두 번째 경우는 2 ACK_DELAY의 경우이다. 상기 첫 번째 경우도 상기 도 6에 도시한 바와 같이 2가지 경우로 구분된다. 한 경우는 복호 시간(t_DEC)이 1.25ms 내에서 이루어지는 경우이다. 즉, 복합 재전송 제어기(30)로부터 터보 복호 활성화 신호(PDCH_TURBO_EN)가 전달된 이후에 1 슬롯 내에서 터보 복호 완료 신호(PDCH_TURBO_DONE)가 발생하는 경우이다. 이러한 경우는 부호화 패킷(EP : encoder packet)이 작거나 또는 채널 상태가 양호하여 고속 터보 복호기(40)에서 터보 복호가 빠르게 완료되는 경우이다. 따라서 이러한 경우에는 복호 시간(decoding time : t_DEC)이 1.25ms 내에서 이루어진다. 다른 경우로 터보 복호 완료 신호(PDCH_TURBO_DONE)가 슬롯의 바운더리(boundary)에서 발생되는 경우이다. 이러한 경우는 채널의 상태가 양호하지 못하거나 부호화 패킷(EP)의 크기가 커서 복호 시간(t_DEC)이 오래 걸리는 경우이다.
2 ACK_DELAY를 가지는 두 번째 경우에도 채널의 상황이 양호하거나 또는 부호화 패킷(EP)의 크기가 적당한 경우에는 2 슬롯 내에서 복호 완료 신호(PDCH_TURBO_DONE)가 출력된다. 그러나 채널의 상황이 양호하지 못하거나 또는 부호화 패킷(EP)의 크기가 매우 큰 경우에는 2 슬롯의 경계에서 복호 완료 신호(PDCH_TURBO_DONE)가 출력된다.
도 7은 본 발명에 따라 복조 완료 신호(PDCH_DEMOD_DONE)와 터보 복호 활성화 신호(PDCH_TURBO_EN)의 출력 가능한 경우들에 대한 타이밍도이다. 이하 도 7을 참조하여 본 발명에 따라 발생할 수 있는 복조 완료 신호(PDCH_DEMOD_DONE)와 터보 복호 활성화 신호(PDCH_TURBO_EN)에 대하여 설명한다.
상기 도 7에서 터보 복호기 활성화 시간(t_GAP)은 패킷 데이터 채널로 수신된 데이터의 복조 완료 신호(PDCH_DEMOD_DONE)가 출력되어 터보 복호기(40)가 활성화되기까지의 시간이다. 패킷 데이터 채널 복조기(PDCH demodulator)로부터 복합재전송 제어기(HARQ controller)가 복조 완료 신호(PDCH_DEMOD_DONE)를 수신하면 해당 슬롯에 복호를 위한 부호화 패킷(EP)이 기다리고 있다는 의미이며, 따라서 해당 슬롯에서 반드시 터보 복호 활성화 신호(PDCH_TURBO_EN)을 설정해야 한다. 터보 복호기(40)에 대한 터보 복호기 활성화 신호(PDCH_TURBO_EN)를 수신되는 경우 데이터의 복호화가 가능하다. 그러므로 복합 재전송 제어기(30)는 복조가 완료되는 슬롯에서 터보 복호 활성화 신호(PDCH_TURBO_EN)를 출력하여야 한다. 도 7에서는 이와 같이 복조가 완료되는 경우 터보 복호 활성화 신호(PDCH_TURBO_EN)가 발생할 수 있는 경우를 도시하고 있으며, 최악의 경우 1.25ms의 경계 지점(boundary)에서 터보 복호 활성화 신호(PDCH_TURBO_EN)가 출력된다. 이러한 상기 터보 복호기 활성화 시간(t_GAP)은 하기와 같은 4가지 관계를 가지게 된다.
(1) k 번째 터보 복조 완료 신호(PDCH_DEMOD_DONE)가 발생하면 그 슬롯에서 반드시 k 번째 터보 복호 활성화 신호(PDCH_TURBO_EN)가 발생한다.
(2) 상기 두 신호 사이의 시간 간격인 터보 복호기 활성화 시간(t_GAP)은 항상 1.25ms보다 작다.
(3) 1 ACK_DELAY에서는 터보 복호기 활성화 시간(t_GAP)을 최소화하는 것이 바람직하다.
(4) 2 ACK_DELAY에서는 터보 복호기 활성화 시간(t_GAP)을 부호화 패킷의 크기(EP size)와 신호대 간섭비(C/I)에 따라서 가변적으로 설정한다.
상기 (4)번의 경우와 같은 적응적인 신호 제어는 이전 부호화 패킷의 크기(EP SIZE)가 매우 크거나 혹은 신호대 잡음비(C/I)가 매우 작아서 고속 터보 복호기(40)의 반복(iteration)이 많이 요구되는 경우에 발생한다. 이를 위해서는 이전 부호화 패킷의 크기(EP SIZE), 신호대 잡음비(C/I)의 결과(REPORT), 현재 부호화 패킷의 크기(EP SIZE), 현재 신호대 잡음비(C/I) 등을 고려하는 결정 테이블(DECISION TABLE) 혹은 알고리즘이 필요하다. 이에 따른 효과는 역방향 NAK을 줄일 수 있어 단말 입장에서 보다 높은 처리량(throughput)을 제공받을 수 있다는 점이다. 이와 같이 가변적인 터보 복호기 활성화 시간(t_GAP)을 설정하기 위해서 복합전송제어기(30)은 터보 복호 활성화 신호(PDCH_TURBO_EN)의 가능한 위치를 16가지로 제한한다. 여기서 16은 설계 시에 고려되는 변수로 설계자가 설정하는 가능한 PDCH_TURBO_EN의 설정 위치의 최대 수이다. 즉 하나의 슬롯에서 복합전송제어기(30)가 인위적으로 설정할 수 있는 PDCH_TURBO_EN의 발생 위치의 수를 의미한다. 따라서 만일 PDCH_TURBO_EN의 위치설정을 매우 정밀한 간격으로 조정하고 싶으면 이 값을 크게 설정하면 되고 반대로 이 설정 위치의 정밀도가 크지 않으면 작은 값을 설정하면 된다. 본 발명에서 16을 예로서 사용하는 것은 이 정도의 정밀도면 Turbo decoder의 반복 복호에 따른 성능차이를 충분히 분별할 수 있다고 보기 때문이다. 그러나 설계에 따라서는 32, 64 등의 값도 충분히 사용할 수 있음을 명시한 다.
이와 같이 고속 터보 복호기(40)에서 16가지 이상의 설정 위치를 사용하더라도 반복에 따른 성능 결과를 볼 때, 그 차이를 구별할 수 있는 변별력이 없다고 보기 때문이다.
도 8은 본 발명에 따른 터보 복호 완료 신호(PDCH_TURBO_DONE)와 연속한 터보 복호 활성화 신호(PDCH_TURBO_EN)간의 가능한 타이밍도이다. 이하 도 8을 참조하여 터보 복호 완료 신호(PDCH_TURBO_DONE)와 터보 복호 활성화 신호(PDCH_TURBO_EN)간 기능에 대하여 설명하기로 한다.
상기 도 8에 도시된 바와 같이 터보 복호 완료 신호(PDCH_TURBO_DONE)와 연속하여 발생하는 터보 복호 활성화 신호(PDCH_TURBO_EN)간의 관계는 크게 2가지로 구분할 수 있다. 첫째로, 터보 복호 완료 신호(PDCH_TURBO_DONE)와 연속하여 발생하는 터보 복호 활성화 신호(PDCH_TURBO_EN)가 서로 다른 슬롯에서 발생하는 경우 즉, 도 8의 위의 2가지 경우이다. 둘째로, 터보 복호 완료 신호(PDCH_TURBO_DONE)와 연속하여 발생하는 터보 복호 활성화 신호(PDCH_TURBO_EN)간 동일한 슬롯에서 발생하는 경우 즉, 도 8의 2가지 경우를 제외한 3가지 경우가 된다.
그러면 먼저 첫 번째 경우에 대하여 살펴본다. 상기 k 번째 터보 복호 완료 신호(PDCH_TURBO_DONE)가 발생한 이후에 k+1 번째 발생하는 터보 복호 활성화 신호(PDCH_TURBO_EN)가 다음 슬롯에서 발생하는 경우이다. 이러한 경우는 인코더 패킷(EP)의 크기가 작거나 혹은 채널 상태가 양호한 경우이다. 즉, 인코더 패킷의 크기가 작거나 채널의 상태가 양호한 경우 고속 터보 복호기(40)가 터보 복호를 빠 르게 완료할 수 있기 때문이다. 이와 같은 경우에 고속 터보 복호기(40)는 복합 재전송 제어기(30)로부터 다음 슬롯에서 수신되는 인코더 패킷의 크기에 대한 정보를 수신하기 위해 대기하게 된다. 왜냐하면, 새로운 인코더 패킷의 크기에 대한 정보가 없다면 고속 터보 복호기(40)는 복호를 수행할 수 없기 때문이다. 이와 같은 경우의 가장 극단적인 경우는 상기 도 8의 두 번째 경우로 터보 복호 완료 신호(PDCH_TURBO_DONE)가 k 번째 슬롯과 k+1 번째 슬롯의 경계(boundary)에서 발생하게 된다.
다음으로, 상기한 두 번째 경우 즉, 터보 복호 완료 신호(PDCH_TURBO_DONE)와 연속하여 발생하는 터보 복호 활성화 신호(PDCH_TURBO_EN)가 서로 같은 슬롯에서 발생하는 경우에 대하여 살펴본다. 상기 두 번째 경우가 실제로 장치로 구현할 경우 가장 빈번하게 발생하는 경우이다. 또한 ACK/NAK Delay가 2 슬롯인 경우 복합 재전송 제어기(30)가 인위적으로 터보 복호 시간을 늘이고자 k+1 번째 터보 복호 활성화 신호(PDCH_TURBO_EN)의 발생 지점을 상기 슬롯의 뒷 부분으로 설정하는 경우도 여기에 해당한다. 극단적인 예로 복합 재전송 제어기(30)가 k+1 번째 터보 복호 활성화 신호(PDCH_TURBO_EN)를 출력하고, 상기 슬롯에서 복호 완료 신호(PDCH_TURBO_DONE)가 출력되는 경우가 발생할 수 있다. 이러한 경우에 다시 복합 재전송 제어기(30)는 바로 그 다음 슬롯에서 터보 복호 활성화 신호(PDCH_TURBO_EN)를 출력하게 된다. 따라서 하나의 슬롯 내에 복합 재전송 제어기(30)로부터 고속 터보 복호기(40)로 출력되는 제어 신호가 3개가 존재하는 경우가 된다. 이러한 경우를 상기 도 8의 4번째 경우로 도시하였다. 또한 도 8의 마지 막에 도시된 경우로 2 ACK/NAK Delay에서 복합 재전송 제어기(30)가 인위적으로 터보 복호 시간을 늘이고자 하는 경우 k 번째 터보 복호 완료 신호(PDCH_TURBO_DONE)완료 신호의 출력과 관계없이 k+1 번째 터보 복호 활성화 신호(PDCH_TURBO_EN)의 발생 지점을 k+1 슬롯의 뒷 부분으로 설정한다. 이러한 경우 고속 터보 복호기(40)가 복호 수행 후에 k+1 슬롯의 경계(boundary)에서 k+1번째 터보 복호 활성화 신호(PDCH_TURBO_EN)가 출력된다.
상기 도 8과 이상에서 상술한 내용을 정리하면 하기와 같이 2 가지 규칙을 정리할 수 있다.
(1) 만일 연속한 두개의 복호(decoding)를 위한 인코더 패킷(Encoder Packet)이 존재하는 경우 k 번째 터보 복호 완료 신호(PDCH_TURBO_DONE)와 k+1 번째 터보 복호 활성화 신호(PDCH_TURBO_EN) 사이의 시간인 t_TB_GAP은 도 8에 도시한 바와 같이 대부분 1.25msec보다 작다.
(2) 하나의 슬롯 내에 k 번째 터보 복호 완료 신호(PDCH_TURBO_DONE), k+1 번째 터보 복호 활성화 신호(PDCH_TURBO_EN) 및 k+1 번째 터보 복호 완료 신호(PDCH_TURBO_DONE)가 공존할 수 있다.
이상에서 설명한 도 6과 도 7 및 도 8을 조합하여 최대 복호 시간(Maximum decoding time)과 데이터 전송 시간(data transferring time)을 결정할 수 있다. 그러면 이에 대하여 설명한다.
예를 들어 k 번째 복조 완료 신호(PDCH_DEMOD_DONE)가 발생하면 k 번째 터보 복호 활성화 신호(PDCH_TURBO_EN)는 반드시 발생하며 1 슬롯 내에 존재한다. 다음 으로 k 번째 터보 복호 활성화 신호(PDCH_TURBO_EN)로부터 고속 터보 복호기(40)가 복호 이후에 k 번재 터보 복호 완료 신호(PDCH_TURBO_DONE)의 발생하는 시간까지 최대 2 슬롯이다. 따라서 전체적으로 소요되는 시간은 k 번째 터보 복조 완료 신호(PDCH_DEMOD_DONE)가 발생된 슬롯으로부터 2 슬롯 즉, 2.5msec보다 작거나 같다. 이 사이에 발생 가능한 경우는 상술한 도 6과 도 7을 조합하여 구성할 수 있다. k 번째 터보 복호 완료 신호(PDCH_TURBO_DONE)로부터 새로운 터보 복호에 필요한 시간은 최소한 2 슬롯이 소요되므로 결국 k 번째 터보 복호 활성화 신호(PDCH_TURBO_EN)로부터 최대 3 슬롯 이내에 새로운 터보 복호 활성화 신호(PDCH_TURBO_EN)가 발생할 수 있다.
다음으로 본 발명의 실시 예에 따른 출력 버퍼의 구성 및 출력 버퍼 제어기의 구성에 대하여 살펴본다.
도 9는 본 발명의 바람직한 실시 예에 따른 출력 버퍼의 간략화된 내부 블록 구성도이다. 이하 도 9를 참조하여 본 발명에 따른 출력 버퍼의 내부 구성 및 그에 따른 동작에 대하여 살펴본다.
우선 상기 도 5에서 도시한 바와 같이 복합 재전송 제어기(30)에서 출력되는 신호들 중 버퍼 페이지 선택 신호(OBUF_PAGE[1:0])와 제1버퍼 기록 활성화 신호(OBUF0_W_EN)가 출력 버퍼(400)로 입력된다. 또한 고속 터보 복호기(40)는 터보 복호가 완료되면, 복호가 완료된 데이터(DATA[15:0])를 출력하며, 동시에 이를 저장할 주소(OBUF_ADDR[7:0])를 출력한다. 이와 같이 고속 터보 복호기(40)에서 출력된 데이터는 역다중화기(401)로 입력된다. 상기 역다중화기(401)는 제1버퍼(OBUF 0)(410)를 선택하거나 또는 제2버퍼(OBUF 1)(420)를 선택하여 복호된 데이터를 기록하기 위한 기록 활성화 입력단을 가진다. 상기 기록 활성화 입력단으로 입력되는 신호는 제1버퍼 기록 활성화 신호(OBUF0_W_EN)가 입력된다. 상기 제1버퍼 기록 활성화 신호(OBUF0_W_EN)는 하이(high) 또는 로우(low)의 신호를 가진다. 예를 들어 상기 제1버퍼 기록 활성화 신호(OBUF0_W_EN)가 하이 상태로 상기 역다중화기(401)의 기록 활성화 입력단에 입력되면, 상기 역다중화기(401)는 입력되는 데이터를 제1버퍼(OBUF 0)(410)로 출력한다. 이와 반대로 상기 제1버퍼 기록 활성화 신호(OBUF0_W_EN)가 로우 상태로 상기 역다중화기(401)의 기록 활성화 입력단에 입력되면, 상기 역다중화기(401)는 입력되는 데이터를 제2버퍼(OBUF1)(420)로 출력한다.
상기 출력 버퍼의 실제적인 버퍼는 제1버퍼(OBUF 0)(410)와 제2버퍼(OBUF 1)(420)로 구성된다. 상기 제1버퍼(410)와 상기 제2버퍼(420)는 동일한 크기와 동일한 내부 구성을 가진다. 제1버퍼(410)와 제2버퍼(420)는 본 발명의 실시 예에 따라 각각 4 페이지(PAGE)로 구성되며, 각 페이지는 PAGE 0, PAGE 1, PAGE 2, PAGE 3로 구분된다. 또한 본 발명의 실시 예에서는 상기 각 페이지의 크기를 16X256으로 구성한다. 상기 제1버퍼(410)와 상기 제2버퍼(420)는 칩 선택(CS) 신호 입력단과 읽기/기록(R/W_) 신호 입력단을 공통으로 가지고 있다. 그리고 상기 제1버퍼(410)는 데이터의 기록 또는 독취를 위한 주소(ADDR_OBUF0[9:0])의 입력단을 가지며, 상기 제2버퍼(420)는 데이터의 기록 또는 독취를 위한 주소(ADDR_OBUF1[9:0])의 입력단을 가진다.
상기 제1버퍼(410)와 제2버퍼(420)의 읽기/기록(R/W_) 신호 입력단으로는 상기 역다중화기(401)의 기록 활성화 입력단으로 입력되는 제1기록 버퍼 활성화 신호(OBUF0_W_EN)가 입력된다. 또한 상기 제1버퍼(410)와 상기 제2버퍼(420)의 각 출력단은 제1다중화기(402)로 입력된다. 상기 제1다중화기(402)는 상기 제1기록 버퍼 활성화 신호(OBUF0_W_EN)에 의거하여 상기 제1버퍼(410)와 상기 제2버퍼(420)의 출력 중 하나를 선택하여 출력한다.
상기 제1버퍼(410)의 주소 입력단은 제2다중화기(403)의 출력단과 연결되며, 상기 제2다중화기(403)로부터 제1버퍼(410)의 기록 또는 독취를 위한 주소 신호(ADDR_OBUF0[9:0])를 수신한다. 그리고 상기 제2버퍼(420)의 주소 입력단은 제3다중화기(404)의 출력단과 연결되며, 상기 제3다중화기(404)로부터 제2버퍼의 기록 또는 독취를 위한 주소 신호(ADDR_OBUF1[9:0])를 수신한다.
상기 제2다중화기(403)는 프로세서(50)로부터 전체 10비트에 해당하는 RADDR0[9:8], RADDR0[7:0]로 이루어진 제1버퍼 읽기 주소 신호(OBUF_RADDR[9:0])를 수신한다. 즉, 상기 프로세서(50)는 읽기 주소 신호를 한번에 출력하며, 상기 10비트 중 상위 2비트는 해당하는 출력 버퍼의 페이지(page)를 나타낸다. 또한 상기 제2역다중화기(403)는 고속 터보 복호기(40)로부터 WADDR0[1:0], WADDR0[7:0]로 이루어진 제1버퍼 기록 주소 신호(OBUF_WADDR[9:0])를 수신한다. 이와 같은 신호는 제2다중화기(403)로 입력되는 상기 제1버퍼 기록 활성화 신호(OBUF0_W_EN)에 의거하여 선택적으로 출력된다.
상기 제3다중화기(404)는 프로세서(50)로부터 RADDR1[9:8], RADDR1[7:0]로 이루어진 제2버퍼 읽기 주소 신호(OBUF_RADDR[9:0])를 수신한다. 또한 상기 제3역다중화기(404)는 고속 터보 복호기(40)로부터 WADDR1[9:8], WADDR1[7:0]로 이루어진 제2버퍼 기록 주소 신호(OBUF_WADDR[9:0])를 수신한다. 이와 같은 신호는 제2다중화기(403)로 입력되는 상기 제1버퍼 기록 활성화 신호(OBUF0_W_EN)에 의거하여 선택적으로 출력된다. 이때 상기 제3다중화기(404)는 상기 제2다중화기(403)와 동일한 신호를 수신한다. 따라서 상기 두 다중화기 중 하나의 선택 신호 입력단은 반전단으로 구성하여야 한다. 따라서 본 발명의 실시 예에서는 제3다중화기(404)의 선택 신호 입력단을 반전단으로 구성하였다.
그러면 상기한 구성에 따른 동작을 살펴본다. 상기 고속 터보 복호기(40)로부터 복호가 완료된 데이터(DATA[15:0])와 출력 버퍼 주소 신호(OBUF_ADDR[7:0])가 수신된다. 또한 상기 복합 재전송 제어기(30)의 출력 버퍼 제어기(300)로부터 상기 고속 터보 복호기(40)에서 복호된 데이터가 저장될 페이지를 지정하는 버퍼 페이지 선택 신호(OBUF_PAGE[1:0])와 제1출력 버퍼 기록 활성화 신호(OBUF0_W_EN)가 상기 출력 버퍼(400)로 입력된다. 상기 복호가 완료된 데이터(DATA[15:0])는 역다중화기(401)로 입력되며, 상기 제1출력 버퍼 기록 활성화 신호(OBUF0_W_EN)에 의거하여 제1버퍼(410) 또는 제2버퍼(420)를 선택하여 상기 복호가 완료된 신호를 출력한다.
이때 상기 선택신호에 따라 칩 선택(CS) 신호가 제1버퍼(410) 또는 제2버퍼(420)를 선택하여 활성화시킨다. 그리고 상기 제2다중화기(403) 또는 제3다중화기(404)로부터 출력되는 제1출력 버퍼 기록 신호(ADDR_OBUF0[9:0]) 또는 제2출 력 버퍼 기록 신호(ADDR_OBUF1[9:0])에 의거하여 해당하는 페이지의 주소에 복호가 완료된 데이터가 기록된다.
상술한 과정을 통해 소정의 데이터가 저장되어 프로세서(50)에서 데이터를 읽어갈 경우 제2다중화기(403)로 제1버퍼 읽기 주소 신호(OBUF_RADDR[9:0])가 입력되거나 제3다중화기(404)로 제2버퍼 읽기 주소 신호(OBUF_RADDR[9:0])가 입력된다. 그리고 이때 출력 버퍼 제어기(300)로부터 제1출력 버퍼 기록 활성화 신호(OBUF0_W_EN)가 상기 출력 버퍼(400)로 입력된다. 이에 의거하여 해당하는 버퍼가 선택되며, 상기 선택된 버퍼로부터 데이터가 출력된다. 이와 같이 제1버퍼(410) 또는 제2버퍼(420)로부터 출력되는 데이터는 제1다중화기(402)로 입력되며, 상기 출력 버퍼 제어기(300)로부터 수신되는 제1출력 버퍼 기록 활성화 신호(OBUF0_W_EN)에 의해 선택적으로 복호가 완료된 데이터를 출력한다.
도 10은 본 발명의 바람직한 실시 예에 따른 출력 버퍼 제어기의 내부 블록 구성도이다. 이하 도 10을 참조하여 본 발명에 따른 출력 버퍼 제어기의 내부 블록 구성 및 그에 따른 동작에 대하여 상세히 설명한다.
본 발명에서는 EV-DV 시스템이 1 슬롯 ACK/NAK DELAY를 가지는 경우 또는 2 슬롯 ACK/NAK DELAY를 가지는 경우에 대하여 설명하고 있다. 따라서 본 발명의 실시 예에 따른 출력 버퍼 제어기(300) 또한 EV-DV 시스템이 1 슬롯 ACK/NAK DELAY를 가지는 경우와 2 슬롯 ACK/NAK DELAY를 가지는 경우를 모두 수용할 수 있도록 구성된다. 상기 도 10에서 1 슬롯 ACK/NAK DELAY를 가지는 경우에 사용되는 블록은 페이지/버퍼 선택기(310)가 있다. 또한 2 슬롯 ACK/NAK DELAY를 가지는 경우에 사용 되는 블록은 페이지 선택기(320)와 버퍼 선택기(330)와 정지 위치 선택기(340)를 가진다. 그 외의 블록들(350, 360, 301, 302, 303)은 공통으로 사용되는 블록들이다. 그러면 각 블록들의 동작 및 구성에 대하여 살펴본다.
먼저 페이지/버퍼 선택기(310)에 대하여 살펴본다. 페이지/버퍼 선택기(310)는 전술한 바와 같이 1 슬롯 ACK/NAK DELAY 모드에서 출력 버퍼에 터보 복호된 데이터를 기록하기 위해 버퍼를 선택하기 위한 신호와 페이지 신호를 출력한다. 상기 페이지/버퍼 선택기(310)에서 출력되는 버퍼를 선택하기 위한 신호(OBUF_W_EN_1S)는 제1버퍼(410)와 제2버퍼(420) 중 하나의 버퍼를 선택하기 위한 신호이다. 또한 상기 페이지/버퍼 선택기(310)에서 출력되는 선택된 버퍼의 페이지를 선택하기 위한 신호(OBUF_PAGE_1S[1:0])를 생성하여 출력한다. 이 뿐만 아니라 상기 페이지/버퍼 선택기(310)는 5msec마다 데이터 전송을 위한 인터럽트 신호(INT_TURBO_1S)를 생성하여 출력한다. 상기 인터럽트 신호를 생성하기 위해 시스템 동기신호인 SYNC_125를 입력 신호로 사용하며 고속 터보 복호기(40)의 초기화 시에 한번 클리어(CLEAR)되며 이후에는 계속해서 SYNC_125에 의해서 동작된다. 그러면 도 11을 참조하여 상기 페이지/버퍼 선택기(310)의 상세한 구성 및 동작을 살펴본다.
도 11은 본 발명의 바람직한 실시 예에 따른 페이지/버퍼 선택기의 내부 블록 구성도이다. 상기 페이지/버퍼 선택기(310)는 전술한 바와 같이 고속 터보 복호기(40)의 초기화 시에 한번 입력되는 클리어 신호를 수신한다. 또한 시스템 동기 신호(SYNC_125)를 수신한다. 상기 클리어 신호와 시스템 동기 신호는 3비트 카운터(311)로 입력된다. 따라서 3비트 카운터(311)는 클리어 신호가 수신되는 경 우 카운트 값을 클리어 하여 초기화하며, 이후 시스템 동기 신호를 수신하여 카운트 한 후 이에 따라 1 슬롯 ACK/NAK DELAY에 따른 버퍼 기록 활성화 신호(OBUFO_W_EN_1S[2])를 반전하여 출력하며, 1 슬롯 ACK/NAK DELAY에 따른 버퍼 페이지 신호(OBUF_PAGE_1S[1:0])를 출력한다. 상기 반전된 신호는 반전기(312)에 의해 정상적인 신호로 변환되어 출력되며, 페이지 선택 신호는 바로 출력된다. 또한 상기 페이지 선택 신호와 상기 시스템 신호는 논리곱 게이트(313)로 입력된다. 상기 논리곱 게이트(313)는 상기 입력된 신호를 논리곱 하여 1 슬롯 ACK/NAK DELAY에 따른 인터럽트 신호(INT_TURBO_1S)를 생성하여 출력한다.
다시 도 10을 참조하여 페이지 선택기(320)에 대하여 살펴본다. 상기 페이지 선택기(320)는 전술한 바와 같이 2 슬롯 ACK/NAK DELAY 모드에서 사용된다. 상기 페이지 선택기(320)는 터보 복호가 완료된 데이터가 제1버퍼(410)와 제2버퍼(420) 중 하나에 기록될 시 기록될 페이지를 설정하기 위한 페이지 선택 신호(OBUF_PAGE_2S[1:0])를 생성하여 출력한다. 상기 페이지 선택기(320)는 2 비트 카운터로 구성할 수 있다. 이때 상기 2비트 카운터의 입력 신호는 패킷 데이터 채널 터보 복호 완료 신호(PDCH_TURBO_DONE)를 입력으로 한다. 또한 페이지 선택기(320)는 고속 터보 복호기의 초기화 때 클리어 되며, 이후 후술될 버퍼 선택기(330)로부터 출력되는 INT_TURBO_2S 신호에 동기되어 클리어 된다.
다음으로 버퍼 선택기(330)에 대하여 살펴본다. 버퍼 선택기(330)는 2 슬롯 ACK/NAK DELAY 모드에서 사용된다. 상기 버퍼 선택기(330)는 터보 복호된 데이터를 저장하기 위해 제1버퍼(410) 또는 제2버퍼(420) 중 하나의 버퍼를 선택하기 위한 버퍼 선택 신호(OBUF_W_EN_2S)를 생성하여 출력한다. 상기 버퍼 선택 신호(OBUF_W_EN_2S)는 출력 버퍼의 다중화기 선택 신호로 사용되므로 하이(high) 또는 로우(low)의 신호 레벨을 가진다. 또한 상기 버퍼 선택기(330)는 2 슬롯 ACK/NAK DELAY에 맞춰 5msec 경계근처마다 데이터 전송을 위한 인터럽트 신호(INT_TURBO_2S)를 생성하여 출력한다. 그러면 도 12를 참조하여 버퍼 선택기(330)의 내부 블록 구성에 대하여 살펴본다.
도 12는 버퍼 선택기의 내부 구성을 본 발명의 바람직한 실시 예에 따라 구성한 블록 구성도이다. 상기 버퍼 선택기(330)는 4가지 신호가 입력된다. 그러면 먼저 입력되는 4가지 신호에 대하여 살펴본다.
(1) INT_STOP_POS[4:0] : INT_STOP의 발생 위치를 제공하는 값이다. 즉, 이 값은 터보 복호기 활성화 신호(PDCH_TURBO_EN)의 위치설정이 발생될 수 없는 한계시점을 나타내는 값으로 PDCH_TURBO_EN은 항상 이 INT_STOP_POS보다 작은 값을 가져야 한다. 따라서 PDCH_TURBO_EN과 이 값을 비교함으로써 PDCH_TURBO_EN이 더 이상 해당 슬롯에서 발생할 수 없는 상황이 되었음을 감지하기 위해서 사용한다.
(2) TURBO_EN_ACT : 1.25msec의 한 슬롯동안 터보 복호기 활성화 신호(PDCH_TURBO_EN)의 발생 여부를 알리는 신호로 하나의 슬롯 내에서 적어도 하나의 터보 복호기 활성화 신호(PDCH_TURBO_EN)이 없으면 "0"의 값을 가진다.
(3) 터보 복호기 활성화 신호(PDCH_TURBO_EN)
(4) 1 슬롯 ACK/NAK DELAY에 따른 버퍼 페이지 신호(OBUF_PAGE_1S[1:0]) : 상기 1 slot ACK/NAK DELAY에 따른 버퍼 페이지 신호는 전술한 도 11에서 살핀 바 와 같이 시스템 동기 신호(SYNC_125)와 3비트 카운터(311)의 출력 신호의 논리곱에 의해 발생되는 신호이다. 상기한 신호를 입력으로 하여 페이지 전환 정보를 검출하기 위해 사용한다. 이에 따른 검출 정보는 도 12를 참조하여 더 상세히 설명하기로 한다.
1 슬롯 ACK/NAK DELAY에 따른 버퍼 페이지 신호(OBUF_PAGE_1S[1:0])는 페이지 검출기(331)로 입력된다. 상기 페이지 검출기는 1 슬롯 ACK/NAK DELAY에 따른 버퍼 페이지 신호(OBUF_PAGE_1S[1:0])가 '0 페이지'를 가리키는 경우 "1"의 값을 출력하고 그렇지 않은 경우 "0"의 값을 출력한다. 또한 INT_STOP_POS[4:0]는 임계값 비교기(332)로 입력된다. 여기서 INT_STOP_POS[4:0]은 터보 복호기 활성화 신호(PDCH_TURBO_EN)의 위치설정이 발생될 수 없는 한계시점을 나타내는 값으로 PDCH_TURBO_EN은 항상 이 INT_STOP_POS[4:0]보다 작은 값을 가져야 한다. 따라서 PDCH_TURBO_EN과 이 값을 비교함으로써 PDCH_TURBO_EN이 더 이상 해당 슬롯에서 발생할 수 없는 상황이 되었음을 감지하기 위해서 사용되는 신호이다. 상기 임계값 비교기(332)는 INT_STOP_POS[4:0] 값이 미리 설정된 임계값(M)보다 큰 경우 "1"의 값을 출력하고, 그렇지 않은 경우 "0"의 값을 출력한다. 상기 페이지 검출기(331)의 출력 신호와 터보 복호기 활성화 신호(PDCH_TURBO_EN)는 제1논리곱 게이트(333)로 입력된다. 상기 제1논리곱 게이트(333)는 상기 입력된 두 값을 논리곱 하여 출력한다. 또한 제2논리곱 게이트(334)는 TURBO_EN_ACT의 값을 반전하여 입력하며, 페이지 검출기(331)와 임계값 비교기(332)의 출력 값을 입력으로 한다. 상기 세가지의 입력 값을 논리곱 하여 출력한다.
이와 같이 제1논리곱 게이트(333)와 제2논리곱 게이트(334)에 의해 논리곱 된 신호는 논리합 게이트(335)로 입력된다. 상기 논리합 게이트(335)는 입력된 두 신호를 논리합 하여 출력한다. 논리합 게이트(335)에서 출력된 신호는 둘로 분기되며, 분기된 신호 중 하나의 출력은 펄스 발생기(336)로 입력되고, 다른 하나의 출력은 토글기(337)로 입력된다. 상기 펄스 발생기(336)는 논리합 신호에 근거하여 하나의 펄스 신호(INT_TURBO_2S)를 발생한다. 또한 토글기(337)는 상기 논리합 게이트(335)의 출력에 근거하여 2 슬롯 ACK/NAK DELAY에 따른 버퍼 기록 활성화 신호(OBUF0_W_EN_2S)를 출력한다.
이를 종합하여 살펴보면, 상기 도 12의 구성을 가지는 버퍼 선택기(330)의 출력 신호인 펄스 신호(INT_TURBO_2S)와 2 슬롯 ACK/NAK DELAY에 따른 버퍼 기록 활성화 신호(OBUF_W_EN_2S)는 아래의 조건이 만족하는 경우에 발생된다. 첫째로, 1슬롯 ACK/NAK DELAY에 따른 버퍼 기록 활성화 신호에 의해 '0 페이지'가 검출되고, 터보 복호기 활성화 신호(PDCH_TURBO_EN)가 발생한 경우이다. 이는 상기 제1논리곱 게이트(333)의 출력이 "1"이 되는 경우이다. 두 번째 경우로, 1슬롯 ACK/NAK DELAY에 따른 버퍼 기록 활성화 신호에 의해 '0 페이지'가 검출되고, 터보 복호기 활성화 신호(PDCH_TURBO_EN)가 발생하지 않은 상태에서 INT_STOP_POS [4:0]가 미리 설정된 임계값보다 큰 경우이다. 이러한 경우는 제2논리곱 게이트(334)의 출력이 "1"이 되는 경우이다.
즉, 5msec를 검출하기 위해서 '0 페이지'를 지시기(indicator)로 사용하며 이 조건에서 터보 복호기 활성화 신호(PDCH_TURBO_EN)의 발생여부를 보고 동작을 결정한다. 만일 터보 복호기 활성화 신호(PDCH_TURBO_EN)가 발생한 경우에는 그 순간 인터럽트와 버퍼의 전환을 수행한다. 그러나 터보 복호기 활성화 신호(PDCH_TURBO_EN)가 발생하지 않으면, 터보 복호기 활성화 신호(PDCH_TURBO_EN)가 가질 수 있는 최대 지연 위치인 임계값(M = Maximum Position, 일 예로 16)의 위치까지 기다린다. 그런 후 상기 임계값을 넘어서는 순간 버퍼 선택기(330)는 버퍼를 강제적으로 전환한다. 여기서, 터보 복호기 활성화 신호(PDCH_TURBO_EN)가 발생하는 사건과 INT_STOP_POS [4:0]에 의해 최대 지연 위치인 임계값까지 가는 것은 상호 배타적인 사건이다. 따라서 반드시 두 사건 중에 하나만 발생하게 된다. 이를 이용하는 것이 TURBO_EN_ACT flag이다.
정지 위치 선택기(340)(INT_STOP Position SELECTOR)는 하나의 슬롯 안에서 임의로 설정 가능한 INT_STOP의 위치 정보를 제공한다. 상기 정지 위치 선택기(340)는 시스템 동기 신호(SYNC_125)와 터보 클록(TURBO_CLK) 및 클리어 신호(CLEAR)를 수신한다. 상기 클리어 신호는 매 시스템 동기 신호(SYNC_125)에 의해 CLEAR되며 1.25msec 구간 중에 31 카운트를 수행한다. 여기서 31은 임의로 주어진 값이며 구현에 있어서 설계자의 의도에 따라 보다 정밀한 PDCH_TURBO_EN 간격이 필요한 경우 다른 값으로 설정될 수 있다. 또한 상기 정지위치 선택기(340)는 미리 정해진 소정 비트의 수만큼 카운트를 수행하는 카운터로 구성할 수 있으며, 1.25msc를 가지는 1 슬롯에서 0부터 M까지의 개수를 카운트한다. 여기서 상기 INT_STOP은 INT_STOP_POS[4:0]이 지정 가능한 0에서부터 31까지의 값을 가지며 이때 M은 MAC에 의해 결정된 값이다. 따라서 M보다 큰 INT_STOP_POS에서는 더 이상의 터보 복호(Turbo decoding)가 발생할 수 없음을 의미한다. 상기 정지 위치 선택기(340)에서 출력되는 INT_STOP_POS[4:0]의 신호는 HARQC가 INT_STOP을 임의의 위치에 설정하는 데 사용될 수 있다.
플래그 출력기(350)는 하나의 슬롯(in a slot) 내에서 고속 터보 복호기의 활성화 신호가 발생하는가를 검사하여 고속 터보 복호기(40)의 활성 플래그 신호(TURBO_EN_ACT)를 출력한다. 이때, 상기 플래그 출력기(350)로 입력되는 신호는 시스템 클록(SYNC_125)과 패킷 데이터 채널의 터보 복호기 활성화 신호(PDCH_TURBO_EN)이다. 상기한 신호들 중 매 시스템 클록(SYNC_125)에 의해 클리어(CLEAR)되며 1.25msec 구간 중에 단 한번이라도 고속 터보 복호기의 활성 플래그 신호(PDCH_TURBO_EN)가 발생되면 "1"의 플래그 신호를 출력한다. 상기 플래그 출력기(350)는 플립플롭으로 구성할 수 있으며, 클리어 신호로 상기 시스템 클록(SYNC_125)을 수신하고, "1"의 입력을 가지고 패킷 데이터 채널의 터보 복호 활성화 신호(PDCH_TURBO_EN)가 입력되는 경우 상기 "1"의 입력 신호를 고속 터보 복호기의 활성 플래그 신호(PDCH_TURBO_EN)로 출력한다.
인터럽트 제어기(360)는 1 slot ACK/NAK DELAY와 2 slot ACK/NAK DELAY에서 발생되는 5msec 인터럽트(interrupt)를 받아서 이를 복합 재전송 제어기(30)로 전달한다. 상기 인터럽트 제어기(360)는 일반적인 Bypass와는 달리 5msec 동안 기록(WRITE) 모드에 있던 출력 버퍼(400)(OBUF0 or OBUF1)에 단 하나라도 오류없이 복호된 인코더 패킷(decoded EP)이 존재하는 경우에만 인터럽트를 발생하도록 한다. 그러면 도 13을 참조하여 인터럽트 제어기에 대하여 상세히 살펴본다. 도 13은 본 발명의 바람직한 실시 예에 따른 인터럽트 제어기의 내부 상세 회로도이다.
인터럽트 제어기(360)는 2개의 논리합 게이트(361, 362)와 2개의 다중화기(363, 364) 및 하나의 논리곱 게이트(365)를 가진다. 제1논리합 게이트(361)는 제1출력 버퍼(410)의 각 페이지 상태 정보를 입력 신호로 가지며, 제2논리합 게이트(362)는 제2출력 버퍼(420)의 각 페이지 상태 정보를 입력 신호로 가진다. 따라서 본 발명의 실시 예에서는 도 9에 도시한 바와 같이 각 출력 버퍼마다 4페이지를 가지도록 구성하였으므로, 제1논리합 게이트(361)와 제2논리합 게이트(362)는 4개의 입력 신호를 가진다. 상기 각 출력 버퍼들(410, 420)은 출력 버퍼 상태 신호들(OBUF0_STATUS, OBUF1_STATUS)을 출력하며, 상기 각 상태 정보들은 데이터가 없는 경우에 "Empty"의 신호를 출력한다. "Empty"인 경우, 상기 인터럽트 제어기(360)는 INT_TURBO_1S 또는 INT_TURBO_2S가 발생하더라도 복합 재전송 제어기(30)로 인터럽트 신호를 발생하지 않는다. 즉, 프로세서(50)로 전달되는 인터럽트 신호(INT_HOST)를 디세이블(disable)시킨다.
또한 상기 제1논리합 게이트(361)와 상기 제2논리합 게이트(362)의 출력 신호는 제1다중화기(363)로 입력되고, 제1출력 버퍼 기록 활성화 신호(OBUF0_W_EN)에 의거하여 신호가 출력된다. 또한 제2다중화기(364) 또한 상기 제1출력 버퍼와 제2출력 버퍼의 상태 신호들(OBUF0_STATUS, OBUF1_STATUS)을 수신하고, 상기 제1출력 버퍼 기록 활성화 신호(OBUF0_W_EN)에 의거하여 두 신호 중 하나의 신호를 출력 버퍼 상태 신호(OBUF_STATUS[4N+19:0])로 출력한다. 상기 제1다중화기(363)의 출력 신호와 INT_TURBO 신호를 입력으로 하는 논리곱 게이트(365)는 두 신호를 논리곱 하여 프로세서(50)로 출력하는 인터럽트 신호(INT_HOST)를 출력한다.
이를 통해 복합 재전송 제어기(30)는 상기 제1 및 제2 출력 버퍼의 상태 신호들(OBUF0_STAUS, OBUF1_STATUS)과 패킷 데이터 채널의 터보 복호 활성화 신호(PDCH_TURBO_EN)가 발생할 때마다 EP_SIZE_TURBO와 같은 값을 이 레지스터에 기록한다. 이때 기록하는 예는 하기 <표 2>와 같은 방법으로 기록할 수 있다.
CODE 000 001 010 011 100 101 110 111
EP size Empty 408 792 1560 2328 3096 3864 RVD
또한 상기 인터럽트 제어기(360)는 프로세서 인터럽트 신호(INT_HOST)와 읽기(READ) 모드로 설정된 제1 및 제2출력 버퍼들의 상태 신호들(OBUF0_STATUS, OBUF1_STATUS)을 프로세서(50)로 출력한다. 이때 인터럽트 제어기(360)는 상기 제2다중화기(364)로부터 출력되는 출력 버퍼 상태 신호(OBUF_STATUS[4N+19:0])를 함께 전달한다. 상기 출력 버퍼 상태 신호(OBUF_STATUS[4N+19:0])에서 "N"은 프로세서(50)에 수신한 패킷의 시간정보를 알려주기 위한 정보의 비트 수이며, 총 4개의 패킷을 동시에 프로세서(50)로 전송하는 것을 고려해서 4N개의 비트를 할당한 것이다. 이와 더불어 수신기에서 관측되는 상위계층이 필요로 하는 각종 파라미터를 모아서 함께 전송할 수도 있다. 예를 들어 정상적인 모드에서는 상기 파라미터들만을 전송하고 테스트 모드 혹은 관측모드에서는 수신기에서 관측되는 여러 파라미터를 모아서 상위계층에 전송할 수도 있다. 따라서 본 발명에서는 상위계층에 전달되는 파라미터를 상기 제시한 특정 파라미터로 제한하지 않는다.
따라서 프로세서(50)는 이 값을 받아서 읽기(READ) 모드로 설정된 출력 버퍼(output buffer)에 있는 데이터의 크기를 인식하고 해당되는 Page에서 설정된 크기의 데이터를 읽어온다. 상기 데이터의 크기는 정확하게 표현하면, 복호된 인코더 패킷 블록의 크기(decode EP block size), 재전송 채널 ID(ACID), 그리고 시스템 타임(SYS_TIME)이 된다.
각 페이지에 저장된 인코더 패킷의 크기는 상기 <표 2>에 도시한 코드에 의해 결정된다. 따라서 "000b"는 해당 페이지에 데이터가 하나도 없음을 의미하므로 해당 페이지를 스킵(skip)할 수 있다. 프로세서(50)는 출력 버퍼 상태 신호(OBUF_STATUS)와 각 페이지의 데이터 크기로부터 읽기 주소를 생성하여 출력 버퍼에 접근한다.
도 14는 본 발명의 바람직한 실시 예에 따라 1 슬롯 ACK/NAK DELAY에 따른 출력 버퍼 제어기에서 출력되는 신호의 타이밍도이다. 이하 도 14를 참조하여 본 발명의 1 슬롯 ACK/NAK DELAY에 따라 출력 버퍼 제어기에서 출력되는 신호의 타임을 상세히 설명한다.
도 14에 도시한 바와 같이 고속 터보 복호기(40)는 터보 디코더의 클럭(TURBO_CLK)을 시스템 클럭으로 사용하며 패킷 데이터 채널의 터보 복호 활성화 신호(PDCH_TURBO_EN)도 이 클럭을 사용한다. 복합 재전송 제어기(30)로부터 입력되는 패킷 데이터 채널의 터보 복호 활성화 신호(PDCH_TURBO_EN)는 기지국이 패킷 데이터 채널을 스케줄링 하는 것에 따라서 연속적으로 매 슬롯마다 발생할 수도 있으며 혹은 불연속적으로 발생할 수도 있다. 상기 도 14에 도시한 패킷 데이터 채 널의 터보 복호 활성화 신호(PDCH_TURBO_EN)와 고속 터보 복호기(40)의 동작완료를 나타내는 터보 복호 완료 신호(PDCH_TURBO_DONE) 사이의 관계는 전술한 도 8로부터 가능한 대표적인 예를 선택하여 도시한 것이다. 특히 극단적인 경우로 계속적으로 1.25msec 1 slot마다 새로운 서브 패킷(sub packet)이 수신되고 따라서 복합 재전송 제어기(30)가 매 1 슬롯마다 연속적인 패킷 데이터 채널의 터보 복호 활성화 신호(PDCH_TURBO_EN)를 발생시키는 경우를 도시하였다. 또한 도 14에는 2개의 버퍼가 구비된 이중 버퍼(double buffer)만을 사용하고 앞서 제시한 4개의 복호된 인코더 패킷(decoded Encoder Packet)을 모아서 전송하는 경우는 고려하지 않고 도시하였다.
고속 터보 복호기(40)의 복호 동작은 하나의 슬롯 내에서 k 번째 패킷 데이터 채널의 터보 복호 활성화 신호(PDCH_TURBO_EN(k))와 k 번째 터보 복호 완료 신호(PDCH_TURBO_DONE(k)) 사이에 이루어지며 상기 k 번째 터보 복호 완료 신호(PDCH_TURBO_DONE(k))와 연속한 k+1 번째 패킷 데이터 채널의 터보 복호 활성화 신호(PDCH_TURBO_EN(k+1)) 사이에서는 동작을 수행하지 않는다. 반면에 고속 터보 복호기(40)의 출력 버퍼의 동작은 고속 터보 복호기(40)의 복호 동작이 정지하더라도 계속해서 진행되며 최대 k 번째 패킷 데이터 채널의 터보 복호 활성화 신호(PDCH_TURBO_EN(k))가 발생한 슬롯으로부터 2 슬롯(2.5msec) 시간동안 동작이 진행될 수 있다. 즉, 이중 출력 버퍼를 사용한다. 상기 도 14에서 볼 수 있는 바와 같이 k+1 번째 인코더 패킷(EP(k+1))의 복호 결과는 k+3 번째 슬롯까지 유지된다.
고속 터보 복호기(40)는 터보 복호 시간 동안 반복 복호(iterative decoding)를 수행하므로 도 14에 도시된 바와 같이 DEC1과 DEC2를 반복적으로 수행하며 매 DEC2 결과마다 CRC를 검사하고 그 결과를 복합 재전송 제어기(30)에 보고한다. 여기서 DEC1과 DEC2는 각각 터보 복호기에서 사용되는 Component decoder 1과 component decoder 2를 의미한다. 고속 터보 복호기(40)의 반복 횟수는 수신 채널 상태와 인코더 패킷의 크기에 따라서 다르게 결정된다. 도 14에 도시된 바와 같이 제1출력 버퍼(OBUF0)(410)와 제2출력 버퍼(OBUF1)(420)의 기록 활성화는 다음과 같이 전환된다.
(1) 제1출력 버퍼(OUT_BUF0)는 k+2m 번째의 패킷 데이터 채널의 터보 복호 활성화 신호(PDCH_TURBO_EN[k+2m])가 설정되어 있을 때, 기록 활성화 신호(WRITE_ENABLE)가 출력된다. 여기서 m은 0, 1, 2, …를 가진다.
(2) 제1출력 버퍼(OUT_BUF0)는 k+2m 번째의 터보 복호 완료 신호(PDCH_TURBO_DONE[k+2m])가 설정되어 있을 때, 읽기 활성화 신호(READ_ENABLE)가 출력된다. 여기서 m은 0, 1, 2, …를 가진다.
(3) 제2출력버퍼(OUT_BUF1)는 k+2m+1 번째의 패킷 데이터 채널의 터보 복호 활성화 신호(PDCH_TURBO_EN[k+2m+1])가 설정되어 있을 때, 기록 활성화 신호(WRITE_ENABLE)가 출력된다. 여기서 m은 0, 1, 2, …를 가진다.
(4) 제2출력 버퍼(OUT_BUF0)는 k+2m+1 번째의 터보 복호 완료 신호(PDCH_TURBO_DONE[k+2m+1])가 설정되어 있을 때, 읽기 활성화 신호(READ_ENABLE)가 출력된다. 여기서 m은 0, 1, 2, …를 가진다.
상기 도 14를 참조하여 살펴보면, k 번째 패킷 데이터 채널의 터보 복호 활 성화 신호(PDCH_TURBO_EN[k])로부터 데이터 전송(Data transferring)이 완료되는 시점까지 3 슬롯에 걸쳐서 패킷 데이터 채널의 복호가 진행되는 것을 알 수 있다. 그러나 1 ACK/NAK DELAY에서 가급적 k 번째 패킷 데이터 채널의 터보 복호 활성화 신호(PDCH_TURBO_EN[k])를 복합 재전송 제어기(30)가 k 번째 변조 완료 신호(PDCH_DEMOD_DONE[k])를 설정한 후에 최대한 빨리 설정하는 것이 최적이다. 그러므로 두 신호 사이의 시간 간격이 크지 않다. 따라서 도 14에서 EP[k]의 데이터 전송을 슬롯 경계부분에서 중단하여도 전송 시간에 큰 차이가 발생하지 않는다.
도 15는 본 발명의 바람직한 실시 예에 따라 1 슬롯 ACK/NAK DELAY를 갖는 경우 고속 터보 복호기의 복호 시간과 데이터 전송 시간의 합이 2.5msec를 넘지 않도록 제한한 경우의 타이밍도이다. 이하 도 15를 참조하여 본 발명의 바람직한 실시 예에 따라 고속 터보 복호기(40)의 복호 시간과 데이터 전송 시간의 합이 2.5msec를 넘지 않도록 제한한 경우에 대하여 상세히 설명한다.
이와 같이 고속 터보 복호기(40)의 복호 시간과 데이터 전송 시간의 합이 2.5msec를 넘지 않도록 제한하는 이유는 출력 버퍼의 제어를 단순화하기 위함이다. 1 슬롯 ACK/NAK DELAY의 경우 대부분 패킷 데이터 채널의 터보 복호 활성화 신호(PDCH_TURBO_EN)를 슬롯 경계(slot boundary)에 가장 가깝게 주는 것이 가장 많은 복호(decoding) 시간을 할당하는 것이다. 그러므로 대부분 이 방식에 의해 감소되는 데이터 전송 시간은 "t_demod + t_GAP"보다 작게 된다. 상기 "t_demod" 자체가 매우 작은 값이므로 사실 큰 차이가 없기 때문이다. 따라서 1 slot ACK/NAK DELAY의 경우 패킷 데이터 채널의 복조(PDCH demodulation), 역사상(demapping), 고속 터보 복호기(40)의 복호, 데이터 전송(data transferring)을 포함하여 모든 동작이 2 슬롯 (2.5msec) 이내에 수행되도록 설계한다.
도 16 및 도 17은 본 발명의 바람직한 실시 예에 따라 2 슬롯 ACK/NAK DELAY가 주어진 경우에 고속 터보 복호기의 출력 버퍼 동작에 따른 타이밍도이다. 이하 도 16 및 도 17을 참조하여 본 발명의 바람직한 실시 예에 따라 2 슬롯 ACK/NAK DELAY가 주어진 경우에 고속 터보 복호기의 출력 버퍼 동작을 상세히 살펴본다.
도 16에 도시한 바와 같이 고속 터보 복호기(40)의 출력 버퍼는 터보 복호 클럭(TURBO_CLK)을 시스템 클럭으로 사용하며 패킷 데이터 채널의 터보 복호 활성화 신호(PDCH_TURBO_EN)도 동일 클럭을 사용한다. 도 16에 도시된 바와 같이 2 슬롯 ACK/NAK DELAY의 경우는 1 슬롯 ACK/NAK DELAY와는 달리 출력 버퍼의 읽기/기록의 전환이 일정한 시간 간격으로 규칙적이지 않다. 패킷 데이터 채널의 터보 복호 활성화 신호(PDCH_TURBO_EN)와 터보 복호 완료 신호(PDCH_TURBO_DONE)의 발생 위치에 따라서 불규칙적임을 알 수 있다. 도 16에 도시된 바와 같이 고속 터보 복호기(40)는 k 번째 인코더 패킷의 복호 수행 시 k+1 번째 패킷 데이터 채널의 터보 복호 활성화 신호(PDCH_TURBO_EN[k+1])가 발생하는 시점까지 지속할 수 있다. 그러므로 출력 버퍼의 기록/읽기의 전환 시점 역시 패킷 데이터 채널의 터보 복호 활성화 신호(PDCH_TURBO_EN)에 의해 결정된다. 또한 상기 도 16을 참조하면, k 번째 패킷 데이터 채널의 터보 복호 활성화 신호(PDCH_TURBO_EN[k])로부터 데이터 전송이 완료되는 시점까지 3 슬롯에 걸쳐서 패킷 데이터 채널의 복호 및 데이터 전송이 이루어지는 것을 알 수 있다. 상기 도 16에 도시한 바와 같이 데이터 전송 시간 은 최소 1.25msec 이상인 것을 알 수 있다.
다음으로 도 17은 데이터 전송과 고속 터보 복호기(40)의 복호 시 극단적인 예를 도시하였다. 상기 도 17에 도시한 바와 같이 k+1 번째 패킷 데이터 채널의 터보 복호 활성화 신호(PDCH_TURBO_EN[k+1])가 슬롯의 후반부 경계에서 발생하고, 더불어 k+2 번째 패킷 데이터 채널의 터보 복호 활성화 신호(PDCH_TURBO_EN[k+2])가 다음 슬롯의 후반부 경계에서 발생하는 경우 거의 3 슬롯의 구간에 걸쳐서 패킷 데이터 채널의 복호(PDCH decoding)와 데이터 전송(data transferring)이 발생할 수 있다.
도 18은 본 발명에 따라 1 슬롯 ACK/NAK DELAY와 2 슬롯 ACK/NAK DELAY 모드에서 출력 버퍼 제어 타이밍과 고속 터보 복호기의 동작들 중 가능한 여러 조합들 중 대표적인 몇 가지 경우의 타이밍을 도시한 도면이다. 이하 도 18을 참조하여 본 발명에 따라 1 슬롯 ACK/NAK DELAY와 2 슬롯 ACK/NAK DELAY 모드에서 대표적인 출력 버퍼 제어 타이밍과 고속 터보 복호기의 동작에 대하여 살펴본다.
출력 버퍼 제어기(300)는 1 슬롯 ACK/NAK DELAY와 2 슬롯 ACK/NAK DELAY를 모두 지원하므로 각각의 경우에 독립적으로 동작이 가능해야 한다. 우선 1 슬롯 ACK/NAK DELAY의 경우를 설명한다. 도 18에서 보듯이 1 슬롯 ACK/NAK DELAY의 경우에는 규칙적으로 출력 버퍼들(OBUF0 and OBUF1)의 선택과 각 출력 버퍼에서의 page선택이 운영되는 것을 알 수 있다. 더불어 프로세서(50)는 인터럽트 부담을 줄이기 위해서 4개의 복호된 인코더 패킷(decoded EP)을 모아서 매 5msec마다 전송하는 방식을 지원한다. 아래에 1 슬롯 ACK/NAK DELAY에서 주요 동작을 정리하였다.
(1) 제1출력 버퍼(OBUF0)(410)와 제2출력 버퍼(OBUF1)(420)의 전환 및 특정출력 버퍼에서 page의 전환은 한 슬롯에서 패킷 데이터 채널의 터보 복호 활성화 신호(PDCH_TURBO_EN)의 발생 위치와 무관하게 시스템 타임(SYNC_125 : 1.25msec slot SYNC)에 따라 동작하는 카운터 값에 의해 결정되는 신호인 1 슬롯 버퍼 페이지 선택 신호들(OBUF_PAGE_1S[2], OBUF_PAGE_1S[1:0])에 의해 이루어진다.
(2) 제1출력 버퍼(OBUF0)(410) 또는 제2출력 버퍼(OBUF1)(420)는 각각 4개의 Page로 구분되며 이를 구분하는 것이 상기 OBUF_PAGE_1S[1:0]이다. 또한 각 출력 버퍼에서 page 전환은 3 bits 카운터에 의해서 주기적으로 발생되는 0~3사이의 값에 의해 일정하게 발생된다.
(3) 패킷 데이터 채널의 터보 복호 활성화 신호(PDCH_TURBO_EN)가 발생하면 고속 터보 복호기(40)는 그 시간에 복합 재전송 제어기(30)로부터 할당된 출력 버퍼의 page정보에 따라서 복호된 데이터를 해당 출력 버퍼의 page에 저장한다.
(4) 복합 재전송 제어기(30)가 프로세서(50)에게 데이터 전송을 위해 전달하는 인터럽트 발생을 위해서 매 5msec마다 터보 인터럽트 신호(INT_TURBO)가 발생되며, 이 신호는 시스템 타임(SYNC_125 : 1.25msec slot SYNC)에 따라 동작하는 카운터 값에 의해 결정된다.
(5) 두개의 출력 버퍼인 제1출력 버퍼(OBUF0)(410)와 제2출력 버퍼(OBUF1)(420) 사이의 읽기/기록 모드의 전환은 터보 인터럽트 신호(INT_TURBO)에 의해 결정된다.
(6) 제1출력 버퍼(OBUF0)(410)와 제2출력 버퍼(OBUF1)(420)의 읽기/기록은 상호 반전되어 동작된다.
(7) 만일 연속적으로 4개의 인코더 패킷이 전송되는 경우에는 출력 버퍼의 page0, 1, 2, 3에 모든 데이터가 저장되며 반대로, 부분적으로 몇 개의 인코더 패킷만이 전송되고 나머지 구간에 데이터 전송이 없는 경우에는 4개의 출력 버퍼 page 중 패킷 데이터 채널의 터보 복호 활성화 신호(PDCH_TURBO_EN)가 발생된 슬롯에서만 데이터가 저장된다. 단, 터보 인터럽트 신호(INT_TURBO)에 따라서 읽기/기록 모드의 전환은 반드시 이루어져야 한다.
다음으로 2 슬롯 ACK/NAK DELAY의 경우를 설명한다. 도 18에서 보듯이 2 슬롯 ACK/NAK DELAY의 경우에는 비규칙적으로 출력 버퍼들(OBUF0 and OBUF1)의 선택과 각 출력 버퍼에서의 page 선택이 운영되는 것을 알 수 있다. 이것은 슬롯의 경계를 넘어서 고속 터보 복호기(40)에서 복호가 수행될 수 있기 때문이다. 더불어 앞서와 마찬가지로 프로세서(50)의 인터럽트 부담을 줄이기 위해서 4개의 복호된 인코더 패킷을 모아서 매 5msec 경계 근처에서 데이터를 전송하는 방식을 지원한다. 아래에 2 슬롯 ACK/NAK DELAY에서 주요 동작을 정리하였다.
(1) 제1출력 버퍼(OBUF0)(410)와 제2출력 버퍼(OBUF1)(420)의 버퍼 전환 및 특정 출력 버퍼에서 page의 전환은 한 슬롯에서 패킷 데이터 채널의 터보 복호 활성화 신호(PDCH_TURBO_EN)의 발생 위치와 터보 복호 완료 신호(PDCH_TURBO_DONE)의 발생 위치와 연관되어 발생한다. 또한 시스템 타임(SYNC_125 : 1.25msec slot SYNC)에 따라 동작하는 카운터 값에 의해 결정되는 신호인 상기 OBUF_PAGE_1S[1:0]을 고려해서 그 값이 결정된다.
(2) 제1출력 버퍼(OBUF0)(410) 또는 제2출력 버퍼(OBUF1)(420)는 각각 4개의 Page로 구분되며 이를 구분하는 것이 2 슬롯 출력 버퍼 선택 신호(OBUF_PAGE_2S[1:0])이며 이 값은 터보 복호 완료 신호(PDCH_TURBO_DONE)의 발생에 의해 갱신된다. 즉, 각 출력 버퍼에서 page 전환은 터보 인터럽트(INT_TURBO)로 clear되는 2 슬롯 출력 버퍼 선택 신호(OBUF_PAGE_2S[1:0])에서 0 page에서 시작하여 이후 발생되는 터보 복호 완료 신호(PDCH_TURBO_DONE)에 의해 up count되는 카운터 값에 의해 출력 버퍼의 page가 결정된다.
(3) 패킷 데이터 채널의 터보 복호 활성화 신호(PDCH_TURBO_EN)가 발생하면 고속 터보 복호기(40)는 그 시간에 복합 재전송 제어기(30)로부터 할당된 출력 버퍼 page정보에 따라서 복호된 데이터를 해당 출력 버퍼의 page에 저장한다. 그리고 터보 복호 완료 신호(PDCH_TURBO_DONE)가 발생하기 이전까지 출력 버퍼 page를 절대로 전환하지 못한다. 따라서 경우에 따라서는 한 page가 4 슬롯동안 지속될 수도 있다. 이는 1 슬롯 ACK/NAK DELAY와의 가장 큰 차이점이다.
(4) 복합 재전송 제어기(30)가 프로세서(50)에게 데이터 전송을 위해 전달하는 인터럽트 발생을 위해서 매 5msec근처에서 터보 인터럽트 신호(INT_TURBO)를 생성하며, 이 신호는 1 슬롯 ACK/NAK DELAY의 상기 OBUF_PAGE_1S[1:0]에서 발생되는 0 page 정보와 이 0 page에서 패킷 데이터 채널의 터보 복호 활성화 신호(PDCH_TURBO_EN)의 발생여부, 그리고 이전 4개의 슬롯에서 패킷 데이터 채널의 터보 복호 활성화 신호(PDCH_TURBO_EN)의 발생여부에 의해 결정된다.
(5) 두개의 출력 버퍼들(OBUF0 OBUF1) 사이의 읽기/기록 모드의 전환은 터보 인터럽트 신호(INT_TURBO)에 의해 결정된다.
(6) 제1출력 버퍼(OBUF0)(410)와 제2출력 버퍼(OBUF1)(420)의 읽기/기록은 상호 반전되어 동작된다.
(7) 만일 연속적으로 4개의 EP가 전송되는 경우에는 출력 버퍼의 page0, 1, 2, 3에 모든 데이터가 저장되며 반대로, 부분적으로 몇 개의 EP만이 전송되고 나머지 구간에 데이터 전송이 없는 경우에는 4개의 출력 버퍼 page 중 패킷 데이터 채널의 터보 복호 활성화 신호(PDCH_TURBO_EN)가 발생된 슬롯에서만 데이터가 저장된다. 단, 터보 인터럽트 신호(INT_TURBO)에 따라서 읽기/기록 모드의 전환은 반드시 이루어 져야 한다.
이상에서 상술한 바와 같이 2 슬롯 ACK/NAK DELAY의 경우 도 18에 도시한 것처럼 실질적으로는 제1출력 버퍼(OBUF0)(410)와 제2출력 버퍼(OBUF1)(420)의 데이터 읽기/기록 모드의 전환은 패킷 데이터 채널의 터보 복호 활성화 신호(PDCH_TURBO_EN)와 터보 복호 완료 신호(PDCH_TURBO_DONE)에 의해서 독립적으로 수행되어야 한다. 그러나 이미 이전 슬롯에서 고속 터보 복호기가 복호를 완료한 상황에서는 가급적 빠른 시간 안에 패킷 데이터 채널의 터보 복호 활성화 신호(PDCH_TURBO_EN)가 발생하는 것이 최적이 된다. 따라서 이 두 경우의 시간 차이가 매우 작으므로 읽기/기록 모드의 전환을 패킷 데이터 채널의 터보 복호 활성화 신호(PDCH_TURBO_EN)을 가지고 결정하도록 하였다.
도 19는 본 발명의 바람직한 실시 예에 따라 프로세서와 복합 재전송 제어기 및 고속 터보 복호기간의 동작 타이밍을 1 슬롯 ACK/NAK DELAY에 따른 타이밍도이 다. 이하 도 19를 참조하여 1 슬롯 ACK/NAK DELAY에 따라 프로세서와 복합 재전송 제어기 및 고속 터보 복호기간의 동작 타이밍을 상세히 설명한다.
1 슬롯 ACK/NAK DELAY의 경우에 대하여 살펴본다. 1 슬롯 ACK/ANK DELAY의 경우에는 앞서 기술한 바와 같이 기록을 위한 출력버퍼(OBUF0 or OBUF1)를 선택하기 위한 1 슬롯 출력 버퍼 기록 활성화 신호(OBUF0_W_EN_1S)와 선택된 출력 버퍼에서 page선택을 위한 신호인 상기 OBUF_PAGE_1S[1:0]가 주기적으로 복합 재전송 제어기(30)에 의해 제공된다. 또한 5msec마다 데이터 전송을 위해 1 슬롯 터보 인터럽트 신호(INT_TURBO)도 복합 재전송 제어기(30)에 의해 주기적으로 생성된다. 패킷 데이터 채널의 터보 복호 활성화 신호(PDCH_TURBO_EN)는 복합 재전송 제어기(30)에 의해 복조 완료 신호(PDCH_DEMOD_DONE)가 발생된 이후 최대한 빠른 시간 내에 발생된다. 또한 복호 완료 신호(PDCH_TURBO_DONE)는 패킷 데이터 채널의 터보 복호 활성화 신호(PDCH_TURBO_EN)가 발생된 슬롯 내에서 반드시 발생하여야 한다. 고속 터보 복호기(40)는 상기 활성화(EN)와 완료(DONE) 사이의 구간에서 복호(decoding) 동작을 수행한다. 또한 복합 재전송 제어기(30)는 제1출력 버퍼의 상태 신호(OBUF0_STAUS)와 제2출력 버퍼의 상태 신호(OBUF1_STATUS)에 패킷 데이터 채널의 터보 복호 활성화 신호(PDCH_TURBO_EN)가 발생할 때마다 인코더 패킷의 크기에 따른 터보 복호 신호(EP_SIZE_TURBO)와 같은 값을 이 레지스터에 기록한다. 단, 상기 <표 2>의 코드를 사용하여 기록한다. 5mec마다 발생되는 1 슬롯 터보 인터럽트 신호(INT_TURBO_1S)에 의해 제1 및 제2출력 버퍼(OBUF0, OBUF1)의 읽기/기록 모드의 전환이 이루어지며, 데이터 전송은 5msec 구간 동안 진행할 수 있다. 출 력 버퍼 상태(OBUF_STATUS) 정보는 도 19에 도시된 바와 같이 1 슬롯 터보 인터럽트 신호(INT_TURBO_1S)가 발생할 때 같이 복합 재전송 제어기(30)로부터 프로세서(50)로 전달되며 이후에 기록 모드로 전환된 출력 버퍼의 상태 레지스터를 모두 클리어 시킨다. 또한 매 1.25msec마다 패킷 데이터 채널의 터보 복호 활성화 신호(PDCH_TURBO_EN)의 활성 플래그(Active Flag)를 클리어 시킨다.
도 10의 설명에서 전술한 바와 같이 패킷 데이터 채널의 터보 복호 활성화 신호(PDCH_TURBO_EN)가 발생되면, 패킷 데이터 채널의 터보 복호 활성화 신호(PDCH_TURBO_EN)의 활성화 플래그는 상태가 "1"로 전환되고 슬롯의 경계에서 시스템 타임 신호(SYNC_125)에 의해 다시 클리어 된다. 만일 터보 완료 신호(PDCH_TURBO_DONE)가 설정되고, 패킷 데이터 채널의 CRC가 Bad인 경우 혹은 복합 재전송 제어기(30)가 고의적인 중지(Intentional STOP : INT_STOP)를 설정하는 경우에는 복합 재전송 제어기(30)는 현재 기록 출력 퍼버의 page에 대응되는 출력 버퍼 상태 신호(OBUF_STATUS0 (or 1))에 패킷 데이터 채널의 CRC 결과에 따라서 패킷 데이터 채널의 CRC가 BAD인 경우에 "EMPTY" (=000b)를 설정한다. 그러면 프로세서(50)는 데이터 전송 시에 이 부분의 데이터를 읽어가지 않고 건너뛸 수 있다. 만일 제1 또는 제2 출력 버퍼(OBUF0 or OBUF1)에 CRC BAD Page 이외에 다른 Page에 전혀 데이터가 없는 경우에는 프로세서 인터럽트 신호(INT_HOST) 자체가 발생하지 않는다. 또한 복합 재전송 제어기(30)가 중지 인터럽트 신호(INT_STOP)를 설정하는 경우를 고려하여 PAGE SELECTOR (2 ACK_TIME) 입력신호로 PDCH_TURBO_DONE or INT_STOP을 사용한다. 즉, 중지 인터럽트 신호(INT_STOP)가 발생하는 경우에도 CRC Bad로 인한 터보 완료 신호(PDCH_TURBO_DONE)로 간주하여 Page 전환을 실시한다. 이렇게 중지 인터럽트 신호(INT_STOP)가 발생한 페이지 정보를 유지하는 것은 중지 인터럽트 신호(INT_STOP) 이후에 CRC를 검사하고 이때 CRC Good이 발생할 수 있기 때문이다.
도 20은 본 발명의 바람직한 실시 예에 따라 프로세서와 복합 재전송 제어기 및 고속 터보 복호기간의 동작 타이밍을 2 슬롯 ACK/NAK DELAY에 따른 타이밍도이다. 이하 도 20을 참조하여 2 슬롯 ACK/NAK DELAY에 따라 프로세서와 복합 재전송 제어기 및 고속 터보 복호기간의 동작 타이밍을 상세히 설명한다.
2 슬롯 ACK/NAK DELAY의 경우에는 앞서 기술한 바와 같이 기록을 위한 출력버퍼(OBUF0 or OBUF1)를 위한 신호인 2 슬롯 제1출력버퍼 기록 활성화 신호(OBUF0_W_EN_2S)와 선택된 출력 버퍼에서 page선택을 위한 신호인 2 슬롯 출력 버퍼 페이지 신호(OBUF_PAGE_2S[1:0])가 비주기적으로 복합 재전송 제어기(30)에 의해 제공된다. 또한 5msec마다 데이터 전송을 위한 2 슬롯 터보 인터럽트 신호(INT_TURBO_2S)도 복합 재전송 제어기(30)에 의해 비주기적으로 생성된다. 패킷 데이터 채널의 터보 복호 활성화 신호(PDCH_TURBO_EN)는 복합 재전송 제어기(30)에 의해 복조 완료 신호(PDCH_DEMOD_DONE)가 발생된 이후 임의의 위치에서 발생될 수 있다. 또한 복호 완료 신호(PDCH_TURBO_DONE)는 패킷 데이터 채널의 터보 복호 활성화 신호(PDCH_TURBO_EN)가 발생된 슬롯 이후 다음 슬롯까지 지연되어 발생할 수 있다. 고속 터보 복호기(40)는 상기 활성화 신호(EN)와 완료 신호(DONE) 사이의 구간에서 복호 동작을 수행한다. 또한 복합 재전송 제어기(30) 는 제1출력 버퍼 상태 신호(OBUF0_STAUS)와 제2출력 버퍼 상태 신호(OBUF1_STATUS)에 패킷 데이터 채널의 터보 복호 활성화 신호(PDCH_TURBO_EN)가 발생할 때마다 인코더 패킷의 크기에 따른 터보 복호 신호(EP_SIZE_TURBO)와 같은 값을 이 레지스터에 기록한다. 이때 상기 레지스터에 기록은 상기 <표 2>의 코드를 사용하여 기록한다. 5mec마다 발생되는 2 슬롯에 따른 터보 인터럽트 신호(INT_TURBO_2S)에 의해 제1출력 버퍼(OBUF0)(410)와 제2출력 버퍼(OBUF1)(420)의 읽기/기록 모드 전환이 이루어지며 데이터 전송은 5msec 구간 동안 진행할 수 있다.
출력 버퍼 상태(OBUF_STATUS) 정보는 도 20에서 보듯이 2 슬롯 터보 인터럽트 신호(INT_TURBO_2S)가 발생할 때 같이 복합 재전송 제어기(30)로부터 프로세서(50)로 전달되며 이후에 기록 모드로 전환된 출력 버퍼의 상태 레지스터를 모두 클리어 시킨다. 또한 매 1.25msec마다 패킷 데이터 채널의 터보 복호 활성화 신호(PDCH_TURBO_EN)의 활성 플래그(Active Flag)를 클리어 시킨다.
도 10에서 전술한 바와 같이 하나의 슬롯 안에서 패킷 데이터 채널의 터보 복호 활성화 신호(PDCH_TURBO_EN)가 발생되면 패킷 데이터 채널의 터보 복호 활성화 신호(PDCH_TURBO_EN)의 활성화 플래그(Active Flag)는 상태가 "1"로 전환되고 슬롯의 경계에서 시스템 타임(SYNC_125)에 의해 다시 클리어 된다. 만일 터보 복호 완료 신호(PDCH_TURBO_DONE)가 설정되고, 패킷 데이터 채널의 CRC가 Bad인 경우 혹은 복합 재전송 제어기(30)가 고의적인 중지(Intentional STOP : INT_STOP)를 설정하는 경우에는 복합 재전송 제어기(30)는 현재 기록 출력 퍼버의 page에 대응되는 출력 버퍼 상태(OBUF_STATUS0 or 1)에 패킷 데이터 채널의 CRC의 결과에 따라서 패 킷 데이터 채널의 CRC가 BAD인 경우에 "EMPTY" (=000b)를 설정한다. 그러면 프로세서(50)는 데이터 전송 시에 이 부분의 데이터를 읽어가지 않고 건너뛸 수 있다. 만일 제1출력 버퍼(OBUF0)(410) 또는 제2출력 버퍼(OBUF1)(420)에 CRC BAD Page 이외에 다른 Page에 전혀 데이터가 없는 경우에는 프로세서 인터럽트 신호(INT_HOST) 자체가 발생하지 않는다. 또한 복합 재전송 제어기(30)가 중지 인터럽트 신호(INT_STOP)를 설정하는 경우를 고려하여 PAGE SELECTOR (2 ACK_TIME) 입력신호로 터보 복호 완료 신호(PDCH_TURBO_DONE) 또는 중지 인터럽트 신호(INT_STOP)를 사용한다. 즉, 중지 인터럽트 신호(INT_STOP)가 발생하는 경우에도 CRC Bad에 따른 터보 완료 신호(PDCH_TURBO_DONE)로 간주하여 Page 전환을 실시한다. 이렇게 중지 인터럽트 신호(INT_STOP)가 발생한 페이지 정보를 유지하는 것은 중지 인터럽트 신호(INT_STOP) 이후에 CRC를 검사하고 이때 CRC Good이 발생할 수 있기 때문이다. 도 20에서 보듯이 OBUFO_PAGE_2S[1:0]은 OBUF0_PAGE_1S[1:0]과는 달리 슬롯의 경계를 넘어서 전환되지 않고 유지될 수 있으며 최대 4 슬롯 구간 동안 동일한 값으로 유지될 수 있다.
도 20에 도시한 바와 같이 2 슬롯 터보 인터럽트 신호(INT_TURBO_2S)의 발생은 첫 번째 슬롯의 경우처럼 상기 OBUF_PAGE_1S[1:0]에 의해 생성되는 0 Page에서 패킷 데이터 채널의 터보 복호 활성화 신호(PDCH_TURBO_EN)가 발생하는 경우 이외에도 5번째 슬롯의 예처럼 패킷 데이터 채널의 터보 복호 활성화 신호(PDCH_TURBO_EN)가 발생하지 않더라도 현재 복합 재전송 제어기(30)가 관측하는 TURBO_EN_POS[3:0]이 패킷 데이터 채널의 터보 복호 활성화 신호(PDCH_TURBO_EN)의 임계값 M을 넘는 경우 강제적으로 2 슬롯 터보 인터럽트 신호(INT_TURBO_2S)를 발생시킨다. 이는 5msec마다 제1출력 버퍼(OBUF0)(410)와 제2출력 버퍼(OBUF1)(420)를 전환해야 하기 때문이다. 물론 이전 4개의 슬롯에 복호된 인코더 패킷이 하나도 없는 경우에는 상기 도 10에서 설명한 인터럽트 제어기(360)에 의해 2 슬롯 터보 인터럽트 신호(INT_TURBO_2S)가 디세이블 되어 프로세서(50)에는 실질적으로 인터럽트가 발생되지 않는다.
도 21은 본 발명의 바람직한 실시 예에 따라 출력 버퍼 제어기에서 수행되는 전체 제어 흐름도이다. 이하 도 21을 참조하여 본 발명에 따른 출력 버퍼 제어기에서 수행되는 제어 흐름을 상세히 설명한다.
먼저 출력 버퍼 제어기(300)의 초기화 동작에 대하여 살펴본다. 출력 버퍼 제어기(300)는 500단계에서 초기화 상태를 수행한다. 상기 초기화 상태는 출력 버퍼 제어기(300)의 파라미터 초기화 및 출력 버퍼 초기화, 그리고 카운터의 초기 값을 "0"로 설정하고, 카운터의 최대 값을 미리 설정된 소정의 값 CM으로 설정한다. 여기서 CM은 설계자에 의해 결정되는 임의의 상수를 의미한다. 상기와 같은 초기화 동작은 어드레스 생성기의 파라미터들을 초기화하는 과정이다. 그런 후 출력 버퍼 제어기(300)는 502단계로 진행하여 ACK_DELAY가 1 슬롯인가를 검사한다. 상기 검사결과 ACK_DELAY가 1 슬롯인 경우 504단계로 진행하고, 그렇지 않은 경우 즉, 2 슬롯 ACK_DELAY인 경우 600단계로 진행한다. 상기 출력 버퍼 제어기(300)는 504단계로 진행하면, 1 슬롯의 ACK_DELAY에 따른 출력 버퍼 어드레스 발생기를 선택하고, 602단계로 진행한다. 상기한 바와 같이 상기 출력 버퍼 제어기(300)에서 1 슬롯 또 는 2 슬롯 ACK_DELAY에 따른 설정을 하는 이유는 1xEV-DV와 같은 시스템은 가변 복호 시간이 주어지기 때문이다. 따라서 시스템에서 제공하는 ACK_DELAY에 따라 출력버퍼 어드레스 생성신호의 발생기가 다르므로 이를 사전에 결정해야만 한다.
이와 같은 과정을 통해 초기화가 종료되면, 출력 버퍼 제어기(300)는 이후 600단계 내지 628단계의 과정을 수행한다. 그러면 출력 버퍼 제어기(300)에서 수행되는 600단계 내지 628단계의 과정에 대하여 상세히 설명한다.
상기 출력 버퍼 제어기(300)는 600단계로 진행하면, 2 슬롯의 ACK_DELAY에 따른 출력 버퍼 어드레스 발생기를 선택한 후 602단계로 진행한다. 이와 같이 1 슬롯 또는 2 슬롯 ACK_DELAY에 따른 출력 버퍼 어드레스 발생기를 선택한 후 상기 출력 버퍼 제어기(300)는 602단계에서 카운트 값을 1 증가시킨 후 604단계로 진행한다. 상기 출력 버퍼 제어기(300)는 604단계에서 새로운 패킷이 수신되어 채널 복호가 필요한가를 검사한다. 만일 수신기로부터 현재 슬롯경계 시작점에서 패킷이 도착하지 않으면 다음 슬롯경계까지 계속 기다려야 한다. 특히 ACK_DELAY 2 슬롯의 경우는 하나의 슬롯에서 최대 두 번의 채널 복호가 수행될 수 있으므로 슬롯경계에 도착하기 전에 또 다른 패킷이 채널 복호를 위해서 수신될 수 있다. 그러므로 이를 제어하기 위해 슬롯경계인가를 검사하여 수신되지 않은 경우는 수신을 대기하는 과정을 수행해야만 한다. 상기 604단계의 검사결과 새로운 패킷이 수신된 경우 608단계로 진행하고, 그렇지 않은 경우 606단계로 진행하여 현재의 타이밍이 다음 슬롯의 경계 지역인가를 검사한다. 상기 출력 버퍼 제어기(300)는 606단계의 검사결과 다음 슬롯의 경계 지역인 경우 602단계로 진행하여, 상기 카운트 값을 1 증가시킨 후 다시 604단계를 수행한다. 그러나 상기 606단계의 검사결과 다음 슬롯의 경계 지역이 아닌 경우 출력 버퍼 제어기(300)는 604단계를 수행한다.
상기 출력 버퍼 제어기(300)는 상기 604단계에서 608단계로 진행하면, 출력 버퍼 결정 파라미터를 계산한다. 이때 출력 버퍼 결정 파라미터는 고속 터보 복호기(40)와 출력 버퍼 제어기(300)에서 사용될 파라미터 값이 된다. 상기 파라미터 계산이 완료되면 상기 출력 버퍼 제어기(300)는 610단계로 진행하여 고속 터보 복호기(40)로 출력 버퍼 결정 파라미터를 전송하며, 동시에 프로세서(50)로 전달하기 위한 수신 데이터에 관련된 정보를 저장한다. 그런 후 출력 버퍼 제어기(300)는 612단계로 진행하여 고속 터보 복호기(40)로 복호 명령을 전달한다. 즉, 수신기로부터 기다리던 패킷이 도착하면 이를 복호하기 위한 정보와 출력버퍼의 저장위치에 대한 정보 즉, 이중화된 출력 버퍼들 중 하나를 선택하고, 그 선택된 출력 버퍼의 Page를 선택하며, 읽기/기록 모드 설정에 관한 정보를 사전에 고속 터보 복호기(40)로 전달하거나 혹은 복호 시작신호와 함께 전달해야만 한다. 이를 통해 고속 터보 복호기(40)는 터보 복호 과정을 수행한다. 그리고 상기 출력 버퍼 제어기(300)는 614단계에서 상기 고속 터보 복호기(40)의 터보 복호가 완료되기를 대기한다. 즉, 출력 버퍼 제어기(300)는 614단계의 터보 복호 완료를 대기하며, 615단계로 진행하여 터보 복호가 완료되었는가를 검사한다. 상기 검사결과 터보 복호가 완료된 경우 618단계로 진행하고, 그렇지 않은 경우 614단계를 계속 수행한다.
상기 출력 버퍼 제어기(300)는 616단계로 진행하면, 출력 버퍼의 저장 시간이 초과되었는가를 검사한다. 상기 616단계의 검사결과 출력 버퍼의 저장 시간이 초과된 경우 618단계로 진행하고, 초과되지 않은 경우 606단계로 진행한다. 패킷 데이터 채널의 복호 완료 신호(PDCH_TURBO_DONE)를 수신한 출력 버퍼 제어기(300)는 출력버퍼의 데이터 저장시간이 최대 저장시간을 초과하였는가를 검사한다. 이때 만일 그 동안 누적된 데이터를 프로세서(50)로 이동해야 하는 때이면 이를 위해 출력버퍼(400)에 저장된 패킷들의 정보와 출력버퍼의 저장위치에 대한 정보를 프로세서(50)로 사전에 보내거나 혹은 인터럽트와 함께 전달한다. 이러한 최대 저장시간의 검사는 CNT와 CNT_MAX의 비교를 통해서 결정하며, 사전에 최대 저장시간을 결정하여 이를 CNT_MAX로 설정할 수 있다.
상기 출력 버퍼 제어기(300)는 618단계로 진행하면, 프로세서(50)로 데이터 전송을 위한 인터럽트 신호를 발생한다. 그런 후 620단계로 진행하면, 프로세서(50)는 상기 출력 버퍼 제어기(300)가 저장한 출력 버퍼 관련 파라미터를 독취하여 가져가며, 동시에 출력 버퍼(400)와 접속을 수행한다. 이때 상기 출력 버퍼 제어기(300)는 프로세서(50)의 접속을 위해 대기상태를 유지한다. 또한 622단계에서 프로세서(50)는 상기 접속한 출력 버퍼(400)에 저장된 복호된 인코더 패킷의 데이터를 독취하여 가져간다. 이때에도 상기 출력 버퍼 제어기(300)는 대기상태를 유지한다. 그러면서 상기 출력 버퍼 제어기(300)는 624단계로 진행하여 출력 버퍼(400)로부터 프로세서(50)로의 데이터 전송이 완료되는가를 검사한다. 상기 검사결과 출력 버퍼(400)로부터 프로세서(50)로의 데이터 전송이 완료되면 626단계로 진행하고, 그렇지 않은 경우 상기 프로세서(50)가 데이터를 가져가는 동안 대기상태를 유지한다. 상기 도 21에서는 이해의 편의를 돕기 위해 620단계와 622단계에서 프로세서(50)의 동작을 각각의 단계로 구성하여 표시하였다. 그러나 실제로 출력 버퍼 제어기(300)는 대기상태를 유지하며, 이러한 대기상태에 동작이 이루어지는 것의 설명을 돕기 위해 표시한 것이다.
상기 출력 버퍼 제어기(300)는 624단계에서 626단계로 진행하면, 읽기 출력 버퍼와 관련된 파라미터를 초기화하고, 상기 출력 버퍼 제어기(300)에서 프로세서(50)로 전달한 파라미터들을 초기화 한 후 인터럽트 신호를 초기화한다. 이러한 동작이 완료되면, 출력 버퍼 제어기(300)는 628단계로 진행하여 카운터 값을 "0"로 설정한 후 606단계로 진행한다.
상술한 과정을 통해 출력 버퍼 제어기(300)는 복호된 데이터의 저장 및 저장된 데이터를 프로세서(50)로 전달할 수 있다.
도 22는 본 발명에 따른 출력 버퍼 제어기를 포함하는 단말의 블록 구성도이다. 이하 도 22를 참조하여 본 발명에 따른 출력 버퍼 제어기(300)를 포함하는 단말의 블록 구성 및 그 동작에 대하여 상세히 설명한다.
기지국의 송신기로부터 전송되는 무선(RF : Radio Frequency) 신호는 단말의 안테나(Antenna)를 통해 수신하여 무선부(701)로 입력된다. 상기 무선부(701)는 안테나로부터 입력된 무선 신호를 중간 주파(IF) 처리를 수행한 후 기저 대역 신호(Baseband signal)로 변환하여 출력한다. 상기 기저대역 신호는 기저대역아날로그처리기(BBA : Baseband Analog Processor)(703)를 거쳐 아날로그신호에서 디지털신호로 변환된다.
상기 변환된 디지털 신호가 단말 모뎀(710)으로 입력된다. 상기 변환된 디지털 신호는 모뎀(710)의 기저대역 인터페이스(711)로 입력된다. 상기 기저대역 인터페이스(711)는 트래픽 데이터와 제어 데이터를 분리하여 출력한다. 상기 분리된 트래픽 데이터는 입력 버퍼(713)의 소정 영역에 저장된다. 또한 상기 분리된 제어 데이터는 상기 출력 버퍼 제어기(300)로 입력된다. 상기 출력 버퍼 제어기(300)로 입력된 제어 정보들은 출력 버퍼 제어기가 동작하기 위한 기본적인 데이터로 사용된다.
또한 상기 입력 버퍼(713)에 저장된 데이터는 터보 복호기(40)가 터보 복호를 수행하기 전에 터보 복호기(40)로 입력된다. 이에 따라 출력 버퍼 제어기(300)는 터보 복호를 수행하기 전에 터보 복호기(40)로 복호된 데이터가 저장되어야 할 쓰기 주소와 관련된 정보를 출력한다. 이에 따라 터보 복호기(40)는 복호가 종료되면, 상기 출력 버퍼 제어기(300)에 의해 미리 정해진 출력 버퍼(400)에 복호된 데이터를 저장한다. 또한 터보 복호기(40)는 복호 종료 신호 및 복호 결과에 대한 정보를 상기 출력 버퍼 제어기(300)로 출력한다.
상기 출력 버퍼 제어기(300)는 일정 시간 동안 상기 터보 복호기(40)로부터 수신된 복호 종료 신호 및 복호 결과에 대한 정보에 근거하여 정해진 인터럽트 발생 조건이 충족되었는지를 검사한다. 상기 검사결과 상기 조건이 충족된 경우에 한해 호스트로 하여금 출력버퍼(400)의 데이터를 읽어가도록 지시하는 인터럽트를 발생시키며 동시에 출력 버퍼(400)의 데이터를 가져오기 위한 읽기 주소 관련 정보를 호스트로 출력한다.
상기 인터럽트 및 상기 읽기 주소 관련 정보를 받은 호스트는 상기 읽기 주 소 관련 정보에 근거하여 출력 버퍼(400)의 읽기 주소를 계산한 후, 출력 버퍼(400)의 상기 읽기 주소에 저장되어 있는 복호 데이터를 읽어온다.
상술한 바와 같이 구성함으로써 복합 재전송 방식의 이동통신 시스템에서 1 슬롯 또는 2 슬롯의 구조에 관계없이 복호된 데이터를 프로세서에 부하를 가중시키지 않으면서 전달할 수 있는 이점이 있다. 또한 고속 터보 복호기의 복호 시간을 확보 할 수 있으며, 복합 재전송에 따라 재전송 패킷 데이터의 불연속성으로 인하여 잘못된 오류 검출을 방지할 수 있고, 빠른 응답이 가능한 이점이 있다.

Claims (26)

  1. 이동통신 시스템에서 패킷 데이터를 수신하여 복호하고, 상기 복호된 패킷 데이터를 상위 계층으로 전달하기 위한 장치에 있어서,
    상기 패킷 데이터를 복호하는 터보 복호기와,
    상기 복호된 패킷 데이터를 저장하며, 상기 상위 계층으로부터 상기 저장된 패킷 데이터를 독취 요구 시 데이터를 출력하는 버퍼와,
    상기 복호기로부터 복호 완료 신호를 수신하고, 상기 버퍼에 저장된 패킷 데이터의 독취를 위한 인터럽트 신호 및 독취 주소를 발생하는 버퍼 제어기와,
    상기 버퍼 제어기로부터 인터럽트 신호 수신 시 상기 수신된 독취 주소에 따라 상기 버퍼에 저장된 데이터를 독취하는 프로세서를 포함함을 특징으로 하는 상기 장치.
  2. 제1항에 있어서,
    상기 버퍼는;
    복호된 데이터를 저장하기 위해 이중화되어 구성되며,
    상기 이중화된 각 버퍼는 일정 크기를 갖는 몇 개의 영역으로 나누어 복호된 데이터를 상기 구분된 영역에 저장함을 특징으로 하는 상기 장치.
  3. 제2항에 있어서, 상기 독취 주소는,
    상기 복호된 데이터가 저장되는 상기 버퍼의 영역 정보와 주소 정보를 포함함을 특징으로 하는 상기 장치.
  4. 제1항에 있어서, 상기 버퍼 제어기는,
    한 슬롯의 지연 응답 방식에 따라 상기 이중화된 버퍼들 중 하나를 선택하고, 상기 선택된 버퍼의 소정 페이지를 결정하는 페이지 버퍼 선택기와,
    상기 시스템 타임 신호와 복호 클럭을 수신하여 하나의 슬롯 안에서 임의로 설정 가능한 정지 위치 신호를 발생하는 정지 위치 선택기와,
    상기 수신기의 시스템 타임에 따라 클리어 되며, 상기 패킷 데이터의 터보 복호 활성화 신호에 따른 플래그를 출력하는 플래그 출력기와,
    상기 플래그 출력기의 신호와 상기 정지 위치 선택기의 출력 신호 및 터보 복호 활성화 신호를 수신하고, 두 슬롯의 지연 응답 방식에 따라 상기 이중화된 버퍼들 중 하나를 선택하는 버퍼 선택기와,
    두 슬롯의 지연 응답 방식에 따라 상기 선택된 버퍼의 페이지를 선택하는 페이지 선택기와,
    상기 페이지 버퍼 선택기와, 상기 버퍼 선택기와, 상기 페이지 선택기의 신호 및 상기 이중화된 버퍼들로부터 수신되는 버퍼들의 상태 신호를 수신하여 인터럽트 신호를 발생하는 인터럽트 제어기를 포함함을 특징으로 하는 상기 장치.
  5. 제1항에 있어서, 상기 버퍼 제어기는,
    물리계층에 위치하는 복합 재전송 제어기의 내부에 포함됨을 특징으로 하는 상기 장치.
  6. 제1항에 있어서, 상기 복호된 패킷 데이터의 정보는,
    상기 복호된 데이터의 오류 정보와 상기 복호기의 상태 정보 및 복호 완료 정보 중 적어도 하나를 포함함을 특징으로 하는 상기 장치.
  7. 제1항에 있어서, 상기 버퍼 제어기는,
    시스템 타임 신호를 수신하여 ACK/NACK 지연 응답 방식을 결정하고, 결정된 지연 응답 방식에 따라 상기 버퍼의 이중화된 버퍼들 중 하나를 선택함을 특징으로 하는 상기 장치.
  8. 제1항에 있어서, 상기 버퍼 제어기는,
    상기 버퍼에 복호된 데이터가 있는지 여부를 검사하고, 복호된 데이터가 없을 시, 상기 인터럽트 신호를 발생하지 않음을 특징으로 하는 상기 장치.
  9. 제1항에 있어서, 상기 버퍼 제어기는,
    적어도 2개 이상의 패킷 데이터 복호 완료 신호를 수신하였을 때, 상기 독취를 위한 인터럽트 신호 및 독취 주소를 발생함을 특징으로 하는 상기 장치.
  10. 제1항에 있어서, 상기 버퍼 제어기는,
    5msec마다 상기 인터럽트 신호를 발생함을 특징으로 하는 상기 장치.
  11. 제1항에 있어서, 상기 버퍼 제어기는,
    프로세스 부하정도에 따라 인터럽트 신호를 발생함을 특징으로 하는 상기 장치.
  12. 제1항에 있어서, 상기 터보 복호기는,
    복호가 완료되면 복호 완료된 데이터와 상기 복호 완료된 데이터를 기록할 버퍼 주소 신호를 상기 버퍼로 출력함을 특징으로 하는 상기 장치.
  13. 순방향으로 고속 패킷 데이터를 송신하는 이동통신 시스템에서 상기 패킷 데이터를 수신하여 복호하는 복호기를 구비하는 장치에서 상기 복호된 데이터를 상위 계층으로 전달하기 위한 방법에 있어서,
    상기 상위 계층으로 전송하기 위한 제어수단에서 상기 복호기로부터 복호된 데이터 정보 및 버퍼 정보를 수신하는 과정과,
    상기 제어 수단에서 미리 설정된 시간이 경과할때마다 상기 복호된 데이터를 상기 상위 계층으로 전달하기 위한 인터럽트 신호 및 버퍼 정보를 발생하는 과정과,
    상기 인터럽트 신호와 버퍼 정보에 포함된 읽기 주소에 근거하여 상기 버퍼에서 상기 상위계층으로 상기 복호된 데이터를 전송하는 과정을 포함함을 특징으로 하는 상기 방법.
  14. 제13항에 있어서,
    상기 버퍼에 저장된 복호 데이터 독취정보를 발생하는 과정에 있어서,
    시스템 타임 신호를 수신하여 ACK/NACK 지연 응답 방식을 결정하는 과정과,
    상기 결정된 지연 응답 방식에 따라 상기 버퍼의 이중화된 버퍼들 중 하나를 선택함을 과정을 포함함을 특징으로 하는 상기 방법.
  15. 제13항에 있어서,
    상기 복호기에서 상기 고속 패킷 데이터의 복호가 완료되면, 복호 완료신호를 상기 제어 수단으로 전송하는 과정을 더 포함함을 특징으로 하는 상기 방법.
  16. 제13항에 있어서, 상기 복호된 데이터 정보는,
    상기 복호된 데이터의 오류 정보와 상기 복호기의 상태 정보 및 복호 완료 정보 중 적어도 하나를 포함함을 특징으로 하는 상기 방법.
  17. 제13항에 있어서, 상기 미리 결정된 시간은,
    5msec임을 특징으로 하는 상기 방법.
  18. 제13항에 있어서,
    상기 미리 설정된 시간동안 상기 버퍼에 복호된 데이터가 없을 시, 상기 인터럽트 신호를 발생하지 않음을 특징으로 하는 상기 방법.
  19. 순방향으로 고속 패킷 데이터를 송신하는 이동통신 시스템에서 상기 패킷 데이터를 수신하여 복호하는 복호기를 구비하는 장치에서 상기 복호된 데이터를 상위 계층으로 전달하기 위한 방법에 있어서,
    상기 복호기에서 복호 데이터를 버퍼에 저장하는 과정과,
    상기 복호기에서 복호된 데이터가 미리 설정된 개수만큼 복호 완료되어 상기 버퍼에 저장된 경우, 상기 상위 계층으로 전송하기 위한 제어수단에서 상기 복호된 데이터를 상기 상위 계층으로 전달하기 위한 인터럽트 신호 및 버퍼 정보를 발생하는 과정과,
    상기 인터럽트 신호와 발생된 상기 버퍼 정보에 포함된 주소에 근거하여 상기 상위 계층으로 상기 복호된 데이터를 전송하는 과정을 포함함을 특징으로 하는 상기 방법.
  20. 제19항에 있어서, 상기 버퍼 정보는,
    상기 복호된 데이터가 저장되는 상기 버퍼의 영역 정보와 주소 정보를 포함함을 특징으로 하는 상기 방법.
  21. 제19항에 있어서,
    미리 결정된 시간 내에 상기 패킷 데이터 채널로 패킷 데이터가 수신되지 않을 경우 인터럽트 신호를 발생하지 않음을 특징으로 하는 상기 방법.
  22. 제21항에 있어서, 상기 미리 결정된 시간은,
    5msec임을 특징으로 하는 상기 방법.
  23. 제19항에 있어서, 상기 미리 결정된 개수는,
    적어도 두 패킷 이상임을 특징으로 함을 특징으로 하는 상기 방법.
  24. 이동통신 시스템에서 고속 패킷 데이터를 수신하여 복호하고, 상기 복호된 패킷 데이터를 상위 계층으로 전달하기 위한 장치에 있어서,
    기지국의 송신기로부터 무선 신호로 전송되는 고속 부호화 패킷을 수신하는 안테나와,
    상기 안테나로부터 수신된 무선 신호의 고속 부호화 패킷을 기저대역으로 변환하는 무선부와,
    상기 무선부로부터 출력된 아날로그 신호를 디지털 신호로 변환하는 아날로그 디지털 변환부와,
    상기 디지털 신호로 변환된 고속 패킷 데이터를 복호하는 터보 복호기와,
    상기 복호된 패킷 데이터를 저장하며, 독취 요구 시 데이터를 출력하기 위한 버퍼와,
    상기 복호기로부터 복호완료 신호를 수신하고, 상기 버퍼에 저장된 데이터의 독취를 위한 인터럽트 신호 및 독취 주소를 발생하는 버퍼 제어기와,
    상기 버퍼 제어기로부터 인터럽트 신호 수신 시 상기 수신된 독취 주소에 따라 상기 버퍼에 저장된 데이터를 독취하는 프로세서를 포함함을 특징으로 하는 상기 장치.
  25. 제24항에 있어서,
    상기 아나로그 디지털 변환부의 신호를 수신하여 제어 신호와 고속 패킷 데이터를 분리하여 출력하는 기저대역 인터페이스와,
    상기 기저대역 인터페이스로부터 출력되는 고속 패킷 데이터를 복호 전에 임시 저장하는 입력 버퍼를 더 포함함을 특징으로 하는 상기 장치.
  26. 고속 패킷 데이터를 전송하는 이동통신 시스템의 단말기에서 상기 고속 패킷 데이터를 수신하여 복호하고, 상기 복호된 패킷 데이터를 상위 계층으로 전달하기 위한 방법에 있어서,
    기지국의 송신기로부터 무선 신호로 전송되는 고속 부호화 패킷을 수신하는 과정과,
    상기 수신된 무선 신호의 고속 부호화 패킷을 기저대역으로 변환하는 과정과,
    상기 기저대역으로 아날로그 신호를 디지털 신호로 변환하는 과정과,
    상기 디지털 신호로 변환된 고속 패킷 데이터를 복호하고 이를 저장하는 과정과,
    적어도 2회 이상의 복호가 완료될 시, 상기 저장된 데이터의 독취를 위한 인터럽트 신호 및 독취 주소를 발생하는 과정과,
    상기 인터럽트 신호에 응답하여 상기 독취 주소에 저장된 상기 복호 데이터를 독취하는 과정을 포함함을 특징으로 하는 상기 방법.
KR1020040001005A 2003-01-07 2004-01-07 복합 재전송 방식의 이동통신 시스템에서 출력 버퍼 제어장치 및 방법 KR100663419B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20030000894 2003-01-07
KR1020030000894 2003-01-07

Publications (2)

Publication Number Publication Date
KR20040063834A KR20040063834A (ko) 2004-07-14
KR100663419B1 true KR100663419B1 (ko) 2007-01-02

Family

ID=36635848

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040001005A KR100663419B1 (ko) 2003-01-07 2004-01-07 복합 재전송 방식의 이동통신 시스템에서 출력 버퍼 제어장치 및 방법

Country Status (8)

Country Link
US (1) US7499417B2 (ko)
EP (1) EP1588505B1 (ko)
JP (1) JP4195484B2 (ko)
KR (1) KR100663419B1 (ko)
CN (1) CN1723631B (ko)
AU (1) AU2004203711B2 (ko)
CA (1) CA2507483C (ko)
WO (1) WO2004062133A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101023213B1 (ko) * 2008-12-26 2011-03-18 주식회사 포스코 휴대 인터넷 시스템에서 통합 자동 재전송 요청 방법 및 장치

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4622263B2 (ja) * 2004-02-27 2011-02-02 富士通株式会社 送信装置、受信装置、再送制御方法
US7290195B2 (en) * 2004-03-05 2007-10-30 Microsoft Corporation Adaptive acknowledgment delay
EP2787673B1 (en) * 2004-04-01 2018-03-21 Optis Wireless Technology, LLC Interference limitation for retransmissions
US7751305B2 (en) * 2004-06-25 2010-07-06 Samsung Electronics Co., Ltd. Method for transmitting and receiving broadcast service data in an OFDMA wireless communication system
US7724858B2 (en) * 2004-11-29 2010-05-25 Intel Corporation Techniques to manage latency for multiple receivers
US7580385B2 (en) 2005-01-31 2009-08-25 Alcatel-Lucent Usa Inc. Integrated base stations and a method of transmitting data units in a communications system for mobile devices
US8693540B2 (en) 2005-03-10 2014-04-08 Qualcomm Incorporated Method and apparatus of temporal error concealment for P-frame
BRPI0607627A2 (pt) 2005-03-10 2009-09-22 Qualcomm Inc arquitetura de decodificador para gerenciamento otimizado de erro em multimìdia de fluxo contìnuo
US7925955B2 (en) * 2005-03-10 2011-04-12 Qualcomm Incorporated Transmit driver in communication system
US7720017B2 (en) * 2005-03-11 2010-05-18 Qualcomm Incorporated Parallel turbo decoders with multiplexed output
US7684779B2 (en) * 2005-05-31 2010-03-23 Broadcom Corporation Wireless terminal baseband processor high speed turbo decoding module
US7567515B2 (en) * 2005-11-04 2009-07-28 Via Telecom, Inc. Inter-layer communication of receipt confirmation for releasing retransmission buffer contents
KR100976732B1 (ko) * 2005-12-01 2010-08-18 삼성전자주식회사 다중 홉 방식의 네트워크에서 중계국을 이용한 재전송 장치및 방법
JP4648833B2 (ja) * 2005-12-28 2011-03-09 富士通株式会社 帯域管理装置
US7827459B1 (en) * 2006-01-10 2010-11-02 University Of Maryland, College Park Communications protocol
KR100913904B1 (ko) * 2006-04-14 2009-08-26 삼성전자주식회사 이동통신 시스템에서 자동 재전송 요구를 수행하는 방법 및장치
US8218518B2 (en) * 2006-06-09 2012-07-10 Samsung Electronics Co., Ltd. Interleaver interface for a software-defined radio system
KR100846345B1 (ko) * 2006-06-29 2008-07-15 삼성전자주식회사 광대역무선접속 통신시스템에서 하이브리드 에이알큐메모리 제어 장치 및 방법
CN103929228B (zh) * 2006-10-27 2018-09-28 富士通株式会社 无线通信系统及无线通信方法
US7978635B2 (en) * 2007-03-21 2011-07-12 Qualcomm Incorporated H-ARQ acknowledgment detection validation by re-decoding
CN101034961B (zh) * 2007-04-11 2010-05-26 重庆重邮信科通信技术有限公司 多进程harq技术ir缓存的管理方法及装置
US20080270866A1 (en) * 2007-04-26 2008-10-30 Infineon Technologies Ag Transmission with automatic repeat request process
KR100932273B1 (ko) * 2007-12-11 2009-12-16 한국전자통신연구원 단말 모뎀 제어 장치 및 방법
WO2009099370A1 (en) * 2008-02-04 2009-08-13 Telefonaktiebolaget L M Ericsson (Publ) Method and arrangement in a telecommunication system in which an acknowledgment message is fed back for a bundle of frames
CA2734762C (en) 2008-08-19 2015-07-14 Telefonaktiebolaget L M Ericsson (Publ) Harq process continuation after cqi-only report
US8687619B2 (en) * 2008-11-04 2014-04-01 Telefonaktiebolaget Lm Ericsson (Publ) System and method of downlinking data to an unsynchronized user equipment in a telecommunications network
ATE547918T1 (de) 2008-11-07 2012-03-15 Siemens Ag Verfahren zur datenübertragung in einem lokalen netzwerk
US8693447B2 (en) * 2010-03-07 2014-04-08 Telefonaktiebolaget L M Ericsson (Publ) Processing resource optimization in communication systems
US8665895B2 (en) * 2010-12-30 2014-03-04 Broadcom Corporation Advanced and dynamic physical layer device capabilities utilizing a link interruption signal
US9444856B2 (en) * 2013-09-25 2016-09-13 Ericsson Ab System and method for managing adjacent channels in an adaptive streaming environment
US20150089073A1 (en) 2013-09-25 2015-03-26 Ericsson Television Inc System and method for effectuating fast channel change in an adpative streaming environment
US9130595B1 (en) * 2013-11-07 2015-09-08 The United States Of America As Represented By The Secretary Of The Navy System and method for acceleration effect correction using turbo-encoded data with cyclic redundancy check
US9819454B2 (en) 2014-12-11 2017-11-14 Nxp Usa, Inc. Wireless communication apparatus and method for HARQ buffer management
BR112019005363A2 (pt) 2016-09-30 2019-06-18 Ericsson Telefon Ab L M nó para uma rede de comunicação por rádio, método para operar um nó, programa de computador arranjado para ser executado em um nó, e, memória de programa de computador
TWI680651B (zh) * 2018-01-03 2019-12-21 立積電子股份有限公司 射頻訊號處理裝置

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4680700A (en) * 1983-12-07 1987-07-14 International Business Machines Corporation Virtual memory address translation mechanism with combined hash address table and inverted page table
JP2625589B2 (ja) * 1991-04-22 1997-07-02 インターナショナル・ビジネス・マシーンズ・コーポレイション マルチプロセッサ・システム
AU675302B2 (en) * 1993-05-20 1997-01-30 Nec Corporation Output-buffer switch for asynchronous transfer mode
US5898828A (en) * 1995-12-29 1999-04-27 Emc Corporation Reduction of power used by transceivers in a data transmission loop
JP3414218B2 (ja) * 1997-09-12 2003-06-09 株式会社日立製作所 記憶制御装置
US6894994B1 (en) * 1997-11-03 2005-05-17 Qualcomm Incorporated High data rate wireless packet data communications system
US6272153B1 (en) * 1998-06-26 2001-08-07 Lsi Logic Corporation DVD audio decoder having a central sync-controller architecture
US7173919B1 (en) * 1999-06-11 2007-02-06 Texas Instruments Incorporated Random access preamble coding for initiation of wireless mobile communications sessions
US7159030B1 (en) * 1999-07-30 2007-01-02 Intel Corporation Associating a packet with a flow
US6594286B2 (en) * 1999-08-12 2003-07-15 Qualcomm Incorporated Method and apparatus for coherent demodulation in communication system employing a potentially gated pilot signal
KR100641767B1 (ko) * 2000-08-04 2006-11-10 유티스타콤코리아 유한회사 광대역 무선통신 시스템에서 하이브리드 자동 재전송요구2/3 방식을 위한 데이터 전송 방법
US20020021698A1 (en) * 2000-04-10 2002-02-21 Yu-Ro Lee Data transmission method for hybrid ARQ type II/III uplink for a wide-band radio communication system
JP3469560B2 (ja) * 2000-04-10 2003-11-25 ヒュンダイ エレクトロニクス インダストリーズ カムパニー リミテッド 広帯域無線通信システムのダウンリンクにおけるハイブリッド自動再伝送要求2/3方式のためのデータ伝達方法
KR100641766B1 (ko) * 2000-08-04 2006-11-10 유티스타콤코리아 유한회사 광대역 무선통신 시스템의 하향링크에서 하이브리드 자동재전송요구 2/3 방식을 위한 데이터 전달 방법
ATE422739T1 (de) * 2000-08-03 2009-02-15 Infineon Technologies Ag Flexible tdma systemarchitektur
US6977888B1 (en) * 2000-09-14 2005-12-20 Telefonaktiebolaget L M Ericsson (Publ) Hybrid ARQ for packet data transmission
KR100352895B1 (ko) * 2000-11-14 2002-09-16 에스케이 텔레콤주식회사 비동기 이동 통신 시스템에서의 하이브리드 에이알큐의적용을 위한 부가 정보 전송 방법
US7333419B2 (en) * 2000-11-30 2008-02-19 Sasken Communication Technologies, Inc. Method to improve performance and reduce complexity of turbo decoder
KR100396916B1 (ko) * 2000-12-18 2003-09-02 한국전자통신연구원 고속 라우터를 위한 입출력 포트간의 패킷 연결 방법
US7746832B2 (en) * 2001-01-05 2010-06-29 Qualcomm Incorporated Method and apparatus for supporting adaptive multi-rate (AMR) data in a CDMA communication system
EP1227698A1 (en) 2001-01-25 2002-07-31 TELEFONAKTIEBOLAGET L M ERICSSON (publ) Data unit handling device and method of controlling a data unit handling device
US6392572B1 (en) * 2001-05-11 2002-05-21 Qualcomm Incorporated Buffer architecture for a turbo decoder
CA2450234C (en) * 2001-06-25 2011-09-13 Nokia Corporation Optimization of mcs and multicode with tfci signaling
US6700867B2 (en) * 2001-12-20 2004-03-02 Motorola, Inc. Method and system for reduced memory hybrid automatic repeat request
US6901063B2 (en) * 2002-05-13 2005-05-31 Qualcomm, Incorporated Data delivery in conjunction with a hybrid automatic retransmission mechanism in CDMA communication systems
US6987780B2 (en) * 2002-06-10 2006-01-17 Qualcomm, Incorporated RLP retransmission for CDMA communication systems
KR100909527B1 (ko) * 2002-11-04 2009-07-27 삼성전자주식회사 고속 패킷데이터 통신시스템에서의 터보 복호 시간 제어방법
KR20070119859A (ko) * 2006-06-16 2007-12-21 삼성전자주식회사 이동통신 시스템에서 패킷의 순서 뒤바뀜 현상을효율적으로 해결하는 방법 및 장치
KR100846345B1 (ko) * 2006-06-29 2008-07-15 삼성전자주식회사 광대역무선접속 통신시스템에서 하이브리드 에이알큐메모리 제어 장치 및 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101023213B1 (ko) * 2008-12-26 2011-03-18 주식회사 포스코 휴대 인터넷 시스템에서 통합 자동 재전송 요청 방법 및 장치

Also Published As

Publication number Publication date
JP4195484B2 (ja) 2008-12-10
US7499417B2 (en) 2009-03-03
US20040190552A1 (en) 2004-09-30
CA2507483A1 (en) 2004-07-22
CN1723631A (zh) 2006-01-18
WO2004062133A1 (en) 2004-07-22
JP2006515972A (ja) 2006-06-08
AU2004203711B2 (en) 2007-10-11
AU2004203711A1 (en) 2004-07-22
KR20040063834A (ko) 2004-07-14
EP1588505A1 (en) 2005-10-26
EP1588505A4 (en) 2010-11-24
EP1588505B1 (en) 2013-02-20
CN1723631B (zh) 2015-06-03
CA2507483C (en) 2012-11-13

Similar Documents

Publication Publication Date Title
KR100663419B1 (ko) 복합 재전송 방식의 이동통신 시스템에서 출력 버퍼 제어장치 및 방법
JP4163691B2 (ja) 移動通信システムにおけるハイブリッド自動再送(harq)制御装置
KR100918759B1 (ko) 패킷 데이터 서비스를 제공하는 이동통신 시스템에서 패킷데이터 제어 채널의 제어 메시지 송신 장치 및 방법
KR100981510B1 (ko) 이동통신 시스템에서 복합 재전송 제어 장치 및 방법
JP4842373B2 (ja) 移動通信装置
EP1628431A2 (en) Mobile station for W-CDMA
US20090199061A1 (en) Method and device for processing data in retransmission processes
WO2002009342A2 (en) Flexible arq for packet data transmission
JP2003143108A (ja) 高速データパケット接続通信システムにおいて使用者データに割り当てられる直交コード情報を送受信する方法
JP4432645B2 (ja) 通信装置、無線通信システム
CN1596512A (zh) 管理通信系统中不均衡的方法和装置
JP2005318626A (ja) Cdmaワイヤレス通信システムにおいてアップリンク・パケット・データ・チャネルを検出する方法および装置
US20050073978A1 (en) Apparatus and method for receiving data through channels in mobile communication system
EP1569376B1 (en) Method and system for re-transmission control
JP2778006B2 (ja) 直接拡散送受信装置
JP2006020239A (ja) マルチコードパケット伝送方法、基地局および端末局
KR20050065789A (ko) 이동통신 시스템에서 패킷 데이터 제어 채널의 메시지처리 장치 및 방법

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
J201 Request for trial against refusal decision
AMND Amendment
B701 Decision to grant
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee