紀剛 陳聰
摘 要:本文基于線性濾波法設計了一種海面建模算法,利用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.