徐海鑫,周祖望,張利達
(武漢虹信通信技術有限責任公司,湖北武漢430074)
責任編輯:許 盈
移動通信技術和互聯網技術的不斷融合,IP技術本身的靈活性和簡單性使得全IP網絡成為無線通信網絡的發展趨勢。LTE(Long Term Evolution)系統正是采用全IP承載的下一代無線通信系統。選用IP技術作為承載技術,首先會遇到的一個問題就是IP包的報頭字節開銷太大,極大地占用了無線信道帶寬,降低了無線資源利用率。另一方面3GPP在LTE中提出了實現下行峰值速率達到100 Mbit/s的數據傳輸,LTE系統的高數據傳輸速率和系統容量,使得頻譜資源和業務量之間的矛盾更加突出,所以在LTE系統中采用強大的報頭壓縮技術顯得尤為重要。
ROHC正是IETF專門針對高誤碼率、長傳輸時延的無線通信鏈路而提出的魯棒性報頭壓縮技術[1]。在保證魯棒性的前提下,能夠極大地提高系統無線帶寬資源的利用率。在3GPP LTE TS36.323協議對PDCP子層的規范中,采用了ROHC協議來實現其頭壓縮功能。然而ROHC協議中壓縮算法確實不能夠很好地適應不斷變化的無線信道環境,不能動態調整壓縮算法中的關鍵參數。因此,對于動態變化的無線環境,ROHC壓縮算法存在一定的不足。針對此種情況,本文結合LTE MAC層無線信道檢測技術,實現了ROHC壓縮算法關鍵參數的動態調整。通過仿真結果表明,相比ROHC協議標準壓縮算法,本文提出的算法具有更好的壓縮率和適用性。
數據流中報頭部分包含靜態部分和動態部分。靜態部分就是指在整個數據流中保持不變或者通過一定信息可推知的部分,而動態部分則是在整個數據流中經常發生變化的部分。ROHC壓縮就是消除報頭中的靜態部分,對于動態變化的部分,采取特定的編碼方式對其編碼,只傳輸編碼后的少量信息到對端,從而達到報頭壓縮的目的。
在LTE系統中,ROHC協議位于PDCP子層,分為壓縮模塊和解壓模塊。其中壓縮模塊對IP頭和傳輸頭進行壓縮,相應的在解壓模塊,就對ROHC壓縮分組進行解壓還原。當用戶的數據流開始建立的時候,壓縮模塊就會將該數據流相關的完整報頭信息保存在相應的上下文中,并且會分配上下文標識(Context Identifier,CID)來標識此數據流,該條數據流后續的數據報文會參照上下文,只傳輸變化的部分。相應的在解壓模塊,根據CID來查找收到壓縮分組的上下文,以此回復出原始的數據報文,壓縮解壓就完成了。具體的原理圖如圖1所示。

圖1 ROHC壓縮原理圖
當GPRS隧道協議用戶面(GPRS Tunneling Protocol for User Plane,GTP-U)有新數據流到達Layer 2的PDCP子層時,PDCP子層的ROHC壓縮器首先進入壓縮初始化狀態,將數據流的報頭信息保存在相應的上下文(Context)中,同時將其發送到對端的解壓器。確認解壓器收到上下文信息后,壓縮器就可以進入壓縮狀態,開始發送壓縮報文。相應的在解壓器會利用壓縮器發來的完整上下文來對后續的壓縮報文進行解壓。在此過程中,ROHC中的CRC樣驗和反饋能夠很好地保證雙方上下文信息的完全同步以及準確無誤的傳輸,確保壓縮解壓過程的順利進行。
LSB/WLSB是ROHC協議中非常重要的兩種壓縮編碼算法,在整個壓縮解壓過程中始終存在,其算法的好壞直接決定了ROHC性能。
LSB(Least Significant Bit)是最低有效位壓縮編碼算法,通常用來對變化較小的報頭域進行壓縮。在使用LSB壓縮編碼算法時,通常不會傳輸整個原始報頭,而只會對其中的K個比特進行傳輸。當解壓方收到這K個比特時,將參照之前保存的參考值Vref來恢復原始值。例如要傳輸的字段值為20,使用上一個傳輸成功的值18來作為參照,那么比較20和18的二進制值00010100和00010010,即可得出只有最低3位不同,那么K取3,此次只需要傳輸20的最后3個比特,即100。相應的在解壓方,根據解壓參考值18和100,即可成功恢復出原始值20。
在LSB壓縮編碼算法中,壓縮器和解壓器中只會保存一個壓縮和解壓參考值,一旦這個分組在無線鏈路上丟失或者發生錯誤,解壓端就不能夠對后續壓縮分組正確地解壓,并且會導致壓縮和解壓上下文信息不同步。
基于這種考慮,ROHC工作組提出了WLSB壓縮編碼算法,壓縮端和解壓端各自維護一個滑動窗口,包含很多已經正確傳遞的參考值,保證ROHC壓縮算法的魯棒性。但是,過大的滑動窗口又會降低WLSB算法的壓縮效率。因此,滑動窗口的寬度SWW(Slide Window Width)是影響WLSB算法魯棒性和壓縮效率的關鍵參數[2]。
從圖2中可以看到,當滑動窗口值很小時,無線鏈路上一旦SWW的壓縮分組出錯或者丟包,都會直接影響后續壓縮分組的正確解壓,并且解壓端上下文也不能及時更新,壓縮端和解壓端的上下文無法保持同步,造成了后續無法正確解壓的壓縮分組大量丟棄的現象,嚴重影響了WLSB算法的魯棒性。當滑動窗口值減小到1時,WLSB算法就變成了LSB算法。

