利用相位自相关函数进行简单且准确的基于FFT的湍流相位模拟(Matlab代码实现)_自相关和fft-程序员宅基地

技术标签: matlab  开发语言  

 欢迎来到本博客️️

博主优势:博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。

座右铭:行百里者,半于九十。

本文目录如下:

目录

1 概述

2 运行结果

3 参考文献

4 Matlab代码实现


1 概述

利用相位自相关函数进行基于FFT的湍流相位模拟是一种常见的方法,它可以用来生成具有湍流特性的合成相位场。下面是一个简单的步骤:

1. 生成湍流相位场的频谱:
   - 首先,生成一个随机的频谱,可以使用正态分布随机数来模拟湍流的频谱特性。
   - 对生成的频谱进行FFT,得到相位场的初始值。

2. 计算相位的自相关函数:
   - 对相位场进行逆FFT,得到实空间中的相位分布。
   - 计算相位分布的自相关函数,这可以通过对相位分布进行平移并与原始相位分布进行相关运算来实现。

3. 使用自相关函数调整相位场:
   - 将自相关函数应用于初始的相位场,调整相位场的分布以匹配生成的自相关函数。

4. 重新计算频谱:
   - 对调整后的相位场进行FFT,得到调整后的频谱。

5. 循环迭代:
   - 重复上述步骤,直到生成的相位场满足预设的湍流特性要求为止。

这种方法结合了频谱和实空间的处理,可以生成具有湍流特性的相位场。但需要注意的是,这只是一种简单的方法,实际应用中可能需要根据具体情况进行调整和改进。

2 运行结果

部分代码:

% L0:outer scale;
% M:the grid numbers of the initial FFT screen in x or y directions;
% D:size of the initial FFT screen 
% r0:Fried parameter;
% dxy:spatial domain sampling interval;
% delta_k=2*pi/D: frequency domain sampling interval;

L0=1000;  
M=256; 
D=10;

dxy=D/M;
HM=M/2;

r0=0.2;


[xx,yy]=meshgrid(-HM:HM-1);
rr2=(xx*dxy).^2+(yy*dxy).^2;
rr=sqrt(rr2);

%calculate the theoretical phase autocorrelation and the tilt angle variance (in one direction) of the extracted tilt screen
% if L0/D>10000,L0 is assumed to be infinite
epslon=0.01*dxy;
if L0/D<10000
 CorMM_theory=correlation_theory(rr,r0,L0);

3 参考文献

文章中一些内容引自网络,会注明出处或引用为参考文献,难免有未尽之处,如有不妥,请随时联系删除。

[1] Xiang J .Fast and accurate simulation of the turbulent phase screen using fast Fourier transform[J].Optical Engineering, 2013, 53(1):016110.DOI:10.1117/1.OE.53.1.016110.

[2]靳秀青,夏振炎.基于小波变换和FFT及HHT的壁湍流能量传递的实验研究[C]//第八届全国实验流体力学学术会议.2010.

4 Matlab代码实现

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/m0_73907476/article/details/137002080

智能推荐

tomcat 修改部署web项目的路径-程序员宅基地

文章浏览阅读4.3k次。tomcat 发布自己项目操作实际很简单,修改路径是为了方便我们发布项目,不需要频繁操作。1. 首先当然是去tomcat官网选择你需要的版本下载tomcat.apache.org/download-70…2. 下载需要的JDKwww.oracle.com/technetwork…安装之后设置环境变量, JAVA_HOME = "你安装的java地址"例如: JAVA_HOME="C:\Prog..._修改tomcat web部署路径

分布式理论--脑裂问题_分布式系统多实例脑裂问题如何解决-程序员宅基地

文章浏览阅读530次。以下一段话摘自《深入分布式缓存从原理到实践》: 主备是实现高可用的有效方式,但存在脑裂问题。脑裂(split-brain),指在一个高可用的系统中,当联系着的两个节点断开联系时,本来为一个整体的系统,分裂为两个独立节点,这时两个节点开始争抢共享资源,结果会导致系统混乱,数据损坏。..._分布式系统多实例脑裂问题如何解决

java面试_沈阳亿思达java面试-程序员宅基地

文章浏览阅读326次。沈阳_沈阳亿思达java面试

Window主机加固_有汇编加固win-程序员宅基地

文章浏览阅读524次。win+r 输入cmd进入命令提示符用dir调出所有任务cd 可以进入一个指定目录cd .. 穿越或返回上一层文件名有空格不连贯就是蓝标 箭头所指,没有空格的就是红色所指它们的区别在于有空格是有双引号的,没有空格是没有的切换盘的话 直接盘后面加冒号还有一种方法 在该盘输入cmdmd 创建文件夹 dir是查看目录以下dir /a 显示隐藏文件dir /b 只显示现在文件夹与文件夹名称命令+/? 可以知..._有汇编加固win

