GNU Radio

GNU Radio是一个自由软件开发工具包，提供实现软件无线电和信号处理的信号处理-{zh-hans:模块; zh-hant:模組;}-系统。 它可以与外部RF硬件一起使用來發送軟件無線電，或者在沒有硬件的情況下於擬真環境運行。 它被無線電愛好者、高校研究人員以及商業領域廣泛用於支援无线-{zh-hans:通信; zh-hant:通訊;}-研究和现实世界的无线电系统。

 概观 
右|缩略图|350x350像素| GNU Radio绘制解调的无线电样本。 
GNU Radio软件提供了构建和运行软件无线电或仅用于通用信号处理应用程序的框架和工具。 GNU Radio应用程序本身通常称为“流程图”，它是连接在一起的一系列信号处理块，从而描述了数据流。 

与所有软件定义的无线电系统一样，可重配置性是一个关键特性。不为特定但不同目的而设计的不同无线电，而是使用单个通用无线电，该信号处理软件（这里指代GNU Radio）是处理无线电专用的处理应用。 

这些流程图可以用C ++或Python编程语言编写 。 GNU Radio基础结构完全用C ++编写，而许多用户工具都是用Python编写的。 

GNU Radio是一个信号处理软件包，是GNU Project的一部分。 它根据GNU通用公共许可证 （GPL）的条款分发，大多数项目代码的版权归自由软件基金会  

 历史 
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取代。  

在项目早期，核心开发人员开始举办半年一次的Hackfest 。 2011 年,GNU Radio 项目开始每年举办一次名为"GRCon"的会议,会议的最后一天通常会举办黑客节。 

2016年3月，Tom Rondeau退出，由Ben Hilburn担任项目负责人，Johnathan Corgan担任首席架构师作为长期维护人员。  

2018年1月，Marcus Müller取代了Johnathan Corgan在GNU Radio的角色 。 

 软件 
右|缩略图|400x400像素| 在GNU Radio Companion中编辑GNU Radio流程图 
GNU Radio Companion是用于开发GNU Radio应用程序的图形UI 。  这是用于信号处理的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）项目。 

 参见 
 软件定义的无线电 

 参考资料 

 外部链接 

 自由软件目录中的 gnuradio  

Category:使用Qt的軟體
Category:软件复刻
Category:自由通訊軟體
Category:GNU计划软件
Category:用Python編程的自由軟體
Category:软件无线电