圖2 WLSB壓縮算法原理圖
當滑動窗口值很大時,雖然能夠保證WLSB算法的魯棒性,但是每一個壓縮域相應的LSB編碼位數將會增大,直接導致壓縮端只能夠選擇較低壓縮效率的壓縮分組進行壓縮,嚴重降低了WLSB算法的壓縮性能。
根據前文WLSB機制的描述易知,可變滑動窗口VSW的大小N決定了報頭壓縮的效率。當無線信道處于不同的狀態時,動態調整N值的大小,不僅能夠提高報頭壓縮率,而且能夠獲得更好的魯棒性。
文獻[3]中,提出了可利用短期暫時丟包率和平均長期丟包率的比值來定義無線信道狀態。如果目前暫時丟包率大于平均長期丟包率,則可認定此時無線信道處于出錯狀態,否則即處于無錯狀態。在無錯狀態下,可以認為無線信道質量比較好,能夠實現無差錯傳輸;而在出錯狀態下,傳送的數據報文出現錯誤,沒有辦法進行正確傳輸。無錯狀態和出錯狀態是能夠相互轉化的,另外,由于無線信道的多變性,僅用兩個狀態來描述無線信道將無法提供足夠的信息。在文獻中,提出了一種3狀態的Markov模型(Three States Markov Modules)來描述無線信道,通過解壓縮端反饋的信噪比,在壓縮端根據接收比特誤碼率來劃分信道狀態,將信道狀態分為差狀態(Bad State,BS)、平均狀態(Average State,AS)、好狀態(Good State,GS)。
本文根據LTE系統傳輸的特點,結合當前丟包率和歷史丟包率數據的比較,采用文獻[4]中提出的3狀態Markov模型來模擬實際的無線信道,如圖3所示。

圖3 3狀態Markov無線信道模型
無線信道狀態轉移矩陣為

式中:Pga代表由GS態轉移到AS態的概率;Pgb代表由GS態轉移到BS態的概率;1-Pga-Pgb代表停留在GS態的概率;Pag,Pbg,Pab,Pba,1-Pag-Pab,1-Pbg-Pba的含義可類推出來。適當調整上述狀態矩陣中各相應參數的值,即可表征各種不同狀態的無線信道。
目前已有的報頭壓縮方案在設計中,并沒有將無線信道狀態考慮在內,而在無線通信中,由于各種因素的影響,無線環境是動態變化的,一成不變的壓縮方案難以適用于各種狀態的無線信道。無線信道突發差錯的特性,也使得固定不變的壓縮方案難以獲得較好的性能。為此,本文提出一種基于LTE無線信道狀態估計的自適應滑動窗壓縮編碼算法SA-WLSB(Self-adaption WLSB)。根據無線信道所處的狀態,動態調整滑動窗窗口大小,以保證在獲得較高壓縮效率的同時,也能夠擁有較好的魯棒性。圖4即為SA-WLSB壓縮算法原理圖。
結合3種信道狀態,SA-WLSB中VSW窗口調整的具體流程如下:
1)首先,假設p為當前無線信道誤碼率,對歷史數據進行統計,建立兩張映射表:一張是3種無線信道狀態(BS/AS/GS)與比特誤碼率(BER)的映射表(假設p1為GS/AS誤碼率門限值,p2為AS/BS誤碼率門限值),另一張是無線信道狀態與SWW窗口大小值N之間的映射表(假設n1為GS/AS滑動窗門限值,n2為AS/BS滑動窗門限值)。

圖4 SA-WLSB壓縮算法原理圖
2)其次,壓縮端根據MAC底層無線信道檢測技術提供的比特誤碼率值,判定當前無線信道所處的狀態,從而動態調整SWW的窗口值N。
3)記錄此時無線信道誤碼率為p,根據映射表1計算當前的無線信道狀態,然后再結合映射表2計算當前SWW窗口值(以下計算N均取整):
(1)當p<p1時,此時信道狀態很好,處于GS狀態。窗口SWW可取值

