要进行gnuradio的研究首先需要在linux环境下对开源源码进行编译与安装 *** 作。
1、相关资源
目前gnuradio的主要资源都在其官方网站上,当然也有部分是各大论坛上的。
gnuradio官方网站(英文):http://gnuradio.com (这里有各种linux平台安装gnuradio的资料)
gnuradio中文官方网站:http://gnuradio.cc/ (这里有很多很好的中文参考资料)
2、初次安装gnuradio
本人已经在Ubuntu 11.04上完成gnuradio3.3.0(源码)编译安装。以下是我的安装步骤:
step1: 安装Ubuntu 11.04 系统。(利用U盘安装,此步骤省略)
step2: 安装gnuradio编译的相关tools
(1)严格按照gnuradio官方网站上的方法安装tools。首先安装Lucid ubuntu (10.04)版本相关组件,安装命令如下:
sudo apt-get -y install libfontconfig1-dev libxrender-dev libpulse-dev swig g++ automake autoconf libtool python-dev libfftw3-dev \ libcppunit-dev libboost-all-dev libusb-dev fort77 sdcc sdcc-libraries \ libsdl1.2-dev python-wxgtk2.8 git-core guile-1.8-dev \ libqt4-dev python-numpy ccache python-opengl libgsl0-dev \ python-cheetah python-lxml doxygen qt4-dev-tools \ libqwt5-qt4-dev libqwtplot3d-qt4-dev pyqt4-dev-tools python-qwt5-qt4
(2)安装libxi-dev
sudo apt-get -y install libxi-dev
注:可以直接拷贝到终端窗口的命令行下。安装这些组件总大小差不多600M多,需要一些时间(本人是在教育网上下载速度挺快,如果是其他网络比较慢 :))。这些组件必须全部安装完成,否则后期编译无法通过。
step3:编译gnradio源码,安装
(1) 安装完组件之后,需要在官网上下载最新的gnuradio源码包,我下载的是3.3.0版本。然后利用tar -xzvf XXX 解压缩源码包。
(2) 配置相关参数
命令:./configure
(3)开始编译
命令: make
注: 编译过程时间较长,另外3.3.0版本存在一个固有的bug,编译过程中会报错(cannot convert ‘int*’ to ‘usrp2::usrp2*’ in initialization)。其解决的方案是:
修改gnuradio目录下usrp2/host/lib/usrp2.cc 文件:
源文件->
gnuradio 中所有的信号处理是通过流图的一个流图由若干模块组成,每个模块会执行一个 *** 作,例如:过滤,信号叠加,变化,解码,连接到硬件等。
信号在模块之间以多种方式传递,复数或者实整型,浮点数,或者其他我们定义的数据类型。
python
每一个流图需要至少一个信宿和信号源。
python 中一个流图的例子。
代码的位置在 : gr-audio/examples/python/dial_tone.py.
#!/usr/bin/env python
from gnuradio import gr
from gnuradio import audio, analog
class my_top_block(gr.top_block):
def __init__(self):
gr.top_block.__init__(self)
sample_rate = 32000
ampl = 0.1
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, "")
self.connect(src0, (dst, 0))
self.connect(src1, (dst, 1))
if __name__ == '__main__':
try:
my_top_block().run()
except [[KeyboardInterrupt]]:
pass
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)