[發明專利]基于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.szxzyx.cn/pat/books/201911424233.3/1.html,轉載請聲明來源鉆瓜專利網。





