這個(gè)系列介紹NR的PUSCH(Physical Uplink Shared Channel),物理上行共享信道。PUSCH和PDSCH(Physical Downlink Shared Channel)對應,一個(gè)用于上行傳輸,一個(gè)用于下行傳輸,在很多方面比較相似,這里重點(diǎn)關(guān)注不同之處。不熟悉PDSCH的讀者,可參考孫老師的《NR下行物理信道(PDSCH)簡(jiǎn)析V2.0》,或我的學(xué)習心得(《NR PDSCH(一)/(二)/(三)/(四)/(五)/(六)/(七)》)。
PUSCH和PDSCH都是物理信道,位于Uu接口協(xié)議棧的最底層。從映射關(guān)系看,PUSCH只對應一種傳輸信道(UL-SCH),用于傳輸“數據”(DTCH)和“信令”(CCCH、DCCH),不用關(guān)注廣播(BCCH)和尋呼(PCH)等過(guò)程,比PDSCH簡(jiǎn)單一些。不過(guò),除了“數據”和“信令”,PUSCH有時(shí)也會(huì )“夾帶私貨”,包括下行傳輸的HARQ-ACK信息,或CSI(Channel State Information)報告。
無(wú)論PUSCH還是PDSCH,資源都是gNB分配的。通常來(lái)說(shuō),UE通過(guò)DCI獲得UL Grant(上行授權),才可以在對應的時(shí)頻資源發(fā)送上行數據。不過(guò),在CBRA(Contention Based Random Access)中,UE通過(guò)PUSCH發(fā)送MSG 3,此時(shí)UL Grant來(lái)自MSG 2(Random Access Response)。對UE來(lái)說(shuō),UL Grant怎么來(lái)(DCI或RAR)并不重要,不管黑貓白貓,捉到老鼠就是好貓。在某種程度上,UE對UL Grant指示的資源有一定的自主權(基站分配完就管不了那么多了),比如說(shuō),UE為了業(yè)務(wù)數據請求PUSCH,獲得UL Grant后,PUSCH可用于發(fā)送優(yōu)先級更高的信令數據。
除了CBRA的MSG 3,gNB無(wú)法預知UE何時(shí)需要發(fā)送數據(UE的心思你別猜),因而不會(huì )為UE預留PUSCH資源,以免浪費。在上行數據抵達時(shí),UE需要主動(dòng)通過(guò)PUCCH發(fā)送SR(Scheduling Request),向gNB請求PUSCH資源—— 前提是UE出于“上行同步”狀態(tài),且有可用于SR的PUCCH資源。如果UE處于“上行失步”狀態(tài),UE只能通過(guò)隨機接入獲得PUSCH資源。
和PDSCH不同,除了通過(guò)DCI或RAR獲得UL Grant的Grant-Based方式(動(dòng)態(tài)調度),PUSCH還支持兩種Grant-Free方式,基站通過(guò)Configured Grant Config進(jìn)行PUSCH的RRC預配置 —— 實(shí)際調度時(shí),Type 1由RRC配置(上行數據到達觸發(fā)),Type 2通過(guò)CS-RNTI加擾的DCI激活(半靜態(tài)調度)。和PDSCH相同,PUSCH也支持(TB)重復傳輸,PUSCH Aggregation Factor可配置為n2、n4或n8,選擇RV參見(jiàn)下圖。
在NR中,gNB通過(guò)DCI1_0和DCI 1_1調度PDSCH,通過(guò)DCI 0_0和DCI 0_1調度PUSCH。Frequency Domain Resource Assignment和Time Domain Resource Assignment用于指示時(shí)頻資源。和PDSCH不同,PUSCH不支持交織(Interleaving)映射,因此,DCI 0_0和DCI 0_1不包含VRB to PRB Mapping字段。和LTE相似,NR PUSCH使用另一種方法獲得頻域分集增益 —— 跳頻(Frequency Hopping),后面再講。
和PDSCH相似,PUSCH支持HARQ(但沒(méi)有顯性的HARQ反饋,可參考《NR HARQ(五)》),因此,DCI 0_0和DCI 0_1包含MCS(Modulation and Coding Scheme)、NDI(New Data Indicator)、RV(Redundancy Version)、HARQ Process Number等,TBS(TB Size)確定方式和PDSCH相似。PUSCH只支持1個(gè)Codeword,DCI 0_0和DCI 0_1不包含第二個(gè)TB相關(guān)字段。PUSCH支持CBG傳輸,DCI 0_1包含CBGTI(Code Block Group Transmission Indicator),指示發(fā)送(或重傳)的CBG,由于上行傳輸的HARQ緩存就在gNB,DCI 0_1不包含CBGFI(Code Block Group Flushing Indicator)字段 —— gNB自己知道就行了。
和PDSCH相似,“數據”經(jīng)過(guò)一系列處理后,才“裝載”到PUSCH進(jìn)行傳輸。更具體的,根據3GPP TS 38.211和TS 38.212描述,在發(fā)送端(UE),UL-SCH處理過(guò)程包括14個(gè)步驟:1、Transport Block CRC Attachment;2、LDPC Base Graph selection;3、Code Block Segmentation and Code Block CRC Attachment;4、Channel Coding;5、Rate Matching;6、Code Block Concatenation;7、Data and Control Multiplexing;8、Scrambling;9、Modulation;10、Layer Mapping;11、Transform Precoding;12、Precoding;13、Mapping to VRB;14、VRB to PRB Mapping。步驟1 ~ 7詳見(jiàn)3GPP TS 38.212的6.2章節;步驟8 ~ 14詳見(jiàn)3GPP TS 38.211的6.3.1章節。

