常用的gnuradio 模块
---恢复内容开始---
参考: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 模块的更多相关文章
- Python常用内建模块
Python常用内建模块 datetime 处理日期和时间的标准库. 注意到datetime是模块,datetime模块还包含一个datetime类,通过from datetime import da ...
- 转:Yii实战中8个必备常用的扩展,模块和widget
转载自:http://www.yiiframework.com/wiki/180/yii8/ 在经过畅K网的实战后,总结一下在Yii的项目中会经常用到的组件和一些基本的使用方法,分享给大家,同时也给自 ...
- Atiit 常见功能 常用功能与模块的最快速解决方案
Atiit 常见功能 常用功能与模块的最快速解决方案 一.大力使用第三方API接口 一.导出excel jquery.table2excel 二.Form表单验证,使用h5验证属性 验证发生在form ...
- Yii实战中8个必备常用的扩展,模块和widget
Yii实战中8个必备常用的扩展,模块和widget 在经过畅K网 的实战后,总结一下在Yii的项目中会经常用到的组件和一些基本的使用方法,分享给大家,同时也给自己留个备忘录,下面我以代码加图片说明. ...
- 常用的re模块的正则匹配的表达式
07.01自我总结 常用的re模块的正则匹配的表达式 一.校验数字的表达式 1.数字 ^[0-9]\*$ 2.n位的数字 ^\d{n}$ 3.至少n位的数字 ^\d{n,}$ 4.m-n位的数字 ^\ ...
- Django中常用的那些模块路径
Django中常用的那些模块路径 from django.shortcuts import HttpResponse, render, redirect from django import temp ...
- Python第十一章-常用的核心模块01-collections模块
python 自称 "Batteries included"(自带电池, 自备干粮?), 就是因为他提供了很多内置的模块, 使用这些模块无需安装和配置即可使用. 本章主要介绍 py ...
- Python第十一章-常用的核心模块03-json模块
python 自称 "Batteries included"(自带电池, 自备干粮?), 就是因为他提供了很多内置的模块, 使用这些模块无需安装和配置即可使用. 本章主要介绍 py ...
- Python第十一章-常用的核心模块04-datetime模块
python 自称 "Batteries included"(自带电池, 自备干粮?), 就是因为他提供了很多内置的模块, 使用这些模块无需安装和配置即可使用. 本章主要介绍 py ...
随机推荐
- Linux 下挂载硬盘的 方法
1. 添加磁盘,查看磁盘状况 [root@db1 /]# fdisk -l Disk /dev/sda: 10.7 GB, 10737418240 bytes 255 heads, 63 sector ...
- dijkstra算法(迪杰斯特拉算法)
dijkstra算法(迪杰斯特拉算法) 用途:有向图最短路径问题 定义:迪杰斯特拉算法是典型的算法,一般的表述通常有两种方式,这里均采用永久和临时标号的方式,该算法要求图中不存在负权边 用永久和临时标 ...
- U3D C# 实现AS3事件机制
写了很多年的AS3,最近接触U3D感觉事件机制没AS3的爽.咬紧牙关一鼓作气 基于C# 的委托实现了一版.废话不多说上干货. EventDispatcher代码如下: using UnityEngin ...
- Bluetooth 4.0之Android 解说
Android平台包括了对蓝牙网络协议栈的支持,它同意一个蓝牙设备跟其它的蓝牙设备进行无线的数据交换.应用程序通过Android蓝牙API提供訪问蓝牙的功能. 这些API会把应用程序无线连接到其 ...
- Python读写文件需要注意的地方 2015-03-31 23:19 69人阅读 评论(0) 收藏
<span style="font-family: 'Microsoft YaHei'; background-color: rgb(255, 255, 255);"> ...
- android 09
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools=&q ...
- hadoop资料汇总(网上)
http://blog.csdn.net/fansy1990/article/list/3 全部是hadoop的,挺好. http://stackoverflow.com/ ...
- linux下MySQL安装登录及操作
linux下MySQL安装登录及操作 二.安装Mysql 1.下载MySQL的安装文件 安装MySQL需要下面两个文件: MySQL-server-4.0.16-0.i386.rpm MySQL-cl ...
- SQLite查询优化性能要点
Sqlite是轻量级的,在编译之后很小,其中一个原因就是在查询优化方面比较简单,它只是运用索引机制来进行优化的,经过对SQLite的查询优化的分析以及对源代码的研究,我将SQLite的查询优总结如下: ...
- 【Android】Android的优点和不足之处
随着Android的越来越红火,不少应聘Android开发的人,难免会被问到这样的问题,就是这个平台的优点,当然有优点也会有缺点的, 下面是我从网上总结出来的,希望对大家应聘Android开发有所帮助 ...