基于轻量级并行编程的微位移测量系统设计研究

2020-09-09 03:09闵帅博崔建军严利平束红林
计算机应用与软件 2020年9期
关键词:谐振腔干涉仪调频

闵帅博 崔建军 严利平 王 冬 束红林 陈 恺

1(浙江理工大学纳米测量技术实验室 浙江 杭州 310018) 2(中国计量科学研究院 北京 100029) 3(天津大学精密仪器与光电子工程学院 天津 300072) 4(河南理工大学机械与动力工程学院 河南 焦作 454000)

0 引 言

在众多微位移测量方法中,激光干涉测量以非接触、分辨力高、测量速度快等优势,广泛应用于各类高精密位移传感器、微位移测量装置的标定校准工作中[1-2]。大多数商用的激光干涉仪都属于迈克尔逊型激光干涉仪,其主要是基于激光功率信号进行测量的。在实际的微位移测量过程中,其光学器件的特性和安装位置相对于最优位置的偏离都会引起额外的非线性误差,而影响后期光强信号的计算准确度,一定程度上降低了迈克尔逊型激光干涉仪的测量精度[3]。

迈克尔逊型激光干涉仪的非线性误差需要量值溯源到更高精度的计量标准上,才能用于常规的标定校准工作中。拍频式法-珀激光干涉仪(Fabry-Perot Interferometer,简称F-P干涉仪)基于频率信号测量,理论上不存在非线性误差,可作为迈克尔逊型激光干涉仪非线性误差量值溯源的上级计量标准。但是,F-P干涉仪由于自由光谱范围的限制和周围环境的干扰,在实际的计量过程中也存在测量范围小,测量精度未达到理论效果的问题,国内外研究人员对F-P干涉仪存在的问题进行了诸多研究。

在扩展F-P干涉仪测量范围方面:许婕等[4]提出了一种扩展F-P干涉仪测量范围的方法——换模锁定法,将F-P干涉仪的测量范围扩大到1.1 μm,拓展了F-P干涉仪在大范围进行纳米位移测量的能力;崔建军[5]综合激光测频、稳频、锁频等多种频率控制技术,提出了一种快速换模锁相的测量方法,将F-P干涉仪的测量范围扩展到36 μm,测量不确定度优于3.5 nm(k=2)。两者的研究工作重点在于干涉仪的测量范围的扩展,但是干涉仪自身测量精度并没有得到显著的提升。在提高F-P干涉仪测量精度方面,国外研究人员作出了突出贡献。Lawall[6]在测量光路中加入声光调制器件来改善F-P干涉仪中的频率调谐性能,提高了F-P干涉仪的测量灵敏度,使得其测量不确定度达到10 pm;Joo等[7]使用角锥棱镜对F-P谐振腔的机械结构进行有效改进,减小了F-P干涉仪自身装调引入的误差,提高了F-P干涉仪的测量精度。

现有的研究工作主要从光学原理和机械结构两个方面着手,提升了F-P干涉仪的测量性能。但是,以F-P干涉仪为核心的微位移测量系统需要配合多种数据采集仪器才能得到有效的运作,各种仪器实时采集数据和过程同步控制的性能也决定了F-P干涉仪的实际测量精度。从系统控制和测控软件设计方面对F-P干涉微位移测量系统进行优化,F-P干涉仪的测量精度可能有显著提升。

在众多计算机控制技术中,单片机控制技术在过程控制同步性要求高的场景下表现良好。FPGA控制技术常应用于并行算法实现和数字信号处理等系统实时性要求高的场景。当目标系统对控制同步性和采集实时性的要求都比较高时,传统研究采取的解决方案主要是FPGA和单片机搭配使用。这种解决方案在实现基本的系统需求的同时,带来了开发成本高,设计难度大等诸多问题。如果直接在上位机实现系统控制的同步性和数据采集的实时性,再结合上位机自身开发桌面应用程序的便利,则能够在降低开发成本的同时,并保证系统各种需求的实现。

本文针对F-P干涉微位移测量系统中数据采集的实时性和过程控制的同步性需求,采用面向异构多核处理器的轻量级并行编程技术,在分析各种仪器的工作特性后,设计和实现频率控制、微动台控制、数据采集处理等多任务并行执行的测量控制软件。在保证系统同步性的前提下,提升了F-P干涉测量速度,减少环境干扰对系统的作用时间。针对F-P干涉测量中光强峰值的稳定性要求,实现了一种有效的寻峰算法,提高了F-P干涉测量的精度。

1 微位移测量原理

