이하 본 발명의 바람직한 실시 예를 첨부된 도면을 참조하여 상세히 설명한다. 그리고, 본 발명을 설명함에 있어서, 관련된 공지기능 혹은 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단된 경우 그 상세한 설명은 생략한다.
이하 본 발명은 중계방식을 사용하는 무선통신시스템에서 자동 재전송 요청(ARQ : Automatic Retrasmission reQuest)을 수행하기 위한 기술에 대해 설명한다. 여기서, 상기 자동 재전송 요청은 MAC(Media Access Control)계층에서 운용되는 “MAC ARQ" 또는 물리(PHY : Physical)계층에서 운용되는 "HARQ(Hybrid ARQ)”를 나타낸다.
이하 설명에서 상기 중계국은 송신기로부터 데이터를 수신하고, 상기 수신 데이터를 수신기로 중계하는 역할을 수행한다. 즉, 상기 수신기는 상기 송신기와의 통신이 원활하지 못할 경우, 상기 중계국을 이용하여 상기 송신기의 데이터를 전송받을 수 있다. 여기서, 상기 중계국은 하나의 셀 내에 다수가 존재할 수 있으며 사업자가 따라 설치하거나 사용자 단말이 상기 중계국의 역할을 수행할 수 있다. 또한, 상기 중계국은 상기 송신기로부터 신호를 수신하는 수신부와 상기 수신기로 신호를 송신하는 송신부로 나뉘며, 상기 송신부와 수신부는 독립적으로 동작한다. 하지만, 상기 송신부와 수신부의 데이터 큐(Que)는 내부적으로 공유한다고 가정한다.
도 2는 본 발명의 실시예에 따른 중계 방식을 사용하는 무선통신시스템의 구 성을 도시하고 있다.
상기 도 2에 도시된 바와 같이 기지국(150)의 서비스 영역(151)에 포함되는 단말(170)은 상기 기지국(150)과 직접 링크를 통해 서비스를 제공받는다. 하지만, 상기 단말(170)은 상기 기지국(150)의 서비스 영역의 외곽(셀 경계지역)에 위치하므로 채널 상태가 열악하여 고속의 데이터 채널을 제공할 수 없다.
따라서, 상기 기지국(150)은 중계국(160)을 이용하여 상기 기지국(150)의 서비스 영역(151)에 포함되는 단말들 중 채널 상태가 열악한 단말(170)에 고속의 데이터 채널을 제공한다. 즉, 상기 단말(170)은 상기 기지국(150)의 서비스 영역(151)에 포함되기 때문에 상기 기지국(150)과 직접 링크를 통해 제어 신호 및 저속의 데이터 채널을 제공받는다. 또한, 상기 단말(170)은 상기 중계국(160)을 이용하여 상기 기지국(150)으로부터 고속의 데이터 채널을 제공받는다.
도 3은 본 발명의 제 1 실시 예에 따른 중계방식을 사용하는 무선통신시스템에서 하향링크 신호를 재전송하기 위한 시스템을 도시하고 있다. 이하 설명에서 상기 기지국(200)은 상기 단말(220)로 전송할 데이터가 N개가 있으며, 한 번에 k개의 데이터를 전송 가능하다고 가정한다.
상기 도 3을 참조하면 상기 기지국(200)은 중계국(210)과 상기 단말(220)로 하향링크 데이터를 전송하기 위한 스케줄링 정보(예 : 하향링크 맵)를 전송한다(230단계). 예를 들어, 상기 기지국(200)은 상기 중계국(210)으로 상기 스케줄링 정보를 전송한다. 이후, 상기 중계국(210)은 상기 기지국(200)으로부터 제공받은 상기 스케줄링 정보를 상기 단말(220)로 중계한다. 다른 실시 예로 상기 기지국(200)은 상기 단말(220)로 상기 스케줄링 정보를 전송한다. 이때, 상기 중계국(210)은 상기 기지국(200)에서 상기 단말(220)로 전송하는 스케줄링 정보를 청취할 수 있다.
이후, 상기 기지국(200)은 상기 스케줄링 정보에 따라 N개의 데이터 중 k개의 데이터를 상기 중계국(210)으로 전송한다(231단계).
상기 중계국(210)은 수신부(212)를 통해 상기 기지국(200)으로부터 데이터가 수신되면(233단계), 상기 데이터의 에러체크코드(CRC : Cyclic Redundancy Check)를 이용하여 데이터 오류를 확인한다(235단계). 만일, 상기 k개의 데이터 중에서 j개의 데이터에 오류가 발생했다고 가정하면, 상기 중계국(210)은 오류가 발생하기 않은 k-j개의 데이터를 상기 중계국(210)의 데이터 큐에 저장한다(237단계). 이때, 상기 중계국(210)은 상기 오류가 발생한 j개의 데이터는 저장하지 않는다.
이후, 상기 중계국(210)은 상기 기지국(200)으로 상기 수신된 데이터에 대한 ACK/NACK 제어 메시지를 전송한다(239단계). 즉, 상기 중계국(210)은 오류가 없이 정상적으로 수신된 데이터에 대한 ACK제어메시지와 오류가 발생한 데이터에 대한 NACK제어메시지를 상기 기지국(200)으로 전송한다.
이때, 상기 중계국은 상기 ACK/NACK 제어메시지를 하기 <표 1>과 같이 구성할 수 있다.
Syntax |
Size |
Note |
CID |
XX bit |
중계국 CID |
ACK Type |
XX bit |
기지국과 중계국 사이의 ACK타입 |
BSN |
XX bit |
기지국과 중계국간 관리하는 BSN |
ACK MAP |
XX bit |
ACK bit map in case of selective ACK |
… |
… |
… |
여기서, 상기 ACK/NACK 제어메시지는 상기 ACK/NACK 제어메시지를 전송하는 중계국의 서비스 아이디(CID : Connection ID)와, 응답 타입을 지정하기 위한 ACK 타입(ACK Type)과, ARQ 블록의 시퀀스 번호를 지정하기 위한 BSN(Block Sequence Number)와, 응답 타입이 선택적(selective) 방법일 때 각 ARQ 블록에 대한 수신 성공 여부를 지정하기 위한 ACK 맵(MAP)을 포함하여 구성된다. 여기서, 상기 CID는 중계국의 식별자 또는 중계국에게 제공되는 특정 서비스의 식별자를 나타낸다. 즉, 기지국은 상기 CID를 이용해서 중계국과 서비스를 식별한다. 상기 ACK 타입에는 선택적(Selective) 방법 또는 축적형(Cumulative) 방법 등이 있으며, 더 많은 종류의 ACK 타입이 존재할 수도 있다.
상기 기지국(200)은 상기 중계국(210)과 상기 단말(220)에 스케줄링 정보(예 : 하향링크 맵)를 전송한다(241단계). 예를 들어, 상기 기지국(200)은 상기 중계국(210)으로 상기 스케줄링 정보를 전송한다. 이후, 상기 중계국(210)은 상기 기지국(200)으로부터 제공받은 상기 스케줄링 정보를 상기 단말(220)로 중계한다. 다른 실시 예로 상기 기지국(200)은 상기 단말(220)로 상기 스케줄링 정보를 전송한다. 이때, 상기 중계국(210)은 상기 기지국(200)에서 상기 단말(220)로 전송하는 스케줄링 정보를 청취할 수 있다.
상기 중계국(210)의 송신부(214)는 상기 기지국(200)으로부터 제공받은 스케줄링 정보에 따라 상기 데이터 큐에 존재하는 데이터를 상기 단말(220)로 전송한다(247단계). 즉, 상기 중계국(210)은 상기 스케줄링 정보에 따라 상기 기지국(200)으로부터 수신 성공한 데이터를 상기 단말(220)로 전송한다.
이때, 상기 중계국(210)의 수신부(212)는 상기 송신부(214)와 독립적으로 상기 기지국(200)이 전송하는 데이터 또는 재전송 데이터를 수신한다(243~245단계). 즉, 상기 기지국(200)은 상기 중계국(210)으로부터 제공받은 상기 ACK/NACK 제어메시지를 통해 j개의 데이터에 오류가 발생한 것을 인식한다. 이후, 상기 기지국(200)은 상기 오류가 발생한 j개의 데이터를 재전송한다(243단계). 여기서, 상기 기지국(200)은 상기 재전송 데이터뿐만 아니라 상기 기지국(200)에 데이터 큐에 남은 N-k개의 새로운 데이터 중 k-j개의 데이터를 상기 재전송 데이터와 함께 상기 중계국(210)으로 전송한다.
상기 기지국(200)이 전송한 데이터를 수신받은 상기 중계국(210)의 수신부(212)는 상기 수신 데이터들의 에러체크코드를 확인하여 상기 수신 데이터의 오류 발생 여부를 확인한다. 만일, 수신 데이터에 오류가 없으면 상기 데이터를 상기 데이터 큐에 저장한다. 이후, 상기 기지국(200)과 상기 중계국(210)은 상기 기지국(200)의 데이터 큐에 저장된 N개의 데이터가 성공적으로 상기 중계국(210)에 수신될 때까지 상기 과정을 반복한다(245단계).
상기 단말(220)은 상기 중계국(210)의 송신부(214)가 전송한 상기 데이터가 수신되면(249단계), 상기 데이터들의 에러체크코드를 확인하여 오류를 확인한다(251단계). 만일, 상기 수신 데이터 중 p개의 데이터에 오류가 발생할 경우, 상기 단말(220)은 상기 오류가 발생하지 않은 데이터에 대한 ACK 제어 메시지와 상기 오류가 발생하지 않은 데이터에 대한 NACK 제어 메시지를 상기 기지국(200)으로 전송한다(253단계). 이때, 상기 단말(220)은 상기 ACK/NACK 제어메시지를 상기 기지국(200)으로 직접 전송할 수 있다. 또한, 상기 단말(220)은 상기 ACK/NACK 제어메시지를 상기 중계국(210)을 통해 상기 기지국(200)으로 전송할 수도 있다.
이때, 상기 단말은 상기 ACK/NACK 제어메시지는 하기 <표 2>와 같이 구성할 수 있다.
Syntax |
Size |
Note |
CID |
XX bit |
단말 CID |
ACK Type |
XX bit |
기지국과 단말 사이의 ACK타입 |
BSN |
XX bit |
기지국과 단말간 관리하는 BSN |
ACK MAP |
XX bit |
ACK bit map in case of selective ACK |
… |
… |
… |
여기서, ACK/NACK 제어 메시지는 상기 ACK/NACK 제어 메시지를 전송하는 단말의 서비스 아이디(CID : Connection ID)와, 응답 타입을 지정하기 위한 ACK 타입(ACK Type)과, ARQ 블록의 시퀀스 번호를 지정하기 위한 BSN(Block Sequence Number)와, 응답 타입이 선택적(selective) 방법일 때 각 ARQ 블록에 대한 수신 성공 여부를 지정하기 위한 ACK 맵(MAP)을 포함하여 구성된다. 여기서, 상기 CID는 단말의 식별자 또는 단말에게 제공되는 특정 서비스의 식별자를 나타낸다. 즉, 기지국은 상기 CID를 이용해서 단말과 서비스를 식별한다.
상기 기지국(200)은 상기 단말(220)로부터 제공받은 ACK/NACK제어 메시지를 확인하여 상기 단말(220)이 수신받은 데이터들 중 오류가 발생한 데이터와 상기 오류가 발생하지 않은 데이터를 확인한다. 이후, 상기 기지국(200)은 오류가 발생한 데이터들에 대한 정보를 상기 중계국(210)으로 전송한다(255단계). 즉, 상기 기지국(200)은 상기 오류가 발생한 데이터에 대한 정보를 포함하는 재전송 지시메시지(NACK indication)를 상기 중계국(210)으로 전송한다.
이때, 상기 기지국은 상기 재전송 지시 메시지를 하기 <표 3>과 같이 구성할 수 있다.
Syntax |
Size |
Note |
CID |
XX bit |
단말의 CID |
Number of BSN |
XX bit |
재전송을 수행할 데이터 블록의 개수 |
BSN |
XX bit |
재전송을 수행할 데이터 블록의 번호 |
… |
… |
… |
여기서, 상기 재전송 지시메시지(NACK indication)는 중계국에서 재전송을 수행할 단말 서비스 아이디(CID : Connection ID)와, 재전송을 수행할 ARQ블록의 개수, 재전송을 수행할 ARQ 블록의 시퀀스 번호를 지정하기 위한 BSN(Block Sequence Number)을 포함하여 구성된다.
상기 기지국은 MAC 계층의 ARQ를 수행하는 경우, 상기 <표 3>과 같이 구성되는 재전송 지시 메시지를 상기 중계국으로 전송한다.
만일, 상기 HARQ를 수행하는 경우, 상기 기지국은 상기 중계국에서 재전송을 수행할 단말 서비스 아이디(CID : Connection ID), 재전송하기 위한 데이터 블록의 고유한 시퀀스 값을 나타내기 위해서 HARQ 데이터 채널의 고유 번호를 나타내는 ACID(HARQ Channel ID) 정보, 상기 ACID 내에서 서브 데이터 블록의 고유 번호를 나타내는 SPID(Sub Packet ID) 정보를 포함하는 재전송 지시 메시지를 생성하여 상기 중계국으로 전송한다.
이후, 상기 기지국(200)은 상기 중계국(210)과 상기 단말(220)에 스케줄링 정보(예 : 하향링크 맵)를 전송한다(257단계). 예를 들어, 상기 기지국(200)은 상기 중계국(210)으로 상기 스케줄링 정보를 전송한다. 이후, 상기 중계국(210)은 상기 기지국(200)으로부터 제공받은 상기 스케줄링 정보를 상기 단말(220)로 중계한다. 다른 실시 예로 상기 기지국(200)은 상기 단말(220)로 상기 스케줄링 정보를 전송한다. 이때, 상기 중계국(210)은 상기 기지국(200)에서 상기 단말(220)로 전송하는 스케줄링 정보를 청취할 수 있다.
상기 중계국(210)은 상기 기지국(200)으로부터 재전송 지시메시지에 포함된 상기 단말에서 오류가 발생한 데이터를 확인한다. 이후, 상기 중계국(210)은 상기 기지국(200)으로부터 제공받은 스케줄링 정보에 따라 상기 오류가 발생한 데이터를 상기 단말(220)로 재전송한다(259단계). 이때, 상기 중계국(210)은 상기 재전송 데이터뿐만 아니라, 상기 중계국(210) 데이터 큐에 남은 새로운 데이터를 상기 재전송 데이터와 함께 상기 단말(220)로 전송한다.
상기 단말(220)은 상기 중계국(210)의 송신부(214)가 전송한 데이터가 수신되면(261단계), 상기 데이터들의 에러체크코드를 확인하여 오류 발생 여부를 확인한다(263단계). 만일, 상기 수신 데이터에 오류가 발생하면 상기 단말(220)은 상기 기지국(200)으로 해당 데이터의 재전송을 요청한다.
이후, 상기 단말(220)은 상기 중계국(210)의 데이터 큐에 존재하는 데이터를 모두 수신받을 때까지 상기 과정을 반복한다(265단계).
도 4는 본 발명의 제 2 실시 예에 따른 중계방식을 사용하는 무선통신시스템에서 하향링크 신호를 재전송하기 위한 시스템을 도시하고 있다. 이하 설명에서 상기 기지국(300)은 상기 단말(320)로 전송할 데이터가 N개가 있으며, 한 번에 k개의 데이터를 전송 가능하다고 가정한다.
상기 도 4를 참조하면 상기 기지국(300)은 중계국(310)과 상기 단말(320)로 하향링크 데이터를 전송하기 위한 스케줄링 정보(예 : 하향링크 맵)를 전송한다(330단계). 예를 들어, 상기 기지국(300)은 상기 중계국(310)으로 상기 스케줄링 정보를 전송한다. 이후, 상기 중계국(310)은 상기 기지국(300)으로부터 제공받은 상기 스케줄링 정보를 상기 단말(320)로 중계한다. 다른 실시 예로 상기 기지국(300)은 상기 단말(320)로 상기 스케줄링 정보를 전송한다. 이때, 상기 중계국(310)은 상기 기지국(300)에서 상기 단말(320)로 전송하는 스케줄링 정보를 청취할 수 있다.
이후, 상기 기지국(300)은 상기 스케줄링 정보에 따라 N개의 데이터 중 k개의 데이터를 상기 중계국(310)으로 전송한다(331단계).
상기 중계국(310)은 수신부(312)를 통해 상기 기지국(300)으로부터 데이터가 수신되면(333단계) 상기 데이터의 에러체크코드(CRC : Cyclic Redundancy Check)를 이용하여 데이터 오류를 확인한다(335단계). 만일, 상기 k개의 데이터 중에서 j개의 데이터에 오류가 발생했다고 가정하면, 상기 중계국(310)은 오류가 발생하기 않은 k-j개의 데이터를 상기 중계국(310)의 데이터 큐에 저장한다(337단계). 이때, 상기 중계국(310)은 상기 오류가 발생한 j개의 데이터는 저장하지 않는다.
이후, 상기 중계국(310)은 상기 기지국(300)으로 상기 수신된 데이터에 대한 ACK/NACK 제어 메시지를 전송한다(339단계). 즉, 상기 중계국(310)은 오류가 없이 정상적으로 수신된 데이터에 대한 ACK제어메시지와 오류가 발생한 데이터에 대한 NACK제어메시지를 상기 기지국(300)으로 전송한다. 여기서, 상기 중계국(310)은 상기 ACK/NACK 제어메시지를 상기 <표 1>과 같이 구성하여 상기 기지국(300)으로 전송한다.
상기 기지국(300)은 상기 중계국(310)과 상기 단말(320)에 스케줄링 정보(예 : 하향링크 맵)를 전송한다(341단계). 예를 들어, 상기 기지국(300)은 상기 중계국(310)으로 상기 스케줄링 정보를 전송한다. 이후, 상기 중계국(310)은 상기 기지국(300)으로부터 제공받은 상기 스케줄링 정보를 상기 단말(320)로 중계한다. 다른 실시 예로 상기 기지국(300)은 상기 단말(320)로 상기 스케줄링 정보를 전송한다. 이때, 상기 중계국(310)은 상기 기지국(300)에서 상기 단말(320)로 전송하는 스케줄링 정보를 청취할 수 있다.
상기 중계국(310)의 송신부(314)는 상기 기지국(300)으로부터 제공받은 스케줄링 정보에 따라 상기 데이터 큐에 존재하는 데이터를 상기 단말(320)로 전송한다(347단계). 즉, 상기 중계국(310)은 상기 스케줄링 정보에 따라 상기 기지국(300)으로부터 수신 성공한 데이터를 상기 단말(320)로 전송한다.
이때, 상기 중계국(310)의 수신부(312)는 상기 송신부(314)와 독립적으로 상기 기지국(300)이 전송하는 데이터 또는 재전송 데이터를 수신한다(343~345단계). 즉, 상기 기지국(300)은 상기 중계국(310)으로부터 제공받은 상기 ACK/NACK 제어메시지를 통해 j개의 데이터에 오류가 발생한 것을 인식한다. 이후, 상기 기지국(300)은 상기 오류가 발생한 j개의 데이터를 재전송한다(343단계). 여기서, 상기 기지국(300)은 상기 재전송 데이터뿐만 아니라 상기 기지국(300)의 데이터 큐에 남은 N-k개의 새로운 데이터 중 k-j개의 데이터를 상기 재전송 데이터와 함께 상기 중계국(310)으로 전송한다.
상기 기지국(300)이 전송한 데이터를 수신받은 상기 중계국(310)의 수신부(312)는 상기 수신 데이터들의 에러체크코드를 확인하여 상기 수신 데이터의 오류 발생 여부를 확인한다. 만일, 수신 데이터에 오류가 없으면 상기 데이터를 상기 데이터 큐에 저장한다. 이후, 상기 기지국(300)과 상기 중계국(310)은 상기 기지국(300)의 데이터 큐에 저장된 N개의 데이터가 성공적으로 상기 중계국(310)에 수신될 때까지 상기 과정을 반복한다(345단계).
상기 단말(320)은 상기 중계국(310)의 송신부(314)가 전송한 상기 데이터가 수신되면(349단계), 상기 데이터들의 에러체크코드를 확인하여 오류를 확인한다(351단계). 만일, 상기 수신 데이터 중 p개의 데이터에 오류가 발생할 경우, 상기 단말(320)은 상기 오류가 발생하지 않은 데이터에 대한 ACK 제어 메시지와 상기 오류가 발생하지 않은 데이터에 대한 NACK 제어 메시지를 상기 기지국(300)으로 전송한다(353단계). 이때, 상기 단말(320)은 상기 ACK/NACK 제어메시지를 상기 기지국(300)으로 직접 전송할 수 있다. 또한, 상기 단말(320)은 상기 ACK/NACK 제어메시지를 상기 중계국(310)을 통해 상기 기지국(300)으로 전송할 수도 있다. 여기서, 상기 단말(320)은 상기 ACK/NACK 제어메시지를 하기 <표 2>와 같이 구성하여 상기 기지국(300)으로 전송할 수 있다.
상기 기지국(300)은 상기 단말(320)로부터 제공받은 상기 ACK/NACK제어 메시지를 확인하여 상기 단말(320)이 수신받은 데이터들 중 오류가 발생한 데이터와 상기 오류가 발생하지 않은 데이터를 확인한다. 이후, 상기 기지국(300)은 상기 중계국(310)에서 상기 단말(320)로 전송한 데이터들의 오류 발생 여부 정보를 상기 중계국(310)으로 전송한다(355단계). 즉, 상기 기지국(300)은 상기 오류가 발생하지 않은 데이터에 대한 정보 및 오류가 발생한 데이터에 대한 정보를 포함하는 재전송 지시 메시지(ACK/NACK Indication)를 상기 중계국(310)으로 전송한다. 여기서, 상기 기지국(200)은 상기 재전송 지시 메시지는 상기 <표 1>과 같이 상기 데이터들에 대한 ACK/NACK 정보를 포함할 수 있다.
이후, 상기 기지국(300)은 상기 중계국(310)과 상기 단말(320)에 스케줄링 정보(예 : 하향링크 MAP정보)를 전송한다(357단계). 예를 들어, 상기 기지국(300)은 상기 중계국(310)으로 상기 스케줄링 정보를 전송한다. 이후, 상기 중계국(310)은 상기 기지국(300)으로부터 제공받은 상기 스케줄링 정보를 상기 단말(320)로 중계한다. 다른 실시 예로 상기 기지국(300)은 상기 단말(320)로 상기 스케줄링 정보를 전송한다. 이때, 상기 중계국(310)은 상기 기지국(300)에서 상기 단말(320)로 전송하는 스케줄링 정보를 청취할 수 있다.
상기 중계국(310)은 상기 기지국(300)으로부터 제공받은 재전송 지시 메시지를 통해 상기 단말로 전송한 데이터들의 오류 발생 여부를 확인한다. 이후, 상기 중계국(310)은 상기 기지국(300)으로부터 제공받은 스케줄링 정보에 따라 오류가 발생한 데이터를 상기 단말(320)로 재전송한다(359단계). 이때, 상기 중계국(310)은 상기 재전송 데이터뿐만 아니라 상기 중계국(310)의 데이터 큐에 남은 새로운 데이터를 상기 재전송 데이터와 함께 상기 단말(320)로 전송한다.
또한, 상기 중계국(310)은 상기 단말(320)로 오류 없이 수신된 데이터 정보가 수신되면 해당 데이터를 상기 데이터 큐에서 폐기한다.
상기 단말(320)은 상기 중계국(310)의 송신부(314)가 전송한 데이터가 수신되면(361단계) 상기 데이터들의 에러체크코드를 확인하여 오류 발생을 확인한다(363단계). 만일, 상기 데이터에 오류가 발생하면 상기 단말(320)은 상기 기지국(300)으로 해당 데이터에 대한 재전송을 요청한다.
이후, 상기 단말(320)은 상기 중계국(310)의 데이터 큐에 존재하는 데이터를 모두 수신받을 때까지 상기 과정을 반복한다(365단계).
도 5는 본 발명의 제 3 실시 예에 따른 중계방식을 사용하는 무선통신시스템에서 하향링크 신호를 재전송하기 위한 시스템을 도시하고 있다. 이하 설명에서 상기 기지국(400)은 상기 단말(420)로 전송할 데이터가 N개가 있으며, 한 번에 k개의 데이터를 전송 가능하다고 가정한다.
상기 도 5를 참조하면 상기 기지국(400)은 중계국(410)과 상기 단말(420)로 하향링크 데이터를 전송하기 위한 스케줄링 정보(예 : 하향링크 맵)를 전송한다(430단계). 예를 들어, 상기 기지국(400)은 상기 중계국(410)으로 상기 스케줄링 정보를 전송한다. 이후, 상기 중계국(410)은 상기 기지국(400)으로부터 제공받은 상기 스케줄링 정보를 상기 단말(420)로 중계한다. 다른 실시 예로 상기 기지국(400)은 상기 단말(420)로 상기 스케줄링 정보를 전송한다. 이때, 상기 중계국(410)은 상기 기지국(400)에서 상기 단말(420)로 전송하는 스케줄링 정보를 청취할 수 있다.
이후, 상기 기지국(400)은 상기 스케줄링 정보에 따라 N개의 데이터 중 k개의 데이터를 상기 중계국(410)으로 전송한다(431단계).
상기 중계국(410)은 수신부(412)를 통해 상기 기지국(400)으로부터 데이터가 수신되면(433단계) 상기 데이터의 에러체크코드(CRC : Cyclic Redundancy Check)를 이용하여 데이터 오류를 확인한다(435단계). 만일, 상기 k개의 데이터 중에서 j개의 데이터에 오류가 발생했다고 가정하면, 상기 중계국(410)은 오류가 발생하기 않은 k-j개의 데이터를 상기 중계국(410)의 데이터 큐에 저장한다(437단계). 이때, 상기 중계국(410)은 상기 오류가 발생한 j개의 데이터는 저장하지 않는다.
이후, 상기 중계국(410)은 상기 기지국(400)으로 상기 수신된 데이터에 대한 ACK/NACK 제어 메시지를 전송한다(439단계). 즉, 상기 중계국(410)은 오류가 없이 정상적으로 수신된 데이터에 대한 ACK제어메시지와 오류가 발생한 데이터에 대한 NACK제어메시지를 상기 기지국(400)으로 전송한다. 여기서, 상기 중계국(410)은 상기 ACK/NACK 제어메시지를 상기 <표 1>과 같이 구성하여 상기 기지국(400)으로 전송한다.
상기 기지국(400)은 상기 중계국(410)과 상기 단말(420)에 스케줄링 정보(예 : 하향링크 맵)를 전송한다(441단계). 예를 들어, 상기 기지국(400)은 상기 중계국(410)으로 상기 스케줄링 정보를 전송한다. 이후, 상기 중계국(410)은 상기 기지국(400)으로부터 제공받은 상기 스케줄링 정보를 상기 단말(420)로 중계한다. 다른 실시 예로 상기 기지국(400)은 상기 단말(420)로 상기 스케줄링 정보를 전송한다. 이때, 상기 중계국(410)은 상기 기지국(400)에서 상기 단말(420)로 전송하는 스케줄링 정보를 청취할 수 있다.
상기 중계국(410)의 송신부(414)는 상기 기지국(400)으로부터 제공받은 스케줄링 정보에 따라 상기 데이터 큐에 존재하는 데이터를 상기 단말(420)로 전송한다(447단계). 즉, 상기 중계국(410)은 상기 스케줄링 정보에 따라 상기 기지국(400)으로부터 수신 성공한 데이터를 상기 단말(420)로 전송한다.
이때, 상기 중계국(410)의 수신부(412)는 상기 송신부(414)와 독립적으로 상기 기지국(400)이 전송하는 데이터 또는 재전송 데이터를 수신한다(443~445단계). 즉, 상기 기지국(400)은 상기 중계국(410)으로부터 제공받은 상기 ACK/NACK 제어메시지를 통해 j개의 데이터에 오류가 발생한 것을 인식한다. 이후, 상기 기지국(400)은 상기 오류가 발생한 j개의 데이터를 재전송한다(443단계). 여기서, 상기 기지국(400)은 상기 재전송 데이터뿐만 아니라 상기 기지국(400)의 데이터 큐에 남은 N-k개의 새로운 데이터 중 k-j개의 데이터를 상기 재전송 데이터와 함께 상기 중계국(410)으로 전송한다.
상기 기지국(400)이 전송한 데이터를 수신받은 상기 중계국(410)의 수신부(412)는 상기 수신 데이터들의 에러체크코드를 확인하여 상기 수신 데이터의 오류 발생 여부를 확인한다. 만일, 수신 데이터에 오류가 없으면 상기 데이터를 상기 데이터 큐에 저장한다. 이후, 상기 기지국(400)과 상기 중계국(410)은 상기 기지국(400)의 데이터 큐에 저장된 N개의 데이터가 성공적으로 상기 중계국(410)에 수신될 때까지 상기 과정을 반복한다(445단계).
상기 단말(420)은 상기 중계국(410)의 송신부(414)가 전송한 상기 데이터가 수신되면(449단계), 상기 데이터들의 에러체크코드를 확인하여 오류를 확인한다(451단계). 만일, 상기 수신 데이터 중 p개의 데이터에 오류가 발생할 경우, 상기 단말(420)은 상기 오류가 발생하지 않은 데이터에 대한 ACK 제어 메시지와 상기 오류가 발생하지 않은 데이터에 대한 NACK 제어 메시지를 상기 기지국(400)으로 전송한다(453단계). 이때, 상기 단말(420)은 상기 ACK/NACK 제어메시지를 상기 중계국(410)을 통해 상기 기지국(400)으로 전송할 수도 있다. 또한, 상기 단말(420)은 상기 ACK/NACK 제어메시지를 상기 기지국(400)으로 직접 전송할 수 있다. 만일, 상기 단말(420)이 상기 ACK/NACK 제어 메시지를 상기 기지국(400)으로 직접 전송하는 경우, 상기 중계국(410)은 상기 ACK/NACK 제어 메시지를 청취할 수 있다. 즉, 상기 중계국(410)은 상기 단말(420)이 상기 기지국(400)으로 상기 ACK/NACK제어메시지를 전송하데 할당된 무선 자원(예 : 채널)정보를 알 수 있다고 가정하여 상기 중계국(410)은 상기 무선 자원을 이용하여 상기 ACK/NACK제어메시지를 수신할 수 있다. 여기서, 상기 ACK/NACK 제어메시지는 상기 <표 2>와 같이 구성될 수 있다.
상기 기지국(400)은 상기 단말(420)로부터 제공받은 상기 ACK/NACK제어 메시지를 확인하여 상기 단말(420)이 수신받은 데이터들 중 오류가 발생한 데이터와 상기 오류가 발생하지 않은 데이터를 확인한다.
이후, 상기 기지국(400)은 상기 중계국(410)과 상기 단말(420)에 스케줄링 정보를 전송한다(455단계). 예를 들어, 상기 기지국(400)은 상기 중계국(410)으로 상기 스케줄링 정보를 전송한다. 이후, 상기 중계국(410)은 상기 기지국(400)으로부터 제공받은 상기 스케줄링 정보를 상기 단말(420)로 중계한다. 다른 실시 예로 상기 기지국(400)은 상기 단말(420)로 상기 스케줄링 정보를 전송한다. 이때, 상기 중계국(410)은 상기 기지국(400)에서 상기 단말(420)로 전송하는 스케줄링 정보를 청취할 수 있다.
상기 중계국(410)은 상기 기지국(400)으로부터 스케줄링 정보가 수신되면, 상기 단말(420)에서 오류가 발생한 데이터들을 상기 단말(420)로 재전송한다(457단계). 이때, 상기 중계국(410)은 상기 재전송 데이터뿐만 아니라 상기 중계국(410)의 데이터 큐에 남은 새로운 데이터를 상기 재전송 데이터와 함께 상기 단말9420)로 전송한다.
또한, 상기 중계국(410)은 상기 기지국(400)으로부터 스케줄링 정보가 수신되면, 상기 데이터 큐에 저장된 데이터들 중 상기 단말(420)에서 오류가 발생하지 않은 데이터를 폐기한다.
상기 단말(420)은 상기 중계국(410)의 송신부(414)가 전송한 데이터가 수신되면(459단계), 상기 수신 데이터들의 에러체크코드를 확인하여 오류 발생 여부를 판단한다(461단계). 만일, 상기 수신 데이터에 오류가 발생하면 상기 단말(420)은 상기 기지국(400)으로 해당 데이터의 재전송을 요청한다.
이후, 상기 단말(420)은 상기 중계국(410)의 데이터 큐에 존재하는 데이터를 모두 수신받을 때까지 상기 과정을 반복한다(463단계).
도 6은 본 발명의 제 1 실시 예에 따른 중계방식을 사용하는 무선통신시스템에서 상향링크 신호를 재전송하기 위한 시스템을 도시하고 있다. 이하 설명에서 상기 단말(520)은 상기 기지국(500)으로 전송할 데이터가 N개가 있으며, 한 번에 k개의 데이터를 전송 가능하다고 가정한다.
상기 도 6을 참조하면 상기 기지국(520)은 중계국(510)과 상기 단말(500)로 상향링크 데이터의 전송을 위한 스케줄링 정보(예 : 상향링크 맵)를 전송한다(530단계). 예를 들어, 상기 기지국(520)은 상기 중계국(510)으로 상기 스케줄링 정보를 전송한다. 이후, 상기 중계국(510)은 상기 기지국(520)으로부터 제공받은 상기 스케줄링 정보를 상기 단말(500)로 중계한다. 다른 실시 예로 상기 기지국(520)은 상기 단말(500)로 상기 스케줄링 정보를 전송한다. 이때, 상기 중계국(510)은 상기 기지국(520)에서 상기 단말(500)로 전송하는 스케줄링 정보를 청취할 수 있다.
이후, 상기 단말(500)은 상기 스케줄링 정보에 따라 N개의 데이터 중 k개의 데이터를 상기 중계국(510)으로 전송한다(531단계).
상기 중계국(510)은 수신부(512)를 통해 상기 단말(500)로부터 데이터가 수신되면(533단계), 상기 데이터의 에러체크코드(CRC : Cyclic Redundancy Check)를 이용하여 데이터의 오류 발생 여부를 확인한다(535단계). 만일, 상기 k개의 데이터 중에서 j개의 데이터에 오류가 발생했다고 가정하면, 상기 중계국(510)은 오류가 발생하기 않은 k-j개의 데이터를 상기 중계국(510)의 데이터 큐에 저장한다(537단계). 이때, 상기 중계국(510)은 상기 오류가 발생한 j개의 데이터는 저장하지 않는다.
이후, 상기 중계국(510)은 상기 기지국(520)으로 상기 수신된 데이터에 대한 ACK/NACK 제어 메시지를 전송한다(539단계). 즉, 상기 중계국(510)은 오류가 없이 정상적으로 수신된 데이터에 대한 ACK제어메시지와 오류가 발생한 데이터에 대한 NACK제어메시지를 상기 기지국(520)으로 전송한다. 이때, 상기 기지국(520)은 상기 중계국(510)으로 제공받은 ACK/NACK 제어 메시지를 상기 단말(500)로 전송한다(541단계).
이후, 상기 기지국(520)은 상기 중계국(510)과 상기 단말(500)에 스케줄링 정보(예 : 상향링크 맵)를 전송한다(543단계). 예를 들어, 상기 기지국(520)은 상기 중계국(510)으로 상기 스케줄링 정보를 전송한다. 이후, 상기 중계국(510)은 상기 기지국(520)으로부터 제공받은 상기 스케줄링 정보를 상기 단말(500)로 중계한다. 다른 실시 예로 상기 기지국(520)은 상기 단말(500)로 상기 스케줄링 정보를 전송한다. 이때, 상기 중계국(510)은 상기 기지국(520)에서 상기 단말(500)로 전송하는 스케줄링 정보를 청취할 수 있다.
이때, 상기 중계국(510)의 수신부(512)는 상기 단말(500)이 전송하는 데이터 또는 재전송 데이터를 수신한다(545~547단계). 즉, 상기 단말(500)은 상기 기지국(520)으로부터 제공받은 상기 ACK/NACK 제어메시지를 통해 상기 중계국(510)으로 전송한 데이터들 중 j개의 데이터에 오류가 발생한 것을 인식한다.
따라서, 상기 단말(500)은 상기 기지국(520)으로부터 제공받은 스케줄링 정보에 따라 상기 오류가 발생한 j개의 데이터를 상기 중계국(510)으로 재전송한다(545단계). 이때, 상기 단말(500)은 상기 재전송 데이터뿐만 아니라 상기 단말(500)의 데이터 큐에 남은 N-k개의 새로운 데이터 중 k-j개의 데이터를 상기 재전송 데이터와 함께 상기 중계국(510)으로 전송한다.
상기 중계국(510)의 수신부(512)는 상기 단말(500)로부터 제공받은 데이터들의 에러체크코드를 확인하여 상기 데이터의 오류 발생 여부를 확인한다. 만일, 상기 데이터에 오류가 없으면 상기 데이터를 상기 중계국(510)의 데이터 큐에 저장한다. 이후, 상기 단말(500)과 상기 중계국(510)은 상기 단말(500)의 데이터 큐에 저장된 N개의 데이터가 성공적으로 상기 중계국(510)에 수신될 때까지 상기 과정을 반복한다(547단계).
상기 중계국(510)의 송신부(514)는 상기 수신부(512)와 독립적으로 상기 기지국(520)으로부터 제공받은 스케줄링 정보에 따라 상기 데이터 큐에 존재하는 데이터를 상기 기지국(520)으로 전송한다(549단계). 즉, 상기 중계국(510)은 상기 스케줄링 정보에 따라 상기 단말(500)로부터 수신 성공한 데이터를 상기 기지국(520)으로 전송한다.
상기 기지국(520)은 상기 중계국(510)의 송신부(514)가 전송한 상기 데이터가 수신되면(551단계), 상기 데이터들의 에러체크코드를 확인하여 오류를 확인한다(553단계).
이후, 상기 기지국(520)은 상기 중계국(510)과 상기 단말(500)에 스케줄링 정보(예 : 상향링크 맵)를 전송한다(555단계). 이때, 상기 기지국(520)은 상기 스케줄링 정보에 상기 오류가 발생한 데이터에 대한 정보를 포함하는 재전송 지시메시지(NACK indication)를 포함시켜 상기 중계국(510)으로 전송한다. 미 도시되었지만, 상기 기지국(520)이 상기 541단계에서 상기 중계국(510)으로부터 제공받은 상기 ACK/NACK 제어메시지를 상기 단말(500)로 전송하지 않는 경우, 상기 기지국(520)은 상기 555단계에서 상기 스케줄링 정보와 상기 중계국(510)으로부터 제공받은 ACK/NACK 제어메시지를 상기 단말(500)로 전송할 수 있다. 이때, 상기 기지국(520)은 상기 <표 2>와 같이 상기 중계국(510)의 ACK/NACK 제어메시지를 구성하여 상기 단말(500)로 전송할 수 있다.
상기 중계국(510)은 상기 기지국(520)으로부터 제공받은 재전송 지시메시지를 포함하는 스케줄링 정보에서 상기 기지국(520)에서 오류가 발생한 데이터를 확인한다. 이후, 상기 중계국(510)은 상기 스케줄링 정보에 따라 상기 오류가 발생한 데이터를 상기 기지국(520)으로 재전송한다(557단계). 이때, 상기 중계국(510)은 상기 재전송 데이터뿐만 아니라, 상기 중계국(510) 데이터 큐에 남은 새로운 데이터를 상기 재전송 데이터와 함께 상기 기지국(520)으로 전송한다.
상기 기지국(520)은 상기 중계국(510)의 송신부(514)가 전송한 데이터가 수신되면(559단계), 상기 데이터들의 에러체크코드를 확인하여 오류 발생 여부를 확인한다(561단계). 만일, 상기 수신 데이터에 오류가 발생하면 상기 기지국(520)은 상기 중계국(510)으로 해당 데이터의 재전송을 요청한다.
이후, 상기 기지국(520)은 상기 중계국(510)의 데이터 큐에 존재하는 데이터를 모두 수신받을 때까지 상기 과정을 반복한다(563단계).
도 7은 본 발명의 제 2 실시 예에 따른 중계방식을 사용하는 무선통신시스템에서 상향링크 신호를 재전송하기 위한 시스템을 도시하고 있다. 이하 설명에서 상기 기지국(620)은 상기 단말(600)로 전송할 데이터가 N개가 있으며, 한 번에 k개의 데이터를 전송 가능하다고 가정한다.
상기 도 7을 참조하면 상기 기지국(620)은 중계국(610)과 상기 단말(600)로 상향링크 데이터의 전송을 위한 스케줄링 정보(예 : 상향링크 맵)를 전송한다(630단계). 예를 들어, 상기 기지국(620)은 상기 중계국(610)으로 상기 스케줄링 정보를 전송한다. 이후, 상기 중계국(610)은 상기 기지국(620)으로부터 제공받은 상기 스케줄링 정보를 상기 단말(600)로 중계한다. 다른 실시 예로 상기 기지국(620)은 상기 단말(600)로 상기 스케줄링 정보를 전송한다. 이때, 상기 중계국(610)은 상기 기지국(620)에서 상기 단말(600)로 전송하는 스케줄링 정보를 청취할 수 있다.
이후, 상기 단말(600)은 상기 스케줄링 정보에 따라 N개의 데이터 중 k개의 데이터를 상기 중계국(610)으로 전송한다(631단계).
상기 중계국(610)은 수신부(612)를 통해 상기 단말(600)로부터 데이터가 수신되면(633단계), 상기 데이터의 에러체크코드(CRC : Cyclic Redundancy Check)를 이용하여 데이터의 오류 발생 여부를 확인한다(635단계). 만일, 상기 k개의 데이터 중에서 j개의 데이터에 오류가 발생했다고 가정하면, 상기 중계국(610)은 오류가 발생하기 않은 k-j개의 데이터를 상기 중계국(610)의 데이터 큐에 저장한다(637단계). 이때, 상기 중계국(610)은 상기 오류가 발생한 j개의 데이터는 저장하지 않는다.
이후, 상기 중계국(610)은 상기 기지국(620)으로 상기 수신된 데이터에 대한 ACK/NACK 제어 메시지를 전송한다(639단계). 즉, 상기 중계국(610)은 오류가 없이 정상적으로 수신된 데이터에 대한 ACK제어메시지와 오류가 발생한 데이터에 대한 NACK제어메시지를 상기 기지국(620)으로 전송한다. 이때, 상기 기지국(620)은 상기 중계국(610)으로 제공받은 상기 ACK/NACK 제어 메시지를 상기 단말(600)로 전송한다(641단계).
이후, 상기 기지국(620)은 상기 중계국(610)과 상기 단말(600)에 스케줄링 정보(예 : 상향링크 맵)를 전송한다(643단계). 예를 들어, 상기 기지국(620)은 상기 중계국(610)으로 상기 스케줄링 정보를 전송한다. 이후, 상기 중계국(610)은 상기 기지국(620)으로부터 제공받은 상기 스케줄링 정보를 상기 단말(600)로 중계한다. 다른 실시 예로 상기 기지국(620)은 상기 단말(600)로 상기 스케줄링 정보를 전송한다. 이때, 상기 중계국(610)은 상기 기지국(620)에서 상기 단말(600)로 전송하는 스케줄링 정보를 청취할 수 있다.
이때, 상기 중계국(610)의 수신부(612)는 상기 단말(600)이 전송하는 데이터 또는 재전송 데이터를 수신한다(645~647단계). 즉, 상기 단말(600)은 상기 기지국(620)으로부터 제공받은 상기 ACK/NACK 제어메시지를 통해 상기 중계국(610)으로 전송한 데이터들 중 j개의 데이터에 오류가 발생한 것을 인식한다.
따라서, 상기 단말(600)은 상기 기지국(620)으로부터 제공받은 스케줄링 정보에 따라 상기 오류가 발생한 j개의 데이터를 상기 중계국(610)으로 재전송한다(645단계). 이때, 상기 단말(600)은 상기 재전송 데이터뿐만 아니라 상기 단말(600)의 데이터 큐에 남은 N-k개의 새로운 데이터 중 k-j개의 데이터를 상기 재전송 데이터와 함께 상기 중계국(610)으로 전송한다.
상기 중계국(610)의 수신부(612)는 상기 단말(600)로부터 제공받은 데이터들의 에러체크코드를 확인하여 상기 데이터의 오류 발생 여부를 확인한다. 만일, 상기 데이터에 오류가 없으면 상기 데이터를 상기 중계국(610)의 데이터 큐에 저장한다. 이후, 상기 단말(600)과 상기 중계국(610)은 상기 단말(600)의 데이터 큐에 저장된 N개의 데이터가 성공적으로 상기 중계국(610)에 수신될 때까지 상기 과정을 반복한다(647단계).
상기 중계국(610)의 송신부(614)는 상기 수신부(612)와 독립적으로 상기 기지국(620)으로부터 제공받은 스케줄링 정보에 따라 상기 데이터 큐에 존재하는 데이터를 상기 기지국(620)으로 전송한다(649단계). 즉, 상기 중계국(610)은 상기 스케줄링 정보에 따라 상기 단말(600)로부터 수신 성공한 데이터를 상기 기지국(620)으로 전송한다.
상기 기지국(620)은 상기 중계국(610)의 송신부(614)가 전송한 상기 데이터가 수신되면(651단계), 상기 데이터들의 에러체크코드를 확인하여 오류를 확인한다(653단계).
이후, 상기 기지국(620)은 상기 중계국(610)과 상기 단말(600)에 스케줄링 정보(예 : 상향링크 맵)를 전송한다(655단계). 이때, 상기 기지국(620)은 상기 스케줄링 정보에 상기 오류가 발생한 데이터와 오류가 발생하지 않은 데이터에 대한 정보를 포함하는 재전송 지시메시지(ACK/NACK indication)를 포함시켜 상기 중계국(610)으로 전송한다. 미 도시되었지만, 상기 기지국(620)이 상기 641단계에서 상기 중계국(610)으로부터 제공받은 상기 ACK/NACK 제어메시지를 상기 단말(600)로 전송하지 않는 경우, 상기 기지국(620)은 상기 655단계에서 상기 스케줄링 정보와 상기 중계국(610)으로부터 제공받은 ACK/NACK 제어메시지를 상기 단말(600)로 전송할 수 있다. 이때, 상기 기지국(620)은 상기 <표 2>와 같이 상기 중계국(610)의 ACK/NACK 제어메시지를 구성하여 상기 단말(600)로 전송할 수 있다.
상기 중계국(610)은 상기 기지국(620)으로부터 제공받은 재전송 지시메시지를 포함하는 스케줄링 정보에서 상기 기지국(620)에서 오류가 발생한 데이터를 확인한다. 이후, 상기 중계국(610)은 상기 스케줄링 정보에 따라 상기 오류가 발생한 데이터를 상기 기지국(620)으로 재전송한다(657단계). 이때, 상기 중계국(610)은 상기 재전송 데이터뿐만 아니라 상기 중계국(610) 데이터 큐에 남은 새로운 데이터를 상기 재전송 데이터와 함께 상기 기지국(620)으로 전송한다.
상기 기지국(620)은 상기 중계국(610)의 송신부(614)가 전송한 데이터가 수신되면(659단계), 상기 데이터들의 에러체크코드를 확인하여 오류 발생 여부를 확인한다(661단계). 만일, 상기 수신 데이터에 오류가 발생하면 상기 기지국(620)은 상기 중계국(610)으로 해당 데이터의 재전송을 요청한다.
이후, 상기 기지국(620)은 상기 중계국(610)의 데이터 큐에 존재하는 데이터를 모두 수신받을 때까지 상기 과정을 반복한다(663단계).
도 8은 본 발명의 제 3 실시 예에 따른 중계방식을 사용하는 무선통신시스템에서 상향링크 신호를 재전송하기 위한 시스템을 도시하고 있다. 이하 설명에서 상기 단말(700)은 상기 기지국(720)으로 전송할 데이터가 N개가 있으며, 한 번에 k개의 데이터를 전송 가능하다고 가정한다.
상기 도 8을 참조하면 상기 기지국(720)은 중계국(710)과 상기 단말(700)로 상향링크 데이터의 전송을 위한 스케줄링 정보(예 : 상향링크 맵)를 전송한다(730단계). 예를 들어, 상기 기지국(720)은 상기 중계국(710)으로 상기 스케줄링 정보를 전송한다. 이후, 상기 중계국(710)은 상기 기지국(720)으로부터 제공받은 상기 스케줄링 정보를 상기 단말(700)로 중계한다. 다른 실시 예로 상기 기지국(720)은 상기 단말(700)로 상기 스케줄링 정보를 전송한다. 이때, 상기 중계국(710)은 상기 기지국(720)에서 상기 단말(700)로 전송하는 스케줄링 정보를 청취할 수 있다.
이후, 상기 단말(700)은 상기 스케줄링 정보에 따라 N개의 데이터 중 k개의 데이터를 상기 중계국(710)으로 전송한다(731단계).
상기 중계국(710)은 수신부(712)를 통해 상기 단말(700)로부터 데이터가 수신되면(733단계), 상기 데이터의 에러체크코드(CRC : Cyclic Redundancy Check)를 이용하여 오류 발생 여부를 확인한다(735단계). 만일, 상기 k개의 데이터 중에서 j개의 데이터에 오류가 발생했다고 가정하면, 상기 중계국(710)은 오류가 발생하기 않은 k-j개의 데이터를 상기 중계국(710)의 데이터 큐에 저장한다(737단계).
이후, 상기 중계국(710)은 상기 기지국(720)으로 상기 수신된 데이터에 대한 ACK/NACK 제어 메시지를 전송한다(739단계). 즉, 상기 중계국(710)은 오류가 없이 정상적으로 수신된 데이터에 대한 ACK제어메시지와 오류가 발생한 데이터에 대한 NACK제어메시지를 상기 기지국(720)으로 전송한다.
이후, 상기 기지국(720)은 상기 중계국(710)과 상기 단말(700)에 스케줄링 정보(예 : 상향링크 맵)를 전송한다(743단계). 예를 들어, 상기 중계국(710)에서 기지국(720)으로 ACK 제어 메시지를 전송한 경우, 상기 기지국(720)은 상기 단말(700)로 ACK 제어 메시지를 전송한다(741단계). 또한, 상기 기지국(720)은 상기 중계국(710)으로 데이터 스케줄링 정보를 전송한다. 이때, 상기 중계국(710)은 상기 데이터 스케줄링 정보에 따라 상기 단말(700)로부터 제공받은 데이터를 상기 기지국(720)으로 전송한다. 만일, 상기 중계국(710)에서 상기 기지국(720)으로 NACK 제어 메시지를 전송한 경우, 상기 기지국(720)은 상기 단말(700)로 NACK 제어 메시지를 전송한다(741단계). 또한, 상기 기지국(720)은 상기 단말(700)로 데이터를 재전송하기 위한 스케줄링 정보를 전송한다.
이때, 상기 중계국(710)의 수신부(712)는 상기 단말(700)이 전송하는 데이터 또는 재전송 데이터를 수신한다(745~747단계). 즉, 상기 단말(700)은 상기 기지국(720)으로부터 제공받은 상기 ACK/NACK 제어메시지를 통해 상기 중계국(710)으로 전송한 데이터들 중 j개의 데이터에 오류가 발생한 것을 인식한다.
따라서, 상기 단말(700)은 상기 기지국(720)으로부터 제공받은 스케줄링 정보에 따라 상기 오류가 발생한 j개의 데이터를 상기 중계국(710)으로 재전송한다(745단계).
상기 중계국(710)의 수신부(712)는 상기 단말(700)로부터 제공받은 데이터들의 에러체크코드를 확인하여 오류 발생 여부를 확인한다. 만일, 상기 데이터에 오류가 없으면 상기 데이터를 상기 중계국(710)의 데이터 큐에 저장한다. 이때, 상기 데이터에 오류가 발생한 경우, 상기 중계국(710)은 상기 기지국(720)을 통해 상기 단말(700)로 상기 오류가 발생한 데이터에 대한 재전송을 요청한다.
이후, 상기 단말(700)과 상기 중계국(710)은 상기 단말(700)의 데이터 큐에 저장된 N개의 데이터가 성공적으로 상기 중계국(710)에 수신될 때까지 상기 과정을 반복한다(747단계).
상기 중계국(710)의 송신부(714)는 상기 수신부(712)와 독립적으로 상기 기지국(720)으로부터 제공받은 스케줄링 정보에 따라 상기 데이터 큐에 존재하는 데이터를 상기 기지국(720)으로 전송한다(749단계). 즉, 상기 중계국(710)은 상기 스케줄링 정보에 따라 상기 단말(700)로부터 수신 성공한 데이터를 상기 기지국(720)으로 전송한다.
상기 기지국(720)은 상기 중계국(710)의 송신부(714)가 전송한 상기 데이터가 수신되면(751단계), 상기 데이터들의 에러체크코드를 확인하여 오류를 확인한다(753단계).
여기서, 상기 수신 데이터 중 p개의 데이터에 오류가 발생하는 것으로 가정하는 경우, 상기 기지국(720)은 상기 오류가 발생하지 않은 데이터에 대한 ACK 제어 메시지와 상기 오류가 발생한 p개의 데이터에 대한 NACK 제어 메시지를 상기 중계국(710)으로 전송한다(755단계). 만일, 상기 기지국(720)이 상기 741단계에서 상기 중계국(710)으로부터 제공받은 ACK/NACK 제어메시지를 상기 단말(700)로 전송하지 않는 경우, 상기 기지국(720)은 상기 755단계에서 상기 단말(700)로 상기 중계국(710)으로부터 제공받은 ACK/NACK 제어메시지를 전송할 수 있다. 이때, 상기 기지국(720)은 상기 <표 2>와 같이 ACK/NACK 제어메시지를 구성하여 상기 단말(700)로 전송할 수 있다.
이후, 상기 기지국(720)은 상기 중계국(710)과 상기 단말(700)에 스케줄링 정보(예 : 상향링크 맵)를 전송한다(757단계).
상기 중계국(710)은 상기 기지국(720)으로부터 제공받은 ACK/NACK 제어 메시지를 통해 상기 기지국(720)으로 전송한 데이터들 중 오류가 발생한 데이터를 확인한다. 이후, 상기 중계국(710)은 기지국(720)으로부터 제공받은 상기 스케줄링 정보에 따라 상기 오류가 발생한 데이터를 상기 기지국(720)으로 재전송한다(759단계). 이때, 상기 중계국(710)은 상기 재전송 데이터뿐만 아니라 상기 중계국(710) 데이터 큐에 남은 새로운 데이터를 상기 재전송 데이터와 함께 상기 기지국(720)으로 전송한다.
상기 기지국(720)은 상기 중계국(710)의 송신부(714)가 전송한 데이터가 수신되면(761단계), 상기 데이터들의 에러체크코드를 확인하여 오류 발생 여부를 확인한다(763단계). 만일, 상기 수신 데이터에 오류가 발생하면 상기 기지국(720)은 상기 중계국(710)으로 해당 데이터의 재전송을 요청한다.
이후, 상기 기지국(720)은 상기 중계국(710)의 데이터 큐에 존재하는 데이터를 모두 수신받을 때까지 상기 과정을 반복한다(765단계).
도 9는 본 발명의 실시 예에 따른 송신기의 상태 천이도를 도시하고 있다. 여기서, 상기 송신기는 하향링크에서는 기지국을 나타내고, 상향링크에서는 단말을 나타낸다. 하지만, 이하 설명에서는 하향링크의 기지국을 예를 들어 설명한다. 또한, 이하 설명에서 상기 송신기의 ARQ 상태는 큐 저장상태(Data in Tx.Que)(800), 중계국 응답 대기 상태(Wait R-ACK)(801), 수신기 응답 대기 상태(Wait ACK)(802), 폐기 상태(Data Discard)(803), 재전송 상태(Waiting for Retransmission)(804), 완료상태(Done)(805) 및 지시메시지 전송 상태(806)로 구분된다.
상기 도 9를 참조하면 상기 도 9의 (a)는 상기 도 3와 도 6에 대한 송신기의 상태 천이도를 나타내고, 상기 도 9의 (b)는 상기 도 4과 도 7에 대한 송신기의 상태 천이도를 나타낸다. 또한 상기 도 9의 (c)는 상기 도 5와 도 8에 대한 송신기의 상태 천이도를 나타낸다.
먼저 상기 도 9의 (a)를 참조하면 먼저 상기 큐 저장상태(800)는 상기 송신기가 중계국으로 전송하기 위한 데이터가 큐에 저장되어 있는 상태를 나타낸다. 상기 큐 저장상태(800)에서 상기 중계국으로 데이터 전송이 이루어지면, 상기 송신기는 상기 중계국 응답대기상태(801)로 천이하여 상기 중계국으로부터 ACK/NACK 메시지의 수신을 대기한다.
만일, 상기 중계국 응답 대기 상태(801)에서 상기 중계국으로부터 상기 전송한 데이터들의 일부 또는 전부에 대하여 NACK메시지가 수신되면, 상기 송신기는 상기 재전송 상태(804)로 천이한다. 상기 재전송 상태(804)로 천이한 상기 송신기는 재전송 요청된 데이터들을 상기 중계국으로 재전송하고 상기 중계국 응답 대기 상태(801)로 다시 천이한다.
한편, 상기 중계국 응답 대기 상태(801)에서 상기 중계국으로부터 상기 전송한 데이터들에 대하여 ACK메시지가 수신되면, 상기 송신기는 상기 수신기 응답 대기 상태(802)로 천이하여 상기 수신기로부터 ACK/NACK 메시지의 수신을 대기한다. 여기서, 상기 수신기로부터 수신되는 ACK/NACK 메시지는 상기 수신기가 중계국으로부터 수신받은 데이터들의 오류 발생 여부 정보를 포함한다.
만일, 상기 수신기 응답 대기 상태(802)에서 상기 수신기로부터 상기 중계국이 전송한 데이터들의 일부 또는 전부에 대하여 ACK메시지가 수신되면, 상기 송신기는 상기 완료상태(805)로 천이하여 전송 성공된 데이터들에 대한 전송을 완료한다. 이때, 상기 송신기는 상기 수신기로 전송이 완료된 상기 데이터들에 대한 유효시간 타이머를 종료시킨다.
또한, 상기 송신기는 상기 수신기로 데이터들의 전송이 완료되면 상기 폐기 상태(803)로 천이하여 데이터 큐에서 상기 전송 완료된 데이터들을 폐기한다.
만일, 상기 수신기 응답 대기 상태(802)에서 상기 수신기로부터 상기 중계국이 전송한 데이터들의 일부 또는 전부에 대하여 NACK메시지가 수신되면, 상기 송신기는 상기 지시메시지 전송 상태(806)로 천이한다. 상기 지시메시지 전송 상태(806)로 천이한 상기 송신기는 재전송 지시 메시지(NACK indication)를 상기 중계국으로 전송하고, 상기 수신기 응답 대기 상태(802)로 다시 천이한다.
한편, 상기 데이터들은 각각 유효시간(life time) 타이머를 가지고 있다. 따라서, 계속적인 재전송이 실패하여 미리 설정된 유효시간 타이머가 만료되면, 상기 송신기는 상기 폐기상태(803)로 천이하여 해당 데이터들을 상기 큐에서 폐기(discard)한다.
다음으로 상기 도 9의 (b)를 참조하면 먼저 상기 큐 저장상태(800)는 상기 송신기가 중계국으로 전송하기 위한 데이터가 큐에 저장되어 있는 상태를 나타낸다. 상기 큐 저장상태(800)에서 상기 중계국으로 데이터 전송이 이루어지면, 상기 송신기는 상기 중계국 응답대기상태(801)로 천이하여 상기 중계국으로부터 ACK/NACK 메시지의 수신을 대기한다.
만일, 상기 중계국 응답 대기 상태(801)에서 상기 중계국으로부터 상기 전송한 데이터들의 일부 또는 전부에 대하여 NACK메시지가 수신되면, 상기 송신기는 상기 재전송 상태(804)로 천이한다. 상기 재전송 상태(804)로 천이한 상기 송신기는 재전송 요청된 데이터들을 상기 중계국으로 재전송하고 상기 중계국 응답 대기 상태(801)로 다시 천이한다.
한편, 상기 중계국 응답 대기 상태(801)에서 전송한 데이터들에 대하여 ACK메시지가 수신되면, 상기 송신기는 상기 수신기 응답 대기 상태(802)로 천이하여 상기 수신기로부터 ACK/NACK 메시지의 수신을 대기한다. 여기서, 상기 수신기로부터 수신되는 ACK/NACK 메시지는 상기 수신기가 중계국으로부터 수신받은 데이터들의 오류 유무 정보를 포함한다.
만일, 상기 수신기 응답 대기 상태(802)에서 상기 수신기로부터 상기 중계국이 전송한 데이터들의 전체에 대하여 ACK메시지가 수신되면, 상기 송신기는 상기 완료상태(805)로 천이하여 전송 성공된 데이터들에 대한 전송을 완료한다. 이때, 상기 송신기는 상기 수신기로 전송이 완료된 데이터들에 대한 유효시간 타이머를 중지한다.
또한, 상기 수신기로 데이터들의 전송이 완료되면, 상기 송신기는 상기 폐기 상태(803)로 천이하여 상기 전송 완료된 데이터들을 데이터 큐에서 폐기한다.
만일, 상기 수신기 응답 대기 상태(802)에서 상기 수신기로부터 상기 중계국이 전송한 데이터들의 일부 또는 전체에 대하여 NACK메시지 또는 상기 전송한 데이터들의 일부에 대하여 ACK 메시지가 수신되면, 상기 송신기는 상기 지시메시지 전송 상태(806)로 천이한다. 상기 지시메시지 전송 상태(806)로 천이한 상기 송신기는 ACK/NACK 지시 메시지(ACK/NACK indication)를 상기 중계국으로 전송하고, 상기 수신기 응답 대기 상태(802)로 다시 천이한다. 이때, 상기 송신기는 상기 지시메시지 전송 상태(806)에서 상기 중계국이 상기 수신기로 전송한 데이터들 중 상기 ACK 메시지에 대한 데이터들을 폐기하기 위해 상기 폐기상태(803)로 천이한다.
한편, 상기 데이터들은 각각 유효시간(life time) 타이머를 가지고 있다. 따라서, 계속적인 재전송이 실패하여 미리 설정된 유효시간 타이머가 만료되면, 상기 송신기는 상기 폐기상태(803)로 천이하여 해당 데이터들을 상기 큐에서 폐기(discard)한다.
마지막으로 상기 도 9의 (c)를 참조하면 먼저 상기 큐 저장상태(800)는 상기 송신기가 중계국으로 전송하기 위한 데이터가 큐에 저장되어 있는 상태를 나타낸다. 상기 큐 저장상태(800)에서 상기 중계국으로 데이터 전송이 이루어지면, 상기 송신기는 상기 중계국 응답대기상태(801)로 천이하여 상기 중계국으로부터 ACK/NACK 메시지의 수신을 대기한다.
만일, 상기 중계국 응답 대기 상태(801)에서 상기 중계국으로부터 상기 전송한 데이터들의 일부 또는 전부에 대하여 NACK메시지가 수신되면, 상기 송신기는 상기 재전송 상태(804)로 천이한다. 상기 재전송 상태(804)로 천이한 상기 송신기는 재전송 요청된 데이터들을 상기 중계국으로 재전송하고 상기 중계국 응답 대기 상태(801)로 다시 천이한다.
한편, 상기 중계국 응답 대기 상태(801)에서 상기 중계국으로부터 상기 전송한 데이터들에 대하여 ACK메시지가 수신되면, 상기 송신기는 상기 수신기 응답 대기 상태(802)로 천이하여 상기 수신기로부터 ACK/NACK 메시지의 수신을 대기한다. 여기서, 상기 수신기로부터 수신되는 ACK/NACK 메시지는 상기 수신기가 중계국으로부터 수신받은 데이터들의 오류 유무 정보를 포함한다.
만일, 상기 수신기 응답 대기 상태(802)에서 상기 수신기로부터 상기 중계국이 전송한 데이터들의 일부 또는 전체에 대하여 ACK메시지가 수신되면, 상기 송신기는 상기 완료상태(805)로 천이하여 상기 수신기로 전송 성공된 데이터들에 대한 전송을 완료한다. 이때, 상기 송신기는 상기 수신기로 전송이 완료된 데이터들에 대한 유효시간 타이머를 중지한다.
또한, 상기 수신기로 데이터들의 전송이 완료되면, 상기 송신기는 상기 폐기 상태(803)로 천이하여 상기 전송 성공된 데이터들을 상기 큐에서 폐기한다.
만일, 상기 수신기 응답 대기 상태(802)에서 상기 수신기로부터 상기 중계국이 전송한 데이터들의 일부 또는 전부에 대하여 NACK메시지가 수신되면, 상기 송신기는 상기 수신기 응답 대기 상태(802)를 유지한다.
한편, 상기 데이터 블록들은 각각 유효시간(life time) 타이머를 가지고 있다. 따라서, 계속적인 재전송이 실패하여 미리 설정된 유효시간 타이머가 만료되면, 상기 송신기는 상기 폐기상태(803)로 천이하여 해당 데이터 블록들을 폐기(discard)한다.
도 10은 본 발명의 실시 예에 따른 수신기의 상태 천이도를 도시하고 있다. 여기서, 상기 수신기는 하향링크에서는 단말을 나타내고, 상향링크에서는 기지국을 나타낸다. 이하 설명에서 상기 수신기의 ARQ 상태는 수신 대기 상태(Wait Data)(900), 디코딩 상태(Data Decoding)(902) 및 완료상태(Done)(904)로 구분된다.
도 10을 참조하면 먼저 상기 수신 대기 상태(900)는 중계국으로부터 데이터의 수신을 대기하는 상태이다. 상기 수신 대기 상태(900)에서 상기 중계국으로부터 데이터들이 수신되면, 상기 수신기는 디코딩 상태(902)로 천이하여 수신된 데이터들을 디코딩한다. 이때, 상기 수신기는 상기 데이터들의 CRC를 검사하여 오류 유무를 판별한다.
만일, 상기 데이터들에 오류가 없으면, 상기 수신기는 상기 송신기로 ACK메시지를 전송한 후, 상기 완료상태(904)로 천이한다. 한편, 상기 데이터들의 일부 또는 전부에 오류가 존재하면, 상기 수신기는 상기 송신기로 NACK메시지를 전송한 후, 다시 상기 수신 대기 상태(900)로 천이한다.
도 11은 본 발명의 실시 예에 따른 중계국의 상태 천이도를 도시하고 있다. 이하 설명에서 상기 중계국의 ARQ 상태는 크게 송신상태와 수신상태로 구분될 수 있다. 상기 수신상태는 수신 대기 상태(Wait data)(1000), 디코딩 상태(Data decoding)(1001), 수신큐 저장 상태(Store in RS Rx. Que)(1002)로 구분된다. 또한, 상기 송신상태는 송신큐 저장상태(Data in RS Tx. Que)(1003), 지시메시지 대기 상태(Wait ACK/NACK indication)(1004), 폐기상태(Data Discard)(1005), 재전송 상태(Waiting for Retransmission)(1006) 및 완료상태(Done)(1007)로 구분된다.
상기 도 11을 참조하면 상기 도 11의 (a)는 상기 도 3과 도 6에 대한 상기 중계국의 상태 천이도를 나타내고, 상기 도 11의 (b)는 상기 도 4와 도 7에 대한 상기 중계국의 상태 천이도를 나타낸다. 또한, 상기 도 11의 (c)는 상기 도 5와 도 8에 대한 상기 중계국의 상태 천이도를 나타낸다.
먼저 상기 도 11의 (a)를 참조하면 먼저 상기 수신 대기 상태(1000)는 송신기로부터의 데이터 수신을 대기하는 상태이다. 상기 수신 대기 상태(1000)에서 상기 송신기로부터 데이터들이 수신되면, 상기 중계국은 디코딩 상태(1001)로 천이하여 수신된 데이터들을 디코딩한다. 이때, 상기 중계국은 상기 데이터들의 CRC를 검사하여 오류 유무를 판별한다.
만일, 상기 데이터들에 오류가 없으면, 상기 중계국은 상기 기지국으로 ACK메시지를 전송한 후, 상기 수신 큐 저장 상태(1002)로 천이하여 수신 성공한 데이터들을 수신 큐(Rx.Que)에 저장한다.
한편, 상기 데이터들의 일부 또는 전부에 오류가 존재하면, 상기 중계국은 상기 기지국으로 NACK메시지를 전송한 후, 상기 수신 대기 상태(1000)로 다시 천이한다.
이때, 상기 중계국은 상기 수신 큐에 저장된 데이터들을 수신기로 중계 전송하기 위해서 송신 큐(Tx.Que)로 복사한 후, 상기 송신 큐 저장상태(1003)로 천이한다. 여기서, 상기 수신 큐와 상기 송신 큐가 물리적으로 분리된 경우, 상기 중계국은 상기 수신 큐에 저장된 데이터들을 상기 송신 큐로 복사한다. 하지만, 상기 수신 큐와 송신 큐가 하나의 큐로 구성되는 경우, 상기 중계국은 상기 복사 동작을 수행하지 않는다.
상기 송신 큐 저장상태(1003)로 천이한 상기 중계국은 상기 송신 큐에 저장된 데이터들을 수신기로 전송하고 유효시간 타이머를 구동시킨다. 이후, 상기 중계국은 지시 메시지 대기 상태(1004)로 천이하여 상기 기지국으로부터 NACK 지시메시지(NACK indication)의 수신을 대기한다. 여기서, 상기 기지국으로부터 수신되는 NACK 지시메시지는 상기 중계국이 수신기로 전송한 데이터들에 대한 오류 발생정보를 포함한다.
만일, 상기 지시메시지 대기 상태(1004)에서 상기 기지국으로부터 NACK지시메시지가 수신되면, 상기 중계국은 상기 재전송 상태(1006)로 천이한다. 상기 재전송 상태(1006)로 천이한 상기 중계국은 상기 NACK지시메시지에 해당하는 데이터들을 상기 수신기로 재전송하고 상기 지시메시지 대기 상태(1004)로 다시 천이한다.
한편, 상기 데이터들은 각각 유효시간(life time) 타이머를 가지고 있다. 따라서, 계속적인 재전송이 실패하여 미리 설정된 유효시간 타이머가 만료되면, 상기 중계국은 상기 폐기상태(1005)로 천이하여 해당 데이터들을 상기 큐에서 폐기(discard)한다. 이와 같이 상기 중계국은 상기 기지국의 제어에 따라 상기 수신기로 데이터들을 재전송한다.
다음으로 상기 도 11의 (b)를 참조하면 먼저 상기 수신 대기 상태(1000)는 송신기로부터의 데이터 수신을 대기하는 상태이다. 상기 수신 대기 상태(1000)에서 상기 송신기로부터 데이터들이 수신되면, 상기 중계국은 디코딩 상태(1001)로 천이하여 수신된 데이터들을 디코딩한다. 이때, 상기 중계국은 상기 데이터들의 CRC를 검사하여 오류 유무를 판별한다.
만일, 상기 데이터들에 오류가 없으면, 상기 중계국은 상기 기지국으로 ACK메시지를 전송한 후, 상기 수신 큐 저장 상태(1002)로 천이하여 수신 성공한 데이터들을 수신 큐(Rx.Que)에 저장한다.
한편, 상기 데이터들의 일부 또는 전부에 오류가 존재하면, 상기 중계국은 상기 기지국으로 NACK메시지를 전송한 후, 상기 수신 대기 상태(1000)로 다시 천이한다.
이때, 상기 중계국은 상기 수신 큐에 저장된 데이터들을 수신기로 중계 전송하기 위해서 송신 큐(Tx.Que)로 복사한 후, 상기 송신 큐 저장상태(1003)로 천이한다. 여기서, 상기 수신 큐와 상기 송신 큐가 물리적으로 분리된 경우, 상기 중계국은 상기 수신 큐에 저장된 데이터들을 상기 송신 큐로 복사한다. 하지만, 상기 수신 큐와 송신 큐가 하나의 큐로 구성되는 경우, 상기 중계국은 상기 복사 동작을 수행하지 않는다.
상기 송신 큐 저장상태(1003)로 천이한 상기 중계국은 상기 송신 큐에 저장된 데이터들을 수신기로 전송하고 유효시간 타이머를 구동한다. 이후, 상기 중계국은 지시 메시지 대기 상태(1004)로 천이하여 상기 기지국으로부터 ACK/NACK 지시메시지(ACK/NACK indication)의 수신을 대기한다. 여기서, 상기 기지국으로부터 수신되는 ACK/NACK 지시메시지는 상기 중계국이 수신기로 전송한 데이터들에 대한 오류 유무 정보를 포함한다.
만일, 상기 지시메시지 대기 상태(1004)에서 상기 기지국으로부터 ACK지시메시지가 수신되면, 상기 중계국은 상기 완료상태(1007)로 천이하여 상기 수신기로 전송 성공된 데이터들에 대한 전송을 완료한다. 이때, 상기 중계ㄱ구은 상기 수신기로 전송이 완료된 데이터들에 대한 유효시간 타이머를 중지한다.
또한, 상기 수신기로 데이터들의 전송이 완료되면, 상기 중계국은 상기 폐기 상태(1005)로 천이하여 상기 전송 성공된 데이터들을 상기 큐에서 폐기한다.
한편, 상기 지시메시지 대기 상태(1004)에서 상기 기지국으로부터 NACK지시메시지가 수신되면, 상기 중계국은 상기 재전송 상태(1006)로 천이한다. 상기 재전송 상태(1006)로 천이한 상기 중계국은 상기 NACK지시메시지에 해당하는 데이터 블록들을 상기 수신기로 재전송하고 상기 지시메시지 대기 상태(1004)로 다시 천이한다.
이때, 상기 데이터들은 각각 유효시간(life time) 타이머를 가지고 있다. 따라서, 계속적인 재전송이 실패하여 미리 설정된 유효시간 타이머가 만료되면, 상기 중계국은 상기 폐기상태(1005)로 천이하여 해당 데이터들을 상기 큐에서 폐기(discard)한다. 이와 같이 상기 중계국은 상기 기지국의 제어에 따라 상기 수신기로 데이터를 재전송한다.
마지막으로 상기 도 11의 (c)를 참조하면 먼저 상기 수신 대기 상태(1000)는 송신기로부터의 데이터 수신을 대기하는 상태이다. 상기 수신 대기 상태(1000)에서 데이터들이 수신되면, 상기 중계국은 디코딩 상태(1001)로 천이하여 수신된 데이터들을 디코딩한다. 이때, 상기 중계국은 상기 데이터들의 CRC를 검사하여 오류 유무를 판별한다.
만일, 상기 데이터들에 오류가 없으면, 상기 중계국은 상기 기지국으로 ACK메시지를 전송한 후, 상기 수신큐 저장 상태(1002)로 천이하여 수신 성공한 데이터들을 수신 큐(Rx.Que)에 저장한다.
한편, 상기 데이터들의 일부 또는 전부에 오류가 존재하면, 상기 중계국은 상기 기지국으로 NACK메시지를 전송한 후, 상기 수신 대기 상태(1000)로 다시 천이한다.
이때, 상기 중계국은 상기 수신 큐에 저장된 데이터들을 수신기로 중계 전송하기 위해서 송신 큐(Tx.Que)로 복사한 후, 상기 송신 큐 저장상태(1003)로 천이한다. 여기서, 상기 수신 큐와 상기 송신 큐가 물리적으로 분리된 경우, 상기 중계국은 상기 수신 큐에 저장된 데이터들을 상기 송신 큐로 복사한다. 하지만, 상기 수신 큐와 송신 큐가 하나의 큐로 구성되는 경우, 상기 중계국은 상기 복사 동작을 수행하지 않는다.
상기 송신 큐 저장상태(1003)로 천이한 상기 중계국은 상기 송신 큐에 저장된 데이터들을 수신기로 전송하고 유효시간 타이머를 구동한다. 이후, 상기 중계국은 응답 대기 상태(1004)로 천이하여 상기 수신기로부터 ACK/NACK 메시지의 수신을 대기한다. 여기서, 상기 ACK/NACK 메시지는, 상기 수신기가 송신기로 전송하는 ACK/NACK 메시지를 의미한다. 즉, 상기 중계국은 상기 수신기가 송신기로 ACK/NACK 메시지를 전송하기 위한 무선 자원 정보를 알고 있다고 가정하여 상기 자원정보를 이용하여 상기 수신기가 송신기로 전송하는 ACK/NACK 메시지를 수신한다.
만일, 상기 응답 대기 상태(1004)에서 상기 수신기로 전송한 데이터들에 대한 ACK메시지가 수신되면, 상기 중계국은 상기 완료상태(1007)로 천이하여 전송 성공된 데이터들에 대한 전송을 완료한다. 이때, 상기 중계국은 상기 데이터들에 대한 유효시간 타이머를 중지한다.
또한, 상기 수신기로 데이터들의 전송이 완료되면, 상기 중계국은 상기 폐기 상태(1005)로 천이하여 상기 수신기로 전송 성공된 데이터들을 폐기한다.
한편, 상기 응답 대기 상태(1004)에서 상기 수신기로 전송한 데이터들에 대한 NACK메시지가 수신되면, 상기 중계국은 상기 재전송 상태(1006)로 천이한다. 상기 재전송 상태(1006)로 천이한 상기 중계국은 상기 기지국으로부터 MAP메시지가 수신되면, 상기 NACK메시지에 해당하는 데이터들을 상기 수신기로 재전송하고 상기 응답 대기 상태(1004)로 다시 천이한다.
한편, 상기 데이터들은 각각 유효시간(life time) 타이머를 가지고 있다. 따라서, 계속적인 재전송이 실패하여 미리 설정된 유효시간 타이머가 만료되면, 상기 중계국은 상기 폐기상태(1005)로 천이하여 해당 데이터들을 상기 큐에서 폐기(discard)한다.
도 12는 본 발명의 제 1 실시 예에 따른 중계방식을 사용하는 무선통신시스템에서 재전송 절차를 도시하고 있다. 이하 설명은 상기 도 3, 도 4에 대한 중계국을 이용한 재전송을 수행하기 위한 무선 통신 절차를 도시하고 있다.
상기 도 12에 도시된 바와 같이 송신기(1100)는 데이터 큐에 저장된 데이터들(1111단계) 중 한번에 전송할 수 있는 데이터들을 중계국(1102)으로 전송한다(1113단계). 이때, 상기 송신기(1100)는 상기 전송한 데이터들의 유효시간을 확인하기 위해 타이머를 구동시킨다.
상기 중계국(1102)은 대기상태에서 상기 송신기(1100)로부터 데이터들이 수신되면, 상기 수신 데이터를 복호하여 에러체크코드를 통해 상기 데이터들의 오류를 검사한다(1115단계). 만일, 상기 데이터들에 오류가 발생하였으면, 상기 중계국(1102)은 상기 송신기(1100)로 NACK제어메시지를 전송한다(1117단계). 미 도시되었지만, 상기 데이터들에 오류가 발생하지 않았으면, 상기 중계국(1102)은 상기 송신기(1100)로 ACK 제어 메시지를 전송한다.
상기 송신기(1100)는 상기 중계국(1102)으로부터 상기 NACK제어메시지가 수신되면(1119단계), 상기 NACK제어메시지에 따른 데이터들을 상기 중계국(1102)으로 재전송한다(1121단계). 여기서, 상기 송신기(1100)는 상기 재전송 데이터와 함께 데이터 큐에 저장된 새로운 데이터들을 상기 중계국(1102)으로 전송할 수 있다.
상기 중계국(1102)은 상기 송신기(1100)로부터 재전송 데이터들이 수신되면, 상기 데이터들을 복호하여 에러체크코드를 통해 상기 데이터들의 오류를 검사한다(1123단계). 만일, 상기 데이터들에 오류가 없으면, 상기 중계국(1102)은 상기 송신기(1100)로 ACK제어메시지를 전송하고(1125단계), 상기 오류가 없는 데이터들을 상기 중계국(1102)의 데이터 큐에 저장한다. 미 도시되었지만, 상기 데이터들에 오류가 발생하였으면, 상기 중계국(1102)은 상기 송신기(1100)로 NACK 제어 메시지를 전송한다.
이때, 상기 송신기(1100)는 상기 중계국(1102)으로부터 ACK제어메시지가 수신되면, 상기 수신기(1104)로부터 ACK/NACK제어메시지의 수신을 기다린다(1127단계).
상기 중계국(1102)의 송신부는 상기 데이터 큐에 저장된 데이터들(1129단계)을 상기 수신기(1104)로 전송한다(1131단계). 이때, 상기 중계국(1102)은 상기 전송한 데이터들의 유효시간을 확인하기 위해 타이머를 구동시킨다.
상기 수신기(1104)는 상기 중계국(1102)으로부터 데이터들이 수신되면, 상기 데이터들을 복호하여 오류를 검사한다(1133단계).
만일, 상기 데이터들에 오류가 발생하였으면, 상기 수신기(1104)는 상기 송신기(1100)로 NACK 제어 메시지를 전송한다(1135단계).
상기 수신기(1104)로부터 NACK 제어메시지를 수신받은 상기 송신기(1100)는 상기 중계국(1102)이 상기 수신기(1104)로 전송한 데이터들의 오류 발생 여부를 확인한다(1127단계).
이후, 상기 송신기(1100)는 상기 중계국(1102)이 상기 수신기(1104)로 전송한 데이터들의 오류 발생 여부 정보와 재전송 지시메시지를 상기 중계국(1102)에 전송한다(1137단계). 예를 들어, 상기 송신기(1100)는 상기 도 3에 도시된 바와 같이 재전송을 요청하는 데이터들에 대한 정보와 재전송 지시메시지를 상기 중계국(1102)으로 전송한다. 다른 실시 예로 상기 송신기(1100)는 상기 도 4에 도시된 바와 같이 상기 오류가 없는 데이터 및 재전송을 요청하는 데이터들에 대한 정보를 상기 중계국(1102)으로 전송한다.
상기 중계국(1102)은 상기 송신기(1100)로부터 제공받은 재전송 지시메시지를 통해 상기 수신기(1104)로 전송한 데이터들 중 오류가 발생한 데이터들을 확인한다. 이후, 상기 중계국(1102)은 상기 오류가 발생한 데이터들을 상기 수신기(1104)로 재전송한다(1139단계~1143단계). 여기서, 상기 중계국(1102)은 상기 재전송 데이터와 함께 데이터 큐에 저장된 새로운 데이터들을 상기 수신기(1104)로 전송할 수 있다.
또한, 상기 중계국(1102)은 상기 송신기(1100)로부터 오류가 없는 데이터들에 대한 정보를 수신받으면, 상기 오류가 없는 데이터들을 데이터 큐에서 폐기한다. 즉, 상기 도 4에 도시된 바와 같이 상기 송신기(1100)로부터 오류가 없는 데이터들에 대한 정보를 수신받는 경우, 상기 중계국(1102)은 상기 오류가 없는 데이터들을 상기 데이터 큐에서 폐기한다. 만일, 상기 도 3에 도시된 바와 같이 상기 오류가 없는 데이터에 대한 정보를 수신받지 못하면, 상기 중계국은 상기 데이터들에 대한 타이머가 소멸될 때 상기 데이터 큐에서 상기 데이터들을 폐기한다.
상기 수신기(1104)는 상기 중계국(1102)으로부터 재전송 데이터들 수신되면, 상기 데이터들을 복호하여 오류를 검사한다(1145단계). 만일, 상기 데이터들에 오류가 없으면, 상기 수신기(1104)는 상기 송신기(1100)로 ACK 제어 메시지를 전송한다(1147단계).
상기 송신기(1100)는 상기 수신기(1104)로부터 ACK제어메시지가 수신되면, 상기 데이터들의 전송 및 재전송 동작 및 타이머의 동작도 종료하고, 상기 중계국(1102)과 수신기(1104)로 전송한 데이터들을 데이터 큐에서 폐기한다(1149단계).
도 13은 본 발명의 제 2 실시 예에 따른 중계방식을 사용하는 무선통신시스템에서 재전송 절차를 도시하고 있다. 이하 설명은 상기 도 5에 대한 중계국을 이용한 재전송을 수행하기 위한 무선 통신 절차를 도시하고 있다.
상기 도 13에 도시된 바와 같이 송신기(1200)는 데이터 큐에 저장된 데이터들(1211단계) 중 한번에 전송할 수 있는 데이터들을 중계국(1202)으로 전송한다(1213단계). 이때, 상기 송신기(1200)는 상기 전송한 데이터들의 유효시간을 확인하기 위해 타이머를 구동시킨다.
상기 중계국(1202)은 대기상태에서 상기 송신기(1200)로부터 데이터들이 수신되면, 상기 수신 데이터를 복호하여 에러체크코드를 통해 상기 데이터들의 오류를 검사한다(1215단계). 만일, 상기 데이터들에 오류가 발생하였으면, 상기 중계국(1202)은 상기 송신기(1200)로 NACK제어메시지를 전송한다(1217단계). 미 도시되었지만, 상기 데이터들에 오류가 발생하지 않았으면, 상기 중계국(1202)은 상기 송신기(1200)로 ACK 제어 메시지를 전송한다.
상기 송신기(1200)는 상기 중계국(1202)으로부터 상기 NACK제어메시지가 수신되면(1219단계), 상기 NACK제어메시지에 따른 데이터들을 상기 중계국(1202)으로 재전송한다(1221단계). 이때, 상기 송신기(1200)는 상기 재전송 데이터와 함께 데이터 큐에 저장된 새로운 데이터들을 상기 중계국(1202)으로 전송할 수 있다.
상기 중계국(1202)은 상기 송신기(1200)로부터 재전송 데이터들이 수신되면, 상기 데이터들을 복호하여 에러체크코드를 통해 상기 데이터들의 오류를 검사한다(1223단계). 만일, 상기 데이터들에 오류가 없으면, 상기 중계국(1202)은 상기 송신기(1200)로 ACK제어메시지를 전송하고(1225단계), 상기 오류가 없는 데이터들을 상기 중계국(1202)의 데이터 큐에 저장한다. 미 도시되었지만, 상기 데이터들에 오류가 발생하였으면, 상기 중계국(1202)은 상기 송신기(1200)로 NACK 제어 메시지를 전송한다.
이때, 상기 송신기(1200)는 상기 중계국(1202)으로부터 ACK제어메시지가 수신되면, 상기 수신기(1204)로부터 ACK/NACK제어메시지의 수신을 기다린다(1227단계).
상기 중계국(1202)의 송신부는 상기 데이터 큐에 저장된 데이터들(1229단계)을 상기 수신기(1204)로 전송한다(1231단계). 이때, 상기 중계국(1202)은 상기 전송한 데이터들의 유효시간을 확인하기 위해 타이머를 구동시킨다.
상기 수신기(1204)는 상기 중계국(1202)으로부터 데이터들이 수신되면, 상기 데이터들을 복호하여 오류를 검사한다(1233단계).
상기 데이터에 오류가 발생하였으면, 상기 수신기(1204)는 상기 송신기(1200)로 NACK 제어 메시지를 전송한다(1235단계). 이때, 상기 중계국(1202)은 상기 수신기(1204)가 상기 송신기(1200)로 전송하는 상기 ACK/NACK 제어메시지를 수신하여 상기 수신기(1204))로 전송한 데이터들의 오류 발생 유무를 인지한다.
상기 수신기(1204)로부터 NACK 제어메시지를 수신받은 상기 송신기(1200)는 상기 중계국(1202)이 상기 수신기(1104)로 전송한 데이터들의 오류 발생 여부를 확인한다(1227단계).
이후, 상기 중계국(1202)은 상기 송신기(1200)로부터 스케줄링 정보가 수신되면, 상기 수신기(1204)의 전송한 데이터들 중 오류가 발생한 데이터들을 상기 수신기(1204)에 전송한다(1237단계~1239단계). 이때, 상기 중계국(1202)은 상기 재전송 데이터와 함께 데이터 큐에 저장된 새로운 데이터들을 상기 수신기(1204)로 전송할 수 있다.
상기 수신기(1204)는 상기 중계국(1202)이 전송한 데이터들이 수신되면, 상기 데이터들을 복호하여 오류를 검사한다(1241단계). 만일, 상기 데이터들에 오류가 없으면, 상기 수신기(1204)는 상기 송신기(1200)로 ACK 제어 메시지를 전송한다(1243단계). 이때, 상기 중계국(1202)은 상기 수신기(1204)가 상기 송신기(1200)로 방송하는 ACK제어메시지를 청취하여 상기 데이터의 전송 및 재전송 동작 및 타이머 동작을 종료한다. 또한, 상기 중계국(1202)은 상기 수신기(1204)로 전송이 완료된 데이터들을 상기 데이터 큐에서 폐기한다(1245단계).
상기 송신기(1200)는 상기 수신기(1204)로부터 ACK제어메시지가 수신되면, 상기 데이터의 전송 및 재전송 동작 및 타이머의 동작도 종료한다. 또한, 상기 송신기(1200)는 상기 중계국(1202)을 통해 수신기(1204)로 전송이 완료된 데이터들을 데이터 큐에서 폐기한다(1247단계).
도 14는 본 발명의 제 1 실시 예에 따른 재전송을 수행하기 위한 중계국의 동작 절차를 도시하고 있다.
상기 도 14를 참조하면, 먼저 상기 중계국은 1301단계에서 상기 송신기로부터 데이터들이 수신되면, 상기 데이터들의 복호(De-coding)를 수행한다.
상기 데이터들을 복호한 후, 상기 중계국은 1303단계로 진행하여 상기 복호된 데이터들의 에러체크코드를 통해 오류 발생 여부를 검사한다.
만일, 상기 데이터들에 오류가 발생하였으면, 상기 중계국은 1307단계로 진행하여 상기 오류가 발생한 데이터들에 대한 NACK 제어 메시지를 상기 기지국으로 전송한다. 이후, 상기 중계국은 상기 1301단계로 되돌아가 상기 송신기로부터 상기 NACK 제어 메시지에 대한 재전송 데이터들을 수신한다. 예를 들어, 하향링크의 경우, 상기 기지국은 상기 중계국으로부터 제공받은 NACK 제어 메시지에 해당하는 데이터들을 상기 중계국으로 재전송한다. 다른 실시 예로 상향링크의 경우, 상기 기지국은 상기 중계국으로부터 제공받은 NACK 제어 메시지를 단말로 중계한다. 이후, 상기 단말은 상기 기지국으로부터 제공받은 상기 중계국의 NACK 제어메시지에 대한 데이터들을 상기 중계국으로 재전송한다.
한편, 상기 데이터들에 오류가 없으면, 상기 중계국은 1305단계로 진행하여 상기 오류가 없는 데이터들에 대한 ACK 제어 메시지를 상기 기지국으로 전송한다.
상기 ACK 제어메시지를 전송한 후, 상기 중계국은 1309단계로 진행하여 상기 오류가 없는 데이터들을 상기 데이터 큐에 저장한다.
이후, 상기 중계국은 1311단계로 진행하여 상기 데이터 큐에 저장된 데이터들을 수신기로 전송한다.
상기 데이터들을 전송한 후, 상기 중계국은 1313단계로 진행하여 상기 송신기로부터 ACK 지시 메시지가 수신되는지 확인한다.
만일, 상기 기지국으로부터 ACK 지시 메시지가 수신되면, 상기 중계국은 1315단계로 진행하여 상기 ACK 지시 메시지에 해당하는 데이터들이 상기 수신기로 전송이 완료된 것으로 판단한다. 따라서, 상기 중계국은 상기 데이터들의 전송 및 재전송 동작을 종료한다. 또한, 상기 중계국은 상기 수신기로 전송이 완료된 데이터들을 상기 데이터 큐에서 폐기한다.
이후, 상기 중계국은 본 알고리즘을 종료한다.
한편, 상기 기지국으로부터 NACK 지시 메시지가 수신되면, 상기 중계국은 1317단계로 진행하여 상기 NACK 지시 메시지에 해당하는 데이터들에 오류가 발생한 것으로 판단하고, 상기 데이터의 유효시간이 만료되었는지 확인한다.
만일, 상기 데이터의 유효시간이 만료되지 않았으면, 상기 중계국은 상기 1311단계로 진행하여 상기 NACK 지시 메시지에 해당하는 데이터를 상기 수신기로 재전송한다. 이때, 상기 중계국은 상기 재전송 데이터와 함께 데이터 큐에 저장된 새로운 데이터들을 상기 수신기로 전송할 수 있다.
한편, 상기 데이터의 유효시간이 만료되었으면, 상기 중계국은 1319단계로 진행하여 상기 NACK 지시 메시지에 해당하는 데이터를 상기 데이터 큐에서 폐기한다.
이후, 상기 중계국은 본 알고리즘을 종료한다.
도 15는 본 발명의 제 2 실시 예에 따른 재전송을 수행하기 위한 중계국의 동작 절차를 도시하고 있다.
상기 도 15를 참조하면 먼저 상기 중계국은 1401단계에서 상기 송신기로부터 데이터들이 수신되면, 상기 데이터들의 복호(De-coding)를 수행한다.
상기 데이터들을 복호한 후, 상기 중계국은 1403단계로 진행하여 상기 복호된 데이터들의 에러체크코드를 통해 상기 데이터들의 오류 발생 여부를 검사한다.
만일, 상기 데이터들에 오류가 발생하였으면, 상기 중계국은 1407단계로 진행하여 상기 기지국으로 오류가 발생한 데이터들에 대한 NACK 제어 메시지를 전송한다. 여기서, 상기 중계국이 전송하는 NACK 제어 메시지를 R-NAK 제어 메시지라 칭하기도 한다.
이후, 상기 중계국은 상기 1401단계로 되돌아가 상기 송신기로부터 상기 NACK 제어메시지에 대한 재전송 데이터를 수신한다. 예를 들어, 하향링크의 경우, 상기 기지국은 상기 중계국으로부터 제공받은 NACK 제어 메시지에 해당하는 데이터들을 상기 중계국으로 재전송한다. 다른 실시 예로 상향링크의 경우, 상기 기지국은 상기 중계국으로부터 제공받은 NACK 제어 메시지를 단말로 중계한다. 이후, 상기 단말은 상기 기지국으로부터 제공받은 상기 중계국의 NACK 제어메시지에 대한 데이터들을 상기 중계국으로 재전송한다.
한편, 상기 데이터들에 오류가 없으면, 상기 중계국은 1405단계로 진행하여 상기 송신기로 ACK 제어 메시지를 전송한 후, 상기 중계국은 1409단계로 진행하여 상기 오류가 없는 데이터들을 상기 데이터 큐에 저장한다. 여기서, 상기 중계국이 전송하는 ACK 제어 메시지를 R-ACK 제어 메시지라 칭하기도 한다.
이후, 상기 중계국은 1411단계로 진행하여 상기 데이터 큐에 저장된 데이터들을 상기 수신기로 전송한다.
상기 데이터들을 상기 수신기로 전송한 후, 상기 중계국은 1413단계로 진행하여 상기 수신기로부터 상기 전송한 데이터들에 대한 ACK 제어메시지가 수신되는지 확인하여 상기 데이터들에 대한 오류 발생 정보를 확인한다. 예를 들어, 하향링크의 경우, 상기 중계국은 단말이 기지국으로 전송하는 ACK/NACK 제어메시지를 청취하여 상기 단말로 전송한 데이터들에 대한 오류 발생 정보를 확인한다.
다른 실시 예로 상향링크의 경우, 상기 중계국은 상기 기지국으로부터 ACK/NACK 제어메시지를 수신받아 상기 기지국으로 전송한 데이터들에 대한 오류 발생 정보를 확인한다.
만일, 상기 수신기로부터 ACK 제어메시지가 수신되면, 상기 중계국은 1415단계로 진행하여 상기 ACK 제어메시지에 해당하는 데이터들이 상기 수신기로 전송 완료된 것으로 판단한다. 따라서, 상기 중계국은 상기 수신기로 전송 완료된 데이터들의 전송 및 재전송 동작을 종료한다. 또한, 상기 중계국은 상기 수신기로 전송 완료된 데이터들을 상기 데이터 큐에서 폐기한다.
이후, 상기 중계국은 본 알고리즘을 종료한다.
한편, 상기 수신기로부터 NACK 제어 메시지가 수신되면, 상기 중계국은 1417단계로 진행하여 상기 NACK 제어 메시지에 해당하는 데이터들에 오류가 발생한 것으로 판단하고, 상기 데이터들의 유효시간이 만료되었는지 확인한다.
만일, 상기 데이터의 유효시간이 만료되지 않았으면, 상기 중계국은 상기 1411단계로 진행하여 상기 NACK 제어 메시지에 해당하는 데이터를 상기 수신기로 재전송한다. 이때, 상기 중계국은 상기 재전송 데이터와 함께 데이터 큐에 저장된 새로운 데이터를 상기 수신기로 전송할 수 있다.
한편, 상기 데이터의 유효시간이 만료되었으면, 상기 중계국은 1419단계로 진행하여 상기 NACK 제어 메시지에 해당하는 데이터를 상기 데이터 큐에서 폐기한다.
이후, 상기 중계국은 본 알고리즘을 종료한다.
이하 설명은 상술한 바와 같이 재전송을 수행하기 위한 중계국의 블록 구성에 대해 설명한다. 여기서, 하기 도 16은 상기 무선통신시스템에서 MAC 계층의 ARQ를 수행하기 위한 중계국의 블록 구성을 나타내고, 하기 도 17은 상기 무선통신시스템에서 물리 계층의 HARQ를 수행하기 위한 중계국의 블록 구성을 나타낸다.
도 16은 본 발명에 따른 재전송을 수행하기 위한 중계국의 블록 구성을 도시하고 있다.
상기 도 16에 도시된 바와 같이 상기 중계국은 안테나 부(1501), 수신부(1503), 송신부(1505) 및 ARQ 부(1507)를 포함하여 구성된다.
상기 안테나 부(1501)는 상기 수신부(1503)와 송신부(1505)가 하나의 안테나를 공유할 수 있도록 제어한다. 이때, 상기 수신부(1503)과 송신부(1505)는 각각 두 개 이상도 존재할 수 있다.
상기 수신부(1503)는 RF수신부(1511), 물리계층 복호부(1513), MAC PDU 복호부(1515) 및 MAC 패이로드 복호부(1517)를 포함하여 구성된다.
상기 RF수신부(1511)는 상기 안테나 부(1501)를 통해 송신기로부터 수신받은 고주파 신호를 주파수 하향 변조하여 기저대역 신호로 변환한다.
상기 물리 계층 복호부(1513)는 상기 RF수신부(1511)로부터 제공받은 기저대역 신호에서 물리 계층 데이터를 해석한다.
상기 MAC PDU 복호부(1515)는 상기 물리 계층 복호부(1513)로부터 제공받은 데이터의 헤더를 분석하고, 상기 데이터의 오류 발생 여부를 검사한다. 예를 들어, 상기 MAC PDU 복호부(1515)는 MAC 헤더 검출부(1521), MAC CRC 검사기(1523) 및 MAC 패이로드 검출기(1525)를 포함하여 구성된다. 이때, 상기 MAC헤더 검출부(1521)는 상기 물리 계층 복호부(1513)로부터 제공받은 MAC PDU의 헤더를 분석하여 상기 MAC PDU의 패이로드가 제어정보를 포함하는지, 트래픽을 포함하는지 판단한다.
상기 MAC CRC 검출부(1523)는 상기 MAC PDU의 에러체크코드(예 : CRC(Cyclic Redundancy Check))를 통해 각각의 MAC PDU의 패이로드에 대한 오류 발생 여부를 검사한다. 이때, 상기 MAC CRC 검출부(1523)는 상기 MAC PDU의 패이로드에 대한 오류 발생 유무 정보를 상기 ARQ 부(1505)로 보고한다.
상기 MAC 패이로드 검출부(1525)는 상기 MAC PDU에서 패이로드를 검출한다. 이때, 상기 MAC 패이로드 검출부(1525)는 상기 MAC CRC 검출부(1523)에서 상기 MAC PDU들에서 오류가 없는 패이로드만 검출한다.
이때, 상기 MAC PDU 복호부(1515)는 오류가 없는 패이로드에 제어정보를 포함되면, 상기 패이로드를 상기 MAC 패이로드 복호부(1517)의 MAC 제어메시지 복호부(1531)로 전송한다.
만일, 상기 MAC PDU 복호부(1515)는 오류가 없는 패이로드에 제어정보를 포함되면, 상기 패이로드를 상기 MAC 패이로드 복호부(1517)의 수신 데이터 큐(1533)로 전송한다.
상기 MAC 패이로드 복호부(1517)는 상기 MAC 제어메시지 복호부(1531)와 수신 데이터 큐(1533)를 포함하여 구성된다.
상기 MAC 제어메시지 복호부(1531)는 상기 MAC PDU 복호부(1515)로부터 제공받은 오류가 없는 MAC PDU의 패이로드에 포함된 제어메시지를 해석한다. 여기서, 상기 MAC 제어메시지 복호부(1531)는 상기 해석된 상기 제어 메시지 중 ACK 또는 NACK와 같이 ARQ와 관련된 제어메시지는 상기 ARQ 부(1507)로 보고한다.
상기 수신 데이터 큐(1533)는 상기 MAC PDU 복호부(1515)로부터 제공받은 오류가 없는 MAC PDU의 패이로드에 포함된 트래픽을 저장한다. 이때, 상기 수신 데이터 큐(1533)에 저장되는 데이터들은 상기 ARQ부(1507)의 제어에 따라 송신 데이터 큐(1571)에 복사되어 저장된다. 여기서, 상기 수신 데이터 큐(1533)와 송신 데이터 큐(1571)를 분리하여 도시하였지만, 하나의 장치를 공유하여 사용할 수도 있다.
상기 송신부(1505)는 RF송신부(1551), 물리계층 부호부(1553), MAC PDU 부호부(1555) 및 MAC 패이로드 부호부(1557)를 포함하여 구성된다.
상기 MAC 패이로드 부호부(1557)는 상기 송신 데이터 큐(1571)에 저장된 데이터들을 가지고 MAC 패이로드를 생성하여 MAC PDU부호부(1555)로 출력한다. 여기서, 상기 MAC 패이로드 부호부(1557)는 상기 ARQ부(1507)의 제어에 따라 ACK/NACK과 같은 MAC제어메시지도 생성하여 출력한다.
상기 MAC PDU 부호부(1555)는 상기 ARQ부(1507)로부터 제공받은 송신기로부터 수신된 데이터들의 ACK 타입이나 BSN 정보를 이용하여 상기 MAC 패이로드 부호부(1557)로부터 제공받은 MAC 패이로드를 상기 송신기로부터 수신한 데이터와 동일한 형태의 MAC PDU로 생성한다. 즉, 상기 송신부(1505)는 상기 송신기와 동일한 형태의 MAC PDU를 상기 수신기에 전송한다.
상기 물리계층 부호부(1553)는 상기 MAC PDU 부호부(1555)로부터 제공받은 MAC PDU를 물리계층 데이터로 가공한다.
상기 RF송신부(1551)는 상기 물리계층 부호부(1553)로부터 제공받은 기저대역의 물리계층 데이터를 고주파 신호로 주파수 상향 변조시켜 출력한다.
상기 ARQ부(1507)는 ARQ 상태 머신(1541), ARQ 타이머(1543) 및 ARQ 제어부(1545)를 포함하여 구성된다.
상기 ARQ 상태 머신(1541)은 재전송된 데이터에 대한 ARQ 상태를 관리한다. 상기 ARQ 타이머(1543)는 전송되는 데이터들 각각에 대한 유효시간(life time) 타이머를 관리한다.
상기 ARQ 제어기(1545)는 상기 ARQ상태 머신(1541)과 상기 ARQ 타이머(1543)와 연동하여 ARQ에 전반적인 동작을 제어한다. 예를 들어, 상기 ARQ 제어기(1545)는 수신기로 송신된 MAC PDU들에 대한 응답메시지 수신시, 이를 분석하여 NACK에 해당하는 데이터들은 재전송하도록 제어한다. 한편, 상기 ARQ 제어기(1545)는 ACK에 해당하는 데이터들은 상기 송신 데이터 큐(1571)에서 폐기(discard)하도록 제어한다.
또한, 상기 ARQ제어기(1545)는 상기 중계국의 데이터 재전송을 제어한다. 즉, 상기 수신된 데이터들에 대한 ACK/NACK 메시지를 송신기로 전송하도록 상기 송신부(1503)를 제어한다. 또한, 상기 ARQ 제어기(1545)는 상기 송신기로부터 ACK/NACK 지시메시지(ACK/NACK indication)가 수신되면, 재전송 지시메시지에 해당하는 MAC데이터들을 상기 버퍼로부터 독출하여 재전송하고, ACK에 해당하는 MAC데이터들을 상기 버퍼에서 폐기하도록 제어한다.
도 17은 본 발명의 다른 실시 예에 따른 재전송을 수행하기 위한 중계국의 블록 구성을 도시하고 있다. 이하 설명에서 송신부(1700)와 수신부(1720)는 서로 다른 안테나를 사용하는 것으로 가정하여 설명하지만 상기 송신부(1700)와 수신부(1720)는 하나의 안테나를 사용할 수도 있다.
상기 도 17에 도시된 바와 같이 상기 중계국은 송신부(1700), 수신부(1720) 및 ARQ 제어부(1740), ARQ 상태부(1750), ARQ 타이머(1760), 채널 추정기(1770)를 포함하여 구성된다.
먼저, 상기 송신부(1700)는 데이터 생성부(1701), 채널 부호기(1703), CRC생성기(1705), 변조기(1707), IFFT(Inverse Fast Fourier Transform) 연산기(1709) 및 RF 처리기(1711)를 포함하여 구성된다.
상기 데이터 생성부(1701)는 데이터 큐(1713)에 저장된 데이터와 메시지 생성기(1717)에서 생성한 제어 메시지를 SDU(Service Data Unit)생성기(1715)에서 모아 물리계층 전송을 위한 하나의 데이터를 생성한다. 여기서, 상기 메시지 생성기(1717)는 상기 수신부(1720)를 통해 송신기로부터 수신받은 데이터에 오류가 없으면 ACK 제어 메시지를 생성한다. 반면에 상기 메시지 생성기(1717)는 상기 데이터에 오류가 발생한 경우, NACK 메시지를 생성한다.
상기 채널 부호기(1703)는 상기 데이터 생성부(1701)로부터 제공받은 데이터를 해당 변조 수준(예 : MCS(Modulation and Coding Scheme)레벨)에 따라 부호화한다. 상기 CRC 생성기(1705)는 에러 검출 코드를 생성하여 상기 채널 부호기(1703)로부터 제공받은 데이터에 추가하여 출력한다.
상기 변조기(1707)는 상기 CRC 생성기(1705)로부터 제공받은 데이터를 해당 변조 수준(예 : MCS레벨)에 따라 변조하여 출력한다.
상기 IFFT연산기(1709)는 상기 변조기(1707)로부터 제공받은 주파수 영역 데이터를 역 고속 푸리에 변환하여 시간 영역 신호로 변환한다.
상기 RF처리기(1711)는 상기 IFFT연산기(1709)로부터 제공받은 기저대역 신호를 고주파(Radio Frequency) 신호로 주파수 상향 변조하여 안테나를 통해 송신기 또한 수신기로 출력한다. 예를 들어, 상기 RF처리기(1711)는 상기 송신기로부터 수신받은 데이터에 대한 ACK/NACK 제어 메시지를 기지국으로 전송한다. 또한, 상기 RF처리기(1711)는 상기 송신기로부터 제공받은 데이터를 상기 수신기로 전송한다.
다음으로 상기 수신부(1720)는 RF처리기(1721), FFT(Fast Fourier Transform)연산기(1723), 복조기(1725), CRC제거기(1727), 채널 복호기(1729) 및 데이터 처리부(1731)를 포함하여 구성된다.
상기 RF처리기(1721)는 안테나를 통해 상기 송신기로부터 제공받는 고주파 신호를 기저대역 신호로 주파수 하향변조하여 출력한다.
상기 FFT연산기(1723)는 상기 RF처리기(1721)로부터 제공받은 시간 영역 신호를 고속 푸리에 변환하여 주파수 영역 신호로 변환한다.
상기 복조기(1725)는 상기 FFT연산기(1723)로부터 제공받은 신호를 해당 변조 수준에 따라 복조하여 출력한다. 이때, 상기 복조기(1725)는 상기 복조된 신호를 상기 CRC제거기(1727)와 상기 채널 추정기(1770)로 출력한다.
상기 CRC 제거기(1727)는 상기 복조기(1725)로부터 제공받은 신호의 에러 검출코드를 확인하여 상기 신호의 오류 발생 여부를 판단한다. 이때, 상기 CRC제거기(1727)는 상기 복조기(1725)로부터 제공받은 신호에서 상기 에러 검출코드를 제거한다.
상기 채널 복호기(1729)는 상기 CRC 제거기(1727)로부터 제공받은 오류가 없는 신호를 해당 변조 수준에 따라 복호하여 출력한다.
상기 데이터 처리부(1731)의 SDU 처리기(1735)는 상기 채널 복호기(1729)로부터 제공받은 물리 계층 신호에서 데이터와 제어 메시지를 분리한다. 이후, 상기 SDU처리기(1735)는 상기 데이터를 제 2 데이터 큐(1737)로 제공하여 저장한다. 또한, 상기 SDU 처리기(1735)는 상기 제어 메시지는 상기 메시지 처리기(1733)로 제공하여 복호하여 확인한다. 여기서, 상기 제 1 데이터 큐(1713)와 제 2 데이터 큐(1727)는 분리된 것으로 도시하지만, 상기 제 1 데이터 큐(1713)와 제 2 데이터 큐(1727)는 하나의 데이터 큐로 구성할 수도 있다.
상기 메시지 처리부(1733)는 기지국으로부터 수신되는 ACK/NACK지시 메시지를 복호하여 상기 ARQ 제어기(1740)로 알린다. 즉, 상기 메시지 처리부(1733)는 상기 기지국에서 재전송을 요청하는 데이터에 대한 정보를 상기 ARQ 제어기(1740)로 알린다.
또한, 상기 메시지 처리부(1733)는 수신기에서 송신기로 전송하는 ACK/NACK 제어메시지를 청취하여 상기 ARQ제어기(1740)로 상기 수신기로 전송한 데이터에 대한 ACK/NACK정보를 제공한다.
상기 ARQ 상태부(1750)는 재전송된 데이터에 대한 ARQ 상태를 관리한다. 상기 ARQ 타이머(1760)는 상기 중계국의 재전송을 위한 유효시간(life time)을 관리한다.
상기 ARQ 제어기(1740)는 상기 ARQ상태부(1750)와 상기 ARQ 타이머(1543)를 연동하여 상기 중계국의 ARQ에 전반적인 동작을 제어한다. 예를 들어, 상기 ARQ제어기(1740)는 상기 메시지 처리기(1733)로부터 ACK/NACK 지시 메시지 정보가 수신되면, 상기 ACK/NACK 지시 메시지 정보에 따라 ACK 지시 메시지에 대한 데이터를 상기 제 1 데이터 큐(1713)에서 폐기하도록 제어한다. 또한, 상기 ARQ제어기(1740)는 상기 NACK 지시 메시지에 대한 데이터를 상기 수신기로 재전송하도록 상기 데이터 생성부(1701), 채널 부호기(1703) 및 CRC 생성기(1705)를 제어한다.
다른 실시 예로 상기 ARQ 제어기(1740)는 상기 메시지 처리기(1733)로부터 상기 청취한 ACK/NACK 제어메시지 정보가 수신되면, 상기 기지국으로부터 스케줄링 정보에 따라 상기 NACK 제어 메시지에 대한 데이터를 상기 수신기로 재전송하도록 상기 데이터 생성부(1701), 채널 부호기(1703) 및 CRC 생성기(1705)를 제어한다.
또한, 상기 ARQ 제어기(1740)는 상기 재전송 절차를 수행 중 상기 ARQ 타이머(1760)로부터 유효시간 종료 메시지를 제공받으면 해당 데이터에 대한 재전송 절차를 종료한다.
상술한 실시 예는 하나의 중계국을 이용하여 중계 서비스를 제공하는 무선통신시스템을 예를 들어 설명하였지만, 다중 홉 중계방식의 무선통신시스템도 동일하게 동작할 수 있다.
한편 본 발명의 상세한 설명에서는 구체적인 실시 예에 관해 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능함은 물론이다. 그러므로 본 발명의 범위는 설명된 실시 예에 국한되어 정해져서는 아니 되며 후술하는 특허청구의 범위뿐만 아니라 이 특허청구의 범위와 균등한 것들에 의해 정해져야 한다.