MobaXterm远程登录Ubuntu(详细教程)_mobaxterm ubuntu-程序员宅基地

文章浏览阅读1w次,点赞27次,收藏98次。MobaXterm远程登录Ubuntu(详细教程)_mobaxterm ubuntu

KEIL中HardFault_Handler的调试方法(stm32x0xx_it.c)_keil hardfault lr fffffd-程序员宅基地

文章浏览阅读1.8k次,点赞5次,收藏16次。 在用Keil对STM32的程序进行仿真时程序有时会跑飞,停止仿真程序会停在HardFault_Handler函数里的死循环while(1)中。这说明STM32出现了硬件错误。 STM32出现硬件错误可能有以下原因: (1)数组越界操作; &nb._keil hardfault lr fffffd

随便推点

Linux挂载文件系统时出现遇到问题wrong fs type-程序员宅基地

文章浏览阅读1.3w次,点赞5次,收藏4次。运行挂载命令如 mount /dev/sdb1 mnt出现错误:mount: wrong fs type, bad option, bad superblock on /dev/sdc1,missing codepage or helper program, or other errorIn some cases useful info is found in syslog - trydmesg | tail or so.解决方法:检查该磁盘的文件系统,即运行命令:fsck -t ext4 /_wrong fs type

SaaS产品项目实施流程_saas系统实施-程序员宅基地

文章浏览阅读2.6k次。一、商务洽谈阶段【销售负责】1.初步接触:甲乙双方初步认识,互相介绍下需求和产品;【对接人,销售部、业务部、采购部】(1).输入:某大型活动、某渠道资源;(2).输出:客户直接的了解认识;2沟通交流:对现有产品价值和功能,跟客户演示介绍,介绍我们有什么;【对接人,销售部、业务部、采购部】(1).输入:现有产品支撑功能;(2).输出:客户的信任和业务满足;3.深入交流:对客户的需求,进行初步响应讨论和确认,沟通可以做什么;【业务部门,深入需求沟通,形成纪要】(1).输入:客户的信任;(2)._saas系统实施

Windows实现开机自启动指定程序的几种方式_windows自启动-程序员宅基地

文章浏览阅读3.8k次。在某些应用场景,出于操作便捷性,会需求在系统启动进桌面时就自动运行指定程式,免去了人工再次手动打开,提高了不少便捷性。放入后,可在任务管理器【Ctrl+shift+esc】或引导启动管理窗口【msconfig】确认查看是否添加成功。打开注册表编辑器,依次找到如下路径,找到shell值,双击打开,将数值数据区域填入要启动的程序路径,确认保存即可。【WIN+R】调出运行窗口,输入如下指令,打开启动文件夹,将要启动的程序或脚本文件,放入文件夹即可。开始菜单或F3,搜索【任务计划程序】,找到打开。_windows自启动

linux进程间全局变量,linux进程间通信-程序员宅基地

文章浏览阅读981次。进程间通信:每个人进程各自有不同的用户地址空间,任何一个进程的全局变量在另一个进程中都看不到,所以进程之间要交换数据必须通过内核,在内核中开辟一块缓存区,进程1将数据从用户空间拷到内核缓冲区,进程2再从内核缓冲区把数据读走,内核提供的这种机制叫做进程间通信(IPC)。管道:一种最基本的IPC机制,由pipe函数创建。#includeint pipe(int filedes[2]);调用pipe函数..._进程内的全局变量

Unicode和UTF-8之间的转换_unicode 与 utf8 互转-程序员宅基地

文章浏览阅读1.8w次,点赞6次,收藏25次。 通过这几天的研究,终于明白了Unicode和UTF-8之间编码的区别。Unicode是一个字符集,而UTF-8是Unicode的其中一种,Unicode是定长的都为双字节,而UTF-8是可变的,对于汉字来说Unicode占有的字节比UTF-8占用的字节少1个字节。Unicode为双字节,而UTF-8中汉字占三个字节。注: Unicode编码目前规划的总空间是17个平面,0x0000 至 0x..._unicode 与 utf8 互转

关键字static/const的作用-程序员宅基地

文章浏览阅读49次。这个简单的问题很少有人能回答完全。在C语言中,关键字static有三个明显的作用:1)在函数体内,一个被声明为静态的变量在这一函数被调用过程中维持其值不变(该变量存放在静态变量区)。2)在模块内(但在函数体外),一个被声明为静态的变量可以被模块内所用函数访问,但不能被模块外其它函数访问。它是一个本地的全局变量。3)在模块内,一...