發表文章

LTE筆記: 3GPP Positioning Reference Signal (PRS) -2

圖片
針對 PRS 的系統實作, 雖然 3GPP 已在 R16 定義, 同時, 在 RAN 端與手機端也都已有支援, 舉例來說,  Ericsson:  https://www.ericsson.com/en/blog/2020/12/5g-positioning--what-you-need-to-know Amarisoft: https://www.5ghubvaasa.fi/wp-content/uploads/2023/10/5G-positioning-on-interactive-map.pdf Mediatek: https://www.rohde-schwarz.com/uk/about/news-press/all-news/rohde-schwarz-and-mediatek-verify-5g-lbs-release-16-features-on-the-r-s-ts-lbs-test-solution-press-release-detailpage_229356-1238101.html 我們可以看到不論是 RAN (Ericsson) 或是手機晶片 (Mediatek) 都支援 PRS, 然而, 在現實生活中, 我們卻很難看到 PRS 真實於場域中的應用, 這樣的落差主要是來自於在 3GPP 中 PRS 屬於 LMF (Location Mgmt. Function) 的應用, 這部分是額外要訂閱或是付費, 但卻沒有相對應的應用,  因此, PRS 或是 5G NR 的定位技術, 在目前公網的環境, 沒有普及的應用. 相較之下, 定位在企業專網 (Private Network) 中有比較可行的應用, 主要是在企業/工廠的應用場域中, 可能有更多精密定位的需求, 因此, 不論是 Nokia/Ericsson 的白皮書中, 都強調在企業專網的應用. 另一方面, 在開源的社群 (Open Air Interface/ srsRAN) 中, 對 PRS 的支援如何呢? 我們先從 OAI 開始, OAI 從 2022 年開始支援 PRS,  不同於 SRS 有實作整個 NRPPa 的控制信令, OAI 對 PRS 的支援主要是透過 PHY 層的實作來完成, 主要包含兩個函式: nr_generate_prs():...

LTE筆記: 3GPP Positioning Reference Signal (PRS) -1

圖片
在之前的文章中, 我們介紹了 3GPP 中 SRS 的訊號以及定位方法, SRS 主要是上行的定位訊號, 由 UE 進行發送, gNB 進行量測, 與之對偶的是 PRS (Positioning Reference Signal), 由 gNB 發送 UE 量測, 這樣的 PRS 訊號是在 3GPP R16 中被引入, 透過 gNB 廣播的 PRS 資訊, 用以提供進行裝置為基礎的定位方法. 相較於 SRS, PRS 的訊號有以下的差異: 1) PRS 考慮的是基地台間的協作, 因此有 muting 的機制, 使基地台可以分時多工 2) 考慮到基地台的覆蓋範圍, PRS 使用較高的傳輸功率, 並不支援分碼多工 3) PRS 提供較稀疏的 comb 與 OFDM symbol 設定, 可依據設定提供彈性配置 4) 在基站間的 PRS 配置, 可以透過 RRC 曾進行協同, 避免進行基地台間的 PRS 干擾 5) PRS 比起 SRS 在同步上要求更高, 以相位為基礎的定位在 R18 才被提出 6) PRS 支援 burst 配置 (數百 ms, 甚至數秒才發送一次 PRS) 圖來自: https://www.mathworks.com/help/5g/ug/5g-new-radio-prs.html 在這邊值得注意的是, 雖然上述文字中使用 gNB/基地台代稱傳送端, 但是, 實際於 3GPP 標準中的用語是 TRP (Tx/Rx Point), 不只可以對應於一組小基站, 也可以對應於基站的不同傳輸天線, 透過 PRS 的訊號, 我們可以實現以下的定位方法: OTDOA (Observed Time Difference of Arrival): 利用多個基站下行發送的定位參考信號 (PRS), 由 UE 測量相鄰基站與參考基站之信號到達時間差 (RSTD) 進行定位. 最早在 3GPP Release 9 (LTE) 引入, 在 5G NR 中於 R16 支援.  AoD (Angle of Departure): UE 通過測量多基站的 PRS 下行信號不同波束的接收功率, 確定來自每個基站訊號的發射方向角, 用以進行定位 此技術同時需要波束成形與 PRS 支援, 在 3GPP Release 16 中加入標準. RTT 定位 (Round Trip T...

