NB-IoT上行使用SC-FDMA,考慮到NB-IoT終端的低成本需求,在上行要支持單頻(Single Tone)傳輸,子載波間隔除了原有的15kHz之外,還新定了3.75kHz的子載波間隔,共48個子載波。
當采用15kHz子載波間隔時,資源分配和LTE一樣。當采用3.75kHz的子載波間隔時,15kHz為3.75kHz的整數倍,對LTE系統干擾較小。由于下行的幀結構與LTE相同,為了使上行與下行相容,子載波空間為3.75kHz的幀結構中,一個時隙同樣包含7個Symbol,共2ms長,剛好是LTE時隙長度的4倍。
此外,NB-IoT系統中的采樣頻率(Sampling Rate)為1.92MHz,子載波間隔為3.75kHz的幀結構中,一個符號(Symbol)的時間長度為512Ts,Ts為采樣時間(Sampling Duration),加上16Ts的循環前綴(Cyclic Prefix,CP)長度,共528Ts。因此,一個時隙包含7個Symbol再加上保護區間(Guard Period)共3840Ts,即2ms長。
1、NPRACH
NPRACH子載波間隔為3.75kHz,占用1個子載波,有前導碼格式0和前導碼格式1兩種格式,對應66.7μs和266.7μs兩種循環前綴(CP)長度,對應不同的小區半徑。1個符號組(Symbol group)包括1個CP和5個符號,4個Symbol Group組成1個NPRACH信道,如下圖。
NPRACH信道
NPRACH信道通過重復獲得覆蓋增強,重復次數可以是{1,2,4,8,16,32,64,128}。
隨機接入過程是UE從空閑態獲取專用信道資源轉變為連接態的重要手段。在NB-IoT中沒有了同步狀態下的SR流程對于調度資源的申請,NB-IoT主要靠隨機接入流程申請調度資源。隨機接入使用3.75kHz子載波間隔,同時采取在單子載波跳頻符號組的方式發送不同循環前綴的前導碼(Preamble)。它由5個相同的OFDM符號與循環前綴拼接而成。隨機接入前導序列只在前面加循環前綴,而不是在每個OFDM符號前都加(如NB-IoT的 NPUSCH上行共享信道),主要原因是其并不是多載波調制,因此不用通過循環前綴來CCP保持子載波之間的正交性,節省下CP的資源可以承載更多的前導碼信息,基站側通過檢測最強路徑的方式確認隨機接入前導碼。隨機接入前導碼包含兩種格式,兩種格式的循環前綴不一樣,前導碼參數配置如下表。
前導碼參數配置
一個前導碼(Preamble)包含了4個符號組,通過一系列的時頻資源參數配置,隨機接入前導碼占據預先分配的時頻資源進行傳輸。UE通過解讀SIB2-NB消息獲取這些預配置參數,如下圖。
SIB2-NB消息
假設nprach-Periodicity=1280ms,那么發起隨機接入的無線幀號應該是128的整倍數,即0,128,256…,當然這個取值越大,隨機接入延遲越大,但是這對于物聯網NB-IoT來說并不太敏感。窄帶物聯網終端更需要保證的是數據傳遞的準確性,對于延遲可以進行一定的容忍。 nprach-StartTime決定了具體的起始時刻,假設prach-StartTime=8,那么前導碼可以在上述無線幀的第4號時隙上發送(8ms/2ms=4)。這兩組參數搭配取值也有一定的潛規則,如果 nprach-Periodicity取值過小,nprach- StartTime取值過大,建議可以進行適當的調整。
一個前導碼占用4個符號組,假設numRepetitionsPerPreamble Attempt=128(最大值),這就意味著前導碼需要被重復傳遞128次,這樣傳輸前導碼實際占用時間為4×128×(TCP+TSEQ)TS(時間單位),而協議規定,每傳輸4X64(TCP+TSEQ)TS,需要加入40×30720Ts間隔(36.211R1310.1.6.1),假設采取前導碼格式0進行傳輸,那么傳輸前導碼實際占用時間為796.8ms,相比LTE的隨機接入,這是一個相當大的時間長度,物聯網終端隨機接入需要保證用戶的上行同步請求被正確解碼,而對于接入時延來講依然不那么敏感。
頻域位置分配給前導碼的頻域資源不能超過頻域最大子載波數,即prach-SubcarrierOffset+prach-NumSubcarriers<=48,超過48則參數配置無效。這兩個參數決定了每個符號中NPRACH的起始位置,NPRACH采取在不同符號的不同單子載波跳頻,但是有一個限制條件,就是在起始位置以上的12個子載波內進行跳頻。
nprach-NumCBRA-StartSubcarriers和nprach-SubcarrierMSG3-RangeStart這兩個參數決定了隨機過程競爭階段的起始子幀位置,如果prach-SubcarrierMSG3-RangeStart取值為1/3或者2/3,那么指示UE網絡側支持multi-tone方式的msg3傳輸。
UE在發起非同步隨機接入之前,需要通過高層獲取NPRACH的信道參數配置。在物理層的角度看來,隨機接入過程包含發送隨機接入前導碼和接收隨機接入響應兩個流程。其余的消息,比如競爭解決及響應(msg3,ms4),認為在共享信道傳輸,因此不認為是物理層的隨機接入過程。
2、NPUSCH
NPUSCH用來傳送上行數據以及上行控制信息。NPUSCH傳輸可使用單頻或多頻傳輸。
NPUSCH上行子載波間隔有3.75kHz和15kHz兩種,上行有兩種傳輸方式:單載波傳輸(Singleton)、多載波傳輸(Multitone),其中Singleton的子載波帶寬包括3.75kHz和15kHz兩種,Multitone子載波間隔為15kHz,支持3、6、12個子載波的傳輸。
如果子載波間隔是15kHz,那么上行包含連續12個子載波;如果子載波間隔是3.75kHz,那么上行包含連續48個子載波。對于通過OFDM調制的數據信道,如果在同樣的帶寬下,子載波間隔越小,相干帶寬越大,那么數據傳輸抗多徑干擾的效果越好,數據傳輸的效率就高。當然,考慮到通過快速傅里葉逆變換(IFFT)的計算效率,子載波也不能設置得無限小。同時,也要考慮與周圍LTE大網的頻帶兼容性,選取更小的子載波也需要考慮與15kHz子載波間隔的兼容性。當上行采取Singleton模式3.75kHz帶寬傳輸數據時,物理層幀結構最小單位為基本時長2ms時隙,該時隙與FDD LTE子幀保持對齊。每個時隙包含7個OFDM符號,每個符號包含8448個Ts(時域采樣),其中這8448個Ts含有256Ts個循環校驗前綴(這意味著IFFT的計算點數是8448-256=8192個,恰好是2048(15kH)的4倍),剩下的時域長度(2304Ts)作為保護帶寬。Singleton和Multitone的15kHz模式與FDD LTE的幀結構是保持一致的,最小單位是時長為0.5ms的時隙。而區別在于NB-IoT沒有調度資源塊,Singleton以12個連續子載波進行傳輸,Multitone可以分別按照3、6、12個連續子載波分組進行數據傳輸。
相比LTE中以PRB作為基本資源調度單位,NB-IoT的上行共享物理信道 NPUSCH的資源單位是以靈活的時頻資源組合進行調度的,調度的基本單位稱作資源單位(Resource Unit,RU)。 NPUSCH有兩種傳輸格式,其對應的資源單位不同,傳輸的內容也不一樣。NPUSCH格式1用來承載上行共享傳輸信道UL-SCH,傳輸用戶數據或者信令,UL-SCH傳輸塊可以通過一個或者幾個物理資源單位進行調度發送。所占資源單位包含Singleton和Multitone兩種格式。
NPUSCH格式2用來承載上行控制信息(物理層),例如ACK/NAK應答。根據3.75kHz、8ms或者15kHz、2ms分別進行調度發送。
Singleton和Mulittone的RU(Resource Unit,資源單位)定義如下,調度RU數可以為{1,2,3,4,5,6,8,10},在NPDCCH NO中指示。
NPUSCH的RU定義
NPUSCH采用低階調制編碼方式MCSO~11,重復次數為{1,2,4,8,16,32,64,128}。
NB-IoT沒有特定的上行控制信道,控制信息也復用在上行共享信道(NPUSCH)中發送。所謂的控制信息指的是與NPDSCH對應的ACK/NAK的消息,并不像LTE大網那樣還需要傳輸表征信道條件的CSI以及申請調度資源的SR(Scheduling Request)。
(1)對于NPUSCH格式1
當子載波間隔為3.75kHz時,只支持單頻傳輸,一個RU在頻域上包含1個子載波,在時域上包含16個時隙,所以,一個RU的長度為32ms。
當子載波間隔為15kHz時,支持單頻傳輸和多頻傳輸,一個RU包含1個子載波和16個時隙,長度為8ms;當一個RU包含12個子載波時,則有2個時隙的時間長度,即1ms,此資源單位剛好是LTE系統中的一個子幀。資源單位的時間長度設計為2的冪次方,是為了更有效地運用資源,避免產生資源空隙而造成資源浪費。
(2)對于 NPUSCF格式2
RU總是由1個子載波和4個時隙組成的,所以,當子載波間隔為3.75kHZ時,一個RU時長為8ms;當子載波空間為15kHz時,一個RU時長為2ms。
對于NPUSCH格式2,調制方式為BPSK。
對于NPUSCE格式1,在包含一個子載波的RU情況下,采用BPSK和QPSK調制方式;其他情況下,采用QPSK調制方式。
由于一個TB可能需要使用多個資源單位來傳輸,因此在NPDCCH中接收到的Uplink Grant中除了指示上行數據傳輸所使用的資源單位的子載波的索引(Index)之外,也會包含一個TB對應的資源單位數目以及重傳次數指示。
NPUSCH格式2是NB-IoT終端用來傳送指示NPDSCH有無成功接收的HARQ-ACK/NACK,所使用的子載波的索引(Index)是在由對應的NPDSCH的下行分配(Downlink Assignment)中指示的,重傳次數則由RRC參數配置。
NPUSCH目前只支持天線單端口,NPUSCH可以包含一個或者多個RU。這個分配的RU數量由NPDDCH承載的針對NPUSCH的DCI格式N0(format N0)來指明。NPUSCH采取“內部切片重傳”與“外部整體重傳”的機制保證上行信道數據的可靠性。對于格式2承載的一些控制信息,由于數據量較小,未采取內部分割切片的方式,而是數據NPUSCH承載的控制信息傳完以后再重復傳輸以保證質量。NPUSCH在傳輸過程中需要與NPRACH錯開,NPRACH優先度較高,如果與NPRACH時隙重疊,NPUSCH需要延遲一定的時隙再傳輸。在傳輸完NPUSCH或者NPUSCH與NPRACH交疊需要延遲256ms傳輸,需要在傳輸完NPUSCH或者 NPRACH之后加一個40ms的保護間隔,而被延遲的NPUSCH與40ms保護間隔交疊的數據部分則認為是保護帶的一部分。
NPUSCH具有功率控制機制,通過“半動態”調整上行發射功率使得信息能夠成功在基站側被解碼。上行功控的機制屬于“半動態”調整的方式,與LTE功控機制類似,是由于在功控過程中,目標期望功率在小區級是不變的,UE通過接入小區或者切換至新小區的重配消息來獲取目標期望功率,功控中進行調整的部分只是路損補償。UE需要檢測NPDCCH中的UL grant以確定上行的傳輸內容(NPUSCH格式1/2或者Msg3),不同內容路損的補償的調整系數有所不同,同時上行期望功率的計算也有差異。上行功控以時隙作為基本調度單位,值得注意的是,如果NPUSCH的RU重傳次數大于2,那么意味著此時NB-IoT正處于深度覆蓋受限環境,上行信道不進行功控,采取最大功率發射時,該值不超過UE的實際最大發射功率能力。對于Class3,UE最大發射功率能力是23dBm;對于Class5,UE最大發射功率能力是20dBm。
3、DMRS
不同格式的RU對應產生不同的解調參考信號。主要按照N BU/SC=1(一個RU包含的子載波數量)和N RU/SC>1兩類來計算。另外 NPUSCH兩種格式的解調參考信號也不一樣,格式1每個NPUSCH傳輸時隙包含一個解調參考信號,而格式2每個傳輸時隙則包含3個解調參考信號。這種設計的原因是承載控制信息的NPUSCH的RU中空閑位置較多,而且分配給控制信息的RU時域資源相對較少,因此每個傳輸時隙通過稍多的解調參考信號進行上行控制信息的解調保障。對于包含不同子載波的RU而言,可以參考Singleton與Multitone分類,需要保證每個子載波至少有一個DMRS參考信號以確定信道質量,同時DMRS的功率與所在NPUSCH信道的功率保持一致。對于Multitone中如何生成參考信號,既可以通過解讀系統消息SIB2-NB中的NPUSCH-ConfigCommon-NB信息塊中的參數(可選)獲取,也可以根據小區ID通過既定公式計算獲取。解調參考信號可以通過序列組跳變(Group hopping)的方式避免不同小區間上行符號的干擾。序列組跳變并不改變DMRS參考信號在不同子幀的位置,而是通過編碼方式的變化改變DMRS參考信號本身。
對于N BU/SC=1的RU,RU內部的每個時隙中的序列組跳變是一樣的;而對于N RU/SC>1的RU,RU內部每隔偶數時隙的序列組的計算方式就要重新變化一次。DMRS映射到物理資源的原則是確保RU內每個時隙的每個子載波至少有一個參考信號。這個也很好理解,通俗來說就是保證每個時隙上的子載波能夠被正確解調,同時又不由于過多地分配DMRS導致資源消耗太多,物理層設計的時候也進行了相應的權衡。當然在物理資源映射分配上格式1與格式2的DMRS還是有些差異。格式1在每個時隙每個子載波上只分配1個DMRS參考信號,格式2在每個時隙每個子載波上分配3個DMRS參考信號。
NB-IoT上行SC-FDMA基帶信號對于單子載波RU模式需要區分是BPSK還是QPSK模式,即基于不同的調制方式和不同的時隙位置進行相位偏置。這一點與LTE是不同的,LTE上行的SC-FDMA主要是由于考慮到終端上行的PAPR問題采取在IFFT前加離散傅里葉變換(DFT),同時分配給用戶頻域資源中不同子載波的功率是一樣的,這樣PAPR問題得到了有效的緩解。而對于NB-IoT而言,一個NPUSCH可以包含多個不同格式的RU,一個終端可能同時包含發射功率不同的多個 NPUSCH,這樣會使得PAPR問題凸顯,因此通過基于不同調制方式數據的相位偏置可以進行相應的削峰處理,同時又不會像簡單的clipping技術一樣使得頻域旁瓣發生泄漏,產生帶外干擾。