WaveFarer 教程

WaveFarer:突破動態雷達追踪場景模擬的局限
WaveFarer 是一款創新的電磁模擬軟體,爲解决傳統電磁模擬在動態雷達追踪場景中的短板而設計。通過結合 GPU 加速技術和優化的算法引擎,WaveFarer 不僅提升了模擬效能,還簡化了複雜動態場景的建模與分析流程。
傳統電磁模擬對動態雷達場景的兩大短板
1. 難以處理動態場景
傳統電磁模擬軟體通常依賴網格生成技術,但在動態場景中(如車輛移動),物體位置的變化需要反復更新網格。這不僅耗時,還會産生大量冗餘數據,用戶還需手動整合不同時間點的模擬結果,增加了後處理的複雜性。
2. 射綫跟踪算法的效率與精度問題
射綫跟踪算法是電磁波傳播模擬的常用方法,但其均勻投射射綫的特性在動態雷達追踪場景中存在明顯缺陷:
- 目標物上的射綫密度不足,導致精度下降;
- 大量射綫浪費在非目標區域,拖累計算效率。
提高精度通常需要增加射綫密度,但這會進一步加劇算力浪費,影響整體效能。WaveFarer 的突破性優勢
WaveFarer 通過以下創新,解决上述問題:
1. 動態場景建模支持
WaveFarer 提供參數化設置和脚本編寫 API,用戶可直接在軟體內創建包含運動物體的動態場景,無需反復更新網格或手動整合數據,大幅簡化了動態模擬的流程。
2. 優化的射綫跟踪算法
改進後的射綫跟踪算法能够智能地將射綫集中投射在研究區域內的目標物上,避免算力浪費,同時確保模擬精度。結合 GPU 加速技術,WaveFarer 顯著提升了計算效率,讓用戶能够在合理的時間和算力成本內完成複雜模擬。
3. 支持GPU 加速
WaveFarer 利用 CUDA兼容GPU 的算力,解决了傳統射綫跟踪算法的效能瓶頸。每組教程包含 8-9 個短視頻,用戶可輕鬆掌握軟體的核心功能。教程中提到的脚本及相關應用程序,可以在本業面以下介紹段落下載
視頻教程
1. 稜椎反射體

雷達距離方程通常被用作一種分析工具,用于計算在收發器特定距離處的目標接收功率。

