發表文章

目前顯示的是 4月, 2025的文章

AI-RAN: Nvidia Areial RAN - Sionna (4)

圖片
我們就從 Sionna RT (Ray Tracing) 開始吧, Sionna 的安裝過程已經包成 pip 套件, 通常是不會遇到甚麼問題. 如果擔心和現有 python 環境衝突, 可以用 miniconda 之類的套件處理. 安裝好 Sionna 之後, 我們就按照其範例進行實作: https://nvlabs.github.io/sionna/rt/tutorials/Introduction.html 在開始介紹 Sionna RT 之前, 我想先列一下 3 項和 AODT 的差異: Sionna RT 對場景定義使用 XML 格式, AODT 使用 USD 格式 Sionna RT 不包含 cuMAC 和 cuPHY  Sionna 不包含即時的互動介面 (AODT 藉由 Omniverse 平台實作) 在 Sionna RT 的介紹範例中, 介紹了如何載入場景, 設置基地台與使用者, 並進行通道模擬, 取出模擬通道中的通道響應, 並搭配可視化界面呈現. 由於 Nvidia 技術文件其實寫得很好, 整體執行範例也不成問題, 所以, 我們在這邊就以整體執行流程的概念來說明, 我們列出整體流程如下: 載入場景(Scene)[block 1-12] 在範例中是以 Mitsuba XML 檔載入, Mitsuba 為 Ray-Tracing Model 的底層套件 可使用 Blender 搭配 OpenStreetMap 資料建立場景 場景的圖示化須設置攝影機位置, 並針對攝影機與場景的互動, 產生如下圖片 針對場景, 另一個重點是場景中物件的特性, 這邊可以看 SceneObject 的定義 透過 SceneObject 的設定, 可以設定場景中物體的電磁特性(如混凝土、玻璃等) 放置裝置(Transmitter & Receiver)[block 13] 定義發射器與接收器的位置與天線陣列 scene.rx_array = PlanarArray(num_rows=1,                              num_cols=1,       ...

AI-RAN: Nvidia Areial RAN - Sionna (3)

圖片
之前停頓了一段時間, 沒有繼續寫 Sionna 的文件, 看起來或許是一件好事, Sionna 在 Nvidia 的 GTC 2025 中, 公布了正式的 1.0 版本, 連結如下: https://nvlabs.github.io/sionna/index.html 相較於之前 0.19 的版本,  Sionna 1.0 版中, 明確地把 Sionna 分成三個部分: Sionna RT: A lightning-fast stand-alone ray tracer for radio propagation modeling Sionna PHY: A link-level simulator for wireless and optical communication systems Sionna SYS: System-level simulation functionalities based on physical-layer abstraction 其中, Sionna RT 也就是底層通道模擬的部分, 如之前所述, 這邊需要定義基站和使用者位置, 環境,  系統則會模擬出每一對基站到使用者訊號強度. 第二部分, Sionna PHY 則是利用模擬的通道來進行 PHY 層的計算, 對於 Sionna PHY 而言, 輸入可以是統計的通道 (AWGN, Rayleigh fading), 進行包含包括調變, 編碼, 通道, 接收與解碼的不同功能, 當我們要把 Sionna PHY 和 Sionna RT 進行整合時, 我們可以把 Sionna RT 的輸出存成 sionna.channel 的形式, 表示通道的時間響應 (Channel Impluse Response, CIR), 作為 Sionna PHY 的輸出, 下圖為 Sionna RT + Sionna PHY 結合的範例, 先透過模擬基站 (紅圈) 與使用者 (紅點) 的通道, 記錄下來, 之後放入 Sionna PHY 中進行後續模擬. 來自:  https://nvlabs.github.io/sionna/phy/tutorials/Link_Level_Simulations_with_RT.html 最後, 對於 Sionna SYS, 這一個布建基...