【湍流】基于傅里叶变换实现大气湍流随机相位屏,增加了低频次谐波补偿附matlab代码
?作者簡介:熱愛科研的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.
?? 關注我領取海量matlab電子書和數學建模資料
??部分理論引用網絡文獻,若有侵權聯系博主刪除
總結
以上是生活随笔為你收集整理的【湍流】基于傅里叶变换实现大气湍流随机相位屏,增加了低频次谐波补偿附matlab代码的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 基于JavaWeb的网上书店的设计与实现
- 下一篇: 机器学习实践心得