GNU Radio入门

海曼无限 WWW.OPEN-MESH.COM.CN / GNURADIO 中国WWW.GNURADIO.CC

GNU Radio 入门

GNU Radio / USRP / OpenBTS

Version 0.99

译作者译作者:黄琳:黄琳 等等

译作者译作者::黄琳黄琳 等等

7/21/2010

前 言

GNU Radio 是一个软件无线电软件,与便宜的 (相对于大多数软件无线电板卡

来说)USRP 结合在一起,就构成了一个非常灵活的开发平台,让我们可以像

开发小软件一样,轻松的开发无线设备。因为它的开放性和低成本,GNU

Radio 和 USRP 现在已经在中国和全世界拥有越来越多的用户。

我从 2005 年开始接触 GNU Radio,作为中国最早的一批 GNU Radio 用户,我

们(我和我的同事们,朋友们,网友们,学生们)在 GNU Radio 上开发了各种

各样的系统,积累了很多经验。

每年,当我们的项目有新人加入的时候,他们往往需要花很长时间阅读网络上

的 wiki ,各种零碎的英文文档,从而熟悉这套软件。每到这个时候,我就希望

能有一套系统的中文文档,能够让第一次接触 GNU Radio 的人能够快速的进入

角色。这就是我编写这本书的初衷。另一方面,也希望这本书能够让更多不了

解 GNU Radio 的人了解它,从而开始考虑,是否也可以用软件无线电技术来实

现你想做的东西,你的创意。

今年 4 月,我组织了海曼无限和 GNURADIO 中国论坛的一些朋友,开始编写

这本书。历时两个多月,本书终于初具雏形。很可惜,OpenBTS 的部分还没有

完成,相信会在不久的将来补充进来。

我希望,每一位读者朋友,都用很短的时间读一下这本书,也许半天,也许两

三天,相信你一定会有所收获。对于新人来说,你可以很快的对 GNU Radio 有

一个整体的印象,然后定位在你所关注的要点上;对于已经有 GNU Radio 使用

经验的人来说,你可以快速浏览一遍,也许你会发现,哦这个功能我以前没有

用过,或者激发出你新的想法。

由于大家都是业余时间编写本书,时间仓促,水平有限,书中难免会有错误的

地方,欢迎大家在 www.gnuradio.cc 论坛以及海曼无限的 QQ 群对本

书提出宝贵意见,也可以邮件联系我 huanglin_bupt@163.com (有可能时延很

大:P)。

感谢参与本书编写的海曼无限的 Wu Yanjun 提供很多中文资料 ,感谢

gnuradio.cc 的 meteor ,qq 群的食杂铺子,leo 和 zhuhu 参与编写。谢谢大家的支

持!

黄琳

2010 年 7 月

2

目 录

第 1 章 GNU Radio 是什么 6

1.1 软件无线电的基本思想 7

1.2 软件架构 8

1.2.1 “Hello World ”- Dial tone 8

1.2.2 Flow graph (流图)和Block (模块) 10

1.3 硬件架构 10

1.3.1 USRP ,从启动过程说起 11

1.3.2 数字中频——FPGA 的职责 11

第 2 章 USRP ,GNU Ra