在本教程中,一個由一台發射器和一台接收器組成的收發器使用了增益爲16 dBi的24.1 GHz天綫,並發射0 dBmW的功率。模擬了一個20 dBsm角反射器在5米至160米之間遞增距離上的接收功率,然後將WaveFarer生成的結果與雷達距離方程進行對比並繪製成圖。
本教程所需的腳本等相關文檔請在這裡下載: 教程腳本
本教程涵蓋了以下操作技能:
1. 通過定義一個棱錐體來創建角反射器。
2. 定義一個參數,用于改變角反射器與原點之間的距離。
3. 爲角反射器分配PEC(理想電導體)材料,以定義其電磁特性。
4. 添加兩個收發器組件,每個組件包含一個45度定向天綫:一個爲發射器,波形頻率爲24.1 GHz;另一個爲接收器。
5. 設置模擬條件,包括2次反射、1次衍射、面目標以及MEC衍射。
6. 編寫並執行脚本,用于動畫化幾何體並確認參數掃描行爲的正確性。
7. 運行模擬,執行從5米位置到160米位置、以2.5米爲增量的參數掃描。
8. 評估接收功率與其到原點距離的關係。
9. 導入脚本以繪製雷達距離方程的圖表。
教程視頻B站連結:
首先,創建零件。
1. 在項目樹中右鍵單擊“Parts”,然後選擇“Create New ❯ Pyramid”以打開編輯器。
2. 在“Edit Pyramid ”頁簽下,通過鍵入(.247 m)/sqrt(3)作爲“高度”值來定義其大小。
3. 輸入(.247 m)*sqrt(2/3)作爲“半徑1”值。
4. 輸入(.247 m)*sqrt(2/3)作爲“半徑2”值。
5. 輸入0 m作爲“Top”值。
6. 輸入3作爲“Sides”值。
7. 使用“Create as”下拉caidan1選擇“Sheet”。
8. 在“Name”欄位鍵入“Corner Reflector”,爲名稱。
9. 在“Specify Orientation”頁簽下,從“Preset”下拉菜單中選擇“YZ Plane”。
10. 在“Geometry”窗口中,右鍵單擊W軸,然後選擇“Rotate around W”。
11. 輸入-90
12. 單擊窗口右上角的“Done”以關閉編輯器。
然後,移除其中一個面。
13. 在project tree的Corner Reflector上單擊鼠標右鍵,然後選擇“Modify ❯ Remove Faces”。
14. 單擊右側邊欄中的“Zoom to Extents ”按鈕。
15. 單擊YZ平面中的面。
16. 在“Preview”頁簽下,取消“Close gaps left by removed faces”。
17. 單擊“Done”關閉編輯器。
3. 視頻鏈接: 參數化角反射器
參數可以用爲單個值或公式的方式來定義,之後可以接著在WaveFarer的大多數設置欄位中使用。在這個案例中,我們將使用參數化來沿x軸移動角反射器。
首先,創建一個參數。
1. 單擊WaveFarer窗口右側的”Parameters”按鈕。
2. 單擊“Parameters”窗口左上角的“Add”按鈕。
3. 在突出顯示的字段中鍵入”targetLocation” 作爲參數名稱。
4. 按Tab鍵,在“Formula”單元格中鍵入”10 m”。
5. 按Tab鍵,然後在“Description”單元格中鍵入“Distance to the corner reflector”。
6. 單擊”Apply”。
然後,將參數應用于反射器。
7. 在Project tree中的Corner Reflector上單擊鼠標右鍵,然後在菜單中選擇“Modify ❯ Transform ❯ Translate”。
8. 在“Specify Translation”頁簽下,單擊幷拖動W'箭頭,以驗證棱角反射器是否沿x軸移動。
9. 輸入稍早設置的參數”targetLocation”作爲W'值。
10. 單擊“Done”關閉編輯器。
通過單擊“Zoom to Extents”按鈕,然後單擊Project tree中的“Corner Reflector”,在“Geometry”窗口的邊界框中查看棱角反射器的新坐標。通過在“Parameterss”窗口中將定義更改爲”15 m”,單擊“Apply”,然後重新檢查邊界框,驗證棱角反射器是否根據參數的公式移動。
4. 視頻鏈接: 定義及配置PEC材料
零件的散射行爲跟材料參數相關,因此首先需要定義材料,然後將其配置給棱錐反射器。WaveFarer的Definitions節點允許用戶定義電磁屬性,幷用于多個零件使用它,這段是基礎教程,只用于一個零件。
首先,定義反射器材料。
1. 在Project tree中的“Materials”單擊鼠標右鍵,然後選擇“New Material Definition”。
2. 輸入新材料名稱爲PEC。
3. 按Enter鍵確認名稱。
4. 雙擊Project tree中的PEC打開材質編輯器。
5. 點開窗口頂部的“Type”下拉式菜單,選擇Perfect Electrical Conductor 將材料設爲PEC”。
6. 如果需要,選擇“Apperance”頁簽,更改顯示顔色。
7. 單擊“Done”以完成PEC材料設置。
然後,將材質指定給“Corner Reflector”。
8. 從Project tree的“Definitions”分支中單擊幷拖動剛才設置的PEC材料,然後將其放置在項目樹的零件分支中的Corner Reflector的頂部,將零件與材料關聯起來。
5. 視頻鏈接: 建立收發機
首先設置天綫。
1. 在project tree的“Definitions”分支右鍵單擊“Antennas”,然後選擇“New Antenna Definition”。
2. 在Project Tree中,輸入天綫名稱”Directional (45 deg)”。
3. 按Enter鍵將新天綫添加到項目中。
4. 鼠標雙擊名爲”Directional (45 deg)”的新天綫,打開天綫編輯器。
5. 在編輯器中,單擊“Type”打開菜單,選擇“Directional”。
6. 設置E-Plane Half Power Beam Width爲45 (度)。
7. 設置H-Plane Half Power Beam Width爲45 (度)。
8. 取消勾選“Auto”,幷輸入16 dBi作爲最大增益。
9. 單擊“Done”關閉編輯器。
接下來,建立收發器。
10. 右鍵單擊Project tree的transceiver分支,然後選擇”New Transceiver Points Layout” 打開編輯器。
11. 在“Layout”頁簽,單擊“Type”欄位的下拉式菜單,選擇“Transmitter”。
12. 在下一行中(眼睛圖示),勾選在此位置顯示方向圖的框。
13. 單擊右側工具欄中的“Zoom to Extents”按鍵,使用鼠標滾輪進行放大。
14. 勾選“Changes to Radius Affects All Points”選項。
15. 單擊“Radius”列,輸入0.02 m。
16. 單擊Layout頁簽右側的Add按鈕。
17. 在第二個點的“Type”行打開下拉式菜單選擇“Receiver”。
18. 按Enter鍵確認設置。
19. 選擇表格中的Transmitter列。
20. 選擇頁簽頂部的工具按鈕來切換至方向設置。
21. Y值欄位輸入0.02 m。
22. 按Enter鍵確認更改。
23. 將頁簽頂部的Point更改爲2以選擇Receiver。
24. Y值欄位輸入-0.02 m
25. 按Enter鍵確認更改。
26. 在名稱字段中鍵入收發器w/1 Tx,1 Rx,輸入收發器名稱。
27. 單擊“Done”關閉編輯器。
接著設置波形。
28. 在Project tree的定義分支中,雙擊Sinusoid打開波形編輯器。
29. 頻率輸入24.1 GHz。
30. 鍵入“ 24.1 GHz Sinusoid”爲波形名稱。
31. 單擊“Done”關閉編輯器。
6. 視頻鏈接: 設置模擬條件
用戶可以在Analysis Configurations分支中設置輸入,調節計算引擎進行仿真以獲得精度和運行時間之間的平衡。尋徑條件允許的反射和衍射次數决定了射綫路徑與幾何面或邊緣的最大相互作次數。允許的次數越高精確度越高,運行時間也越長。
1. 鼠標右鍵單擊Project Tree中的”Analysis Configurations”分支,選擇“New Physical Optics Configuration“
2. 在新建的分支名稱輸入”2R1D”,作爲配置名稱。
3. 按Enter鍵將確認2R1D添加Analysis Configurations中。
4. 雙擊Project tree中的“2R1D”打開Physical Optics Configuration Editor。
5. 在“Properties”頁簽確認設置,本教程使用默認設置。反射次數爲2,衍射次數爲1,最小角射綫間距爲0.01度, Gain Threshold 爲30dBi,在Physical Optics 區塊勾選“Include MEC Diffractions”以及“Allow Knife Edges”。
6. 單擊“Done”完成設置。
7. 視頻鏈接: 動態化場景
項目設置完成後,用戶可以通過編寫和執行一個簡短的脚本來設置幾何體的動畫。此步驟不是必需的,但建議執行,因爲這讓用戶可以直觀的確認創建模擬時參數掃描按預期運行。
1. 右鍵單擊Project tree 的Scripts分支,然後選擇“New Macro Script”以打開脚本編輯窗口。
2. 在項目樹中,右鍵單擊“New Macro Script”,然後選擇“Rename”
3. 鍵入Sweep targetLocation命名脚本。
4. 按下Enter鍵完成命名。
在脚本窗口中輸入以下脚本:
var list = App.getActiveProject().getParameterList();
for( var t = 5; t <= 160; t += 5 )
{
list.setFormula( "targetLocation", t + " m" );
App.sleep( 100 );
}
5. 按下工具欄中的“Commit”按鈕保存脚本,然後關閉“Scripting”窗口。
6. 通過單擊右側邊欄中的“Zoom to Extents”將幾何圖形放置在視圖中。
7. 在Project tree中右鍵單擊Sweep targetLocation脚本打開菜單,然後選擇Execute以運行脚本。
8. 觀察Corner Reflector沿x軸移動,直到它位于視野範圍之外。
8. 視頻鏈接: 創建及執行模擬
項目設置完成後,需要存盤,便于開始仿真和寫入輸出文件
首先,將項目存盤。
1. 單擊WaveFarer窗口左上角的“File”,然後選擇“Save Project As”。
2. 輸入“Corner Reflector”作爲項目名稱。
3. 單擊“Save”。
然後,開始設置仿真。
4. 單擊WaveFarer右上角的Simulation按鍵打開仿真設置窗口。
5. 單擊“Simulations”窗口左上角的“Create New Simulation”按鈕。
6. 在“Create Simulation”窗口中,通過在“Name”欄位中鍵入“Sweep from 5 to 160 m”命名。
7. 使用下拉箭頭選擇2R1D作爲配置。
8. 如果適用于用戶的電腦,請更改“Resource”頁簽設置,以匹配用于仿真的硬件。
9. 在“Setup Parameter Sweep” 頁簽,勾選“Perform Parameter Sweep”。
10. 單擊“Add a new parameter sequence“按鈕設置一組參數掃描。
11. 確認“targetLocation”是要掃描的參數。
12. 使用“Sweet Type”下拉式菜單選擇設置“開始(Start)”、“結束 (End)”、“計數(Count)”。
13. 輸入63作爲Count值。
14. 輸入5m作爲Start值。
15. 輸入160 m作爲End值。
16. 確認參數值變化是否在5米至160米之間,每次增量爲2.5米(即5米、7.5米、10米等)。
17. 單擊“Create&Queue Simulation”按鍵開始仿真。
用戶會注意到,仿真現在顯示在“Simulations”窗口的頂部,“Sweep”字段指示正在模擬63個參數值中的哪一個。仿真完成幷生成結果後,狀態字段將更改爲完成。
9. 視頻鏈接: 查看接收功率與距離的關係
經由仿真得到的接收功率可以通過運行脚本根據項目定義的參數繪製。接著可以導入第二個macro(宏),用于將WaveFarer的結果與雷達距離方程結果進行比較。
首先繪製接收功率與參數的關係圖。
1. 獲取或下載繪圖接收功率與參數脚本(Plot Received Power Versus Parameter),幷將其保存在WaveFarer的宏(Macro)文件夾中(用戶可以向本地代理詢問脚本)。
2. 在WaveFarer窗口左上角,選擇Macro,接著選擇Results ❯ Plot Received Power Versus Parameter打開編輯器。
用戶需要注意到,Project、Simulation和Sensor設置各只有一個可用選項。這些默認值用于繪製此項目所需的接收功率大小。
3. 單擊“OK”完成編輯
用戶需注意,單位選擇爲“Distance”,兩個收發器框均已勾選。這些默認值將繪製Rx 0從Tx 0接收到的功率與距離的關係圖。
4. 單擊“OK”再次更改編輯器。
用戶需注意,這會創建一個XY平面圖,幷且可以自定義其標題和標簽。
5. 單擊“OK”關閉編輯器。
確認圖形是否出現在Project tree的Graphs分支中,然後雙擊它進行查看。
接著導入求解雷達距離方程的脚本。
6. 下載“Plot Radar Range Equation”脚本 (用戶可以向本地代理詢問)。
7. 右鍵單擊Project Tree的Scripts分支,然後選擇Import Scripts。
8. 從脚本文件中選擇Plot Radar Range Equation.xmacro。
9. 單擊“Open”將脚本添加到項目中。
10. 在Project tree的Scripts分支中右鍵單擊”Plot Radar Range Equation”,然後選擇Execute。
11. 雙擊Project tree中的接收功率與目標位置圖,查看雷達距離方程脚本生成的圖。
12. 驗證雷達距離方程生成的圖與模擬結果是否匹配。
2. 用戶自定義天線
用戶自定義的天綫輻射場型可以被寫入*.uan文件並導入WaveFarer使用,天綫被導入WaveFarer後,用戶可以在場景中使用這個天綫。
本教程的第一部分探討了一個在XFdtd中模擬的77 GHz雷達,確定了發射器和兩個接收器的3D輻射場型。這些場型數據被寫入三個*.uan文件,隨後作爲天綫文檔導入WaveFarer。接著創建一個包含1個發射器(波形頻率爲77 GHz)和2個接收器的收發器並至于原點。
本教程的第二部分包括創建一個參數化的球體,並這個目標物體以一個弧形軌迹掃過雷達的前方。模擬運行時,參數從-90度到90度以1度爲增量描述運動軌迹進行掃描,WaveFarer模擬在弧綫上的每個點信號從球體上的散射。當180度的掃描完成後,將兩個接收器之間的相位差與預期結果進行比較。基于相位差結果證實天綫方向圖已正確導入。
本教程所需的天線及腳本等相關文檔請在這裡下載: 教程腳本
本教程涉及以下技能點:
1. 從XF項目中導入*.uan文件作爲天綫定義;
2. 添加一個收發器,包含一個發射器(波形頻率爲77 GHz)和兩個接收器;
3. 創建並應用距離和旋轉參數;
4. 添加一個球體,並在距離原點10米的位置上,對其進行180度的位置掃描;
5. 爲球體分配PEC材料,以定義散射目標的電磁特性;
6. 設置分析配置,包括1次反射、0次衍射以及面元目標;
7. 編寫並執行脚本,用于動畫演示幾何結構並確認參數掃描行爲的正確性;
8. 運行模擬,執行從-90度到90度、以1度爲增量的參數掃描;
9. 評估兩個接收器之間的相位差。
教程視頻:
1. 視頻鏈接: 總覽
本教程演示以下功能操作:
1 從XFDTD導入一個*.uan文件作爲天綫。
2 增加一組77GHz頻率的收發器,由一個發射器和兩個接收器組成。
3 創建幷應用距離和旋轉參數。
4 添加一個距離原點10米的球體,幷設置其移動軌迹掃掠180度。
5 將球體材料設置爲PEC,以定義散射目標的電磁特性。
6 將分析配置設置爲包括1次反射、0次衍射和麵瞄準。
7 編寫幷執行一個脚本,爲幾何體設置動態幷確認參數掃描設置正確。
8 執行模擬,以1度爲增量從-90度到90度執行參數掃描。
9 評估兩個接收器之間的相位差。
2. 視頻鏈接: 導入天綫
通過導入XFDTD支持的*.uan文件可以使用自定義天綫。本教程會使用三個用戶自定義天綫。*.uan格式文檔可以從XFDTD導出或從其他模擬軟件輸出文檔轉換
1 確認三個*.uan文件已經準備好。
2 在Project tree中右鍵單擊“Antennas”,然後選擇“New Antenna Definition”。
3 輸入新天綫名稱爲Tx。
4 按Enter鍵確認名稱更改。
5 雙擊Project Tree中的天綫以打開天綫編輯器。
6 使用“Type”下拉菜單選擇“User-defined”。
7 在“Properties”選項卡下,單擊“Select UAN file to import”。
8 選擇所需的*.uan文件。
9 單擊“Open”將導入的文件加載到天綫編輯器中。
10 單擊“Done”關閉編輯器。
11 重複步驟2至10,以Rx 1作爲名稱導入第一個接收器。
12 重複步驟2至10,以Rx 2作爲名稱導入第二個接收器。
3. 視頻鏈接: 添加收發機
收發機(Transceiver)是發送和接收射綫的點(天綫或通訊模塊安裝的位置)。本教程將包括一個發射機和兩個接收機,以及相關的天綫和波形設置。
首先,創建收發器。
1. 右鍵單擊Project tree的Transceivers分支,然後選擇” New Transceiver Points Layout”以打開編輯器。
2. 在“Layout”頁簽單擊“Type”欄位,然後使用下拉菜單選擇“Transmitter”。
3. 勾選下一列中的方框,可以在此收發機位置顯示3D天綫方向圖
4. 單擊右側邊欄中的“Zoom to Extents”,然後使用鼠標滾輪進行放大。
5. 勾選“Changes to Radius Affects All Points”選項。
6. 在的“Radius”列中單擊,然後輸入1.5 mm。
7. 單擊Layout頁簽右側的添加( + 按鍵)按鈕以添加第一個接收器。
8. 在Type字段中單擊鼠標,然後使用下拉菜單選擇Receiver。
9. 在Antenna欄位中單擊鼠標,然後使用下拉菜單選擇Rx 1。
10. 單擊Layout頁簽右側的添加(+ 按建)按鈕以添加第二個接收器。
11. 在天綫字段中單擊,然後使用下拉箭頭選擇Rx 2。
12. 按Enter鍵確認更改。
13. 通過單擊Transmitter選擇表格中的第一個點。
14. 通過單擊Layout頁簽頂部的“Switch to orientation editing mode”按鈕來切換至方向編輯設置。
15. 輸入“-15 mm”作爲Y值。
16. 按Enter鍵確認更改。
17. 選擇編號爲2的點以編輯第一個接收器的位置。
18. 切換至方向編輯設置,輸入14 mm作爲Y值。
19. 按Enter鍵確認更改。
20. 選擇編號爲3的點設置第二個接收器的設置。
21. 切換至方向編輯設置,輸入16 mm作爲Y值。
22. 按Enter鍵確認更改。
23. 在Layout頁簽右上的Name欄位中鍵入”Transceriverw/1 Tx,2 Rx”來命名收發器。
24. 單擊“Done”關閉編輯器。
然後,設置波形的屬性。
25. 在Project tree的Definitions分支中,雙擊Sinusoid波形打開波形編輯器。
26. 輸入77 GHz作爲頻率。
27. 在“Name”框中鍵入”77 GHz Sinusoid”來命名波形。
28. 單擊“Done”關閉編輯器。
通過打開收發器編輯器幷檢查發射器的屬性來驗證更改。
4. 視頻鏈接: 建立參數化的球體
定義了天綫,設置收發機後,用戶就可以開始教程第二部分,建立一個球體作爲散射物體體,然後設置兩個參數進行平移和旋轉。
首先,建立散射體幾何模型。
1. 在Project的“Parts”分支上單擊鼠標右鍵,打開菜單,選擇“Create-》Sphere”。
2. 輸入0.05 m作爲“Radius”值。
3. 單擊“Done”關閉編輯器。
接下來,定義參數。
4. 單擊WaveFarer窗口右側的”Parameters”按鈕。
5. 單擊“Add”按鈕。
6. 在“Name”欄位中鍵入“translationDistance”。
7. 按Tab鍵,然後在“Formula”字段中輸入10m。
8. 如果需要,按Tab鍵幷輸入簡短說明。
9. 單擊”Add”按鈕。
10 在“名稱”欄位中鍵入“rotationAngle”。
11. 按Tab鍵,然後在“Formula”字段中輸入”90 deg”。
12. 單擊“Apply”幷關閉Parameters窗口。
接著,修改幾何圖形。
13. 在Project tree的“Parts”分支中右鍵單擊“Sphere”,然後在菜單選擇“Modify->Transfor->Translate”。
14. 在“Specify Translation”頁簽下,輸入translationDistance參數作爲U值。
15. 單擊“Done”關閉編輯器。
16. 在Project tree 的“Parts”分支中右鍵單擊“Sphere”,然後在菜單選擇“Modify ->Transform->Rotation”。
17 在“Specify Rotation”頁簽下,輸入“rotationAngle”參數作爲“Angle”值。
18. 單擊“Done”關閉編輯器。
通過在“Parameters”窗口中將Formula欄位數值更改爲”45 deg”單擊“Apply”,幷在“Geometry”窗口中檢查邊界框,驗證球體是否根據參數的公式移動。
5. 視頻鏈接: 建立並配置PEC材料
用戶需要設置模型的材料模擬軟件正確呈現其散射特性,WaveFarer的definitions節點允許用戶定義電磁材料特性,幷應用模型中的各種物體跟表面,本教程是基礎教程,所以只有一個物體。
首先,定義材料。
1. 在項目樹中的“Materials”上單擊鼠標右鍵,然後選擇“New Material Definition”。
2. 在突出顯示的欄位中鍵入PEC爲材料名稱。
3. 按 Enter 鍵確認名稱設置。
4. 雙擊PEC以打開材料編輯器。
5. 使用下拉菜單將“Type”更改爲“Perfect Electrical Conductor (PEC)”。
6. 如果需要,請導切換“Appearance”頁簽,然後選擇 PEC 材料的顯示顔色。
7. 單擊“Done”以完成 PEC 材料設置。
然後,將材料設置給球體。
8. 從項目樹的“Definitions”分支中單擊幷拖動PEC材料,幷將其放置在項目樹“Parts”分支中的Sphere。
6. 視頻鏈接: 設置分析條件
用戶可以在”Analysis Configurations”設置中輸入,控制計算引擎如何進行模擬,從而在精度和運行時間取得平衡。反射和衍射值决定了射綫路徑與幾何體面和邊的最大相互作用次數。這些值設的越大,精度越高,同時運行時間也越長。
1. 在項目樹中右鍵單擊“Analysis Configurations”,然後選擇“New Physical Optics Configuration”。
2. 輸入配置名稱1R0D。
3. 按 Enter 鍵確認名稱。
4. 雙擊項目樹中剛才建立的”1R0D”,打開配置編輯器。
5. 在“Properties”頁簽,在”Number of Reflections”輸入 1, 接著在“Number of Diffractions”輸入 0 作爲衍射數。
6. Minimum Angular Ray Spacing保留默認設置0.01度,確認勾選“”Restrict Rays By Gain Threshold“,增益閾值設爲30 dB
7. 確認有勾選” Include MEC Diffractions” , 同時確認未勾選Allow Knife Edges。
8. 單擊“Done”關閉編輯器。
7. 視頻鏈接: 動態化場景
項目設置完成後,用戶可以通過編寫和執行脚本來爲幾何圖形製作動畫。此步驟不是必需的,但建議執行,因爲它可以用于直觀地確認創模擬時參數掃描將按預期運行。
1. 右鍵單擊項目樹的Scripts分支,然後選擇”New macro Scripts”以打開脚本窗口。
2. 右鍵單擊項目樹中的新建脚本,然後選擇Rename。
3. 輸入脚本的名稱爲Sweep rotationAngle。
4. 按 Enter 鍵確認名稱更改。
5. 在脚本窗口中輸入以下代碼:
var list = App.getActiveProject().getParameterList();
for( var a = -90; a <= 90; ++a )
{
list.setFormula( "rotationAngle", a + " deg" );
App.sleep( 20 );
}
6. 通過單擊工具欄中的Commit圖標來保存脚本。
7. 右鍵單擊項目樹中的 Sweep rotationAngle 幷選擇Execute來驗證脚本,在幾何窗口中觀察球體繞原點旋轉。
8. 視頻鏈接: 建立並執行模擬
建模及相關設置完成後,必須存盤才能創建新的模擬幷産生輸出文件。
首先,保存項目。
1. 單擊 WaveFarer 窗口左上角的 ”File”,然後選擇Save Project As。
2. 輸入” User-Defined Antennas” (需使用英文)爲項目名稱。
3. 單擊Save。
然後,創建幷運行模擬。
4. 單擊 WaveFarer 右上角的Simulations按鈕以打開Simulation窗口。
5. 單擊Simulations窗口左上角的Create New Simulation按鈕。
6. 在Create Simulation窗口中,通過在名稱鍵入模擬名稱爲 Sweep -90 to 90 deg at 10 m 。
7. 在Configuration菜單選擇 1R0D 作爲配置。
8. 在Resource 區塊,依照用戶的硬件資源具體的條件設置模擬要運用的硬件資源。
9. 在Setup Parameter Sweep頁簽下,勾選Perform Parameter Sweep。
10. 單擊Add a new parameter sequence按鈕以定義參數掃描。
11. 在Parameter to Sweep 選擇 rotationAngle 爲要掃描的參數。
12. 使用Sweep Type下拉菜單選擇Start, End, Count。
13. Count輸入 181 。
14. Staring Value輸入 -90 度。
15. Ending Value輸入 90 度。
驗證評估值是否在 -90 度和 90 度之間,增量爲 1 度(即 -90 度、-89 度、-88 度等)。
16. 單擊 Create & Queue Simulation進行模擬。
模擬現在出現在模擬窗口的頂部,掃描字段指示正在模擬 181 個參數值中的哪一個。模擬完成幷生成結果後,狀態字段將更改爲完成。
9. 視頻鏈接: 繪製相位差圖
到這邊仿真結果已生成,接著通過運行脚本,可以將每個接收器接收到的功率與項目定義的參數進行對比幷繪製成圖。此外,還將使用第二個macro來繪製接收器之間的相位差。這兩個脚本可以聯繫代理取得
首先,生成接收功率的圖表。
1. 跟代理技術支持取得“Plot Received Power Versus Parameter”脚本,幷將其保存到 WaveFarer 的macro文件夾中。
2. 在 WaveFarer用戶界面的左上角,選擇 Macros,然後依次點擊 Results ❯ Plot Received Power Versus Parameter 以打開編輯器。
請注意,Project、Simulation 和 Sensor 設置中每個選項僅有一個可用選項。
3. 通過從下拉菜單中選擇 Phase 來更改複數部分。
4. 點擊 OK 以確認更改幷關閉編輯器。
請注意,雖然參數的名稱顯示在括號中,但其單位不會與仿真輸出數據數據一起存儲。此外,默認勾選的三個收發器框將會依照本項目的需求繪製 Tx 0 到 Rx 0 和 Rx 1 的接收功率隨距離變化的曲綫。
5. 通過從下拉菜單中選擇 Angle 來更改參數的單位。
6. 再次點擊 OK 以確認更改幷關閉編輯器。
請注意,WaveFarer將生成一個 XY 圖,其標題 (title) 和標簽(labels)均可自定義。
7. 點擊 OK 關閉編輯器。
確認圖表已出現在項目樹的 Graphs 分支中,鼠標雙擊即可查看。
接下來,使用第二個脚本來繪製相位差。
8. 在 WaveFarer 的左上角,選擇 Macros,然後依次點擊 Results ❯ Plot Phase Difference 以打開編輯器。
請注意,編輯器的上半部分將 Rx 0 和 Rx 1 分別指定爲 Plot A 和 Plot B。這表明接收功率圖是數據源,我們將計算其兩個圖表之間的差值。
9. 在編輯器的 Destination 部分,輸入圖表名稱 Rx 0 - Rx 1。
10. 點擊 OK 關閉編輯器。
確認相位差圖表與基于步驟 1 中 XF 項目的預期結果一致。
3. 追蹤運動中車輛目標
本教程通過模擬使用車輛目標進行的雷達駕駛測試,並對結果進行後處理以生成距離-多普勒圖。
教程引導用戶,導入車輛目標組件文檔以及用于定義地面電磁特性的瀝青材料。隨後,添加了一個收發器,該收發器包含一個發射器(使用77 GHz正弦波形)和一個接收器。每個收發器組件均配備了一個30度的定向天綫。
車輛目標和雷達的位置是基于各自起點和在0到9秒時間範圍內的速度進行參數化的。用戶可以通過編寫並執行一個簡短的脚本來動畫化幾何圖形,以確認時間參數將按預期行爲。模擬從3秒開始,並一次性發射一幀包含51個綫性調頻脉衝的信號,起始頻率和終止頻率分別爲77 GHz和81 GHz。
用戶可以對WaveFarer的結果進行後處理,以生成3秒時的距離-多普勒圖。該輸出顯示了目標在指定時間段內根據所應用的速度參數移動時,對雷達的響應。
本教程需要幾個輔助程序,3個均為完成教程必須,用戶可以在此下載(包含較大文檔):
1. Create Liner Chirp simulation 腳本
2. Generate Range Doppler Matlab Runtime
3. Generate Range doppler腳本包
本教程運用了以下技能:
1. 導入NCAP車輛目標,並通過參數化設置爲其添加運動。
2. 通過添加拉伸體創建瀝青地面,並通過創建並配置材料來設置其電磁屬性。
3. 添加兩個收發機,每個組件包含一個30度定向天綫:一個發射器,其正弦波形頻率爲77 GHz;一個接收器。
4. 創建參數並將其應用于雷達以添加運動。
5. 定義分析邊界,以表明道路邊緣位于感興趣區域之外。
6. 配置分析,設置3次反射和2次衍射。
7. 編寫並執行一個簡短的脚本,用于動畫化幾何體並確認參數掃描行爲的正確性。
8. 運行一個從3秒開始的模擬,將發射一幀包含51個Chirp的信號,起始和終止頻率分別爲77 GHz和81 GHz。
9. 生成距離-多普勒圖,基于車輛目標對雷達信號的響應顯示其位置和速度。
教程視頻
1. 視頻鏈接: 總覽
2. 視頻鏈接: 添加車輛目標
導入車輛目標模型,隨後創建參數以對目標應用運動。
首先,添加車輛目標模型
1. 點擊WaveFarer窗口右側的“Libraries”按鈕,打開編輯器。
2. 在編輯器左側的“Libraries”區塊,選擇“Automotive Radar”。
3. 在“Filters”區塊,選擇“Parts”。
4. 在編輯器的下半部分,點擊“Euro NCAP Vehicle Target”幷將其拖拽到項目樹的“Parts”分支中。
5. 在“Material Assignments”窗口中點擊“OK”,將車輛添加到項目中。
6. 關閉Libraries窗口。
確認車輛模型出現在項目樹的“Parts”分支中。同時,確認相關的材料已被添加到項目樹的“Definitions”分支中。
接下來,創建參數。
7. 點擊WaveFarer窗口右側的“Parameters”按鈕,打開參數窗口。
8. 在參數窗口的左上角點擊“Add”按鈕。
9. 輸入參數名稱 “targetVelocity”。
10. 按下Tab鍵,在Formula欄位中輸入10 m/s (數值跟單位間要有空格)。
11. 按下Tab鍵,在Description欄位中輸入Velocity of vehicle target。
12. 按下Tab鍵以添加第二個參數。
13. 在Name欄位中輸入startLocation
14. 按下Tab鍵,幷在Formula欄位中輸入100 m(數值跟單位間要有空格)。
15. 按下Tab鍵,幷在Description欄位中輸入Separation between target and sensor at t=0 s。
16. 按下Tab鍵以添加第三個參數。
17. 在“Name”字段中輸入 t。
18. 按下Tab鍵,在Formula欄位中輸入0 s(數值跟單位間要有空格)
19. 按下Tab鍵,在Description欄位中輸入Time
20. 按下Tab鍵以添加第四個參數。
21. 在Name欄位中輸入targetLocation。
22. 按下Tab鍵,在Formula欄位輸入 startLocation + targetVelocity*t 。
23. 按下Tab鍵,在Description欄位中輸入 Location of target at time t。
24. 點擊“Apply”幷關閉參數窗口。
接下來,將參數應用到項目中。
25. 在項目樹中右鍵點擊Euro NCAP Vehicle Target這個零件打開菜單,然後選擇 Modify ❯ Specify Orientation。
26. 點擊編輯器右側的Advanced Mode 按鈕。
27. 在編輯器左側選擇Anchor。
28. 在Anchor: Fixed Position區塊,將 U 值設置爲 targetLocation。
29. 點擊 Done 關閉編輯器。
在幾何窗口中,點擊Zoom to Extents按鈕,然後在項目樹中點擊Euro NCAP Vehicle Target,查看車輛目標的新坐標邊界框。確認目標已移動到 100 米 處。
3. 視頻鏈接: 創建瀝青地面
這個場景的地面被建模爲一個片體(Sheet Body),這個階段通過創建幷幾何模型幷配置一種(dielectric half space)材料。
首先,創建地面。
1. 在項目樹的“Parts”分支上點擊右鍵,選擇“Create New”,然後選擇“Sheet Body”以打開編輯器。
2. 通過點擊幾何窗口右側的“View from+Z (top)”來改變視角。
3. 在“Edit Profile”頁簽下,使用下拉箭頭從形狀工具欄中選擇“Rectangle”工具。
4. 在繪圖窗口中,點擊位置 -5, -10, 0來選擇幾何模型的第一個點。
5. 按下Tab鍵,在“Specify Position”窗口中輸入”200 m”作爲U′值。
6. 再次按下Tab鍵,輸入”10 m”作爲V′值。
7. 點擊“OK”。
8. 在Name欄位輸入“Ground”來命名這個零件。
9. 點擊“Done”以保存對項目的更改。
接下來,設置材料。
10. 點擊WaveFarer窗口右側的“Libraries”按鈕。
11. 在數據庫窗口中,通過點擊“Materials”來更改檢索。
12. 點擊窗口下方的“Asphalt (瀝青)”材料,幷將其拖拽到項目樹的“Materials”節點中。
13. 在項目樹的“Definitions”分支中,點擊“Asphalt”幷將其拖拽到“Parts”分支中的“Ground”上。
14. 關閉“Libraries”窗口。
然後將地面設置爲環境。
15. 在項目樹中右鍵點擊“Ground”,選擇“Set as Environment”。
右鍵點擊項目樹的“parts”分支,選擇“View Parts List (All Parts)”以打開窗口,確認部件設置正確。確保第二列顯示所有車輛部件均設置爲散射體,地面設置爲環境,然後關閉窗口。
4. 視頻鏈接: 創建並參數化收發器
收發器是射綫被發射及抵達的位置。在本段落中,它由一個發射器和一個接收器組成,幷包含相關的天綫和波形定義。同時設置一個參數代表收發機移動速度速度幷應用于模擬。
首先,定義天綫。
1. 在項目樹的“Definitions”分支中,右鍵點擊“Antennas”,然後選擇“New Antenna Definition”。
2. 輸入“Directional (30 deg)”來命名天綫。
3. 按下回車鍵以確認名稱更改。
4. 在項目樹中鼠標左鍵雙擊“Directional (30 deg)”以打開天綫編輯器。
5. 在編輯器中,使用“Type”下拉菜單選擇“Directional”。
6. 在“E平面半功率波束寬度(E-Plane Half Power Beam Width)”中輸入30度。
7. 在“H平面半功率波束寬度(H-Plane Half Power Beam Width)”中輸入30度。
8. 點擊“完成”以關閉編輯器。
接下來,創建收發器 (Transceiver)。
9. 在項目樹的“Transceivers”分支上右鍵點擊,然後選擇“New Transceiver Points Layout”。
10. 在“Layout”頁簽,點擊“Type”幷使用下拉箭頭選擇“Transmitter”。
11. 在下一列中,勾選“Activates the antenna pattern for viewing at this location”的勾選框。
12. 勾選“Changes to Radius Affects All Points ”選項。
13. 點擊“Radius”欄位幷輸入0.025 m (數字跟單位間需要空格)。
14. 點擊“Layout”標簽右側的“+”按鈕。
15. 點擊第二個點的“Type”欄位,幷使用下拉箭頭選擇“Receiver”。
16. 按下回車鍵以應用更改。
17. 通過點擊“Transmitter”來選擇表格中的第一個點。
18. 點擊標簽頂部的“方向編輯”按鈕以切換方向編輯設置。
19. 輸入0.007 m作爲Y值。
20. 輸入0.5 m作爲Z值。
21. 按下回車鍵以應用更改。
22. 選擇點二的“接收器”。
23. 輸入-0.007 m作爲Y值。
24. 輸入0.5 m作爲Z值。
25. 按下回車鍵以應用更改。
26. 中輸入“Radar”作爲收發器的名稱。
27. 點擊“完成”以關閉編輯器。
然後,對收發器進行參數化。
28. 點擊WaveFarer窗口右側的“Parameters”按鈕以打開參數窗口。
29. 點擊窗口左上角的“+”按鈕。
30. 輸入“sensorVelocity”作爲參數名稱。
31. 按下Tab鍵,幷在“Formula”欄位中輸入“20 m/s”。
32. 按下Tab鍵,幷在“Description”欄位中輸入“Velocity of radar sensor”。
33. 按下Tab鍵,幷在輸入“sensorLocation”作爲下一個參數名稱。
34. 按下Tab鍵,幷在“Formula”中輸入“sensorVelocity*t”。
35. 按下Tab鍵,幷在“Description”字段中輸入“Location of radar sensor at time t”。
36 點擊“Apply”以保存更改幷關閉參數窗口。
37. 在項目樹的“Transceivers”分支中,雙擊“Radar”以打開編輯器。
38. 在“Specify Orientation”標簽下,點擊編輯器右側的“Advanced Mode”按鈕。
39. 在編輯器左側選擇“Anchor”。
40. 在“Anchor:Fixed Position欄位輸入“sensorLocation”作爲U值。
41. 點擊“Apply”。
42. 點擊“Done”以關閉編輯器。
接下來,設置波形
43. 在項目樹的“Definitions”分支中,雙擊“Sinusoid”波形編輯器。
44. 輸入“77 GHz”作爲頻率。
45. 輸入“77 GHz Sinusoid”作爲波形名稱。
46. 點擊“Done”以關閉編輯器。
5. 視頻鏈接: 設置分析邊界
Analysis Boundary(分析邊界)定義了模擬覆蓋的區域。在本教程中,邊界設置在道路內部,以消除不必要的衍射,從而獲得更加真實的結果。
1. 在項目樹中右鍵點擊“Analysis Boundaries”,然後選擇“New Analysis Boundary”以打開編輯器。
2. 在X1欄位中輸入199 m。
3. 在Y1欄位中輸入-9 m。
4. 在Z1欄位中輸入-1 m。
5. 在X2欄位中輸入-4 m。
6. 在Y2欄位中輸入9 m。
7. 在Z2欄位中輸入5 m。
8. 在Name欄位中輸入“Analysis Boundary”。
9. 點擊“Done”以關閉編輯器。
6. 視頻鏈接: 設置分析配置
Analysis configuration(分析配置)控制計算引擎如何評估模擬空間。用戶可以通過調整反射和衍射值在模擬精度與運行時間之間做權衡,這些值决定了射綫路徑與幾何面和邊緣的最大交互次數。數值越高,精度越高,但運行時間也會相應增加。對于車輛目標,射綫必須至少從三個面反射才能返回到接收器,因此設置值將允許三次反射和兩次衍射。
1. 在項目樹中右鍵點擊“Analysis Configurations”,然後選擇“New Physical Optics Configuration”。
2. 輸入配置名稱爲“3R2D”。
3. 按下“Enter”鍵以確認名稱更改。
4. 在項目樹中雙擊“3R2D”以打開物理光學配置編輯器。
5. 在“ Properties”選項卡下,輸入“3”作爲反射次數。
6. 輸入“2”作爲衍射次數。
7. 在“ Specialized Output Requests ”選項卡下,勾選“ Enable Time-Sampled Data”設置(2.1版不用這個操作)。
8. 點擊“Done”以關閉編輯器。
7. 視頻鏈接: 場景動畫化
項目設置完成後,用戶可以通過編寫幷執行一個簡短的脚本來對幾何體進行動畫演示。此步驟幷非必需,但建議執行,因爲它能提供視覺上的確認,確保在創建模擬時參數掃描會按預期行爲運行。
1. 在項目樹中右鍵點擊“Scripts ”分支,然後選擇“New Macro Script”以打開脚本窗口。
2. 在項目樹中右鍵點擊“New Macro Script”,然後選擇“Rename”。
3. 在項目樹中輸入脚本名稱“Sweep t”。
4. 按下“Enter”鍵以確認項目中的更改。
5. 在脚本窗口的上半部分輸入以下脚本代碼:
var list = App.getActiveProject().getParameterList();
for( var i = 0; i <= 9; i += 0.1 )
{
list.setFormula( "t", i + " s" );
App.sleep( 10 );
}
6. 點擊工具欄中的“Commit ”按鈕以保存脚本,然後關閉脚本窗口。
7. 在項目樹中右鍵點擊“Sweep t”,然後選擇“Execute ”以運行脚本。
8. 視頻鏈接: 模擬綫性調頻信號
項目設置完成後,必須將其保存,以便脚本可用于創建新的模擬幷寫入輸出文件。
1. 首先,下載腳本 “Create Linear Chirp Simulation script ”幷將其保存到 WaveFarer 的 Macros 文件夾中。
接下來,保存項目。
2. 在 WaveFarer 的左上角,點擊“ File ❯ Save Project ”以打開編輯器。
3. 選擇所需的位置,幷輸入“Euro NCAP Vehicle Target”作爲項目名稱。
4. 點擊“Save”以保存項目。
然後,在創建模擬之前檢查硬件設置。
5. 點擊 WaveFarer 窗口右側的“Simulations”按鈕以打開模擬設置窗口。
6. 點擊“Create New Simulation”按鈕以打開編輯器。
7. 確認“Resource”選項卡下的設置適合用于運行模擬的硬件。
8. 點擊“Done”以關閉編輯器。
創建幷運行模擬。
9. 在 WaveFarer 的左上角,點擊“Macros ❯ Simulate Linear Chirp ”以打開編輯器。
10. 輸入“Linear Chirp Simulation at 3 s”來命名模擬。
11. 通過從下拉菜單中選擇“t”來更改時間參數。
12. 將每幀的起始時間更改爲“3 秒”。
13. 輸入“77 GHz”作爲起始頻率。
14. 輸入“81 GHz”作爲終止頻率。
15. 輸入“20 us”作爲Chirp長度。
16. 輸入“0 s”作爲Chirp之間的重置時間。
17. 輸入“101”作爲每幀的Chirp次數。
18. 勾選“Queue simulation”選項。
19. 點擊“Create Simulation”按鈕。
9. 視頻鏈接: 生成距離-多普勒圖
用戶可以生成一個距離-多普勒圖,該圖根據車輛目標對雷達信號的響應顯示其距離和速度。
1. 下載 "generate range-doppler"這個脚本以及Generate Range Doppler Matlab Runtime
接下來,進行距離-多普勒後處理。
2. 在 WaveFarer 窗口的左上角,點擊“Macros ”幷選擇“ Generate Range-Doppler ”以打開編輯器。
3. 在“Chirp Simulation Inputs”部分,使用“Simulation”下拉箭頭選擇“000001”。
4. 在“ Chirp Sampling Parameters ”部分,輸入“2 us作爲“First Sample”。
5. 輸入“2.5 ns”作爲“采樣間隔”。
6. 輸入“6400”作爲“采樣數量”。
7. 點擊“OK”。
該圖顯示了 3 秒時的距離-多普勒數據,其中包含車輛目標基于其對雷達信號響應的距離和速度信息。