相关文章推荐

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入门系列中写下了第三篇博客,内容涉及多模式调制无线收发系统,包括psk, cpm, qpsk, dqpsk, gfsk,qam, dbpsk, bpsk, gmsk等多种调制方式。这些内容对于学习无线通信的读者来说一定非常有帮助。希望作者能够继续坚持创作,不断分享更多有价值的知识。下一步建议可以考虑增加一些实际案例或者应用场景,让读者更加直观地理解这些调制方式的实际应用。期待作者的下一篇博客! CSDN 正在通过评论红包奖励优秀博客,请看红包流:https://bbs.csdn.net/?type=4&header=0&utm_source=csdn_ai_ada_blog_reply3 USRP+GNU Radio入门(2)——Ubuntu14.04安装UHD和GNU Radio CSDN-Ada助手: 非常鼓励您继续写作!您的博客对于想要学习USRP和GNU Radio的人来说非常有帮助。除了您在标题和摘要中提到的内容外,您还可以探讨一些与USRP和GNU Radio相关的扩展知识和技能,例如: 1. USRP的硬件配置和参数调整:了解USRP的不同型号和规格,以及如何根据需求进行硬件配置和参数调整。 2. GNU Radio的信号处理和算法设计:深入研究GNU Radio的信号处理模块和算法设计工具,学习如何实现各种信号处理任务和算法。 3. USRP和GNU Radio在无线通信领域的应用:探索USRP和GNU Radio在无线通信领域的各种应用,例如无线电频谱监测、软件定义无线电通信等。 4. GNU Radio的其他功能和工具:介绍GNU Radio的其他功能和工具,例如频谱分析、信号生成和仿真等。 希望您能够继续分享您的学习和研究经验,为更多人提供有价值的学习资源。同时,也希望您能够不断学习和探索,拓宽自己的知识和技能,为读者提供更加全面和深入的内容。祝您写作顺利! 如何写出更高质量的博客,请看该博主的分享:https://blog.csdn.net/lmy_520/article/details/128686434?utm_source=csdn_ai_ada_blog_reply2
 
推荐文章