GNU Radio是一個自由軟件開發工具包,提供實現軟件無線電信號處理的信號處理模組系統。 它可以與外部RF硬件一起使用來發送軟件無線電,或者在沒有硬件的情況下於擬真環境運行。 它被無線電愛好者、高校研究人員以及商業領域廣泛用於支援無線通訊研究和現實世界的無線電系統。

GNU Radio
原作者Eric Blossom
開發者GNU Radio Community
Project Lead: Ben Hilburn
Maintainer: Marcus Müller
首次發布2001年,​23年前​(2001
當前版本3.10.11.0[1]在維基數據編輯(2024年7月24日)
源代碼庫 編輯維基數據鏈接
編程語言C++, Python
操作系統Cross-platform
語言English
類型Radio
許可協議GNU General Public License
網站www.gnuradio.org

概觀

 
GNU Radio繪製解調的無線電樣本。

GNU Radio軟件提供了構建和運行軟件無線電或僅用於通用信號處理應用程序的框架和工具。 GNU Radio應用程序本身通常稱為「流程圖」,它是連接在一起的一系列信號處理塊,從而描述了數據流。

與所有軟件定義的無線電系統一樣,可重配置性是一個關鍵特性。不為特定但不同目的而設計的不同無線電,而是使用單個通用無線電,該信號處理軟件(這裡指代GNU Radio)是處理無線電專用的處理應用。

這些流程圖可以用C ++Python編程語言編寫 。 GNU Radio基礎結構完全用C ++編寫,而許多用戶工具都是用Python編寫的。

GNU Radio是一個信號處理軟件包,是GNU Project的一部分。 它根據GNU通用公共許可證 (GPL)的條款分發,大多數項目代碼的版權歸自由軟件基金會 [2]

歷史

GNU Radio首次發布於2001年,是一個官方的GNU包 。 慈善家約翰·吉爾摩(John Gilmore )為Eric Blossom籌集了320,000美元(美國)的資金,用於代碼創建和項目管理職責。

GNU Radio最初是由麻省理工學院 (MIT)的SpectrumWare項目開發的Pspectra代碼的分支 。 今天GNU Radio不再有任何原始的Pspectra代碼是因為在2004年完成了對GNU Radio的完全重寫 。 另外值得注意的是,Pspectra代碼庫已被用作商業Vanu軟件無線電的基礎。

Matt Ettus作為最早的開發人員加入了該項目,並創建了通用軟件無線電外設 (USRP),以提供與GNU Radio軟件一起使用的硬件平台。

2010年9月, Eric Blossom辭去項目負責人職務,由Tom Rondeau取代。 [3]

在項目早期,核心開發人員開始舉辦半年一次的Hackfest 。 2011 年,GNU Radio 項目開始每年舉辦一次名為"GRCon"的會議,會議的最後一天通常會舉辦黑客節。

2016年3月,Tom Rondeau退出,由Ben Hilburn擔任項目負責人,Johnathan Corgan擔任首席架構師作為長期維護人員。 [4]

2018年1月,Marcus Müller取代了Johnathan Corgan在GNU Radio的角色[5]

軟件

 
在GNU Radio Companion中編輯GNU Radio流程圖

GNU Radio Companion是用於開發GNU Radio應用程序的圖形UI[6] 這是用於信號處理的GNU Radio庫的前端。GRC由Josh Blum在約翰霍普金斯大學 (2006-2007)學習期間開發,作為2009年10月Hackfest的自由軟件發布。從3.2.0版開始,GRC與GNU Radio軟件發行版正式捆綁在一起。

GRC實際上是一個Python代碼生成工具。 當流程圖在GRC中「編譯」時,它會生成Python代碼,用於創建所需的GUI窗口和窗口小部件,並創建和連接流程圖中的塊。

GRC目前支持使用Qt創建GUI

繪圖和顯示

GNU Radio提供了許多常見的繪圖和數據可視化數據接收器,包括FFT顯示,符號星座圖和示波器顯示。 這些通常既用於調試無線電應用程序,也用作最終應用程序的用戶界面。

PyBOMBS

許多用戶創建「out-of-tree模塊」以與GNU Radio一起使用。 為了管理這些以及運行GNU Radio所需的依賴關係,該組織創建了PyBOMBS(Python Build Overlay Managed Bundle System)項目。 [7]

參見

參考資料

  1. ^ Release 3.10.11.0. 2024年7月24日 [2024年8月22日]. 
  2. ^ "How is GNU Radio licensed?". [2019-08-10]. (原始內容存檔於2016-12-04). 
  3. ^ Mail on GNU Radio mailinglist where Eric Blossom introduces Tom Rondeau as the new project manager. [2019-08-10]. (原始內容存檔於2019-08-10). 
  4. ^ Mail on GNU Radio mailinglist announcing leadership transition. [2019-08-10]. (原始內容存檔於2019-08-10). 
  5. ^ Mail on the GNU Radio mailing list discussing the maintainer transition. [2019-08-10]. (原始內容存檔於2019-09-19). 
  6. ^ "GNU Radio Companion Wiki". [2019-08-10]. (原始內容存檔於2016-03-04). 
  7. ^ "GNU Radio Wiki - PyBOMBS". [2019-08-10]. (原始內容存檔於2017-02-11). 

外部連結