发明名称 一种成像光谱系统中多通道孔径编码方法
摘要 本发明公开了一种成像光谱系统中多通道孔径编码方法。该方法步骤如下:1.利用最大长度线性移位寄存器序列构造循环矩阵作为编码模板;2.主机根据成像光谱系统不同的实时性要求进行判断,选择一种缓存策略对FPGA进行配置,并向挂载的大容量数据存储器预存一定帧数的编码模板;3.大容量数据存储器和输入输出缓存根据选定的缓存策略构建高速数据传输通路。本发明的优点在于:编码模板具备高信噪比、多通道特点,且易于在DMD上实现;缓存策略适用于不同的实时性要求,确保前端数据写入不间断,后端DMD模板数据加载在帧内连续无停顿。
申请公布号 CN104949755B 申请公布日期 2017.02.01
申请号 CN201510295853.7 申请日期 2015.06.02
申请人 中国科学院上海技术物理研究所 发明人 张昊;汤心溢;于洋;张宁;代具亭;杨龙
分类号 G01J3/28(2006.01)I;G01J3/02(2006.01)I 主分类号 G01J3/28(2006.01)I
代理机构 上海新天专利代理有限公司 31213 代理人 郭英
主权项 一种成像光谱系统中多通道孔径编码方法,其特征在于包括以下步骤:步骤1:根据成像光谱系统光谱通道数确定编码阶数s,根据成像光谱系统探测器积分时间确定编码驻留时间t;步骤2:根据编码阶数s对应得到长度为m的最大长度线性移位寄存器序列[a<sub>1</sub>,a<sub>2</sub>,...,a<sub>m</sub>],其中a<sub>i</sub>∈{0,1},i=1,2,...,m,并且m=s;步骤3:构造编码矩阵H,使得<maths num="0001"><math><![CDATA[<mrow><mi>H</mi><mo>=</mo><mfenced open = "[" close = "]"><mtable><mtr><mtd><mrow><msub><mi>a</mi><mn>1</mn></msub><mo>,</mo><msub><mi>a</mi><mn>2</mn></msub><mo>,</mo><mn>...</mn><mo>,</mo><msub><mi>a</mi><mi>m</mi></msub></mrow></mtd></mtr><mtr><mtd><mrow><msub><mi>a</mi><mn>2</mn></msub><mo>,</mo><msub><mi>a</mi><mn>3</mn></msub><mo>,</mo><mn>...</mn><mo>,</mo><msub><mi>a</mi><mn>1</mn></msub></mrow></mtd></mtr><mtr><mtd><mn>...............</mn></mtd></mtr><mtr><mtd><mrow><msub><mi>a</mi><mi>m</mi></msub><mo>,</mo><msub><mi>a</mi><mn>1</mn></msub><mo>,</mo><mn>...</mn><mo>,</mo><msub><mi>a</mi><mrow><mi>m</mi><mo>-</mo><mn>1</mn></mrow></msub></mrow></mtd></mtr></mtable></mfenced></mrow>]]></math><img file="FDA0001109300100000011.GIF" wi="393" he="300" /></maths>其中矩阵的第2行,第3行,……,第m行分别为序列[a<sub>1</sub>,a<sub>2</sub>,...,a<sub>m</sub>]依次左移一位得到;步骤4:根据数字微镜器件DMD的阵列规模确定一帧编码模板的数据量D;步骤5:分别取出编码矩阵H的第1行,第2行,……,第m行,根据数字微镜器件DMD上的光谱标定结果对应得到第1帧,第2帧,……,第m帧编码模板,存储在主机中;步骤6:根据USB接口的实际传输速率S得到一帧编码模板数据的传输时间T,其中T=D/S;步骤7:主机通过USB控制器芯片、FPGA中的输入FIFO缓存和存储器控制器向挂载在FPGA上的大容量数据存储器预存一定帧数的编码模板,其中输入FIFO缓存用于匹配读写速率和总线位数差异;其具体方法步骤如下:(7‑1)判断t&gt;T是否成立,如果成立,执行步骤(7‑2);如果不成立,执行步骤(7‑3);(7‑2)主机通过USB控制器芯片、FPGA中的输入FIFO缓存和FPGA中的存储器控制器向大容量数据存储器中预存第1帧编码模板,执行步骤8;(7‑3)根据编码驻留时间t和USB接口的实际传输速率S得到编码驻留时间内传输的最大编码模板数据量D<sub>t</sub>,其中D<sub>t</sub>=S×t,执行步骤(7‑4);(7‑4)主机通过USB控制器芯片、FPGA中的输入FIFO缓存和FPGA中的存储器控制器向大容量数据存储器中预存第1帧,第2帧,……,第n帧编码模板,其中n为满足<img file="FDA0001109300100000021.GIF" wi="391" he="119" />的最小整数,执行步骤8;步骤8:主机继续不间断地通过USB接口发送编码模板,直至第m帧编码模板发送完毕;同时,大容量数据存储器通过FPGA中的存储器控制器和输出FIFO缓存向DMD数据加载模块传输一帧编码模板数据量D,对DMD进行一帧完整编码模板的加载,其中输出FIFO缓存用于匹配读写速率和总线位数差异;执行步骤9;步骤9:检测大容量数据存储器是否已被读空并且输入FIFO缓存是否已被读空,如果成立,执行步骤11;如果不成立,执行步骤10;步骤10:大容量数据存储器继续从输入FIFO中读取编码模板数据,同时DMD复位驱动模块驱动数字微镜单元根据已加载好的一帧编码模板进行翻转,实现多通道孔径编码;其具体方法步骤如下:(10‑1)判断t&gt;T是否成立,如果成立,执行步骤(10‑2);如果不成立,执行步骤(10‑3);(10‑2)大容量数据存储器从输入FIFO中读取编码模板数据并进行计数,当读取数据容量达到一帧编码模板数据量D时,执行步骤8;同时DMD复位驱动模块驱动数字微镜单元根据已加载好的一帧编码模板进行翻转,实现多通道孔径编码;(10‑3)根据FPGA中的DMD数据加载模块时序逻辑得到整个数字微镜器件阵列的加载时间t<sub>load</sub>,执行步骤(10‑4);(10‑4)大容量数据存储器从输入FIFO中读取编码模板数据并进行计时,当读取数据时间达到(t‑t<sub>load</sub>)时,执行步骤8;同时DMD复位驱动模块驱动数字微镜单元根据已加载好的一帧编码模板进行翻转,实现多通道孔径编码;步骤11:DMD复位驱动模块驱动数字微镜单元根据已加载好的第m帧编码模板进行翻转,完成最后一帧编码。
地址 200083 上海市虹口区玉田路500号