GNU Radio 学习笔记1

《Tutorials》 html

1、初学者教程推荐: 前端

Core concepts of GNU Radio applications 必读教程 编程

WritePythonApplications介绍Python应用程序开发方法(具备的数字信号处理和编程基础)app

QTGUI Tutorial介绍Python应用程序开发方法(具备的数字信号处理和编程基础) 异步

Tom Rondeau's gr-tutorial 老板的介绍模块化

Simulations 在没有硬件设备时,利用GNU Radio验证性能和模拟射频前端性能

2、GNU Radio开发者教程:spa

一、编写GNU Radio代码 debug

Developing out-of-tree modules and writing blocks 这部分须要完整的看完和理解的 设计

Tagged streams for variable-length PDUs

二、高级开发

How to debug your applications

The GNU Radio Scheduler

(http://gnuradio.squarespace.com/blog/2013/9/15/explaining-the-gnuradio-scheduler.html)

VOLK Introduction

 

《Core concepts of GNU Radio applications》

  1. GNU Radio的两个基本概念:流图(Flow graphs)和块(block)
  2. 全部的信号处理都是经过流图完成。Python就是用来编写流图的。GRC是GNU Radio的图形用户接口,能够用来建立流图。
  3. 流图都是由块组成,流图的节点就是一个个块。一个块就作一个信号处理操做,如滤波、变换、调制、存取等等。块一般是用C++编写的。
  4. 只有out端口的块称为信源(source)。只有in端口的块是信宿(sink)。每个流图至少须要一个信宿和一个信源。
  5. 数据在块之间传递能够是不一样类型的,称为项(item)。一项能够是任何在块之间传递的数据,例如一个采样数据,一串比特流,一组滤波系数等等。
  6. 块和流图是GUN Radio模块化和灵活性的保证,但过多的块定义也可能下降系统性能,因此在自定义功能块的时候须要权衡。
  7. GNU Radio设计流程:先设计流图,选择适合的块,定义链接。
  8. 采样速率

    当块的输入项大于输出项,就是抽取器。反之,为内插器。速率不变的是同步块。抽取速率和内插速率能够定义,可是基本的采样速率是由硬件决定的。(知道对应的硬件性能很重要咯!)

  9. PDU(协议数据单元)的传递的两种方式:消息传递(Message passing)和附加标识流块(tagged stream blocks)

    消息传递是一种异步方式,块接收到PDU后添加包头,再传递给下一个包。适用于MAC层。

    附加标识流块,是利用流标识来辨别PDU的界限。

相关文章
相关标签/搜索