gnu radio linux,GNU Radio入门相关推荐

  1. Linux内核版本 uname命令 GNU项目 Linux发行版

    1.内核版本由linux内核社区统一编码和发布,格式如下图: major.minor.patch-build.desc 主版本号.次版本号.对次版本号的修订次数-编译次数.当前版本的特殊信息 次版本号 ...

  2. linux gnu含义,GNU是什么意思

    相信很多人都听说过GNU,但是对于小白可能不知道GNU是什么意思,下面php中文网就带您认识一下GNU. GNU是基于Unix开发设计,并且是与Unix兼容的操作系统,该项目由Richard Stal ...

  3. gnu parallel_使用GNU Parallel在Linux命令行上完成更多工作

    gnu parallel 您是否曾经获得过一种有趣的感觉,那就是您的计算机并没有达到应有的速度? 我曾经有这种感觉,然后我找到了GNU Parallel. GNU Parallel是用于并行执行作业的 ...

  4. 开源的起源:GNU与Linux

    abstract: 分享这篇文章的目的是以一个故事的形式, 告诉大家, 一个小的Idea和行动逐步积累可以改变世界, 今天就来回顾一下远古的 GNU 和 Linux 的诞生, 了解开源世界之初的故事. ...

  5. 论GNU、Linux和GNU/Linux之间的关系

    相信很多人看到了这个标题就会产生疑问,这篇文章到底要讲什么东西?在回答这个问题之前,我先提出几个问题? 1. 什么是Linux? 2. 什么是GNU? 3. GNU/Linux是什么玩意儿? 在回答了 ...

  6. cgos客户端Linux,GNU Go

    GNU Go 开发者GNU Go Team 稳定版本3.8 (2009年2月19日(2009-02-19) ) 源代码库git.savannah.gnu.org/cgit/gnugo.git 操作系统 ...

  7. Linux 运维入门到跑路书单推荐

    一.基础入门 <鸟哥的Linux私房菜基础学习篇>:最具知名度的Linux入门书<鸟哥的Linux私房菜基础学习篇>,全面而详细地介绍了Linux操作系统. https://b ...

  8. Linux驱动快速入门

    本公众号分享的所有技术仅用于学习交流,请勿用于其他非法活动,如果错漏,欢迎留言指正 应用层:<LUNIX环境高级编程第二版> <Linux程序设计(第四版)> 内核层:< ...

  9. Linux命令基础入门

    Linux命令基础入门 这是作者自己为了 Linux期末考试做的知识简介,虽然很简单但是作为Linux入门或者查询手册都是还不错的资料(自认为).里面有很多资料来自于csdn或者其他地方,如果涉及到侵 ...

最新文章

  1. python之commands模块
  2. AXIS2整合spring需要的jar,以及大部分缺少jar所报的异常
  3. HashedWheelTimer时间轮定时任务原理分析
  4. make: Nothing to be done for `first'
  5. getsimplename_Java类类getSimpleName()方法的示例
  6. ERROR: Process pool report error: Can‘t pickle
  7. pytorch得到梯度计算结果
  8. 纽约州立大学宾汉姆顿大学计算机科学专业,纽约州立大学宾汉姆顿大学
  9. java动态数组的实现的_Java实现数据结构之【动态数组】
  10. 番茄时间管理法(Pomodoro Technique)
  11. SURF算法之Opencv代码详解
  12. python股票收益率协方差_Python如何评估投资组合的收益率和风险
  13. 微信公众号采集 php,如何采集微信公众号历史消息页的详解
  14. uniapp 点击动画_uni-app animation动画
  15. 计算机操作系统32位,电脑操作系统中32位和64位到底有哪些区别
  16. 0xE06D7363: Microsoft C++ Exception.
  17. MySQL定位慢查询步骤
  18. strtok函数源码
  19. 微信Android SDK提示com.tencent.mm.plugin.openapi.Intent.ACTION_REFRESH_WXAPP
  20. Android GPS模块概念简介

热门文章

  1. 3l如何使用_家装时如何对低水压Say No?不难,教你一招让水源滚滚而来
  2. MS Materials Studio 安装失败如何解决
  3. c语言打字游戏下落时间,打字游戏 C语言
  4. 从源码编译安装软件经验+技巧
  5. 计算机平面设计专业课程设置,中职学校计算机平面设计专业课程设置与探究
  6. 基于微信小程序外卖点餐系统小程序 系统的设计与实现 开题报告和效果图
  7. python3 压缩png、jpg
  8. N4-暴力破解3(验证码绕过 on server)
  9. 铁威马NAS中如何利用Docker安装人人影视教程
  10. 657. 判断路线成圈