當p?p1時,此時可取SWW窗口為1,即LSB壓縮編碼算法,此時信道條件最好,壓縮效率最高。
(2)當p1<p<p2時,此時信道狀態處于平均狀態AS。此時窗口SWW可取值

(3)當p>p2時,此時信道狀態很差,處于BS態,此時窗口SWW可取值

(4)當p?p2時,此時無線信道狀態極差,為保證數據正常傳輸,不需要對報文壓縮處理,只能完整地傳輸整個報文。此時壓縮率為0,魯棒性最好。
仿真測試中,分別測試了UDP業務流的負載長度在0~100 byte變化時,采用Uncompress、ROHC(WLSB)和ROHC(SA-WLSB)時有效載荷和平均報頭開銷,仿真測試結果如圖5所示。

圖5 不同壓縮算法下UDP數據包報頭開銷與載荷對比
Header Proportion為報頭開銷,Header Size為報頭總大小,Payload Size為載荷大小,其計算公式為

由圖4分析可得,采用本文所提出的SA-WLSB壓縮算法壓縮后的UDP報頭大小為1~3 byte,相比之下,采用WLSB算法所提供的壓縮率也能夠獲得比較接近的壓縮率,但是SA-WLSB算法的壓縮連接建立時間更短,并且只需要借助MAC底層無線信道檢測技術,并不需要額外的反饋,可以進一步節省無線帶寬資源。
在UDP業務流恒定的情況下,對RTP/UDP/IP報頭進行壓縮處理,統計不同壓縮算法處理后的平均報頭長度。在此需要采用平均壓縮報頭長度ACL(Average Compressed Length),即

式中:Total Bytes表示發送的總的字節數(包括各種類型的壓縮分組以及反饋信息);Comp.num表示發送的總的壓縮分組數;Payload Len表示發送分組攜帶的載荷長度。測試中取BER=10-3時,即無線信道質量較好的環境下,Comp.num分別取100,1 000,5 000,10 000個,Payload Len取64 kbyte。測試結果如表1所示。

表1 不同壓縮算法下平均報頭壓縮長度統計表
原始RTP/TCP/IP數據包報頭為40 byte,經過壓縮處理后的平均壓縮報頭長度如表1所示,分別對未壓縮、ROHC(WLSB)以及ROHC(SA-WLSB)3種壓縮算法下的平均壓縮報頭長度進行了統計。統計結果顯示,使用本文提出的SA-WLSB壓縮算法,壓縮端和解壓端通信過程中,平均壓縮報頭長度大多在2 byte以下。在剛開始建立通信的過程中,由于壓縮端在一開始時需要發送完整的報頭信息及相應的上下文標識符,以便保持解壓端上下文信息同步。因此,當測試報文個數較少時,報頭壓縮增益并沒有發送大量分組報頭時候明顯,和理論分析的結果相符合。當進行大量數據報文測試時,由表1可以看出,經過SA-WLSB算法壓縮后的平均報頭長度為1.15 byte,而ROHC(WLSB)的壓縮算法平均壓縮長度為1.29 byte。綜上所述,本文提出的SA-WLSB算法比現有的算法有著更低的報頭開銷,能夠很有效地提高無線信道帶寬利用率。
為了提高無線鏈路的頻譜資源利用率,在3GPP LTE中,采用了IETF提出的ROHC報頭壓縮方案。本文從提高ROHC壓縮魯棒性及適用性出發,提出了適用于LTE系統的自適應窗基壓縮編碼算法,該算法能夠結合無線信道環境的變化來動態調整ROHC壓縮的關鍵參數。下一步將在特定的無線環境場景下,根據無線需求的變化,針對一些典型的移動多媒體業務,采取特定的編碼方式,同時對于ROHC壓縮性能的實現參數進行實際的調試,設計更高效適用于LTE系統的實現方案,進一步提高數據壓縮效率和魯棒性,是一個值得以后深入研究的方向。
[1]JONSSON L E,SANDLUND K,PELLETIER G.RObust header compression(ROHC):corrections and clarifications to RFC 3095[EB/OL].[2012-10-20].http://www.hjp.at/doc/rfc/rfc4815.html.
[2]3GPP TS36.323 V9.9.0,Evolved universal terrestrial radio access(EUTRA)packet data convergence protocol(PDCP)specification[S].2009.
[3]張青波,何加銘.一種WiMAX系統PMP網絡自適應ROHC壓縮算法[J].小型微型計算機系統,2010,33(4):34-36.
[4]朱燕.WiMAX系統MAC層匯集子層協議研究[D].寧波:寧波大學,2009.
[5]吳君欽,趙雪.基于DFT降噪的LTE下行鏈路信道估計算法的改進[J].電視技術,2013,37(3):34-36.