于偉翔,石 蒙,胡昉辰,盧星宇,遲 楠
(復旦大學通信科學與工程系,上海 200433)
基于發光二極管(light-emmiting diode, LED)的可見光通信(visible light communication, VLC)由于與傳統無線通信相比具有更高的傳輸速率、更低的使用成本和無需授權的特點,得到了廣泛關注[1-4]。但是,基于LED的高速VLC系統仍然受到LED帶寬有限問題的限制。所以,我們廣泛使用諸如脈沖幅度調制[5]、正交頻分復用[6]、無載波幅度相位[7](carrierless amplitude/phase, CAP)等高階調制以實現更高速率的傳輸。其中CAP調制是由貝爾實驗室在正交幅度調制(quadrature amplitude modulation, QAM)基礎上提出的一種重要調制方式,和QAM的區別在于CAP不需要載波源[8]。在VLC系統中,CAP調制已經被證明了適合這種帶限系統,并且和QAM和OFDM相比,憑借其結構簡單、計算復雜度低的優勢更適合短距離通信[9]。但是在實際應用時,系統常受到外部光干擾、功率波動等噪聲和非線性的影響。這些影響不僅會降低系統的信噪比,還會產生幅度抖動[10]。前向糾錯(forward error correction, FEC)適用于糾正統計意義上分布均勻的噪聲產生的錯誤,而對于由于幅度抖動產生的密集錯判信號效果甚微。
機器學習作為一種自適應技術,為我們解決非線性問題提供了強有力的幫助。2017年我們提出并證實了用K-means聚類方法均衡CAP系統中的非線性問題[11],但是它是一種基于幾何中心的聚類,如果電平受到外部干擾產生大幅度偏移,甚至從原來的二維觀察星座圖時兩個簇有相互重疊的地方,那么K-means也無法將其區分開。為此,我們將CAP中傳統的同向-正交二維空間結合接收信號序列,引入數據間的時間關聯性,拓展為同向-正交-時間的三維空間,并利用同一類信號密度上的緊密關聯采用結合機器學習的基于空間密度的群以噪聲發現聚類算法(density-based spatial clustering of applications with noise,DBSCAN)進行后均衡后再進行信號判決。
DBSCAN是一種基于密度的聚類算法,主要有兩個參數需要設置:半徑E和最小點數MinPts。我們通過設置這兩個參數間接設置我們期望的數據密度,即我們把一個點的E鄰域內的點數(包括自身)不小于MinPts的數據聚為一類并依次向外延托,然后從另一個新的數據點開始找到新的一類,直到將所有數據完全遍歷。其中不屬于任何一類的點被定義為噪聲點,如圖1所示。
將圖1(a)中的9個點用DBSCAN進行聚類,設置MinPts=3。假設從點A1開始,A1的E鄰域中包括自身共有三個點,標為一類,且A1為核心點,接著按順序遍歷A2、A3的鄰域,也都滿足密度要求,同樣歸為一類。重復上述步驟,發現A6、A7的鄰域不滿足密度要求,標為B1、B2,為非核心點。剩下的N1、N2兩點的鄰域不滿足密度要求,同時也不在任何其他核心點的鄰域內,所以歸為噪聲點。總結一下,圖1中點Ai(i=1,2,…,7)的E鄰域內的點數不少于3個,定義為核心點,而點Bi(i=1,2)本身不滿足密度要求,但是從屬于核心點的E內,被定義為非核心點,也被聚為和點Ai的一類。而點Ni(i=1,2)本身不滿足密度要求,也不屬于某一個核心點的E鄰域,所以被判為噪聲點。

圖1 MinPts=3時的聚類原理及效果圖Fig.1 Classification when MinPts=3
如圖2所示,當半徑E取值過小或MinPts取值過大即對密度要求較大時,會出現圖2(a)所示的樣子,本該聚為一類的數據點被分成很多段,同時被判為噪聲的數據點占比較大。相反,當半徑E取值過大或MinPts取值過小即對密度要求較小時,會出現圖2(b)所示的情況,本該被區分開的兩類被錯誤地聚為一類。
圖3(a)所示為當產生振幅抖動時,由于是對每個點單獨判決,采用歐式距離的傳統硬判決會將超過判決門限(圖3(a)中實線a)的點全部判錯。而利用圖3(a)兩個圈中密度的不同,使用DBSCAN將上下兩個幅度的點分為兩類,對每一類點求平均值(圖3(b)中虛線b、c),此時發現兩類點的均值未超過判決門限,從而糾正了在抖動峰值處本來會被誤判的數據,降低了誤碼率,提升系統性能。

