帳號:
密碼:
最新動態
產業快訊
CTIMES / 文章 /
行動式WIMAX基地台MAC通訊協定設計實現(下)
WiMAX行動網路技術應用專欄(5)

【作者: 蘇盟凱、胡士祥、賴儀叡】   2008年11月05日 星期三

瀏覽人次:【8064】

前言

在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索取資料傳輸的空間,這方面的關係可參見圖二所示。



《圖一 DL排程示意圖》
《圖一 DL排程示意圖》

《圖二 UL排程示意圖》
《圖二 UL排程示意圖》

connection為基礎的管理排程

排程優先順序

由圖一及圖二可知,大多數的資源是透過connection來管理,所以我們以connection為基礎來做排程。在DL方向,broadcast類別會最先被服務,次之為multicast類別,之後則是unicast類別。在UL方向,CDMA code觸發的頻寬需求會先被服務,之後則是unicast類別。在排程unicast類型的connection時,目前實作上使用scheduling type來訂定排程優先順序,如圖三所示。而擁有相同排程優先度connection的不同SS/MSs,則使用Round-robin排程服務之。



《圖三 Unicast connection排程優先順序流程示意圖》
《圖三 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如圖六所示。


《圖五 DL/UL STC參數示意圖》
《圖五 DL/UL STC參數示意圖》

《圖六 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所使用的資源量。



《圖七 DL HARQ排程示意圖》
《圖七 DL HARQ排程示意圖》

鏈結傳輸特性

在一個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所使用的資源量。



《圖八 UL HARQ排程示意圖》
《圖八 UL HARQ排程示意圖》

亦具備鏈結傳輸特性

在一個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模式

除了使用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資料庫示意圖》
《圖十 multiple BS MBS資料庫示意圖》

結語

在802.16e中,MIMO被引入作為提升傳輸率或提升傳輸品質的方法,HARQ被引入作為更快速的重傳機制,MBS被引入作為規範multicast頻寬配置的方法,由於篇幅關係,僅對上述部份做初步介紹,有興趣的讀者可以參考802.16e相關書籍。


相關文章
基頻IP平台滿足大規模MIMO應用需求
無線通訊的未來--為無所不在的連接做好準備
實現5G傳輸性能 大規模MIMO提升使用體驗
破解5G基地台迷思 評估大規模MIMO的電磁波效應
室外無線網路的下一步
comments powered by Disqus
相關討論
  相關新聞
» 台灣PCB產業南進助攻用人 泰國產學合作跨首步
» AI推升全球半導體製造業Q3罕見成長 動能可望延續至年底
» 中國科學家研發AI驅動系統 加速微生物研究
» 澳洲UOW大學獲資助開發量子成像系統 革新癌症放射治療
» 無人機科技突破:監測海洋二氧化碳的新利器


刊登廣告 新聞信箱 讀者信箱 著作權聲明 隱私權聲明 本站介紹

Copyright ©1999-2024 遠播資訊股份有限公司版權所有 Powered by O3  v3.20.2048.3.147.60.62
地址:台北數位產業園區(digiBlock Taipei) 103台北市大同區承德路三段287-2號A棟204室
電話 (02)2585-5526 #0 轉接至總機 /  E-Mail: webmaster@ctimes.com.tw