基于CNN-SPGD算法的相干光通信像差校正方法研究

2022-03-31 06:08徐珺楠金玳冉石文孝曹景太
光学精密工程 2022年6期
关键词:光斑湍流校正

刘 维,徐珺楠,金玳冉,石文孝*,曹景太,2

(1.吉林大学 通信工程学院,吉林 长春130012;2.中国科学院 长春光学精密机械与物理研究所,吉林 长春130033)

1 引 言

自由空间光通信(Free Space Optical Communication,FSOC)是一种无线通信技术,具有抗电磁干扰能力强、无需许可证费用以及易于部署等优势[1]。根据通信体制的不同可以将FSOC技术划分为两种类型:非相干光通信和相干光通信。非相干光通信是采用强度调制/直接检测的方法实现通信的一种技术。这种通信方式在技术上较为成熟且成本较低。与非相干光通信系统相比,相干光通信系统在接收端采用的是相干检测的方式,主要具有调制/解调方式多样化、接收灵敏度更高以及无中继传输距离更远等优势,是FSOC技术未来的重要发展方向之一。

当相干FSOC系统在大气环境中通信时,通信性能会受到大气湍流的影响。自适应光学(Adaptive Optics,AO)技术已经被证明可以有效降低大气湍流对FSOC系统传输性能的影响[2]。刘超等应用127单元的AO系统对零差检测FSOC系统进行了波前畸变补偿实验,实验结果显示AO技术可以显著降低大气湍流对系统传输性能的影响[3]。李明等对海洋大气湍流影响下相干FSOC系统的通信性能进行了研究。实验结果显示,当应用闭环AO系统对波前畸变进行补偿时,相干FSOC系统的BER明显降低[4]。中国科学院长春光学精密机械与物理研究所的研究人员将基于349单元连续镜面变形镜的大规模高速AO系统应用于相干FSOC系统中,分析了相干FSOC系统的性能变化情况,计算了不同Greenwood频率下的混频效率和误码率并将其作为相干FSOC系统的性能指标。实验结果表明,相干FSOC系统的性能得到了显著提升[5]。

传统AO系统主要包括波前传感器、波前控制器和波前校正器[6]。除此之外,一种新型的AO技术——无波前传感AO技术也受到了越来越多的关注。李兆坤等提出了一种基于反向传播神经网络的波前检测方法,有效提升了AO系统的实时性[7]。马慧敏等提出了一种基于卷积神经网络(Convolutional Neural Networks,CNN)的无波前传感算法。卷积神经网络的作用是根据输入图像预测其对应的泽尼克系数。结果显示,经过畸变补偿后,光斑的斯特列尔比有了明显提高[8]。西安理工大学的研究人员开发了AO校正模块和偏振控制模块来缓解大气湍流对长距离相干FSOC系统性能的影响,并建立了基于外差差分二进制相移键控调制的相干FSOC系统,实现了10.2 km的远距离视频传输,其中AO校正模块采用了无波前传感技术[9]。

随机并行梯度下降算法(Stochastic Parallelism Gradient Descent,SPGD)是使用范围最广的无波前传感算法之一,容易实现且较为成熟,广泛应用于高分辨率成像领域。但其收敛速度较慢,实时性较差,这对相干FSOC系统的应用存在不利影响。自适应增益系数的Admspgd算法是一种提高收敛速度的有效算法[10],此算法通过对增益系数的实时调整,改善了光纤激光组合系统的收敛速度、鲁棒性和有效带宽。朱丹等[11]对弹性反向算法和SPGD算法的像差校正能力比较后,得到了SPGD算法在复杂波前畸变的恢复能力较强的结论,证明了SPGD算法的巨大潜力。

为了提升SPGD算法的像差校正速度,本文将卷积神经网络与SPGD算法相结合,提出了CNN-SPGD算法。CNN用来对输入光斑进行分类,得到光斑的类型,进而得到对应的像差类型,之后由SPGD算法完成波前像差校正。实验的结果表明,在达到相同系统性能的前提下,CNNSPGD算法相比于SPGD算法像差校正速度更快。

2 相干FSOC技术原理

无波前相干FSOC的系统框图如图1所示[9],经过大气湍流扰动的光波通过变形镜的闭环控制得以校正,其中CCD被用来读取光斑,PC通过算法得到相应的控制电压来控制变形镜进行形变,从而将畸变波前校正至正常波前,然后对信号光进行相干检测接收。

图1 相干FSOC系统框图Fig.1 Block diagram of coherent FSOC system

