GNU Radio系列教程(五):初级篇之GNU Radio GRC AM发射与接收

GNU Radio系列教程(二):初级篇之GNU Radio介绍 与之前的以硬件定制的移动通信系统架构相比,软件定义无线电(Software Defined Radio,SDR)是一种新型的无线电体系结构,它使用软件来定制功能,通过硬件和软件的结合使无线网络和用户终端具有可重构、重配置能力。为了理解什么是数字信号,让我们来看一个常见的声音的模拟和数字信号的例子,即用一个麦克风来记录声音。GNU Radio为实现具有可重构、重配置能力的通信网络或通信终端,提供了一个适用于多个软件无线电平台的开发框架和丰富的信号处理模块,此外,还提供了大量的应用实例。我们举一个声音的例子。 阅读详情
AI摘要

本文用GNU Radio实现AM发射和接收,未使用硬件,仅用计算机扬声器和麦克风。前半部分介绍AM信号生成,后半部分介绍解调。详细说明了AM发射器和接收器流图搭建,包括各模块及其参数,还给出测试程序方法,即先运行接收器流图,再运行发射器流图。

本文用GNU Radio来实现AM发射和接收。

本文的前半部分介绍如何生成AM信号。后半部分则介绍如何解调AM信号。AM信号调制程序利用Socket来将生成的AM信号传输给实现AM解调的程序。本文并没有使用HackRF One、LimeSDR等硬件,只是使用了计算机的扬声器和麦克风。

需要具备的基础知识:

GNU Radio系列教程(三):初级篇之GNU Radio GRC流图

GNU Radio系列教程(四):初级篇之GNU Radio GRC采样率

目录

一、AM发射器

二、AM接收器

三、测试程序

四、有用链接


一、AM发射器

按照下图搭建一个AM发射器流图。(注意该图是用的GRC v3.8版本的)

其中使用到的模块及其参数解释如下:

(1)“Option”模块:注明了GRC流图文件名称,标题和作者等信息。

(2)“Audio Source”模块:计算机的麦克风被用来作为声音信号的输入。Sample rate(48KHz),Device Name(此参数可以不填,默认为空即可。)

(3)“Sample_rate”参数:在本GRC中除了“Audio Source”模块之外的所有采样率都是768KHz,该采样率的选取依据是,每个码元周期有16个采样值,则48000*16=768000Hz=768KHz。

(4)“Repeat”模块:为了能够实现采样率由48KHz到768KHz的转化,“Repeat”模块将内插值设定为16,48000*16=768000Hz=768KHz。

(5)“QT GUI Range”参数:为了实现对声音信号增益的动态调节控制,设定一个id为volume的“QT GUI Range”参数,默认值为1.2,start开始值为0,stop结束值为10.0,step步长为0.1。

(6)“Multiply Constant”模块:使用id为volume的参数,作为“Multiply Constant”模块的乘数。

(7)“Add Constant”模块:调制信号加上常数1,这里为什么要加上常数1,可参见AM调制公式。

(8)“Signal Source”模块:用于生成一个载波信号,注意这里载波信号的采样率为768KHz,载波信号的频率(48KHz)与“Audio Source”的采样率(48KHz)之间没有必然的联系,只是碰巧而已,你也可以自己修改载波信号频率值。“Signal Source”模块中的“Amplitude”设定为0.5(即500m,m表示的10的-3次方。)

GNU radio入门学习(2)GNU radio简介 GNU Radio简介GNU Radio是什么基本思想定义主要思想软件架构(GNU Radio的"hello world")Python编写"hello wolrd"案例GNU Radio图形界面实现"hello wolrd"硬件架构小结参考文献: GNU Radio是什么 基本思想 定义 GNU Radio是一个完全开源的软件无线电结构平台,它可以用来设计和仿真,也可以用来链接真实的无线电系统。... 阅读详情

相关推荐

GNU Radio教程1

GNU Radio教程1

m0_43430630的博客 6970

一起玩转GNU Radio:调制解调大合集

本文汇总了GNU Radio中多种常见的调制解调方法及其参考文献链接,便于今后查看,供大家参考!

无线通信实验室 1万+

用GNU Radio和HackRF One复现经典AM/FM广播信号:一份给通信新手的可视化实验指南

本文提供了一份使用GNU Radio和HackRF One复现经典AM/FM广播信号的详细实验指南,适合通信新手学习。通过可视化操作和硬件实践,帮助读者理解无线电信号的基本原理和调制技术,涵盖环境配置、AM/FM信号构建及收发实验等内容。

weixin_28742653的博客 359

GNU Radio与SDR集成开发:超详细版入门指南

深入讲解GNU Radio与sdr的协同工作原理与实操步骤,涵盖环境搭建、模块连接与信号处理流程,帮助新手快速掌握sdr平台下的无线通信实验方法。

weixin_29885875的博客 830

超详细版GNU Radio与SDR集成指南:无线链路构建实践

深入讲解GNU Radio与sdr的协同工作原理,手把手实现无线链路构建。涵盖环境配置、模块连接与实机测试,帮助掌握sdr在实际通信系统中的应用技巧。

weixin_32747681的博客 1056

保姆级教程:用HackRF One和GNU Radio在Ubuntu 20.04上搭建你的第一个FM电台(附信号瀑布图分析)

本文提供了一份详细的教程,指导读者使用HackRF One和GNU Radio在Ubuntu 20.04上搭建FM电台。从硬件连接到软件配置,再到信号发射和瀑布图分析,逐步讲解如何实现FM信号发射,适合SDR初学者和无线电爱好者实践操作。

weixin_28740299的博客 525

GNU Radio信号处理入门:从调制解调到频谱分析

本文详细介绍了如何使用GNU Radio进行信号处理,从基础调制解调到高级频谱分析。通过构建FM广播接收系统,展示了软件无线电(SDR)技术的强大功能,帮助开发者快速掌握无线通信系统的设计与实现。

weixin_28707739的博客 378

用GNU Radio和USRP N310/X310手把手搭建一个能通信的雷达(附完整GRC流程图)

本文详细介绍了如何利用GNU Radio和USRP N310/X310构建一个功能完整的雷达通信系统。通过实战指南与避坑手册,读者将学习如何配置OFDM参数、搭建GRC收发链路以及处理雷达数据以获得精准测距结果。文章特别关注USRP的时钟同步、射频干扰抑制等关键细节,适合高校研究团队和企业研发工程师直接应用。

weixin_33693070的博客 403

从零构建SDR系统:USRP硬件与GNU Radio软件协同实战

本文详细介绍了如何从零开始构建SDR系统,重点讲解了USRP硬件与GNU Radio软件的协同使用方法。通过实战案例,如搭建FM收音机和数字信号发射链路,帮助读者掌握软件无线电的核心技术。文章还提供了USRP设备选购指南和GNU Radio安装避坑技巧,适合从入门到进阶的开发者学习。

weixin_42546392的博客 399

GNU Radio中DVB-S2 ACM模块的编译与收发链路实现

在卫星通信和软件无线电领域,DVB-S2标准凭借其高效的编码调制方式成为广播与宽带传输的主流选择。其中ACM自适应编码调制技术能根据信道质量动态调整调制方式和码率,显著提升频谱利用率,但实现复杂度远高于固定CCM模式。GNU Radio作为开源软件无线电平台,虽提供了丰富的信号处理模块,却缺少现成的DVB-S2物理层支持。通过OOT模块将LDPC/BCH编码、比特交织、APSK星座映射及PL帧同步等过程封装为C++块,并借助Python绑定和GRC图形界面,用户可以在通用SDR设备上搭建完整的卫星链路仿真系

weixin_29781865的博客 295

【Cadence】Virtuoso@LayoutXL 差分电路版图镜像同步技巧详解

本文详细介绍了在Cadence Virtuoso LayoutXL中实现差分电路版图镜像同步的技巧,包括核心需求、环境配置、分步操作指南及高级技巧。通过使用LayoutXL的Group功能,工程师可以高效保持差分电路的对称性,提升版图迭代效率,确保高速信号处理的稳定性。特别适用于深亚微米工艺下的差分放大器设计。

weixin_29215391的博客 323

Windows下快速搭建MSYS2开发环境(含GCC与MinGW配置)

本文详细介绍了在Windows系统下快速搭建MSYS2开发环境的完整流程。通过使用pacman包管理器,可以便捷地安装GCC编译器与MinGW-w64工具链,并配置系统环境变量。文章还涵盖了从基础安装、系统更新到编译开源项目的实战指南,帮助开发者高效构建原生Windows程序,显著提升C/C++开发效率。

weixin_29213827的博客 539

亚马逊广告接口 amazon advertising

亚马逊广告接口官方说明:https://advertising.amazon.com/API/docs/en-us/setting-up/account-setup 一:注册aws开发者账号 注册地址:https://developer.amazon.com 二:填写注册资料 三:进入控制台,生成安全配置文件 进入 Login with Amazon 菜单: 创建配置文件: 四:申请广告接入权限 申请地址:https://advertising.amazon.com/zh-cn/about-api

lzy66666的博客 4776

从412到200:一步步拆解瑞数6代jsvmp的cookie生成与验证流程

本文深入解析瑞数6代JSVMP的动态安全防护机制,详细拆解从412到200状态的cookie生成与验证流程。通过剖析JSVMP虚拟机核心机制、动态元数据解析及环境检测绕过策略,为逆向工程师提供实用的技术解决方案,帮助突破瑞数6代的高级防御体系。

weixin_30342209的博客 508

VSCode + ESP-IDF 项目搭建及配置

VSCode 搭建 ESP-IDF 开发环境

weixin_51358957的博客 2万+

Diffusion、VAE与GAN:三大生成模型的原理对比与应用场景解析

本文深入解析了Diffusion、VAE与GAN三大生成模型的核心原理与特性。Diffusion模型通过逆向去噪过程实现高质量图像生成,但计算成本较高;VAE擅长学习概率潜空间,训练稳定但图像偏模糊;GAN通过对抗训练生成锐利图像,但存在模式崩溃风险。文章结合实战场景,为图像生成、修复、超分辨率等任务提供了清晰的模型选择指南。

weixin_29063979的博客 343

MATLAB - 浮动基座机器人的逆运动学

本例演示如何解决以浮动底座为模型的机器人的逆运动学问题。浮动底座机器人可以在空间中自由平移和旋转,具有六个自由度。浮动基座机器人的逆运动学问题适用于空间应用,即使用安装在浮动和致动基座上的机械臂在空间操纵物体,也适用于躯干和腿部可在空间自由移动的行走机器人。请注意,刚体树对象表示具有固定基体的刚体树。这意味着刚体树的基体在世界中具有固定的位置和方向。您可以在基体上附加一个 “浮动 ”类型的刚体关节,为具有浮动基体的机器人建模,以用于动态模拟等某些应用。

机器人控制与仿真应用 2440

PyCharm配置SSH和SFTP远程连接服务器

关于这篇博文,主要因为公司企业都是通过本地测试,同步到服务器进行跑动,舍友看着同事丝滑的操作,让我做个教程。本着钻研的精神,写下了这篇博客记录 关于pycharm这个软件,只有专业版才有远程连接的这个配置,社区版没有(同事一再强调要专业版,学生认证还可申请免费) 关于SSH和SFTP都是一种协议 具体知识点补充可看我这篇文章: 【计算机网络】常见面试题集锦(全) SSH:提供安全通道进行远程登录 SFTP协议可以远程文件传输获取等,数据的安全传输主要由SSH连接提供

码农研究僧的博客 5533

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

上一篇: GNU Radio系列教程(四):初级篇之GNU Radio GRC采样率
下一篇: GNU Radio系列教程(六):初级篇之GNU Radio GRC 硬件使用实例之信号频谱分析
无线通信实验室
博客等级 码龄11年 2705粉丝 77原创
评论 6
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值