F-P干涉仪主要是通过记录锁定在光强峰值上的频率变化量来实现微位移的测量工作,在进行微位移测量系统设计前,需要对F-P干涉测量原理进行分析。

从氦氖气体激光器中射出一束波长为λ的激光,经过平面反射镜R1、R2两次反射后,垂直入射到由平面玻璃板M1和角锥棱镜M2组成的F-P谐振腔中,组成腔体的两个平面需要保持严格平行,腔内侧表面还镀有反射率较大的薄膜。入射到F-P谐振腔的激光束,在F-P谐振腔中经过多次反射后产生多光束干涉效应。当相互干涉的激光之间积累的能量达到一定程度后,便可以从F-P谐振腔中再次透射出去,通过平面镜R3反射后,垂直入射到光强探测器PD。理想情况下,在F-P谐振腔中的干涉激光束在同一个光学路径上来回传播。F-P干涉仪基本结构如图1所示。

图1 F-P干涉仪基本结构

当入射到F-P谐振腔中的激光波长λm与F-P谐振腔长度符合一定条件时,从F-P谐振腔中透射出的激光的功率强度可以达到极大值。透射激光的功率强度达到极大值的充分条件如下:

2nL=mλm

(1)

式中:n是空气折射率;L是F-P谐振腔的几何长度;m是很宽的光谱范围内能使透射光强达到极大值的纵模序号;λm是真空中的激光波长。真空中激光的波长λ、频率f和真空中光速c具有以下关系:

(2)

从F-P谐振腔透射出去的激光的功率强度达到极大值时对应的激光频率,称为F-P谐振腔的谐振频率。由式(1)和式(2)推导出谐振频率的计算公式为:

(3)

假设fm相邻的能使透射光强达到极大值的激光频率为fm+1,则这两种激光的频率差为:

(4)

当F-P谐振腔的长度确定时,相邻两个纵模频率差值固定不变,该频率差值就是F-P谐振腔对应的自由光谱范围,后文用fFSR表示。

从式(4)可以看出,F-P谐振腔的单个自由光谱范围fFSR对应一个法布里珀罗干涉整周期,利用这种特性可以使用F-P干涉仪来测量长度、位移、应变等物理量。

在使用F-P干涉仪测量位移量时,一般使用波长为633 nm的激光光源,并且F-P谐振腔长度可调。在本文中,F-P谐振腔采用折叠腔结构,平面板位置固定不变,角锥棱镜位置可调。当角锥棱镜移动ΔL时,F-P谐振腔的光学长度改变2ΔL,由式(1)-式(4)可以得出F-P干涉测量位移的计算公式:

(5)

式中:ΔL表示平面玻璃板移动过程中的透射光强峰值变化次数;k为谐振腔结构常数。本文采用折叠腔结构,结构常数k为2。

法-珀干涉微位移测量系统在实际测量过程中,只有透射激光功率强度稳定在峰值附近时,光强探测器收集的拍频变化信号才能和待测位移量具有良好的对应关系。频率的实时采集、激光功率强度的扫描和峰值识别工作在整个过程中变得十分关键,在测控软件中对于这些工作的实现也变得很重要。

2 系统设计

2.1 系统结构分析

法-珀干涉微位移测量系统主要包括光学机械模块、硬件模块,软件模块三部分。其中:硬件模块主要负责光学物理信号的感知和系统控制的底层支持工作;软件模块负责硬件通信、机械控制和测量数据的处理分析等工作。法-珀干涉测量系统的总体结构如图2所示。

图2 法-珀干涉测量系统的总体结构

该系统中测量硬件是测量软件实现复杂功能的底层基础。测量硬件向下负责光学系统的信息采集和机械系统的过程控制,其组成部分如表1所示。

表1 测量硬件工作描述

测量硬件向上和测量软件进行测量数据的交互工作。测量硬件设备具有多种数据通信总线,包括常见的串口通信(RS232)、USB、GPIB等,每种硬件设备和计算机通信时都有自己特定的控制模式。法-珀干涉测量系统中的测控软件按照系统功能需求划分的模块如表2所示。

表2 测量软件功能描述

在微位移测控系统中,测量硬件的多样性和测量原理的专用性也对测量软件的设计提出了高要求。在数据采集上,透射光强寻峰操作需要连续记录频率值和光强信号等多种流数据,要求测控系统具有良好的实时性。在过程控制上,微动台需要进行多种模式的移动操作,并在微动台每次完成移动并稳定停止后,才能进行有效的数据采集处理和数据分析,要求测控系统在兼顾实时性的前提下,也要保证系统在测量过程中的同步性。

