matlab高斯光通过T字母光孔
时间: 2023-09-19 20:07:27 浏览: 37
以下是使用MATLAB进行高斯光通过T字母光孔的模拟代码:
```
% 定义光学系统参数
lambda = 633e-9; % 波长
k = 2*pi/lambda; % 波数
f1 = 100e-3; % 透镜1焦距
f2 = 100e-3; % 透镜2焦距
d = 1e-3; % 光孔直径
L = 10e-2; % 像面尺寸
N = 512; % 像素数
dx = L/N; % 像素间距
% 定义高斯光束参数
w0 = 1e-3; % 光束半径
zR = pi*w0^2/lambda; % 焦距参数
z1 = 50e-3; % 透镜1位置
z2 = 50e-3; % 透镜2位置
% 生成高斯光束
x = linspace(-L/2,L/2,N);
[X,Y] = meshgrid(x);
r = sqrt(X.^2+Y.^2);
theta = atan2(Y,X);
wz = w0*sqrt(1+(z1+z2)^2/zR^2);
Rz = z1+z2+zR^2/(z1+z2);
phi = k*r.^2/2/Rz+atan((z1+z2)/zR);
Uin = exp(-r.^2/wz^2).*exp(-1i*phi);
Uin = Uin/sqrt(sum(sum(abs(Uin).^2))*dx^2); % 归一化
% 透过T字母光孔
mask = ones(N);
mask(abs(X)<d/2 & abs(Y)>d/2) = 0;
mask(abs(X)>d/2 & abs(Y)<d/2) = 0;
Uout = Uin.*mask;
% 透过两个透镜成像
U1 = Uout.*exp(1i*k*r.^2/2/f1);
U2 = fftshift(fft2(U1))*dx^2;
U3 = U2.*exp(1i*k*r.^2/2/f2);
U4 = ifft2(ifftshift(U3))*N*dx/sqrt(lambda*f2*f1);
I = abs(U4).^2;
% 显示结果
figure;
subplot(1,2,1);
imagesc(x,x,abs(Uin).^2);
axis square;
title('入射光');
subplot(1,2,2);
imagesc(x,x,I);
axis square;
title('成像结果');
```
该代码将生成一个高斯光束,通过T字母光孔,并通过两个透镜进行成像。最终结果将显示入射光和成像结果。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)