程 海 ,袁曉軍
(1.中科院上海微系統與信息技術研究所上海200050;2.上海科技大學信息科學與技術學院,上海201210;3.中國科學院大學北京101408;4.電子科技大學通信抗干擾國家級重點實驗室,四川成都611731)
計算轉發(Compute-and-forward,CF)利用結構編碼來管理無線通信網絡中的干擾信號[1]。CF的核心思想是計算多個信源信息的整數線性組合,而不是直接解碼單個信源的信息,以此在計算中來抑制干擾信號。嵌套網格編碼[2,12]在CF中被采用來保證計算出的整數組合依舊是有效的碼字。
自從CF的出現以來,很多工作探討了如何提升基于CF網絡的吞吐率[3-11]。特別地,在參考文獻[3]中提出了一種新的中繼策略——計算壓縮轉發(Compute-compress-and-forward,CCF)——來減少中繼處的信息冗余。在CCF中,每個中繼對計算出的信息進行基于仔細選擇的嵌套網格對的量化和取模操作。文獻[3]中證明了CCF相對于CF有顯著的性能增益。然而,沒有理論分析表明中繼處的信息冗余能被一次的量化取模操作去除;同時,CCF的性能極限也是未知的。
文中,我們將通過在每個中繼端進行多次量化和取模操作來得到廣義計算壓縮轉發策略(Generalized-compute-compress-and-forward,GCCF)。我們首先在給出本文提出的信息無損的壓縮策略GCCF。然后,我們給出GCCF的性能即壓縮后碼率以及可達碼率區域等。理論分析結果表明,相比于原始的CCF[3],GCCF能達到更大的壓縮速率區域。在文章最后,我們將GCCF中繼策略應用到一個多用戶多中繼單接收端的兩跳無線中繼網絡中。數值仿真結果表明了本文提出的GCCF策略的優異性能。
考慮一個干擾信道,其中有L個發送端和L個接收端。每個發送端或者接收端只有一根天線。發送端?的信息是一個向量,其中γ是一個素數。發送端l將wl編碼成實數向量xl然后將xl通過加性高斯白噪聲信道發送到接收端。接收端m接收到的信號為:

其中hml∈N(0,1)是從發送端I到接收端m的信道系數。zm∈?n×1是服從N(0,In)分布的高斯噪聲向量,其中In是一個n-by-n單位矩陣,Jl表示從1到?的整數索引集合。信道矩陣表示為H=[h1,h2,…,hL]T,其中hm=[hm1,hm2,…,hmL]T是被接收端m觀察到的信道向量。發送端?的平均發送功率為并且滿足pl≤Pl,其中Pl是發送端?的最大功率。我們假設全部的信道狀態信息都被完好地獲取。
CCF策略可以被用于公式(1)中的信道模型。在CCF策略中,每個發送端用嵌套網格碼編碼待發送信息。每個接收端從接受信號中計算出信源發送碼字的一個整數線性組合,然后對計算出的信息進行壓縮操作。壓縮操作的目的是減少接收端作為中繼轉發時的發送速率,以此來提升整個中繼網絡的頻譜效率。本文的主要目的是擴展CCF中的壓縮操作來進一步提升系統吞吐率。
我們首先給出嵌套網格編碼的基本概念。一個網格(lattice)Λ∈?n是一個離散的加法群,即:如果t1∈Λ 而且t2∈Λ,那么t1+t2∈Λ。一個網格可以被表示為 Λ={s=Gc:c∈?n×1},其中G∈?n×n是Λ的生成矩陣。基于Λ的量化表示為QΛ(x)=argmt∈iΛn‖t-x‖,其中‖·‖表示向量的二范數。量化誤差是xmodΛ=x-QΛ(x),其中“mod”表示取模操作.網格 Λ 的Voronoi區域定義為V={x∈?n:QΛ(x)=0}。網格Λ的二階距表示為,其中 Vol(V)是V的體積。如果Λ1?Λ2,那么我們說Λ1是嵌套在Λ2里,并且說Λ1比 Λ2更粗(或者說Λ2比 Λ1更細)。我們構建一個嵌套網格碼碼本C基于嵌套網格碼對 (Λs,Λc)并滿足Λs?Λc,其中 Λs叫塑形網格,Λc叫編碼網格。那么網格碼碼本C可以背表示為C=ΛcmodΛs=Λc?Vs。碼本C的速率為,其中log表示以2為底的對數函數。