2.2 测量软件设计

法-珀干涉测量系统的测控软件主要在Windows XP系统上运行,考虑到开发功能的多样性和软件的兼容性等多种因素,采用成熟的Visual Studio 2010作为开发工具,选用稳定的.NET Framework 4.0作为基础开发框架。

2.2.1测量硬件通信

测量软件需要针对测量系统中不同的测量硬件进行合适的通信实现。频率计和微动台控制器是独立于计算机之外的硬件,有自己专用的通信协议和通信指令,具有一定的运算能力,而电压输出模块和数据采集卡则是属于功能扩展型硬件,不能独立于计算机使用。C#语言开发的应用程序是基于.NET Frameworks运行的,与测量硬件通信的基本流程逻辑如图3所示。

图3 软硬件通信活动图

由图3可知,测量系统软硬件之间的每次通信都需要经历.NET Freamworks平台、操作系统,最终到达硬件设备。硬件设备识别仪器命令后,做出相应操作,并将反馈信息再发送回应用程序。如果使用单线程串行的方式和仪器进行通信,在同一时刻只能通信一个仪器。在同时通信多个仪器的情况下,会出现同一时刻采集的不同信号对应时间延迟太大。在之后的光强寻峰操作过程中,这种时间延迟会大大影响寻峰效果。轻量级并行技术则是基于任务编程模型的线程池技术进行程序的并行化设计,能使多种任务并行执行,充分发挥多核CPU的性能。将 F-P测控系统和轻量级并行技术进行结合可以解决系统中多种仪器的并行采集问题。

2.2.2多任务并行化设计

.NET Framework 4.0针对多核异构微处理器设计了全新的轻量级并行技术,相对于传统的面向线程的重量级并行模型,这种面向任务的轻量级并行技术减少了对线程的管理和调度成本,使开发人员更加关注于程序中各种任务的调度分配[8]。

法-珀干涉测量系统中多种任务之间的合理调度是影响程序实际运行性能的关键因素,也是多任务并行设计中主要考虑的问题。多任务调度问题一般使用任务模型和处理器模型来进行描述[9-10]。

系统中任务的特性和任务之间的约束依赖关系一般使用任务模型来描述。任务模型主要采用图论中的有向无环图(DAG)模型进行分析。在有向无环图模型中,一个元组G={T,E}表示一个有向无环图。其中:T={t1,t2,…,ti,…,tn},ti表示编号为i的任务。若ti和tj之间存在有向边,则该有向边的数学表示为(ti,tj)∈E。该有向边说明ti和tj之间存在先后的约束关系,设ei=(ti,tj),则E={e1,e2,…,ei,…,em}。

微处理器核的处理能力和核间关系一般使用处理器模型表示。处理器核能够使用多种方式进行互联通信[11-14],任意两个核可直接通信,属于完全图的拓扑结构。设第j个处理器核为pj,则设处理器核的集合为P={p1,p2,…,pj,…,pk},其通信速率矩阵可表示为:

(6)

Vij(1≤i≤k,1≤j≤k)为第i个处理器核与第j个处理器核之间的通信效率。当Vii→∞,即同一个处理器核之间通信速率视为无穷大。在计算调度时,通常认为通信开销等于通信量与响应通信速率之间的比值。

法-珀干涉测量系统按功能需求划分了12个调度任务,假设调度平台上有3个异构核(p1,p2,p3),由于相同任务在不同核处理时间不同,产生了任务节点计算开销矩阵,如表3所示。

表3 任务节点计算开销矩阵

有向无环图表示多任务之间的关系,如图4所示。

图4 多任务有向无环图

每个节点代表一个待执行的任务,箭头则表示任务间的约束及依赖关系,箭头上的数字则代表了任务切换的通信开销。其中:导轨控制任务t2必须要先于拍频信号采集任务t3、光强信号采集任务t4、导轨位置采集任务t5,t2执行,这样才不会采集到无用数据。若任务t1由异构处理器p1切换到t6,其通信开销则为8。

由于(t1,t2)、(t3,t4)、(t4,t5)、(t5,t6)、(t7,t8)、(t9,t10)、(t10,t11)、(t11,t12)之间不存在依赖或者约束关系,在测控软件中可以将所有任务划分为4个并行任务组,分别是。同一并行任务组内的任务可以并行执行。相邻并行任务组之间的任务具有一定的依赖和约束关系,在测控软件中需要同步执行。基于以上分析,在测控软件使用轻量级并行技术进行了相应的实现。

2.2.3寻峰算法设计