從“宏觀(guān)”角度看,PUSCH(UL-SCH)處理過(guò)程比PDSCH(DL-SCH)多2個(gè)步驟:Data and Control Multiplexing(“數據”和“控制”復用)和Transform Precoding(DFT預編碼)。前一個(gè)解決PUSCH“夾帶私貨”的需求,后一個(gè)用于降低立方度量,提升功放效率。“DFT預編碼”只用于上行傳輸,因為相對UE來(lái)說(shuō),基站(功放)沒(méi)那么“嬌氣”。“DFT預編碼”是否開(kāi)啟,對其他處理步驟會(huì )產(chǎn)生影響(比如調制模式、預編碼矩陣、DM-RS序列和附加DM-RS等),是PUSCH的一個(gè)關(guān)鍵環(huán)節。
Data and Control Multiplexing有機會(huì )再講,在此之前,PUSCH處理步驟和PDSCH基本相同,概括來(lái)說(shuō),就是進(jìn)行信道編碼(LDPC),根據空口碼率和RV選擇比特,構成Codeword。在這部分中,PUSCH和PDSCH的主要差異是:PDSCH支持2個(gè)Codeword,但LBRM(Limited Buffer Rate Matching,可參考《NR PDSCH(三)》)是強制要求的(UE緩存更可能受限);PUSCH只支持1個(gè)Codeword,但LBRM是可配置的。

PUSCH和PDSCH的擾碼(Scrambling Code)都是偽隨機碼,主要差異是:1、Cinit的nID分別使用data Scrambling Identity PUSCH和data Scrambling Identity PDSCH —— 如果RRC有配置的話(huà)(沒(méi)有則使用小區ID);2、PDSCH的Cinit輸入包含q(對應不同Codeword),兩個(gè)Codeword使用不同的擾碼,PUSCH的Cinit輸入不包含q,因為PUSCH只支持1個(gè)Codeword。

在NR中,PDSCH支持4種調制模式:QPSK、16QAM、64QAM和256QAM。PUSCH也支持這4種調制模式,如果“DFT預編碼”開(kāi)啟,則還支持π/2-BPSK調制,以降低立方度量,提升功放效率 —— 如果“DFT預編碼”沒(méi)有開(kāi)啟,立方度量主要受限于OFDM,沒(méi)必要支持π/2-BPSK調制。(引用自愛(ài)立信的《5G NR The Next Generation Wireless Access Technology》)

在NR中,PDSCH最多支持8層傳輸,PUSCH最多支持4層傳輸(受限于UE天線(xiàn)端口數量)。PUSCH層映射方法和PDSCH相同,協(xié)議中直接引用PDSCH的表格(1 ~ 4層)。不過(guò),如果“DFT預編碼”開(kāi)啟,PUSCH只支持單層傳輸,因為多層傳輸和“DFT預編碼”疊加過(guò)于復雜。實(shí)際上,引入“DFT預編碼”主要是為了提高覆蓋,在覆蓋受限場(chǎng)景下,接收信噪比較低,本來(lái)也無(wú)法支持多層傳輸。

“DFT預編碼”將長(cháng)度為M(符號)的數據塊,通過(guò)長(cháng)度為M的DFT(Discrete Fourier Transform,離散傅里葉變換),以降低立方度量,提升功放效率 —— M代表PUSCH包含SC數量,由于PUSCH以RB為粒度分配,而1個(gè)RB包含12個(gè)SC,因此M總是12的倍數。從DFT實(shí)現的復雜度看,M應限制為2的冪,但這會(huì )限制調度的靈活性(M為12的倍數,已不可能是2的冪),為了在復雜度和靈活性之間取得平衡,協(xié)議規定PUSCH包含RB數量的質(zhì)因數只能是2、3和5,即M = 2^a2 x 3^a3 x 5^a5。(和LTE一樣)

在NR中,PDSCH只支持“基于非碼本的預編碼”,預編碼對UE來(lái)說(shuō)是“透明”的;PUSCH支持“基于碼本的預編碼”和“基于非碼本的預編碼”,gNB可通過(guò)PUSCH Config的高層參數txConfig配置 —— 如果使用“基于碼本的預編碼”,gNB通過(guò)DCI向UE傳遞TPMI(Transmitted Precoding Matrix Indicator),UE根據層數(Layers)、天線(xiàn)端口數量(Antenna Ports)和“DFT預編碼”是否開(kāi)啟,在3GPP TS 38.211的Table 6.3.1.5-1 ~ 7選擇表格,再根據TPMI選擇碼本(預編碼矩陣W)。如果使用“基于非碼本的預編碼”,W退化為單位矩陣。

在下行傳輸中,UE通過(guò)測量CSI-RS(Channel State Reference Signal)確定預編碼矩陣W,相對應的,在上行傳輸中,gNB通過(guò)測量SRS(Sounding Reference Signal)確定預編碼矩陣W。從“接收機”的角度看,PUSCH的DM-RS和“數據”采用相同的預編碼,預編碼是透明的,但從“調度器”的角度看,DCI包含的TPMI是“調度器”選擇的,預編碼是可見(jiàn)的。
這個(gè)系列是《NR上行物理信道(PUCCH / PUSCH)簡(jiǎn)析V2.0》(作者孫老師,發(fā)表于“春天工作室”公眾號,推薦各位讀者關(guān)注)的學(xué)習心得,提供給和我一樣的小白參考。本系列同時(shí)參考了金輝老師的《深入理解LTE-A》、愛(ài)立信的《5GNR The Next Generation Wireless Access Technology》和人民郵電出版社的《5G空口特性與關(guān)鍵技術(shù)》。部分示圖引用自上述資料,為了風(fēng)格的一致性,我重新繪制并做了修改(也可能引入了一些錯誤)。
聯(lián)系客服