圖1 干擾信道模型
我們按照文獻[1]中的方法構建一個包含2L個網格的嵌套網格鏈Λ1,Λ2,…,Λ2L。具體構造方法如下所述。讓i1,i2,…,i2L為一些滿足0≤i1≤i2≤…≤i2L≤K的整數,其中K是一個足夠大的整數.考慮矩陣其中每個元素都是獨立同分布于Fγ。讓Gk為一個包含G中前ik列的矩陣,k∈J2L。令。構建網格其中B∈?n×n,g(·)將屬于 FFγ的元素映射到對應的整數{0,1,…,γ-1}。因此,按照該方法構建的網格是嵌套的:Λ1?Λ2?…?Λ2L。每個信源?從嵌套網格鏈中選取一個嵌套網格對(Λs,l,Λc,l)來構造嵌套網格碼碼本Cl=Λc,l?Vs,l。特別地,Cl由嵌套網格對(Λπ(2l-1),Λπ(2l))來構造,其中 π(·)是一個從J2L到J2L的一一映射函數,且滿足。發送端 ?的信息wl是均勻分布與,其中我們首先將wl進行補零得到一個元素個數為K的向量w?l:

然后通過函數?l(·) 將映射為碼字tl∈CL:

我們函數?l(·)是一個從到Cl的一一映射函數[1]。信源l的碼率為。按照[6]中的方法,我們構造信道輸入信號:

在接收到公式(1)中信號ym后,接收端m解碼出信源網格碼字的一個線性組合:

其中aml是整數系數,是殘余擾動信號。由于該部分不是本文的主要討論內容,故直接引用[6]中已有結論。我們說一個速率元組(r1,r2,…,rL)是可達的如果,其中是對目標碼字vm的估計。基于[6]中的結論,速率元組(r1,r2,…,rL)是可達的如果對于任意的l∈JL,


我們從式(5)可以得知,接收端處解碼得到的{vm}一般是概率相關的,因為它們是由相同的集合構造來的。注意到本文考慮的模型(1)中每個接收端都作為中繼節點。將{vm}直接發送到下一跳信道中會導致信道頻譜低效化。因而,每個接收端m須要壓縮{vm}。特別地,接收端處的壓縮操作可以表示為

其中δm的碼率為Rm(≤rm),ψm(·)是接收端m處的壓縮函數。對于整個策略,壓縮過程需要是信息無損的,即可以從中完整的恢復出來。我們說壓縮速率元組(R1,R2,…,RL)是可達的如果可以從中無失真的恢復。可達壓縮速率元組的凸包構成了壓縮速率區域,記作為Rcpr,其中``cpr''是壓縮(compression)的縮寫。
在本節中,我們提出一個基于網格操作(量化和取模)的壓縮策略。我們首先描述一個叫做網格碼字分解(lattice codeword splitting)的技術。然后,我們給出本文提出的基于該碼字分解技術的壓縮策略。本文提出的壓縮策略是計算壓縮轉發策略的一個擴展。
我們首先描述基于量化和取模操作的碼字分解技術。這部分內容是后文中的壓縮方法的基礎。通過網格對(Λk,Λk+1)構建一個虛擬嵌套網格碼本Cv,k:

其中下標``v''表示“虛擬”(``virtual'')。碼本Cv,k的碼率為:

定義tl的第k個碼字單元為:

很明顯,tl,k是碼本Cv,k中的碼字。定義兩個索引集合如下:

注意到 Λs,l?Λk?Λk+1?Λc,l表示Cv,k?Cl。因此,Lk是一個包含所有?滿足Cv,k?Cl的集合;kl是一個包含所有k滿足Cv,k?Cl的集合。因此,我們有

我們現在可以將碼字tl分解為:

通過如上所述的分解方法,tl可以唯一地被映射為碼字單元元組;對于任意給定的,tl可以按照式(13)被恢復.因此,tl與之間的映射是一一對應的。故而,rl可以表示為:

令vm的第k個碼字單元為:


在本小節中,我們給出如何設計壓縮函數{ψm(·)} 基于量化和取模操作(QM)。在給定2.1節中的碼字分解技術,我們能表明本文提出的策略是信息無損的。我們也表明文獻[3]中的單次QM操作對于壓縮是不充分的。最優的壓縮函數一般來說應該包含多次QM操作。為了區分我們的多次QM操作方法與文獻[3]中的單次QM操作方法,我們將本文的方法叫作廣義計算壓縮轉發(generalized CCF,GCCF)。
接下來我們先給出一些定義和符號。我們按照文獻[1]中的方式將A∈?L×L映射到。帶有一些符號濫用,我們用A代替g-1(Amodγ)。對于任意的S?JL,S′?JL,用A(S,S′)表示A的行索引為S、列索引為S′的子矩陣。用表示S∈JL的補集。令 πα(·)為(1,2…,L)的一個重排。令。令Jm為:

其中 rank(A)是在上計算的。從式(17)我們看到k∈Jm意味著是與的行線性獨立的。
定理一、一個信息無損的壓縮策略給出如下:

