光学中杨氏双缝干涉仿真系统
项目介绍
本项目是一款基于 MATLAB 开发的高性能物理光学仿真工具,专注于杨氏双缝干涉实验的数值模拟与定量分析。系统旨在通过计算机仿真还原光的波动性特征,不仅能够生成符合物理规律的干涉图样,还能深入分析光场的相干性质。系统通过参数化建模,允许用户模拟从理想单色激光到具有一定带宽的准单色光的干涉行为,是高校光学教学研究、实验室参数预设计及干涉理论验证的有力工具。
主要功能特性
- 准单色光光谱模拟:支持设置中心波长与光谱带宽。系统内置高斯光谱分布算法,能够模拟非理想单色光在观察屏上形成的干涉场,真实反映随着光程差增大条纹对比度下降的现象。
- 高精度干涉场渲染:利用矩阵化运算实现亚微米级的仿真精度,生成二维真实感干涉条纹热力图,颜色映射根据波长自动匹配。
- 定量分析与对比:系统自动计算理论条纹间距,并通过波形峰值检索技术提取仿真间距,实现仿真结果与理论值的误差定量评估。
- 空间相干性可视化:实时提取干涉场的一维光强包络线,并计算条纹可见度(对比度)随观察屏位置的变化曲线。
- 交互式参数控制:支持自由定义双缝间距、观察屏距离、波长及带宽等关键物理参数。
系统要求
- 软件环境:MATLAB R2016b 或更高版本。
- 工具箱需求:Signal Processing Toolbox(信号处理工具箱,用于执行峰值检测与包络提取函数)。
- 硬件建议:标准台式机或笔记本电脑即可稳定运行,矩阵运算经过优化,响应速度快。
使用方法
- 启动 MATLAB 并将当前工作路径设置为该程序所在文件夹。
- 在脚本编辑器中打开仿真文件。
- 根据实验需求修改“物理参数设置”部分的参数(如波长 lambda_0、带宽 delta_lambda、缝距 d 等)。
- 点击“运行”按钮。
- 程序将自动弹出可视化仿真窗口,并在命令行窗口(Command Window)输出详细的仿真报告。
实现逻辑与算法细节
#### 1. 光谱离散化叠加算法
针对准单色光的模拟,程序没有采用单一频率近似,而是采用了光谱叠加法。系统在波长维度上进行高斯加权采样,生成多个离散的波长分量。对于每一个波长分量,分别计算其在观察屏上产生的复振幅。由于不同波长之间的相干性极低,程序最后对所有分量的光强强度进行线性加权积分(非相干叠加),从而获得最终的总光强分布。
#### 2. 干涉场物理建模
干涉相位的计算基于杨氏双缝的近轴近似理论。通过计算观察屏上各点到双缝的光程差,确定相位差。公式实现为:$PhaseDiff = (2 * pi * d * x) / (lambda * D)$。其中 $d$ 为双缝间距,$x$ 为观察屏水平位置向量,$lambda$ 为当前组份波长,$D$ 为传播距离。
#### 3. 2D 图像生成与可视化
程序利用一维光强分布函数,通过矩阵克隆技术(repmat)将其扩展为二维矩阵,模拟具有一定高度的观察屏。为了增强视觉真实感,系统自定义了颜色映射表(Colormap),根据光源波长特征动态建立由黑到红(或其他颜色)的渐变色标。
#### 4. 可见度与误差分析算法
- 条纹间距提取:利用
findpeaks 函数搜索一维光强曲线的局部极大值,通过计算峰值间的平均距离获得仿真条纹间距,并与理论值 $Delta x = lambda D / d$ 进行比对。 - 对比度提取:调用
envelope 函数通过希尔伯特变换或峰值搜索提取光强分布的上、下包络线。根据米契逊对比度公式 $V = (Imax - Imin) / (Imax + Imin)$,动态计算出全场可见度曲率。
#### 5. 输出数据报告
仿真结束后,系统会自动在终端输出包括中心波长、带宽、双缝间距、理论与仿真间距对比、计算误差百分比以及相干长度(Coherence Length)在内的关键物理指标报告,为理论研究提供精确的数据支持。