圖2 不同情況時的聚類效果Fig.2 Classification at various requirements

圖3 面對振幅抖動采用傳統硬判決和DBSCAN時的結果Fig.3 Traditional and DBSCAN-based signal decision meeting with amplitude jitter
圖4是應用DBSCAN后均衡的CAP-4可見光系統框圖。在發送端,由Matlab生成的原始隨機比特序列經過QAM-4映射,I/Q兩路分離,4倍上采樣,再通過一對正交的CAP成型濾波器fI(t)和fQ(t)進行卷積運算后相加,接著通過任意波形發生器(AWG, Tektronix AWG710)將數字信號轉為模擬電信號,經過預均衡板(Eq.)、電放大器(EA)、直流偏置樹(Bias Tee),對LED燈(Engine LZ4-20MA00)的紅色芯片進行調制,使得LED燈能夠在照明的同時通過高速閃爍傳輸信息。信道上放置了透鏡和光柵以控制光的強度。在接收端,使用一個商用PIN光電二極管(Hamamatsu 10784)來檢測光信號。然后,接收到的信號由EA放大,并由采樣速率為2 Gsamples/s的數字存儲示波器(OSC,Agilent 54855A)進行采集記錄保存,以便進一步進行離線信號處理。在離線信號處理的過程中,首先對接受信號進行同步和下采樣操作,然后通過一對匹配濾波器mI(t)和mQ(t)實現同相和正交分量信號的分離。接著利用一般接收處理采用的CMA均衡算法和本實驗創新的DBSCAN算法,最后進行QAM解碼并恢復為二進制數據,與原始發送數據進行比對,計算出誤碼率。
由于傳輸數據分為I、Q兩路進行二維傳輸,因此為了研究抖動幅度對系統的影響以及應用DBSCAN算法后的提升效果。本文在發射端分別在I、Q路上各自加上外部抖動噪聲源以模擬振幅抖動的信道環境,并且通過這種方式可以手動調整抖動的幅度以便在抖動幅度較大甚至嚴重惡化信道環境的情況下研究DBSCAN算法對于系統性能提升大小的作用。

圖4 可見光實驗系統框圖Fig.4 Block diagram of VLC experiment system
我們在I、Q兩路分別先后加上的抖動波形如圖5所示。我們首先對I路進行實驗,測量其最佳工作點,即選取合適的驅動電壓(VPP)和直流偏置電壓(DC)使得LED燈工作在最佳電壓區間,結果如圖6所示。
當直流偏置為2.0 V,電流為63 mA時,從圖6(a)中可以看出,最佳驅動電壓為0.3 V。VPP小于0.3 V時,信噪比不夠,誤碼率(BER)增大;VPP大于0.3 V時,非線性增強,誤碼率增大。當VPP=0.3 V時,從圖6(b)中可以看出,最佳直流偏置為2.0 V。DC小于2.0 V時,信噪比不夠,誤碼率增大;DC大于2.0 V時,接收端PIN飽和,系統無法正常工作,所以并未在圖中展示。

圖5 抖動波形Fig.5 Jitter waveform

圖6 有無DBSCAN時BER與VPP、DC的關系Fig.6 BER of with and without DBSCAN versus VPP and DC
在最佳工作點VPP=0.3 V、DC=2.0 V的條件下使用DBSCAN的效果如圖7所示。圖7(a)為使用CMA均衡并經過相位旋轉后得到的星座圖。圖7(b)為根據圖7(a)用歐氏距離判決所得結果的誤碼情況,叉(X)為被誤判的星座點。可以看到,抖動處超過所在象限的部分全部被錯判。因為QAM4標準星座點只有四個,各在一個象限,所以傳統判決就是判斷每個點分別在第幾象限。圖7(c)為使用DBSCAN算法后得到的聚類星座圖,一共四類,對應CAP4的四個標準星座點。圖7(d)為根據左圖進行判決所得結果的誤碼情況,可以看到,抖動尖峰處的星座點絕大部分都判決正確。