在法布里珀罗干涉测量系统中,对透射光强峰值的寻找工作是后续位移解调操作的关键。光强寻峰工作比测量系统中的其他操作都要耗时,很容易造成程序卡顿甚至崩溃。基于轻量级并行技术实现的寻峰算法可以在保证前端UI界面运行流畅的前提下,又能在后端进行高速运算。在应用轻量级并行技术后,光强寻峰操作的数据采集任务被分离成独立的并行任务,现有的寻峰算法主要负责峰值鉴别和回峰调频补偿工作。

针对光强寻峰问题进行合理的描述如下。法-珀干涉透射光的强度信号为IT,其经验公式为:

(7)

式中:I0为谐振腔中反射光和透射光的强度之和;δ为位相差;R为谐振腔内侧的反射率。透射光强IT和位相差δ之间存在以下关系:

(8)

测量系统产生的拍频信号为β,用于频率扫描的调频电压为γ。当调频电压变化Δγ时,拍频信号变化为Δβ,透射光强信号变化一个完整的周期,此时对应的位移量为ΔL。在保证导轨静止不动的前提下,通过调频的方式使得光强始终保持在峰值附近。寻峰算法的步骤如下:

(1) 数据预采集。从电压输出模块中输出的调频电压初始化为0 mV,预采集m个光强电压值和DA调频电压值,记录在数据队列中,作为后续寻峰操作的初始数据。

(2) 调频扫描。设当前透射光强为Ii,当前调频电压为γi,对调频电压的输出规则服从以下关系:

(9)

对当前透射光强进行强度评测,设置合理的调频电压增量来进行后续的频率扫描动作,并采集扫描过程中的透射光强,将最新的光强值放进数据队列的队头,舍弃数据队列的队尾数据。

(3) 透射光强数据预处理。设采集到的透射光强值数据集合为{I1,I2,…,In},遍历数据集合找出最大光强值Imax,再对采集到的光强数据进行一阶前向差分运算,运算公式如下:

ΔIi=Ii-Ii-1i=1,2,…,n

(10)

(4) 透射光强峰值鉴别。由于环境的干扰,光强值为Imax的数据点可能有n个。设置一个大小为ω的检测窗口,ω=m/5,分别将每个光强值为Imax的数据点放置在检测窗口中心位置,作为参考数据点,将窗口内的其他数据点和该数据点进行比较,当所有数据点都小于该点,则视该点为光强峰值点Ipeak。光强峰值鉴别规则如下:

(11)

式中:i

(5) 回峰调频补偿。由于光强峰值的寻找一般是在光强经过峰值后才能鉴别。在找到光强峰值后,需要调节激光频率,使得透射回退到最近的峰值位置。在回峰调频补偿过程中,考虑到回峰的准确度,一般采用小步进调频电压将光强调回峰值附近。

根据寻峰算法思想在测量软件中对其进行了实现,主要应用在每次微动台完成指定位移后,开启寻峰任务,进行频率扫描操作,寻找到光强峰值,并将透射光强值重新恢复到峰值状态。在光强峰值鉴别过程中,需要根据实际情况调整光强峰值的检测窗口大小,从而在准确找到光强峰值的前提下,尽量减小运算工作量。经过多次测试后,分析窗口大小为数据序列的十分之一时,能够较好地满足要求。

3 实验验证和分析

为了测试使用轻量级并行任务设计后测控程序的性能,本文对基于轻量级并行任务的寻峰算法进行评估,并与采用串行技术、常规并行技术实现的测控程序进行对比来评估程序实际的优化效果。

3.1 并行性能分析

测控软件想要充分发挥异构多核处理器的优势,在更短时间内运行更多的指令,就需要将代码分解为并行的序列[15-16]。但是,完全的并行化设计是不存在的,对于程序的并行化优化性能需要通过加速比(多处理系统的最大理论性能提升)来进行有效的评估。

在F-P干涉测量软件设计中,使用工作单元来衡量任务的大小,每个工作单元耗时10 ms。频率控制任务和导轨移动控制任务使用的工作单元数分别是10个、20个;拍频信号、光强信号、导轨位置和调频电压采集任务分别使用10个、5个、10个、10个;拍频信号去噪、光强信号去噪任务分别使用20个工作单元;光强寻峰任务单次使用200个工作单元;位移解调任务单次使用70个工作单元;数据显示任务单次使用10个工作单元;数据存储单次任务使用30个工作单元。当所有任务都是串行执行时,理论上单次执行用时4 150 ms。F-P干涉测量软件对任务进行并行化设计后的理论耗时为200+100+200+2 000=2 500 ms。

