白光干涉仪原理-科学指南针

本文介绍了表面三维微观形貌在工程零件性能评估中的重要性,重点讲解了扫描白光干涉法作为一种非接触式测量技术的原理、应用和优势,尤其是在大范围测量和高精度方面的突破。

在生产中,表面三维微观形貌对工程零件的许多技术性能的评价具有最直接的影响,而且表面三维评定参数由于能更全面、更真实地反映零件表面的特征及衡量表面的质量而越来越受到重视,因此表面三维微观形貌的测量就越显重要。通过对三维形貌的测量可以比较全面地评定表面质量的优劣,进而确认加工方法的好坏及设计要求的合理性,这样就可以反过来通过指导加工、优化加工工艺以加工出高质量的表面,确保零件使用功能的实现。

表面三维微观形貌的测量方法非常丰富,通常可分为接触式和非接触式两种,其中以非接触式测量方法为主。下面介绍其中一种近年来国际上研究比较多的、发展也相对比较成熟的技术:扫描白光干涉法测量表面三维微观形貌技术。

白光干涉扫描原理
在利用白光干涉测量表面三维形貌的过程中,对于被测表面上某一点来说,为了定位其零光程差位置,必须采用某种扫描方式改变参考镜或者被测表面的位置,以此来获得该点光强变化的离散数据,然后依据白光干涉的典型特征来判别并提取最佳干涉位置。因此称这种方法为扫描白光干涉测量法。

