[发明专利]基于FPGA的自适应光学SPGD控制算法的实现方法有效
申请号: | 201911424233.3 | 申请日: | 2019-12-31 |
公开(公告)号: | CN111103686B | 公开(公告)日: | 2022-05-03 |
发明(设计)人: | 杨慧珍;吴阳;徐奇;龚成龙 | 申请(专利权)人: | 江苏海洋大学;江苏省海洋资源开发研究院(连云港) |
主分类号: | G02B27/00 | 分类号: | G02B27/00;G06F17/16;G06F17/15;G06F7/58;G06T5/00 |
代理公司: | 连云港润知专利代理事务所 32255 | 代理人: | 刘喜莲 |
地址: | 222000 江苏省连云港*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 fpga 自适应 光学 spgd 控制 算法 实现 方法 | ||
1.一种基于FPGA的自适应光学SPGD控制算法的实现方法,其特征在于,其步骤如下:
(1)生成随机扰动电压模块:产生多组伪随机序列,在FPGA中将每一组序列乘以扰动电压并添加相应的符号,生成正扰动和负扰动;
(2)性能指标的计算:选取远场光斑的平均半径MR-Mean Radius作为性能指标函数,
其中(x0,y0)是光斑的质心;I(x,y)表示对应坐标(x,y)处的像素灰度值;光斑的ROI区域是N×N,所以x,y∈[1,N];
(3)计算变形镜电压控制模块:根据公式u(n+1)=u(n)-γΔu(n)ΔJ(n)计算控制电压,性能指标函数MR往极小值方向优化,γ取正值;
采用以下步骤实现SPGD控制算法:
(一)生成随机扰动电压模块:
1.1.预处理部分,借助Matlab软件,利用rand函数生成若干组若干路伪随机序列,由0,1组合而成;将生成的若干组97路伪随机序列存储备用;
1.2.以其中一组伪随机序列为例计算正负扰动,将这组伪随机序列读取并存储到FPGA的ROM核中;设置计数器cnt,并将cnt作为地址位读取保存在ROM里面的伪随机序列,cnt等于0时,对应的是若干路伪随机序列的第1个值,依次类推;
1.3.计数器cnt的数值与若干路伪随机序列的对应关系中设Q表示从ROM里面读取的随机序列,cnt等于0时,对应的Q会在cnt等于2的时候输出;
1.4.Q等于0时,对应的扰动为1,Q等于1时对应的扰动为-1,有多少路伪随机序列就有多少个1,-1的随机组合;由于要先判断Q的值,所以对应的d值会延迟,借助一定的辅助信号,确定两个点划线之间的d为所需要的所有若干路随机扰动,扰动幅度为1;
1.5.在步骤1.4的基础上,将d乘以200,得到dv1即正扰动;200就是扰动幅度,扰动幅度定义为后10位是小数位的二进制定点小数,所以200对应的实际扰动幅度为0.1953;
1.6.在dv1的基础上每个扰动加上负号得到数据dv2即负扰动;
(二)性能指标的计算:
2.1.采集图像数据,光斑图像的灰度值,ROI区域为N×N,由于图像数据是串行传输到FPGA内部的,所以计算之前需要进行矩阵恢复;以地址位作为判断条件将图像数据恢复成N×N的矩阵形式;
2.2.计算质心,质心的公式是根据公式质心的计算按以下步骤进行计算:
(2.2.1)按照公式(2)(3)计算坐标值与之对应的灰度值的乘积:
式中向量X1表示的是横坐标1与矩阵第1行的所有元素即图像灰度值的乘积,依次类推,向量X2~XN表示的都是横坐标与其对应的所有元素的乘积;向量Y1表示纵坐标1与矩阵第1列的所有元素的乘积,依次类推,向量Y2~YN表示的都是纵坐标与其对应的所有元素的乘积;
(2.2.2)将向量X1~XN内的所有元素相加得到公式∑x,yxI(x,y)的计算结果为sun_Xi,将向量Y1~YN内的所有元素相加得到公式∑x,yyI(x,y)的计算结果为sun_Yi;
(2.2.3)将矩阵所有元素相加得到公式∑x,yI(x,y)的计算结果为sun_q;
(2.2.4)利用除法IP核进行两次除法运算,被除数为sun_Xi,除数为sun_q得到质心坐标x0,被除数为sun_Yi,除数为sun_q得到质心坐标y0;
2.3.计算MR的分子式中I(x,y)表示的坐标为(x,y)的灰度值,性能指标函数MR分子分步计算的具体计算过程如下:
(2.3.1)根据时钟Clk生成另一个时钟SCLK,SCLK是时钟Clk的N分频,SCLK时钟的1个周期包含N个Clk时钟周期;
(2.3.2)以Clk为时序,设计y_cnt计数器,计数器从0开始计数,Clk的上升沿触发,计数器加1,当计数到N时,y_cnt从0开始重新计数;以SCLK为时序,设计x_cnt计数器,计数器从0开始计数,当计数到N时,停止计数;两个计数器主要是为了对矩阵元素即图像灰度值进行定位,x_cnt定位横坐标,y_cnt定位纵坐标,矩阵的横坐标x等于x_cnt的数值加上1,矩阵的纵坐标y等于y_cnt的数值加上1;
(2.3.3)计算(x-x0)2-(y-y0)2,先计算x-x0,y-y0,然后按照公式(x-x0)×(x-x0)-(y-y0)×(y-y0)计算,运算结果会延迟1个时钟周期输出;
(2.3.4)计算将(3)计算出的结果输入开方IP核,延迟一个时钟周期输出运算结果sqr_q;综合(2.3.3)和(2.3.4)计算过程,时钟共延迟了2个时钟周期;
(2.3.5)按照时钟Clk的时序,设置计数器address,开始计数的使能信号和y_cnt计数器保持一致,address计数器的功能是从ROM核中读取图像灰度值;从地址位address的发出,到输出数据有两个时钟周期的延迟,address等0的图像灰度值,会在address等于2的位置被读出;由于address计数器和y_cnt计数器的关系,address等0的位置定位是x_cnt等于0,y_cnt等于0,输出的灰度值定位在x_cnt等于0,y_cnt等于2;
(2.3.6)公式的计算结果和坐标为(x,y)的灰度值是两个完全同步的信号,可以直接将两个结果相乘,完成公式的计算过程;得到的结果记为向量sqr_x1;(2.3.7)按照上述的计算过程可以算出第2行至第N行的所有的结果sqr_x2~sqr_xN,然后所有向量里面的元素结果相加得出的结果是MR的分子;
2.4.将步骤(2.3.7)计算的结果与矩阵所有元素即图像灰度值的和相除,计算得到MR;
(三)变形镜控制电压的计算:
变形镜控制电压的计算公式为:u(n+1)=u(n)-γΔu(n)ΔJ(n),式中γΔu(n)ΔJ(n)为梯度估计,γ为增益系数,Δu(n)为随机扰动,ΔJ(n)为性能指标的变化量性能指标函数MR是往极小值方向寻找最优解,所以当Δu(n)与ΔJ(n)的符号一致时,减梯度估计结果,当Δu(n)与ΔJ(n)的符号相反时,加梯度估计结果;
按照公式(4)实现变形镜控制电压的计算:
u(n+1)=u(n)-γΔu(n)ΔJ(n) (4)
式中:γ为增益系数取正值;
具体步骤如下:
3.1.正扰动施加至变形镜后,采集图像数据,利用性能指标函数计算模块计算性能指标函数MR,记为MR1;负扰动施加至变形镜后,采集图像数据,利用性能指标函数计算模块计算性能指标函数MR2;
3.2.计算性能指标函数的变化量ΔMR=MR1-MR2;
3.3.计算梯度;
3.4.按照公式(4),计算控制电压,将公式转化为u(n+1)=u(n)-Asign(Δu(n))ΔJ(n),其中A表示的是增益系数和随机扰动幅度的乘积,sign(Δu(n))等于正负1;
3.5.计算完成控制电压后,加上第n+1次的随机扰动电压,然后再将控制电压输出至变形镜,采集图像数据;减去第n+1次的随机扰动电压,然后再将控制电压输出至变形镜,再次采集图像数据。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于江苏海洋大学;江苏省海洋资源开发研究院(连云港),未经江苏海洋大学;江苏省海洋资源开发研究院(连云港)许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911424233.3/1.html,转载请声明来源钻瓜专利网。