鄒少琴,賴奇?zhèn)?,林邦?/p>
(1.廈門南洋職業(yè)學(xué)院,福建 廈門 361102; 2.中國科學(xué)院福建物質(zhì)結(jié)構(gòu)研究所 泉州裝備制造研究所,福建 泉州 362000)
稀疏碼分多址(Sparse Code Multiple Access, SCMA)在接收端進(jìn)行多用戶檢測所采用的消息傳遞算法具有復(fù)雜度高和迭代速度慢的缺點(diǎn)[1],而發(fā)光二極管(Light Emitting Diode,LED)的非線性特性所導(dǎo)致的信號失真影響了系統(tǒng)的傳輸性能[2]。因此,研究一個新型的信號接收機(jī)和系統(tǒng)非線性補(bǔ)償方案成為了研究課題。近年來,機(jī)器學(xué)習(xí)技術(shù)特別是神經(jīng)網(wǎng)絡(luò)被應(yīng)用在各個學(xué)科領(lǐng)域中,而神經(jīng)網(wǎng)絡(luò)在可見光通信(Visible Light Communication, VLC)中的應(yīng)用有望解決許多傳統(tǒng)問題,讓VLC變得更加高效。文獻(xiàn)[3]提出了基于長短期記憶網(wǎng)絡(luò)的正交頻分復(fù)用(Orthogonal of Frequency Division Multiplexing,OFDM)-VLC系統(tǒng)后失真補(bǔ)償方法,在滿足相同誤碼率(Bit Error Rate, BER)條件下降低了約4 dB的信噪比(Signal Noise Ratio, SNR)需求,驗(yàn)證了神經(jīng)網(wǎng)絡(luò)對于VLC系統(tǒng)的非線性補(bǔ)償能力,但長短期記憶網(wǎng)絡(luò)相比于卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network, CNN)復(fù)雜度較高,訓(xùn)練速度慢;文獻(xiàn)[4]提出了一種基于深度學(xué)習(xí)的多色VLC鏈路,進(jìn)一步拓展了神經(jīng)網(wǎng)絡(luò)在VLC中的應(yīng)用;文獻(xiàn)[5]提出了基于CNN的自動編碼通信系統(tǒng),提供了通過構(gòu)建CNN模型來應(yīng)用于調(diào)制和解調(diào)信號的關(guān)鍵思路;文獻(xiàn)[6]提出了基于CNN接收機(jī)在非正交多址光纖系統(tǒng)中的應(yīng)用。
本文提出了基于CNN的信號接收機(jī)來緩解SCMA-VLC系統(tǒng)的非線性失真。接收端檢測到的SCMA信號被輸入CNN中訓(xùn)練。在不需要自由空間信道響應(yīng)的條件下能夠?qū)z測到的SCMA信號進(jìn)行信號補(bǔ)償和恢復(fù)。仿真結(jié)果表明,本文所提方案與消息傳遞算法(Message Passing Algorithm, MPA)接收機(jī)相比能夠更有效地緩解非線性失真,改善系統(tǒng)性能。
圖1所示為基于CNN接收機(jī)的SCMA-VLC系統(tǒng)的原理框圖。假設(shè)有6個用戶,4個載波,規(guī)定每個子載波承載3個用戶信息,每個用戶信息分配兩個子載波。在發(fā)送端,用戶比特信息經(jīng)過碼本映射成碼字信息,疊加經(jīng)過離散傅里葉逆變換(Inverse Discrete Fourier Transform, IDFT)將碼字信息調(diào)制到4個OFDM子載波上,然后在每個符號和信號幀前面分別添加循環(huán)前綴(Cyclic Prefix, CP)和預(yù)序列。這里需要注意的是,在進(jìn)行IDFT前使SCMA信號構(gòu)成埃爾米特對稱,從而將復(fù)數(shù)信號變?yōu)閷?shí)數(shù)信號[7]。生成的信號通過數(shù)/模轉(zhuǎn)換器(Digital-to-Analog Converter, DAC)轉(zhuǎn)換成電信號,通過LED進(jìn)行傳輸。
圖1 基于CNN接收機(jī)的SCMA-VLC系統(tǒng)的原理框圖
經(jīng)過自由空間傳輸后,接收端使用光電探測器進(jìn)行信號檢測,此時接收信號y可表示為
式中:γ為光電探測器的靈敏度;pt為探測器接收到的光功率;w為加性高斯白噪聲;h為LED到光電探測器傳輸過程的信道增益。h可表示為[8]
式中:mL為朗伯輻射系數(shù);APD為光電探測器的感光有效面積;d為LED到光電探測器的探測距離;φ和θ分別為光的發(fā)射角和入射角;F和L分別為接收機(jī)中的濾波器增益和透鏡增益。
檢測到的信號通過ADC轉(zhuǎn)換成數(shù)字信號,接著進(jìn)行幀同步、移除CP和DFT,將所得到的信號數(shù)據(jù)直接輸入CNN進(jìn)行訓(xùn)練和判決。
MPA是一種基于因子圖的迭代算法,通過因子圖中的用戶節(jié)點(diǎn)和子載波節(jié)點(diǎn)之間的概率傳遞,經(jīng)過一定次數(shù)的迭代,最終會趨于穩(wěn)定,實(shí)現(xiàn)較優(yōu)的多用戶檢測,其分為3個步驟來實(shí)現(xiàn)用戶信息的解碼。第1步:初始化因子圖節(jié)點(diǎn)的先驗(yàn)概率并計(jì)算其條件概率;第2步:將似然度轉(zhuǎn)化為置信信息,置信信息由該子載波節(jié)點(diǎn)的信道似然度和與子載波節(jié)點(diǎn)相連的另外兩個用戶節(jié)點(diǎn)的置信信息組成,在因子圖節(jié)點(diǎn)來回迭代更新并傳遞置信信息;第3步:當(dāng)算法迭代到設(shè)定迭代次數(shù)或目標(biāo)置信信息收斂時,可以進(jìn)行判決輸出。利用比特對數(shù)似然比將符號映射為比特,實(shí)現(xiàn)用戶信息解碼[9]。圖2所示為MPA接收機(jī)原理圖,圖中,VNi為第i個用戶節(jié)點(diǎn),F(xiàn)Nj為第j個子載波節(jié)點(diǎn)。
圖2 MPA接收機(jī)原理圖
圖3所示為本文所采用的CNN接收機(jī)的結(jié)構(gòu)框圖。圖中,U為用戶數(shù);N為子載波數(shù);M為卷積核數(shù)。
圖3 CNN接收機(jī)的結(jié)構(gòu)框圖
輸入層的數(shù)據(jù)維數(shù)為2×N,每列對應(yīng)N個子載波調(diào)制信號的實(shí)部和虛部。采用一維卷積進(jìn)行特征提取,在卷積層-1中:
式中:*為卷積運(yùn)算符號;K1,i為卷積層-1第i個卷積核;b1,i為偏置項(xiàng)。
同理,在卷積層-2中,經(jīng)過卷積層-1卷積后的數(shù)據(jù)X2維度為2×M,卷積核的數(shù)量從卷積層-1的M變?yōu)榱薝。卷積層-2的輸入為X2。在卷積層-2中,X2被U個卷積核卷積后的結(jié)果與X1相似。
判定若Z2,i(j)>0.5,接收到的數(shù)據(jù)比特判定為1,否則判定為0。在優(yōu)化過程中,使用損失函數(shù)來評估模型誤差,本文采用的是均方誤差(Microsoft Security Essentials,MSE)。為了防止過擬合、提高訓(xùn)練速度和加快收斂過程,本文增加了歸一化((Batch Normalization,BN)層。模型訓(xùn)練的優(yōu)化器則采用Adam優(yōu)化器,這是因?yàn)樗芨鶕?jù)數(shù)據(jù)迭代不斷更新神經(jīng)網(wǎng)絡(luò)權(quán)重[10]。
在這部分,本文使用Matlab和Keras仿真軟件研究了CNN接收機(jī)的傳輸表現(xiàn),使用的電腦型號為聯(lián)想ThinkStation P520,顯卡為RTX2080Ti。具體的仿真程序設(shè)計(jì)流程如圖1所示,這里不再贅述。本文以6個用戶的平均BER評估鏈路的性能。
VLC系統(tǒng)的傳輸表現(xiàn)受到LED的功率-電壓(Power-Voltage,P-U)特性影響。本文利用直線方程P=aUv-b線性擬合由實(shí)驗(yàn)所測得的LED光電轉(zhuǎn)化的線性部分,接著利用S型曲線和截?cái)嗪瘮?shù)建立雙端飽和模型,P-U曲線可表示為[10]
式中:Uv為電壓;a和b分別為擬合直線的斜率和截距;b/a為啟動電壓大小;k為曲線的光滑程度;Pmax為最大允許通過光功率。表1所示為具體參數(shù)。圖4所示為本文根據(jù)實(shí)驗(yàn)采樣數(shù)據(jù)擬合成的P-U曲線,LED的線性范圍為1.85~2.20 V,超過這個區(qū)間的傳輸信號會發(fā)生非線性失真。尤其是對于調(diào)制在OFDM子載波上的SCMA信號,具有與OFDM相似的高峰均比特性,非線性失真會顯得比較嚴(yán)重。LED的非線性效應(yīng)受到了偏置電壓Vdc和輸入信號電壓峰值Vpp兩個因素影響。
表1 系統(tǒng)參數(shù)
圖4 LED的P-U曲線
本文的原始用戶比特信息是由Matlab仿真軟件的隨機(jī)函數(shù)隨機(jī)生成,并將其作為神經(jīng)網(wǎng)絡(luò)的標(biāo)簽。接收端經(jīng)過幀同步、移除CP和DFT得到的信號作為神經(jīng)網(wǎng)絡(luò)的訓(xùn)練數(shù)據(jù)和測試數(shù)據(jù)。值得一提的是,輸入神經(jīng)網(wǎng)絡(luò)訓(xùn)練的數(shù)據(jù)并不需要經(jīng)過信道均衡。本文設(shè)置的數(shù)據(jù)集數(shù)量為400 000個比特信息,將其以1∶3的比例分別劃分為測試集和訓(xùn)練集,將訓(xùn)練好的模型參數(shù)保存,重新輸入新的數(shù)據(jù)進(jìn)行測試,得到最終結(jié)果。
圖5所示為不同Vpp值對于VLC系統(tǒng)的性能影響。由圖可知,SCMA-VLC仿真系統(tǒng)加入非線性模型后,隨著Vpp的增加,平均BER呈現(xiàn)先下降后上升的變化趨勢。這是由于,隨著加載在LED上Vpp值的增加,信號由線性區(qū)域進(jìn)入非線性區(qū)域,非線性失真導(dǎo)致了平均BER性能惡化。而CNN接收機(jī)能夠很好地對抗非線性失真引起的性能惡化。由圖可知,CNN接收機(jī)在信號的非線性映射區(qū)間能夠有效地改善非線性失真,平均BER提升了大約兩個數(shù)量級。
圖5 固定Vdc條件下Vpp與平均BER的關(guān)系(Vdc=2.1 V)
圖6所示為固定Vpp和Vdc條件下,不同SNR與平均BER的關(guān)系。本文設(shè)置Vpp=0.5 V,Vdc=2.1 V。如圖所示,CNN接收機(jī)的性能優(yōu)于MPA接收機(jī),在前向糾錯碼(3.8×10-3)處MPA和CNN接收機(jī)對應(yīng)的SNR分別為15.2和24.0 dB,CNN比MPA接收機(jī)對于SNR的需求約減少了8.8 dB。
圖6 固定Vpp和Vdc條件下SNR與平均BER的關(guān)系(Vdc=2.1 V,Vpp=0.5 V)
圖7所示為在Vpp=0.5 V、加入高斯白噪聲功率為10 dBm的條件下,不同Vdc與平均BER性能的關(guān)系。由圖可知,隨著Vdc的增加,平均BER也增加。這是因?yàn)?,隨著加載在LED兩端的偏置電壓的增大,信號開始發(fā)生非線性失真。采用CNN接收機(jī)的性能明顯優(yōu)于MPA接收機(jī),在滿足前向糾錯碼(3.8×10-3)的條件下,MPA和CNN接收機(jī)對應(yīng)的Vdc值分別為2.1和2.2 V。
圖7 固定Vpp、加入高斯白噪聲功率為10 dBm條件下,Vdc與平均BER的關(guān)系(Vpp=0.5 V)
本文提出的CNN接收機(jī)能有效克服由LED的非線性電光轉(zhuǎn)換特性所引起的信號失真,從而使SCMA-VLC系統(tǒng)具有更優(yōu)的傳輸性能。仿真結(jié)果表明,在固定Vdc條件下,CNN接收機(jī)能夠很好地克服由于Vpp變化引起的性能惡化,其平均BER優(yōu)于MPA接收機(jī)約兩個數(shù)量級。在固定Vdc和Vpp的條件下,CNN接收機(jī)的平均BER下降趨勢更快,能夠?qū)崿F(xiàn)更優(yōu)的解調(diào)性能。在前向糾錯碼(3.8×10-3)處,CNN比MPA接收機(jī)對于SNR的需求約減少了8.8 dB。在固定Vpp條件下,CNN接收機(jī)能夠有效地克服Vdc變化對系統(tǒng)的影響。