一种基于FPGA的可配置通用斜率处理方法技术

技术编号:37589680 阅读:11 留言:0更新日期:2023-05-18 11:16
本发明专利技术公开了一种基于FPGA的可配置通用斜率处理方法。该方法通过参数化配置传感器靶面、子孔径排布及子孔径大小来实现斜率的计算。该方法在参数化配置斜率存储器模块时,只需图像宽度*2bit的存储器空间,大大减少了片上资源的耗费,增加了系统的稳定性与鲁棒性。本发明专利技术的可移植性高,能够应用于多个工程项目中。中。中。

【技术实现步骤摘要】
一种基于FPGA的可配置通用斜率处理方法


[0001]本专利技术涉及自适应光学系统的
,具体涉及一种基于FPGA的可配置通用斜率处理方法。

技术介绍

[0002]自适应光学系统通过实时探测系统的波前像差,实时控制系统的光学元件,实时补偿波前畸变。自适应光学系统主要由波前传感器、波前处理机、波前校正器等组成。波前传感器负责采集波前相位信息,根据探测方法和原理的不同,产生了不同种类的波前传感器,如剪切干涉传感器、曲率传感器和夏克哈特曼传感器。其中夏克哈特曼传感器是AO系统中使用较为广泛的一种波前传感器,具有结构简单、外围部件少、灵活性好、光能利用率高等优点。
[0003]本专利技术采用夏克哈特曼波前传感器,入射光通过微透镜阵列后,在传感器成像系统中形成子光斑。光斑位置的偏移量通过波前处理机实时测量。波前斜率的测量是波前处理机的重要组成部分。而波前斜率的计算与子孔径的排布、传感器的靶面及子孔径的大小相关。那么系统的靶面不同,子孔径排布不同,子孔径像素数不同,则都需要重新设计并编写斜率模块。本专利技术针对多个系统的不同靶面、不同子孔径排布、不同子孔径大小等问题,提出了采用一种基于FPGA的可配置通用斜率处理方法。该方法针对不同的系统,可参数化配置子孔径排布、子孔径像素大小与靶面大小。该方法可以适用于不同的系统,同时在系统设计中为了减少系统的资源,将基于FPGA实现的斜率处理的存储器资源缩小为靶面宽width*2bit,该方法针对超过K级分辨率的哈特曼图像,仍然可以很好的应用,同时大大减少了系统的集成调试时间。该种方法的移植性很高,实现容易。
[0004]本专利技术方法的提出对自适应光学系统的信号处理方面有着十分重要的意义,该方法可以大大减少系统调试时间,缩短研发周期,同时使自适应光学系统变得十分灵活,只需参数化配置即可实现不同靶面、不同子孔径排布和不同子孔径大小的斜率处理计算,同时该方法满足实时性的要求,对自适应光学系统的控制问题有着重要的意义。

技术实现思路