在接收端,信号光与本地振荡器生成的本振光进行混频。本振光偏振态较为稳定,而信号光经过光学系统和大气后偏振态可能会发生一些变化。在相干FSOC系统中可以采用偏振控制器保持信号光稳定的偏振态输出。信号光和本振光可以表示为如下形式[12]:

其中:AS、ωS和φS分别表示信号光的振幅、角频率和初始相位;ALO,ωLO和φLO分别表示本振光的振幅、角频率和初始相位。

信号光和本振光在光电检测器上形成的光场可以用|ES+ELO|表示。根据检测器的平方定律可以得到光电检测器响应输出的电流为:

其中,K为比例系数。

式(3)中,电流I可以看作由四个单项式的和组成:第一个单项式和第二个单项式表示直流项。第三个单项式中,ωS+ωLO的频率较高,一般的检测器无法响应。令ωIF=ωS-ωLO,当ωIF低于检测器的截止频率ωC时,检测器的响应电流为[13]:

由式(4)可以看出,检测器的响应输出电流中包含直流和交流分量,所要传输的信息包含在交流分量中。相干接收机接收到的信号频率一般限制在以ωIF为中心的带通范围内,可直接过滤掉不含信息的直流分量。直流分量被滤除后,可以用下式表示检测器响应电流的中频分量[12]:

式(4)还可以用光功率的形式描述(将式中的光强度AS和ALO用光功率PS和PLO代替)[14]:

其中,R为检测器的响应度。根据ωS和ωLO的关系,相干检测可以进一步分为零差检测和外差检测两种检测方式[13]。当ωIF≠0,即ωS≠ωLO时,这种检测方式称之为外差检测;反之,称为零差检测。

3 SPGD算法

在AO系统中,求解波前校正器最优控制电压属于多维变量最优化问题。SPGD算法适用于多个控制变量的优化过程,其结构简单且算法复杂度低。采用SPGD算法进行像差校正的数学模型为[15]:

其中:J[u(r)]是表征性能指标J与控制变量u(r)之间关系的目标函数,本文使用SR作为性能指标J评估SPGD算法对零差检测FSOC系统混频效率的影响;u(r)是波前校正器生成的补偿相位,作为控制变量;假设经过k次迭代校正后的残余波前像差为φk(r),则k+1次迭代校正后的波前为:

当k=0时,φ0(r)称为初始像差。

SPGD算法的计算流程可以描述为:

定义性能指标J的变化量:

新的控制电压V可以通过下式获得:

其中:γ是正的增益系数;k代表迭代次数;ΔV(k)=代表第k次迭代时生成的扰动电压;m的值等于驱动器的个数。

SPGD算法的具体过程为:

(1)设置增益系数γ和控制电压V的初始值V(0);

(2)生 成 随 机 扰 动 向 量 ΔV(k)=

(3)由式(11)更新电压值,生成新的电压向量V(k+1);

(4)计算k+1次迭代校正后性能指标J的值。如果迭代次数达到最大值μ则停止迭代;否则返回(2)并继续生成扰动电压直至迭代次数达到最大值μ。

4 变形镜模型

本文的实验中采用的波前校正器是标准分布的32单元连续镜面变形镜(Deformable Dirrors,DMs)[15],其驱动器分布如图2所示。其中黑点表示波前校正器的中点,32个变形镜按照标号的位置均匀分布在波前校正器上,标号1~32。这32个变形镜就可以完美覆盖大圆圈中所示的波前校正器,其实物图如图3,为中国科学院长春光学精密机械与物理研究所研制的32单元连续镜面变形镜。

图2 32单元连续镜面变形镜驱动器分布示意图Fig.2 Diagram of 32-unit continuous deformable mirrors driver distribution

图3 32单元连续镜面变形镜实物图Fig.3 Picture of 32-unit continuous mirror deformable mirror

每一个变形镜由电机驱动,其电压大小可以线性控制变形镜的位置,使波前像差得到补偿。如图4所示。

图4 变形镜与电机驱动示意图Fig.4 Schematic diagram of deformable mirror and drive motor

一般可以用高斯函数模型来模拟DMs的光学影响函数。DMs镜面坐标(x,y)处,第i个驱动器生成的补偿相位可以表示为如下形式[16]:其中:x i和yi分别代表第i个驱动器在DMs镜面中的横坐标和纵坐标;ω指相邻驱动器之间的交联值;d代表驱动器的归一化间距;α是高斯函数指数。DM的某个子孔径的局部斜率就是其波前函数在该范围的局部导数,而电压与变形镜的斜率线性相关,所以通过相位共轭原理就可使变形镜的补偿相位与畸变波前相位相符。

在多个驱动器的共同作用下,变形镜会发生形变,产生的全部补偿相位为[17]:

