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

参考: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 具体是怎么工作的,我们可能或早或晚都需要进一步去看哪些代码。

常用的gnuradio 模块的更多相关文章

  1. Python常用内建模块

    Python常用内建模块 datetime 处理日期和时间的标准库. 注意到datetime是模块,datetime模块还包含一个datetime类,通过from datetime import da ...

  2. 转:Yii实战中8个必备常用的扩展,模块和widget

    转载自:http://www.yiiframework.com/wiki/180/yii8/ 在经过畅K网的实战后,总结一下在Yii的项目中会经常用到的组件和一些基本的使用方法,分享给大家,同时也给自 ...

  3. Atiit 常见功能 常用功能与模块的最快速解决方案

    Atiit 常见功能 常用功能与模块的最快速解决方案 一.大力使用第三方API接口 一.导出excel jquery.table2excel 二.Form表单验证,使用h5验证属性 验证发生在form ...

  4. Yii实战中8个必备常用的扩展,模块和widget

    Yii实战中8个必备常用的扩展,模块和widget 在经过畅K网 的实战后,总结一下在Yii的项目中会经常用到的组件和一些基本的使用方法,分享给大家,同时也给自己留个备忘录,下面我以代码加图片说明. ...

  5. 常用的re模块的正则匹配的表达式

    07.01自我总结 常用的re模块的正则匹配的表达式 一.校验数字的表达式 1.数字 ^[0-9]\*$ 2.n位的数字 ^\d{n}$ 3.至少n位的数字 ^\d{n,}$ 4.m-n位的数字 ^\ ...

  6. Django中常用的那些模块路径

    Django中常用的那些模块路径 from django.shortcuts import HttpResponse, render, redirect from django import temp ...

  7. Python第十一章-常用的核心模块01-collections模块

    python 自称 "Batteries included"(自带电池, 自备干粮?), 就是因为他提供了很多内置的模块, 使用这些模块无需安装和配置即可使用. 本章主要介绍 py ...

  8. Python第十一章-常用的核心模块03-json模块

    python 自称 "Batteries included"(自带电池, 自备干粮?), 就是因为他提供了很多内置的模块, 使用这些模块无需安装和配置即可使用. 本章主要介绍 py ...

  9. Python第十一章-常用的核心模块04-datetime模块

    python 自称 "Batteries included"(自带电池, 自备干粮?), 就是因为他提供了很多内置的模块, 使用这些模块无需安装和配置即可使用. 本章主要介绍 py ...

随机推荐

  1. 10 个用于收集硬件信息的 Linux 命令

    知道自己的Linux系统运行在什么样的硬件组件上总是好的,因为如果涉及到在系统上安装软件包和驱动程序的话,这将有助于你处理兼容性问题. 因此,下面我们将给出一些非常有用的命令,它们可以帮助你提取你的L ...

  2. stickyListHeaders框架的使用

    最近在Demo中使用到了stickyListHeaders框架实现悬停效果 比较好用 在xml中 <se.emilsjolander.stickylistheaders.StickyListHe ...

  3. C语言学习_一个简单程序的解释与C学习方法概括

    简单计算器程序示例: # include <stdio.h> //1.头文件 //2.加法函数 int add(int a,int b)//3.函数定义方式 { //4.函数体 retur ...

  4. hdu 2546 饭卡(DP)

    很久以前做过这道题,晚上睡不着,看见nyist加了一个DP的比赛,就进来打个酱油. 这道题的点睛之笔是将最大值记录下来,然后将其值改为0.之后就是普通的背包了. #include<stdio.h ...

  5. clock_gettime测代码运行时间

    //函数原型: // long clock_gettime (clockid_t which_clock, struct timespec *tp); //参数列表: // CLOCK_REALTIM ...

  6. Android 仿PhotoShop调色板应用(四) 不同区域颜色选择的颜色生成响应

    版权声明:本文为博主原创文章,未经博主允许不得转载.  Android 仿PhotoShop调色板应用(四) 不同区域颜色选择的颜色生成响应  上一篇讲过了主体界面的绘制,这里讲解调色板应用中的另外一 ...

  7. Instruction (hdu 5083)

    Instruction Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Tota ...

  8. 隐藏iframe边框

    关于iframe在ie浏览器中边框隐藏的问题,一直困惑着我.其实就是一个很简单的办法,主要设置一个属性即可解决,方法如下: <iframe frameborder="0"&g ...

  9. 使用JavaScriptSerializer序列化集合、字典、数组、DataTable为JSON字符串 分类: 前端 数据格式 JSON 2014-10-30 14:08 169人阅读 评论(0) 收藏

    一.JSON简介 JSON(JavaScript Object Notation,JavaScript对象表示法)是一种轻量级的数据交换格式. JSON是"名值对"的集合.结构由大 ...

  10. one way WebService

    WSDL支持4种消息交换方式:   1)单向(One-way):服务端接收消息:   2)请求响应(Request-response):服务端点接收请求消息,然后发送响应消息:   3)要求应答(So ...