用于自适应光学系统波前控制运算的脉动阵列处理电路的制作方法

文档序号:6608769阅读:158来源:国知局
专利名称:用于自适应光学系统波前控制运算的脉动阵列处理电路的制作方法
技术领域
本发明涉及一种脉动阵列处理电路,特别是一种适用于自适应光学系统波前处理机的波前控制运算。
背景技术
在自适应光学系统中,为了有效校正大气湍流造成的动态波前误差,对波前处理机的计算能力和实时性要求非常高。通用的微型计算机已不能满足要求,必须根据自适应光学系统波前处理的特点研制专用的高速波前处理机。波前处理机的工作流程包括图像处理、斜率计算、波前复原、控制运算和D/A转换五个模块,其中波前控制运算是将从复原运算模块输出的波面误差向量E,经控制迭代运算得到倾斜镜、变形镜驱动器所需的控制电压,计算公式为V=b0+b1z-1+b2z-2+b3z-31-a1z-1-a2z-2-a3z-3E---(1)]]>其中,b0、b1、b2、b3、a1、a2、a3是系统的控制参数。设m个有效子孔径n单元自适应光学系统,则V和E都是n×1的向量。若e表示波前误差向量E的一个分量,v是所得控制电压V的一个分量,则单路控制电压的时域计算公式为vik=b0eik+b1eik-1+b2eik-2+b3eik-3+a1vik-1+a2vik-2+a3vik-3---(2)]]>其中eik为第k帧第i路的误差值,vik为第k帧第i路电压值(1≤i≤n)。可见控制运算是个迭代运算,不但和当前帧的数据有关,还与其前两帧的数据和计算结果有关。
这种n路的迭代运算可以由多个处理器(DSP)的多处理器系统来并行执行,例如在1998年九月发表在《光电工程》的一篇论文,题为《帧频2900Hz的高速波前处理机》,王春鸿著。其中使用了4片TMS320C31用于并行的控制迭代运算。由于每片DSP都需要大量的控制电路,造成装置集成度不高,不易于大规模集成化;且该方法基本上为由软件进行的运算,因此高速化上有限制;另外计算只能在一帧数据的复原运算结束后开始,即复原运算和控制运算串行进行,因此计算延时较大。

发明内容
本发明的技术解决问题克服现有技术的不足,提供一种计算延时小、集成度高、运算速度快的实现自适应光学系统波前处理机波前控制运算的脉动阵列处理电路。
本发明的技术解决方案用于自适应光学系统波前控制运算的脉动阵列处理电路,其特点在于它由7个乘累加处理单元PE1-PE7、1个加法处理单元PE8、12个移位寄存器M1-M12组成,4个乘累加处理单元PE1-PE4线性排列组成卷积运算部,阵列中存在两条相向数据流,每一帧的误差向量E的各分量顺序从第一乘累加处理单元PE1流入阵列,经过第二乘累加处理单元PE2、第三乘累加处理单元PE3和第四乘累加处理单元PE4运算后流出阵列,卷积结果以初值0从第四乘累加处理单元PE4流入阵列,经过PE2、PE3、PE1流出阵列;3个乘累加处理单元PE5-PE8线性排列组成递归运算部,阵列中存在两条相向数据流,递归运算部分和以初值为0从第七乘累加处理单元PE7流入阵列,经过第六乘累加处理单元PE6和第五乘累加处理单元PE5运算后在第八乘累加处理单元PE8与卷积运算部的阵列输出结果相加后输出控制电压计算结果并向后反馈,经PE5、PE6、PE7计算后流出阵列,各处理单元之间通过移位寄存器互连实现相邻单元间的数据传递,即一个处理单元的数据输出端口接一个移位寄存器的数据输入端,该移位寄存器的数据输出端接下一个处理单元的数据输入端。
本发明的原理本发明分为卷积运算部和递归运算部两部分,各由4个乘累加处理单元线性排列,分别完成自适应光学波前控制运算的卷积运算和递归运算。各个处理单元在时钟的推动下同步工作,并通过一个加法单元将两个阵列链接起来,实现两个脉动阵列输出结果相加并向外输出电压值。
阵列由如图1中所示的8个处理单元PE1-PE8、12个深度为(n/2)的移位寄存器M1-M12组成,若n不为偶数,则深度为(n+1)/2。阵列分为两个部分卷积运算部101和递归运算部102,分别完成如下(3)、(4)式的卷积和递归运算,最后将两个部分通过一个加法单元链接起来以实现(5)式的控制运算。
yi=b0ei+b1ei-1+b2ei-2+b3ei-3(3)则有vi=a1vi-1+a2vi-2+a3vi-3(4)vi=(a1vi-1+a2vi-2+a3vi-3)+(v0ei+b1ei-1+b2ei-2+b3ei-3)(5)其中PE1-PE7是带有本地存储器的乘累加计算单元,每个乘累加处理单元都由一个寄存器REG、一个乘法器MUL个加法器ADD组成。
图2是乘累加处理单元的结构示意图。乘累加处理单元的端口说明MUL_in,MUL_out误差值或电压值的输入输出端口;MAD_in,MAD_out累加值的输入输出端口;乘累加处理单元的逻辑功能说明乘法器取MUL_in端口的输入数据与寄存器REG中预存的系数相乘,加法器将乘法器输出与MAD_in端口数据相加后,结果做为MAD_out端口输出,它执行的就是一个乘累加运算。
PE8是一个带反馈的加法单元,其结构示意图如图3所示,它由一个加法器ADD。端口说明Y_in卷积运算阵列101计算结果yi的输入端口;MAD_in累加值的输入端口;V_feedback电压值反馈端口;
V_out电压值向外输出端口。
加法单元的逻辑功能说明加法器将端口Y_in和MAD_in输入的数据相加,结果作为V_feedback和V_out进行输出,它的作用就是将脉动阵列的两个部分相互链接起来,并将结果向外输出和向右反馈参与运算。
本发明与现有技术相比的优点在于(1)处理单元通过输入队列寄存器和输出队列寄存器来实现相邻单元间的数据传递,每个单元的乘法器直接从单元的输入队列最前端获得数据进行操作,加法器将计算结果直接送入单元的输出队列最后端。以这种队列的方法避免对存储器的读写,本次计算中没有用到的输入数据和输出数据不需要存入单元的存储区中,使一个阵列在计算多路电压值时能达到很高的效率。
(2)同时,由于在脉动阵列进行一路复原电压的运算时有一半的处理单元处于空闲状态,故可以在一个脉动阵列中以处理单元共享的方式同时进行两路独立的复原电压的运算,使处理单元利用率达到100%,节省了硬件资源,故处理单元之间的输入和输出队列深度为n/2(若n为奇数则深度为(n+1)/2)。
(3)每个PE单元的结构简单,只有局部数据通信,便于硬件实现。
(4)与复原运算模块并行处理,计算延时为一个流水节拍,实时性好。
(5)本发明使每个处理部件的效能达到最大,从而促进装置的小型化和低耗电化。根据波前处理机的工作流程和工作特点可得CCD为逐行逐像素顺序输出数据,一帧数据需要经过图像处理、斜率计算、波前复原、控制运算和D/A转换五个模块最后输出电压驱动变形镜工作。由此可见第k-1帧误差向量Ek-1和k帧误差向量Ek输入时间间隔很大(为CCD相机一帧像素输出延时与斜率计算延时和波前复原延时之和)。而控制运算的输入波面误差向量E是波前复原模块的输出,各误差分量e1k、e2k、e3k......顺序输出且输出时间间隔较小。在下一帧的误差向量进入阵列以前可以保证顺序完成n路电压值的计算。本发明根据以上特点组织合理的数据流和设计相应的电路,通过将n路独立的控制电压运算以串行的方式分时使用一个脉动阵列来提高阵列处理单元的利用效率,合理并有效地减少处理单元的数目,减少资源占用。


