---恢复内容开始---

参考:http://gnuradio.org/redmine/projects/gnuradio/wiki/TutorialsWritePythonApplications

导入模块的语句

from gnuradio import MODULENAME

常用模块由如下及个

gr               gnuradio 的主要库,基本上每个程序都需要用到

analog        和模拟信号和模拟信号调制有关的功能

audio          声卡控制,可以用来向声卡发送信息 或者通过声卡接收信息

blocks        所有不属于其他模块的东西,可能就放在这

channels    仿真所用的信号模型

digital         与analog, 所用和数字信号调制有关的功能在这

fft                和ffts 有关的功能

fec              和fex有关的贡呢

filter            过滤器模块

plotdata      绘制数据

qtgui           和表示数据有关的图形界面(使用QT库)

wxgui          包含快速创建流图的用户界面的一些实体

vocoder       和声音编码有关的一些功能

wavelet       和微波有关的一些功能

gru              各种各样和数学及其他有关的一些功能实体

选择,定义和设置模块。如何选择模块对于我们来说是挺男的一个事,因为GNU RADIO提供了大量的预先定义的模块。

因此我们需要查阅一些文档。而如何使用这些文档也是学习。

下列3行代码,是定义blocks的句子,

 src0 = analog.sig_source_f (sample_rate, analog.GR_SIN_WAVE, 350, ampl)
src1 = analog.sig_source_f (sample_rate, analog.GR_SIN_WAVE, 440, ampl)
dst = audio.sink (sample_rate, "")

在Lin1-2 中,一个名字 sig_source_f 的函数呗调用了,并且收到了4个函数参数
1. 采样频率 sample_rate   2. analog.GR_SIN_WAVE, analog 模块中定义的一个常量,在这里告知信号生产的类型

3. 350/440 一个常量,代表生产信号的频率

4. ample  一个表示生成信号幅度的变量。

问题是,在预先不知道这段代码的情况下,我怎么知道我要将哪些参数传递给  sig_source_f

答案就是:查阅文档,我们需要寻找  sig_source_f  地址:http://gnuradio.org/doc/doxygen/classgr_1_1analog_1_1sig__source__f.html

其中包好很多   sig_source_× , f 代表生成信号是浮点数。其他的有:

c:  复数浮点型

i:   整型

s:  短整型

b:  位,其实也是整数

例如 gr::filter::fir_filter_ccf Class
代表  FIR filter with gr_complex input, gr_complex output, and float taps.

gr::blocks::add_const_ff

代表 output = input + constant 数据类型都是浮点数

GNuradio blocks 都是用C++ 写的,但是我在在调用的时候用的是python, 之所有可以这么使用的原因是,gnuradio 使用了一种被称之为SWIG的工具来创建python和C++之间的借口。

每一个c++ blocks 都有一个创建函数, gr::component::block::make(***) 例如 gr::analog::sig_source_f::make()。 这个创建函数,经常是位于和对应类的同一页面,并且能够同样输出到python, 可以通过python调用。 当然为了了解这些blocks 具体是怎么工作的,我们可能或早或晚都需要进一步去看哪些代码。

最新文章

  1. Android—基于微信开放平台v3SDK,开发微信支付填坑。
  2. ubuntu-利用pdnsd-TCP方式获取IP-拒绝DNS污染
  3. C# 基于json通讯中的中文的处理
  4. SAP 如何查看用户登录信息
  5. 关于IE6浮动问题!
  6. ANSI
  7. 使用Sqlserver事务发布实现数据同步
  8. 【web安全】第四弹:防火墙技术笔记
  9. 【转】iOS开发常用的第三方类库
  10. 哪几个数的阶乘末尾有n个零?
  11. 非常不错的android应用开发详解在安卓开发中
  12. [js高手之路]深入浅出webpack教程系列3-配置文件webpack.config.js详解(下)
  13. [转载] ZooKeeper简介
  14. WPFの命中测试
  15. java web(二): servlet的简单使用和介绍
  16. Vc数据库编程基础MySql数据库的常见库命令.跟表操作命令
  17. Python 的全局变量
  18. python+selenium十四:xpath和contains模糊匹配
  19. requests模块的使用
  20. LeetCode107.二叉树的层次遍历II

热门文章

  1. 合并多次提交 commits 到 新分支
  2. Java 执行jar linux 实例
  3. AlertDialog.Builder setCancelable用法
  4. WebKit历史项管理的实现
  5. wdlinux 编译pdo_mysql
  6. IOS—通过ChildViewController实现view的切换
  7. (转载)Javascript 进阶 作用域 作用域链
  8. c# 连接oracle 读取数据
  9. oracle如何获取当年第一月,如今年是2015年,则需获取 201501
  10. 微信小程序开发之入门篇(熟悉项目结构)