邹少琴,赖奇伟,林邦姜
(1.厦门南洋职业学院,福建 厦门 361102; 2.中国科学院福建物质结构研究所 泉州装备制造研究所,福建 泉州 362000)
稀疏码分多址(Sparse Code Multiple Access, SCMA)在接收端进行多用户检测所采用的消息传递算法具有复杂度高和迭代速度慢的缺点[1],而发光二极管(Light Emitting Diode,LED)的非线性特性所导致的信号失真影响了系统的传输性能[2]。因此,研究一个新型的信号接收机和系统非线性补偿方案成为了研究课题。近年来,机器学习技术特别是神经网络被应用在各个学科领域中,而神经网络在可见光通信(Visible Light Communication, VLC)中的应用有望解决许多传统问题,让VLC变得更加高效。文献[3]提出了基于长短期记忆网络的正交频分复用(Orthogonal of Frequency Division Multiplexing,OFDM)-VLC系统后失真补偿方法,在满足相同误码率(Bit Error Rate, BER)条件下降低了约4 dB的信噪比(Signal Noise Ratio, SNR)需求,验证了神经网络对于VLC系统的非线性补偿能力,但长短期记忆网络相比于卷积神经网络(Convolutional Neural Network, CNN)复杂度较高,训练速度慢;文献[4]提出了一种基于深度学习的多色VLC链路,进一步拓展了神经网络在VLC中的应用;文献[5]提出了基于CNN的自动编码通信系统,提供了通过构建CNN模型来应用于调制和解调信号的关键思路;文献[6]提出了基于CNN接收机在非正交多址光纤系统中的应用。
本文提出了基于CNN的信号接收机来缓解SCMA-VLC系统的非线性失真。接收端检测到的SCMA信号被输入CNN中训练。在不需要自由空间信道响应的条件下能够对检测到的SCMA信号进行信号补偿和恢复。仿真结果表明,本文所提方案与消息传递算法(Message Passing Algorithm, MPA)接收机相比能够更有效地缓解非线性失真,改善系统性能。
图1所示为基于CNN接收机的SCMA-VLC系统的原理框图。假设有6个用户,4个载波,规定每个子载波承载3个用户信息,每个用户信息分配两个子载波。在发送端,用户比特信息经过码本映射成码字信息,叠加经过离散傅里叶逆变换(Inverse Discrete Fourier Transform, IDFT)将码字信息调制到4个OFDM子载波上,然后在每个符号和信号帧前面分别添加循环前缀(Cyclic Prefix, CP)和预序列。这里需要注意的是,在进行IDFT前使SCMA信号构成埃尔米特对称,从而将复数信号变为实数信号[7]。生成的信号通过数/模转换器(Digital-to-Analog Converter, DAC)转换成电信号,通过LED进行传输。
图1 基于CNN接收机的SCMA-VLC系统的原理框图
经过自由空间传输后,接收端使用光电探测器进行信号检测,此时接收信号y可表示为
式中:γ为光电探测器的灵敏度;pt为探测器接收到的光功率;w为加性高斯白噪声;h为LED到光电探测器传输过程的信道增益。h可表示为[8]
式中:mL为朗伯辐射系数;APD为光电探测器的感光有效面积;d为LED到光电探测器的探测距离;φ和θ分别为光的发射角和入射角;F和L分别为接收机中的滤波器增益和透镜增益。
检测到的信号通过ADC转换成数字信号,接着进行帧同步、移除CP和DFT,将所得到的信号数据直接输入CNN进行训练和判决。
MPA是一种基于因子图的迭代算法,通过因子图中的用户节点和子载波节点之间的概率传递,经过一定次数的迭代,最终会趋于稳定,实现较优的多用户检测,其分为3个步骤来实现用户信息的解码。第1步:初始化因子图节点的先验概率并计算其条件概率;第2步:将似然度转化为置信信息,置信信息由该子载波节点的信道似然度和与子载波节点相连的另外两个用户节点的置信信息组成,在因子图节点来回迭代更新并传递置信信息;第3步:当算法迭代到设定迭代次数或目标置信信息收敛时,可以进行判决输出。利用比特对数似然比将符号映射为比特,实现用户信息解码[9]。图2所示为MPA接收机原理图,图中,VNi为第i个用户节点,FNj为第j个子载波节点。
图2 MPA接收机原理图
图3所示为本文所采用的CNN接收机的结构框图。图中,U为用户数;N为子载波数;M为卷积核数。
图3 CNN接收机的结构框图
输入层的数据维数为2×N,每列对应N个子载波调制信号的实部和虚部。采用一维卷积进行特征提取,在卷积层-1中:
式中:*为卷积运算符号;K1,i为卷积层-1第i个卷积核;b1,i为偏置项。
同理,在卷积层-2中,经过卷积层-1卷积后的数据X2维度为2×M,卷积核的数量从卷积层-1的M变为了U。卷积层-2的输入为X2。在卷积层-2中,X2被U个卷积核卷积后的结果与X1相似。
判定若Z2,i(j)>0.5,接收到的数据比特判定为1,否则判定为0。在优化过程中,使用损失函数来评估模型误差,本文采用的是均方误差(Microsoft Security Essentials,MSE)。为了防止过拟合、提高训练速度和加快收敛过程,本文增加了归一化((Batch Normalization,BN)层。模型训练的优化器则采用Adam优化器,这是因为它能根据数据迭代不断更新神经网络权重[10]。
在这部分,本文使用Matlab和Keras仿真软件研究了CNN接收机的传输表现,使用的电脑型号为联想ThinkStation P520,显卡为RTX2080Ti。具体的仿真程序设计流程如图1所示,这里不再赘述。本文以6个用户的平均BER评估链路的性能。
VLC系统的传输表现受到LED的功率-电压(Power-Voltage,P-U)特性影响。本文利用直线方程P=aUv-b线性拟合由实验所测得的LED光电转化的线性部分,接着利用S型曲线和截断函数建立双端饱和模型,P-U曲线可表示为[10]
式中:Uv为电压;a和b分别为拟合直线的斜率和截距;b/a为启动电压大小;k为曲线的光滑程度;Pmax为最大允许通过光功率。表1所示为具体参数。图4所示为本文根据实验采样数据拟合成的P-U曲线,LED的线性范围为1.85~2.20 V,超过这个区间的传输信号会发生非线性失真。尤其是对于调制在OFDM子载波上的SCMA信号,具有与OFDM相似的高峰均比特性,非线性失真会显得比较严重。LED的非线性效应受到了偏置电压Vdc和输入信号电压峰值Vpp两个因素影响。
表1 系统参数
图4 LED的P-U曲线
本文的原始用户比特信息是由Matlab仿真软件的随机函数随机生成,并将其作为神经网络的标签。接收端经过帧同步、移除CP和DFT得到的信号作为神经网络的训练数据和测试数据。值得一提的是,输入神经网络训练的数据并不需要经过信道均衡。本文设置的数据集数量为400 000个比特信息,将其以1∶3的比例分别划分为测试集和训练集,将训练好的模型参数保存,重新输入新的数据进行测试,得到最终结果。
图5所示为不同Vpp值对于VLC系统的性能影响。由图可知,SCMA-VLC仿真系统加入非线性模型后,随着Vpp的增加,平均BER呈现先下降后上升的变化趋势。这是由于,随着加载在LED上Vpp值的增加,信号由线性区域进入非线性区域,非线性失真导致了平均BER性能恶化。而CNN接收机能够很好地对抗非线性失真引起的性能恶化。由图可知,CNN接收机在信号的非线性映射区间能够有效地改善非线性失真,平均BER提升了大约两个数量级。
图5 固定Vdc条件下Vpp与平均BER的关系(Vdc=2.1 V)
图6所示为固定Vpp和Vdc条件下,不同SNR与平均BER的关系。本文设置Vpp=0.5 V,Vdc=2.1 V。如图所示,CNN接收机的性能优于MPA接收机,在前向纠错码(3.8×10-3)处MPA和CNN接收机对应的SNR分别为15.2和24.0 dB,CNN比MPA接收机对于SNR的需求约减少了8.8 dB。
图6 固定Vpp和Vdc条件下SNR与平均BER的关系(Vdc=2.1 V,Vpp=0.5 V)
图7所示为在Vpp=0.5 V、加入高斯白噪声功率为10 dBm的条件下,不同Vdc与平均BER性能的关系。由图可知,随着Vdc的增加,平均BER也增加。这是因为,随着加载在LED两端的偏置电压的增大,信号开始发生非线性失真。采用CNN接收机的性能明显优于MPA接收机,在满足前向纠错码(3.8×10-3)的条件下,MPA和CNN接收机对应的Vdc值分别为2.1和2.2 V。
图7 固定Vpp、加入高斯白噪声功率为10 dBm条件下,Vdc与平均BER的关系(Vpp=0.5 V)
本文提出的CNN接收机能有效克服由LED的非线性电光转换特性所引起的信号失真,从而使SCMA-VLC系统具有更优的传输性能。仿真结果表明,在固定Vdc条件下,CNN接收机能够很好地克服由于Vpp变化引起的性能恶化,其平均BER优于MPA接收机约两个数量级。在固定Vdc和Vpp的条件下,CNN接收机的平均BER下降趋势更快,能够实现更优的解调性能。在前向纠错码(3.8×10-3)处,CNN比MPA接收机对于SNR的需求约减少了8.8 dB。在固定Vpp条件下,CNN接收机能够有效地克服Vdc变化对系统的影响。