[LTE筆記] CSI-Based User Positioning with an NVIDIA 5G Testbed (2)

在上一篇文章中, 我們整理了 ARC-OTA → DataLake → CSI 的兩段式流程:
  1. 線上把 FH I/Q + FAPI 落到 DataLake DB
  2. 離線用 pyAerial 重跑 PUSCH receiver + channel estimator 取得 CSI/CFR
在這一篇文章中, 我們繼續跟隨論文的脈絡, 並嘗試說明以下兩點:
  1. 介紹 ARC-OTA 對 SRS 的支援, 以及為何此論文以 DMRS 進行實作 
  2. 介紹使用 CFR 的三種應用, 以及每種應用的資料處理流程, 演算法, 與應用成果 

我們先從第一點開始:
為何這篇論文用 DMRS (PUSCH) 而非 SRS 來進行 CFR 取值?
這並不是因為 ARC-OTA 不支持 SRS 取得 CFR 的功能,
而是因為這篇論文的主軸是在標準 5G NR 通訊鏈路上進行操作, 並把 sensing 當成副產品.
也因此, 它把資料源鎖定在 uplink 的 PUSCH, 
並用 PUSCH 內建的 DMRS 做通道估測, 減少 Sensing (SRS) 對通訊資源的消耗.
這樣做的好處是:
  • 不需要另外開一條量測信號: UE 只要照常送 uplink traffic, 就自然有 DMRS 可以估通道.
  • CSI 更新率主要由 TDD pattern + SCS + scheduler 決定, 論文指出其配置下最密可到 2.5 ms, 
    時間尺度上也與 SCS=30 kHz (slot=0.5 ms) 及 3DSU 的週期性設定相符
  • 同一個 PUSCH slot 內, 有 3 個 DMRS symbols, 可以觀察 CSI 在不同 OFDM symbol 的變化
如果根據 NVIDIA Aerial (ARC-OTA 底層堆疊) 的文件, 
SRS 的支援是從 PHY 到 FAPI 一路打通的, 其實作的功能包含:
  1. PHY / pyAerial: 有 SRS Tx/Rx pipeline
    pyAerial 的 SRS 模組已經提供 SrsTx / SrsRx, 並且有官方 notebook 示範如何跑 SRS Tx/Rx.
  2. SCF FAPI:支援 UL_TTI.request 的 SRS PDU + SRS.indication
    Aerial cuBB 的 SCF FAPI 支援 UL_TTI.request 的 SRS PDU 與 SRS.indication.
  3. DataLake:能把 UL_TTI.request (FAPI) 與 FH I/Q 進行儲存
    DataLake 的 fh table 會記錄 SFN/Slot 與 I/Q samples,
    fapi table 會保存 L2→L1 的 UL_TTI.Request 與 L1→L2 的 indication.

因此, 若我們部署 ARC-OTA 並啟用 SRS, 
除了可記錄 FH I/Q + UL_TTI.request (含 SRS PDU) 外,
也可能直接從 SRS.indication 取得通道回報.
或在離線端以 I/Q + 配置重跑 SrsRx pipeline 重建估測.
我們可以把 ARC-OTA 對 SRS 的支援表示如下圖:


接著, 我們來看這篇論文基於 CFR/CSI 提出的三種應用, 資料處理流程, 演算法與成果.
透過收集的三個資料集, 這篇文章展示三個 sensing task:
(i) Neural UE positioning, (ii) Channel charting, (iii) Closed-set device classification

這三個任務的共通起點是: 
PUSCH DMRS → channel estimation → full-spectrum OFDM-domain CSI (CFR)
透過上述的資料流程, 取得裝置在不同位置的 CFR 資訊,
這些資訊, 直觀地, 我們可以進行 fingerprinting 的比對式定位,
當然, 進一步延伸, 就可以用神經網路取代 fingerprinting, 進行 Neural UE positioning.
第一個應用只是輸入輸出給定後簡單的監督式學習架構, 
其測試集結果可以到達 0.6 公分 (室內) 與 5.7 公分 (室外) 的定位誤差.
這樣的結果非常漂亮, 但也可能較偏向特定量測設定/資料分佈, 
因此, 論文也基於同樣的資料集進一步延伸到第二個應用: Channel charting

Channel charting 將原本 CFR 的訊號, 取出平方幅度後 (|H|^2 ), 
平均同一個 PUSCH slot 的三個 DMRS 後做 IFFT, 得到 delay-domain signature.
接著截取前 25 個 complex taps, 並將 Re/Im 拆開作為輸入特徵,
這裡取前 25 taps 主要是保留 early-delay 的延遲結構特徵:
在 LOS 存在時通常會涵蓋直達徑及其附近的早期反射.
在 NLOS 或多路徑較強時, 這段 taps 則反映最早到達的一群多路徑能量分佈.
需要注意的是,本文採用的是 |H|^2 的 IFFT 所得之 delay-domain signature,
因此不宜直接把某一個 tap 視為可換算距離的絕對 ToA.

Channel charting 目標是訓練一個 Neural Network, 
把高維 CSI feature 映射到 2D 表示 (channel chart), 
依論文特徵定義: 每根天線取前 25 個 complex taps, 拆成 Re/Im 後得到 50 維 real features.
再彙整 4 個 O-RU × 4 天線形成一個向量並做 unit-norm, 形成輸入, 最後由 MLP 輸出 2D chart.
訓練初期先用 triplet-based charting (self-supervised):
以"時間近似空間近"作為假設選取 positive/negative, 讓 embedding 保持局部幾何結構.
若要把 chart ground 到真實座標 (real-world charting), 
訓練時在 triplet loss 上加入 bilateration loss (以及 bounding box loss),
使用 O-RU 已知座標, 並以 CSI 推估的接收功率差形成約束,
 (論文使用 13 dB receive power margin), 使 chart 對齊到真實座標系.

論文中以下圖為舉例, 圖 (a) 中藍線為測試資料點 ground truth 位置與 O-RU 位置,
圖 (b) 為僅用 triplet loss 訓練得到的 channel chart (pseudo-space), 
圖 (c) 為加入 bilateration loss 與 bounding box loss 後, ground 到真實座標的 channel chart,
最終定位結果可以對應到 73 公分的定位誤差.


最後一個應用則是: Device Classification.
在 OFDM-domain CSI 同時包含發射端 RF chain 的特徵與無線通道特徵,
在進行定位時, 我們依賴無線通道特徵, 取得空間的相關性,
但若要進行裝置分類, 必須把位置/通道造成的變動抑制掉, 留下 RF fingerprint (RFFI).
在文章中, 利用多接收點觀測, 把 CSI 想像成跨接收點共同成分與接收點特有成分兩部分,
並用 SVD (Singular Value Decomposition) 取共同主成分,
保留發射端 RF chain fingerprint 並同時壓低位置/通道造成的變動.
最終, 再用一個 Neural Network (2D ResNet) 進行裝置的分類,
其結果, 同日的分類精確度約 98–99%, 隔日約 92–95%,
(視是否將所有 UE 納入訓練而定).

留言

熱門文章

LTE筆記: RSRP, RSSI and RSRQ

[WiFi] WiFi 網路的識別: BSS, ESS, SSID, ESSID, BSSID

LTE筆記: 波束成型 (beamforming) 和天線陣列