LTE筆記: Time Difference of Arrival form Uplink SRS (3)

在 SRS 的系統中, 我們介紹了資料傳輸的流程,
也就是基地台如何設定 UE 傳送 SRS,
以及鄰近基站如何識別要量測的鄰近 UE 裝置.
事實上, 針對 SRS 的信令, 仍有另一個重要的控制資訊,
也就是基地台設定 UE 在哪幾個 Resource Block (RB) 上傳送參考訊號,
以及參考訊號如何編成.

我們先說參考訊號的部分吧!
SRS 採用 Zadoff–Chu (ZC) 序列產生基底序列, 
ZC 序列具備恆定能量大小與良好的正交特性.
為了對不同 UE 產生 SRS 的參考訊號, 要針對 UE 指定序列 ID (sequenceId),
初始化 ZC 基底序列後, 經由離散傅立葉轉換展開至頻域子載波,
最終對應到特定的 RB 位置.

接著, 是關於這些參考訊號的 RB 配置,
SRS 主要可以透過兩個方式配置用以傳送參考訊號的 RB, 
在時間上 (OFDM symbol) 與頻域上 (sub-carrier), 如下圖所示:


在 OAI 的這一篇論文中, 並沒有明確說明 SRS 的設置,
所以我們近一步從公開程式庫取得原始碼:
  • 以 git clone https://gitlab.eurecom.fr/oai/openairinterface5g.git 
  • 複製 OpenAirInterface 5G 專案, 進入專案後切換至 NRPPA_Procedures 分支,並透過 git submodule update --init –recursive 完成子模組初始化
  • 接著,在專案路徑 /openairinterface5g/openair2/RRC/NR/nr_rrc_config.c 中,
    可以找到與 SRS 配置相關的核心函式:
    • 其中 configure_periodic_srs() 用於設定週期性 SRS 的資源參數,
    • static struct NR_SRS_Resource__resourceType__periodic *configure_periodic_srs(const NR_ServingCellConfigCommon_t *scc, const int uid)
    • 而 get_config_srs() 則負責依據系統服務配置 (ServingCellConfigCommon),
      其中包含: UE 能力、BWP 與 RB ID 等條件, 
      基於這些設定, 產生具體的 SRS 配置結構 (NR_SetupRelease_SRS_Config_t)
    • static NR_SetupRelease_SRS_Config_t *get_config_srs(const NR_ServingCellConfigCommon_t *scc, const NR_UE_NR_Capability_t *uecap, const int curr_bwp, const int uid, const int res_id, const long maxMIMO_Layers, const int minRXTXTIME, int do_srs)
透過這些函式, 系統能在 RRC 層完成 UE 與網路間的 SRS 配置與啟用流程.

值得注意的是, 在這些 SRS 設定的相關函式中,
多數的變數都是直接定義於參數之中, 而非引數,
因此, 必須重新編議程式, 才可以執行對應的功能更新,
不確定這是 SRS 實作上的限制, 或是, 只是因為是 OAI 的實驗功能所致,
不論如何, 我們可以先把 OAI 所使用的參數列於下表:


根據上表, 我們可以得知在 OAI 的實作中, 
SRS 配置透過更改週期性或非週期性傳送的設定進行開啟或關閉,
頻域上使用 n2 comb 與 cyclicShift 0, 
時間上則固定落在 slot 內第 4–7 個 OFDM symbol,
並依 UE 能力決定埠數與資源參數. 

此外, 在 SRS 的上行功率控制中, α (alpha) 為路徑損耗補償係數, 
決定 UE 是否完全或部分補償路徑衰減, 範圍 0–1, 
p0 則是基準功率偏移, 設定 UE 傳輸起始功率水平, 如 OAI 中固定 –80 dBm.
兩者共同影響 UE 的實際發射功率, 以平衡覆蓋與干擾控制.

留言

熱門文章

LTE筆記: RSRP, RSSI and RSRQ

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

LTE筆記: 5G NR Measurement Events