风驱海面实时仿真建模算法研究

2018-09-03 10:42纪刚陈聪
中国新技术新产品 2018年11期
关键词:实时

纪刚 陈聪

摘 要:本文基于线性滤波法设计了一种海面建模算法,利用P-M谱对高斯白噪声进行线性滤波得到服从高斯分布的随机海面模型,并从实时性和逼真性对建模算法进行了实验验证。

关键词:P-M谱;仿真建模;实时

中图分类号:TP391 文献标志码:A

0 引言

海面场景是应用较多的虚拟现实场景之一,本文旨在设计一种满足逼真性与实时性要求的大规模海面仿真建模算法。

海面建模方法的研究始于20世纪80年代,由于海面形态复杂且是时变的,加上其受到海洋环境、气候条件的影响,因此海面建模有其独特的复杂性。海面建模方法目前大致可以分为:

(1)基于物理模型的方法。

(2)基于几何模型的方法。

(3)基于细胞自动机的方法。

(4)基于海浪谱的方法。

为了便于比较,根据相关参考文献的结论,各种海面建模方法的优缺点见表1。

海浪谱的海面建模方法之所以在逼真性方面效果较好,原因在于海浪谱是基于对海洋的实际观测结果。海浪谱反演建模的一般方法主要有线性滤波法和线性叠加法,线性滤波法的优势主要在于海浪传播方向体现明显,线性叠加法的优势主要在于逼真性更好。对于风驱海面而言,其海浪传播的方向性明显,因此,考虑到逼真性与风驱海面方向性明显的实际情况,本文选择基于海浪谱的线性滤波法进行风驱海面仿真算法设计。

1 P-M谱

海浪谱即海面的功率谱函数,定义为海面高度起伏自相关函数的傅立叶变换,它反映了构成海面各谐波分量相对于空间频率和方位的分布。不同的海浪谱各有其适用范围。对于风驱海面而言,其状态多为充分成长的风浪,由Pierson和Moscowitz通过对北大西洋实测数据进行分析得出的P-M谱(ITTC双参数波谱)符合程度更高。其形式为:

2 建模算法设计

线性滤波法是通过滤波器对输入信号进行滤波来得到模拟海面,我们知道,作为平稳随机过程(均值、方差等统计特性不随时间变化的随机过程即平稳随机过程),粗糙面起伏的相关函数与其谱密度函数是一对傅立叶变换关系,即:

在海浪理论中通常把海浪看作是平稳随机的过程,本文也作此假设。海面是一种典型的随机起伏粗糙面,因此根据式(6)、(7)我们可以得出如下结论:通过对海面的海浪功率谱密度函数进行傅立叶逆变换可以得到海面起伏的自相关函数,进而可以得到海面起伏分布函数,这就是基于线性滤波法的海面建模的基本思想。

依照以上基本思想,本文设计的海面建模过程大致可以分为3步:

(1)产生均值为0的二维高斯白噪声信号,利用二维傅立叶变换将其转换到频域作为输入。

(2)利用P-M谱的功率谱密度函数对输入信号进行调制。

(3)对调制后信号进行傅立叶逆变换,提取其实部作为海面高度值分布输出,该过程可由图2表示。

具体实现步骤如下:

(1)定义仿真海面范围lx、ly与离散间隔数nx、ny,离散间隔Δx=lx/nx,Δy=ly/ny。

(2)产生nx×ny个独立的Gauss随机数γ(nx,ny)作为输入的白噪声信号,其均值为0,方差为1。

(3)产生空间波数分布Kx,y,进而得到波数谱的功率密度分布S(K,φ)。

(4)对γ(nx,ny)进行二维傅立叶变换将其转换到频域,记为。

(5)取γ'(nx,ny)的绝对值作为信号幅值|γ'(nx,ny)|,利用功率谱密度函数S(K)对|γ'(nx,ny)|进行调制得到|γ'(nx,ny)|'。

