RESOLUTION: 0.1 nm

3D-Optical-Metrology

微米級 3D 光學計量技術:細分領域內的白光干涉掃描、垂直掃描算法(VSI)與表面粗糙度量化評估

01 // 超越接觸的極限:光學干涉測量

在半導體晶圓、精密光學元件和微機電系統(MEMS)的製造中,傳統的接觸式探針輪廓儀往往會劃傷樣品表面,且測量速度緩慢。**白光干涉術(White Light Interferometry, WLI)**,又稱為相干掃描干涉術(CSI),憑藉其非接觸、納米級垂直分辨率和快速面掃描能力,成為了 3D 表面計量的黃金標準。

其核心原理利用了寬頻光源(如 LED 或鹵素燈)的**低相干性(Low Coherence)**。與雷射干涉不同,白光干涉僅在光程差(OPD)接近零的極小範圍內(通常幾微米)才會產生干涉條紋。這賦予了它極強的層析能力(Optical Sectioning),能夠精確鎖定樣品表面的絕對高度,而不會像相位移干涉術(PSI)那樣存在 $2\pi$ 相位模糊的問題。

Z-SCAN POSITION [µm]

02 // 垂直掃描干涉算法(VSI)

為了重建 3D 形貌,顯微鏡物鏡會沿著 Z 軸進行垂直掃描。CCD 相機連續採集一系列圖像,記錄下每個像素點的強度變化曲線——即**干涉圖(Interferogram)**。這條曲線呈現出典型的高斯包絡調製餘弦波形。

**VSI 算法**的任務是找到這個包絡的峰值位置。常用的方法包括希爾伯特變換(Hilbert Transform)、五步移相法或質心法(Centroid)。通過提取包絡峰值對應的 Z 軸位置,我們可以獲得每個像素點的高度值,進而拼接出完整的 3D 地形圖。對於表面粗糙度較大(> 100 nm)或有台階的樣品,VSI 是唯一可靠的解決方案。

Microstructure Topography
FIGURE 1. 微流道結構的 3D 偽彩色高度圖(False Color Map)

03 // 表面粗糙度量化:從 Ra 到 Sa

獲取 3D 點雲數據後,下一步是量化評估。雖然傳統的線粗糙度(Ra, Rz)仍被廣泛使用,但它們無法反映表面的空間特徵。ISO 25178 標準引入了**面粗糙度參數(Areal Roughness Parameters)**,如 **Sa(算術平均高度)**、**Sq(均方根高度)**和 **Sz(最大高度差)**。

此外,還有反映表面混合屬性的參數,如 Sdr(界面擴展面積比),這對於評估表面潤濕性和附著力至關重要。在精密加工領域,工程師不僅關注數值的大小,更通過功率譜密度(PSD)分析表面紋理的頻率成分,以追溯刀具顫振或機床振動的來源。

04 // 干涉信號仿真代碼

以下 Python 代碼模擬了一個典型的白光干涉信號。它生成一個受高斯包絡調製的餘弦波,並演示了如何通過尋找信號包絡的峰值來確定表面的高度位置。

InterferogramSim.py PYTHON 3.10
import numpy as np

class Interferometer:
    def __init__(self, center_wavelength, coherence_length):
        self.lambda0 = center_wavelength # nm
        self.lc = coherence_length       # nm
        
    def generate_signal(self, z_scan, surface_height):
        """
        Simulate White Light Interferogram intensity I(z)
        I(z) = I0 * [1 + V * exp(-((z-h)/lc)^2) * cos(4*pi*(z-h)/lambda)]
        """
        delta_z = z_scan - surface_height
        
        # Gaussian Envelope (Visibility)
        envelope = np.exp(-(delta_z / self.lc)**2)
        
        # Carrier Wave (Interference fringes)
        phase = 4 * np.pi * delta_z / self.lambda0
        carrier = np.cos(phase)
        
        # Total Intensity (Normalized I0=1, V=1)
        intensity = 1.0 + envelope * carrier
        return intensity

    def find_peak_height(self, z_scan, intensity):
        """
        Simple peak detection (VSI Algorithm approximation)
        In practice, Hilbert transform envelope detection is used.
        """
        # Find index of maximum intensity (Brightest fringe)
        # Note: True VSI finds peak of the envelope, not the fringe.
        # For simulation, we assume fringe peak aligns closely.
        max_idx = np.argmax(intensity)
        return z_scan[max_idx]

# Simulation Setup
# Light Source: White LED (Center=550nm, Coherence=3000nm)
wli = Interferometer(center_wavelength=550, coherence_length=3000)

# Scan range: -5um to +5um
z_positions = np.linspace(-5000, 5000, 1000) # nm

# True Surface Height
true_height = 1250.0 # nm

# Generate Signal
signal = wli.generate_signal(z_positions, true_height)

# Reconstruct Height
measured_height = wli.find_peak_height(z_positions, signal)

print("--- VSI Measurement Simulation ---")
print(f"True Surface Height:     {true_height:.2f} nm")
print(f"Measured Height (Peak):  {measured_height:.2f} nm")
print(f"Measurement Error:       {abs(measured_height - true_height):.2f} nm")

# Calculate Contrast (Visibility) at peak
max_intensity = np.max(signal)
min_intensity = np.min(signal)
visibility = (max_intensity - min_intensity) / (max_intensity + min_intensity)
print(f"Fringe Visibility:       {visibility:.3f}")

結語:納米世界的測繪師

3D 光學計量技術已經成為現代製造業不可或缺的眼睛。從手機攝像頭鏡頭的非球面檢測到汽車發動機缸孔的摩擦學分析,白光干涉技術以其無與倫比的精度和通用性,確保了每一個微米級特徵都符合設計要求。隨著計算能力的提升,未來的計量系統將更加智能化,實現從“離線抽檢”到“在線全檢”的跨越。