图1(a)所示为白光干涉仪架构图,图1(b)所示为仪器测量原理图,光学系统可采用基本的Michelson式干涉仪结构,只是在参考镜后安装有微驱动装置.而被测表面代替了另一个反射镜。测量时通过计算机控制徽驱动装置的进给带动参考镜的进给,这样被测样本表面的不同高度平面就会逐渐进入干涉区,如果在充足的扫描范围内进给,被测样本表面的整个高度范围都可以通过最佳干涉位置。将每步的干涉图样由图像传感器(CCD摄像头)采集,视频信号通过图像采集卡转换成数字信号并存储于计算机内存中,利用与被测面对应的各像素点相关的干涉数据,基于白光干涉的典型特征,通过采用某种最佳干涉位置识别算法对干涉图样数据进行分析处理,提取出特征点位置(最佳干涉位置J,进而就很容易得到各像素点的相对高度,这样便实现了对三维形貌的测量。

1(a)

1(b)

由于传统干涉法存在的局限性,使得当表面微观高度不连续性超过1/4窄带光源波长时,由于条纹的周期性使得不易精确分辨,从而无法进行微观高度超过十几微米的大范围测量。而扫描白光干涉测量法克服了传统窄带光相移干涉测量中的测量范围小的不足:一方面由于零级条纹的特征相对其它级别条纹来说区别比较明显,因此易于辨别和定位I另一方面.由于零光程差附近光强呈非周期性,因此它有效地消除了相模糊误差,减少了对测量范围的限制。中图仪器公司的三维轮廓仪产品垂直测量范围都可达10mm。

扫描白光干涉法三维轮廓仪采用微驱动装置驱动参考镜的激进给。由于一般微进给的步距精度都比较高,因此可以保证该方法能够达到较高的测量精度。

白光干涉表面三维轮廓仪典型应用

对各种产品、部件和材料表面的平面度、粗糙度、波纹度、面形轮廓、表面缺陷、磨损情况、腐蚀情况、孔隙间隙、台阶高度、弯曲变形情况、加工情况等表面形貌特征进行测量和分析。

白光干涉表面三维轮廓仪主要技术指标:

科学指南针是互联网+科技服务平台,500多家检测机构,提供近5万种设备和服务项目,涵盖生物医药、智能硬件、化学化工等多个领域,由专业人员1对1跟踪服务,保证检测质量与效率。

更多科研干货教程,可以点击下面链接获取哦~

白光干涉仪

<think>我们被要求提供关于白光干涉仪相移算法的资料、实现原理代码示例。根据用户引用的内容,特别是引用[3]中提到扫描白光干涉测量法需要采用扫描方式改变参考镜或被测表面的位置来定位零光程差位置,并提到“依据白光干涉的典型特征来判别并提取最佳干涉位置”。而用户特别询问的是“相移算法”,这通常是在干涉测量中用于相位提取的一种方法。注意:在传统干涉测量中,相移干涉法(PhaseShiftingInterferometry,PSI)使用单色光源,通过移动参考镜来引入已知的相位偏移(例如每次移动λ/8,对应相位变化π/2),然后采集多幅干涉图(通常至少3幅),通过特定的算法(如三步法、四步法、五步法等)计算出被测物体的相位分布,进而得到表面高度信息。但是,用户引用的文献[3]中明确提到“白光干涉的典型特征”(即白光干涉的包络特性),所以白光干涉仪通常不直接使用传统的PSI,因为白光的相干长度很短,传统的相移方法难以应用。然而,引用[1]中提到了一种复合型EPSI重建算法(ExtendedPhaseShiftingInterferometry),该算法解决了传统相移法PSI扫描范围小、垂直法VSI精度低的问题。因此,我们可以推断,EPSI是一种结合了相移法垂直扫描法的改进算法。下面我们根据现有资料,尝试回答用户的问题:1.白光干涉仪相移算法的实现原理:传统的相移干涉法(PSI)使用单色光,通过多次引入固定的相位偏移量(例如0,π/2,π,3π/2)并记录对应的干涉图,然后利用公式计算出相位。但是,白光干涉由于相干长度很短,干涉条纹只在一个很窄的扫描范围内出现,因此需要在整个扫描范围内进行垂直扫描,并确定每个点的零光程差位置。但是,为了在垂直扫描的基础上提高精度,可以将相移法结合到垂直扫描过程中,即在每个垂直扫描位置进行多次相移(例如在每个步进位置进行相移),然后利用相移算法提取局部相位信息,并结合包络定位技术确定零光程差位置。这就是扩展相移干涉法(EPSI)的基本思想。具体来说,EPSI算法通过两个步骤:a.垂直扫描:移动参考镜或样品台,进行连续的垂直扫描,在每一个扫描位置,再通过压电陶瓷等装置进行微小的相移(例如在每个扫描步距内再进行四步相移)。b.数据处理:在每个垂直扫描位置(z位置)上,我们采集了多幅相移图(比如四幅相位差为π/2的图),然后利用传统的四步相移法计算出该位置的相位。由于相移法在单色光下计算出的相位是包裹相位(-π到π),而对于白光,我们更关注的是包络峰值位置。因此,我们可以同时计算干涉条纹的调制强度(调制幅度),调制强度最大的位置对应于零光程差位置。所以,EPSI算法在每个点上的处理可以综合相移计算的相位信息调制强度信息,从而更精确地定位零光程差位置。这种方法的优势在于:-利用相移信息提高了垂直方向定位的精度(因为相移法对相位变化敏感,精度可以达到纳米级别)。-同时利用白光干涉的包络特性来扩大测量范围(避免传统PSI的2π模糊问题)。2.代码示例:由于我们无法获取商业白光干涉仪的具体代码,但我们可以根据算法原理编写一个简化的模拟代码。这里我们以四步相移法(在每个扫描位置采集4幅图,相移步长为π/2)为例,说明如何计算每个点的调制强度相位,然后通过整个垂直扫描范围找到调制强度最大值对应的位置,进而确定高度。假设我们在一个二维网格点上进行测量,每个点(x,y)处,我们沿着z轴(垂直方向)扫描,在每个z位置采集4幅干涉图,相移步长π/2。那么干涉图强度可以表示为:I_k(x,y,z)=I0(x,y,z)*[1+V(x,y,z)*cos(φ(x,y,z)+k*π/2)]其中,k=0,1,2,3,表示四步相移;I0是背景光强,V是条纹可见度(调制强度),φ是与高度相关的相位。根据四步相移法,我们可以计算:φ(x,y,z)=arctan2(I3-I1,I0-I2)[注意:这里取反正切2函数,范围在-π到π]调制强度V(x,y,z)=sqrt((I3-I1)^2+(I0-I2)^2)/I0[其中I0背景光强通常可以用平均强度来代替,但这里我们更常用下面方式计算调制强度,有时直接用幅值]然而,在白光干涉中,我们并不直接使用这个相位φ(x,y,z)来确定高度,因为它是包裹相位。我们更关心的是调制强度V(x,y,z)沿z轴的变化。调制强度在零光程差位置达到最大值。因此,对于每个点(x,y),我们扫描z轴,得到调制强度序列V(z),然后找到调制强度最大的位置z0。然后我们可以结合相位信息来进一步提高精度,例如通过插值,或者通过相位在零光程差附近是线性的,我们可以利用相位信息在峰值附近进行亚像素定位。但是,如果我们用纯包络法(只看调制强度),那么高度h(x,y)=z0。下面是一个简化的伪代码(用Python风格)描述数据处理过程:```pythonimportnumpyasnpfromscipy.signalimportargrelmax#假设我们有一个三维数据立方体:images[k,z,y,x]#k=0,1,2,3对应4次相移,z是垂直扫描位置(已知的等间距z值)#对于每个点(x,y),我们沿着z轴扫描,并在每个z位置有4个相移图像#初始化结果数组height_map=np.zeros((ny,nx))#高度图modulation_map=np.zeros((ny,nx))#最大调制强度图#遍历每个像素foriinrange(nx):forjinrange(ny):#提取该点的所有z位置4步相移数据signals=images[:,:,j,i]#4xnz的矩阵I0=signals[0,:]#第一步相移I1=signals[1,:]I2=signals[2,:]I3=signals[3,:]#计算每个z位置的调制强度相位(这里我们主要用调制强度)#注意:这里我们不用背景光强,直接计算调制幅度#四步相移的调制幅度计算:mod=sqrt((I3-I1)**2+(I0-I2)**2)modulation=np.sqrt((I3-I1)**2+(I0-I2)**2)#寻找调制强度最大值位置#注意:可能有多峰,我们取最高的峰(且通常期望只有一个峰)#使用argrelmax可能会找到局部极值,但我们这里简化处理,用最大值位置max_index=np.argmax(modulation)#记录最大调制强度对应的z位置modulation_map[j,i]=modulation[max_index]#当前扫描位置已知,z轴坐标已知,假设z_positions是一个长度为nz的一维数组#那么当前像素的高度就是z_positions[max_index]height_map[j,i]=z_positions[max_index]#可选:为了得到亚像素精度,我们可以在调制强度峰值附近使用插值,比如二次插值#这里省略```注意:上述代码仅是一个简单的原理演示,实际中需要考虑多个方面:-由于噪声,可能存在多个峰值,需要筛选有效的峰值(比如使用包络的形状信息)。-为了获得更高的精度,可以在峰值附近使用插值方法(如重心法、高斯拟合、二次插值等)来获得亚像素级别的精度。-另外,实际中可能还会结合相位信息,例如在调制强度最大的位置附近,我们还会计算一个精确的相位,这个相位与零光程差附近的线性相位有关,然后结合相位信息进一步修正高度。3.参考资料:关于EPSI算法,可以参考学术论文,例如:-王选择等人在2009年发表的《用于白光干涉测量的扩展相移算法》提出了扩展相移算法,该算法结合了相移法垂直扫描法。-此外,还可以参考:Born,M.andWolf,E.,PrinciplesofOptics,7thed.,其中有关干涉测量相移干涉法的基础知识。由于我们无法提供具体的论文链接,用户可以在学术数据库(如CNKI、IEEEXplore、ScienceDirect)中搜索“ExtendedPhaseShiftingInterferometry”或“EPSIalgorithmforwhitelightinterferometry”。因此,我们总结:白光干涉仪中的相移算法(如EPSI)是一种结合垂直扫描相移技术的算法,通过在每个垂直扫描位置进行多步相移,计算相位调制强度,并利用调制强度确定干涉包络峰值位置,同时利用相位信息提高精度。§§相关问题§§1.传统相移法(PSI)白光干涉中的扩展相移法(EPSI)有什么区别?2.除了EPSI算法,还有哪些用于白光干涉仪的三维重建算法?3.如何评估白光干涉仪相移算法的精度效率?4.白光干涉中,为什么需要结合调制强度相位信息来确定表面高度?</think> ### 白光干涉仪相移算法原理与实现 白光干涉仪的相移算法(Phase Shifting Interferometry, PSI)是一种高精度表面形貌测量技术,通过控制参考镜的微小位移引入相位差,结合多帧干涉图提取相位信息。以下是核心原理代码实现: --- #### **实现原理** [^1][^3] 1. **相移机制**: - 通过压电陶瓷(PZT)驱动参考镜进行纳米级步进位移(典型步长$=\frac{\lambda}{8}$,对应相位差$\Delta\phi = \frac{\pi}{2}$)。 - 每组测量采集$N$帧干涉图(通常$N \geq 4$),每帧相位差$\Delta\phi_i = i \cdot \frac{2\pi}{N}$,其中$i=0,1,...,N-1$。 2. **相位解算**: - 干涉图强度公式: $$I_i(x,y) = I_0(x,y) \left\{ 1 + V(x,y) \cos \left[ \phi(x,y) + \Delta\phi_i \right] \right\}$$ $I_0$为背景光强,$V$为干涉条纹可见度,$\phi$为待求相位。 - 四步相移法($N=4$)相位计算公式: $$\phi(x,y) = \arctan \left( \frac{I_3 - I_1}{I_0 - I_2} \right)$$ 其中$I_0$至$I_3$对应$\Delta\phi_i = 0, \frac{\pi}{2}, \pi, \frac{3\pi}{2}$的强度。 3. **高度映射**: - 表面高度$h(x,y)$与相位的关系: $$h(x,y) = \frac{\phi(x,y) \lambda}{4\pi n}$$ $\lambda$为光源中心波长,$n$为介质折射率(空气$n≈1$)。 --- #### **Python代码示例** ```python import numpy as np import matplotlib.pyplot as plt # 模拟四步相移干涉图生成(理想情况) def simulate_interferogram(phase_map, size=512): x, y = np.meshgrid(np.linspace(0, 10, size), np.linspace(0, 10, size)) I0 = 100 * (1 + 0.8 * np.cos(phase_map)) # Δφ=0 I1 = 100 * (1 + 0.8 * np.cos(phase_map + np.pi/2)) # Δφ=π/2 I2 = 100 * (1 + 0.8 * np.cos(phase_map + np.pi)) # Δφ=π I3 = 100 * (1 + 0.8 * np.cos(phase_map + 3*np.pi/2))# Δφ=3π/2 return np.stack([I0, I1, I2, I3]) # 相位解算(四步相移法) def four_step_phase_shift(images): I0, I1, I2, I3 = images numerator = I3 - I1 denominator = I0 - I2 phi = np.arctan2(numerator, denominator) # [-π, π] return np.unwrap(phi) # 相位解包裹 # 生成测试相位(模拟坑形貌:高斯凹陷) phase_map = 5 * np.exp(-((x-5)**2 + (y-5)**2) / 8) # 计算高度(λ=600nm) images = simulate_interferogram(phase_map) recovered_phi = four_step_phase_shift(images) height_map = recovered_phi * 600e-9 / (4 * np.pi) # 转换为米 # 可视化结果 plt.figure(figsize=(12, 4)) plt.subplot(131), plt.imshow(phase_map, cmap='viridis'), plt.title('真实相位分布') plt.subplot(132), plt.imshow(images[0], cmap='gray'), plt.title('干涉图(Δφ=0)') plt.subplot(133), plt.imshow(height_map), plt.title('重建高度图') plt.show() ``` --- #### **关键技术细节** 1. **相位解包裹**: - 使用`np.unwrap`解除$\arctan$计算的相位折叠,恢复连续相位分布。 2. **噪声抑制**: - 实际应用中需添加滤波(如中值滤波): ```python from scipy.ndimage import median_filter denoised_phi = median_filter(recovered_phi, size=3) ``` 3. **扩展算法(EPSI)**[^1]: - 通过变步长相移(扩展至8~16帧)提升陡峭边缘测量精度,解决传统PSI扫描范围小的问题: $$\phi(x,y) = \arg \left( \sum_{k=0}^{N-1} I_k e^{-i k \Delta\phi} \right)$$ --- #### **参考文献** [^1]: 复合型EPSI重建算法克服了PSIVSI的局限性,实现高精度大范围测量 [^2]: 白光干涉仪的分光结构产生干涉波,相位差直接对应高度信息 [^3]: 扫描相移法通过离散数据提取零光程差位置
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值