付仕明,陳暢霖,吳廣富,向碧群
(1.重慶第二師范學(xué)院 人工智能學(xué)院,重慶 400065;2.重慶郵電大學(xué) 通信與信息工程學(xué)院,重慶 400065;3.重慶移通學(xué)院 大數(shù)據(jù)與計算機(jī)科學(xué)學(xué)院,重慶 401520)
交織多址接入(interleave division multiple access,IDMA)[1]技術(shù)作為第六代移動通信系統(tǒng)備選多址接入技術(shù),具有良好的抗多址接入干擾(multiple access interference,MAI)性能和較低的多用戶檢測算法復(fù)雜度,與碼分多址接入(code division multiple access,CDMA)、正交頻分復(fù)用接入(orthogonal frequency division multiple access,OFDMA)[2]、功率域非正交多址接入(power domain non-orthogonal multiple access technology,PD-NOMA)[3]、大規(guī)模多輸入多輸出(multiple input multiple output,MIIMO)[4]等技術(shù)結(jié)合組成混合多址接入系統(tǒng),可以充分利用碼域、時頻域、功率域、空域等資源,顯著提高移動通信系統(tǒng)容量和能效[5]。
IDMA技術(shù)在發(fā)送端采用不同交織器區(qū)分用戶,在接收端采用逐碼片(chip)迭代多用戶檢測技術(shù),將用戶間干擾高斯白噪聲化,以提高多用戶檢測的有效性[6]。IDMA系統(tǒng)交織器的有效設(shè)計,不僅關(guān)系到發(fā)送端和接收端算法復(fù)雜度,而且關(guān)系到接收端系統(tǒng)性能。交織器的性能指標(biāo)[7]具體包括:①距離特性:增加原始序列相鄰碼片有效距離,可以增加數(shù)據(jù)隨機(jī)性,提高系統(tǒng)抗突發(fā)錯誤能力;②對稱交織:交織和解交織結(jié)構(gòu)相同,可共用軟硬件資源;③相關(guān)特性:相同交織序列的自相關(guān)足夠大,不同交織序列的互相關(guān)足夠小,提高用戶抗MAI性能;④性能穩(wěn)定:由隨機(jī)序列生成的交織序列,無法保證所有交織序列都具有良好性能;⑤生成簡單:占用盡可能少的存儲空間和計算資源。
當(dāng)前IDMA系統(tǒng)交織器的生成算法包括:隨機(jī)交織器、S-Random交織器、指數(shù)交織器、樹形交織器、二維交織器和Logistic交織器[8]。其中,隨機(jī)交織器為每個用戶分配弱相關(guān)的交織器,在(解)交織過程中需要標(biāo)記比特位置,從而需要消耗大量的存儲空間和計算復(fù)雜度。當(dāng)信息長度足夠長時,可顯著提升系統(tǒng)容量,但多用戶檢測過程的存儲空間和計算復(fù)雜度均十分龐大[9]。S-Random交織器能保證隨機(jī)性和距離特性,但可用交織器卻非常少[10]。樹形交織器在一定程度上降低了隨機(jī)交織器的計算復(fù)雜度[11]。英國生態(tài)數(shù)學(xué)家R.May提出結(jié)構(gòu)簡單、初值敏感、計算效率高、類高斯白噪聲的Logistic系統(tǒng),作為經(jīng)典混沌動力學(xué)系統(tǒng),不但便于現(xiàn)場可編程邏輯門陣列(field programmable gate array,FPGA)實現(xiàn),而且易于推廣到其他混沌系統(tǒng)[12]。Logistic混沌系統(tǒng)可以生成數(shù)量眾多、非相關(guān)、類隨機(jī)而又確定可再生的Logistic交織器,但需要逐碼片生成,算法時延較大[13]。
為滿足算法長度和時延要求,通?;贔PGA迭代方式生成Logistic序列,每次迭代生成一個碼片數(shù)據(jù)[6]。迭代過程中的乘法運算,一般基于移位相加法或查表法(look up table,LUT)[14]?;谝莆幌嗉臃ǖ某朔ㄆ鲿r延太大[15],而基于LUT的乘法器則要求輸入數(shù)據(jù)量化比特長度是2的整數(shù)次冪,當(dāng)其不是2的整數(shù)次冪時,必須成倍增加乘法器輸入數(shù)據(jù)量化比特長度[16]。
為了克服傳統(tǒng)基于FPGA迭代方式生成Logistic序列生成過程時延問題和比特長度的限制,充分利用Logistic交織距離、相關(guān)、平衡度等特性,本文提出了任意量化比特長度的定點Logistic交織序列FPGA生成算法。該算法首先利用Logistic混沌系統(tǒng)李雅普諾夫指數(shù),確定最小量化比特長度;然后基于平衡度和互相關(guān)門限,確定序列開始位置和初值;再采用查表法構(gòu)建非對稱基本乘法器,并采用移位相加法計算Logistic序列生成過程中乘法器;最后將雙極性化的定點Logistic序列用于(解)交織過程。仿真結(jié)果驗證了本文算法的有效性。
在接收端,基本信號估計器(elementary signal estimator,ESE)和信道譯碼的輸出數(shù)據(jù)是發(fā)送數(shù)據(jù)xk的對數(shù)似然比。ESE利用其他用戶信道譯碼返回的外部對數(shù)似然比(log-likelihood ratios,LLR),估計目標(biāo)用戶的發(fā)送數(shù)據(jù)[17]。
圖1中,K個復(fù)用用戶總接收數(shù)據(jù)表示為
r(j)=hkxk(j)+ζk(j),j={1,2,…,J}
(1)
(1)式中:hk為用戶k的信道沖激響應(yīng);xk(j)為用戶k的發(fā)送數(shù)據(jù);J為最大用戶數(shù)據(jù)長度;hkxk(j)表示目標(biāo)用戶接收數(shù)據(jù);ζk(j)表示目標(biāo)用戶k的干擾用戶信號與信道高斯白噪聲之和。
IDMA系統(tǒng)多用戶檢測過程[18]可概括為:首先利用信道譯碼并再次交織后的數(shù)據(jù)lESE(xk(j))更新發(fā)送數(shù)據(jù)均值E(xk(j))和方差Var(xk(j));然后利用接收數(shù)據(jù)估計無線信道沖激響應(yīng)hk,采用無線信道沖激響應(yīng)、發(fā)送數(shù)據(jù)均值、方差計算接收信號均值E(r(j))和方差Var(r(j));最后利用無線信道沖激響應(yīng)、發(fā)送數(shù)據(jù)、接收數(shù)據(jù)均值和方差計算發(fā)送數(shù)據(jù)eESE(xk(j))。重復(fù)上述過程,直到完成預(yù)定義的迭代次數(shù)。IDMA系統(tǒng)多用戶檢測過程用(2)式—(6)式表示為
(2)
Var(xk(j))=1-(E(xk(j)))2
(3)
(4)
(5)
(6)
(2)式—(6)式中,σ2=N0/2為加性高斯白噪聲(additive Gaussian white noise,AWGN)的方差。
(7)
第k個用戶接收數(shù)據(jù)eESE(xk(j))與Logistic序列zk相乘完成解交織功能,表示為
(8)
從以上過程可以看出,有效生成Logistic序列是IDMA系統(tǒng)多用戶檢測算法核心。
在IDMA系統(tǒng)中,首先需要生成定點Logistic序列,然后將其應(yīng)用到接收端多用戶檢測(解)交織過程。其中,生成定點Logistic序列過程,又需要首先利用混沌狀態(tài)、平衡度、相關(guān)等特性查找合適的定點Logistic序列;再采用查表法和移位相加法設(shè)計便于FPGA實現(xiàn)的定點Logistic序列,以降低序列生成時延。
只有當(dāng)量化比特長度足夠長時,混沌序列才可以看作隨機(jī)序列。但在實際應(yīng)用中,受計算機(jī)硬件和成本制約,無法獲得無窮大的量化比特長度,因此,實際得到的混沌序列是具有周期性的偽隨機(jī)序列[21]。
為得到滿足平衡度、自相關(guān)和互相關(guān)要求的定點Logistic序列,首先利用李雅普諾夫指數(shù)確定最小量化比特長度;然后計算平衡度,確定序列開始位置;再雙極性化Logistic序列;最后計算互相關(guān),并輸出滿足要求的Logistic序列。定點Logistic序列生成過程如圖2所示,包括以下步驟。
圖2 定點Logistic序列生成過程Fig.2 Fixed-point Logistic sequence generation process
步驟1初始化第k個用戶的第j個碼片的初始值zk(j)=?2L·a」/2L,a取值為[0,1],?·」表示向下取整,L表示量化比特長度。定點Logistic序列的第j+1個碼片表示為
(9)
(9)式中:碼片zk(j)∈[0,1];系統(tǒng)參數(shù)μ∈(0,4],當(dāng)μ∈(3.571 488,4]時,為混沌系統(tǒng)[22]。
步驟2采用(10)式計算李雅普諾夫指數(shù),確定最小量化比特長度Lmin。
(10)
首先將最小量化比特長度L初始化為1。當(dāng)λ<0時,累加L=L+1,并依次計算(9)式、(10)式。當(dāng)λ>0時,Logistic序列處于混沌狀態(tài),此時的L值或增加一個余量Δ后的L+Δ值作為最終的最小量化比特長度Lmin,并將其應(yīng)用到(9)式,計算碼片長度為n·J的Logistic序列,其中,n取正整數(shù)。
步驟3計算平衡度,確定Logistic序列開始位置。
(11)
步驟4雙極性化Logistic序列。
對滿足平衡度要求的Logistic序列,采用(12)式或(13)式進(jìn)行雙極性化。
zk(j)?1-2「zk(j)-0.5?
(12)
zk(j)?2「zk(j)-0.5?-1
(13)
(12)式—(13)式中,?表示賦值運算。
累加k=k+1,并重復(fù)執(zhí)行步驟3—4,直到k=K。
步驟5計算互相關(guān),輸出滿足要求的Logistic序列。
Logistic序列zk(j)和zk′(j)的互相關(guān)系數(shù)表示為
(14)
采用步驟1—5,可生成滿足混沌狀態(tài)、平衡度、自相關(guān)、互相關(guān)要求的定點Logistic序列zk(j),并將其應(yīng)用于(7)式、(8)式交織和解交織過程。
為了更好地說明步驟1—5的執(zhí)行過程,算法1給出了程序偽代碼。
算法1定點Logistic序列生成算法
forL=1
初始化用戶數(shù)k=1,變量a,量化比特長度L和碼片序號j=0,計算zk(j)
forj=0:J
利用(9)式,計算zk(j+1)
j=j+1
end
采用(10)式,計算λ
ifλ<0
L=L+1
else
輸出此時L值或L+Δ值作為最小量化比特長度Lmin
end
end
將Lmin替換L,計算(9)式
fork=1:K
初始化變量a,量化比特長度L和碼片序號j=0,計算zk(j)
forj=0:n·J
利用(9)式,計算zk(j+1)
j=j+1
End
Else
break
end
end
k=k+1
end
輸出第k和第k′個Logistic序列
end
end
從(9)式可以看出,定點Logistic序列生成算法核心是任意量化比特長度乘法運算。
為便于描述,下面僅以單用戶比特長度L=34的Logistic序列生成過程為例說明任意量化比特長度乘法器生成過程,如圖3所示,具體包括以下步驟。
圖3 任意量化比特長度乘法器生成過程Fig.3 Arbitrary quantization bit length multiplier generation process
步驟1初始化Logistic序列z(j)。
初始化系統(tǒng)參數(shù)μ,Logistic序列序號j=0,Logistic序列最大長度J,量化比特長度L,Logistic序列初值z(0)。
步驟2構(gòu)建基本LUT乘法器。
構(gòu)建4種基本LUT乘法器,即UII、UIQ、UQI和UQQ。其中,I和Q分別表示基本LUT乘法器的2個輸入數(shù)據(jù)量化比特長度,即I={1,2,…,Imax},Q={1,2,…,Qmax},Imax 基本LUT乘法器的構(gòu)建方法不是唯一的,在具體應(yīng)用中,需要綜合考慮FPGA型號、存儲量、時延等影響因素。下面以L=34,I=5,Q=6為例,詳細(xì)說明基本LUT乘法器的構(gòu)建過程。基本LUT乘法器U55的2個輸入數(shù)據(jù)比特長度為5,取值為{0,1,…,31},輸出數(shù)據(jù)比特長度為10,取值為{0,1,…,1 023}。同理,可得U56、U65和U66輸入與輸出的關(guān)系。 步驟3計算乘法器輸入。 為便于迭代運算,(9)式可以重寫為 (15) 當(dāng)j=0時,令乘法器輸入數(shù)據(jù)為A=?2L·z(0)」和B=2L-A;當(dāng)j≠0時,更新后的乘法器的輸入數(shù)據(jù)A=z(j+1)和B=2L-A。 步驟4劃分基本LUT乘法器。 比特長度為L=34的乘法器輸入數(shù)據(jù)A和B,由4組長度為6比特和2組5比特的子數(shù)據(jù)組成,即n=4,Q=6,m=2,I=5。典型情況下輸入數(shù)據(jù)與子數(shù)據(jù)之間關(guān)系,如圖4所示。4組長度為6比特子數(shù)據(jù)分別表示為A6,A5,A4,A3和B6,B5,B4,B3,2組比特子數(shù)據(jù)分別表示為A2,A1和B2,B1。很顯然,由上述子數(shù)據(jù)組成乘法器輸入數(shù)據(jù)A和B,有很多組合情況。為便于描述,假設(shè)比特數(shù)較多的子數(shù)據(jù)置于左側(cè),比特數(shù)較少的子數(shù)據(jù)置于右側(cè)。不失一般性,假設(shè)左側(cè)比特為高比特位,右側(cè)比特為低比特位。采用子數(shù)據(jù)A6,…,A2,A1和B6,…,B2,B1分別表示乘法器輸入數(shù)據(jù)A和B。 圖4 乘數(shù)器輸入數(shù)據(jù)量化比特次序Fig.4 Quantization bit order of the counters input data 步驟5基本LUT單元移位并累加。 將乘法器輸入數(shù)據(jù)A和B,乘法過程采用基本LUT乘法器表示;將各基本LUT乘法器輸出根據(jù)其所在比特位置移位后相加,輸出量化比特長度為2L的乘法結(jié)果D35=A·B。 將Am+n,…,A2,A1分別與Bm+n,…,B2,B1進(jìn)行相乘,共得到(m+n)2個基本LUT乘法器。將A1與Bm+n,…,Bm+1,Bm,…,B1相乘,結(jié)果分別記為Cm+n,…,C1,將A2與Bm+n,…,Bm+1,Bm,…,B1相乘結(jié)果分別記為C2m+2n,…,Cm+n+1,以此類推,將其余相乘結(jié)果記為Cm2+n2+2mn,…,C2m+2n+1。將Cm2+n2+2mn,…,C1根據(jù)各自位置,分別左移如下比特0,I,mI,mI+Q,mI+2Q,…,58,依次分級兩兩相加,最終得到2L位乘法器輸出結(jié)果,如圖5所示。 圖5 移位相加法乘法器Fig.5 Shifted phase addition multiplier 累加過程也可以表示為(16)式,大括號內(nèi)和單行的累加運算為同級運算。 D32=D28+D29,D33=D30+D31 (16) D34=D32+D33 D35=D34+D27 為仿真分析所提IDMA系統(tǒng)定點Logistic序列交織算法的性能,以隨機(jī)交織算法[23]和隨機(jī)交織序列[20]作為對比算法,仿真參數(shù)如表1所示。 表1 仿真參數(shù)Tab.1 Simulation parameters 下面重點分析算法復(fù)雜度、浮/定點算法誤碼率 (bit error ratio,BER)性能、Logistic序列長度與BER性能之間關(guān)系。 基于Logistic序列進(jìn)行(解)交織的IDMA系統(tǒng),算法復(fù)雜度主要集中在Logistic序列的生成過程。而(解)交織過程,只涉及序列乘法,并且雙極性化后的Logistic序列為±1,因此,序列乘法相當(dāng)于取待(解)交織序列的相反數(shù),該部分算法復(fù)雜度和存儲空間可以忽略。由于移動用戶只需要計算或存儲當(dāng)前物理資源下復(fù)用用戶交織序列,Logistic序列的生成過程可以采用仿真軟件提前生成,此時算法復(fù)雜度也可以忽略。只有當(dāng)基站為若干移動用戶進(jìn)行動態(tài)資源分配時,才需要基于FPGA方式實時生成大量Logistic序列,以降低數(shù)字信號處理時延。 采用延遲為6的1/2編碼速率的卷積碼,數(shù)據(jù)長度為1 024,Logistic序列長度為1 024,采用2.2節(jié)定點乘法過程。圖6給出IDMA系統(tǒng)tanh理論值、浮點Logistic序列和量化比特長度為34的定點Logistic序列的BER性能曲線。從圖6可以看出,浮點Logistic序列相對于tanh理論值的BER性能損失可以忽略;定點Logistic序列相對于浮點Logistic序列的BER性能損失低于0.5%,可以滿足大多數(shù)移動通信需求。 圖6 浮點、定點Logistic交織算法和tanh理論值性能Fig.6 Performance of floating point,fixed-point Logistic interleaving algorithm and tanh theoretical value 為獲得交織序列長度對IDMA系統(tǒng)性能的影響情況,圖7給出了量化比特長度為64和1 024時,定點Logistic序列、隨機(jī)交織算法和隨機(jī)交織序列的BER性能。從圖7可以看出,基于隨機(jī)交織序列的IDMA系統(tǒng)性能遠(yuǎn)低于其他2種算法,主要原因是該算法對原始數(shù)據(jù)引入的隨機(jī)性不夠,無線信道造成的影響成為次要因素,因此,該算法的BER不隨SNR的增長而降低,而是保持平穩(wěn)水平。定點Logistic序列相對于隨機(jī)交織算法,性能損失不大。在SNR≤3 dB情況下,定點Logistic序列算法具有較好的相關(guān)性,因此,接收端多用戶檢測對SNR的消除效果較好,此時定點Logistic序列性能略優(yōu)于隨機(jī)交織算法。在SNR≥4 dB情況下,定點Logistic序列之間的互相關(guān)性降低,不同用戶之間的多址接入干擾隨之增大;而此時隨機(jī)交織則可以完全打亂原序列,因此,隨機(jī)交織算法擁有更好的BER性能。 圖7 序列長度為64、1 024時不同算法性能Fig.7 Performance of different algorithms when the sequence length is 64 and 1 024 本文提出IDMA系統(tǒng)任意量化比特長度的定點Logistic交織序列FPGA生成算法,不僅可以充分利用混沌、平衡度、相關(guān)等特性,而且可以降低(解)交織過程存儲空間和計算復(fù)雜度。該算法可以基于FPGA產(chǎn)生任意量化比特長度的定點Logistic序列,可以充分利用FPGA硬件資源,在序列長度較短的情況下,可以獲得較好的誤碼率性能。本文所提算法有利于IDMA技術(shù)和基于IDMA的混合多址接入技術(shù)的發(fā)展和應(yīng)用。3 仿真分析
4 結(jié)束語