✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。
🍎个人主页:Matlab科研工作室
🍊个人信条:格物致知。
更多Matlab仿真内容点击👇
⛄ 内容介绍
研究激光大气传输效应一直是激光应用领域的重点,数值模拟是研究大气湍流效应常用的手段.利用傅里叶变换对大气湍流相位屏进行了数值模拟研究
⛄ 部分代码
close all;
clc;
clear all
% load scr_fft_ini.mat;
L=2.4;%相屏大小L
L0=10;%大气外部尺度的长度
r0=1;
f0=1/L0;%大气外部尺度的长度L0分之一 (m)
dfx=1/L;%相屏大小L分之一
dfy=1/L;%相屏大小L分之一
Gx=L;%相屏大小L
Gy=L;%相屏大小L
Nx=512;
Ny=Nx;
h=zeros(Nx,Ny);%总相位屏幕尺寸像素 Nx,Ny
h1=zeros(Nx,Ny);%总相位屏幕尺寸像素 Nx,Ny
hlf=zeros(6,6);
f=zeros(Nx,Ny);
p=zeros(Nx,Ny);
phf=zeros(Nx,Ny);
plf=zeros(Nx,Ny);
% %零均值,单位方差的高斯随机数矩阵
h1=(randn(Nx/2,Ny)+sqrt(-1)*randn(Nx/2,Ny))/sqrt(2);
h(1:Nx/2,1:Ny)=h1;
h1(:,1:Ny/2)=rot90(h1(:,1:Ny/2));
h1(:,1:Ny/2)=rot90(h1(:,1:Ny/2));
h1(:,Ny/2+1:Ny)=rot90(h1(:,Ny/2+1:Ny));
h1(:,Ny/2+1:Ny)=rot90(h1(:,Ny/2+1:Ny));
h(Nx/2+1:Nx,Ny/2+1:Ny)=conj(h1(:,1:Ny/2));
h(Nx/2+1:Nx,1:Ny/2)=conj(h1(:,Ny/2+1:Ny));
figure(1);
mesh(abs(phf)-mean(abs(phf(:))));axis tight; colorbar;title('phf');
figure(2);
imagesc(abs(phf)-mean(abs(phf(:))));axis tight; colorbar;title('phf');
% figure(3);
% imagesc(abs(plf)-mean(abs(plf(:))));axis tight; colorbar;title('plf');
% figure(4);
% mesh(abs(plf)-mean(abs(plf(:))));axis tight; colorbar;title('plf');
% figure(5);
% imagesc(p-mean(p(:)));axis tight; colorbar;title('p');
% figure(6);
% mesh(p-mean(p(:)));axis tight; colorbar;title('p');
% figure(7);
% mesh(real(phf));axis tight; colorbar;title('phf');
% disp('Program [scr_fft.m] finished.');
⛄ 运行结果
⛄ 参考文献
[1]刘涛, 朱聪, 孙春阳,等. 一种改进的次谐波大气湍流相位屏模拟方法[J]. 光子学报, 2019, 48(2):6.
[2]王立瑾, 李强, 魏宏刚,等. 大气湍流随机相位屏的数值模拟和验证[J]. 光电工程, 2007.