[AIML] Model Context Protocol 介紹 (1)

圖片
在目前 LLM 模型的發展下, 一個共通的模型還有一段距離, 取而代之的是, 各家各有擅長的模型, 同時, 對於 Agentic AI 的需求, 我們對於 AI 也不再是處理文字訊息, 而是希望其可以融合各式模型的能力, 自動判斷使用者意圖, 進而操作各式模型, 已完成使用者意圖中的目標. 老慮到這樣的需求, 如何定義這些 AI 模型的介面, 也就變成一個問題, 對此, MCP (Model Context Protocol) 也就順應而生. MCP 是由 Anthropic 於2024 年11 月推出的開放標準,  目標是在讓 LLM 能夠透過標準化的方式與外部工具, 資料庫和應用程式, 透過 MCP 定義的 API 介面進行安全, 結構化地溝通. 在 MCP 的架構中, 有三個主要的角色: Host, Server, Client, 其架構如下圖: 來自: https://www.geeksforgeeks.org/artificial-intelligence/model-context-protocol-mcp/ 其中, Host 為 MCP 的平台, 提供 AI 應用或代理執行環境,  例如: 聊天介面, IDE 外掛, 桌面助理等, 為使用者操作的介面. Host 負責協調多個 client, 管理工作階段, 並把結果回饋給使用者. 然而, Host 不直接跟各種資料源與 AI 模型溝通, 而是透過 client 進行. MCP Client 在 MCP 架構下, 並非服務的使用者, 而是 AI 模型的代理. 其連線代理由 Host 發起, 同時每個 client 維持與一個 MCP server 的連線, 負責把 Host 的需求翻成 MCP 訊息, 處理握手/重試/能力宣告等需求, 並把 MCP Server 的回應再轉給 Host. 最後, MCP Server 是真實真正提供服務的地方, 有以下功能: 1) 對外宣告可用的 resources (資料), tools (函式庫), prompts (提示範本). Server 可以在本機或遠端, 也可由不同團隊維護, 已達成擴充性需求.

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

圖片
在上一篇文章的後續, OAI 團隊將此 SRS 的量測實驗延伸到室內, 並提供了更多實驗的細節, 後續的發表可以看此篇文章: Experimental Insights from OpenAirInterface 5G Positioning Testbeds: Challenges and Solutions link:  https://arxiv.org/abs/2508.19736 在文章中, 提到了 3 個實驗場域, 如下表所示: 圖、OAI SRS 實驗場域 (作者整理) 在三個場域中, 我們可以看到室外場域就是上一篇論文的環境, 此外, 又新增了兩個室內的場域, 對應智慧製造的應用, 這些場域的資料中, 作者公開了室外場域的量測, 放在 Gitlab 上提供下載: https://gitlab.eurecom.fr/ahadi/5g-srs-datasets  這些場域量測的資料已經經過預先的資料前處理, 分成三個部分: ToA Filtering, TDoA Averaging, TDoA Filtering. ToA Filtering: 使用統計方法過濾 ToA 資料, 以去除離群值, 增強測量準確度 TDoA Averaging: 在所有天線間進行TDoA資料的平均, 以提升測量的穩健性 TDoA Filtering: 經過平均化後, TDoA資料會透過位置資訊進行過濾, 提高定位精度 以上三個資料處理流程, 主要針對 SRS 轉換出來的 ToA 進行處理, 主要的目標是增加 ToA/ TDoA 的強韌性, 避免大幅的定位資訊跳動, 其資料前處理的流程圖如下圖所示: 圖、來自論文 比較可惜的是, 若是檢視提供的資料集資料, 看起來已經將不同 RU 間最大的 peak 數值對齊, 這邊我們需要進行額外的檢視, 以確定如何將 ToA 的資料取出: 圖、公開資料集的格式以及 CIR 繪圖成果  

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), 如下圖所示: 來自:  https://www.mathworks.com/help/5g/ug/nr-sounding-reference-signals.html 在 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 *...

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

