LTE下行物理层传输机制(9)-集中式和分布式资源映射
LTE系統里,RB資源的動態調度是在eNB側實現的,這里的“RB資源”實際上是特指虛擬RB(Virtual RB)而不是物理RB(Physical RB)。VRB是MAC層在調度的時候使用的,屬于邏輯上的概念,而PRB是物理層在實際映射RE資源的時候需要使用的,屬于實際物理意義上的概念。VRB和PRB之間,存在著不同的映射關系:最簡單的映射關系就是VRB的位置和PRB的位置是相同的,它們之間是一一對應的;另外一種復雜點的關系就是VRB和PRB并不是一一對應的,但是可以依賴某種特定的映射關系,通過VRB可以明確的推出PRB的位置。前一種一一對應的簡單關系就是集中式的資源分配,而后面一種復雜點的映射關系,就是分布式的資源分配。
eNB側在調度資源的時候,可以根據不同的場景使用不同的分配方式。比如當采用DCI2/DCI2A的時候,使用集中式的資源分配,而采用DCI1A的時候,既可以使用集中式的資源分配,也可以使用分布式的資源分配。下面就具體描述這兩種分配方式。
下行VRB有兩種資源映射方式:集中式(localized type)的VRB資源映射方式和分布式(distributed type)的VRB資源映射方式。無論是哪種VRB映射方式,所指的VRB都是指“RB對”(a pair of VRBs)。我們知道,一個子幀包括2個時隙,一個RB是由頻域上的12個子載波以及時域上的一個時隙組成的(關于RB的組成結構請參考《LTE物理傳輸資源(3)-時頻資源》),因此對于頻域上的12個子載波,一個子幀就對應了2個RB,這兩個RB就叫做一個"RB對"。在考慮VRB資源映射的時候,同個子幀內2個時隙的RB是放在一起考慮的,使用n_VRB來表示RB號的時候,是指一個VRB對,而不是特指某個時隙的VRB。也就是說,在描述下行資源映射方式的時候,雖然文字上說的是VRB與PRB的位置關系,實際上說的是VRB對與PRB對的位置關系。
1.集中式的資源映射(Localized type)
在集中式的資源映射方式中,VRB對和PRB對是一一對應的,即VRB的位置就是PRB的位置,RB資源塊序號n_PRB=n_VRB,范圍是0~(N_DL_RB-1)。下圖就是5MHz帶寬下,集中式分配VRB資源時,PRB和VRB的位置關系。
2.分布式的資源映射(Distributed type)
在分布式的資源映射方式中,VRB對和PRB對不是一一對應的,連續的VRB序號將映射到不連續的PRB序號上,并且一個子幀內的2個時隙也有著不同的映射關系(如下圖1所示),通過這種方法來達到“分布式”的資源分配。無論是將連續的VRB對映射到不連續的PRB對上,還是分開每個PRB對,使一個PRB對的兩個RB的資源傳輸帶有一定的頻率間隔(可以看成基于時隙(slot)的跳頻),目的都是為了達到頻率上的分集效應。
圖1
上面的圖1是下行帶寬為5MHz的分布式資源分配過程示意圖,這個圖只是用來幫助理解分布式的過程,不代表實際PRB的映射位置就與上圖畫的一致。這張圖簡潔直觀,可以很好的描述這個過程,下面從協議的角度具體說說這種映射關系,或者說如何從VRB對得到PRB對的實際映射位置。
3.獲取GAP參數
在分布式的分配過程中,2個時隙中的PRB將映射到頻域上的不同位置,從而實現基于時隙的跳頻。上面圖1中的Gap參數,就是用來表示一個RB對之間的頻率偏移值,以RB個數為計量單位。不同的帶寬,這個GAP值是不同的,一旦帶寬確定下來,這個Gap值也就確定了。
從下面的Table 6.2.3.2-1中可以看到,當下行帶寬是1.4MHz(N_DL_RB=6)、3MHz(N_DL_RB=15)、5MHz(N_DL_RB=25)時,只有一種Gap值可以選擇,對應的頻率偏移值N_gap1分別是:1.4MHz時N_gap1=3、3MHz時N_gap1=8、5MHz時N_gap1=12。上面圖1中的Gap=12,符合5MHz帶寬(N_DL_RB=25)的協議規定。
對于10MHz(N_DL_RB=50)、15MHz(N_DL_RB=75)、20MHz(N_DL_RB=100)這幾種較大的帶寬,協議規定了兩種不同的Gap值,具體選擇哪一種,由DCI通知到UE。如DCI1A格式,對于分布式VRB分配來說,有個1bit的字段(見下圖中黃色高亮內容),就是用來表示當前Gap采用的是Gap1還是Gap2。
4. 可用于頻率交織(interleaving)的VRB范圍
并不是所有的VRB都可以用來進行交織的,如果用n_VRB來表示VRB的頻率位置,那么可以用來交織的VRB的范圍是0~(N_DL_VRB?- 1)。只有該范圍內的VRB才可以進行RB對的交織,才可以進行分布式的VRB資源分配。
如上圖所示,如果n_VRB的范圍是0~10,那么eNB進行分布式資源調度時,RB的id號只能分配到0~10這11個VRB。注意這里的參數N_DL_VRB不是下行帶寬的RB個數N_DL_RB,不要混淆了。參數N_DL_VRB計算如下:
(A)如果采用GAP1,則?N_DL_VRB?= N_DL_VRB_GAP1 = 2 × Min(N_gap1, ?N_DL_RB - N_gap1)。比如當前是5MHz帶寬,N_gap1=12,N_DL_RB=25,則N_DL_VRB = 2 × Min(12,25-12) = 2 × 12 = 24。如果是10MHz帶寬,N_gap1=27,N_DL_RB=50,則N_DL_VRB?= 2 × Min(27,50-27) = 2 × 23 = 46。因此對于10MHz帶寬來說,采用頻率間隔GAP1時只有0~45這46個VRB對才可以進行RB的頻率交織,才能進行分布式的RB分配。
(B)如果采用GAP2,則?N_DL_VRB?= N_DL_VRB_GAP2 = floor(N_DL_RB / (2 × N_gap2)) × 2 ×?N_gap2。比如當前是10MHz帶寬,N_gap2=9,N_DL_RB=50,則N_DL_VRB?= floor(50 / 18)× 18 = 2 × 18 = 36。
5.獲取交織矩陣(interleaving matrix)
在進行頻率交織的過程中,需要用到交織矩陣(interleaving matrix)的概念,交織矩陣是一個列數固定等于4的矩陣,通過交織矩陣可以很方便的知道什么位置的VRB映射到什么位置的PRB。
協議規定,連續_N_DL_VRB個VRB可以組成一個交織單元(interleaving uint),每個交織單元可以用一個元素個數為_N_DL_VRB的交織矩陣來表示。參數_N_DL_VRB可以通過下面的方式得到:
(A)如果采用GAP1,則 _N_DL_VRB?= N_DL_VRB。從這個公式中可以看到,所有可以用于分布式調度的VRB資源(即N_DL_VRB值)只能組成一個交織單元,形成一個交織矩陣。比如當前是5MHz帶寬,N_DL_VRB=24,那么一個VRB交織單元由連續的24個VRB組成,即交織矩陣中有24個元素。
(B)如果采用GAP2,則 _N_DL_VRB?= 2 ×?N_gap2。比如當前是10MHz帶寬,N_gap2=9,那么一個VRB交織單元由連續的18個VRB組成,即交織矩陣中有18個元素。由于此時N_DL_VRB=36,即可以有36個VRB用于分布式資源分配,所以這種情況下,所有可用于分布式資源分配的VRB可以組成2個交織單元,生成2個交織矩陣。
如上圖所示,每個交織單元的交織矩陣,是一個4列、N_row行的矩陣,N_row?= ceil(_N_DL_VRB / (4×P))× P,P的取值見下表。如果當前是5MHz帶寬,P=2,采用GAP1,_N_DL_VRB =?N_DL_VRB =?24,那么N_row?= ceil(24?/ (4×2))× 2 = 6。
交織矩陣中的VRB,按照“按行寫入”和“按列讀出”的規則進行操作。按照這種規則,存在著組成一個交織單元的VRB個數不夠填滿一個交織矩陣的情況,因此協議規定第2列和第4列的最后(Null / 2)行需要插入Null個空值,插入的Null空值在讀出的時候將會被忽略。其中,Nnull = 4 ×?N_row -?_N_DL_VRB。如果當前是5MHz帶寬,_N_DL_VRB =?N_DL_VRB =?24,N_row?= 6,那么Nnull?= 4 × 6 - 24 = 0,表示不需要在第2列和第4列的最后插入空值,所有的VRB正好構成一個交織矩陣,如下圖示意。
6.VRB向PRB的映射
有了交織矩陣,再根據下面3個步驟,就可以將VRB映射到PRB中。這3個步驟是:
(1)從交織矩陣中按列依次讀取元素,遇到Nnull則跳過,取下一個非Nnull的元素,這樣得到的就是偶數時隙PRB的參考位置;
(2)對偶數時隙的參考位置進行偏移,偏移量為(_N_DL_VRB / 2),得到奇數時隙PRB的參考位置;
(3)如果根據上面兩個步驟得到的RB位置大于或等于(_N_DL_VRB?/ 2),則再次進行一次偏移,偏移量為(Ngap - _N_DL_VRB?/ 2),從而得到偶數時隙和奇數時隙的最終PRB映射位置。
經過上面3個步驟,可以知道VRB=3、4、5這三個VRB,經過分布式映射后,得到的PRB的位置分別是(偶數時隙,奇數時隙)=(18,6)、(1,13)、(7,19)。
上面的VRB向PRB的映射過程,也可以用數學公式進行嚴格的推導,推導過程如下。
(1)根據交織得到偶數時隙的參考位置
偶數時隙ns對應的PRB的參考位置?_n_PRB(ns),由下面的公式計算得到:
(2)對偶數時隙的位置進行(_N_DL_VRB / 2)的偏移,得到奇數時隙的參考位置
奇數時隙ns的位置?_n_PRB(ns)?由下面的公式計算得到:
(3)對前面兩個步驟中得到的大于或等于(_N_DL_VRB?/ 2)的位置,再次偏移(Ngap - _N_DL_VRB?/ 2),得到最終的PRB位置。
對于所有的時隙ns,包括偶數時隙和奇數時隙,根據下面的公式進行偏移:
前文已經根據交織矩陣得到了PRB的映射位置,為了與之相互印證,下面仍然以5MHz帶寬來舉例說明數學公式的使用過程和計算結果:
(1)根據前文的相關描述過程,可以得到N_gap1?= 12,_N_DL_VRB =?24,N_row?= 6,Nnull?= 0。假定eNB給UE分配了VRB=3、4、5這三個連續的VRB,那么計算PRB位置的過程如下:
(A)虛擬資源對n_VRB=3,占用一個偶數時隙和一個奇數時隙。從上面的公式中可以看到,偶數時隙的PRB位置只是用來遞歸計算奇數時隙的PRB位置,在實際計算時并不需要知道具體的時隙號,使用偶數時隙0和使用時隙2、4、6等等,計算得到的PRB的映射結果是相同的,所以這里可以用時隙0表示偶數時隙,用時隙1表示奇數時隙。因此:
對于偶數時隙(ns=0),_n_PRB(0) = 6 × ((3 mod 24)mod 4)+ floor((3 mod 24)/ 4)+ 24 × floor(3 / 24)= 18。因為滿足 18 >(24 / 2)的條件,因此物理資源位置n_PRB(0) = 18 + 12 - 24 / 2 = 18。?
對于奇數時隙(ns=1),_n_PRB(1)?= (_n_PRB(0) +?24 / 2)mod 24 + 24 × floor(3 / 24)= 6。因為滿足 6 <(24 / 2)的條件,因此物理資源位置n_PRB(1)?= 6, 不需要再次進行偏移。
(B)虛擬資源對n_VRB=4:
對于偶數時隙(ns=0),_n_PRB(0)?= 6 × ((4 mod 24)mod 4)+ floor((4 mod 24)/ 4)+ 24 × floor(4 / 24)= 1。因為滿足 1 <(24 / 2)的條件,因此物理資源位置n_PRB(0)?= 1。?
對于奇數時隙(ns=1),_n_PRB(1)?= (_n_PRB(0)?+?24 / 2)mod 24 + 24 × floor(4 / 24)= 13。因為滿足 13 >(24 / 2)的條件,因此物理資源位置n_PRB(1)?= 13 + 12 - 24 / 2 = 13。?
(C)虛擬資源對n_VRB=5:
對于偶數時隙(ns=0),_n_PRB(0)?= 6 × ((5 mod 24)mod 4)+ floor((5 mod 24)/ 4)+ 24 × floor(5 / 24)= 7。因為滿足 7 <(24 / 2)的條件,因此物理資源位置n_PRB(0)?= 7。?
對于奇數時隙(ns=1),_n_PRB(1)?= (_n_PRB(0)?+?24 / 2)mod 24 + 24 × floor(5 / 24)= 19。因為滿足 19 >(24 / 2)的條件,因此物理資源位置n_PRB(1)?= 19 + 12 - 24 / 2 =?19。?
eNB分配資源的時候,是選擇集中式的還是分布式的,是由eNB側決定并通過DCI通知到UE側的。不同的設備廠家,算法不同,調度的結果會有差別。對于DCI1A格式,其中的字段“Localized/Distributed VRB assignment flag”就是用來表示當前采用的VRB分配方式(采用Type2分配方式),具體請參考博文《LTE下行物理層傳輸機制(5)-DCI格式的選擇和DCI1A》。DC2、DC2A格式的VRB只能選擇集中式分配(采用Type0或Type1分配方式)。
參考文獻:
(1)3GPP TS 36.211 V9.1.0 (2010-03) Physical Channels and Modulation?
(2)3GPP TS 36.212 V9.4.0 (2011-09) Multiplexing and channel coding
總結
以上是生活随笔為你收集整理的LTE下行物理层传输机制(9)-集中式和分布式资源映射的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 1668智能下数教程视频_你需要的教程合
- 下一篇: 学计算机必记代码语言,c语言必背代码有哪