其中,V j是施加到第j个驱动器上的电压。

5 性能指标分析

5.1 混频效率

混频效率是评估相干FSOC系统性能的一项重要指标。信号光在与本振光混频之前,会受到诸如空间传输、大气湍流等多种因素的影响,这些影响最终会在混频效率这一性能指标上得到体现。因此,混频效率可以被认为是一个综合性的指标。对于采用零差检测的FSOC系统,混频效率定义为[17]:

其中:Δφ=φS-φLO,φS和φLO分别表示信号光和本振光的相位;AS和ALO分别代表信号光和本振光的振幅;U代表光电检测器的入射场。

对于采用零差检测的相干FSOC系统,混频效率近似等于远场焦平面图像的斯特列尔比(Strehl Rate,SR),这一结论对于评估相干FSOC系统的性能很有意义,实验中将通过计算SR来分析畸变补偿前后零差检测FSOC系统混频效率的变化情况。SR与波前像差的均方根(Root Mean Square,RMS)之间存在如下近似关系[18]:

其中,RMS的计算公式为:

5.2 误码率

相干FSOC系统的误码率(Bit error rate,BER)定义为[19]:

其中,erfc(x)为互补误差函数,具体表达式为:

Q定义为:

其中,SNR是相干FSOC系统的信噪比。

对于一个采用BPSK调制的通信系统,接收端的光信号功率为[20]:

其中:NP为接收端单比特光子数;h、v和B分别为普朗克常数、载波频率和数据比特率。

在没有大气湍流影响时,SNR定义为[20]:

其中,δ是光电检测器的量子效率。

对于采用零差检测的通信系统,SNR和SNR0的关系为[17]:

其中,η代表混频效率。

将式(17)、(19)和(22)联立可以得到:

进一步,根据混频效率和SR的近似关系,可以通过式(23)得到BPSK调制的零差检测相干FSOC系统的误码率。

6 CNN-SPGD算法

卷积神经网络具备利用局部操作实现分级抽象表示的能力,因此非常适合计算机视觉处理。在一个典型的CNN模型中,一般包括卷积层、池化层和全连接层。CNN使用局部连接的方式解决了全连接的权重矩阵参数爆炸问题。此外,经过计算的特征图依然保持着原来的空间位置,同时通过权值共享的方式,使得网络的权重系数进一步减小。

本文提出的CNN-SPGD算法是将CNN模型与SPGD算法组合后进行波前像差校正。在算法中,像差被分为8大类,每一类都有唯一对应的初始电压,CNN负责选出当前像差的类别,在类别被确定的同时,控制器就会得到与之相应的初始电压,这里的初始电压只是大类电压的数学期望,而真正的最优电压还需要通过SPGD算法进一步获得。

CNN-SPGD算法的具体实现过程为:

(1)设置SPGD算法中增益系数γ的初始值;

(2)CNN模型对接收到的光斑进行分类;

(3)根据光斑的分类结果得到对应的像差类型,之后对电压进行选择,选择出最优电压作为SPGD算法的初始控制电压V(0);

(4)生成随机扰动向量;

(5)由式(11)更新电压值,生成新的电压向量V(k+1);

(6)计算k+1次迭代校正后性能指标J的值。如果迭代次数达到最大值μ则停止迭代;否则返回(4)继续生成扰动电压直至迭代次数达到最大值μ。

CNN-SPGD系统控制回路图和系统工作框图分别如图5和图6所示。

图5 CNN-SPGD系统控制回路图Fig.5 CNN-SPGD system control loop diagram

图6 CNN-SPGD系统框图Fig.6 Block diagram of CNN-SPGD system

7 实验与性能分析

7.1 生成训练样本与电压选择

我们可以使用一系列Zernike多项式的线性组合表示波前像差[21]。在Zernike多项式中,第一项是活塞模式(常数),对成像质量不产生影响;第二项和第三项是倾斜像差,可以采用专用的倾斜校正系统进行校正,所以在本文的实验中不考虑前三阶像差,用第四阶到第十一阶Zernike多项式来表示初始像差,即:

本文采用Nicolas Roddier提出的方法来获取 初 始Zernike系 数[22]:首 先 构 造 独 立 的Karhunen-Loeve系数,之后转换为Zernike系数。参数D/r0设置为4,其中D代表接收孔径,r0代表大气相干长度。引入的初始像差Zernike系数如表1所示。

表1 初始像差的Zernike系数Tab.1 Zernike coefficients of initial aberration

