KR20050065789A - 이동통신 시스템에서 패킷 데이터 제어 채널의 메시지처리 장치 및 방법 - Google Patents

이동통신 시스템에서 패킷 데이터 제어 채널의 메시지처리 장치 및 방법 Download PDF

Info

Publication number
KR20050065789A
KR20050065789A KR1020030096672A KR20030096672A KR20050065789A KR 20050065789 A KR20050065789 A KR 20050065789A KR 1020030096672 A KR1020030096672 A KR 1020030096672A KR 20030096672 A KR20030096672 A KR 20030096672A KR 20050065789 A KR20050065789 A KR 20050065789A
Authority
KR
South Korea
Prior art keywords
walsh
packet data
state
information
channel
Prior art date
Application number
KR1020030096672A
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 KR1020030096672A priority Critical patent/KR20050065789A/ko
Publication of KR20050065789A publication Critical patent/KR20050065789A/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/06Receivers
    • H04B1/16Circuits
    • 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/69Spread spectrum techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W88/00Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
    • H04W88/02Terminal devices

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)

Abstract

가. 청구범위에 기재된 발명이 속한 기술분야
본 발명은 이동통신 시스템의 단말기에서 1x EV-DV 패킷 데이터 수신을 위한 장치를 제공한다.
나. 발명이 해결하고자 하는 기술적 과제
본 발명에서는 상기한 패킷 데이터의 처리가 물리계층에서 이루어지는 장치 및 방법을 제공한다.
다. 발명의 해결방법의 요지
본 발명의 방법은, 본 발명의 방법은, 패킷 데이터 제어 채널을 통해 패킷 데이터 제어 메시지를 전송하고, 패킷 데이터 채널을 통해 이동단말로 패킷 데이터를 전송하는 이동통신 시스템에서 패킷 데이터 제어 채널로 수신된 메시지를 검출하기 위한 방법으로서, 상기 패킷 데이터 제어 채널을 통해 수신되는 메시지의 복호를 수행하는 과정과, 상기 복호된 정보로부터 상기 패킷 데이터의 복조 및 복호를 위한 메시지를 추출하는 과정과, 상기 추출된 메시지가 월시 마스크 갱신을 지시하지 않으며, 상기 추출된 메시지 중 미리 설정된 소정 메시지가 외부 메시지 수신을 지시하지 않는 경우 자신의 월시 코드 인덱스의 시작 위치를 계산하는 과정과, 상기 월시 코드 인덱스의 시작 위치를 이용하여 월시 코드의 개수를 계산하고 상기 월시 코드의 개수에 대한 유효성 검사를 수행하는 과정과, 상기 월시 코드의 개수가 유효한 경우 활성 채널 모드인가를 검사하는 과정과, 상기 검사 결과 활성 채널 모드인 경우 상기 월시 코드 정보를 생성하는 과정을 포함한다.
라. 발명의 중요한 용도 1x EV-DV 시스템에 사용한다.

Description