圖片
在通訊系統中, 透過 SRS 取得通道的量測數值是一個挑戰, 另一個挑戰是如何透過相鄰基站, 偕同量測 SRS 資訊. 不同於 RSRP 的回報是由 UE 進行量測週期廣播的 SSB 訊號, SRS 資訊由 UE 發出, 並由基站量測上行的通道變化. 這也意味著, 基站也必須共享 SRS 的設定,  這些 SRS 的配置涵蓋了頻域與時域的資源分配, 傳送週期性等參數, 並犧牲一部分的上行通訊資源, 以達成 SRS 定位的協作.  在 OAI 的實作中, 在 FAPI interface 裡新增了一種類型的 SRS report: Localization report type, 以及新增一種 SRS 類型 (type 5) 來標示該用途, 用來區別普通 SRS measurement 與為定位用途的 neighbour/serving 測量. FAPI 用以界接 MAC/ PHY 的功能, 如下圖所示: 來自:  https://www.telecomhall.net/t/which-split-options-are-used-in-5g-and-open-ran/18075 如果在 split 7.2x 的架構下, DU 包含 high-PHY 和 MAC 功能, 因此, FAPI 的實作位於 DU 之內. 此外, 為了讓 neighbour gNB/TRP 知道要接收哪個 UE 的 SRS, OAI 為 neighbour 測量引入一個 special RNTI (Radio Network Temporary Identifier), 填入於在 MAC → PHY 的 SRS PDU 中的 UL TTI request, 以標記 SRS 測量的需求. 同時, 在 PHY → MAC 的 SRS.indication 中, 除了 reserved RNTI,  還有 SRS resource ID / UE ID context 可以綁定該測量屬於哪個 UE. 在解出來 ToA 後, OAI 的實作也必須將此數值往上回報, 他們把從多個 TRP 收到的 Timing advance offset (ns) 帶回 MAC/LMF, 這些 offset 用來計算 ToA 差異 (TDoA),  並設計一組 TLV ...

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

圖片
針對 LTE (4G)/5G 這樣的行動通訊系統而言, TDoA (Time Difference of Arrival) 大概算是最常見的定位量測資訊, 然而, TDoA 的資訊事實上來自於使用者的傳輸訊號, 需要搭配 SRS (Sounding Reference Signal) 的傳輸進行量測, 在過去, 由於此部分的公開資料有些少, 所以我們並沒有許多實作的細節, 最近, OAI (Open Air Interface) 實作了 TDoA 與 LMF (Location Mgmt. Function), 讓我們可以一窺 TDoA 的取得方式與實作機制. 我們在第一篇文章中, 先介紹以 SRS 實作 TDoA 的基本概念, 本文主要的內容來自於: arXiv:2409.05217 From Concept to Reality: 5G Positioning with Open-Source Implementation of UL-TDoA in OpenAirInterface 來自:  https://arxiv.org/html/2409.05217v3 在以上的流程圖中, 介紹了 OAI 實作中, 如何發起 SRS 的量測: LMF (Location Management Function) 是定位的核心控制單元 LMF 先透過 API 接收到定位請求(包含 UE 的 IMSI/SUPI、NCGI 等資訊) LMF 透過 NRPPa 協議 向 serving gNB 發送 Positioning Information Request, 要求 UE 傳送 Sounding Reference Signal (SRS) serving gNB 配置 SRS 資源, 並回報其 SRS 配置給 LMF LMF 再下達 Positioning Activation Request, 正式觸發 UE 傳送 SRS 其他鄰近的 gNB/TRP 透過相同的配置接收 UE 的 SRS, 並回傳量測結果給 LMF 接著, 透過取得的 SRS 量測數值,  gNB 的 PHY 層利用 UE 的上行 SRS 進行通道估計與 ToA (Time of Arrival) 計算: 使用 Zadoff-Chu 序列的 SRS 進行相關運算與 IFFT, 得到通...