GNU Radio系列教程(一):什么是GNU Radio?为什么我需要用GNU Radio?

目录

一、什么是软件无线电?

二、GNU Radio到底能做什么事情?

三、 我如果不精通编程,还能用GNU Radio吗?

四、 GNU Radio使用需要授权吗?

五、基于GNU Radio,人们已经做了取得了哪些成果?

六、数字信号处理、基带、时钟同步…这些名词是什么意思?

七、有用的链接和联系方式


GNU Radio是一个免费的开源软件工具包,该工具包提供了可用于软件无线电的信号处理模块。基于一些通用的射频前端设备,该工具包可以用来实现软件无线电系统。此外,该工具包也可以用于单纯的理论仿真学习。目前,GNU Radio已被业余爱好者、科研学者和通信企业人员广泛用于通信理论研究和系统研发。

一、什么是软件无线电?

软件无线电的定义可以看一下软件无线电的维基百科或者百度百科,软件无线电,或者称为软件定义的无线电(Software Defined Radio,SDR)是一种无线电广播通信技术,它基于软件定义的无线通信协议而非通过硬连线实现。频带、空中接口协议和功能可通过软件下载和更新来升级,而不用完全更换硬件。

二、GNU Radio到底能做什么事情?

GNU Radio可以用来实现所有的信号处理操作。你可以用GNU Radio来实现数字信号接收或者将数据生成数字信号,然后这些信号可以用通用的射频前端发射出去。GNU Radio有滤波器、信道编码解码、时钟同步、均衡器、解调器、解码器和其他的通信组件。在GNU Radio中,这些组件称为模块block。更重要的是,GNU Radio可以将这些模块串联起来,形成一个完整的通信系统,并且可以有效管理控制不同模块之间的数据输入和输出。此外,如果你想扩展GNU Radio的现有模块的话,也是非常方便的。你可以根据自己的需求来创建自己的通信模块,并且把它安装集成到GNU Radio中,以便今后你可以方便调用它。

由于GNU Radio是软件,所以它只能处理数字信号(数据)。通常,用GNU Radio程序实现的接收机的输入、发射机的输出都是复数基带信号。通用射频前端设备用于将复数基带信号进行频谱搬移,即将基带信号搬移到你需要的中心频率(由基带信号变为带通信号)。此外,在GNU Radio程序中,不同模块之间的输入输出数据类型可以是比特、矢量、复数等类型。

GNU Radio应用程序主要是用python语言来编写的,不过对于实时性要求较高的信号处理模块则是用C++实现的。因此,我们是可以用GNU Radio来实现一些实时、高吞吐量的通信系统的。

三、 我如果不精通编程,还能用GNU Radio吗?

即使你不精通python或者C++语言,你也可以使用GNU Radio。因为GNU Radio为我们提供了一个很好的研发工具,叫GNU Radio Companion(GRC),这是一个类似于simulink的研发工具。你可以通过鼠标拖拽GRC已有的通信模块,并在不同的模块之间连线的方式,构建一个通信系统。

然而,如果你想要扩展GNU Radio已有的功能(例如GNU Radio或者GRC已有的模块无法满足你的需求),那么你就必须要用C++来实现你的需求,并封装成一个模块,并安装到GNU Radio中。

当你用GRC拖拽模块的方法来构建通信系统,你觉得比较复杂凌乱时,你也可以写python脚本程序的方式来实现你的通信系统程序。当你的通信系统对于信号处理的实时性要求特别高的时候,你可以选择使用C++来实现你的通信系统。

四、 GNU Radio使用需要授权吗?

GNU Radio遵从GNU GNU 通用公共授权v3.0。所有代码版权属于自由软件基金会FSF。

、基于GNU Radio,人们已经做了取得了哪些成果?

如果你已经安装了GNU Radio,那么它会自带很多的例子。你可以找到数字信号发射、模拟信号接收等诸多例子。此外,来自全球的GNU Radio使用者也公开了一些他们的开源项目成果,具体可以参见http://www.cgran.org/,这里有他们实现的众多第三方GNU Radio库。此外,基于GNU Radio的项目可以参见https://wiki.gnuradio.org/index.php/OtherCode

六、数字信号处理、基带、时钟同步…这些名词是什么意思?

如果你对于数字信号处理、基带、时钟同步等等此类通信术语感到陌生和不解,那么你在使用GNU Radio的时候会碰到很多问题。因此,你需要具备一些通信原理、数字信号处理的基础知识。但是,千万别别这点问题吓到,找几本相关的书,翻一翻,看一看。GNU Radio wiki推荐了一些通信知识的书籍,https://wiki.gnuradio.org/index.php/SuggestedReading

七、有用的链接和联系方式

https://wiki.gnuradio.org/index.php/What_is_GNU_Radio%3F

https://mp.weixin.qq.com/s/WOogXhzqsUdArolJ3gb9rA

GNU Radio系列教程(一):什么是GNU Radio?为什么我需要用GNU Radio?_第1张图片GNU Radio系列教程(一):什么是GNU Radio?为什么我需要用GNU Radio?_第2张图片GNU Radio系列教程(一):什么是GNU Radio?为什么我需要用GNU Radio?_第3张图片

你可能感兴趣的:(GNU,Radio)