我們給出關于該壓縮策略的直觀解釋。注意到壓縮操作的目的是減少中繼處解碼碼字之間的冗余信息。從式(16)得知,vm,k是 {tl,k,l∈Lk}的一個線性組合(忽略殘余擾動信號)。可以發現vπα(m),k是線性獨立于。因此,上述壓縮策略的意義就是在于選擇vm中獨立的碼字單元來構造δm。
定理二、壓縮策略(18)的可達壓縮速率元組由(R1,R2,…,RL)給出,其中Rm是δm的歸一化熵率:

其中H(·)表示熵函數。此外,{δm}的熵滿足

公式(20)表明在壓縮后的碼字 (δ1,δ2,…,δL)之中沒有冗余信息。
定理三、GCCF的一個可達壓縮速率對為:

為了節省空間,我們在本文中略去以上定理的證明。詳細證明均在文獻[13]中提及。主要運用的技巧來源于文獻[14-16]。

圖2 可達速率區域
例:我們給一個例子來闡明定理一種的GCCF策略。考慮式(1)中的帶有2個發送端與2個接收端的信道模型。嵌套網格鏈被設為:Λs,1(=Λ1)?Λs,2(=Λ2)?Λc,1(=Λ3)?Λc,2(=Λ4)。正數系數矩陣被設置為A=[1,1;1,0]。從式(11)下方二索引集合定義,我們有(L1,L2,L3)=({1},{1,2},{2}),(k1,k2)=({1,2},{2,3})信源碼率為r1=rv,1+rv,2,r2=rv,2+rv,3,總碼率為rsum=rv,1+2rv,2+rv,3。
考慮定理一中的壓縮操作。讓α1≥α2,那么πα(l)=l,l∈J2。通過計算式(17)中的秩,我們得到

由式(18),接收端1、2處的壓縮操作分別為:


那么可達速率元組(R1,R2)為:

按照(21),我們得到Rcpr:R1≥rv,2+rv,3,R2≥rv,2,R1+R2≥rsum。
上式中的Rcpr由圖2給出。式(22)中的碼率元組(R1,R2)對應于在圖中的頂點B。這也就是說,我們可以通過式(18)中的方法達到頂點B。從vm的定義,我們看到v1∈Λ4?V1和v2∈Λ3?V1。因此,v1的碼率為rv,1+rv,2+rv,3,v2的碼率為rv,1+rv,2。通過壓縮,總壓縮碼率被從rv,1+rsum降低至rsum,其中rsum是無損壓縮的性能極限。
我們考慮一個兩跳的中繼網絡,如圖3中所示。第一跳是一個如式(1)所示的干擾信道。在第二跳信道中,第一跳中的L個接收端成為發送端,同時單個終端收集到接收從信源發送的信息。第一跳中的每個接收端將δm重新編碼后發送到第二跳中的終端。用Rm表示δm重新編碼后的碼率。為了使問題簡單、易于解決,第二跳信道被設置為并行信道。那么,終端觀察到從中繼m發送的信號為,其中hm是信道增益,式被中繼m發送的功率為的信號,獨立分布于N(0,In)。因此,第二跳信道的容量區域由下式給出:


圖3 多用戶兩跳無線中繼網絡模型
我們考慮圖中描述的兩跳中繼網絡的總速率最大化問題。基于前文的討論,一個傳輸速率對(r1,r2,…,rL)是可達到的如果1)中繼處能正確進行計算:(r1,r2,…,rL)∈Rcpu,2)中繼處的壓縮操作滿足(R1,R2,…,RL)∈Rcpu且轉發碼率不超過第二跳信道容量 (R1,R2,…,RL)∈RC。那么參照文獻[3,11]中的優化方法,并在仿真中采取如下的參數設置:Pl=P;0.1≤βl≤4,l∈JL;PR,m=0.25P,m∈JL。
2×2和4×4的無線中繼網絡的仿真結果在圖4中給出。仿真結果是在進行500次獨立的仿真后進行平均得到的。注意到圖中CCF表示原始CCF[3]。從圖4,我們看到相比于CCF,GCCF能夠達到更高的總速率,尤其是在發送端、中繼數量較多的網絡中。

圖4 數值仿真結果
在本文中,我們提出了一種基于計算轉發中繼網絡的廣義的壓縮框架,叫作廣義計算壓縮轉發(GCCF)。與原始CCF策略中單次取模量化(QM)操作不同,我們提出的GCCF策略在每個中繼處采取多次QM操作,以此來更有效地減少冗余信息。理論分析結果表明GCCF的可達壓縮速率區域比CCF要寬闊。我們也說明了GCCF在最小化總壓縮碼率意義上是最優的。基于上述結論,我們研究了基于GCCF策略的兩跳中繼網絡的總碼率最大化的問題。仿真結果表明我們提出的GCCF策略優于其他現有的一些中繼策略。