我是靠谱客的博主 标致果汁,最近开发中收集的这篇文章主要介绍Matlab:实现自定义矩形孔阵列远场衍射仿真,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

本文基于光学原理,用Matlab实现自定义矩形孔阵列远场衍射现象仿真。


Project Code
% 作者:ZQJ
% 日期:2022.1.21 星期五

%*********************** 矩形孔阵列的远场衍射 **************************
clear,clc,close all;
% ********************** 系统参数设定
lamda = 1550e-9;     % 波长
N = 500;             % 一边像素数目
x_length = 0.01;     % 矩阵长度
w0 = 1.4e-3;         % 高斯光束腰半径
Gs_z = 1e-3;         % 高斯光传输距离

% ********************** 矩阵孔阵列(可自定义)
mask_hole = mask2(0,0,x_length/N,N,N,20*x_length/N,20*x_length/N);
mask_hole = mask_hole | mask2(30,0,x_length/N,N,N,20*x_length/N,20*x_length/N);
mask_hole = mask_hole | mask2(-30,0,x_length/N,N,N,20*x_length/N,20*x_length/N);
mask_hole = mask_hole | mask2(0,30,x_length/N,N,N,20*x_length/N,20*x_length/N);
mask_hole = mask_hole | mask2(0,-30,x_length/N,N,N,20*x_length/N,20*x_length/N);

Gaussian_I = f_Gaussian_beams(w0,Gs_z,lamda,x_length,x_length,N,N);
E0 = Gaussian_I.*mask_hole;
E1 = fftshift(fft2(E0));

figure;subplot(2,2,1),imagesc(mask_hole);colormap(subplot(2,2,1),gray);axis off;axis square;
subplot(2,2,2),imagesc(Gaussian_I), colormap(subplot(2,2,2),hot);axis off;axis square;
subplot(2,2,3),imagesc(E0);colormap(subplot(2,2,3),hot);axis off;axis square;
subplot(2,2,4),imagesc(abs(E1));colormap(subplot(2,2,4),hot);axis off;axis square;

function my_mask = mask2(center_x,center_y,m_unit_width,Nx,Ny,rect_width,rect_height)
% 函数功能:利用二维矩形函数产生矩形孔掩膜
% 参数
% center_x:矩形孔的中心坐标x
% center_y:矩形孔的中心坐标y
% m_unit_width:掩膜的单位像素宽度
% Nx:x方向上的像素点个数(即总掩膜像素)
% Ny:y方向上的像素点个数
% rect_width:矩形孔的宽度
% rect_height:矩形孔的高度

mask_x = -m_unit_width*Nx/2 : m_unit_width : m_unit_width*(Nx/2-1);
mask_y = -m_unit_width*Ny/2 : m_unit_width : m_unit_width*(Ny/2-1);
[mask_x_axis,mask_y_axis] = meshgrid(mask_x,mask_y);
mask_z_axis = rectpuls(mask_x_axis-center_x*m_unit_width,rect_width).*rectpuls(mask_y_axis+center_y*m_unit_width,rect_height);
my_mask = mask_z_axis;
end
仿真结果图:

在这里插入图片描述


专栏内容供作者本人或大家学习使用,多多指教 ~

最后

以上就是标致果汁为你收集整理的Matlab:实现自定义矩形孔阵列远场衍射仿真的全部内容,希望文章能够帮你解决Matlab:实现自定义矩形孔阵列远场衍射仿真所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(38)

评论列表共有 0 条评论

立即
投稿
返回
顶部