GNU Radio 常见问题和gnu radio安装遇到问题

来源:互联网 发布:算法跟数学的关系 编辑:程序博客网 时间:2024/05/16 08:19

介绍一下什么是 GNU Radio

GNU Radio 是一个通过最小程度地结合硬件,用软件来定义无线电波发射和接受的方式来搭建无线电通信系统的开源软件系统 。也即是说, 当今那些高性能的无线电设备中所用到的数字调制问题将变成软件问题。

哪儿可以下载 GNU Radio?

下载到 下载页面(Download)去查看, 然后到 创建指导(Build guide)去查看系统配置指导和 Gnu Radio 的系统的关联性.

所有部件没有被完全安装时我该如何?

取决于配置脚本决定的系统特性和关联性,有些部件没有被安装。尤其是那些Windows and Mac OS 关联模块,它们当然无法安装在仅需关联Linux的系统上了。 不用担心,只要没有配置错误信息出现,没有安装的部件便是你不需要的部件。

没法编译时如何办?

到 创建指导(Build guide)去查看过关联你的系统配置指导以及确信系统的关联安装正确吗?以及确信你的问题没有在当前 配置问题(current known build problems)中列出。 严格按照指导,问题还是出现 那只好求助于 邮件列表(Mailing list)了.

我如何参与 GNU Radio?

到 社区贡献(Development)页面,先读仔细读一遍 ,再读一遍,最后再读一遍。你应该明白你该如何去做。

我能为 GNU Radio 做些什么贡献?

眼下有那么一些比较显眼工作要完成,也有无穷无尽的软件缺陷(bugs)要修正。请大胆的改进 GNU Radio, 但请你先认真的阅读 社区贡献(Development)以便能提供有益的贡献.

谁在维护 GNU Radio?

GNU Radio 官方网站由 Eric Blossom 维护,Johnathan Corgan, Matt Ettus 等在做日常维护。

为何要开发 GNU Radio?

尽管 GNU 在提供自由软件方面极度成功,但在涉及硬件开源尤其是无线射频方面还是存在着很大的盲区。Gnu Radio 通过提供一套信号处理软件和关联硬件(自由的软件,便宜的硬件)给大众以图填充这个空白。

我在哪儿可以提问一些这儿没有回答的问题?

你应当加入邮件列表 Gnu Radio 社区 Mailing lists 积极的参与,认真的阅读.

项目的创立及运行

你已经到 创建指导(Build guide)寻求帮助, 但还是有一些创建和运行问题未解。

当导入 Python: _gnuradio_swig_py_runtime.so: undefined symbol: ... 时出现错误,我该如何办?

看起来好像 /usr/local/lib 没在库的查询路径中。运行有些Linux,你应当在安装完 Gnu Radio后升级 ld.so 缓存:$ cat /etc/ld.so.conf如果 /usr/local/lib 没在这个文件中, 请运行一下三个命令,要不跳到最后运行:$ cp /etc/ld.so.conf /tmp/ld.so.conf$ echo /usr/local/lib >> /tmp/ld.so.conf$ sudo mv /tmp/ld.so.conf /etc/ld.so.conf... 然后,最后:$ sudo ldconfig现在请再运行一遍 Gnu Radio 脚本。

GNU Radio 模块

包括所有的关联 GNU Radio 内核信号处理模块的产生,实现及应用。

GNU Radio 供我支配的模块有哪些?

GNU Radio 用文档生成工具 doxygen 生成 所有模块(all the different modules)的帮助文档及内核处理模块的API。




要想看gnuradio自带的一些模块的程序的话,可以去github上找gnuradio  (https://github.com/gnuradio/gnuradio),具体的一般都能看到。

安装gnuradio可以看官网http://gnuradio.org/redmine/projects/gnuradio/wiki/InstallingGR  现在的gnuradio在Linux里面安装还是很简单的,只不过后面自己用的话,会缺少一些库,这个到时候再安装就行了。

如果有要求要写自己的gnuradio模块,并让它显示在右边的模块框里的时候,参考:http://gnuradio.org/redmine/projects/gnuradio/wiki/OutOfTreeModules  可以写Python和c++的模块

对于编写OOT模块,首先要选择类型: sync 同步(输入输出数据个数相等)  general (没有具体规定输入输出) decim抽取   interp内插 (这两个还没用到过,输入输出的数据个数关系有规定是N倍),然而对于general 模块,noutput_items 和ninput_items ,我还是不太懂。

编写好之后,cmake ../ 命令,可能会报错,缺少boost 库这类的,这个google安装一下就好了 

[python] view plain copy
  1. sudo apt-get install libboost-dev  
安装之后,gnuraido-companion发现右边的列表里还是没有自己写好的模块的话,可以看下自己对应的路径下面/usr/lib/python2.7/dist-apckages/... 有没有自己这个模块相关的文件夹,以及/usr/share/gnuradio/grc/blocks 下面,没有的话,那就一般在/usr/local下面对应的路径下了,你可以更改OOT安装路径,也可以和我一样笨笨的把这些文件都复制过来(从/usr/local下面复制到/usr下面,如果你不知道复制什么,那就sudo make install ,看到update ,insall 一堆一堆的没,就是那些文件.xml .py .so  之类的)



支持 BPSK/D-BPSK/QPSK/M-QAM/OFDM/吗?

当然,这儿有一些例子。 文档也可以在这儿找到。如果没有被实现,试图完成它! 你将会发现你很了不起。

为何用 Python? 我只想用 C++!

这个工作正在做 (#128). 要想完全实现这个目标还需做些事情 (#118), 如果你想早点看到它那请帮忙做些事情。

Python 不是很慢吗? 我的应用需要不同寻常的速度.

Python 只是用于设立流程图。一旦建立,大部分工作还是 C++ 来完成。

我如何编写模块?

Eric Blossom 有一篇很好的教程 如何为 GNU Radio编写模块 (how to write a block for GNU Radio)请欣赏吧!

通用软件无线电平台 (USRP)

问题涉及 USRP 及其子板,它们的功能及在GBU Radio 中的作用。

原创粉丝点击