韩小雨,李田泽,陈洪涛
(山东理工大学 电气工程学院,山东 淄博,255000)
半导体光电位置敏感器件(Position Sensitive Device,PSD)是一种基于光电效应的高精度光电位置检测器件,当入射光落在器件表面上不同位置时,会输出不同信号,从而对入射光进行检测.PSD具有响应速度快、分辨率高、处理电路简单,在航空、光电检测等领域具有广泛应用,但由于其表面电阻不均匀,导致输入与输出之间呈非线性关系,降低了PSD的测量精度[1].
为了改善PSD的非线性特性,本文采用神经网络算法对PSD进行校正.相较于改进PSD结构、改进制作工艺等传统方法而言,神经网络算法简便易操作,对PSD材质无要求,可以有效地提高PSD的测量精度.
PSD是一种基于PN结节结构的位置敏感器,当入射光照射在光敏面A点时,集中在A点的空穴将扩散至整个A区,而电子仍集中在A点,则在PN结形成一个横向不平衡电势,此电势将空穴引至N区,最终形成一个横向电场这就是PSD的原理横向光电效应.
PSD可分为一维及二维,二维PSD的4个电极是和一维PSD最明显的区别[2].二维PSD按形状又可分为双面结构、枕型结构以及四边形结构.本节以常见的二维枕型PSD分析其原理,结构图如图1.
如图1所示,从4个引脚引出输出电流电极,入射光照射在PSD光敏面,该位置将产生光电荷,当在公共端加反向电压时,光电荷就会扩散到4个电极[3].根据各电极的电流可得出入射光的位置坐标(一般以光敏面中心为原点).
二维PSD断面结构如图2,当入射光照射在光敏面时,入射点会形成与光能成比例的电荷[4],光点到各电极的距离与输出电流成反比.
图1 二维枕型PSD结构图Fig.1 Two-dimensional pillow type PSD structure
图2 二维PSD断面结构Fig.2 Two-dimensional PSD section structure
假设光点距原点的距离为L,输出电流为I1、I2,总电流为I,则I=I1+I2.假设入射点距中心距离为X1,则I1、I2表示如下:
(1)
另外两个电极的电流也可以根据式(1)得到.根据4个电极之间的关系,可以得到入射点的坐标,计算公式如下:
(2)
但由于PSD的硅片材料无法绝对均匀以及边缘效应等原因,使得PSD的输出具有非线性误差.PSD在应用时被分为A区和B区(图3),A区误差小,而B区误差较大.为提高B区的线性度,采用神经网络算法进行线性修正,扩大B区的利用范围[4-6].
神经网络,其原理是对人脑进行抽象模拟的过程,本质上是对人脑进行信息处理的模拟[7].神经网络不需要先验公式,而是由大量简单的神经元互联形成的复杂非线性系统.反向传播网络(back-propagation network)属于神经网络的一种,简称BP,它可以对非线性的函数进行训练,将学习规则一般化.
BP神经算法应用广泛但存在一定局限性,如下:
(1)无限逼近求得的值无法确定是极小值
(2)网络权值过大造成的无法训练
(3)训练量大
为此本文对BP算法进行优化,使其具有更好的收敛度,从而对二维PSD优化.
BP优化算法,即采用数值优化技术算法(levenberg-marquardt),简称L-M算法.该算法主要是对非线性函数平方和进行最小化,即解决最小二乘问题,适用于性能指数为均方误差的神经网络训练[8].以两个隐含层的BP神经网络为例如图4.
图4中Wmi、Wij、Wjp分别表示输出层与第1隐含层的权值、第1隐含层及第2隐含层的权值、输出层与第2隐含层的权值.算法推导如下,首先对于一般形式的二次函数:
(3)
其Hession矩阵可表示为
▽2Ex=2JT(x)J(x)+2S(x)
(4)
图3 二维PSD的A区、B区Fig.3 Area A and Area B of the 2D PSD
图4 两个隐含层的BP神经网络Fig.4 BP neural network with two hidden layers
式中A为对称矩阵,根据泰勒级数可得牛顿法:
(5)
图5 优化算法流程图Fig.5 Optimization algorithm flow chart
J为雅克比矩阵:
(6)
由式(3)-(6)可得高斯牛顿法:
xk+1=xk-[2JT(xk)J(xk)]-12JT(xk)e(xk)
=xk-[JT(xk)J(xk)]-1JT(xk)e(xk)
(7)
BP优化算法是为了解决H=JTJ的不可逆性,对Hession进行改进,具体见式(8)
M=HμI
(8)
式中M为可逆矩阵,则可将式(7)改写为
xk+1=xk-[JT(xk)J(xk)+μkI]-1×2JT(xk)e(xk)
(9)
式中μk增加时,该算法表示为
(10)
由上述公式可知,BP优化算法可以实现函数从输入到输出的非线性映射,具有无限逼近函数的能力.
BP优化算法流程具体如图5.其中第n次实际迭代输出为:Yk(n)=[Yk1(n),Yk2(n)...Ykp(n)],理想输出为:dk=(dk1,dk2...dkp)T.权值修正量ΔW的计算公式如下:
ΔWjp(n)=ησp(n)vj(n)
ΔWij(n)=ησj(n)vi(n)
ΔWmi(n)=ησi(n)xkm(n)
(11)
式中权值修正量和权值的关系为
Wjp(n+1)=Wjp(n)+ΔWjp(n)
Wij(n+1)=Wij(n)+ΔWij(n)
Wmi(n+1)=Wjp(n)+ΔWmi(n)
(12)
根据第二节中的流程图,使用MATLAB软件将数据导入程序进行数据训练,并对比标准神经网络算法和BP优化算法的收敛度.
图6 标准神经网络算法仿真结果Fig. 6 Standard neural network algorithm simulation results
图7 BP优化算法仿真结果Fig. 7 BP optimization algorithm simulation results
图8 BP优化算法数据分布Fig. 8 BP optimization algorithm data distribution
由仿真结果和数据分布图可以明显看出,BP优化算法具有较高的收敛度和较快的数据训练速度,在相同误差的情况下,BP优化算法可以更快的完成数据训练.从而可以实现对二维PSD的非线性校正.
本文采用BP优化算法对二维PSD进行非线性优化.该算法可以有效消除二维PSD非线性,使得PSD光敏面位置坐标呈线性输出,从而提高二维PSD边缘区域的线性度.
由仿真结果可知,该算法对比标准神经网络算法,具有较高的收敛度和较快的数据训练速度,提高了工作效率.