(6)计算信号总功率值E,进而得到信号相位α(nx,ny)。

(7)组合成nx×ny个复随机数。

(8)对进行二维傅立叶逆变换并提取其实部作为海面高度值分布S(nx,ny)。

在此对第(3)步中空间波数分布Kx,y的产生及其意义作进一步说明:K的范围由Δx,Δy限定,以x向为例,在x向上共有nx个离散点,每一点的Kx值均在此范围内,即有nx个Kx值,令第一个离散点Kx值为,第nx个离散点Kx值为,其余点处采用等间隔取值得到其Kx值,y向Ky值取法与x向相同。由(5)式即可求得到仿真海面空间波数分布Kx,y。其意义在于根据每一点的K值可以由波数方向谱S(K,φ)得到該点处的功率。

3 仿真实验

为验证该海面建模方法的有效性,本文进行了两组实验:A组验证风速、风向以及网格数对成像结果的影响,B组验证仿真海面的波数分布与实际海浪谱波数分布的一致性。

3.1 实验A

实验分别选取了不同风速、风向、网格数,仿真海域范围为2048m×2048m,具体仿真参数设置情况见表2,仿真效果如图3所示。

3.2 实验B

实验选取图4所示仿真海面进行二维波数谱能量分布成像,从图中可以看出能量集中在某一波数附近区域。

单帧仿真海面的耗时。从中可以看出,单帧图像的仿真时间只与设定的网格数有关,随着网格数的增加,成像耗时也相应增加,对于512×512个网格数,成像耗时在毫秒级,因此该海面建模方法很好地满足了实时性方面的要求,见表3。

结论

本文基于线性滤波法设计了海面仿真算法,并利用该算法进行了多次实验,从不同方面观察了仿真效果。仿真实验结果表明通过该仿真算法得到的仿真海面表现出了真实海面的波动形态,仿真海面能量分布也近似符合所采用的P-M谱的能量分布规律,并且单帧海面生成的时间均在毫秒级,完全能够满足模拟训练的实时性要求。不足之处在于该方法无法体现海面的波浪卷曲等特征,此外算法中只考虑了重力波而忽略了海面张力波。

參考文献

[1]S L Durden and J F Vesecky. A numerical study of the separation wavenumber in the two scale scattering approximation[J].IEEE Transactions on Geoscience and Remote Sensing, 1990, Vol.28(3): p.271-272.

[2] Wright. J. W. A new model of sea clutter[J].IEEE Trans. Antennas Propag, 1968, AP-16: p.217-223.

[3]徐迎庆,苏成,李华,等.基于物理模型的流水及波浪模拟[J].计算机辅助设计与图形学报,1997(2):191-192.

[4] Stokes J.Water Waves.The Mathematical Theory with Application[M], New York: Interscience Publishers, 1957.

[5]Peachey D. Modeling waves and surf. Computer & Grapics Proceedings[J]. Annual Conference Series, ACMSIGGRAPH, New Orleans, Louisiana, 1986: p.65-74.

[6]杨怀平,胡事民,孙家广.一种实现水波动画的新算法[J].计算机学报,2002,25(6): 612-617.

[7]俞聿修.随机波浪及其工程应用[M].大连:理工大学出版社,1992.

[8]M K 奥奇.不规则海浪随机分析及概率预报[M].北京:海洋出版社,1985.

[9]徐德伦, 于定勇.随机海浪理论[M].北京:高等教育出版社,2001.

[10]杨怀平,孙家广. 基于海浪谱的波浪模拟[J]. 系统仿真学报, 2002, 4(9):1175-1178.

[11]谢薇,郭齐胜,董志明.海浪的实时视景仿真[J].计算机工程与应用, 2001(20):123-125.

[12]L M Brekhovskikh. Wave Phenomena. Berlin.Springer-Verlag, 1994.[92]L M Brekhovskikh. Waves in Layered Media. New York.Academic, 1980.

猜你喜欢
实时
一种改进的混音算法的研究与实现