为了评测改进后的计算系统能够提升的最大性能,著名计算机架构师Gene Amdahl提出一种性能评测公式——Amdahl公式。该公式可以应用于运行在异构多核微处理器上的并行算法性能评估[17]。Amdahl公式的数学表达式如下:

(12)

式中:η表示能够完全并行运行的代码比例;N表示可用的计算单元数(处理器或者物理内核数),本文使用了2核处理器。在F-P干涉测量软件设计的任务中,有290个工作单元能够完全并行运行,总工作单元个数为415,则η约为69%。F-P干涉测量并行化任务设计的加速比为1.52。

3.2 并行性能测试

为了评估F-P测控软件在应用任务化设计和轻量级并行编程技术之后的工作性能,分别从程序界面流畅性和单次寻峰运行时间两个方面进行性能测试。

界面的流畅性能够反映程序各任务之间的协调同步设计的实际效果,主要通过与单线程、传统多线程技术实现的测控程序进行对比,对比结果如表4所示。

表4 界面流畅性能对比

寻峰算法的运行时间反映出使用并行化任务设计后系统的运行效率,这里同样和单线程、传统多线程技术实现的寻峰算法进行对比,对比结果如表5所示。

表5 运行性能对比

3.3 寻峰算法性能测试

在F-P干涉测量中,透射光强峰值的寻找和稳定是进行后续测量的先提条件。从上文的并行性能测试中可以看出,在使用轻量级并行任务技术之前,程序在运行寻峰算法后会变得界面卡顿,运行时间过长,导致寻峰的效果并不理想。在将程序进行并行化优化后,加入寻峰算法并没有影响界面的流畅性,并大大降低了寻峰时间,提高寻峰操作的效果。

寻峰算法性能评估的两个重要的指标分别是寻峰准确度和稳定性。在对频率扫描功能进行多周期测试时,使用测控软件产生20 mV增量的三角波进行连续的扫频操作。图5为软件采集到的光强信号和调频电压信号。经过必要的数据分析后,可以得出从F-P谐振腔中透射出的激光强度变化一个干涉整周期时对应的DA调频电压约为2 200 mV。

图5 三角波扫频时的光强信号

在对测控软件进行有效的频率扫描功能测试后,可以看出频率扫描的效果比较理想,初步得到了调频电压的工作范围。

光强寻峰功能涉及对透射光强信号的分析,该功能的测试重点在于光强信号的识别准确性。使用测控软件中实现的寻峰算法来对透射光强信号进行分析,识别出光强峰值,并自动移至光强峰值处。图6为单次光强寻峰过程的跟踪数据。

图6 单次光强寻峰过程图

可以看出,测控程序能够在透射光强从峰值越过后,有效地识别出光强峰值,并自动回调激光强度到峰值附近。

为了测试寻峰算法的稳定性,使用测控软件进行50次连续的寻峰操作,通过均值滤波操作得到参考光强峰值。图7为50次连续寻峰操作的数据。

图7 寻峰效果稳定性测试

可以看出,寻峰算法在50次测试中的全局误差保持在6 mV左右,而局部误差保持在2~3 mV之间,能够满足自动光强寻峰的功能需求。通过连续的寻峰操作,将光强始终保持在峰值附近,软件记录此时的拍频信号变化值,从而解调出对应的位移变化值。

4 结 语

本文从系统控制和测控软件设计着手,对拍频式F-P激光干涉仪的测量性能和稳定性进行研究。通过对系统中各种仪器特性的分析和任务调度的合理设计,在轻量级并行技术的基础上对测控软件进行了优化。优化后的测控系统软件比传统单线程和多线程技术在运行效率和数据采集速度得到显著提升,寻峰算法在50次寻峰过程中的全局误差保持在6 mV左右,局部误差保持在2~3 mV,该算法可以为后续位移解调的光强峰值提供良好的稳定性能。

猜你喜欢
谐振腔干涉仪调频
用于微波干燥的矩形和圆柱形谐振腔仿真分析
离子注入机直线加速器原理
基于改进的迈克尔逊干涉仪对热变形特性的研究
考虑频率二次跌落抑制的风火联合一次调频控制
异地调频主备发射自动切换的思考与实践
非对称干涉仪技术及工程实现
大光程差高鲁棒性摆臂角镜干涉仪设计与实现
调频发射机常见问题与对策研究
基于最优模糊的均匀圆阵干涉仪测向算法
LTCC多级结构实现高性能微型带通滤波器的研究