前言
在802.16e中,基地台擁有無線資源的控制權,將這些資源做適當分配的流程一般稱之為排程。排程的結果會在每個訊框透過DL-MAP及UL-MAP告知其下的用戶端(SS/MS),其中DL-MAP描述SS/MS如何接收BS的資料,而UL-MAP描述SS/MS如何傳送資料給BS。在802.16e的資料連線上,這兩個訊息扮演著舉足輕重的地位。
排程在BS的運作是一個相當重要的任務。在實作上我們主要以排程模組來負責此任務。本文首先會介紹實作上BS排程的方式,接著會介紹在實作上如何在排程中支援MIMO/MBS/HARQ。
排程
排程的目的及順序
排程的主要目的是組出DL-MAP和UL-MAP,由於DL-MAP和UL-MAP中是以burst來描述資源配置,因此排程的目標也可以視為將各個burst的大小從frame中切割出來;亦即分配DL及UL資源。此外DL方向的資料是由BS傳送給SS/MS,因此在BS排程的過程中,也要產生DL方向的PDU。
因為每個frame都必須包含MAP,所以我們利用PHY層提供的frame boundary trigger,來定期執行分配DL及UL資源的任務。在我們的排程順序上,先排程UL,組出UL-MAP,通知PHY正確接收burst的位置;再排程DL,組出待傳送的PDU,設定PHY正確傳送burst的位置,並將PDU傳送給PHY;最後組出DL-MAP。值得注意的是,DL-MAP描述的是當下frame的DL bursts,UL-MAP描述的是下一個frame的UL bursts,而排程的工作必須在MAP傳送之前,所以排程執行序,實際上是分配下一個frame的DL resources,下一個的下一個frame的UL resources。
Burst的目的及屬性
Burst之所以會存在,是起因於資料傳輸的需求。在DL方向,資料傳輸的需求是源於BS手上有想傳送給SS/MS的資料,若burst所攜帶資料是給所有SS/MS接收,則屬於broadcast類型;若burst所攜帶資料是屬於multicast connection,則屬於multicast類型;若此burst所攜帶資料是只傳送給某個SS/MS接收,則屬於unicast類型。burst與其資料的聯結關係可參見圖一所示。在UL方向的burst方面,若除掉MIMO中的資源共用,則全屬於unicast類型。資料傳輸的需求則是源於SS/MS向BS索取資料傳輸的空間,這方面的關係可參見圖二所示。
connection為基礎的管理排程
排程優先順序
由圖一及圖二可知,大多數的資源是透過connection來管理,所以我們以connection為基礎來做排程。在DL方向,broadcast類別會最先被服務,次之為multicast類別,之後則是unicast類別。在UL方向,CDMA code觸發的頻寬需求會先被服務,之後則是unicast類別。在排程unicast類型的connection時,目前實作上使用scheduling type來訂定排程優先順序,如圖三所示。而擁有相同排程優先度connection的不同SS/MSs,則使用Round-robin排程服務之。
《圖三 Unicast connection排程優先順序流程示意圖》 |
|
排程資料分配
為了能順利排程每個SS/MS的各條unicast connection,在排程方面的SS/MS資料結構如圖四所示。每次connection排程時,首先會從資料庫中取得該connection相關資訊,之後會檢查已經被分配給此SS/MS的burst中、未被使用的部分是否能滿足此次connection排程。若無法滿足,則再分配新的資源給此SS/MS的burst,並更新該burst的資源使用情形。最後組織MAP時,則以此SS/MS被分配的slots數(allocated slots)為基礎來描述bursts。
MIMO
MIMO及STC技術簡介
廣泛應用在通訊設備的多重輸入多重輸出(MIMO)系統,是指使用多根天線傳送訊號並且使用多根天線接收訊號的系統。在MIMO系統中,常使用空時碼(Space Time Coding;STC)訊號處理技術。而STC技術依目的可分為兩類,一種是用於提高接收準確度,主要是利用空間分集(Space Diversity)的技巧;而另一種用於提高傳輸速度,主要是利用空間多工(Space Multiplexing)的技巧。
BS或SS/MS可依當下傳輸通道的好壞,選擇使用空間分集或者空間多工。例如,處於衰減嚴重的通道時,為提高接收準確度,可選擇空間分集;反之,若訊號強度非常良好,則可選擇空間多工技術以提高傳輸速度。
WiMAX技術應用STTD的矩陣列
在WiMAX技術文件中,使用空間多集常被稱為空時傳送多集(Space Time Transmit Diversity;STTD)。看似依字面表示傳送多集的STTD,實際上使用在WiMAX系統中的多集技術,還包括接收多集(Receiver Diversity)。另外,由於STC習慣把經由不同天線傳送出去的訊符(symbol),表示成矩陣中位於不同列中的元素,所以技術文件中,常將兩根天線的空間多集技術稱為使用矩陣A (Matrix A),此為使用空時碼中著名的Alamouti Scheme。而使用空間多工技術亦常被稱為使用矩陣B(Matrix B)。使用三根天線以上的STC矩陣,通稱為矩陣C(Matrix C)。
支援MIMO的排程
針對一個支援MIMO系統的SS/MS,BS可選擇替該SS/MS排程空時多集或者空時多工,該SS/MS亦可提出要求使用何種技術。在此,我們分為DL、UL兩個方向來說明如何替支援空時碼的SS/MS排程。
DL排程
由排程介紹可知,排程時以connection為基礎進行排程,以slot為基本單位,分配DL subframe給該connection所屬的SS/MS。然而,對於支援STC的SS/MS,BS針對每個SS/MS,決定使用的STC後(決定STC的機制不在排程範疇),分配DL subframe的動作需要因應STC的不同而有所改變。主要是因為每個slot所能負載的資料量會隨著使用的STC改變。例如,使用2根天線矩陣B STC的SS/MS,每個slot的負載資料量,是使用傳統單根天線且調變、編碼方式相同SS/MS的2倍。另外,為了支援STC,BS組出的DL-MAP必須能描述出使用STC的區間(STC zone),及位於該區間的bursts。WiMAX規格書中提供多種描述使用STC burst的方法,在此介紹兩種較常用的方法。
STC/DL Zone Switch IE搭配一般DL-MAP IE
STC/DL Zone Switch IE除了描述一般區間的特性,如Permutation、Use All SC indicator、DL_PermBase、PRBS_ID、AMC type外,還有描述STC區間的參數STC、Matrix Indicator、Midamble presence、2/3 antenna select、Dedicated Pilots。在DL-MAP中使用STC/DL Zone Switch IE,會將區間切換至STC區間,其後使用一般的DL-MAP IE描述的bursts,在下一個STC/DL Zone Switch IE出現之前,都屬於該STC zone。舉例來說,STC/DL Zone Switch IE 中的STC=1(2/3 antenna),Matrix Indicator=0(Matrix A)、2/3 select=0(using 2 antenna),而在此STC/DL Zone Switch IE之後出現的一般DL-MAP IE描述的bursts,都代表示其傳送方式為兩根天線Matrix A。
因為傳送bursts所屬STC的特性完全依賴STC/DL Zone Switch IE來描述,所以想要在同一個DL subframe中傳送給使用不同的空時參數的SS/MS,必須利用STC/DL Zone Switch IE切割出不同的STC zone,所以還有另一種較為簡便的方式來支援此種情形。
STC/DL Zone Switch IE搭配MIMO DL Basic IE
MIMO DL Basic IE可以描述多個矩形的burst,每個burst可有自己的Matrix_Indicator(Matrix A or Matrix B)。若以MIMO DL Basic IE描述的burst所屬STC參數與STC/DL Zone Switch IE不同時,則以MIMO DL Basic IE為準。由上可知,此時STC/DL Zone Switch IE主要用來描述接下來的STC zone使用幾根天線做為傳送依據,除了天線數以外的STC參數,則由MIMO DL Basic IE描述,此方法可讓使用矩陣A、B的bursts在同一個STC zone傳送。
UL排程
如同DL的STC,排程UL subframe時,每個slot可負載的資料量因STC不同而不同,此部分與DL subfram的因應方式相同。不同於DL subfram使用空時技術,UL subframe不需要分配出STC zone。在此將UL subframe排程STC bursts的方法分成兩類來介紹。
合作的SS/MSs
此類型將同一塊UL區塊分配給兩個不同的SS/MSs,而此二SS/MSs必須使用不同的pilot pattern,來讓BS估測來自不同SS/MS的通道響應,再以訊號處理技術解調出各別的資料。在BS決定某兩個SS/MS使用合作的空時技術時(決定機制不在排程的範疇),排程時會將此二SS/MS一起排程。
舉例來說,當BS決定SS/MSs(代號A、B)使用合作空時機制、排程A的connection時,分配N slots給A,同時隱含N slots也被分配給B;當排程B的connection時,若B要求的UL資料量小於 N slots,則不需再多分配資源給B。若大於N slots,假設不夠M slots,則會再分配M slots給B,且隱含A也被多分配M slots。依此類推,最終A、B會被分配到相同的資源。為了描述合作的SS/MSs,BS在UL-MAP中必須使用MIMO UL Basic IE,並設定其Collaborative_SM_Indication為1,並且一個使用pilot patter A、另一使用 pilot patter B。(pilot patter請參閱WiMAX規格書)。
使用STC的SS/MS
排程UL使用STC的SS/MS,與排程DL使用STC的方法類似。如同合作的SS/MS,BS在UL-MAP中加入MIMO UL Basic IE來描述使用STC的SS/MS,不同的地方在於此IE中的Collaborative_SM Indication設定為0,而其MIMO_Control(STTD or SM)參數,則由使用該SS/MS使用的STC來決定。
支援MIMO排程的資料結構
為了支援MIMO排程,在每個SS/MS的資料結構中加入DL及UL STC parameters,如圖五所示。若兩SS/MS使用Collaborative UL技術,則UL STC parameters中的collaborative SM enable=1,且其clbSS/MSPariIndex指向collaborative resource array中的同一index,做為合作排程的依據。全域參數UL collaborative resource array如圖六所示。
《圖六 UL collaborative resource array示意圖》 |
|
HARQ
HARQ技術簡介
HARQ是綜合PHY與MAC層的能力來實現的重傳機制。PHY層在HARQ中所負責的是暫存可能需要重傳的資料、以及執行為了實現HARQ所做的編碼及解碼動作。這些編碼解碼的動作包含用於錯誤偵測的CRC、用於ACK/NACK的HARQ ACK channel、以及用於incremental redundancy之用的sub-packet。而MAC層在HARQ中所負責的是對HARQ支援能力的溝通、以及HARQ相關的排程動作。
HARQ 排程流程
HARQ channel為核心
在MAC層的HARQ排程動作方面,是以HARQ channel為核心來運作,所謂的HARQ channel可以被視為在HARQ運作中攜帶資料與控制訊息的通道。在DL-MAP以及UL-MAP中描述的是HARQ channel的資源配置,因此在資源配置上HARQ channel與普通排程中的burst地位類似。ACK/NACK是針對一個HARQ channel中的資料是否送達,重傳的動作則是將一個HARQ channel中攜帶的資料再傳輸一次,由此可見HARQ的排程流程是圍繞著HARQ channel來進行。
HARQ channel歸屬架構
在HARQ channel的歸屬方面,每個支援HARQ的SS/MS會擁有一到多個HARQ channel可供使用,擁有的HARQ channel數目是在進入網路時的能力協商過程中所溝通的,而之後在connection建立的過程中,會協定connection是否支援HARQ的能力,若支援則會分配一到多個HARQ channel給該connection使用。
ACK/NACK
在ACK/NACK方面,UCD中會定義HARQ ACK delay for DL burst,指出SS/MS應該在收到DL HARQ burst之後的第幾個frame傳送ACK/NACK給BS。在DCD中則會定義HARQ ACK delay for UL burst,指出BS應該在收到UL HARQ burst之後的第幾個frame傳送ACK/NACK給SS/MS,但BS傳送ACK/NACK給SS/MS的行為則是可被省略。
DL排程
HARQ channel為中心
圖七為DL HARQ排程的大致流程。在排程第一次傳送的DL HARQ資源時與普通的DL排程差別,在於各個connection的PDU是透過HARQ channel來傳輸,因此配置資源給burst的動作,要改成配置資源給該connection可以使用的HARQ channel。在搜尋可用的HARQ channel實作上,會先尋找本frame中已被其他connection使用的HARQ channel,這是為了減少一個frame中使用到的HARQ channel數量。
HARQ channel和burst的平衡關係
此外DL-MAP在描述HARQ channel時,會將多個HARQ channel匯集到一個HARQ burst之中來做描述,描述順序上是先描述HARQ burst,再描述其中的各個HARQ channel。HARQ burst可被視為較大的資源容器,在資源配置上是以一個矩形的區間被描述,而包含於其中的各個HARQ channel,是依照被描述的順序使用HARQ burst中的資源,因此各個HARQ channel所使用的資源總和,是不能超過HARQ burst所被配置的資源量。在排程實作上,一個HARQ channel被用來排程之後,便會鏈結到HARQ burst之內,在配置資源給HARQ channel的同時,也會同時增加該HARQ burst所使用的資源量。
鏈結傳輸特性
在一個HARQ channel被排程之後,會與其他在同一個frame被排程的HARQ channel鏈結在一起。在該frame之後HARQ ACK delay for DL burst的那個frame,在UL區間會配置一個HARQ ACK region,以供擁有鏈結中那些HARQ channel的SS/MS傳送ACK/NACK。若是接收到ACK,則會將收到ACK的HARQ channel從鏈結中移除。當ACK的接收時間點過了之後,還留在鏈結中的HARQ channel就會被視為必須被重傳。
在目前的實現上,處理unicast排程時,需要被重傳的HARQ channel會先被服務,之後才會如前所述的以scheduling type區分各connection的優先度來服務。
UL排程
圖八為UL HARQ排程的大致流程,在HARQ channel與HARQ burst的方面與DL HARQ相當類似,差別點在於UL-MAP中並不描述HARQ burst所佔用的資源量。這是因為在配置UL頻寬時並沒有矩形配置的限制,因此實作上不需要記錄HARQ burst所使用的資源量。
亦具備鏈結傳輸特性
在一個HARQ channel被排程之後,會與其他在同一個frame被排程的HARQ channel鏈結在一起。當BS成功接收到HARQ channel的資料,就會將該HARQ channel從鏈結中移除。當接收資料的時間點過了之後,還留在鏈結中的HARQ channel就會被視為必須被重傳。
在目前的實現上,處理unicast排程時,需要被重傳的HARQ channel會先被服務,之後才會如前所述的以scheduling type區分各connection的優先度來服務。
MBS
當服務流是橫跨多個SS/MS時,BS可與SS/MS建立MBS(Multicast and Broadcast Service)。以MBS的範圍而言,可分為單一BS傳播範圍內的MBS(Single-BS MBS)及多個BS傳播範圍內的MBS(Multiple-BS MBS)。MBS屬於multicast類型,所以會在broadcast類型connections之後排程之,先排程Multiple -BS MBS,再排程Single-BS MBS。以下分別介紹支援Single-BS MBS及Multiple-BS MBS的排程方法。
Single BS MBS
Single-BS MBS指MBS的範圍局限在單一BS中,只要MS離開此BS,則該MBS資訊即不再適用,必須重新建立MBS。因為MBS是屬於跨SS/MS的資料,所以必須建立全域的single-BS MBS list,用來儲存屬於single-BS MBS的排程資料,其中每個node中的connection parameters為此MBS的連線參數,burst information為排程時的資源分配情形,basic cid list則記錄此MBS的傳播對象SS/MS為何,multiple BS MBS burst ptr指向multiple BS MBS專屬的資料庫,在single-BS MBS將此pointer指向NULL。
《圖九 Single-BS MBS排程資料結構示意圖》 |
|
排程Single BS MBS模式
除了使用single-BS MBS專屬的資料庫外,排程MBS的方式與排程unitcast型態connection的方式雷同。在DL-MAP中描述single-BS MBS的方法有兩種:一般的DL_MAP_IE或MBS_MAP_IE。不管使用哪一個IE,傳送給多個MS的burst,只需要使用一個IE即可描述MBS burst。在MBS_MAP_IE之中,將Macro diversity enhanced設定為0,即可用以描述single-BS MBS,在此IE在資源描述上比一般DL_MAP_IE多描述 MBS Zone identifier,但因single-BS MBS只局限在一個BS cell範圍內,所以MBS Zone identifier在此並非重要的欄位。
Multiple-BS MBS簡介
Multiple-BS MBS指MBS的範圍可跨越多個BS。SS/MS建立MBS後,當SS/MS離開原本註冊的BS進入另一個BS時,只要BS所屬的MBS zone identifier相同,則SS/MS不需要重新建立該MBS,即可接收MBS data。在介紹支援Multiple-BS MBS的排程之前,需要先了解幾個Multiple-BS MBS相關的DL-MAP IE及meSS/MSage。
MBS_MAP_IE
在介紹single-BS MBS時MBS_MAP_IE曾被提過,不同的是用於Multiple- BS時,Macro diversity enhanced必須設定為1,接著描述MBS zone的symbol offset及該MBS zone的起點是否有MBS_MAP meSS/MSage,若有則描述其調變及編碼方式。由此IE可知,BS必須在DL subframe規劃出屬於multiple-BS MBS的傳送區域(MBS zone),每個MBS zone使用MBS zone identifier辨識之。
MBS_MAP meSS/MSage
MBS_MAP meSS/MSage的傳送位置必須在MBS zone的第一個data region,而MBS zone的起點由MBS_MAP_IE描述,所以MBS_MAP meSS/MSage的傳送位置、調變、編碼方式,皆描述於MBS_MAP_IE中。MBS_MAP meSS/MSage用來描述MBS data的傳送時間及位置,在MBS_MAP meSS/MSage中,使用MBS_DATA IE描述MBS data region。
MBS_DATA_IE
MBS DATA_IE主要用來描述MBS burs出現的時間及位置(symbol offset及subchannel offset),根據此IE的MBS Burst Frame Offset參數,MBS burst實際上是在2~5個frame後傳送,並且此IE描述下一次MBS_MAP meSS/MSage出現的frame offset及symbol offset。
排程Multiple-BS MBS模式
連接MBS zone訊息
為了能排程多個MBS zone,我們建立一個MBS zone info array。初始化時,array中的每個元素都指向NULL。BS與SS/MS建立multiple-BS MBS時,BS會比對是否有相同的MBS zone id位於資料庫中。若有,則將此MBS資訊加入屬於具有相同MBS zone id的MBS zone information中的MBS list;若無,則BS會動態配置MBS zone information,並且尋找array中原本指向NULL的元素指向此動態配置的MBS zone information。
frame排程傳送次序
因為MBS_DATA_IE中描述2~5 frame後的MBS burst,所以排程完MBS burst後,並不能在當下的frame傳送出去。因此在MBS information中的multiple-BS MBS burst ptr,指向排程MBS burst的資訊,排程結果的參數會被保留住,等待真正需要傳送的frame到達時,BS依此資訊設定PHY傳送所需的參數,幫助PHY正確傳送MBS bursts。
同時因為此frame傳送的MBS burst是在2~5個frame前就被排程好,所以每個frame開始排程DL subframe之前,必須檢查是否有待傳的MBS burst必須在此frame傳送出去。若有,必須分配資源給那些bursts,剩餘的資源才能繼續排程其它DL connection。MBS burst結構中的frame offset counter,是用來倒數排程MBS burst後經過的frame數,每個frame經過此計數器都會被減1,減為0即代表此frame必須將該MBS burst傳送出去。
MBS_MAP meSS/MSage資料庫
每個MBS zone都有一個紀錄MBS_MAP meSS/MSage的資料庫,sched記錄是否被排程,burst information為排程時的資源使用情況,num of symbol、num of subchannl指被分配的資源,symbol offset、next symbol offset分別代表當下與接下來出現的MBS_MAP meSS/MSage的位置。若當下frame有需要傳送的MBS bursts或有排程出MBS bursts,則必須傳送MBS_MAP meSS/MSage(sched會被設為1)。若當下frame有需要傳送的MBS bursts或者有MBS_MAP meSS/MSage需要傳送,則DL_MAP中必須包含MBS MAP IE。依上述方法,即能排程並且組出支援Multiple-BS MBS的DL_MAP及MBS_MAP meSS/MSage。
《圖十 multiple BS MBS資料庫示意圖》 |
|
結語
在802.16e中,MIMO被引入作為提升傳輸率或提升傳輸品質的方法,HARQ被引入作為更快速的重傳機制,MBS被引入作為規範multicast頻寬配置的方法,由於篇幅關係,僅對上述部份做初步介紹,有興趣的讀者可以參考802.16e相關書籍。