MatlabCode

本站所有资源均为高质量资源,各种姿势下载。

您现在的位置是:MatlabCode > 资源下载 > 一般算法 > 计算机制全息图生成与频谱滤波重建系统

计算机制全息图生成与频谱滤波重建系统

资 源 简 介

本系统利用MATLAB环境构建完整的全息计算与信号处理平台,核心功能涵盖了计算机制全息图的生成以及针对数字全息图的深度频谱滤波处理。系统首先基于标量衍射理论,利用菲涅尔衍射或角谱传播算法将给定的二维图像或三维数据编码为数字全息图,模拟相干光波的干涉过程。在频谱处理阶段,通过快速傅里叶变换(FFT)将全息图从空间域转换至频率域,实现物体项、共轭项及零级衍射成分的物理分离。程序集成了自定义掩模滤波器,允许用户通过交互式或预设参数方式选取特定的频谱分量(通常为正一级衍射),以消除背景噪声与孪生像干扰。滤波后的频谱经逆傅里叶变换后,可实现目标物场的高保真重建。该项目广泛应用于全息显微成像、数字全息干涉测量以及三维显示技术的研究与教学仿真。

详 情 说 明

计算机制全息(CGH)生成与数字全息频谱滤波分析系统

项目介绍

本项目是一个基于 MATLAB 环境开发的综合性数字全息仿真平台。系统实现了从原始目标波场的计算机制全息图(CGH)生成,到数字化记录过程的模拟,再到频域频谱分析、掩模滤波及物场高保真重建的全流程处理。本项目核心算法基于标量衍射理论,利用角谱传播算法(ASM)精确模拟光场在空间的传播过程,并结合离轴参考光技术实现了数字全息中的频谱分离与目标特征提取。该系统适用于全息成像研究、光学工程教学仿真以及数字信号处理在光学领域的应用分析。

功能特性

  1. 复杂目标物场建模:支持生成包含几何形状与自定义标记的复合振幅目标,并集成随机相位模拟漫反射物体的物理特性。
  2. 高精度波场传播:基于角谱理论(Angular Spectrum Method)实现从物平面到全息平面的精密光场演化计算。
  3. 离轴记录模拟:通过引入可调角度的平面参考光,模拟实际光学系统中的干涉记录,产生包含零级、正一级与负一级衍射项的数字全息图。
  4. 自动化频域分析:利用二维快速傅里叶变换(2D-FFT)及对数动态范围压缩技术,实时展现全息图的频谱分布。
  5. 智能频谱滤波:基于物理几何参数自动计算频谱中心位置,应用圆形掩模(Mask)滤波器提取特定衍射级次,有效消除孪生像与零级背景干扰。
  6. 载波频率补偿与重建:采用频谱平移技术(Spectrum Shifting)自动补偿倾斜参考光引入的相位因子,结合共轭传递函数实现近乎无损的物场复原。

系统逻辑流程

  1. 环境与参数初始化
设置采样矩阵规模(512x512)、工作波长(632.8nm)、像素物理尺寸(10um)以及传播距离(0.15m)。构建对应的空间坐标系与频域空间坐标系。

  1. 物体信息编码
在空间矩阵中绘制特定振幅分布的复合目标。为模拟真实三维物体反射的相位随机性,为目标施加 0 到 2pi 之间的均匀随机相位分布。

  1. 正向光场衍射
计算频域内的角谱传递函数(ASM Transfer Function),并设置消逝波截止频率以符合物理现实。利用全息面接收到的复振幅分布进行后续计算。

  1. 干涉全息图生成
设置离轴入射角参数,生成倾斜平面参考光。计算目标波场与参考光的相干干涉强度分布,并进行归一化处理得到最终的数字全息图。

  1. 频谱域处理
对生成的全息图进行快速傅里叶变换及能量谱移位,提取频谱特征。根据参考光的入射角,计算正一级频谱在频域坐标中的确切索引位置,构建圆形掩模提取该区域能量。

  1. 物场逆向重建
将滤波后的频谱平移至频域中心(消除倾斜载波影响),通过逆傅里叶变换返回空间域。最后,应用与正向传播共轭的传递函数,将波场回传至初始物平面。

  1. 数据可视化与报告
同步展示原始物体、生成的全息图、完整频谱图、滤波掩模、提取后的频谱分量以及最终的重建结果。在控制台输出关键物理参数报告。

关键算法与实现细节

角谱理论 (ASM) 实现 程序通过计算传递函数 H = exp(i * k * z * sqrt(1 - (lambda * fx)^2 - (lambda * fy)^2)) 来实现传播。相比于菲涅尔衍射,该方法在近场传播计算中具有更高的精度,且不受菲涅尔近似条件的限制。

消逝波处理 在构建传递函数时,代码显式检查并过滤掉频率分量大于波长倒数的部分。这确保了算法遵循物理波动方程,排除了无法在真空中传播的界面衰减波。

离轴频率分离 通过设置特定角度的 theta_x 和 theta_y,系统在频域内成功将实像(+1级)、共轭像(-1级)和零级分量分离开来。这为单幅全息图重构提供了物理基础,避免了重位导致的混叠干扰。

频谱平移补偿 (circshift) 为了避免重建图像出现倾斜和条纹干扰,代码利用 circshift 函数将位于高频区的 +1 级频谱中心搬移到计算矩阵的零频点。这一步在数学上相当于对全息图乘以参考光的共轭,从而实现了载波的精确去除。

使用方法

  1. 启动 MATLAB 软件(建议版本 R2020a 或更新版本)。
  2. 将程序代码载入编辑器。
  3. 点击“运行 (Run)”按钮。
  4. 程序将自动弹出可视化分析窗口,展示全息计算的全过程。
  5. 在 MATLAB 命令行窗口查看系统自动生成的数字全息处理报告。
  6. 可以通过修改程序初始阶段的参数(如传播距离 z 或参考光角度 theta)来观察对频谱分布和重建质量的影响。

系统要求

  1. 环境背景:MATLAB
  2. 所需工具箱:基础 MATLAB 即可运行。
  3. 硬件建议:具备 8GB 以上内存,显卡支持图形加速可提升绘图响应速度。