相关的参数设置如下:驱动器的交联值ω设为0.2,归一化间距d为0.392,高斯函数指数α为2;加载到变形镜驱动器上的初始控制电压V(0)设置为[0,0…,0]T;增益系数γ的值设为1.2;随机扰动向量为32维的向量,每个元素之间相互独立,服从伯努利分布,实验中设置为|ΔV i|=0.3。通过式(15),可以得到初始SR为0.33。

为确定各阶系数的范围,生成了多组Zernike系数(参数D/r0同样设置为4)。对各阶系数aj进行了区间划分,因此,可以将输入像差划分为4×4×4×2×2=256种类型。

各阶Zernike多项式的系数范围呈对称分布。考虑到这一特点,对划分好的各阶Zernike多项式的系数区间作进一步处理,将对称区间归为同一类,如表2所示。

表2 各阶Zernike系数的区间划分方法Tab.2 Interval partition method of Zernike polynomial coefficients of various orders

如表2所示,各阶Zernike系数的区间经过重组后,像差分为8大类,其中a4,a5和a6各有两大种,组合为8种,则光斑也被相应的划分为8个大类别;每一个大类别的像差中,又可以通过表2细分为2×2×2×2×2=32个小类别,其中a4,a5,a6,a7和a8各有两种,组合为32种。CNN模型的作用是预测出输入光斑属于8大类光斑中的哪一类,根据分类结果就可以得到相应的像差类型。对于每一大类像差,生成对应的10 000张焦平面光斑作为训练集样本,1 000张焦平面光斑作为验证集样本,1 000张焦平面光斑作为测试集样本,所以训练集样本包含80 000张图像,验证集样本包含8 000张图像,测试集样本包含8 000张图像,每张图像的分辨率设置为128×128像素,生成的图像为jpg格式。每张图像的命名规则为:类别_个数_jpg。例如0_156_jpg,指第0类光斑中(类别从0开始计数,0~7共8大类)的第156张图像,jpg表示生成图像的格式为jpg。图7展示了部分类别光斑的图像样本。

图7 部分类别光斑的图像样本Fig.7 Image sample of partial category spot

对于每一小类别的波前像差,取每一阶系数范围的中点作为标准点形成一个“标准Zernike系数向量”,处于该区间的Zernike系数向量都可以归类为预先设定好的“标准Zernike系数向量”[23]。按照这种方法,一共可以获得256组“标准Zernike系数向量”。由“标准Zernike系数向量”构成的波前像差称之为“标准像差”。选择初始电压的具体步骤为:

(1)在像差校正过程开始前,预先用SPGD算法校正256个标准像差,使SR≥0.9时的电压,称之为“标准电压”。

(2)用CNN模型对输入光斑进行分类,根据光斑的分类结果得到相应的像差类型,每一大类像差中包含32个“标准像差”,自然也对应32个“标准电压”。

(3)逐一用32个“标准电压”生成补偿相位校正波前像差,选择使SR最大的“标准电压”作为SPGD算法的初始电压。

7.2 深度学习框架与CNN模型构建

实验中采用Keras完成CNN模型的搭建。Keras是一个高层神经网络应用程序编程接口。Keras的底层实现选择Tensorflow,CNN模型用Python语言编写。

实验中构建的CNN模型共计有5个卷积层,5个池化层,2个全连接层和一个输出层,其具体结构如图8所示。模型中的Dropout是一种针对神经网络模型的正则化方法,主要是为了减轻模型的过拟合问题[23],其基本思想为在对输入样本进行训练过程中,随机的忽略部分神经元,这样可以增强模型的泛化性,因为模型不会过于依赖某些局部的特征。

图8 CNN模型结构示意图Fig.8 Schematic diagram of CNN model structure

7.3 实验与算法对比

CNN模型构建完成后,在GPU上进行了训练。实验硬件环境如表3所示。

表3 实验硬件环境Tab.3 Experimental hardware environment

训练网络时参数设置如下:训练轮数epochs=20;每一批次读取样本的数量batch_size=200。故在每一轮训练中,在训练集中运行的步数steps_per_epoch=80000/200=400步。训练效果可以通过调用evaluate_generator函数来评估。训练结果如图9所示。经过20轮训练后,训练集的准确率为97.62%,测试集的准确率为

图9 训练集和测试集的损失值和准确率Fig.9 Loss and accuracy of training set and test set

91.46%。

CNN模型训练完成后,像差校正过程开始。由表1中的Zernike系数生成的波前像差对应的焦平面图像如图10所示。

图10 初始波前像差对应的焦平面图像Fig.10 Focal plane image corresponding to initial wavefront aberration

初始波前像差以及CNN-SPGD算法进行畸变补偿后的残余波前像差随迭代次数变化如图11所示;相应的焦平面上光斑图像如图12所示。