圖7 有無DBSCAN時信號判決星座圖Fig.7 Signal decision comparison of with and without DBSCAN
圖8為I路抖動下系統BER與發送帶寬的關系。由圖中可以看出,隨著發送帶寬的增大,誤碼率也在隨之不斷增大,帶寬大于200 MHz時,使用CMA后均衡算法之后誤碼率也依舊大于誤碼門限0.003 8。而使用DBSCAN之后,在本次實驗200~375 MHz帶寬范圍內,均能使誤碼率低于門限值0.003 8。

圖8 有無DBSCAN時BER-Bandwidth關系圖Fig.8 BER comparison of with and without DBSCAN in system of different bandwidth

圖9 有無DBSCAN時BER與VPP、DC的關系Fig.9 BER of with and without DBSCAN versus VPP and DC
接著對Q路進行實驗,同樣,先測量最佳工作點,如圖9所示。當直流偏置為2.0 V,電流為63 mA時,從圖8 (a)中可以看出,最佳驅動電壓為0.3 V。VPP小于0.3 V時,信噪比不夠,誤碼率增大;VPP大于0.3 V時,非線性增強,誤碼率增大。當VPP=0.3 V時,從圖9(b)中可以看出,最佳直流偏置為1.9 V。DC小于1.9 V時,信噪比不夠,誤碼率增大;DC大于1.9 V時,系統非線性增強,誤碼率增大。
在最佳工作點VPP=0.3 V,DC=1.9 V的條件下使用DBSCAN的效果如圖10所示。可以看出,DBSCAN的效果和在I路上應用時相似,極大地糾正了原本在抖動尖峰處而被誤判的大部分星座點,效果顯著。
圖11為Q路抖動下系統BER與發送帶寬的關系。可以看出,隨著發送帶寬的增大,誤碼率隨之不斷增大,帶寬大于250 MHz時,使用CMA后均衡算法之后誤碼率依舊大于誤碼門限0.003 8。而使用DBSCAN之后,在本次實驗200~425 MHz帶寬范圍內,均能使誤碼率低于門限值0.003 8。

圖10 有無DBSCAN時信號判決星座圖Fig.10 Signal decision comparison of with and without DBSCAN

圖11 有無DBSCAN時BER-Bandwidth關系圖Fig.11 BER comparison of with and without DBSCAN in system of different bandwidth
為了進一步比較DBSCAN算法和傳統硬判決的性能在不同情況下的提升情況,我們還調整了不同的抖動幅度以進一步研究DBSCAN算法的優勢。圖12(a)和(b)分別為調整I路和Q路上抖動幅度時DBSCAN算法對系統誤碼率的減小情況。抖動幅度的單位以CAP4相鄰兩標準星座點間幅度差為單位1。可以看出,無論是I路還是Q路,抖動幅度小于0.4時,用不用DBSCAN算法系統誤碼率都為0;抖動幅度大于0.5時,不用DBSCAN算法的開始出現誤碼;在抖動幅度大于0.75時,不使用DBSCAN的系統誤碼開始超過誤碼門限0.003 8;而抖動幅度小于1.3時,使用DBSCAN可以保持系統誤碼在門限0.003 8以下,說明使用DBSCAN算法后再對星座點進行判決對于系統性能的提升有很大幫助。在所測數據中未使用DBSCAN算法時誤碼率超過0.003 8門限的情況下,在抖動幅度分別為0.98和1.2時,DBSCAN算法對系統性能提升最大,分別高達4.77 dB和4.43 dB。

圖12 有無DBSCAN時誤碼率與抖動幅度關系圖Fig.12 BER comparison of with and without DBSCAN in system of different jitter amplitude
我們提出并用實驗驗證了一種結合機器學習的基于密度聚類算法的信號判決方法,以處理可見光CAP系統中振幅抖動較大情況下傳統判決方法效果差、誤碼率高的問題。我們還研究了DBSCAN算法在遇到不同抖動幅度時對系統性能提升的影響程度。當抖動幅度大于0.5時,傳統信號判決方法性能迅速惡化,但應用DBSCAN算法之后;在抖動幅度小于1.2時,系統BER始終保持在誤碼門限值0.003 8之下。系統性能在I、Q路抖動時最大提升分別為4.77 dB和4.43 dB。這是結合機器學習的DBSCAN算法的信號判決方法在CAP-4系統中的創新應用,新的信號判決方法對系統性能的提升效果顯著。