部分相干涡旋光束与平面波混频的matlab代码
时间: 2024-01-13 17:04:22 浏览: 104
以下是生成部分相干涡旋光束和平面波混频的MATLAB代码示例:
```
lambda = 633e-9; % 波长
w0 = 1e-3; % 光束半径
N = 512; % 采样点数
k = 2*pi/lambda; % 波数
[X,Y] = meshgrid(linspace(-1,1,N)); % 生成二维网格
rho = sqrt(X.^2 + Y.^2); % 计算径向距离
theta = atan2(Y,X); % 计算极角
p = exp(1i*mod(theta,2*pi)); % 产生旋转相位
u = sqrt(2)*w0*(rho/w0).^abs(p).*besselj(abs(p),k*w0*rho.^2); % 产生振幅分布
phi = randn(N); % 产生随机相位
U = u.*exp(1i*phi); % 产生部分相干涡旋光束
f1 = 1e11; % 平面波频率
E1 = exp(1i*k*X*f1); % 产生平面波
E2 = U.*E1; % 混频
I1 = abs(E1).^2; % 平面波光强分布
I2 = abs(E2).^2; % 混频光强分布
figure;
subplot(221); imagesc(X,Y,I1); axis image; colormap('gray'); title('平面波光强分布');
subplot(222); plot(X,I1(N/2+1,:)); xlim([-1,1]); xlabel('x'); title('平面波截面');
subplot(223); imagesc(X,Y,I2); axis image; colormap('gray'); title('混频光强分布');
subplot(224); plot(X,I2(N/2+1,:)); xlim([-1,1]); xlabel('x'); title('混频截面');
```
请注意,这里使用了1 THz的平面波频率作为示例。您可以根据需要更改平面波频率。
阅读全文