[LTE筆記] CSI-Based User Positioning with an NVIDIA 5G Testbed (1)
以下的內容主要來自於此篇文章:
(a) 10 ms radio frame → slots
CSI-Based User Positioning, Channel Charting, and Device Classification with an NVIDIA 5G Testbed
針對此篇文章的內容預計分成兩篇來撰寫,
在第一篇文章中, 我們將介紹在 Nvidia 系統中, 如何取的 CSI 的資訊,
以及取得 CSI 資訊的格式, 方法, 以及對應的實驗量測環境.
在第二篇文章中, 則會說明 CSI 資訊的應用.
首先, 先說明一下, CSI 有兩種方法可以取得,
除了之前說的 SRS 之外, 另一個則是透過 DMRS 來取得.
DMRS 全稱為 Demodulation Reference Signal,
是在 5G 通訊中, 用以進行通道估測與輔助解調 OFDM 的參考訊號,
在上行的 PUSCH (Physical Uplink Shared Channel) 中,
UE 裝置可以每 7/14 OFDM symbol 發送一組基礎的 DMRS 參考,
當然, DMRS 訊號可以有類似 comb 的編排機制 (在頻域上間隔出現),
我們在此先以基礎的設定 (使用所有 3276 個 sub-carrier 傳輸) 作為當前設定.
考慮到 DMRS 在 PUSCH 中的配置和 SRS 頗為一致, 在此就不贅述.
在 5G NR 系統中, DMRS 也是由基站通知手機端發送,
因此 DMRS 的回報間隔來自於基站的排程時間.
在這篇論文中, 他們的系統配置讓 CSI sample 至少每 10 ms 或 20 ms 進行回報,
最短的回報時間則是 2.5 ms (TDD pattern=3DSU, 因此, 0.5*5=2.5ms).
同時, 在此系統中, DMRS 在同一個 PUSCH slot 裡被配置 3 次,
換句話說, 在系統配置中, 可以看不同 OFDM symbol 的 CSI 變化.
比較可惜的是, 論文中並未明說這三個 OFDM symbol 配置的順序,
因此, 對於 OFDM RADAR 等應用會缺乏一些資訊.
基於上述的設定, 我們可以整理此系統的時序設定如下所述,
我們先從最長的 10 ms frame time 開始, 最後到 OFDM symbol 的排程:
(a) 10 ms radio frame → slots
Radio Frame (10 ms)
|---- Slot0 ----|---- Slot1 ----|---- ... ----|---- Slot19 ----|
(b) TDD pattern 3DSU:以 5-slot 為一個 repeating pattern
Repeat pattern: [ D ][ D ][ D ][ S ][ U ] [ D ][ D ][ D ][ S ][ U ] ...
D: Downlink slot (no UL PUSCH)
S: Special slot (guard + DL/UL flexible,依 config)
U: Uplink slot (UL grant 才可能排 PUSCH → 內含 DMRS)
(c) 一個「Uplink slot」內:PUSCH + 3 個 DMRS symbols
Uplink Slot (contains PUSCH allocation)
OFDM symbols: |s0|s1|s2|s3|s4|s5|s6|s7|s8|s9|s10|s11|s12|s13|
PUSCH data: D D D D D D D D D D D D D D
DMRS in PUSCH: * * *
(DMRS#1) (DMRS#2) (DMRS#3)
針對這三個 DMRS 的 slot, 在論文的定位應用中, 將 CSI 數值平均,
對於裝置分類的應用而言, 則是將 CSI 數值分別放入.
在介紹完 DMRS 之後, 另一個重點是, ARC-OTA 如何取出 DMRS 對應的 CSI.
在論文中, 實際上沒有即時的資料處理, 真實的即時資料放入資料庫 (DataLake) 中再後處理,
因此路徑為: ARC-OTA → DataLake → CSI, 並可以進一步拆成兩步:
(A) 線上跑 5G, 同時旁路把關鍵資料存進 DataLake
(B) 事後從 DataLake 把 PUSCH 對應的資訊取出來,
離線重跑 PUSCH receiver→channel estimator 產出 CSI
我們先從 (A) 開始, 在 (A) 路徑中, 詳細路徑如下:
O-RU → Fronthaul → GH200(Aerial L1/OAI L2)→ DataLake 旁路存 DB
在這一條路徑中, 真正被存起來的是: FH I/Q + FAPI
- GH200 server 同時跑 NVIDIA Aerial L1 + OAI L2 + OAI core, 並且跑 NVIDIA DataLake
- DataLake 會把收到的 PUSCH slots對應的 fronthaul (FH) I/Q samples 和 L2 protocol data (FAPI) 收進資料庫 (包含所有 4 台 O-RU 的收值)
其中, I/Q 是波形本體, FAPI 是這段波形該怎麼解讀 (排程/資源配置) 的描述.
我們可以把其系統架構圖, 表示如下:
DB → PUSCH receiver (取出 DMRS) → channel estimator → CSI/CFR
在論文中, 描述的工作流程如下:
- DataLake database holds FH I/Q samples FAPI, enables offline processing of PUSCH slots
- 跑 PyAerial PUSCH receiver 到 channel estimator, 對 4 台 O-RU 都估 CSI
- channel estimator 用 multi-stage MMSE (含 time-delay estimation)
- CSI 會存檔並配對 RNTI、noise variance、PUSCH slot timestamps
等校來說, ARC-OTA 其實沒有即時的處理 DMRS 的 CSI 資料並儲存,
反而是把所有的 raw data (I/Q), 以及 raw data 的設定 (FAPI) 儲存下來,
之後, 重新跑一次 PUSCH 的通道估計, 取出對應的 CSI,
其流程可以表示如下圖:
基於上述系統設定, 這套量測平台建立在 NVIDIA ARC-OTA, 包含:
- 4 台商用 O-RU (每台 4T4R), 其中 1 台負責實際 5G 通訊, 其餘 3 台作為被動監聽
- RAN 端元件透過交換器連接, 由 GH200 執行 NVIDIA Aerial L1 + OAI L2 + OAI core
- 系統同步以 PTP + GNSS 同步 O-RU 與 server 時脈
- 由 NVIDIA DataLake 將接收到的 PUSCH slots對應的 FH I/Q samples 與 FAPI 存入
- 定位資料集中另外用 WorldViz PPT 以紅外線相機追蹤 UE, 得到 ground truth 位置
(a) 量測場景: 位於一個共用的 lab/office 空間, UE 由掃地機器人載著在室內移動,
量測時現場可能有人員走動, 提供更接近真實使用情境的干擾與遮擋.
(c) 平面配置: 量測區域是一個 3.5 m × 3.5 m 的方形區域, 4 台 O-RU 放在四個角落
PPT 追蹤系統則是 4 台相機在周圍, 2 台相機在上方,用來追蹤載具上的紅外線 marke
Fig. 3(b) + (d) 則對應 CAEZ-5G-OUTDOOR 室外資料集的實驗設定
(b) 量測場景: 位於 ETH Zurich 電機系館戶外庭院, 周圍有建築, 樹木與其他障礙物,
反射/遮擋條件更複雜, 接近一般戶外部署的多路徑環境.
(d) 平面配置: 量測區域是一個 10 m × 10 m 的方形區域, 4 台 O-RU 同樣放在四角,
PPT 系統在區域周圍架設 6 台相機以追蹤 UE 載具位置/姿態.
以下是官方的說明頁面: iip.ethz.ch/datasets/caez.html
也可以直接下載資料:
- https://iis-people.ee.ethz.ch/~caez/5g/caez_5g_indoor.tar.zstd
- https://iis-people.ee.ethz.ch/~caez/5g/caez_5g_outdoor.tar.zstd
- https://iis-people.ee.ethz.ch/~caez/5g/caez_5g_dev_class.tar.zstd
以及其預處理的 CSI 資料:

留言
張貼留言