nautilus /usr/local/share/gnuradio/examples/digital
打开narrowband文件夹,主要分析benchmark、path、uhd_interface三类代码块
2.各类代码块作用
benchmark文件:相当于使用companion进行图形编程之后生成的my_top_block文件,完成流图的搭建、连接与启动流图。
path文件:完成流图中模块之间的定义与连接,如调制解调模块与放大器之间的链接,类方法与my_top_block的类似。
uhd_interface文件:初始化收发机的工作状态,如工作频率,天线增益等。
3.benchmark文件详解
以benchmark_tx文件为例,分析代码运行逻辑
导入gnuradio库函数,提供底层运行逻辑代码、各种数字/模拟信号处理模块等。导入path文件和uhd_interface文件,并通过标准库OptionParser来实现参数的传递。
用官方的gr.top_block定义并初始化顶层函数,配置文件options由uhd_interface中的发射模块部分导入,并通过代码行键入具体配置,否则为默认配置。最后将功能模块连接完毕。
主函数部分首先定义了发包函数,之后通过OptionParser添加参数的配置,如数据包大小等到实例化对象parser中,将parser中的参数放到options中,最后用path,uhd的方法添加到这两个类中,以便于在顶层模块中实例化两个连接对象。
使用最终配置参数实例化得到信号处理流图 tb 并启动。
此处代码用于生成与发送数据包,可根据自己需求做适当改动。
三、例程使用步骤
1.帮助文档
命令行中进入例程目录后输入以下代码获得帮助说明(以发送端为例):
./benchmark_tx.py –h
部分使用说明
-h列出帮助说明-m选择调制方式,有psk, cpm, qpsk, dqpsk, gfsk,qam, dbpsk, bpsk, gmsk。默认为psk-s设置发送数据包大小,默认为1500字节--from-file使用文件作为数据包内容,后续跟地址--to-file导出发送的内容,后续跟地址-f设置射频频率-r设置比特率-A选择发送使用天线(应用于多天线场景)
2.具体试例
发送一个频率为1GHz的信号:
TX:./benchmark_tx1.py -f 1000M
RX:./benchmark_rx1.py -f 1000M
四、修改例程以发送文件
直接使用--from-file命令只能在接收端命令行接收到文件内容,即一串乱码,可读性差,为了进一步实现文件的传输与本地保存,将例程文件做适当修改。
1.benchmark_tx的修改
该步骤可简化命令行输入,利于调试。
该步骤为后续对数据包打包做预处理,获取发送时间以用于接收端的文件命名,避免接收文件混乱。
此处对读取的文件提取有用内容,并结合帧头,发送时间打包为发送数据包,同时在发送时实时打印发送信息,以供调试用。
2.benchmark_rx的修改
接收端文件只需修改对接收数据包的读取部分代码,按照发送端的数据包定义格式逐句解包并对保存文件命名。
3.具体试例
以发送图片为例
TX:./benchmark_tx1.py -f 1000M -t 111.png
RX:./benchmark_rx1.py -f 1000M
软件
无线
电:用Labview+
usrp
实现信号
收发
(同时有对立体声广播信号FM的接收和解调VI子程序及Matlab代码,需要的可以关注并私信我)
在将matlab产生的信号从工作区中只保存除时间外的变量,从而形成一维的文本信号。利用Tx_2&Tx_3发射,用Rx接收回来,可成功显示。
用Rx&D接收时,若出现报错,可先运行接收,在未收到噪声前就点击运行发射模块,可再次成功接收。
发射信号为方波(占空比20%):
接收信号:
发射信号为正弦波:
接收信号波形,频谱图及解调波形:
系统
概述
通信
软件开发环境中用
USRP
-B210模拟基站或终端,通过USB口连接到Ubuntu16.04
系统
(其他Ubuntu系列也可以),在
Linux
操作
系统
上部署软件编程开发环境。
系统
主要由基站和1到N终端构成,基站与终端侧都需要外接PC来承载业务进行验证。USPR模拟环境
系统
图如下所示:
1 搭建过程简述
1.1 过程
搭建人员最好对
Linux
系统
、
Linux
常用指令、VIM用法、GIT...
本教程是以实验室真实环境下的经历为原型的记录。
在实际应用中,我们修改了
gnu
radio
的 Header/Payload Demux 模块的源码,但又不想直接覆盖原始代码,因此就需要创建一个名为 myHeader/Payload Demux 的自定义模块,在此记录下创建流程以供以后参考。
之前写过如何在 GR3.8 中创建 OOT 模块,其实 GR3.9 .
USRP+GNU Radio入门(4)——实例一:多模式调制无线收发系统(psk, cpm, qpsk, dqpsk, gfsk,qam, dbpsk, bpsk, gmsk)
CSDN-Ada助手:
USRP+GNU Radio入门(2)——Ubuntu14.04安装UHD和GNU Radio
CSDN-Ada助手: