基于MATLAB与液晶光阀的傅立叶变换计算全息制及其再现系统
项目介绍
本项目是一款基于MATLAB平台开发的计算全息(CGH)生成与仿真系统。其核心目标是通过数值计算模拟光学傅立叶变换过程,将给定的几何二值图像转化为相位型计算全息图。该系统生成的灰度全息图可直接用于液晶光阀(SLM)等空间光调制器,通过物理相干光源照射实现光学再现。该系统集成了从目标预处理、全息编码到数值重建验证及性能分析的完整闭环流程。
功能特性
- 多参数物理仿真:系统深度整合了激光波长、透镜焦距、液晶光阀像素尺寸等关键物理参数,确保仿真环境符合光学实际。
- 目标图像合成:内置自动生成测试目标的算法,包含背景方块、环形结构和十字参考线,用于验证系统的成像分辨率与对比度。
- 频谱能量均匀化:采用随机相位分布技术处理目标场,有效扩展频谱能量空间,避免在傅立叶平面产生过度的能量集中现象(离散斑点效应)。
- 相位编码方案:系统应用了标准的相位型全息编码,将复杂的复振幅信息压缩为可供硬件驱动的8位灰度信号(0-255级别)。
- 闭环数值再现:在软件内部模拟逆傅立叶变换过程,评估生成的全息图在理想光学系统下的重建效果。
- 定量性能评估:自动计算衍射效率与信噪比(SNR),为全息图质量提供客观的物理指标分析。
系统要求
- 软件环境:MATLAB R2016b 或更高版本。
- 工具箱需求:基础MATLAB内核即可运行。
- 硬件建议(可选):若需光学实验,需配置波长为632.8nm的氦氖激光器、像素尺寸为8微米级的液晶空间光调制器及傅立叶变换透镜。
核心功能实现逻辑
1. 物理参数与环境初始化
系统首先定义了光学实验所需的物理量。设定氦氖激光器波长(632.8nm)和傅立叶透镜焦距。针对512x512的采样矩阵,根据液晶光阀的单位像素尺寸(8μm)计算系统的总空间尺寸,确保计算模型与物理硬件尺寸匹配。
2. 测试目标生成与预处理
程序利用矩阵运算构建包含几何特征的目标图像。在编码前,通过生成服从均匀分布的随机相位矩阵并与目标振幅相乘。这一步骤模拟了光学系统中的随机扩展器,其逻辑在于通过随机化初相,使得傅立叶平面的能谱趋于平坦,确保存储在全息图中的能量能够分布在整个像素阵列上。
3. 傅立叶变换与全息编码
系统利用快速傅立叶变换(FFT)算法计算目标场的复振幅分布。全息编码逻辑如下:
- 相位提取:从傅立叶谱中提取相位角信息。
- 坐标转换:将[-π, π]的连续相位范围线性映射至[0, 2π]。
- 量化转换:执行8位量化处理,将其转换为0-255范围的uint8型数据。该逻辑直接对应液晶光阀对电压控制序列的灰度响应要求。
4. 数值重建与仿真验证
为了在无硬件环境下验证编码有效性,系统执行了逆向重建逻辑:
- 将8位灰度全息图还原为相位矩阵。
- 通过逆快速傅立叶变换(IFFT)模拟相干光通过傅立叶透镜的物理衍射过程。
- 取复振幅分布的模方得到强度图像,并进行归一化处理以便观察。
5. 指标计算与数据可视化
系统通过两个核心指标评价全息质量:
- 衍射效率:通过计算重建图像中目标区域的总能量占整个平面能量的比率,衡量全息图对光能的利用能力。
- 信噪比 (SNR):通过计算目标区域的平均强度与非目标区域(噪声区)标准差的比值,评估图像重构的清晰度。
最终,系统通过四分屏图表同步展示:原始目标、CGH灰度阵列、数值再现结果以及包含物理参数和质量指标的自动化分析报告。
使用方法
- 在MATLAB中打开项目脚本。
- 运行该脚本,系统将自动生成测试目标并执行全息编码计算。
- 观察弹出的可视化窗口,查看生成的灰度全息图及仿真再现效果。
- 控制台将显示CGH矩阵的维度信息,确认满足液晶光阀驱动要求后,可将生成的灰度图像保存并加载至外部空间光调制器硬件。