軟體無線電(Software Defined Radio, SDR)是指一種彈性的無線電平台,其 RF 前端的設定參數由軟體控制,負責執行類比/數位轉換、升頻/降頻、濾波及放大等功能。使用者可以自定義波形,並根據選定的 RF 參數進行訊號的發射與接收。也就是說,只要我們使用的 SDR 硬體規格滿足需求,我們即可搭配自行開發的軟體實現一套無線通訊系統。著名的例子即為OpenAir Interface (OAI)開源核心網、gNB 與 UE 專案 – 透過電腦和軟體無線電即可搭建 5G 通訊系統。
然而,新興無線通訊系統對傳輸速率和延遲時間的要求日益提高,這對主機電腦的運算處理能力以及 SDR 與主機電腦之間的資料傳輸介面都構成了巨大挑戰。為了緩解這些問題,我們可以將部分訊號處理的運算實現在 SDR 上具有強大運算能力的 FPGA 中。不過,這需要同時具備通訊訊號處理和 FPGA 設計的能力。加上傳統 FPGA 設計流程工序繁瑣,如何簡化此設計流程成為一個重要課題。
RFNoC(RF Network-on-Chip)是 Ettus 公司基於USRP開發的異構訊號處理工具。其核心概念是在 USRP 的 FPGA中,將不同訊號處理函式封裝為 NoC 區塊,並將原始資料封裝為資料包。使用者可透過軟體 API 指令靈活地指定資料包經過哪些 NoC 區塊進行處理。此外,RFNoC 還提供高度整合的 FPGA 設計流程,讓使用者能更有效率地完成 FPGA 設計。