该模型适用于 显微成像 / 光学系统 / 光刻 / 遥感 / 计算成像 等场景。一、物理光学 PSF 原理在标量衍射理论下PSF 由瞳孔函数Pupil Function的傅里叶变换给出PSF(x,y)∣F{P(u,v)}∣2\text{PSF}(x,y) \left| \mathcal{F}\{P(u,v)\} \right|^2PSF(x,y)∣F{P(u,v)}∣2其中P(u,v)P(u,v)P(u,v)瞳函数振幅 相位F\mathcal{F}F傅里叶变换包含衍射、像差、波长、数值孔径NA二、标准物理光学 PSF无像差1、参数设置%% 基本参数lambda550e-9;% 波长 (m)NA1.4;% 数值孔径n1.0;% 介质折射率空气pixel_size6.5e-6;% 探测器像素尺寸 (m)N1024;% 计算网格大小L20e-6;% 视场大小 (m)2、频域坐标瞳孔平面% 空间频率坐标fxlinspace(-1/(2*pixel_size),1/(2*pixel_size),N);fyfx;[Fx,Fy]meshgrid(fx,fy);% 归一化频率rhosqrt(Fx.^2Fy.^2)*lambda/NA;3、瞳函数圆形孔径Pdouble(rho1);% 理想圆形孔径4、物理光学 PSFFFTPSFabs(fftshift(fft2(P))).^2;PSFPSF/sum(PSF(:));% 能量归一化5、可视化figure;imagesc(linspace(-L/2,L/2,N),linspace(-L/2,L/2,N),PSF);axis image;colormap hot;colorbar;title(PSF (Physical Optics Model));xlabel(x (m));ylabel(y (m));三、加入像差Zernike 多项式1、Zernike 相位% 极坐标[theta,r]cart2pol(Fx,Fy);rr/max(r(:));% 像差系数Z110.5;% 离焦Z200.3;% 球差% Zernike 多项式defocusZ11*sqrt(3)*(2*r.^2-1);sphericalZ20*sqrt(5)*(6*r.^4-6*r.^21);phasedefocusspherical;2、含像差的瞳函数P_aberrP.*exp(1i*2*pi/lambda*phase);3、有像差的 PSFPSF_aberrabs(fftshift(fft2(P_aberr))).^2;PSF_aberrPSF_aberr/sum(PSF_aberr(:));四、三维 PSF光学切片z_rangelinspace(-10e-6,10e-6,21);% 离焦范围PSF_3Dzeros(N,N,length(z_range));fork1:length(z_range)zz_range(k);phase_zexp(1i*pi*rho.^2*z/(lambda*NA^2));P_zP.*phase_z;PSF_3D(:,:,k)abs(fftshift(fft2(P_z))).^2;end五、与理想 PSF 对比模型特点几何光学无衍射无限小Airy 盘无像差衍射极限物理光学衍射 像差矢量光学偏振效应更高阶参考代码 MATLAB程序-按物理光学模型生成PSFwww.youwenfan.com/contentcsv/78984.html六、工程级封装函数functionPSFgeneratePSF(N,lambda,NA,aberration)[Fx,Fy]meshgrid(linspace(-1,1,N));rhosqrt(Fx.^2Fy.^2);Pdouble(rho1);ifnargin3phaseaberration;PP.*exp(1i*2*pi/lambda*phase);endPSFabs(fftshift(fft2(P))).^2;PSFPSF/sum(PSF(:));end七、常见扩展矢量 PSFRichards–Wolf部分相干照明 PSF宽场 / 共聚焦 / STED与相机像素卷积用于超分辨重建Deconvolution
基于物理光学(波动光学)模型的 MATLAB 程序
发布时间:2026/5/28 7:56:03
该模型适用于 显微成像 / 光学系统 / 光刻 / 遥感 / 计算成像 等场景。一、物理光学 PSF 原理在标量衍射理论下PSF 由瞳孔函数Pupil Function的傅里叶变换给出PSF(x,y)∣F{P(u,v)}∣2\text{PSF}(x,y) \left| \mathcal{F}\{P(u,v)\} \right|^2PSF(x,y)∣F{P(u,v)}∣2其中P(u,v)P(u,v)P(u,v)瞳函数振幅 相位F\mathcal{F}F傅里叶变换包含衍射、像差、波长、数值孔径NA二、标准物理光学 PSF无像差1、参数设置%% 基本参数lambda550e-9;% 波长 (m)NA1.4;% 数值孔径n1.0;% 介质折射率空气pixel_size6.5e-6;% 探测器像素尺寸 (m)N1024;% 计算网格大小L20e-6;% 视场大小 (m)2、频域坐标瞳孔平面% 空间频率坐标fxlinspace(-1/(2*pixel_size),1/(2*pixel_size),N);fyfx;[Fx,Fy]meshgrid(fx,fy);% 归一化频率rhosqrt(Fx.^2Fy.^2)*lambda/NA;3、瞳函数圆形孔径Pdouble(rho1);% 理想圆形孔径4、物理光学 PSFFFTPSFabs(fftshift(fft2(P))).^2;PSFPSF/sum(PSF(:));% 能量归一化5、可视化figure;imagesc(linspace(-L/2,L/2,N),linspace(-L/2,L/2,N),PSF);axis image;colormap hot;colorbar;title(PSF (Physical Optics Model));xlabel(x (m));ylabel(y (m));三、加入像差Zernike 多项式1、Zernike 相位% 极坐标[theta,r]cart2pol(Fx,Fy);rr/max(r(:));% 像差系数Z110.5;% 离焦Z200.3;% 球差% Zernike 多项式defocusZ11*sqrt(3)*(2*r.^2-1);sphericalZ20*sqrt(5)*(6*r.^4-6*r.^21);phasedefocusspherical;2、含像差的瞳函数P_aberrP.*exp(1i*2*pi/lambda*phase);3、有像差的 PSFPSF_aberrabs(fftshift(fft2(P_aberr))).^2;PSF_aberrPSF_aberr/sum(PSF_aberr(:));四、三维 PSF光学切片z_rangelinspace(-10e-6,10e-6,21);% 离焦范围PSF_3Dzeros(N,N,length(z_range));fork1:length(z_range)zz_range(k);phase_zexp(1i*pi*rho.^2*z/(lambda*NA^2));P_zP.*phase_z;PSF_3D(:,:,k)abs(fftshift(fft2(P_z))).^2;end五、与理想 PSF 对比模型特点几何光学无衍射无限小Airy 盘无像差衍射极限物理光学衍射 像差矢量光学偏振效应更高阶参考代码 MATLAB程序-按物理光学模型生成PSFwww.youwenfan.com/contentcsv/78984.html六、工程级封装函数functionPSFgeneratePSF(N,lambda,NA,aberration)[Fx,Fy]meshgrid(linspace(-1,1,N));rhosqrt(Fx.^2Fy.^2);Pdouble(rho1);ifnargin3phaseaberration;PP.*exp(1i*2*pi/lambda*phase);endPSFabs(fftshift(fft2(P))).^2;PSFPSF/sum(PSF(:));end七、常见扩展矢量 PSFRichards–Wolf部分相干照明 PSF宽场 / 共聚焦 / STED与相机像素卷积用于超分辨重建Deconvolution