⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 presentation.m

📁 基于MATLAB的二元光学元件设计研究的源代码
💻 M
字号:
% PART 1
function fft015(M,BOE,p,w,z)
M=4;BOE=150;          % width
p=260;                % number of iterative times
w=0.6328e-3;          % wavelength
z=1e3;                % distance between A and B
N=BOE/(w*z);
X=[-M/2:1/N:M/2];
m=length(X);
A=zeros(1,m);
Z1=exp(-0.09*(X.^2)); % Gaussian distribution
A=Z1;
u=([-N/2:1/M:N/2]);
xf=u.*(w*z);
wc=90;
n=7;                  % required butterworth (rectangular) distribution
B=sqrt(1./(1+((u.^2).^7.*(wc^(-14)))));

% PART 2  Implement FFT
FB=ifft(B);
FB0=FB;               % initial value
FBi=angle(FB0);
FBi0=exp(i*FBi);
FBB=FBi0;
for k=1:p
AA=A.*FBB;            % Gaussian distribution instead of amplitude one
FA=fft(AA);
FAm=abs(FA);
FAi1=angle(FA);
FAi=exp(i*FAi1);
BB=B.*FAi;            % rectangular distribution instead of amplitude one
FB=ifft(BB);
FBi1=angle(FB);
FBi=exp(i*FBi1);
FBB=FBi;
end

% PART 3  Show the Result
Ba=FAi1;
C0=pi/(w*z)*(xf.^2);  % adaxial spherical wave factor
Aa=-C0+FBi1;          % phase for "H"
Da=mod(Aa,2*pi);      % phase that is less than 2*pi
Da=round(Da/(pi/4));  % binary phase, n=3

% PART 4  Related Figures
XX=([0:5/N:M]);
YY=XX;
NX=length(XX);
AAa=zeros(m,m);       % extend to 3-dimension
for k=1:m
AAa(k,:)=A(k);
end
XF=([0:5/M:N]);
YF=XF;
NXF=length(XF);
FAm=FAm.^2/max(FAm.^2); % amplitude normalization
FFAm=zeros(m,m);
for k=1:m
FFAm(k,:)=FAm(k);
end
FFAm=FFAm(:,:);
FFAm=FFAm(1:5:m,1:5:m);
AAa=AAa(1:5:m,1:5:m);

figure(1)             
mesh(XX,YY,AAa)       % original optical field  
title('Amplitude distribution before transforming')
xlabel('position x/mm')
ylabel('position y/mm')
zlabel('Intensity I/r. u')
grid on;

figure(2)
mesh(XF,YF,FFAm)      % modulated output optical field
title('Amplitude distribution after transforming')
xlabel('position x/mm')
ylabel('position y/mm')
zlabel('Intensity I/r. u')
grid on;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -