一般来说,发射的调制有调幅,调频和调相三种,分别使用能量大小的变化,频率的变化和波相位的变化表示数据,我们先来看看没解调之前的原始无线电信号是什么样的。 我们可以使用scope sink这个模块观察,但是由于计算机性能的问题,波形有很明显的延时和卡顿,所以我使用file_sink把它采集成一个文件,之后使用Audacity进行观察。
有一种等效替代模块,通过控制采集样点的数量来实现控制采集时间的目的。head模块设置好items数量,配合no...
一个流图由多个模块组成,其中一般包括信源(Source)模块和信宿(Sink)模块,然后通过连线将他们连接在一起并形成一个顶层模块(top_block类),最后通过调用顶层模块下的start()成员函数启动GNU Radio平台下的软件运行。在运行过程中,每一个模块都相当于是一个线程,通过GNU Radio平台下的调度机制将信源模块产生的数据经过...
GNU Radio是一款开源的软件工具集,专注于软件定义无线电(SDR)系统的设计和实现。该工具集支持多种SDR硬件平台,包括USRP、HackRFOne和RTL-SDR等。用户可以通过GNU Radio Companion构建流程图,使用不同的模块实现信号处理、滤波、解调等功能。GNU Radio提供了丰富的信号处理库,支持实时和离线操作,广泛应用于无线通信、雷...
GNU Radio是一个通过最小程度地结合硬件(主要是USRP),用软件来定义无线电波发射和接收的方式,搭建无线电通信系统的的开源软件系统。 软件架构(GNU Radio的"hello world") GNU Radio 提供一个信号处理模块的库,并且有个机制可以把单个的处理模块连接在一起形成一个系统。编程者通过建立一个流向图(flow graph)就能搭...
从语法上分析 GNU Radio 的数据输出,最便捷的方法便是使用 GNU Radio 提供的脚本。如上安装指导所示,确保把 GNU Radio 的脚本的路径已经添加到 Octave 的路径中。这便可帮助读取那些被使用gr.file_sink (大小、文件名)顷倒到磁盘的数据。 下面的方法函数是基于参数 size 的用在gr.file_sink() 内的,它把文件...
安装完后查看自己GNU Radio版本 gnuradio-config-info -v dpkg --status gnuradio 1. 2. 查看哪个软件包安装了usrp_spectrum_sense.py 这个文件 and where this file is dpkg --search usrp_spectrum_sense.py 运行一个输出正弦波声音的例程 dial_tone ...
使用GNU Radio 充当调制解调器,在脱机/开发设置下实时地处理来自 Aqua 的下行链路数据(采用原始 RF 的形式)。 先决条件 完成教程:来自 NASA Aqua 公共卫星的下行链路数据,因为本教程假定你已经配置了航天器和 VM。 了解使用 vRF 的限制和权衡 在深入学习本教程之前,请务必了解 vRF 的工作原理,并了解它与使用托管...
GNU Radio 自带的 FFT 模块使用起来不是很方便,这个模块要求输入和输出数据长度预先设定,且一旦设定后就要求前后的 block 与其具有相同长度的输入输出,并不满足我目前的需求,因此需要有必要重新自己做一个 FFT 和 IFFT OOT块。 一、GNU Radio官方FFT弊端 ...
GNU Radio创建Zadoff-Chu序列C++ OOT块 前言 本文实现在 GNU Radio 中创建 Zadoff-Chu 序列 C++ OOT 块,仅做代码调试记录。 一、ZC序列是什么? 参考我之前的博客:ZC序列理论学习及仿真 二、创建自定义的 C++ OOT 块 参考官方教程Creating C++ OOT with gr-modtool创建自定义的 OOT块...