图1为本发明的原理框图;图2为本发明中的乘累加处理单元PE的结构示意图;图3为本发明中的的加法单元的结构示意图。
具体实施例方式
下面结合图1至图3具体说明本实施方式。
如图1所示,本发明由7个乘累加处理单元PE1-PE7、一个加法处理单元PE8、12个深度为n/2(若n为奇数则深度为(n+1)/2)的移位寄存器(M1-M12)组成。处理单元PE1-PE4和移位寄存器M1-M6、处理单元PE1-PE8和移位寄存器M7-M12分别排列成两个线性阵列结构,处理单元之间端口通过移位寄存器互连,位于左方的处理单元的脚MUL_out接移位寄存器的数据输入端口,移位寄存器的数据输出端口接右方的处理单元的脚MUL_in;位于左方的处理单元的脚MAD_in接移位寄存器的数据输出端口,移位寄存器的数据输入端口连接位于右方的处理单元的脚MAD_out;处理单元PE1的脚MUL_in接阵列的误差数据输入端口E。处理单元PE8的脚Y_in接处理单元PE1的脚MAD_out;脚V_out接阵列的电压输出端口V;脚V_feedback接移位寄存器M7的输入端口,M7的输出端口接处理单元PE5的脚MUL_in,;处理单元PE8的脚MAD_in接移位寄存器M10的输出端口,M10的输入端口接处理单元PE5的脚MAD_out。
如图1、2所示,每个乘累加处理单元PE1-PE7都由一个寄存器REG、一个乘法器MUL个加法器ADD组成。寄存器REG接乘法器MUL的一个输入端,乘法器MUL的另一个输入端接乘累加处理单元的脚MUL_in,乘法器MUL的输出端接加法器ADD的一个输入端,加法器ADD的另一个输入端接乘累加处理单元的脚MAD_in,加法器ADD的输出端接乘累加处理单元的脚MAD_out,乘累加处理单元的脚MUL_in与脚MUL_out相连。
如图1、3所示,加法处理单元PE8由一个加法器ADD构成。加法器ADD的一个输入端接加法处理单元PE8的脚Y_in,另一个输入端接接加法处理单元PE8的脚MAD_in,加法器ADD的输出端接加法处理单元PE8的脚V_out和脚V_feedback。
下面结合图1说明该电路的工作原理(1)在电路开始工作前,系统的控制参数b0、b1、b2、b3、a1、a2、a3分别预存到PE1-PE7的寄存器REG中,且将每个移位寄存器的各个存储单元都初始化为零。
(2)一路误差向量的n个分量顺序输入阵列,当一个误差值ei从PE1的端口MUL_in输入,启动电路为时间节拍的零点。处理单元PE1-PE7在时钟的推动下同步工作,在第1拍乘法器从端口MUL_in取移位寄存器M1-M6最右端单元数据的数据与寄存器REG中预存的系数相乘;第2拍加法器从MAD_in端口取移位寄存器M7-M12最左端单元的数据与乘法结果相加,结果做为MAD_out端口输出;第3拍PE8的加法器从端口Y_in取PE1的MAD_out端口输出数据与从端口MAD_in取M10最左端单元的数据相加,结果做为V_out和MUL_out端口输出;第4拍移位寄存器M1-M6中数据从左向右移动一个存储单元,移位寄存器M7-M12中数据从右向左移动一个存储单元,这样各个处理单元就完成了一次运算,并从阵列的输入端口V_out得到vi,记为一个流水节拍。
(3)每当一个误差值输入阵列,就启动阵列运行一个流水节拍,数据向左或向右流动一个存储单元,得到该路电压值。每个流水节拍各个处理单元和移位寄存器重复相同的操作。这样阵列中误差值在卷积运算部101中从左向右流动,卷积结果从右向左流动。递归运算部102中电压值以初值为零从右向左流动,完成递归运算后在PE8中与卷积部分结果相加,得到的电压值向外输出。
权利要求
1.一种用于实现自适应光学系统波前控制运算的脉动阵列处理电路,其特征在于它由7个乘累加处理单元PE1-PE7、1个加法处理单元PE8、12个移位寄存器M1-M12组成,4个乘累加处理单元PE1-PE4线性排列组成卷积运算部,阵列中存在两条相向数据流,每一帧的误差向量E的各分量顺序从第一乘累加处理单元PE1流入阵列,经过第二乘累加处理单元PE2、第三乘累加处理单元PE3和第四乘累加处理单元PE4运算后流出阵列,卷积结果以初值0从第四乘累加处理单元PE4流入阵列,经过PE2、PE3、PE1流出阵列;3个乘累加处理单元PE5-PE8线性排列组成递归运算部,阵列中存在两条相向数据流,递归运算部分和以初值为0从第七乘累加处理单元PE7流入阵列,经过第六乘累加处理单元PE6和第五乘累加处理单元PE5运算后在第八乘累加处理单元PE8与卷积运算部的阵列输出结果相加后输出控制电压计算结果并向后反馈,经PE5、PE6、PE7计算后流出阵列,各处理单元之间通过移位寄存器互连实现相邻单元间的数据传递,即一个处理单元的数据输出端口接一个移位寄存器的数据输入端,该移位寄存器的数据输出端接下一个处理单元的数据输入端。
2.根据权利要求1的一种用于实现自适应光学系统波前控制运算的脉动阵列处理电路,其特征在于所述的每个乘累加处理单元PE1-PE7都由寄存器REG、乘法器MUL和加法器ADD组成,寄存器REG接乘法器MUL的一个输入端,乘法器MUL的另一个输入端接乘累加处理单元的脚MUL_in,乘法器MUL的输出端接加法器ADD的一个输入端,加法器ADD的另一个输入端接乘累加处理单元的脚MAD_in,加法器ADD的输出端接乘累加处理单元的脚MAD_out,乘累加处理单元的脚MUL_in与脚MUL_out相连。
3.根据权利要求1的一种用于实现自适应光学系统波前控制运算的脉动阵列处理电路,其特征在于所述的加法处理单元PE8由一个加法器ADD构成,加法器ADD的一个输入端接加法处理单元PE8的脚Y_in,另一个输入端接接加法处理单元PE8的脚MAD_in,加法器ADD的输出端接加法处理单元PE8的脚V_out和脚V_feedback。
4.根据权利要求1的一种用于实现自适应光学系统波前控制运算的脉动阵列处理电路,其特征在于所述的12个移位寄存器M1-M12的深度为n/2,其中n为偶数,n为奇数时,则12个移位寄存器M1-M12的深度为(n+1)/2。
全文摘要
本发明涉及一种用于实现自适应光学系统波前控制运算的脉动阵列处理电路。电路由多个处理单元PE(processing element)排列成两个线性结构,分别完成卷积和递归运算,并通过一个加法处理单元将两个阵列链接起来以实现波前控制运算。且n路电压在一个阵列中以分时复用的方式串行计算,处理单元之间通过移位寄存器来实现相邻单元间的数据传递,避免了存储器读写操作。本发明的阵列具有数据通信局部化,数据流、控制流简单的特点,节省资源,便于硬件实现。
文档编号G06F17/10GK101067681SQ20071009910
公开日2007年11月7日 申请日期2007年5月11日 优先权日2007年5月11日
发明者郑文佳, 王春鸿, 姜文汉, 李梅, 唐端午 申请人:中国科学院光电技术研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1