[0005]本专利技术的目的是:针对自适应光学系统中不同的靶面大小、不同的子孔径排布、不同的子孔径大小问题,提出了一种基于FPGA的可配置的通用斜率处理方法。提高了自适应光学系统的灵活性,大大减少了存储器资源。对自适应光学系统的信号处理的发展具有十分重要的意义。
[0006]本专利技术采用的技术方案是:一种基于FPGA的可配置的通用斜率处理方法,该方法解决了不同的靶面大小、不同的子孔径排布、不同的子孔径大小问题,采用通用的斜率处理方法。该方法在设计时,将子孔径大小、子孔径排布、靶面大小参数化配置,根据参数化配置的数据设计出子孔径有效、子孔径像素行结束、子孔径结束信号,用该信号来确定是否累加、是否清零、是否除法结束,然后计算出X方向的累加、Y方向的累加和灰度值累加和,最终
计算出X方向的斜率和Y方向的斜率。具体的工作流程和步骤如下:
[0007]步骤1:参数化配置靶面(Width*Width),子孔径排布(ARG_SUB),子孔径大小(Subhole_pixel);
[0008]步骤2:设计斜率处理模块的存储器大小为Width*2bit;确定出子孔径有效信号(SUB_VALID),子孔径像素行结束信号(SUB_PIX_END),通过FPGA逻辑处理和子孔径大小确定子孔径结束信号(SUB_END),同时也根据上述信号确定子孔径的X方向地址(Sub_Xaddr)和Y方向的地址(Sub_Yaddr);
[0009]步骤3:根据传感器的像素灰度值、子孔径的X方向地址(Sub_Xaddr)和Y方向地址(Sub_Yaddr),计算出gxmul_sig,将gxmul_sig累加至gxacc_sig,子孔径有效时gxacc_sig累加;一个像素行中最后一个子孔径中最后一个像素有效时清零;
[0010]步骤4:根据gxacc_sig,当子孔径像素行结束信号到来时,将gxacc_sig赋值给xacc_pre_sig;然后在子孔径像素行结束时,将xacc_pre_sig赋给xacc_sec_sig,将其相减得到xacc_thr_sig;
[0011]步骤5:通过信号判断是否为每一个子孔径行的第一个像素行,若为第一个像素行,则xacc_lastlv_sig为0,否则信号保持;
[0012]步骤6:根据步骤4的输出与步骤5的输出相加得到xacc_fou_sig;
[0013]步骤7:将xacc_fou_sig通过移位寄存器延迟得到xacc_lastlv_sig;
[0014]步骤8:在子孔径结束信号(SUB_END)时,将xacc_fou_sig赋给xacc_ram_sig,y方向的累加和与iacc累加和的计算与上述过程一致,重复上述步骤即可;
[0015]步骤9:将xacc_ram_sig,yacc_ram_sig送入除法模块,最终得到除法结果slop_x与slop_y。
[0016]本专利技术的原理在于:
[0017]一种基于FPGA的可配置的通用的斜率处理方法,如图1所示,通过波前传感器输入实时图像数据,根据图像靶面宽度(Width)、子孔径大小(Subhole_pixel)和子孔径排布(ARG_SUB),确定出子孔径有效信号(SUB_VALID),子孔径像素行结束信号(SUB_PIX_END),通过子孔径大小(Subhole_pixel)确定所有子孔径结束信号(SUB_END),同时也根据这些信号确定出子孔径的X方向地址(Sub_Xaddr),确定出子孔径的Y方向地址(Sub_Yaddr),最终根据以上信号,进行设计计算出斜率数据。
[0018]自适应光学系统的处理机包含斜率处理模块,此时将斜率处理模块中子孔径排布(ARG_SUB)、图像靶面(Width*Width)、子孔径像素大小(Subhole_pixel)进行参数化,通过上位机加载上述参数,设计斜率处理模块的存储器,确定出子孔径有效信号(SUB_VALID),子孔径像素行结束信号(SUB_PIX_END),通过子孔径像素大小确定子孔径结束信号(SUB_END),根据上述信号,FPGA通过像素时钟行扫描的方式实现对传感器的数据进行遍历,计算出X方向的累加和(xacc_ram_sig),Y方向的累加和(yacc_ram_sig)和整帧图像的累加和(iacc_ram_sig),将其进行除法计算,最终计算出子孔径的斜率(x_slop,y_slop)。通过该种方式计算子孔径的斜率,在设计时,可以大大减少系统的资源,减少系统的开发周期,同时通过参数化的方式进行配置,增加了系统的灵活性,只需进行适当的光学参数的修改,便可应用于不同的自适应光学系统中。
[0019]本专利技术与现有技术相比有如下优点:
[0020](1)本专利技术参数化配置斜率处理模块,大大增加了系统的灵活性,大大减少了开发人员的研制周期。
[0021](2)本专利技术通过硬件的方式确定子孔径有效信号,子孔径像素行结束信号,子孔径结束信号,大大减少了斜率处理模块的存储器资源。...

【技术保护点】

【技术特征摘要】
1.一种基于FPGA的可配置通用斜率处理方法,其特征在于:根据自适应光学系统的传感器参数、光学参数、子孔径排布及子孔径像素大小,计算出子孔径的斜率,具体步骤如下:步骤1:参数化配置靶面,子孔径排布,子孔径大小;步骤2:设计斜率处理模块的存储器大小为Width*2bit;确定出子孔径有效信号,子孔径像素行结束信号,通过FPGA逻辑处理和子孔径大小确定子孔径结束信号,同时也根据上述信号确定子孔径的X方向地址和Y方向的地址;步骤3:根据传感器的像素灰度值、子孔径的X方向地址和Y方向地址,计算出gxmul_sig,将gxmul_sig累加至gxacc_sig,子孔径有效时gxacc_sig累加;一个像素行中最后一个子孔径中最后一个像素有效时清零;步骤4:根据gxacc_sig,当子孔径像素行结束信号到来时,将gxacc_sig赋值给xacc_pre_sig;然后在子孔径像素行结束时,将xacc_pre_sig赋给xacc_sec_sig,将其相减得到xacc_thr_sig;步骤5:通过信号判断是否为每一个子孔径行的第一个像素行,若为第一个像素行,则xacc_lastlv_sig为0,否则信号保持;步骤6:根据步骤4的输出与步骤5的输出相加得到xacc_fou_sig;步骤7:将xacc_fou_sig通过移位寄存器延迟得到xacc_lastlv_sig;步骤8:在子孔径结束信号时,将xacc_fou_sig赋给xacc_ram_...

【专利技术属性】
技术研发人员:梅月甘永东马瑞浩斯那卓玛贾启旺吴天祎苟德明
申请(专利权)人:中国科学院光电技术研究所
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1