图11 CNN-SPGD算法校正前后波前像差Fig.11 Wavefront aberration before and after CNN-SPGD algorithm correction

由图12可以看出,经过基于CNN-SPGD算法的无波前传感AO系统像差校正后,焦平面的光斑图像分布逐渐集中,说明波前像差已得到校正,光束质量得到改善,在500次迭代时得以收敛,这也验证了CNN-SPGD算法的有效性。为了更直观的对比CNN-SPGD算法相对于SPGD算法在像差校正速度方面的优势,我们将两种无波前传感算法对系统混频效率和误码率的影响曲线进行比较,结果如图13所示。

图12 CNN-SPGD算法校正前后焦平面图像Fig.12 Focal plane image before and after CNN-SPGD algorithm correction

由图13可见,在混频效率方面,SPGD算法使混频效率达到0.80、0.85和0.9需要的迭代次数分别为110次、161次和280次;在使混频效率达到相同值的前提下,CNN-SPGD算法所需的迭代次数分别为4次、37次和141次。为了对比CNN-SPGD算法和SPGD算法在时间复杂度上的关系,我们在1 660 s的GPU上进行了一百次重复实验,在实验中,光斑分类和电压选择所需的平均时间约为SPGD算法16次迭代的时间。也就是说,CNN-SPGD算法只需大约16次迭代的过程,这可以节省数十次甚至上百次的迭代运算,故CNN-SPGD算法相比于SPGD算法在校正速度上得到了提升。用两种算法对八种不同的初始像差进行像差校正,系统混频效率大于等于0.90时所需的迭代次数如表4所示。在误码率方面,CNN-SPGD算法经过152次迭代后,便可以使BER达到10-6;而达到同样的误码率,SPGD算法需要334次迭代。即便考虑到光斑分类和电压选择的过程,CNN-SPGD算法的校正速度依然更快。

表4 两种算法使混频效率大于等于0.90时所需的迭代次数Tab.4 Number of iterations required for the two algorithms to make the mixing efficiency greater than or equal to 0.90

图13 混频效率和误码率变化曲线Fig.13 Changing curve of mixing efficiency and BER

由于CNN模块分类后,每类初始控制电压对应的Zernike系数是该类像差的Zernike系数的期望,所以在该类像差的区间内,无论湍流强度如何,CNN模块都能在一次迭代过程中将像差补偿到很小的程度。在达到相同系统性能的前提下,考虑到光斑分类和电压选择的过程,CNNSPGD算法与SPGD算法相比仍减少了迭代次数,像差校正速度得到了提升。

为了进一步验证CNN-SPGD算法在不同湍流强度的效果,以大气折射率结构常数作为强弱指标,根据Davis不等式生成了强度不同的三组湍流。其湍流强度和BER常数如表5所示。

表5 不同湍流强度的BER变化Tab.5 BER variation with different turbulence intensity

分析表5可知,未校正时的BER与湍流强度有关,湍流强度越强,初始BER越大,而经过CNN-SPGD算法的校正后,BER可以下降三个数量级左右,使系统性能得到提升,证明了算法的有效性。

8 结 论

本文针对SPGD算法对大气湍流造成的像差影响补偿的迭代次数较多,畸变补偿速度较慢的缺点,改进了传统自适应光学的校正机制,提出了CNN-SPGD优化方法。该方法通过训练CNN的模型得到像差的分类结果,再把CNN模型和SPGD算法相结合。通过CNN模型对输入光斑进行分类达到减少迭代次数的效果,再使用SPGD校正残余高阶像差,从而提高系统性能,改善校正结果。在自由空间光通信系统中,CNN-SPGD模型使误码率下降到10-6时的迭代次数相对传统SPGD可以降低约80%。而在混频效率达到0.9时,CNN-SPGD模型可以降低约85%的迭代次数。综上可以得出结论,在达到相同系统性能的前提下,即便CNN-SPGD算法有光斑分类和电压选择的过程,相比较于SPGD算法仍减少了迭代次数,有效提升了像差校正的速度,对FSOC的设计有一定的意义。在未来的工作中,我们将优化本系统的训练模型,同时更换更好的GPU来提高训练准确率,降低算法收敛时间。

猜你喜欢
光斑湍流校正
“湍流结构研究”专栏简介
劉光第《南旋記》校正
有趣的光斑
有趣的光斑
夏末物语
重气瞬时泄漏扩散的湍流模型验证
基于MR衰减校正出现的PET/MR常见伪影类型
在Lightroom中校正镜头与透视畸变
机内校正
大光斑1064nmQ开关Nd:YAG激光治疗黄褐斑的临床研究