이동통신 시스템에서 패킷 데이터 제어 채널의 메시지 처리 장치 및 방법{APPARATUS AND METHOD FOR PROCESSING MESSAGE OF PACKET DATA CONTROL CHANNEL IN A MOBILE COMMUNICATION SYSTEM}
본 발명은 고속 데이터 전송을 수행하는 시스템에서 재전송 제어 장치 및 방법에 관한 것으로, 특히 고속 데이터 전송을 수행하는 시스템에서 복합 재전송(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 동작이 이루어지는 경우 기지국의 모든 자원을 한 단말이 사용할 수 있게 됨으로써 해당 단말은 최대의 패킷 데이터 전송률을 얻을 수 있게 된다.
이상에서 살펴 본 바와 같이 종래의 상위계층에서 이루어지던 ARQ 제어를 다중화 계층(Mux-layer) 아래로 이전함으로써 고속데이터의 전송에 따른 빠른 ARQ 응답 및 처리를 가능하게 하였다. 그러나 이것은 어디까지나 표준규격의 범위에서 논리적인 해결책이며 이를 실제 구현함에 있어서는 아래와 같은 문제점이 산재하고 있다.
첫째로, 현재 대부분의 시스템은 다중화 계층(Mux Layer)을 포함한 상위계층의 구현을 CPU에 탑재되는 S/W에 의해 구현하고 있다. 그러나 단말과 같은 경우 CPU의 처리속도와 능력은 그리 큰 편이 못 된다. 따라서 빠른 응답을 요구하는 복합 재전송(HARQ) 프로토콜(protocol)을 CPU에서 구현하기에는 CPU의 클록에 과부하가 발생될 수 있다. 결국 단말이 정상적인 운용을 할 수 없도록 만들 수 있다. 특히 무선 단말기(Mobile Station : MS)와 같이 전력소모가 시스템의 구현 제한 요소인 경우 이러한 문제는 더 더욱 큰 장애요인으로 작용한다.
둘째로, CPU에 과중한 처리부담을 주는 복호화된 데이터의 전송 인터럽트와 이를 제어하는 처리지연을 줄여야 고속전송 데이터의 처리가 가능하다. 따라서 1.25msec마다 발생될 수 있는 데이터 처리 인터럽트를 줄이는 방안이 고려되어야 한다.
셋째로, 상기 N 채널(channel) 복합 재전송(HARQ)를 지원하기 위해서는 N개의 독립적인 고속 복합 재전송 제어기(HARQ controller)가 요구된다. 따라서 N이 증가할수록 복합 재전송 제어기(HARQ controller)의 수 또한 증가하고 이에 따른 전력소모와 복잡도 증가가 수반된다. 따라서 최소한의 복합 재전송 제어기(HARQ Controller)로서 구현되어야 한다.
넷째로, 상기 N 채널 복합 재전송(HARQ)를 지원하기 위해서는 N개의 독립적인 터보 디코더(Turbo decoder)가 요구된다. 따라서 N이 증가할수록 터보 디코더(Turbo decoder)의 수 또한 증가하고 이에 따른 전력소모와 복잡도 증가가 수반된다. 따라서 최소한의 터보 디코더(Turbo decoder)로서 구현되어야 한다.
다섯째로, 상기 도 3과 도 4에 설명한 ACK_DELAY 1슬롯과 2 슬롯은 표준규격 상으로는 상호 배타적인 선택 사항이다. 그러나 단말을 구현함에 있어 저전력을 위해서 단말의 사용 클록을 선택적으로 분주/체배하여 가변하는 구조가 고려되므로 ACK_DELAY 또한 하나의 단말에서 모두 적용할 수 있는 단말의 구조가 설계되어야 한다.
여섯째로, 기존의 데이터 트래픽(Data Traffic)과 달리 순방향 패킷데이터 채널(F-PDCH)을 통해서 전달되는 데이터 블록인 부호화 패킷(Encoder Packet)은 매 1.25msec마다 그 전송방식이 변할 수 있다. 따라서 종전과 같이 데이터 채널 set up시에 한번 전달되는 채널구조정보를 1.25msec마다 전달 가능하도록 하는 새로운 구조가 필요하다.
마지막으로, 트래픽 제어 채널(Traffic control channel)인 순방향 패킷데이터 제어 채널(F-PDCCH)을 통해서 단말의 운용에 필요한 기타 제어정보들을 기지국이 전송한다. 그러므로 이를 단말에서 검출하고 빠른 시간 내에 이를 상위 계층에 전달하는 동작이 원활히 수행되어야 한다.
따라서 본 발명에서는 전술한 바에서 살핀 바와 같이 종래 기술의 문제점을 해결하기 위한 구체적인 방법을 제시한다.
이에 따른 본 발명의 목적은 CPU의 부하를 줄이기 위한 장치 및 방법을 제공함에 있다.
본 발명의 다른 목적은 복합 재전송 제어 장치의 단말에서 소비 전력을 줄일 수 있는 장치 및 방법을 제공함에 있다.
본 발명의 또 다른 목적은 복합 재전송 제어 장치에서 최대 구동클록으로 인한 CPU의 부하를 줄일 수 있는 장치 및 방법을 제공함에 있다.
본 발명의 또 다른 목적은 복합 재전송 제어 장치에서 데이터 처리 시간을 줄일 수 있는 장치 및 방법을 제공함에 있다.
본 발명의 또 다른 목적은 복합 재전송 제어 장치에서 N channel HARQ를 지원하는 경우 채널의 수에 구애받지 않는 간단한 제어 장치 및 방법을 제공함에 있다.
본 발명의 또 다른 목적은 복합 재전송 제어 장치에서 채널의 수에 따라 복잡도를 증가시키지 않는 제어 장치 및 방법을 제공함에 있다.
본 발명의 또 다른 목적은 적은 수의 터보 복호기(Turbo decoder)를 이용하여 채널의 수에 구애받지 않고 항상 모든 수신 패킷을 처리할 수 있는 장치 및 방법을 제공함에 있다.
본 발명의 또 다른 목적은 ACK_DELAY가 1 슬롯 또는 2 슬롯을 모두 지원할 수 있는 장치 및 방법을 제공함에 있다.
본 발명의 또 다른 목적은 PDCH의 데이터 채널 초기 설정 이후 매 슬롯마다 발생되는 제어 채널 변수의 계산 및 설정을 제어하기 위한 장치 및 방법을 제공함에 있다.
본 발명의 또 다른 목적은 이동통신 시스템에서 트래픽 채널의 복조 및 복호를 위한 변수들의 계산 및 수정을 위한 장치 및 방법을 제공함에 있다.
본 발명의 또 다른 목적은 트래픽 제어 채널의 제어 정보를 빠르게 상위 계층으로 전달할 수 있는 장치 및 방법을 제공함에 있다.
상기한 목적들을 달성하기 위한 본 발명의 방법은, 패킷 데이터 제어 채널을 통해 패킷 데이터 제어 메시지를 전송하고, 패킷 데이터 채널을 통해 이동단말로 패킷 데이터를 전송하는 이동통신 시스템에서 패킷 데이터 제어 채널로 수신된 메시지를 검출하기 위한 방법으로서, 상기 패킷 데이터 제어 채널을 통해 수신되는 메시지의 복호를 수행하는 과정과, 상기 복호된 정보로부터 상기 패킷 데이터의 복조 및 복호를 위한 메시지를 추출하는 과정과, 상기 추출된 메시지가 월시 마스크 갱신을 지시하지 않으며, 상기 추출된 메시지 중 미리 설정된 소정 메시지가 외부 메시지 수신을 지시하지 않는 경우 자신의 월시 코드 인덱스의 시작 위치를 계산하는 과정과, 상기 월시 코드 인덱스의 시작 위치를 이용하여 월시 코드의 개수를 계산하고 상기 월시 코드의 개수에 대한 유효성 검사를 수행하는 과정과, 상기 월시 코드의 개수가 유효한 경우 활성 채널 모드인가를 검사하는 과정과, 상기 검사 결과 활성 채널 모드인 경우 상기 월시 코드 정보를 생성하는 과정을 포함한다.
또한, 상기 월시 코드 정보 생성 시 인코더 패킷의 크기를 결정하고, 자동 응답 채널 및 서브 패킷의 각 식별자들을 생성하는 과정과, 상기 패킷 데이터 채널로 수신된 정보의 복조 및 복호를 위한 처리를 수행하는 과정을 더 포함할 수 있으며,
상기 월시 코드 개수의 계산은,
미리 결정된 월시 마스크 값으로부터 월시 코드 인덱스 셋을 생성하고, 하위 2비트는 '11'로 채우는 단계와, 상기 월시 코드 인덱스의 시작 위치와 끝 위치 사이의 월시 코드 인덱스 셋 값만을 추출하고, 자신의 월시 셋을 생성하는 단계와, 상기 생성된 자신의 월시 셋 중에서 각 비트가 1인 경우를 계산하여 월시 코드의 개수를 계산하여 구할 수 있다.
상기한 목적들을 달성하기 위한 본 발명에 따른 장치는 패킷 데이터 제어 채널을 통해 패킷 데이터 제어 메시지를 전송하고, 패킷 데이터 채널을 통해 이동단말로 패킷 데이터를 전송하는 이동통신 시스템에서 패킷 데이터 제어 채널로 수신된 메시지를 검출하기 위한 장치로서, 상기 패킷 데이터 제어 채널로 수신된 정보를 복호하는 패킷 데이터 제어 채널 복호기와, 상기 패킷 데이터 제어 채널 복호기의 출력 중 월시 마스크 정보가 포함될 수 있는 영역에 월시 마스크가 포함되었는가의 여부와 월시 마스크 포함 시 수신된 월시 마스크의 유효성을 검사하고 그 결과 신호를 출력하는 월시 마스크 갱신부와, 상기 월시 마스크 정보가 포함될 수 있는 영역에 외부 메시지 처리를 요구하는 제어 신호가 수신되었는가를 검사하여 출력하는 SDU 처리부와, 월시 수 계산 제어 신호에 의거하여 월시 수를 계산하는 월시 수 계산부와, 상기 월시 수 계산부에서 계산된 월시 수 정보의 유효성을 검사하는 월시 수 유효성 검증부와, 활성 모드 시 월시 데이터 생성 제어 신호에 의거하여 월시 데이터를 생성하는 월시 데이터 생성부와, 월시 마스크 갱신부로부터 수신된 월시 마스크 정보를 구비하며, 상기 SDU 처리부로부터 외부 신호의 처리 및 월시 마스크 갱신이 요구되지 않은 경우 상기 SDU 처리부로부터 수신된 정보로부터 자신의 월시 시작 위치 및 종료 위치를 검사하여 이들을 포함한 상기 월시 수 계산 제어 신호를 출력하며, 상기 계산된 월시의 수가 유효하다는 결과를 수신한 경우 상기 월시 데이터 생성 제어 신호를 생성하는 제어부를 포함한다.
이하 본 발명의 바람직한 실시 예를 첨부한 도면을 참조하여 상세히 설명한다. 우선 각 도면의 구성 요소들에 참조 부호를 부가함에 있어서, 동일한 구성 요소들에 한해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다.
또한 하기 설명에서는 구체적인 신호 및 상태 등과 같은 많은 특정(特定) 사항들이 나타나고 있는데, 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐 이러한 특정 사항들 없이도 본 발명이 실시될 수 있음은 이 기술 분야에서 통상의 지식을 가진 자에게는 자명하다 할 것이다. 그리고 본 발명을 설명함에 있어, 관련된 공지 기능 혹은 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
먼저 상술한 바와 같은 문제들을 해결하기 위한 본 발명의 장치 및 방법에 대하여 개괄적으로 설명한다.
< 복합 재전송 제어기(HARQ controller)의 기능 >
복합 재전송 제어기는 1xEV-DV(Forward link RC-10)의 패킷 데이터 수신시 이와 관련된 각 블록들에 대한 동작을 제어하는 역할을 수행하게 된다. 상기 패킷 데이터 수신과 관련된 각 블록은 복합 재전송 제어기의 지시에 의해서 동작되고, 해당 동작이 완료된 경우 이를 복합 재전송 제어기에게 알린다. 복합 재전송 제어기는 상기 각 블록의 동작 완료 정보를 이용하여 다음 동작을 수행하게 된다. 또한 복합 재전송 제어기는 각 블록으로부터의 입력 정보 및 내부 정보를 레지스터에 저장한다. 이렇게 함으로써 복합 재전송 제어기 내부에서 복합 재전송 동작의 진행 상황을 모니터링 할 수 있도록 하고 있다. 복합 재전송 제어기가 수행하는 상기 각 블록의 제어는 주로 복합 재전송 동작을 주어진 시간 이내에 수행하기 위한 timing 제어이며, 상기 각 블록의 고유 동작을 위한 제어는 포함하지 않는다. 또한, 복합 재전송 제어기는 순방향 패킷 데이터 제어 채널(F-PDCCH)의 수신 정보 및 내부 저장 정보를 이용하여 정상적인 모드에서의 동작을 수행할 것인지 아니면 비정상적인 모드에서의 동작을 수행할 것인지를 결정한다. 그리고 복합 재전송 제어기는 상기 결정한 결과에 따른 동작을 수행한다. 비정상적인 모드에서의 동작은 무선 채널 상황에서의 에러에 의한 것으로 단말의 오동작을 줄이고 데이터 수신 성능을 향상시키기 위한 것이다.
본 발명에 따른 설계에서 포함하는 복합 재전송 제어기의 대표적인 기능은 다음과 같다.
(1) F-PDCCH의 수신 메시지와 복합 재전송 제어기 내부 보유 정보에 따라 정상적인 동작 모드를 수행할 것인지 비정상적인 동작 모드를 수행할 것인지를 결정한다.
(2) 동작 모드에 따라 F-PDCH의 복조(demodulation)와 터보 복호(Turbo decoding) 동작을 제어한다.
(3) 역방향 응답 채널(R-ACKCH)을 통해 전송될 정보(ACK/NAK 또는 Silence)를 결정한다.
(4) 터보 복호기(Turbo decoder)의 출력 버퍼에 수신된 데이터를 이동시키기 위해 상위계층(upper layer)으로 인터럽트(interrupt)를 발생시킨다.
(5) 각 ARQ 채널마다 관련 정보를 계속적으로 저장 및 갱신한다.
(6) 최대 4 ARQ 채널을 지원한다.
(7) ACK/NAK delay가 1 슬롯 및 2 슬롯인 경우의 제어 동작을 모두 지원한다.
도 5는 본 발명에 따른 복합 재전송 제어기를 중점으로 한 주변 블록들간의 인터페이스를 도시한 도면이다. 이하 도 5를 참조하여 본 발명에 따른 복합 재전송 제어기와 연결되는 각 블록들과 복합 재전송 제어기의 내부 구성 및 동작에 대하여 설명한다.
먼저 상기 복합 재전송 제어기(300)는 내부에 2개의 복합 재전송 상태부(HARQ STATE MACHINES : OHSM/EHSM)(310)와 복합 재전송 레지스터부(HARQC_REQ)(320)와 상태 기능 및 데이터 경로 제어부(STATE FUNCTION & DATA PATH CONTROLLER)(330) 및 출력 버퍼 제어부(OUTPUT BUFFER CONTROLLER)(340)를 구비한다. 상기 복합 재전송 제어기(300)의 내부 구성부들 중에서 복합 재전송의 동작에 따른 제어는 복합 재전송 상태부(310)과 상태 기능 및 데이터 경로 제어부(330)에서 수행한다. 그리고 후술될 데이터 채널 터보 복호기(430)와 연결되는 출력 버퍼에 대한 제어는 출력 버퍼 제어부(340)가 수행한다. 따라서 도 5에 도시한 복합 재전송 제어기(300)로의 입력 및 출력 신호의 연결들은 전체적인 관점에서 도시된 것이다. 즉, 특정한 내부 블록으로부터 출력되는 것을 도시하지 않았다. 그러면 상기 도 5에 도시된 복합 재전송 제어기(300)의 각 내부 구성 및 연결관계와 그에 따른 동작들은 후술되는 도면들을 참조하여 설명하기로 한다.
복합 재전송 제어기(300)는 프로세서(CPU : HOST)(400)와 연결되며, 데이터 버스(450)와 어드레스 버스(460)를 통해 데이터를 주고받을 수 있다. 또한 복합 재전송 제어기(300)는 인터럽트 라인을 통해 상기 프로세서(400)로 인터럽트 신호를 전송할 수 있다. 복합 재전송 제어기(300)는 패킷 데이터 제어 채널에 실려온 데이터를 복호하는 제어 채널 복호기(PDCCH_DEC)(410)와 연결되어 온/오프 동작을 제어하며, 동시에 패킷 데이터 제어 채널에 실려온 데이터의 디코딩을 위한 파라미터를 제공한다. 상기 패킷 데이터 제어 채널(PDCCH)의 데이터를 복호하는 제어 채널 복호기(410)는 상기 복합 재전송 제어기(300)로부터 수신된 파라미터에 의거하여 패킷 데이터 제어 채널의 데이터를 복호한 후 복호 완료 신호와 함께 복호된 데이터를 복합 재전송 제어기(300)로 전달한다.
상기 복합 재전송 제어기(300)는 패킷 데이터 채널에 실려온 데이터를 복조하는 데이터 채널 복조기(PDCH_DEMOD)(420)와 연결되어 온/오프 동작을 제어하며, 복조를 위한 파라미터와 제어 신호를 제공한다. 이에 따라 데이터 채널 복조기(420)는 패킷 데이터 채널에 실려 온 데이터를 복조하고, 복조 결과 데이터를 상기 복합 재전송 제어부(300)로 전달하며, 시스템 타임 데이터(System Time Data)를 제공한다.
본 발명은 1xEV-DV 시스템에서 동작하는 제어기를 설명하고 있다. 따라서 1xEV-DV 시스템에서 전송되는 데이터들은 기본적으로 터보 부호기에 의해 터보 부호화되어 전달된다. 따라서 복합 재전송 제어기(300)는 패킷 데이터 채널에 실려온 데이터를 역 부호화하는 데이터 채널 터보 복호기(PDCH_TURBO)(430)와 연결되어 온/오프 제어를 수행한다. 또한 복합 재전송 제어기(300)는 데이터 채널 터보 복호기(430)로 강제 중단(Intentional Stop) 신호, 터보 복호 파라미터들과 제어 신호들, 버퍼 제어 파라미터 및 제어 신호들을 제공한다. 그러면 데이터 채널 터보 복호기(430)는 복합 재전송 제어기(300)로부터 수신되는 각종 파라미터 및 제어 신호에 의거하여 패킷 데이터 채널의 데이터를 터보 복호하고, 터보 복호의 완료 신호, CRC 체크 결과 신호(CRC result) 및 복호 상태 신호를 복합 재전송 제어기(300)로 제공한다. 또한 상기 데이터 채널 터보 복호기(430)는 소정 메모리(도 5에 도시하지 않음)에 데이터를 독취하거나 저장하기 위해 데이터 버스 및 어드레스 버스와 연결되어 데이터의 저장 및 독취를 수행한다. 또한 복합 재전송 제어기(300)는 상기 터보 복호기(430)에 연결되는 버퍼에 저장된 데이터를 프로세서(400)로 전달하는 제어를 수행한다.
복합 재전송 제어기(300)는 응답신호 출력기(RACK_TX)(440)와 연결되어 수신된 패킷 데이터 채널의 데이터를 복호 결과에 따른 ACK/NAK 및 무응답 제어를 수행한다. 그러면 응답신호 출력기(440)는 이에 대응하여 ACK/NAK 신호를 출력하거나 또는 무응답 상태를 유지한다. 또한 응답신호 출력기(440)는 송신 타이밍에 대한 정보를 복합 재전송 제어기(300)로 출력한다.
그러면 복합 재전송 제어기(300)의 동작 및 각 상태를 하기 <표 1>을 참조하여 살펴본다.
상태(State) 설명(Description) ACK_DELAY(slot)
S1 WAITING_FOR_PDCCH_DEC_DONE PDCCH_DEC로부터 PDCCH_DEC_DONE를 기다리는 상태 1 & 2
S2 DEMOD_SIG_GEN Subpacket의 New/Continue Decision, 상위계층 제어메시지 (Signaling message) 추출 및 PDCH Demodulation을 위한 parameters를 계산하는 상태 1 & 2
S3 PDCH_DEMOD PDCH Demodulation을 수행하는 상태 1 & 2
S4 WAITING_FOR_TURBO_DECODER_TO_USE TURBO decoder가 사용중인 경우 완료를 기다리는 상태 2
S5 TURBO_DECODING PDCH Turbo decoder에 decoding 시작신호와 필요한 parameter들을 전달하고 decoding 완료를 기다리는 상태 1 & 2
S6 ACK_NAK_TRANSMISSION PDCH Turbo decoding 완료 후에 Reverse channel에 ACK/NAK를 전송하는 상태 1 & 2
상기 <표 1>에서 각 상태들(S1, S2, S3, S4, S5, S6)은 상기 복합 재전송 제어기(300)에서 특정 시간에 요구되는 수행동작과 이후 수행되는 다음 동작의 순서에 따른 상태들이다. 이러한 각 상태들(S1, S2, S3, S4, S5, S6)은 상호간 이전 동작과 이후 동작 등으로 연관관계를 가진다. 또한 ACK/NAK DELAY는 1 슬롯인 경우에 필요한 단계와 또는 2 슬롯인 경우 필요한 상태가 상기 <표 1>에 도시되어 있다. 예를 들어 제4상태(S4)와 같은 상태는 ACK/NAK DELAY가 2 슬롯인 경우에만 필요한 상태가 된다. 그러면 이하에서 상기 <표 1>의 각 상태들에 대하여 설명한다.
제1상태(S1)는 '초기 상태'로 패킷 제어 채널(PDCCH)에 실려온 제어 데이터들 중 맥 아이디(MACID)와 일치하는 패킷 데이터 제어 채널 메시지를 수신하거나 기지국이 단말로 전달할 소정의 제어 메시지 수신이 검출될 때 수행한다. 복합 재전송 제어기(300)가 제1상태(S1)로 진입하면, 패킷 제어 데이터 채널에 실려온 제어 데이터들의 복호(Decoding)가 완료되기를 대기한다. 즉, 복합 재전송 제어기(300)에서 패킷 데이터 제어 채널의 제어 데이터를 이용하여 패킷 데이터 채널(PDCH)의 데이터(subpacket)를 복호할 수 있기 때문이다. 또한 복합 재전송 제어부(300)는 제1상태(S1)에서 레지스터 초기화 동작 등을 수행하며, 패킷 데이터 제어 채널의 복호가 완료되면 제2상태(S2)로 천이한다.
복합 재전송 제어기(300)는 제2상태(S2)에서 제1상태(S1)에서 복호한 결과로 수신된 각종 메시지를 이용하여 패킷 데이터 채널의 복조(Demodulation)를 위한 파라미터들을 계산한다. 상기 제2상태(S2)는 '복합 재전송 제어 상태'가 된다. 또한 복합 재전송 제어기(300)는 제2상태(S2)에서 물리계층(Physical Layer)에서 복합 재전송을 위한 프로토콜 처리를 수행한다. 즉, 복합 재전송 제어기(300)는 제2상태(S2)에서 복조에 필요한 변조 차수, 월시 코드(Walsh code) 채널 수 등을 계산하고, 그 결과를 데이터 채널 복조기(420)로 전달한다. 또한 복합 재전송 제어기(300)는 제2상태(S2)에서 제1상태(S1)에서 패킷 데이터 제어 채널의 복호 결과인 ACID와 EP_NEW 등에 따라 패킷 데이터 채널을 통해 수신된 서브패킷이 새로운 데이터(초기 전송 데이터)인지 재전송된 데이터인지를 검출한다. 또한 복합 재전송 제어기(300)는 패킷 데이터 제어 채널의 복호 결과에 따라 상위계층 제어 메시지 (Signaling message)가 검출된 경우에는 다른 과정을 무시하고 바로 ACK/NAK 전송을 결정한다. 뿐만 아니라 복합 재전송 제어기는 제2상태(S2)에서 무효 테스트(Invalidity test) 등을 수행하고, 기지국이 전송할 수 없는 메시지가 수신되었다고 검사될 경우 초기 상태인 제1상태(S1)로 복귀하도록 한다.
복합 재전송 제어기(300)는 제3상태(S3)에서 데이터 채널 복조기(420)를 제어하여 패킷 데이터 채널을 통해 실려온 데이터의 복조의 제어를 수행한다. 제3상태(S3)는 '복조 상태'이다. 이러한 복조의 제어는 제2상태(S2)에서 검출한 초기 전송 데이터 또는 재전송 데이터의 검출 결과에 복조를 위한 파라미터를 데이터 채널 복조기(420)로 제공하여 패킷 데이터 채널에 실려온 서브패킷의 복조(Dmodulation)가 이루어진다. 따라서 복합 재전송 제어기(300)는 제3상태(S3)에서 복조에 필요한 파라미터들을 데이터 채널 복조기(420)로 제공한 후 복조가 완료될 때까지 대기한다. 그리고, 복조가 완료되면, ACK/NAK DELAY의 슬롯 수에 따라 제4상태(S4) 또는 제5상태(S5)로 천이한다.
복합 재전송 제어기(300)는 특정한 경우에 제4상태(S4)로 천이한다. 제4상태(S4)는 '대기상태'로 복합 재전송 제어기(300)의 내부에 구비되는 복합 재전송 상태부(310)에 의해 이전 패킷 데이터 채널에서 수신된 서브패킷이 복조되는 동안 대기하는 상태이다. 이와 같은 제어상태의 유지는 ACK/NAK DELAY가 2 슬롯인 경우에만 필요하다. 왜냐하면, ACK/NAK Delay가 1 슬롯인 경우 매 슬롯마다 데이터 채널 터보 복호기(430)가 새로운 데이터의 복호를 수행해야 한다. 그러나 ACK/NAK Delay가 2 슬롯인 경우 데이터 채널 터보 복호기(430)는 이전 슬롯에서 수신된 데이터를 복호하는 중일 수 있다. 따라서 이러한 경우에는 데이터 채널 터보 복호기(430)의 동작이 완료되기를 기다려야만 하기 때문이다. 또한 본 발명에서는 하나의 데이터 채널 터보 복호기(430)만을 사용하도록 구성하기 때문에 데이터의 충돌을 방지하기 위해 ACK/NAK Delay가 2 슬롯인 경우 꼭 필요한 상태가 된다. 즉, 이와 같은 제4상태(S4)를 둠으로써 하나의 터보 복호기를 이용하여 ACK/NAK Delay가 2 슬롯 이상인 경우에도 복수개의 패킷 데이터 채널을 처리할 수 있다. 복합 재전송 제어기(300)는 제4상태(S4)에서 대기하는 중에 데이터 채널 터보 복호기(430)가 사용 가능해지면 제5상태(S5)로 천이한다.
복합 재전송 제어기(300)는 제5상태(S5)에서 터보 복호의 제어를 수행한다. 제5상태(S5)는 '복호 상태'가 된다. 즉, 복합 재전송 제어기(300)는 제5상태(S5)에서 데이터 채널 터보 복호기(430)로 터보 복호에 필요한 각종 정보들을 제공한다. 상기 터보 복호에 필요한 정보들은 인코더 패킷(EP : Encoder Packet)의 크기(size)와 ACID 등이 될 수 있다. 복합 재전송 제어기(300)는 이와 같은 정보들을 데이터 채널 터보 복호기(430)로 제공한 후 복호가 완료될 때까지 대기한다. 그런데 만일 터보 복호의 시간이 너무 오랜 기간 진행되거나 또는 다른 정보에 의해 조기에 터보 복호되어야 하는 경우가 발생할 수 있다. 이러한 경우 복합 재전송 제어기(300)는 임의 중단(intentional stop) 신호를 출력하여 터보 복호를 강제로 종료시킬 수 있다. 복합 재전송 제어기(300)는 터보 복호가 완료되거나 임의 중단되는 경우 제6상태(S6)로 천이한다.
복합 재전송 제어기(300)는 제6상태(S6)에서 데이터 채널 터보 복호기(430)의 복호 결과에 따라 역방향 채널을 통해 수신된 서브패킷에 대한 응답 신호(ACK/NAK)를 송신하는 상태이다. 즉, 제6상태(S6)는 'ACK/NAK 전송 상태'이다. 그러므로 복합 재전송 제어기(300)는 응답 신호 출력기(440)를 제어하여 복호 결과 오류가 없으면 ACK을 역방향 채널을 통해 전송하며, 반대로 오류가 발생되었으면 NAK을 역방향 채널을 통해 전송한다. 제6상태(S6)는 복합 재전송 제어기(300)의 마지막 상태이므로 복호 결과를 전송한 이후에 제1상태(S1)로 천이하여 초기 상태에서 다시 기다리며, 다음 처리를 수행할 수 있도록 한다. ACK/NAK DELAY가 2 슬롯인 경우에 2개의 복합 재전송 상태부(310)로 구성된다. 이러한 경우에 제6상태(S6)는 상기 2개의 복합 재전송 상태부(310)가 동시에 제6상태(S6)를 수행할 수 있다. 그러나 다른 각 상태들(S1, S2, S3, S4, S5)은 절대로 동시에 사용되지 않는다.
그러면 다음으로 상기 복합 재전송 제어기(300)의 내부 구성들에 대하여 살펴본다. 도 6은 본 발명의 바람직한 실시 예에 따라 복합 재전송 제어기의 내부 구성 중 복합 재전송 상태부와 상태 기능부간의 연결 구성도이다. 이하 도 6을 참조하여 본 발명에 따른 복합 재전송 상태부와 상태 기능부간의 연결 및 그 동작에 대하여 상세히 설명한다.
상기 도 6에서 상태 기능부(335)는 상기 도 5의 상태 기능 및 데이터 경로 제어부(330)에서 상태 기능부의 구성만을 따로 구분하여 도시한 부분이다. 복합 재전송 상태부(310)는 복합 재전송 제어 흐름에 따라 상술한 제1상태(S1) 내지 제6상태(S6)의 상태 천이(State Transition)를 제어한다. 즉, 상태 천이에 대한 신호를 출력한다. 그러면 상태 기능부(335)는 다른 기능 블록들(Local Functional Block)(401, …, 403)을 제어하여 각 상태(State)에서 수행하는 동작의 제어를 수행한다. 도 6에서 도시한 다른 블록들(401, …, 403)은 상기 도 5에서 복합 재전송 제어기(300)을 제외한 나머지 블록들인 프로세서(400), 제어채널 복호기(410) 내지 응답 신호 출력기(440) 등이 될 수 있으며, 상기 도 5에 도시하지 않은 그 외의 다른 블록들이 될 수도 있다. 즉, 상기 상태 기능부(335)는 상기 복합 재전송 상태부(310)에서 출력한 상태의 신호를 수신하여 상술한 상태들에 따른 동작의 제어를 수행한다.
따라서 복합 재전송 상태부(310)는 현재 상태(Current States)에 대한 정보와 ACK/NAK DELAY가 1 슬롯인지 2 슬롯인지에 대한 정보를 수신하며, 동시에 상태 기능부(335)로부터 작업 종료 신호(FI_DONE)를 수신한다. 상기 작업 종료 신호는 복합 재전송 상태부(310)가 ACK/NAK DELAY가 2 슬롯인 경우 2개로 구성되므로 각 복합 재전송 상태부(310)로 입력되도록 구성한다. 이에 따라 복합 재전송 상태부(310)는 작업 종료 신호를 수신하면 다음 상태(Next State) 신호를 출력한다. 이때에도 ACK/NAK DELAY가 2 슬롯인 경우 복합 재전송 상태부(310)가 2개로 구성되므로 각각 해당하는 상태 정보를 출력한다. 또한 상기 상태 정보와 함께 해당하는 상태에 따른 제어를 수행하도록 상태 기능부(335)로 상태 활성화 신호(Si_EN)를 출력한다.
즉, 복합 재전송 상태부(310)는 ACK/NAK DELAY가 1슬롯인 경우와 2 슬롯인 경우에 따라 개수와 동작이 구별된다. 그러면 이하에서 복합 재전송 상태부(310)가 1개 또는 2개로 구성되는 경우에 대하여 상세히 설명한다.
ACK/NAK DELAY가 1 슬롯인 경우 복합 재전송 상태부(310)는 하나로 구성되므로 상태 기능부(335)로 출력되는 활성화 신호는 하나만 출력되면 된다. 또한 상태 기능부(335)로부터 복합 재전송 상태부(310)로 출력되는 동작 완료 신호 또한 하나만 존재한다. 그러나 ACK/NAK DELAY가 2 슬롯인 경우 복합 재전송 상태부(310)가 2개로 구성된다. 이와 같이 복합 재전송 상태부(310)가 2개로 구성되는 경우 각 복합 상태부를 제1복합 재전송 상태부(ODD HARQ state machine : OHSM)와 제2복합 재전송 상태부(EVEN HARQ state machine : EHSM)로 구분한다. 제1 및 제2복합 재전송 상태부는 동일한 구성을 가지며, 하나의 복합 재전송 상태부와 비교할 때, 상기 <표 1>에서 도시한 바와 같이 제4상태(S4)를 더 가진다. 즉, 제1 및 제2복합 재전송 상태부는 동일한 입력에 대하여 동일한 출력을 내는 동일한 동작을 수행한다. 그러나 두 복합 재전송 상태부의 상태 진행이 동일함을 의미하지는 않는다. 즉, 하기 <표 2>와 같이 ACK/NAK Delay에 따라 사용되는 OHSM과 EHSM이 달라진다.
ACK_Delay (slots) # of State Machine to use
1 1(OHSM)
2 2(OHSM, EHSM)
단말에 이를 구현할 경우 ACK/NAK DELAY가 1 슬롯인 경우와 2 슬롯인 경우를 모두 수용하기 위해서는 2개의 복합 재전송 상태부를 구비하도록 구성하며, ACK/NAK DELAY가 1 슬롯인 경우에는 하나만 동작하며, 제4상태(S4)를 가지지 않도록 구성하는 것이 바람직하다.
그러면 상기 각 상태들의 상태 천이에 대하여 도 7을 참조하여 설명한다. 도 7은 본 발명의 바람직한 실시 예에 따른 복합 재전송 제어기의 상태 천이도이다.
제1상태(S1)는 상기 <표 1>에서 상술한 바와 같이 레지스터 등의 초기화를 수행한 후 패킷 데이터 제어 채널의 복호가 완료되기를 기다리는 상태이다. 상기 도 7에서 500단계는 제1상태(S1)를 유지하며, 대기하는 상태를 도시하고 있다. 이러한 대기상태를 유지하며, 상태 기능부(335)로부터 패킷 데이터 제어 채널의 복호 종료 신호가 수신되면, 502단계에서 제2상태(S2)로 천이한다. 제2상태(S2)로 천이하면, 복합 재전송 상태부(310)는 506단계에서 제1상태(S1)에서 패킷 데이터 제어 채널의 복호된 결과를 이용하여 복조에 필요한 변조 차수, 월시 코드 등의 파라미터를 계산한다. 그리고 제2상태(S2)에서는 상기 계산된 파라미터 오류를 검사한다. 만일 상기 검사결과 파라미터 오류가 검출되면 504단계로 진행하여 파라미터에 오류가 발생하였음을 알리고, 다시 제1상태(S1)(501)로 천이한다. 이와 달리 계산된 파라미터에 오류가 발생하지 않은 경우 복합 재전송 상태부(310)는 508단계로 진행하여 올바른 패킷 데이터 채널의 파라미터를 검출하여 상태 기능부(335)로 전달한 후 제3상태(S3)로 천이한다. 또한 복합 재전송 상태부(310)는 506단계에서 파라미터의 계산 결과 수신된 메시지가 CHM/CS(Control Hold Mode/Cell Switching) 관련 제어 메시지(Signaling message)가 수신된 경우 제3상태(S3)로 천이하지 않고, 제6상태(S6)로 천이한다.
복합 재전송 상태부(310)는 제3상태(S3)로 진행하면, 512단계에서 패킷 데이터 채널의 복조를 수행한다. 이러한 복조의 제어는 상태 기능부(335)에서 제어하며, 복합 재전송 상태부(310)는 복조가 종료되기를 대기한다. 그런 후 복합 재전송 상태부(310)는 복조가 완료되면, ACK/NAK DELAY의 1 슬롯 또는 2 슬롯에 따라 다른 천이를 수행한다. 만일 ACK/NAK DELAY가 1 슬롯인 경우 516단계로 진행하여 제5상태(S5)로 천이하며, ACK/NAK DELAY가 2 슬롯인 경우 514단계로 진행하여 제4상태(S4)로 천이한다. 먼저 ACK/NAK DELAY가 2 슬롯인 경우 즉, 514단계로 진행하여 제4상태(S4)로 천이하는 경우에 대하여 살펴본다.
제1복합 재전송 상태부 또는 제2복합 재전송 상태부는 제4상태(S4)로 천이하면, 데이터 채널 터보 복호기(430)가 자신이 아닌 다른 복합 재전송 상태부에서 사용 중이므로 대기상태를 유지한다. 다른 복합 재전송 상태부에서 데이터 채널 터보 복호기(430)의 사용이 완료되면, 제1복합 재전송 상태부 또는 제2복합 재전송 상태부는 520단계에서 제5상태(S5)로 천이한다.
제3상태(S3) 또는 제4상태(S4)에서 제5상태(S5)로 천이가 이루어지면, 복합 재전송 상태부(310)는 522단계에서 터보 복호가 완료되기를 대기한다. 이때 터보 복호의 제어 과정은 상태 기능부(335)에서 수행한다. 그리고 상태 기능부(335)로부터 터보 복호의 완료 신호가 수신되면 복합 재전송 상태부(310)는 524단계로 진행하여 제6상태로 천이한다. 제6상태(S6)는 상술한 <표 1>에서 설명한 바와 같이 ACK/NAK를 전송하는 단계이다. 제6상태(S6)로 천이하면, 상태 기능부(335)는 응답신호 출력기(440)를 제어하여 터보 복호 결과에 따라 ACK 또는 NAK를 역방향 채널을 통해 전송한다. ACK 또는 NAK 전송이 완료되면, 상태 기능부(335)는 ACK 또는 NAK 정보의 전송 완료 신호를 복합 재전송 상태부(310)로 출력한다. 이에 따라 복합 재전송 상태부(310)는 528단계로 진행하여 제1상태(S1)를 유지한다.
이상에서 살펴본 바와 같이 각 상태들은 특정한 상태들과 연관관계를 가지며, 상기한 연관관계에 따라 상태 천이가 이루어진다. 즉, 제1상태(S1)는 제6상태(S6) 또는 제2상태(S2)에서 특정한 경우에 천이가 이루어진다. 또한 각 상태마다 각기 수행하게 되는 특정한 동작들이 있다. 이러한 동작들은 종래 기술에서와 같이 현재 제공되는 시스템에서는 프로세서의 맥 계층(120)에서 수행되어야 하는 과정이나, 본 발명에 따라 물리계층(200)의 복합 재전송 제어기(300)에서 수행하는 과정들이 된다. 그러면 본 발명에서는 상기한 각 상태들 중 제2상태(S2)에 대하여 보다 상세히 살펴본다.
상기 제2상태(S2)는 물리계층(200)에 포함되는 복합 재전송 제어기(220)에서 수행되는 동작이다. 즉, 복합 재전송 제어기(220) 또한 물리계층(200)에 포함된다. 따라서 상기 복합 재전송 제어기(300)의 내부에 포함되는 복합 재전송 상태부(310) 또한 물리계층(200)에 포함된다. 또한 상기 복합 재전송 상태부(310)는 상기 상태 기능부(335)로부터 상태 천이 신호를 수신하게 된다. 전술한 바와 같이 상기 제2상태(S2)는 제1상태(S1)에서 천이되는 경우 밖에 없다. 즉, 상기 상태 기능부(335)가 패킷 데이터 제어 채널(PDCCH)의 복호(Decoding) 완료 신호를 검출하는 경우에 제2상태(S2)로 천이한다. 이와 같은 신호의 검출은 상기 도 6에 도시한 바와 같이 다른 기능 블록들(401, …, 403)로부터 수신되는 신호에 의거하여 패킷 데이터 제어 채널의 복호 완료를 검출한다. 그러면 먼저 1xEV-DV를 지원하는 단말기에서의 복호에 대하여 살펴본다.
1xEV-DV 표준을 지원하는 단말기는 Radio Configuration 10이 셋업(Setup)된 경우 1.25 msec 주기의 매 슬롯마다 순방향 패킷 데이터 제어 채널(F-PDCCH)로 수신되는 패킷을 복호(decoding)한다. 하나의 단말기는 동시에 최대 두 개의 순방향 패킷 데이터 제어 채널(F-PDCCH)을 수신할 수 있으며, 순방향 패킷 데이터 제어 채널(F-PDCCH)의 복호가 성공했을 경우 그 복호 출력으로부터 얻을 수 있는 제어 정보는 다음의 네 가지 중 하나이다.
첫째로 얻을 수 있는 정보는 순방향 패킷 데이터 채널(F-PDCH)의 복조(demodulation) 및 복호를 위한 정보이다. 둘째로 얻을 수 있는 정보는 셀 스위칭(cell switching)의 조기 종료(early termination)를 지시하는 정보이다. 셋째로 얻을 수 있는 정보는 활성 모드(active mode)로의 전환을 지시하는 정보이다. 그리고 마지막으로 얻을 수 있는 정보는 사용 불가능한 월시 코드의 위치(WALSH_MASK : 이하 "월시 마스크"라 한다)를 알려주는 정보가 된다.
상기 네 가지의 제어 정보 중 마지막 정보인 월시 마스크를 알려주는 정보는 가능한 두 개의 순방향 패킷 데이터 제어 채널(F-PDCCH) 중 첫 번째 순방향 패킷 데이터 제어 채널(F-PDCCH)을 통해서만 전달되는 정보이며, 나머지 세 가지의 정보는 두 개의 순방향 패킷 데이터 제어 채널(F-PDCCH)을 통해 모두 전달 가능하다. 단, 하나의 단말기가 동시에 두 개의 순방향 패킷 데이터 제어 채널(F-PDCCH)을 수신하는 경우 첫 번째 순방향 패킷 데이터 제어 채널(F-PDCCH)은 월시 마스크 정보만을 포함할 수 있다. 순방향 패킷 데이터 제어 채널(F-PDCCH)의 복호 출력으로부터 얻을 수 있는 제어 정보가 상기 네 가지 중 어떤 것이냐에 따라 단말기가 취해야 할 동작이 달라지므로, 순방향 패킷 데이터 제어 채널(F-PDCCH)의 복호 출력을 해석하고, 해석된 제어 정보에 따라 어떤 동작을 취해야 하는지에 관한 본 발명의 방법이 요구되는 것이다. 즉, 제2상태(S2)에서 수행되는 과정이 되는 것이다.
순방향 패킷 데이터 제어 채널(F-PDCCH)의 복호가 성공했을 경우 복합 재전송 제어기(300)의 상태 기능부(335)로 입력되는 정보들은 패킷 데이터 제어 채널을 통해 수신된 정보가 된다. 그러면 순방향 패킷 데이터 제어 채널의 구조에 대하여 도 8a를 참조하여 설명한다. 패킷 데이터 제어 채널로 수신되는 정보는 MAC ID 영역(610)과 SDU 영역(620)의 2가지 영역으로 구분할 수 있다. 상기 MAC ID 영역(610)은 8비트로 구성되며, 상기 SDU 영역(620)은 13비트로 구성되어 총 패킷 데이터 제어 채널은 21비트의 정보가 수신된다. 상기 MAC ID 영역(620)과 상기 SDU 영역(620)으로 전송되는 정보들은 하기에서 정리되는 정보와 도 8b 내지 도 8d를 참조하여 더 상세히 살피기로 한다. 그러면 패킷 데이터 제어 채널을 통해 수신되어 상태 기능부(335)로 입력되는 정보들을 정리해 보면 하기와 같다.
1. MAC_ID_ALL0(MAC ID all zero) : 제1순방향 패킷 데이터 제어 채널(F-PDCCH0)이 월시 마스크(WALSH_MASK)를 포함하는지를 표시하는 정보이다. 즉, 상기 도 8a의 MAC ID 영역(610)에 포함된 정보가 모두 "0"인가 아닌가를 검사하는 것이다. 따라서 상기 MAC ID 영역(610)에 모든 정보가 "0"인 경우 월시 마스크가 포함되었음을 의미하고, "1"인 경우 월시 마스크가 포함되지 않았음을 의미하도록 구성할 수 있다. 물론 이와 반대로 구성할 수도 있다. 즉, 도 8d에 도시한 바와 같이 패킷 데이터 제어 채널로 수신되는 정보 중 MAC ID 영역(610)의 정보가 모두 "0"인 경우 SDU 영역(620)에는 13비트의 월시 마스크 정보가 포함되어 전달된다.
2. MAC_ID_OK : 제1순방향 패킷 데이터 제어 채널(F-PDCCH0) 또는 제2순방향 패킷 데이터 제어 채널(F-PDCCH1)의 셀 스위칭 조기종료 정보가 포함되거나 또는 활성모드로의 전환 정보가 포함되거나 또는 순방향 패킷 데이터 채널(F-PDCH) 복조 및 복호를 위한 제어 정보 중의 하나를 포함하는지를 표시하는 정보이다. 따라서 상기 정보가 "0"인 경우 상기한 어떠한 정보도 포함되지 않았음을 의미하고, "1"인 경우 상기한 정보들 중 하나의 정보가 포함되었음을 의미하도록 구성할 수 있다. 물론 이와 반대로 구성할 수도 있다.
3. PDCCH_ID(Packet Data Control Channel Identification) : MAC_ID_OK가 1인 경우 제어 정보가 포함된 순방향 패킷 데이터 채널(F-PDCCH)을 표시하는 정보이다. 따라서 상기 정보는 하나의 비트로 표현이 가능하며, 예를 들어 "0"인 경우 제1순방향 패킷 데이터 제어 채널(F-PDCCH0)을 의미하고, "1"인 경우 제2순방향 패킷 데이터 제어 채널(F-PDCCH1)을 의미하도록 구성할 수 있다. 물론 이와 반대로 구성할 수도 있다.
4. PDCCH0_SDU : 제1순방향 패킷 데이터 제어 채널(F-PDCCH0)의 복호 출력 중 상위 13 bits에 해당하는 정보이다. 즉, 상기 도 8a의 상위 13비트를 의미한다.
5. PDCCH1_SDU : 제2순방향 패킷 데이터 제어 채널(F-PDCCH1)의 복호 출력 중 상위 13 bits에 해당하는 정보이다. 즉, 상기 도 8a의 상위 13비트를 의미한다.
6. NUM_SLOTS : 순방향 패킷 데이터 제어 채널(F-PDCCH) 및 순방향 패킷 데이터 채널(F-PDCH)이 전송되는 slot의 개수를 표시하는 정보이다. 따라서 상기 정보는 전송되는 슬롯의 종류에 따라 비트 수가 결정되며, 가령 "0"인 경우 1 슬롯(slot) 동안 전송이 이루어지며, "1"인 경우 2 슬롯 동안 전송이 이루어지고, "2"인 경우 4 슬롯 동안 전송이 이루어지는 것으로 검출할 수 있다.
이상에서 전술한 바와 같이 제1순방향 패킷 데이터 제어 채널(F-PDCCH0) 또는 제2순방향 패킷 데이터 제어 채널(F-PDCCH1)의 복호 출력으로부터 공통적으로 얻을 수 있는 제어 정보는 세 가지 중 하나이다.
따라서 상기 3가지 정보 중 만일 상기한 제어 채널로부터 획득한 제어 정보가 순방향 패킷 데이터 채널(F-PDCH)의 복조 및 복호를 위한 정보라면 PDCCH0_SDU나 PDCCH1_SDU는 도 8b와 같은 형태를 가진다. 그러면 상기 도 8b를 참조하여 설명한다. 상기 도 8b에는 상기 SDU 영역(620)에 포함되는 데이터들을 도시하였다. 최상위 비트부터 3비트의 인코더 패킷의 크기(EP_SIZE)와 ARQ 채널의 ID를 알려주는 2비트의 ACID(ARQ channel ID)와 서브 패킷의 ID를 알리는 2비트의 SPID(Subpacket ID)와 새로운 패킷 데이터 전송마다 토글되는 값을 전송하는 1비트의 AI_SN(ARQ Identifier Sequence Number)과 마지막 월시 코드 인덱스 정보인 5비트의 LWCI(Last Walsh Code Index)를 가진다.
이와 달리 상기 3가지 정보 중 상기 제어 채널로부터 획득한 제어 정보가 셀 스위칭의 조기 종료나 활성 모드로의 전환을 지시하는 정보였다면, 제1패킷 데이터 제어 채널 또는 제2패킷 데이터 제어 채널의 SDU는 도 8c와 같은 형태를 가진다. 즉, 상기 도 8c에 도시한 바와 같이 인코더 패킷의 크기 정보를 알리는 최상위 3비트가 모두 1로 설정된 경우 이후 2비트는 완료 메시지 타입(EXT_MSG_TYPE)을 알리는 정보가 되고, 이후 SDU 영역(620)의 8비트는 모두 "0"의 값을 가진다. 이와 같은 정보가 수신되는 경우는 셀 스위칭의 조기 종료나 활성화 모드로의 전환을 지시하는 정보가 된다.
마지막으로 상기 3가지 정보 중 상기 제어 채널로부터 획득한 제어 정보가 월시 마스크의 정보인 경우 상기 도 8d와 같이 구성된다. 상기 도 8d에는 전술한 바와 같이 제1순방향 패킷 데이터 제어 채널(F-PDCCH0)의 복호 출력으로부터만 얻을 수 있는 월시 마스크(WALSH_MASK) 정보가 포함되었을 경우 SDU 영역(620)에는 월시 마스크 정보가 포함되며, MAC_ID 영역(610)은 모두 "0"의 값을 가지게 된다. 또한 하나의 사용자에게 2개의 패킷 데이터 제어 채널이 할당되는 경우에는 반드시 상기 도 8d와 같은 형태의 정보를 포함하여 전송하게 된다.
그러면 이상에서 살핀 바에 따라 상기 복합 재전송 상태부(310)와 상기 상태 기능부(335)에서 제2상태(S2)에서 수행되는 동작에 대하여 살펴본다.
순방향 패킷 데이터 제어 채널의 복호 출력인 제어 정보를 해석하는 장치 즉, 상기 상태 기능부(335)는 하기와 같은 기능을 수행한다.
첫째로, 제2상태(S2)의 다음의 상태(next state)에 대한 결정을 수행한다. 이와 같은 결정은 제2상태의 출력에 따라 결정되며, 상기 제2상태(S2)의 상태 천이 정보(F2_STATUS)는 후술되는 제어 흐름도에 근거하여 판단한다. 따라서 상기 제2상태(S2)에서 출력되는 상태 천이 정보에 대한 판단 과정은 후술되는 제어 흐름도를 참조하여 더 상세히 살피기로 하며, 여기서는 상태 천이 정보의 값에 따라 천이될 다음 상태만을 살핀다. 만일 제2상태(S2)의 상태 천이 정보(F2_STATUS)가 "0"인 경우 다음 상태는 제1상태(S1)로 결정한다. 그리고, 제2상태(S2)의 상태 천이 정보(F2_STATUS)가 "1"인 경우 다음 상태는 제3상태(S3)로 결정한다. 또한 제2상태(S2)의 상태 천이 정보(F2_STATUS)가 "2"인 경우 다음 상태는 제6상태(S6)로 결정한다.
또한 상기 상태 기능부(335)는 제2상태(S2)에서 상기한 바와 같이 결정된 각 다음 상태에서의 동작을 위한 파라미터를 생성한다. 다음 상태가 제1상태(S1)인 경우에는 대기상태이므로 생성할 파라미터가 없다. 그러나 다음 상태가 제3상태(S3)인 경우 즉, 패킷 데이터 채널(PDCH)의 복조(Demodulation)를 수행하는 경우에는 하기와 같은 파라미터들을 생성한다.
(1) EP_SIZE : 인코더 패킷 사이즈를 나타내는 정보
(2) ACID : ARQ 채널 ID를 나타내는 정보
(3) MOD_ORDER : 변조 차수를 나타내는 정보
(4) SP_LENGTH : 서브 패킷의 길이를 나타내는 정보
(5) FS_POINT : 서브 패킷의 첫 번째 부호 심볼의 위치를 나타내는 정보
(6) P_MAX : 부호 심볼 종류의 총 개수를 나타내는 정보
(7) QCTC_CLEAR : 터보 복호기 입력 버퍼의 리셋 여부를 나타내는 정보
(8) PRE_EP_SIZE : 이전 서브 패킷의 인코더 패킷 사이즈를 나타내는 정보
(9) PRE_EP_NEW : 이전 서브 패킷의 재전송 여부를 나타내는 정보
이와 달리 상기 제2상태(S2)의 다음 상태가 제6상태(S6)인 경우 즉, 역방향으로 응답 신호(ACK/NACK)를 송신하는 상태인 경우 상기 상태 기능부(335)는 하기와 같은 파라미터들을 생성해야 한다.
(1) INT_TRFC_R : 트래픽 수신을 상위 계층에 알리기 위한 인터럽트
(2) INT_CSW_T : 셀 스위칭 조기 종료를 상위 계층에 알리기 위한 인터럽트
(3) CTRL_MSG : F-PDCCH 복호 출력에 셀 스위칭의 조기 종료나 활성 모드로의 전환을 지시하는 연장 정보(extended message)의 포함 여부를 나타내는 정보
(4) INT_ACK: F-PDCH 복호 없이 결정된 ACK/NAK을 나타내는 정보
또한 제2상태(S2)는 상기 <표 1>에서 설명된 바와 같이 "DEMOD_SIG_GEN Subpacket의 New/Continue Decision, 상위계층 제어메시지 (Signaling message) 추출 및 PDCH Demodulation을 위한 parameters를 계산하는 상태"이다. 따라서 상기 상태 기능부(335)는 제어 정보의 오류를 검출하기 위한 유효성 검사(validity test)를 수행하여야 한다. 즉, 월시 마스크(WALSH_MASK) 정보의 유효성 검사를 수행하고 월시 마스크의 유효성 검사 값(WMASK_VLD)을 출력해야 하며, 월시 코드 개수의 유효성 검사를 수행하고 월시 코드 개수의 유효성 검사 값(WALSH_VLD)을 출력해야 한다. 그러면 상태 기능부(335)에서 상기한 동작이 수행되는 과정을 도 9를 참조하여 살펴본다.
도 9는 본 발명의 바람직한 실시 예에 따라 복합 재전송 제어기가 패킷 데이터 제어 채널로 수신된 정보를 이용하여 제2상태에서 다음 상태를 결정하기 위한 제어 흐름도이다. 이하 도 9를 참조하여 본 발명에 따른 복합 재전송 제어기에서 제2상태에서 다음 상태를 결정하기 위한 과정 및 그에 따라 제2상태에서 수행되는 동작에 대하여 상세히 설명한다.
본 발명에서는 패킷 데이터 제어 채널이 2개로 구성된다. 상기 2개의 패킷 데이터 제어 채널은 하기와 같이 전송될 수 있다. 첫째로, 상기 2개의 패킷 데이터 제어 채널이 모두 하나의 단말로 전송될 수도 있다. 둘째로, 하나의 패킷 데이터 제어 채널은 모든 단말로 방송(broadcast)되고, 다른 하나의 패킷 데이터 채널은 특정한 하나의 단말로 전송될 수 있다. 마지막으로 2개의 패킷 데이터 제어 채널은 각각이 다른 하나의 단말로 전송될 수도 있다. 따라서 단말은 2개의 패킷 데이터 제어 채널을 모두 검사해야만 한다. 또한 F2_DONE은 제2상태(S2)를 지시하는 플래그(SF2)가 시작되기 전 0으로 초기화되어 있어야 하며, 제2상태 플래그(F2_STATUS)가 1로 설정된다. 그러면 이러한 내용을 바탕으로 흐름도들을 살펴본다.
복합 재전송 제어기(300)의 상태 기능부(335)는 상기 패킷 데이터 제어 채널(PDCCH) 중 특정한 하나의 패킷 데이터 제어 채널을 선택하고, 상기 선택된 패킷 데이터 제어 채널의 MAC_ID 영역(610)이 모두 "0"의 값을 가지는가를 검사한다. 이때 선택되는 채널은 제1패킷 데이터 제어 채널(PDCCH0)이 된다. 즉, 제1패킷 데이터 제어 채널(PDCCH0)로 수신된 정보가 상기 도 8d에 도시한 바와 같은 경우인가를 검사하는 것이다. 이와 같이 상기 제1패킷 데이터 제어 채널(PDCCH0)의 맥 아이디 영역(610)이 모두 "0"의 값을 가지는 경우에는 패킷 데이터 제어 채널의 상위 13비트로 월시 마스크를 전송하는 경우가 된다. 상기 상태 기능부(335)는 700단계에서 맥 아이디 영역(610)을 검사한 결과 모두 "0"의 값을 가지는 경우 702단계로 진행하고, 그렇지 않은 경우 704단계로 진행한다. 상기 702단계로 진행하면, 현재 월시 마스크의 사용 불가능 영역이 전달되고 있는 상태이거나 또는 전달된 상태이므로 상기 상태 기능부(335)는 사용 불가능한 월시 코드를 알려주는 월시 코드의 위치 정보를 1로 설정하고, 상기 제1패킷 데이터 제어 채널(PDCCH0)의 SDU 영역(620)으로 수신된 13비트를 월시 마스크(WALSH_MASK[12:0])로 설정하고 704단계로 진행한다.
이와 같이 700단계 또는 702단계를 통해 704단계로 진행하면, 상기 상태 기능부(335)는 월시 마스크의 사용 불가능 영역의 위치 정보가 1로 설정되어 있으며, 동시에 MAC_ID가 정상적으로 수신되었는가를 검사한다. 이는 수신된 정보에 오류가 발생하였는가를 검사하는 과정이다. 따라서 상기 상태 기능부(335)는 704단계의 검사결과 월시 마스크의 사용 불가능 영역의 위치 정보가 1로 설정되어 있으며, 동시에 MAC_ID가 정상적으로 수신된 경우 708단계로 진행하여 제2상태 플래그(F2_STATUS)를 0으로 설정한 후 종료한다. 이와 달리 상기 704단계의 검사결과 상기 2 조건이 모두 동시에 만족하지 않는 경우 706단계로 진행한다. 상기 상태 기능부(335)는 706단계로 진행하면, 수신된 패킷 데이터 제어 채널에 위치한 13비트의 SDU 영역(620) 정보를 SDU 정보로 설정한다. 그런 후 710단계로 진행한다. 상기 상태 기능부(335)는 710단계로 진행하면, 상기 설정된 SDU 정보의 상위 3비트(SDU[12:10])가 "110"을 지시하는가를 검사한다. 상기 SDU 영역의 상위 3비트는 상기 도 8b 내지 도 8d를 통해 알 수 있는 바와 같이 "111"로 설정되거나 또는 인코더 패킷의 크기 정보를 알리는 필드이다. 그런데 상기 정보들 중 "110"은 사용하지 않는 정보가 된다. 이와 같이 "110"의 검사는 수신된 정보의 오류 여부를 검출하는 것이다. 즉, 상기 710단계의 검사결과 SDU 영역의 상위 3비트가 "110"으로 설정된 경우는 수신된 데이터에 오류가 존재하는 것이므로 712단계로 진행하여 제2상태 플래그(F2_STATUS)를 '0'으로 설정한다.
반면에 상기 상태 기능부(335)는 상기 710단계의 검사결과 "110"의 정보를 가지지 않는 경우 714단계로 진행하여 상기 SDU 영역(620)의 상위 3비트가 "111"로 설정되어 있는가를 검사한다. 이와 같이 SDU 영역(620)의 상위 3비트가 "111"로 설정되어 있는가의 검사는 패킷 데이터 제어 채널로 수신된 정보가 상기 도 8c와 같은 정보인가를 검사하기 위함이다. 상기 상태 기능부(335)는 상기 714단계의 검사결과 상기 SDU 영역의 상위 "111"로 설정된 경우 716단계로 진행한다. 상기 716단계는 도 8d와 같은 정보가 수신된 경우 이에 따라 수신된 정보를 추출하기 위한 과정이다. 즉, 도 8c에 도시한 2비트의 완료 메시지 타입(EXT_MSG_TYPE) 정보를 통해 셀 스위칭의 조기 종료를 지시하거나 활성 모드로의 전환을 지시하는 정보가 전달되었는지를 검출한다.
그러면 여기서 도 10을 참조하여 714단계의 상세한 과정에 대하여 설명한다. 도 10은 본 발명의 바람직한 실시 예에 따라 패킷 데이터 제어 채널의 수신 정보 검출 시 제어 흐름도 중 도 9의 A에 대한 부 흐름도이다. 상기 복합 재전송 제어기(300)의 상태 기능부(335)는 800단계로 진행하여 상기 SDU 영역의 하위 8비트(SDU[7:0])가 모두 "0"의 값을 가지는가를 검사한다. 이와 같은 검사는 패킷 데이터 제어 채널로 수신된 정보가 상기 도 8c와 같은 형태인가를 확정하기 위한 것이다. 상기 800단계의 검사결과 상기 SDU 영역의 하위 8비트가 모두 "0"의 값을 가지지 않는다면, 802단계로 진행하여 제2상태 플래그(F2_STATUS)를 "0"으로 설정한 후 상기 도 10의 루틴을 종료한다.
이와 달리 상기 SDU 영역의 하위 8비트가 모두 "0"의 값을 가진다면, 804단계로 진행한다. 이와 같이 804단계로 진행하는 경우 상기 SDU 영역의 13비트 중 상위 3비트와 하위 8비트가 모두 정상적으로 수신된 상태이므로, 완료 메시지 타입(EXT_MSG_TYPE)이 위치한 SDU[9]와 SDU[8]의 정보만 검사하면 모든 정보를 확인할 수 있다. 상기 복합 재전송 제어기(300)의 상태 기능부(335)는 804단계에서 상기 SDU 영역의 완료 메시지 타입의 상위 1비트(SDU[9])가 "0"의 상태인가를 검사한다. 상기 완료 메시지 타입은 "00"과 "01"로 설정하여 정의하였다. 따라서 상기 SDU 영역의 완료 메시지 타입의 상위 1비트는 "0"의 상태가 되어야만 한다. 그러나 만일 상기한 바와 다르게 비트 값들을 설정한 경우라면 상기 제어 흐름도는 약간의 수정을 가해야만 할 것이다.
그러면 이하에서는 상기와 같은 방법으로 완료 메시지 타입이 설정된 경우에 대하여 설명한다. 상태 기능부(335)는 완료 메시지 타입의 상위 1비트가 "0"의 상태인 경우 정상적인 상태이므로 808단계로 진행한다. 그러나 완료 메시지 타입의 상위 1비트가 "0"이 아닌 경우라면 806단계로 진행한다. 상기 상태 기능부(335)는 806단계로 진행하면, 제2상태 플래그(F2_STATUS)를 0으로 설정한 후 상기 도 10의 루틴을 종료한다. 즉, 오류의 메시지를 수신한 경우이므로 상기 루틴을 종료한다.
상기 상태 기능부(335)는 804단계의 검사결과 완료 메시지 타입의 상위 1비트가 "0"으로 설정된 경우 808단계로 진행하여 완료 메시지 타입의 나머지 한 비트(SDU[8])가 "0"의 값을 가지는가를 검사한다. 상기 808단계의 검사결과 완료 메시지의 나머지 한 비트가 "0"의 값을 가지는 경우 상기 상태 기능부(335)는 812단계로 진행하고, 그렇지 않은 경우 810단계로 진행한다. 상기 810단계로 진행하는 경우를 먼저 설명한다. 상기 완료 메시지 타입을 "01"로 설정한 것은 단말로 하여금 셀 스위칭을 조기 종료하라는 지시이다. 따라서 복합재전송 제어기(300)의 상태 기능부(335)는 상위 계층에 이를 알리기 위해 셀 스위칭 조기 종료(INT_CSW_T)라는 인터럽트(interrupt)를 발생시킨다. 상기 인터럽트를 받은 상위 계층은 셀 스위칭 조기 종료와 관계된 동작을 수행할 것이다. 상위 계층에서 수행되는 동작은 본 발명의 요지와 관련되지 않은 사항이므로 여기서는 더 살피지 않기로 한다.
한편 상기 808단계의 검사결과 완료 메시지 타입의 하위 비트가 "0"으로 설정된 경우 즉, 완료 메시지 타입의 정보가 "00"인 경우에 대하여 설명한다. 상기 완료 메시지 타입이 "00"으로 설정된 것은 단말로 하여금 제어 유지(control hold) 모드에서 벗어나 활성(active) 모드로 전환하라는 지시이다. 따라서 복합재전송 제어기(300)는 현재 단말의 상태를 나타내는 정보를 검사해야만 한다. 따라서 808단계에서 812단계로 진행한다. 상태 기능부(335)는 812단계로 진행하면, 활성 채널 모드(ACT_CH_MODE)가 "0"으로 설정되어 있는가를 검사한다. 상기 812단계의 검사결과 활성 채널 모드가 "0"으로 설정되어 있는 경우 상태 기능부(335)는 816단계로 진행한다. 그러나 활성 채널 모드가 "1"로 설정되어 있는 경우 즉, 단말이 제어 유지(control hold) 모드에 있을 경우 상위 계층에 트래픽이 수신되었음을 알리기 위해 트래픽 수신 인터럽트(INT_TRFC_R)라는 인터럽트를 발생시킨다. 상기한 인터럽트를 받은 상위 계층은 활성 모드로의 전환과 관계된 동작을 수행할 것이다.
이와 같은 동작을 수행한 후 상기 복합 재전송 제어기(300)의 상태 기능부(335)는 816단계로 진행하여 연장 정보를 수신하였다는 제어 메시지(CTRL_MSG)를 1로 설정한다. 그리고 상기 상태 기능부(335)는 이에 대한 ACK 송신을 지시하기 위해 INT_ACK을 0으로 설정한다. 상기한 동작을 완료한 후 상기 상태 기능부(335)는 이를 복합 재전송 상태부(310)로 알리기 위해 제2상태 플래그(F2_STATUS)를 2러 설정한다. 상기한 과정을 통해 상기 도 8b와 같은 메시지를 패킷 데이터 제어 채널을 통해 수신할 수 있다.
그러면 다시 도 9를 참조하여 이하의 과정들에 대하여 살피기로 한다. 상기 714단계의 검사결과 상기 SDU 영역의 상위 "111"로 설정되지 않은 경우 상기 상태 기능부(335)는 718단계로 진행한다. 상기 718단계는 상기한 과정들에 대하여 SDU 영역(620)의 상위 3비트의 검사결과 수신된 정보에 오류가 없으며, 도 8c와 같은 정보가 아닌 상태가 된다. 즉, 패킷 데이터 제어 채널을 통해 수신된 정보가 도 8c와 같은 정보가 아닌 상태이므로 다른 상태들을 검사하기 위해 718단계의 부 흐름을 수행한다. 상기 718단계의 부 흐름은 도 11을 참조하여 살피기로 한다.
도 11은 본 발명의 바람직한 실시 예에 따라 패킷 데이터 제어 채널의 수신 정보의 검출 시 제어 흐름도 중 도 9의 B에 대한 부 흐름도이다. 상기 도 11이 시작되는 경우는 제1패킷 데이터 제어 채널의 SDU(PDCCH0_SDU)나 제2패킷 데이터 제어 채널의 SDU(PDCCH1_SDU)를 통해 순방향 패킷 데이터 채널(F-PDCH)의 복조 및 복호를 위한 제어 정보가 전달된다는 것이다. 즉, MAC_ID_OK가 1이면서 SDU[12:10]이 111이 아닌 조건을 만족한 경우이다. 또한 상기 도 11의 부 흐름도에서 수행되는 동작은 크게 두 가지이다. 첫째는 순방향 패킷 데이터 채널(F-PDCH)의 복조를 위해 사용되는 월시 코드 인덱스를 생성하는 것이다. 그리고 둘째는 순방향 패킷 데이터 채널(F-PDCH)의 복조를 위해 사용될 월시 코드들의 개수가 유효한 지의 여부를 판별하는 것이다. 그러면 이하에서 상기 2가지 경우에 대하여 상세히 살피기로 한다.
상기 상태 기능부(335)는 900단계로 진행하여 상기 SDU 영역의 하위 5비트가 10진수의 28보다 작은가 즉, 2진수의 '11100'보다 작은가를 검사한다. 상기 SDU 영역의 하위 5비트는 순방향 패킷 데이터 채널(F-PDCH)의 복조를 위해 사용되는 월시 코드 인덱스를 알리는 값이 된다. 상기한 값보다 큰 경우는 월시 코드의 영역을 초과하였는가를 검사한 것이므로 월시 코드의 영역을 초과한 경우 상태 기능부(335)는 914단계로 진행한다. 상기 914단계로 진행하면, 상기 상태 기능부(335)는 월시 유효성이 없는 것으로 설정한 후 상기 도 11의 루틴을 종료한다.
그러나 상기 900단계에서 902단계로 진행하는 경우 상기 상태 기능부(335)는 자신에게 수신되는 패킷 데이터 채널의 월시 코드 인덱스의 종료 위치(MY_EIDX[4:0])를 상기 패킷 데이터 제어 채널로 수신된 상기 SDU 영역의 마지막 월시 코드 위치 값(LWCI)으로 설정한다. 이와 같이 자신에게 수신되는 패킷 데이터 채널의 월시 코드 인덱스의 종료 위치는 쉽게 검출할 수 있다. 그러나 자신에게 수신되는 패킷 데이터 채널의 월시 코드 인덱스의 시작위치(MY_SIDX)는 경우에 따라 다른 값을 가지게 된다. 이와 같이 패킷 데이터 채널의 윌시 코드 인덱스의 시작위치가 각 경우마다 다른 이유를 하기에서 살펴본다.
먼저 MAC_ID_ALL0가 1인 경우에는 제1패킷 데이터 제어 채널의 SDU(PDCCH0_SDU)에 월시 마스크(WALSH_MASK) 정보가 포함되어 있고, 제2패킷 데이터 제어 채널의 SDU(PDCCH1_SDU)에 순방향 패킷 데이터 채널(F-PDCH)의 복조 및 복호를 위한 정보가 포함되어 있다. 그러므로 현재 자신에게 수신되는 월시 코드 인덱스의 시작 위치(MY_SIDX)는 최초 값인 "0"이 된다. 또한 MAC_ID_ALL0가 "0"이고 패킷 데이터 제어 채널의 ID(PDCCH_ID)가 "0"인 경우 즉, 제1패킷 데이터 제어 채널로 수신된 경우라면, 다른 단말기를 위한 월시 코드 인덱스의 시작 위치와 상관없이 자기 단말기를 위한 월시 코드 인덱스의 시작 위치(MY_SIDX)는 0으로 결정된다.
한편, MAC_ID_ALL0가 0이고, 패킷 데이터 제어 채널의 ID(PDCCH_ID)가 1인 경우에는 다른 단말기를 위한 순방향 패킷 데이터 채널(F-PDCH)이 개설되었는지 그렇지 않았는지에 따라 자신에게 수신되는 월시 코드 인덱스의 시작 위치(MY_SIDX)가 다르게 결정된다. 즉, 제1패킷 데이터 제어 채널의 SDU(PDCCH0_SDU)가 다른 단말기를 위한 연장 정보를 포함하고 있다면 다른 단말기를 위한 순방향 패킷 데이터 채널(F-PDCH)은 개설되지 않은 상태이다. 따라서 해당 단말의 월시 코드 인덱스의 시작 위치(MY_SIDX)는 "0"이 된다. 그러나, 제1패킷 데이터 제어 채널의 SDU(PDCCH0_SDU)가 다른 단말기의 순방향 패킷 데이터 채널(F-PDCH)의 복조 및 복호에 필요한 정보를 포함하고 있다면 월시 코드의 시작 위치는 "0"을 사용할 수 없다. 즉, 다른 단말기를 위한 또 하나의 순방향 패킷 데이터 채널(F-PDCH)이 개설된 상태이므로 해당 단말로 수신되는 월시 코드 인덱스의 시작 위치(MY_SIDX)는 다른 단말기의 월시 코드 인덱스 시작 위치보다 하나 더 진행한 위치인 제1패킷 데이터 제어 채널의 SDU 값에 1을 더한 "PDCCH0_SDU[12:8]+1"의 값으로 결정된다. 여기서 제1패킷 데이터 제어 채널의 SDU 영역에 위치한 마지막 월시 인덱스 값에 1을 더한 값으로 설정하는 이유는 하기와 같다. 상기 마지막 월시 인덱스 값은 다른 사용자에게 할당된 월시 코드의 마지막 인덱스 값이 된다. 따라서 해당 단말에게 할당된 월시 코드의 시작 위치는 상기한 마지막 월시 코드의 인덱스 값의 바로 다음 인덱스부터 시작이기 때문이다.
이상에서 상술한 내용을 정리하면 하기의 <표 3>과 같이 도시할 수 있다. 이때, 결정된 해당 단말의 월시 코드 인덱스의 시작 위치(MY_SIDX)가 해당 단말의 월시 코드 인덱스의 종료 위치(MY_EIDX)보다 클 경우에는 오류가 발생한 것으로 간주해야 한다.
MAC_ID_ALL0 PDCCH_ID MY_SIDX MY_EIDX
0 0 00000 SDU[4:0]
1 PDCCH0_SDU[20:18]가 111인 경우: 00000 PDCCH0_SDU[20:18]가 111이 아닌 경우: PDCCH0_SDU[12:8]+1 SDU[4:0]
1 1 00000 SDU[4:0]
상기 <표 3>에 도시한 바와 전술한 내용을 토대로 다시 도 11을 참조하여 설명한다. 상기와 같이 902단계를 수행한 후 상태 기능부(335)는 904단계를 수행한다. 상기 상태 기능부(335)는 904단계에서 두 개의 패킷 데이터 제어 채널 모두를 검사한다. 상기 두 개의 패킷 데이터 제어 채널 중 하나의 패킷 데이터 제어 채널 즉, 제1패킷 데이터 제어 채널의 MAC_ID_ALL0가 "0"인가를 검사한다. 상기 검사결과 MAC_ID_ALL0가 "0"인 경우는 전술한 바와 같이 도 8d와 같은 형식의 데이터가 전달될 수 없음을 의미한다. 그렇다면 2개의 패킷 데이터 제어 채널을 통해 수신될 수 있는 정보는 상기 도 8c와 같은 정보와 도 8b에 도시한 정보가 수신되거나 또는 도 8b와 같은 정보가 2개의 패킷 데이터 제어 채널을 통해 수신되는 경우가 된다.
따라서 상기 복합 재전송 제어부(300)의 상태 기능부(335)는 904단계의 검사결과 MAC_ID_ALL0가 "0"이 아닌 경우 910단계로 진행하여 해당 단말의 월시 코드 인덱스의 시작 위치를 "0"의 값으로 설정한다. 이러한 경우는 제1패킷 데이터 제어 채널을 통해 수신되는 정보가 도 8d와 같은 정보가 되기 때문이다. 그러나 상기 904단계의 검사결과 MAC_ID_ALL0가 "0"의 값을 가지는 경우는 전술한 바와 같이 제1패킷 데이터 제어 채널과 제2패킷 데이터 제어 채널로 수신될 수 있는 상기 2가지 조합에 의한 검사를 수행해야 한다 따라서 상기 상태 기능부(335)는 906단계로 진행한다. 상기 상태 기능부(335)는 906단계에서 해당 단말의 패킷 데이터 채널 ID가 "0" 즉, 제1패킷 데이터 제어 채널(PDCCH0)인가를 검사한다. 상기 검사결과 제1패킷 데이터 제어 채널이 자신의 MAC_ID와 일치하는 경우 상기 상태 기능부(335)는 910단계로 진행하여 월시 코드 인덱스의 시작 위치(MY_SIDX)를 0으로 설정한다. 그러나, 제2패킷 데이터 제어 채널(PDCCH1)의 MAC_ID와 자신의 MAC_ID가 일치하는 경우 상기 상태 기능부(335)는 908단계로 진행한다.
상기 908단계로 진행하는 경우 상기 상태 기능부(335)는 제1패킷 데이터 제어 채널(PDCCH0)의 SDU 영역 중 최상위 3비트가 "111"로 수신되었는가를 검사한다. 이는 제1패킷 데이터 제어 채널(PDCCH0)로 수신된 정보가 도 8c와 같은 형태로 수신되었는가를 검사하기 위함이다. 상기 도 8c와 같은 형태가 제1패킷 데이터 제어 채널의 정보가 수신되는 경우라면, 셀 스위칭의 조기 종료 등에 해당하므로 다른 단말로는 월시 코드가 할당되지 않는다. 따라서 상기 상태 기능부(335)는 910단계로 진행하여 전술한 바와 같이 월시 코드 인덱스의 시작 위치를 설정한다.
그러나 상기 908단계의 검사결과 제1패킷 데이터 제어 채널(PDCCH0)로 수신된 상위 3비트가 "111"이 아닌 경우라면, 상기 도 8b와 같은 형태의 정보가 제1패킷 데이터 제어 채널과 제2패킷 데이터 제어 채널로 수신되는 경우이다. 또한 상기한 검사들로부터 해당 단말로 수신되는 패킷 데이터 제어 채널은 제2패킷 데이터 제어 채널이 되므로 다른 단말의 월시 코드의 마지막 위치가 자신의 월시 코드 인덱스의 시작 위치를 알 수 있는 정보가 된다. 따라서 상기 상태 기능부(335)는 912단계로 진행하여 타 단말에 할당된 즉, 제1패킷 데이터 제어 채널의 SDU 영역(620)의 마지막 월시 코드 인덱스 번호와 해당 단말의 마지막 월시 코드 인덱스 값의 크기를 비교한다. 이는 제1패킷 데이터 제어 채널로 수신된 즉, 타 단말에서 사용하는 마지막 월시 코드 인덱스 값이 해당 단말의 마지막 월시 코드 인덱스 값보다 크다면 비정상적인 데이터가 된다. 따라서 상기 상태 기능부(335)는 912단계에서 제1패킷 데이터 제어 채널의 마지막 월시 코드 인덱스(PDCCH0_S여[12:8])가 해당 단말의 마지막 월시 코드 즉, 상기 902단계에서 설정한 마지막 월시 코드 인덱스(MY_EIDX[4:0])보다 작은가를 검사한다. 상기 912단계의 검사결과 제1패킷 데이터 제어 채널의 마지막 월시 코드 인덱스(PDCCH0_S여[12:8])가 해당 단말의 마지막 월시 코드보다 작지 않은 경우 914단계로 진행하여 월시 코드의 비정상을 알리기 위해 WALSH_VLD 값을 "0"으로 설정한 후 상기 루틴을 종료한다.
그러나 정상적인 경우라면 912단계의 검사결과 해당 단말의 마지막 월시 코드 인덱스 값이 큰 값을 가진다. 따라서 상기 상태 기능부(335)는 916단계로 진행한다. 이와 같이 916단계로 진행하면 상기 상태 기능부(335)는 해당 단말의 월시 인덱스의 시작 위치(MY_SIDX[4:0])를 제1패킷 데이터 제어 채널의 SDU[12:8]에서 1 더한 값으로 설정한다. 즉, 타 단말의 패킷 데이터 제어 채널의 마직막 다음 위치를 월시 코드 인덱스의 시작 위치로 설정하는 것이다. 그런 후 상기 상태 기능부(335)는 918단계로 진행한다. 상기 상태 기능부(335)는 918단계로 진행하면, 해당 단말의 월시(MY_WALSH)를 생성한다. 그리고, 5비트의 정보로 해당 단말의 월시 숫자(NUM_MY_WALSH[4:0])를 계산한다. 이와 같이 해당 단말의 월시 숫자를 계산한 후 상기 상태 기능부(335)는 920단계로 진행하여 해당 단말의 월시 숫자의 유효성 검사를 수행한 후 상기 루틴을 종료한다. 이와 같은 과정을 수행한 후 상기 도 11의 루틴이 종료되면 상태 기능부(335)는 도 9의 720단계로 진행한다.
그러면 다시 도 9를 참조하여 제2상태(S2)에서 상태 기능부(335)가 수행하는 동작에 대하여 살펴본다. 상기 상태 기능부(335)는 B의 부 흐름도를 수행한 후 720단계로 진행하면, 상기 B의 부 흐름도를 수행한 결과 월시 코드가 유효한 코드인가 즉, WALSH_VLD = 1인가를 검사한다. 상기 720단계의 검사결과 월시 코드가 유효한 경우 724단계로 진행하여 C의 부 흐름도를 수행하게 된다. 그러나, 720단계의 검사결과 월시 코드가 유효하지 않은 것으로 검사된 경우라면, 상기 상태 기능부(335)는 제2상태(S2)의 플래그 상태(F2_STATUS) 값을 "0"으로 설정한 후 상기 제2상태의 처리를 완료한다. 이러한 플래그의 상태 값을 통해 상기 복합 재전송 제어기(300)의 복합 재전송 상태부(310)는 다음 상태를 지시하고, 그에 따른 동작을 수행하게 된다.
그러면 이하에서 도 9의 C 부 흐름도를 도 12를 참조하여 상세히 살피기로 한다. 상기 도 12는 본 발명의 바람직한 실시 예에 따라 패킷 데이터 제어 채널의 수신 정보의 검출 시 제어 흐름도 중 도 9의 C에 대한 부 흐름도이다. 상기 도 12의 주요 동작은 패킷 데이터 채널(PDCH)의 복조 및 복호를 위한 여러 가지 정보들을 생성하는 과정이다.
상기 상태 기능부(335)는 C의 부 흐름도로 진입하면, 1000단계로 진행하여, 현재 단말의 모드가 활성 모드인가를 검사한다. 즉, 상기 단말의 현재 모드가 활성 모드(ACT_CH_MODE)인지 아니면, 제어 유지 모드(control hold mode)에 있는지를 검사하여야 하기 때문이다. 만일 상기 단말이 제어 유지 모드(control hold mode)를 유지하고 있는 상태라면 패킷 데이터 채널로 수신되는 데이터를 처리하기 위해 이에 상응하는 조치를 취해야 한다. 즉, 복합재전송 제어기는 상위 계층에 트래픽이 수신되었음을 알리기 위해 트래픽 수신 인터럽트 신호(INT_TRFC_R)를 발생시켜야 한다. 이를 통해 인터럽트를 받은 상위 계층과 활성 모드로의 전환과 관계된 동작을 수행할 것이다. 이상의 동작이 완료된 후 제2상태(S2)의 상태 플래그(F2_STATUS)를 2로 설정하여 다음 상태(next state)가 제6상태(S6)임을 표시해야 한다.
이와 달리 단말이 활성 모드에 있는 경우 SDU로부터 ARQ 채널 ID(ACID)와 서브패킷 ID(SPID) 정보를 추출한 후 순방향 패킷 데이터 채널(F-PDCH)의 복조 및 복호에 사용되는 파라미터들을 결정한다. 즉, 변조 차수(MOD_ORDER), P_MAX, 서브패킷 길이(SP_LENGTH), CR_TURBO, FS_POINT를 계산한다. 그리고 이와 동시에, 현재 수신한 서브 패킷이 재전송에 의한 서브 패킷인지의 여부에 따라 터보 복호기 입력 버퍼의 리셋 여부를 나타내는 터보 복호기의 데이터 삭제(QCTC_CLEAR)를 결정하게 된다. 순방향 패킷 데이터 채널(F-PDCH)의 복조 및 복호에 사용되는 파라미터들의 계산 과정은 일반적으로 수행되어야 할 과정이므로 그 상세한 설명은 생략한다. 이상의 동작이 완료된 후 제2상태(S2)의 상태 플래그(F2_STATUS)는 "1"로 설정되어 다음 상태(next state)가 제3상태(S3)임을 표시한다.
그러면 이러한 내용을 토대로 다시 도 12를 참조하여 설명하기로 한다. 상기 복합 재전송 제어기(300)의 상태 기능부(335)는 활성 채널 모드가 "0"으로 설정된 경우 즉, 현재 상태가 제어 유지상태인 경우 1010단계로 진행한다. 상기 상태 기능부(335)는 1010단계로 진행하면, 트래픽 데이터의 수신을 알리는 인터럽트(INT_TRFC_R)를 생성하여 이를 상위로 전달한다. 그리고 상기 상태 기능부(335)는 1012단계로 진행하여 제어 메시지를 "1"로 설정하며, 초기 응답(INT_ACK)을 "1"로 설정한다. 이후 상기 상태 기능부(335)는 제2상태(S2)의 상태 플래그(F2_STATUS)를 "2"로 설정하여 다음 상태가 제6상태(S6)임을 상기 복합 재전송 상태부(310)로 전달한다.
이와 달리 상기 1000단계의 검사결과 상기 단말의 현재 상태가 활성 상태인 경우 상기 복합 재전송 제어기(300)의 상태 기능부(335)는 1002단계로 진행한다. 상기 상태 기능부(335)는 1002단계로 진행하면, 상기 패킷 데이터 제어 채널을 통해 수신된 SDU 영역의 상위 3비트(SDU[12:10])를 상기 인코더 패킷의 크기로 설정한다. 그리고, 상기 상태 기능부(335)는 자동 응답 채널 ID(ACID)를 상기 패킷 데이터 제어 채널을 통해 수신된 SDU 영역의 상기 상위 3비트를 제외한 이후 2비트(SDU[9:8])로 설정한다. 또한 상기 상태 기능부(335)는 상기 서브패킷 ID를 상기 자동 응답 채널 ID로 설정된 이후 영역 즉, 상기 도 8b에 도시한 바와 같은 영역에서 2비트(SDU[7:6])를 추출하여 설정한다.
상기 상태 기능부(335)는 상기와 같이 1002단계를 수행한 후 1004단계로 진행하여 변조 차수(MOD_ORDER)와, P_MAX와, 서브패킷의 길이(SP_LENGTH)와, CR_TURBO 및 FS_POINT를 계산한다. 상기 상태 기능부(335)는 1004단계에서 계산된 값을 가지며, 이후 1006단계로 진행한다. 상기 전송상태에 따라 토글되어 변경되는 자동 재전송 지시 시퀀스 번호(AI_SN)를 이용하여 현재 전송된 인코더 패킷이 초기 전송 인코더 패킷인지 또는 재전송 인코더 패킷인지를 결정한다. 만일 상기 전송된 인코더 패킷이 초기 전송이라면, 상기 터보 복호기에 저장된 데이터를 삭제하여 새로운 데이터를 저장하도록 해야만 한다. 이와 달리 상기 전송된 인코더 패킷이 재전송된 패킷이라면, 상기 터보 복호기에 저장된 데이터와 연성 결합(soft-combining)을 수행하여 저장해야만 한다. 이에 따라 상기 상태 기능부(335)는 인코더 패킷이 새로운 패킷인지 아닌지의 여부에 따라 설정한다.
상기한 바와 같은 결정을 수행한 후 상기 상태 기능부(335)는 1008단계로 진행하여 이전에 수신된 인코더 패킷을 새로운 인코더 패킷으로 설정한다. 그리고 이전의 인코더 패킷 크기를 현재 수신된 새로운 인코더 패킷으로 설정한 후 1010단계로 진행한다. 상기 상태 기능부(335)는 상기한 바와 같은 정보를 생성한 후 제2상태(S2)의 상태 플래그(F2_STATUS)를 "1"로 설정하여 다음 상태가 제3상태(S3)임을 알린다. 이와 같은 과정을 통해 이후 패킷 데이터 채널로 수신되는 정보들을 정확히 변조 및 복조할 수 있게 된다.
다음으로 본 발명에서 언급되고 있던 월시 코드 개수의 유효성 검사에 대하여 살펴본다. 월시 코드 개수의 유효성 검사는 자신이 사용할 수 있는 월시 코드의 숫자를 검사함으로써 확인할 수 있다. 이를 다시 설명하면, 해당 단말에서 사용 가능한 월시(NUM_MY_WALSHS)가 해당 패킷 데이터 채널의 SDU로 수신된 EP_SIZE 즉, SDU[12:10]과 NUM_SLOTS의 조합으로부터 존재 가능한 월시 코드 개수인지를 검사한다. 이를 통해 가능한 월시 코드 개수인 경우 WALSH_VALID를 1로 설정한다. 그러나 만일 사용 가능한 월시 코드 개수가 아닐 경우 WALSH_VALID를 0으로 설정함으로써 NUM_MY_WALSHS의 유효성 여부를 결정하는 것을 의미한다.
본 발명에서 사용하는 방식은 1xEV-DV의 물리계층(physical layer)의 표준인 "3GPP2 C.S0002-C"에는 RC10의 순방향 패킷 데이터 채널(F-PDCH) 파라미터들의 조합들을 표(Table 3.1.3.1.13.4-1 in 3GPP2 C.S0002-C)로 정의해 놓고 있다. 상기 표에 정의된 파라미터들의 조합은 모두 127가지이며, 이들은 각각 서로 다른 인코더 패킷의 크기(EP_SIZE)와, 슬롯 수(NUM_SLOTS)와, 해당 단말에서 사용 가능한 월시의 수(NUM_MY_WALSHS)를 가진다. 이 127개의 조합들을 같은 데이터 전송률(data rate)을 가지는 것들끼리 분류해 보면, 모두 23개의 서로 다른 데이터 전송률(data rate)들이 존재함을 알 수 있다. 이때 데이터 전송률(data rate)은 인코더 패킷의 크기(EP_SIZE)와 슬롯의 수(NUM_SLOTS)만의 함수이므로, 127개의 서로 다른 파라미터 조합들은 서로 다른 인코더 패킷의 크기(EP_SIZE)와, 슬롯의 수(NUM_SLOTS)를 가지는 23개의 집합들 중 하나에 속하는 셈이 된다.
상기한 23개의 인코더 패킷의 크기(EP_SIZE)와, 슬롯의 수(NUM_SLOTS) 집합들 각각은 하나 이상의 인코더 패킷의 수(EP_SIZE), 슬롯의 수(NUM_SLOTS)와, 해당 단말에서 사용 가능한 월시 코드의 수(NUM_MY_WALSHS) 조합을 원소로 가지고 있으므로, 인코더 패킷의 크기(EP_SIZE)와, 슬롯의 수(NUM_SLOTS) 집합이 가질 수 있는 해당 단말에서 사용 가능한 월시 코드의 수(NUM_MY_WALSHS)의 종류는 한 개 이상이다. 이때 RC10의 순방향 패킷 데이터 채널(F-PDCH)의 파라미터 표로부터, 하나의 인코더 패킷의 크기(EP_SIZE)와, 슬롯의 수(NUM_SLOTS) 집합이 가질 수 있는 해당 단말에서 사용 가능한 월시 코드의 수(NUM_MY_WALSHS)는 16개의 서로 다른 집합들 중 하나에 대응됨을 발견할 수 있다. 이를 표로 도시하면 하기의 <표 4>와 같이 도시할 수 있다. 하기에 도시할 <표 4>는 상기 23개의 인코더 패킷의 크기(EP_SIZE)와, 슬롯의 수(NUM_SLOTS)의 집합을 크기 순서대로 0부터 22까지 분류(DR_IDX: 0??22)하고 각 집합이 가질 수 있는 해당 단말에서 사용 가능한 월시 코드의 수(NUM_MY_WALSHS)를 16개의 집합들(NWS_IDX: 0??15) 중 하나로 대응시킨 결과이다.
예를 들어, DR_IDX가 16인 인코더 패킷의 크기(EP_SIZE)와, 슬롯의 수(NUM_SLOTS) 집합 즉, 인코더 패킷의 크기(EP_SIZE)와, 슬롯의 수(NUM_SLOTS)가 (100, 00)인 집합은 인코더 패킷의 크기와(EP_SIZE)와, 슬롯의 수(NUM_SLOTS)와, 해당 단말에서 사용 가능한 월시 코드의 수(NUM_MY_WALSHS)가 각각 (100, 00, 21), (100, 00, 23), (100, 00, 26)인 3개의 원소를 포함하고 있다. 따라서 DR_IDX=16인 인코더 패킷의 크기(EP_SIZE)와, 슬롯의 수(NUM_SLOTS) 집합의 해당 단말에서 사용 가능한 월시 코드의 수(NUM_MY_WALSHS)는 NWS_IDX가 11인 집합 즉, {21, 23, 26}에 대응될 수 있다.
하기의 <표 4>에서 NWS_IDX는 대응되는 해당 단말에서 사용 가능한 월시 코드의 수(NUM_MY_WALSHS)에 대한 집합을 가리키는 인덱스이며, NOW_SET은 최하위 비트(LSB)부터 최상위 비트(MSB)까지 각각 1부터 28까지의 해당 단말에서 사용 가능한 월시 코드의 수(NUM_MY_WALSHS)의 존재 가능성 여부를 나타낸다. 즉, 하기 <표 4>에서는 "0"으로 표시한 것은 존재 가능성 없음을 의미하고, "1"로 표시한 것은 존재 가능성이 있음을 의미한다. 예를 들어, NWS_IDX=11인 경우 NOW_SET은 최하위 비트(LSB)부터 21번째, 23번째, 26번째 위치의 bit가 1로 표시되어 있으므로, NUM_MY_WALSHS가 21, 23, 26 중의 하나가 되어야 하고 그 외의 값을 NUM_MY_WALSHS로 가지는 경우는 발생 불가능하므로 WALSH_VLD를 0으로 설정하게 된다.
이상에서 설명한 NUM_MY_WALSHS의 유효성 검사 과정을 정리하면 하기와 같다.
1. (EP_SIZE, NUM_SLOTS) 조합에 해당하는 DR_IDX를 부여한다.
2. 부여된 DR_IDX에 해당하는 NOW_SET에서 bit position이 NUM_MY_WALSHS인 bit의 값 즉, NOW_SET[NUM_MY_WALSHS]를 읽어 이 값을 WALSH_VALID 값으로 설정한다.
(EP_SIZE, NUM_SLOTS) DR_IDX Set of NUM_MY_WALSHS NWS_IDX NOW_SET
000 00 0 3,4,5,6,7,8,11,19 0 0000000001000000010011111100
000 01 1 2,3,4,5,8 1 0000000000000000000010011110
000 10 2 1,2,3,4 2 0000000000000000000000001111
001 00 4 6,7,8,9,10,11,12,15,19 3 0000000001000100111111100000
001 01 5 3,4,5,6,7,8,11,19 0 0000000001000000010011111100
001 10 6 2,3,4,6,11 4 0000000000000000010000101110
010 00 8 11,12,13,15,17,19,21,22,25 5 0001001101010101110000000000
010 01 9 6,7,8,9,10,11,13,15,20 6 0000000010000101011111100000
010 10 10 3,4,5,6,7,9,14 7 0000000000000010000101111100
011 00 12 16,18,20,23,25,28 8 1001010010101000000000000000
011 01 13 8,9,10,11,13,15,17,20,23 9 0000010010010101011110000000
011 10 14 4,5,6,7,8,9,11,14,20 10 0000000010000010010111111000
100 00 16 21,23,26 11 0010010100000000000000000000
100 01 17 11,12,13,15,17,19,21,22,25 5 0001001101010101110000000000
100 10 18 6,7,8,9,10,11,13,16,20 12 0000000010001001011111100000
101 00 20 26 13 0010000000000000000000000000
101 01 21 13,14,15,17,19,21,23,25,27 14 0101010101010111000000000000
101 10 22 7,8,9,11,12,14,16,19 15 0000000001001010110111000000
이상에서 설명한 도 9의 내용을 다시 전체로 요약해서 살펴보면 하기와 같다. 상기 도 9는 전체를 크게 3개의 구성 요소로 구분할 수 있다. 여기서 전술한 바와 같이 제2상태 완료 플래그(F2_DONE)는 제2상태(S2) 시작 전 0으로 초기화되어 있어야 하며, 제2상태(S2)의 상태 플래그(F2_STATUS)가 결정된 후 1로 설정된다. 이와 같이 구성한 후 상기 도 9의 3부분 중 첫 번째 부분은 제1패킷 데이터 제어 채널의 SDU 영역(PDCCH0_SDU)을 통해 사용 불가능한 월시 코드의 위치 정보인 월시 마스크(WALSH_MASK)가 전달되었는지를 검사하고 그 이후 과정을 수행하는 부분이다. 상기 첫 번째 경우에서 MAC_ID_ALL0가 1인 경우 사용 불가능한 월시 코드의 위치 정보가 PDCCH0_SDU를 통해 이미 전달되었거나 현재 전달되고 있는 경우이다. 그러므로, 월시 코드의 유효성(WMASK_VLD)을 1로 설정하고 복합 재전송 제어기(300) 내부의 레지스터인 월시 마스크(WALSH_MASK)를 제1패킷 데이터 제어 채널의 SDU 영역(PDCCH0_SDU)의 상위 13bits로 설정한다.
다음으로 두 번째 부분은 제1패킷 데이터 제어 채널의 SDU 영역(PDCCH0_SDU) 또는 제2패킷 데이터 제어 채널 SDU 영역(PDCCH1_SDU)을 통해 연장 정보(extended message)를 획득하는 과정이다. 즉, 상기 2번째 부분은 셀 스위칭의 조기 종료를 지시하거나 활성 모드로의 전환을 지시하는 정보가 전달되었는지를 검사한다. 그리고 이후 과정을 수행하는 부분으로 부 흐름도 A와 관련된 부분이다.
마지막으로 세 번째 부분은 제1패킷 데이터 제어 채널의 SDU 영역(PDCCH0_SDU) 또는 제2패킷 데이터 제어 채널의 SDU 영역(PDCCH1_SDU)을 통해 순방향 패킷 데이터 채널(F-PDCH)의 복조 및 복호를 위한 정보가 전달되었는지를 검사한다. 그리고 그 이후 과정을 수행하는 부분으로 부 흐름도 B와, 부 흐름도 C와 관련된 부분이다. 부 흐름도 B는 순방향 패킷 데이터 채널(F-PDCH)의 복조를 위해 사용될 월시 코드 인덱스를 생성한다. 그리고 순방향 패킷 데이터 채널(F-PDCH)의 복조를 위해 사용될 월시 코드들의 개수에 대한 오류 여부를 판단하는 흐름도이다. 또한 부 흐름도 C는 순방향 패킷 데이터 채널(F-PDCH)의 복조 및 복호를 위한 파라미터들의 계산과 수신한 서브 패킷의 재전송 여부를 판단하는 파라미터 값인 QCTC_CLEAR의 결정을 담당하는 흐름도이다.
상기한 도 9의 전체 흐름도에서 702단계 또는 708단계 또는 712단계 또는 716단계 또는 722단계로 진행되는 사건들은 입력되는 제1패킷 데이터 제어 채널의 SDU 영역(PDCCH0_SDU)이나 제2패킷 데이터 제어 채널의 SDU 영역(PDCCH1_SDU)에 오류가 존재하여 다음 상태(next state)가 제1상태(S1)로 결정되거나, 제1패킷 데이터 제어 채널의 SDU 영역(PDCCH0_SDU) 혹은 제1패킷 데이터 제어 채널의 SDU 영역(PDCCH1_SDU)을 통해 연장 정보를 수신하는 과정이다. 즉, 셀 스위칭의 조기 종료를 지시하거나 활성 모드로의 전환을 지시하는 정보가 전달되어 다음 상태(next state)가 제6상태(S6)로 결정되는 경우이다. 반면, 부 흐름도 C까지 진행되었을 경우에는 다음 상태(next state)가 제3상태(S3) 또는 제6상태(S6) 중의 하나로 결정될 것이다.
상기한 흐름도에서 사용되는 MAC_ID_ALL0, MAC_ID_OK, PDCCH_ID는 모두 순방향 패킷 데이터 제어 채널(F-PDCCH)을 위한 복호기로부터 입력되는 값들인데, 이들 입력 값들의 조합이 의미하는 바를 살펴보면 하기와 같다. 먼저, SF2가 동작을 시작하는 경우는 MAC_ID_ALL0나 MAC_ID_OK가 1인 경우이다. 이때 가능한 MAC_ID_ALL0 및 MAC_ID_OK의 조합은 하기의 <표 5>와 같이 (0, 1), (1, 0), (1, 1)의 세 가지이다. PDCCH_ID의 값이 0이냐 1이냐에 따라 제1패킷 데이터 제어 채널의 SDU 영역(PDCCH0_SDU)과 제2패킷 데이터 제어 채널의 SDU 영역(PDCCH1_SDU)의 상위 13비트들이 나타내는 정보는 <표 5>과 같다.
MAC_ID_ALL0 MAC_ID_OK PDCCH_ID PDCCH_SDU의 상위 13bits이 나타내는 정보
0 1 0 PDCCH0: F-PDCH 복조 및 복호를 위한 정보 PDCCH1: Uncertain
1 PDCCH0: Uncertain PDCCH1: F-PDCH 복조 및 복호를 위한 정보
1 0 0 or 1 PDCCH0: WALSH_MASK PDCCH1: No information
1 1 PDCCH0: WALSH_MASK PDCCH1: F-PDCH 복조 및 복호를 위한 정보
이상에서 설명한 바와 같은 동작을 통해 복합 재전송 제어기를 물리 계층에 둠으로써 상위 계층의 부하를 줄일 수 있으며, 제2상태로 정의된 상태에서 패킷 데이터 제어 채널로 수신되는 정보들의 오류 또는 정상 여부를 판단함으로써 1x EV-DV 시스템에서 효율적으로 사용할 수 있다.
그러면 이러한 구성을 수행하기 위한 블록 구성을 도 13을 참조하여 살펴보기로 한다. 도 13은 본 발명의 제1실시 예에 따라 제2상태의 처리를 수행하기 위한 블록 구성도이다. 상기 도 13의 구성은 전술한 도 6에서 설명한 내용들 중 제2상태(S2)의 처리를 수행하기 위한 기능 블록들로 구성하였다.
상기 도 13의 제2상태 제어부(1311)는 이상에서 전술한 제2상태(S2)에서 수행되는 각종 제어 과정을 수행한다. 이러한 제어 내용은 후술되는 각 기능 블록들과 함께 다시 간략히 설명될 것이다. 월시 마스크 갱신부(1312)는 제어 채널 복호기(410)로부터 수신되는 SDU 영역(620)의 정보와 MAC ID 영역의 정보를 수신한다. 그리고 상기 정보가 MAC_ID_ALL0를 지시하는가를 검사한다. 이는 도 8에서 전술한바와 같이 MAC_ID_ALL0를 지시하는 경우 제1순방향 패킷 데이터 제어 채널(F-PDCCH0)이 월시 마스크(WALSH_MASK)를 포함한다는 것이다. 따라서 상기 월시 마스크 갱신부(1312)는 WALSH_MASK[12:0]와, 월시 마스크 유효성 검사(WMASK_VLD)를 수행하고, 그 결과를 상기 제2상태 제어부(1311)로 출력한다. 이에 따라서 제2상태 제어부(1311)는 월시 마스크를 갱신할 수 있다.
SDU 갱신부(1313)는 제어 채널 복호기(410)로부터 패킷 데이터 채널의 ID와 제1패킷 데이터 제어 채널의 SDU(PDCCH0_SDU) 정보 및 제2패킷 데이터 제어 채널의 SDU(PDCCH1_SDU) 정보 즉, 제1순방향 패킷 데이터 제어 채널(F-PDCCH0)과 제2순방향 패킷 데이터 제어 채널(F-PDCCH1)의 복호 출력 중 상위 13 bits에 해당하는 정보를 수신하여 SDU를 갱신한다. 즉, 상기 상위 13 bits의 정보는 도 8b 내지 도 8d에 도시한 바와 같이 각각의 경우마다 그 의미하는 바가 서로 상이하게 된다. 이와 같은 정보를 수신하여 SDU 갱신 정보를 상기 제2상태 제어부(1311)로 출력한다. 즉, 월시마스크 갱신부(1312)에서 출력된 WMASK_VLD가 '1'이고, 패킷 데이터 체어 채널 복호기(PDCCH Decoder)의 복조 결과 수신한 MAC_ID_OK 값이 '1'인 경우에 제2상태 제어부(1311)는 기지국에 의해 결정된 PDCCH_ID에 해당하는 PDCCH_SDU를 내부 SDU로 갱신한다.
다음으로 외부 메시지 처리부(External Message processing unit)(1314)는 상술한 과정에서 갱신된 SDU의 외부 메시지(Eternal Message) 검출용 상위 3bit가 '111'인 경우에만 그에 해당하는 동작을 수행한다. 즉, 전술한 도 8c와 같은 경우에만 동작을 수행한다. 월시 수 유효성 검증부(1315)는 인코더 패킷의 크기(EP_SIZE)와 전송되는 슬롯의 수(NUM_SLOTS)를 수신하여 월시 수에 대한 유효성 검사를 수행하고 그 결과를 WALSH_VLD 신호로 출력한다. 이와 같이 월시 수 유효성 검증부(1315)의 출력 신호는 제2상태 제어부(1311)에서 수신하여 월시의 수가 유효한 정보인지를 검사하게 된다. 월시 데이터 생성부(1316)는 상기 과정에서 갱신된 SDU의 외부 메시지(External Message) 검출용 상위 3비트가 '111'도 아니고, '110'(비 정상적인 경우 - abnormal case)도 아닌 경우에 월시 마스크(WALSH_MASK)와 계산된 인덱스의 시작 위치(MY_SIDX)를 통해 월시 데이터를 생성한다. 이때 월시의 수(number of walsh - NOW_CNT)도 생성하여 상기 월시의 수를 상기 제2상태 제어부(1311)과 상기 월시 수 유효성 검증부(1315)로 동시에 출력한다. 이와 같이 월시 개수의 유효성 검사 결과 월시의 개수가 유효한 것으로 검사되면, PDCH 복조 파라미터 생성부(1317)는 패킷 데이터 채널로 수신된 패킷 데이터의 복조를 위한 파라미터를 계산하고, 그에 따라 복조 파라미터를 생성하여 출력한다.
이하에서는 이상에서 설명한 바와 다른 본 실시 예에 대하여 살펴보기로 한다. 즉, 본 발명에 따른 S2 상태에서 데이터 처리를 보다 빠르게 처리하기 위한 방법을 설명하기로 한다.
전술한 도 11과 도 12에 따르면, F-PDCH의 복조를 위해 사용되는 월시 코드 인덱스를 생성한 결과로부터 얻은 해당 단말 즉, 자신의 단말에서 사용할 월시의 수(NUM_MY_WALSHs : number of my walsh)가 자신의 월시 유효성 테스트(NUM_MY_WALSHs Validity test)에 사용되므로, 이후에 진행되어지는 도 12의 흐름도에서 활성 채널 모드(ACT_CH_MODE)에 따라서 상태(State) 천이가 제6상태(S6)인 경우에도 불필요한 월시 코드 인덱스를 생성하여 월시 디커버링(walsh decovering)을 수행하는 결과를 가져온다. 즉, 제6상태(S6)는 기지국으로 응답 신호(ACK/NAK)를 전송하는 상태이므로, 복조기(demodulator)에서 월시 디커버링이 필요하지 않은 상태가 된다. 그러나 실제로 이러한 동작이 이루어질 수 있다. 실제로 월시 디커버링 동작은 매 1.25ms마다 수행이 가능하므로 비록 실제 RC-10의 할당(assign)시 자신의 월시 번호(NUM_MY_WALSH)의 생성 후 제6상태(S6)로 천이하는 경우의 발생빈도가 적다고 하더라도 불필요한 동작은 전력 소모 등의 면에서 제한해야 한다. 따라서 이하에서는 상술한 방법보다 좀 더 효율적인 실시 예에 대하여 살펴보도록 한다.
도 14는 본 발명의 다른 실시 예에 따른 패킷 데이터 제어 채널의 수신 정보의 검출 시 제어 흐름도 중 도 9의 B에 대한 부 흐름도이다. 상기 도 14가 시작되는 경우는 제1패킷 데이터 제어 채널의 SDU(PDCCH0_SDU)나 제2패킷 데이터 제어 채널의 SDU(PDCCH1_SDU)를 통해 순방향 패킷 데이터 채널(F-PDCH)의 복조 및 복호를 위한 제어 정보가 전달된다는 것이다. 즉, MAC_ID_OK가 1이면서 SDU[12:10]이 111이 아닌 조건을 만족한 경우이다. 또한 상기 도 14의 부 흐름도에서도 상기 전술한 도 11과 마찬가지로 수행되는 동작은 크게 두 가지이다. 첫째는 순방향 패킷 데이터 채널(F-PDCH)의 복조를 위해 사용되는 월시 코드 인덱스를 생성하는 것이다. 그리고 둘째는 순방향 패킷 데이터 채널(F-PDCH)의 복조를 위해 사용될 월시 코드들의 개수가 유효한지의 여부를 판별하는 것이다. 그러면 이하에서 상기 2가지 경우에 대하여 상세히 살피기로 한다.
상기 도 14와 상기 도 11과의 차이점에 대하여 살피기로 한다. 상기 도 14와 상기 도 11의 차이점은 하기와 같다. 도 11의 918단계와 그에 대응하는 도 14의 1418단계에서만 차이를 가진다. 즉, 제2실시 예에 따르면, 월시 코드 인덱슬르 생성하는 과정이 생략되어 있다. 이와 같이 구성하는 이유는 생성하는 월시 코드가 정확한 월시 코드인지 확인할 수 없기 때문이다. 이를 좀 더 상세히 설명하면 하기와 같다.
제1실시 예의 흐름도를 적용할 경우 생성되는 자신의 월시 코드 인덱스를 생성하기 위해 전술한 도 13의 월시 데이터 생성부(1316)는 적어도 28 클럭 주기(clock cycle)가 필요하게 된다. 그러나, 이 월시 코드가 정확한지는 그 이후의 제어 흐름도인 도 15에서 정확한 월시인 경우에만 생성하도록 함으로써 부정확한 월시 인덱스의 생성을 방지할 수 있는 것이다.
도 15는 본 발명의 제2실시 예에 따라 패킷 데이터 제어 채널의 수신 정보의 검출 시 제어 흐름도 중 도 9의 C에 대한 부 흐름도이다. 상기 도 15의 주요 동작은 전술한 도 12의 주요 동작인 패킷 데이터 채널(PDCH)의 복조 및 복호를 위한 여러 가지 정보들을 생성하는 과정이다. 이에 부가하여 제2실시 예에서는 상기 도 14에서 수행하지 않았던 자신이 월시 데이터를 생성하는 동작을 수행하게 된다. 즉, 상기 도 15와 상기 도 12간의 차이점은 도 12의 1002단계와 도 15에서 그에 대응하는 1502단계에서 차이를 가진다. 상기 1502단계에서는 본 발명의 제2실시 예에 따라 자신의 월시(MY_WALSH)를 생성하는 동작을 수행한다.
이와 같이 도 14에서 불필요하게 낭비될 수도 있는 자신의 월시 정보를 생성하지 않고, 단지 월시 숫자의 유효성 검사만을 수행한다. 그리고, 도 15의 제어 과정은 이미 월시 숫자의 유효성이 검증된 이후이며, ACT_CH_MODE가 '1'인지 '0'인지 확인하여 '0'인 경우, 즉 현재 활성 모드(Active mode)로 확인된 경우에만 생성하도록 구성한다. 이와 같이 구성하면 만일 발생할 수 있는 월시 데이터가 불필요하게 발생되는 경우를 방지할 수 있다.
도 16은 본 발명의 제2실시 예에 따라 제2상태의 처리를 수행하기 위한 블록 구성도이다. 이하 도 16을 전술한 도 13의 구성과 대비하여 설명하도록 한다. 그리고 동일한 부분에 대하여는 특별히 더 설명하지 않기로 한다.
상기 도 16과 상기 도 13을 대비하여 살펴보면, 월시 수 계산부(1618)를 더 구비하도록 구성되어 있다. 또한 제1실시 예인 도 13에서는 월시 데이터 생성부(1316)로부터 월시 수 유효성 검증부(1315)로 자신의 월시 수의 정보를 제공하도록 구성되어 있으나, 제2실시 예에서는 월시 수 계산부(1618)에서 자신의 월시 수의 정보를 제공하도록 구성하고 있다. 따라서 제2실시 예에서는 월시 데이터 생성부(1616)에서는 월시 데이터만을 생성하고, 월시 수 정보를 출력하지 않도록 구성하고 있다. 상기 제2실시 예에 따른 월시 수 계산부(1618)에서 수행되는 월시 수 계산 방법에 대하여 살펴보면 하기와 같다.
그러면, 본 발명의 제2실시 예에 따른 도 14에서와 같이 월시 데이터를 생성하지 않고, 자신의 월시 숫자를 생성하기 위한 방법에 대하여 살펴보도록 한다. 앞에서 설명한 바와 같이 13 bits의 월시 마스크(WALSH_MASK) 값이 월시 코드의 2bit를 마스킹(masking) 할 수 있으므로 월시 마스크의 반전(inversion)된 2bit 확장 값인 이전 월시 코드 인덱스 셋(WCI_SET_P : pre walsh code index set)을 만든다. 이때 하위 2bit는 언제나 사용 가능한 '11'로 채운다. 그리고 전술한 도 14에서 결정된 MY_SIDX와 MY_EIDX 사이의 WCI_SET_P값만을 추출하여 WALSH_T_DATA의 생성을 위한 입력 값인 MY_WAL_SET을 만든다. 그런 다음 MY_WAL_SET의 각 bit중 '1'인 경우를 계산하여 NUM_MY_WALSH를 생성한다. 이는 주소들로 구성되는 간단한 조합의 로직(combinational logic)으로 구성이 가능하다.
상술한 바와 같이 이동통신 시스템에서 복합 재전송 제어 장치를 물리계층에 둠으로써, 상위 계층에 부하를 주지 않으면서 패킷 데이터 제어 채널의 정보를 효율적으로 처리할 수 있는 이점이 있다. 뿐만 아니라 제2실시 예를 사용하면, 보다 빠르고 효율적으로 패킷 데이터 제어 채널의 정보를 수신하여 처리할 수 있는 이점이 있다.
도 1은 종래방식에 따라 ARQ 처리를 위한 상위 계층과 물리계층간 관계의 블록도,
도 2는 개선된 구조의 Fast (Physical) HARQ 처리를 위한 상위계층과 물리계층과의 관계도,
도 3은 이동통신 시스템에서 복합 재전송 시 ACK/NAK delay가 1 슬롯(slot)인 경우 기지국과 단말간의 타이밍도,
도 4는 이동통신 시스템에서 복합 재전송 시 ACK/NAK delay가 2 슬롯(slot)인 경우의 기지국과 단말간의 타이밍도,
도 5는 본 발명에 따른 복합 재전송 제어기를 중점으로 한 주변 블록들간의 인터페이스를 도시한 도면,
도 6은 본 발명의 바람직한 실시 예에 따라 복합 재전송 제어기의 내부 구성 중 복합 재전송 상태부와 상태 기능부간의 연결 구성도,
도 7은 본 발명의 바람직한 실시 예에 따른 복합 재전송 제어기의 상태 천이도,
도 8a 내지 도 8d는 패킷 데이터 제어 채널의 구조와 그에 따라 전송 가능한 형태들을 도시한 도면,
도 9는 본 발명의 바람직한 실시 예에 따라 복합 재전송 제어기가 패킷 데이터 제어 채널로 수신된 정보를 이용하여 제2상태에서 다음 상태를 결정하기 위한 제어 흐름도,
도 10은 본 발명의 바람직한 실시 예에 따라 패킷 데이터 제어 채널의 수신 정보 검출 시 제어 흐름도 중 도 9의 A에 대한 부 흐름도,
도 11은 본 발명의 바람직한 실시 예에 따라 패킷 데이터 제어 채널의 수신 정보의 검출 시 제어 흐름도 중 도 9의 B에 대한 부 흐름도,
도 12는 본 발명의 바람직한 실시 예에 따라 패킷 데이터 제어 채널의 수신 정보의 검출 시 제어 흐름도 중 도 9의 C에 대한 부 흐름도,
도 13은 본 발명의 제1실시 예에 따라 제2상태의 처리를 수행하기 위한 블록 구성도,
도 14는 본 발명의 다른 실시 예에 따른 패킷 데이터 제어 채널의 수신 정보의 검출 시 제어 흐름도 중 도 9의 B에 대한 부 흐름도,
도 15는 본 발명의 제2실시 예에 따라 패킷 데이터 제어 채널의 수신 정보의 검출 시 제어 흐름도 중 도 9의 C에 대한 부 흐름도,
도 16은 본 발명의 제2실시 예에 따라 제2상태의 처리를 수행하기 위한 블록 구성도.

Claims (4)

  1. 패킷 데이터 제어 채널을 통해 패킷 데이터 제어 메시지를 전송하고, 패킷 데이터 채널을 통해 이동단말로 패킷 데이터를 전송하는 이동통신 시스템에서 패킷 데이터 제어 채널로 수신된 메시지를 검출하기 위한 방법에 있어서,
    상기 패킷 데이터 제어 채널을 통해 수신되는 메시지의 복호를 수행하는 과정과,
    상기 복호된 정보로부터 상기 패킷 데이터의 복조 및 복호를 위한 메시지를 추출하는 과정과,
    상기 추출된 메시지가 월시 마스크 갱신을 지시하지 않으며, 상기 추출된 메시지 중 미리 설정된 소정 메시지가 외부 메시지 수신을 지시하지 않는 경우 자신의 월시 코드 인덱스의 시작 위치를 계산하는 과정과,
    상기 월시 코드 인덱스의 시작 위치를 이용하여 월시 코드의 개수를 계산하고 상기 월시 코드의 개수에 대한 유효성 검사를 수행하는 과정과,
    상기 월시 코드의 개수가 유효한 경우 활성 채널 모드인가를 검사하는 과정과,
    상기 검사 결과 활성 채널 모드인 경우 상기 월시 코드 정보를 생성하는 과정을 포함함을 특징으로 하는 상기 방법.
  2. 제1항에 있어서,
    상기 월시 코드 정보 생성 시 인코더 패킷의 크기를 결정하고, 자동 응답 채널 및 서브 패킷의 각 식별자들을 생성하는 과정과,
    상기 패킷 데이터 채널로 수신된 정보의 복조 및 복호를 위한 처리를 수행하는 과정을 더 포함함을 특징으로 하는 상기 방법.
  3. 제1항에 있어서, 상기 월시 코드 개수의 계산은,
    미리 결정된 월시 마스크 값으로부터 월시 코드 인덱스 셋을 생성하고, 하위 2비트는 '11'로 채우는 단계와,
    상기 월시 코드 인덱스의 시작 위치와 끝 위치 사이의 월시 코드 인덱스 셋 값만을 추출하고, 자신의 월시 셋을 생성하는 단계와,
    상기 생성된 자신의 월시 셋 중에서 각 비트가 1인 경우를 계산하여 월시 코드의 개수를 계산함을 특징으로 하는 상기 방법.
  4. 패킷 데이터 제어 채널을 통해 패킷 데이터 제어 메시지를 전송하고, 패킷 데이터 채널을 통해 이동단말로 패킷 데이터를 전송하는 이동통신 시스템에서 패킷 데이터 제어 채널로 수신된 메시지를 검출하기 위한 장치에 있어서,
    상기 패킷 데이터 제어 채널로 수신된 정보를 복호하는 패킷 데이터 제어 채널 복호기와,
    상기 패킷 데이터 제어 채널 복호기의 출력 중 월시 마스크 정보가 포함될 수 있는 영역에 월시 마스크가 포함되었는가의 여부와 월시 마스크 포함 시 수신된 월시 마스크의 유효성을 검사하고 그 결과 신호를 출력하는 월시 마스크 갱신부와,
    상기 월시 마스크 정보가 포함될 수 있는 영역에 외부 메시지 처리를 요구하는 제어 신호가 수신되었는가를 검사하여 출력하는 SDU 처리부와,
    월시 수 계산 제어 신호에 의거하여 월시 수를 계산하는 월시 수 계산부와,
    상기 월시 수 계산부에서 계산된 월시 수 정보의 유효성을 검사하는 월시 수 유효성 검증부와,
    활성 모드 시 월시 데이터 생성 제어 신호에 의거하여 월시 데이터를 생성하는 월시 데이터 생성부와,
    월시 마스크 갱신부로부터 수신된 월시 마스크 정보를 구비하며, 상기 SDU 처리부로부터 외부 신호의 처리 및 월시 마스크 갱신이 요구되지 않은 경우 상기 SDU 처리부로부터 수신된 정보로부터 자신의 월시 시작 위치 및 종료 위치를 검사하여 이들을 포함한 상기 월시 수 계산 제어 신호를 출력하며, 상기 계산된 월시의 수가 유효하다는 결과를 수신한 경우 상기 월시 데이터 생성 제어 신호를 생성하는 제어부를 포함함을 특징으로 하는 상기 장치.
KR1020030096672A 2003-12-24 2003-12-24 이동통신 시스템에서 패킷 데이터 제어 채널의 메시지처리 장치 및 방법 KR20050065789A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020030096672A KR20050065789A (ko) 2003-12-24 2003-12-24 이동통신 시스템에서 패킷 데이터 제어 채널의 메시지처리 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020030096672A KR20050065789A (ko) 2003-12-24 2003-12-24 이동통신 시스템에서 패킷 데이터 제어 채널의 메시지처리 장치 및 방법

Publications (1)

Publication Number Publication Date
KR20050065789A true KR20050065789A (ko) 2005-06-30

Family

ID=37256943

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020030096672A KR20050065789A (ko) 2003-12-24 2003-12-24 이동통신 시스템에서 패킷 데이터 제어 채널의 메시지처리 장치 및 방법

Country Status (1)

Country Link
KR (1) KR20050065789A (ko)

Similar Documents

Publication Publication Date Title
KR100981510B1 (ko) 이동통신 시스템에서 복합 재전송 제어 장치 및 방법
JP4163691B2 (ja) 移動通信システムにおけるハイブリッド自動再送(harq)制御装置
KR100547892B1 (ko) 고속 무선 패킷 데이터 통신 시스템의 복합 자동 재전송을지원하는 수신 방법 및 장치
JP3614413B2 (ja) 高速データパケット接続通信システムにおいて使用者データに割り当てられる直交コード情報を送受信する方法
JP3650383B2 (ja) 送信機、受信機およびarq送受信方法
EP1628431A2 (en) Mobile station for W-CDMA
JP3955462B2 (ja) データの送信方法
EP1276267A2 (en) Hybrid automatic repeat-request system and method
JP2000511036A (ja) 専用制御チャネルを備える移動通信システムのデータ通信装置及び方法
GB2380374A (en) Hybrid automatic repeat request transmission (HARQ) with adaptive modulation (AMCS)
KR20050106350A (ko) 향상된 상향 링크 전용 채널에서 harq 동작을 고려한tti 변경 방법 및 장치
JP2005237005A (ja) 移動通信システムにおける高速パケットデータの送信のための制御情報を送信する装置及び方法
JP2002527939A (ja) 適用ハイブリッドarq手法を用いたデータ通信方法とシステム
JP2003158486A (ja) 高速順方向パケット接続方式をサービスする符号分割多重接続通信システムでの共通情報送受信方法
US7260761B2 (en) Method and device for transferring data wherein a bit rate adaptation model is signaled between the transmitter and the receiver
KR20050035730A (ko) 패킷 데이터 서비스를 제공하는 이동통신 시스템에서 패킷데이터 제어 채널의 제어 메시지 송신 장치 및 방법
KR100909527B1 (ko) 고속 패킷데이터 통신시스템에서의 터보 복호 시간 제어방법
US8605665B2 (en) Apparatus and method for transmission time interval reconfiguration in a mobile communication system
JP4432645B2 (ja) 通信装置、無線通信システム
JP2005318626A (ja) Cdmaワイヤレス通信システムにおいてアップリンク・パケット・データ・チャネルを検出する方法および装置
KR20050033996A (ko) 이동 통신 시스템에서 채널 수신 장치 및 방법
JP2007509510A (ja) Hsdpa通信システムにおけるarq制御
JP2009212874A (ja) 基地局装置、移動機、移動体通信システム及びそれらに用いるチャネル処理制御方法
KR20050065789A (ko) 이동통신 시스템에서 패킷 데이터 제어 채널의 메시지처리 장치 및 방법
KR100539536B1 (ko) 이동통신 시스템에 있어서 패킷 데이터 전송 방식 결정 방법

Legal Events

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